これが自動要約エンジン「TSUNA」 開発裏側を紹介
みなさま、はじめまして。朝日新聞社の田森と申します。私は「メディアラボ」という部署の研究チームで、私含め6名のチーム員とともに朝日新聞社の中にあるリソースを利用した研究開発を日々進めています。今回は、我々が開発した自動要約生成エンジン「TSUNA」と、その開発の裏側をご紹介できればと思います。
なお、今回のエントリのタイトルはTSUNAが実際に出力した見出しです。他にも下記のようなものを出力しました。多少変なものも混じっていますが、それっぽいものは出せているのではないでしょうか。
「メディアラボ」の研究開発 TSUNAとの裏側を紹介
リソースとTSUNAの開発 「メディアラボ」の裏側
私の「メディアラボ」の裏側 リソース研究、私含め6名チーム
TSUNAとリソースが結ぶ裏側、私も開発したら...
生成エンジンの裏側とは? 「メディアラボ」開発を日々進む
「メディアラボ」の研究開発 TSUNAとの裏側に迫る!!?
自動要約エンジン、その裏側とは? リソース研究チームが紹介する理由
自作生成エンジン「TSUNA」 部署チームが研究を担当した裏側も
メディアラボとは?
まず、メディアラボについて説明します。メディアラボは、2013年秋に設けられた「新規事業開発や先端メディア技術の実用化を目指す研究開発機関」です。「STARTUP!」と呼ばれる、社内公募による新規ビジネスの開発や、今回説明するような、いわゆる人工知能の研究から応用までを担っている部署です。このnoteの主体であるICTRADとも技術共有をすすめています。
我々の活動内容は下記のWebサイトからご覧いただけます。
TSUNAとは?
メディアラボで開発したTSUNA(Text SUmmarizatioN Application)は、日本語文章を入力すると、その見出しや要約を出力してくれるAPI(Application Programming Interface)です。特徴は、
・人工知能(機械学習モデル)により高品質な要約が瞬時に生成できること
・様々なスタイルや長さの要約が、一つの機械学習モデルで生成できること
・スタイル学習時に必要な学習データが従来よりも少なくできること
の3つが挙げられます。いずれも朝日新聞社の40年にわたって蓄積された大量の記事データを有効活用することで実現できた機能です。下記のWebサイトに特徴やAPIの詳細、デモもご用意しています。
TSUNAの目指すところ
自動要約の研究自体は、2017年から1年間、株式会社レトリバさまとの共同研究として「自動見出し生成」を進めたのがきっかけです。朝日新聞社が持つ記事データを十分に活かしつつ、両社のニーズが高そうな分野ということで、共同研究のお題として選定されました。特に弊社の場合、一つの記事を様々な媒体に掲載します。そのため、媒体に応じて様々な見出しが自動でできればいいな、というところから始まりました。メディアラボ研究チームの3名がレトリバ社に常駐し、アイデアを出し合いながら進めました。
自動見出し生成の研究は、2017年当時でもすでに数多くの論文が発表されており、それらの論文に習い「Encoder-Decoderモデル」という、機械翻訳で多く取り入れられている機械学習の手法を元に進めました。機械翻訳では、例えば日英翻訳だと大量の日本語と英語のペアを用意して「この日本語はこの英語になる」とコンピューターにひたすら教え込ませます。これを応用して、大量の記事と見出しのペアを用意して「この記事はこういう見出しになる」と教え込ませれば良いのです。この方法は見出し生成で有効だ、という論文や報告もすでにありましたが、一方で、社内で利用される場合のニーズとして「見出しの文字数を制限できるべし」ということがありました。自動見出し生成の場合、生成する長さを機械任せにするのではなく、○○文字で生成してね、と指定できる必要があるということです。例えば朝日新聞デジタルの見出しは26文字と、媒体ごとにレギュレーションが決まっているからです。
注目したのは、新聞紙面に掲載される見出しには、様々な長さの見出しがある、ということです。新聞記事の見出しは、ニュースバリューや掲載される内容によって10文字だったり、23文字だったり、40文字だったりします。この特徴を利用して、特定の見出しの長さだけ集めて、それぞれの長さの見出し生成の機械学習モデルを作成すれば、10文字専用モデル、23文字専用モデル…ができそうです。ただ、これでは必要な文字数ごとにモデルが必要になります。そして、サービスとして展開する場合に、それぞれのモデルを動作させるサーバーが必要となり、現実的ではありません。
そこで、すべての長さの見出しを一つのモデルで学習できるべく、手法の見直しや、学習させるデータの作成方法を工夫することで、一つのモデルで、指示した通りの長さの見出しを出せるようにすることができるようになりました。詳細は下記の論文に任せますが、様々な工夫を施すことで、文字数ごとのモデルを作成するより、性能も向上する事もわかりました。
「見出し」から「要約」へ
レトリバ社との共同研究後も、メディアラボでは独自に自動要約の研究を進めてきました。2019年3月には自動見出し生成APIのプロトタイプを公開し、社内でも実際に利用してもらい、評価しました。その結果、「見出し」よりも、それよりもう少し長くて文章になっている「要約」に、より需要があること分かりました。
見出しは最も長いものでも40文字。40文字と指定して出力はできるものの、出力されるスタイルはあくまで見出しなので、「要約したい」というニーズには答えられません。
社内に記事とその要約文のペアデータが有れば、見出しのときのように学習できる見込みはあるのですが、なかなか見当たりません。よくよく探すと、下記の2つのデータが有ることが分かりました。
・電光掲示板向け短文ニュース配信用データ
・題字下インデックス
「電光掲示板向け短文ニュース」は、いわゆる新幹線のドアの上にある電光掲示板に表示されるニュースのことで、約50文字です。「題字下インデックス」は、朝日新聞の1面に掲載されている、新聞全体の要約記事で、○面にこんな記事が載っています、という紹介の記事です。こちらは約70〜100文字です。これらの短い記事と、元になった記事を組み合わせることで「要約」のペアデータを作ることができました。
しかし、データの件数としては数万件しか集まりませんでした。一見多いように見えますが、昨今のディープラーニングで学習させるには少ない数です。この件数でどうやって学習をさせるかーー。ヒントとなったのは、先に紹介した論文でした。この論文では、様々な長さの見出しを同時に学習させることで、一つのモデルから様々な長さの見出しを出せるようになりました。今回は、数量の多い「記事=見出し」ペアと、数量の少ない「記事=要約」ペアを同時に学習させることで、足りない部分を補えるのではないか。実験したところ、これがかなりうまくいくことが分かり、少ないデータでも要約のスタイルを学習させることに成功しました。詳細は、こちらも下記の論文に譲ります。ご興味のある方はお読みいただければと存じます。
人見雄太, 田口雄哉, 田森秀明, 岡崎直観, 乾健太郎. 小規模リソースにおける生成型要約のためのスタイル転移. 言語処理学会第26回年次大会, A4-1, March 2020.
社内での活用が進む
自動見出し生成APIは自動要約生成API「TSUNA」として進化し、現在は70〜100文字程度の要約を出力できるようになりました。その後、社内での活用が進んでいます。
先に紹介した「電光掲示板向け短文ニュース」は従来、もちろん人が作業して作成していました。TSUNAの開発を機に、内容確認のための作業は必要なものの、短文ニュース作成の作業自体は、TSUNAを利用することでほぼ自動化されました。
また、自動要約生成をツイート文の作成支援に利用する、という試みも始めています。朝日新聞デジタル上に記事が公開されると、その記事を自動で要約し、「見出し・URL・自動要約文」を並べることで、その記事に関するツイート文を作成できます。投稿前に人が確認し、必要に応じて多少修正しつつ投稿できるようになり、3割程度の作業効率の向上が確認できました。
なお、余談ですが、TSUNAを導入した直後に下記のようなニュースが発表されました。社内では、短文ニュース作成の運用は続いていますが、少しさみしい結果となりました。
また、下記のような記事もnoteにて配信されています。社内活用事例の一つです。
苦手な場面も
TSUNAも苦手なものがまだまだたくさんあります。
まず、TSUNAは記事で学習しているので、記事とはかけ離れた文章、例えば議事録やインタビュー記事、小説のようなものの要約はあまりうまく行かないことがわかっています。
また、長文を要約することもできません。現在は要約の最大長が100文字程度ですので、例えば1万文字の文章を1,000文字にする、といったことも不得意です。
それでも、情報が氾濫している現代において、情報を整理し、読みやすくするというニーズは大きいと考えています。今後もTSUNAをより使いやすく、皆様のニーズに答えられるように、進化させていくべく取り組んでいきます。
最後までお読みいただき、ありがとうございました。
(メディアラボ・田森秀明)