日本語ビジネスニュースコーパスを学習したBART事前学習済モデルの紹介

はじめに
Research部門の江間見です。ストックマークでは、自然言語処理技術の研究開発を行っています。
弊社では、大量のビジネスニュースを解析対象としていますが、人間がすべてのビジネスニュースを精読することは不可能です。そのため、読むべき記事を判断するために、記事分類や要約等を行うことが必要不可欠となります。
近年では、この要約タスクの分野では、高い精度が報告されている事前学習済モデルBART等が存在します。
そこで、弊社で日本語向けのBART事前学習済モデルを作成しましたので、今回はそのモデルの紹介と公開を行います。
BART とは
BART は、2019 年 10 月 29 日に Facebook社によって提案されました。 BART は、双方向エンコーダー (例えばBERT) と左から右へのデコーダー (例えばGPT) を使った seq2seq 構造を使用します。BART は、基本的にテキスト生成用のモデルですが、テキスト理解タスクにも適しています。そのため、さまざまな抽象的な対話、質問応答および要約などのタスクでよく使われます。
Stockmark の BART
BART の事前学習済モデルは Hugging Face で公開されていますが、日本語かつビジネスニュースに特化したモデルはありません。そのため、弊社では日本語ビジネスニュースコーパスを学習したBART事前学習済モデルを作成しました。
今回、Hugging Face にてこのBART事前学習済モデルを公開します。BART事前学習済モデルの詳細な利用方法は以下のリンク先をご覧ください。
https://huggingface.co/stockmark/bart-base-japanese-news
ここからは、弊社のBART事前学習済モデルを簡単に紹介します。
事前学習
事前学習では、オリジナル文章の文の順序をシャッフルし、テキストのトークンをランダムにマスクトークンに置き換えた文章をオリジナル文章に復元するタスクを学習します。
今回は、約3年間半分(2019-01-01~2022-07-12)の約2100万のニュース記事(約2.9億文)を事前学習データに使い、BART-baseサイズのモデルを事前学習しました。 事前学習の期間は、Google TPU v2-8(64 GiBメモリ)で約45日間です。
事前学習済モデルの出力
事前学習で、文順入れ替えタスクとマスク穴埋めタスクを学習しましたので、事前学習結果の主力例を以下に示します。
文順入れ替えタスク
文順入れ替えタスクでは、以下のような文章があった場合、文の順番をシャッフルし、元の文順に戻します。
# オリジナルテキスト(正しい文順)
明日は大雨です。電車は止まる可能性があります。ですから、自宅から働きます。
文順入れ替えタスクを学習しているか確認するために、以下のように文の順番をシャッフルした6パターンを事前学習済モデルに入力します。
入力:
# パターン1(このパターンはオリジナルテキストと同じです)
明日は大雨です。電車は止まる可能性があります。ですから、自宅から働きます。
# パターン2
明日は大雨です。ですから、自宅から働きます。電車は止まる可能性があります。
# パターン3
電車は止まる可能性があります。明日は大雨です。ですから、自宅から働きます。
# パターン4
電車は止まる可能性があります。ですから、自宅から働きます。明日は大雨です。
# パターン5
ですから、自宅から働きます。電車は止まる可能性があります。明日は大雨です。
# パターン6
ですから、自宅から働きます。明日は大雨です。電車は止まる可能性があります。
出力:
上記の6パターンすべての出力が以下のオリジルナルテキストと同様の出力になりました。
# すべてのパターンで以下の出力
明日は大雨です。電車は止まる可能性があります。ですから、自宅から働きます。
マスク穴埋めタスク
マスク穴埋めタスクでは、オリジナルテキストのあるスパンをマスクトークン(<mask>
)に置き換えて、そのマスクトークンをオリジナルトークンに復元するタスクです。
マスク穴埋めタスクを学習しているか確認するために、以下のようにオリジナルテキスト内の任意の文字列を<mask>
に起き換えて、事前学習済モデルに入力します。
パターン1
オリジナルテキスト:
国内で17日、12万9828人の新型コロナウイルス感染者が確認された。
入力:
国内で17日、12万9828人の新型コロナウイルス<mask>が確認された。
出力:
国内で17日、12万9828人の新型コロナウイルス陽性が確認された。
このパターンでは、オリジナルテキストと同じ文字列を復元できませんでしたが、文の意味として通じる文字列が補完されています。
もう一つ別のパターンを確認してみましょう。
パターン2
オリジナルテキスト
濃厚接触者とは、陽性となった人と一定の期間に接触があった人をいいます。
入力:
濃厚接触者とは、陽性となった人と一定の期間に<mask>があった人をいいます。
出力:
濃厚接触者とは、陽性となった人と一定の期間に接触があった人をいいます。
このパターンは、オリジナルテキストと同じ文字列が復元されています。
終わりに
今回、弊社で作成したBART事前学習済モデルを紹介しました。
事前学習の結果、事前学習済モデルで文順入れ替えタスクやマスク穴埋めタスクで、それらしき結果を出力していることを確認しました。
一方、BART は、事前学習済モデルを要約等のタスクで fine-tuning すると高い精度がでることが報告されています。 今回の事前学習済モデルの BART は、fine-tuning を実施しないと対話、質問応答および要約等のタスクに利用できませんので、今後はfine-tuningを行い、その結果を報告していきます。
弊社では、今後も言語モデルを研究・調査・検証を進めて、プロダクトヘの応用を模索して参ります。
謝辞
今回の BART の作成には、Google社の TensorFlow Research Cloud(TFRC)の Cloud TPU を利用させていただきました。