こんにちは。 カスタマーサクセス部リサーチャーの勝又です。 私はレトリバで自然言語処理、とくに要約や文法誤り訂正に関する研究の最新動向の調査・キャッチアップなどを行っております。
今回の記事では、国立国語研究所様との共同研究で作成した日本語話し言葉BERTとその利用方法について紹介します。
概要
近年、自然言語処理の分野ではBERT(Bidirectional Encoder Representations from Transformers)と呼ばれるモデルが盛んに研究されています。 BERTの良いところとして、アノテーションされていないテキストデータを用いて事前学習を行うことで、実際に解きたい課題の精度が向上することが挙げられます。 現在、さまざまな事前学習済みモデルが公開されており、たとえば日本語に関するものとしては、WikipediaデータやSNSデータを事前学習に使用したモデルが公開されています。
しかしながら、発話の書き起こし(以下、話し言葉と呼称)データを用いて作成した日本語BERTは私たちの知る限り存在しませんでした。 今回、国立国語研究所と共同研究を行い、日本語話し言葉コーパス(Corpus of Spontaneous Japanese、以下CSJと呼称)を用いて話し言葉BERTを作成しました。 今回作成した話し言葉BERTの詳細は、言語処理学会第27回年次大会(NLP2021)にて「CSJを用いた日本語話し言葉BERTの作成」で発表しましたのでそちらをご確認1ください。
BERTの簡単な説明
BERTに関してはさまざまな解説記事や、以前の記事でも解説しているので、ここでは簡単な説明といたします。
BERTはTransformer2のEncoderと呼ばれるものを積み重ねた、言わば複数層からなるモデルです。 いくつかの研究では、BERTの一部の層がとくに文法的な側面を学習している、といった報告をしています。 今回は、この一部の層の振る舞いに注目して話し言葉BERTを作成しました。
また、BERTは事前学習として次の2つのタスクを学習します。
- Masked Language Model(MLM)
- Next Sentence Prediction(NSP)
MLMは文章中の単語をランダムで隠して、それが何だったのかを当てるタスク、NSPは2つの文AとBが与えられた時に、それらが文書中で連続して出てくるかどうかを当てるタスクです。 これらのタスクはアノテーションされていないテキストデータで学習が可能なので、実際に解きたい課題と近い分野のテキストデータを用いて事前学習を行うことで、より高い精度を得られることが知られています。 たとえば、SNSテキストの分類を行いたい場合、上記の事前学習をWikipediaで行うよりもSNSデータで行った方が精度が良いこと3が報告されています。 今回は、話し言葉データであるCSJを用いて上記の学習を行うことで、話し言葉の分野で精度が高いモデルの構築を目指しました。
話し言葉BERT作成方法
CSJはデータ量としてはそれほど多くないこともあり、今回はWikipediaで学習された12層のBERT(以下、書き言葉BERTと呼称)に対して、話し言葉データで上述の事前学習を行いました。 以下、書き言葉BERTに対して上述の事前学習を行うことを本記事では追加学習と呼称します。
今回、話し言葉BERTの作成の際に2つの工夫を行いました。
- 書き言葉BERTの文法を表現する部分のみをCSJで追加学習
- 書き言葉BERTに対して、話し言葉データを用いた分野適応
書き言葉BERTの文法を表現する部分のみをCSJで追加学習
1つ目の工夫はBERTが一部の層で文法的な側面を学習していることに注目したものです。 具体的には、書き言葉と話し言葉の差が主に文法的な側面にあると考え、BERTの全ての層ではなく、BERTの文法的な側面を学習する一部の層のみに対してCSJを用いて追加学習を行いました。 BERTの文法的な側面を学習している層が具体的にどの層なのかは、次の表のようにいくつかの主張が存在しています。 この工夫で作成した話し言葉BERTを本記事ではlayer-wiseと呼称します。
先行研究 | 文法の層 | 呼称 |
---|---|---|
Tenny et al.(2019) | 1-6 | layer-wise [1-6] |
Jawahar et al.(2019) | 8-9 | layer-wise [8-9] |
Hewitt and Manning(2019) | 6-9 | layer-wise [6-9] |
書き言葉BERTに対して、話し言葉データを用いた分野適応
2つ目の工夫は書き言葉BERTから話し言葉BERTを作成するために、Gururangan et al.(2020)4の分野適応の手法を用いたものです。 Gururangan et al.(2020)は実際に解きたい課題のテキストデータで追加学習を行うことをTask-adaptive pretraining(TAPT)と呼称し、実際に解きたい課題が属する分野で追加学習を行うことをDomain-adaptive pretraining(DAPT)と呼称し、これらを組み合わせることがBERTの分野適応に有効であると報告しています。 今回はCSJのテキストデータで書き言葉BERTに対して追加学習を行う場合をTAPTとしています。 またDAPTとして、話し言葉の分野のデータが必要になるのですが、今回は国会議事録を使用しました。 この国会議事録で書き言葉BERTに対して追加学習を行う場合をDAPTとしています。 TAPTとDAPTの組み合わせなどについて比較実験を行いました。
なお、今回は1番と2番の工夫はそれぞれ分けているので、2番の工夫では全ての層に対して追加学習を行っています。
実験
作成した話し言葉BERTの性能評価のため、CSJのアノテーションを元にいくつかのタスクで実験を行いました。
文法を表現する部分のみを追加学習することの有効性の確認
まずは先ほどの1つ目の工夫である、書き言葉BERTの文法を表現する部分のみをCSJで追加学習することの有効性について確認を行います。 実験結果を次の表に示します。 これらの評価尺度は全て大きい方が性能が高いことを示すものとなっています。 表中の太字がその列の中でもっとも高い結果を示しています。 また、文境界推定については、書き言葉と違い、今回焦点を当てている話し言葉には句点などの記号が含まれていないため、文境界が自明ではなく、書き言葉と比べて難しい問題設定となっています。
係り受け解析 (UUAS) |
文境界推定 (F値) |
重要文抽出 (F値) |
3つのタスクの 平均値 |
|
---|---|---|---|---|
書き言葉BERT | 39.4 | 61.6 | 36.8 | 45.9 |
layer-wise [1-6] | 44.6 | 64.8 | 35.4 | 48.3 |
layer-wise [8-9] | 44.3 | 63.5 | 34.9 | 47.6 |
layer-wise [6-9] | 44.5 | 63.6 | 37.1 | 48.4 |
layer-wise [all] | 44.1 | 64.5 | 37.5 | 48.7 |
layer-wise [all]は全ての層についてCSJで追加学習を行ったもので、比較のため記載しています。 この結果から、係り受け解析と文境界推定については1-6層のみに対して追加学習を行った方が、書き言葉BERTや全ての層について追加学習を行った場合よりも精度が高いことがわかります。
一方、重要文抽出については、一部の層のみの学習はうまくいかず、全ての層に対して追加学習を行った場合がもっとも精度が高いことがわかります。 この結果をまとめると、係り受け解析や文境界推定などの精度を出すために文法的な知識が必要なタスクでは一部の層のみを学習することは効果がありますが、重要文抽出のような精度を出すために意味を強く考慮する必要があるタスクでは一部の層のみを学習する効果は薄いと考えられます。
話し言葉データを用いた分野適応を行うことの有効性の確認
次に2つ目の工夫である、書き言葉BERTに対して、話し言葉データを用いた分野適応を行うことの有効性について確認を行います。 実験結果を次の表に示します。
また、この実験ではDAPTの学習ステップ数を3万、TAPTの学習ステップ数を2万、DAPTとTAPTの組み合わせではDAPTが2万でTAPTが1万としました。
係り受け解析 (UUAS) |
文境界推定 (F値) |
重要文抽出 (F値) |
3つのタスクの 平均値 |
|
---|---|---|---|---|
書き言葉BERT | 39.4 | 61.6 | 36.8 | 45.9 |
DAPT | 41.7 | 62.6 | 37.5 | 47.3 |
TAPT | 43.4 | 64.3 | 35.9 | 47.9 |
DAPT-TAPT | 42.9 | 64.0 | 39.7 | 48.9 |
この結果から、係り受け解析と文境界推定についてはDAPTよりTAPTの方が精度が高いことがわかります。
一方で、重要文抽出については、DAPTの方がTAPTより精度が高く、TAPTはそもそも書き言葉BERTより精度が低いことがわかります。
先ほどの文法を表現する部分のみを追加学習することの有効性の確認
のlayer-wise [all]は本質的にTAPTと同様であることを考えると5、重要文抽出で書き言葉BERTより精度が低いのは少し気になるので、TAPTの学習量を3倍の6万ステップにして重要文抽出を再実験しました。
その結果、重要文抽出のF値が40.2となり、もっとも高い結果となりました。
また、DAPTとTAPTの組み合わせ(DAPT-TAPT)はどのタスクでも安定して高い性能となりました。 とくに重要文抽出については表の中ではもっとも高い値となり、2倍の学習ステップ差がある、先ほどのTAPTの6万ステップ学習したものに対しても、精度としては0.5ポイント低い結果になりましたが、大きく差がある結果とはなりませんでした。 おそらくDAPTを行うことで、BERTのパラメーターがTAPTにとって良い初期値となり、少ない学習ステップで高い精度になっているのだと考えられます。 表中の学習ステップ数が同程度の実験の中では、DAPTとTAPTの組み合わせが3つのタスクの平均値でもっとも良い結果となりました。
日本語話し言葉BERTの公開
今回はCSJを用いて日本語話し言葉BERTを作成しました。 今回作成した一部の層のみに対して追加学習を行ったモデル(layer-wise [1-6])を日本語話し言葉部分学習BERTとして、分野適応を用いて追加学習を行ったモデル(TAPTの3倍学習したものとDAPT-TAPT)を日本語話し言葉分野適応BERTとして公開いたします。6
ご利用方法
作成した事前学習モデルをダウンロードしたい方はこちらのフォームに、以下の事項をご記入の上、送信いただければと思います。 追って弊社担当者からモデルのダウンロード方法について連絡いたします。
- お名前
- ご所属
- メールアドレス
※2023年11月追記: ご利用方法が変更になりました。2023年11月から、話し言葉BERTはこちらのHuggingface hubにて公開いたします。
まとめ
CSJを用いて作成した日本語話し言葉BERTを作成、公開いたしました。 一部の層のみに対する追加学習は係り受け解析や文境界推定に対して効果があり、DAPTとTAPTを組み合わせることでさまざまなタスクで安定して高い結果となりました。 また、NLP2021ではこの研究に対してアドバイスなど、さまざまなコメントをいただきました。 この場を借りてお礼申し上げます。 今後は一部の層のみの学習と分野適応の組み合わせや、より精巧な分野適応手法を用いて、さらに話し言葉分野に対して有効な事前学習モデルを作成していきたいと思います。
- 例年通りであれば、NLP2021のWebページに2021年4月頃には発表論文が一般公開されると思います。↩
- Attention Is All You Need. Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N. Gomez, Lukasz Kaiser, Illia Polosukhin. [paper]↩
- 大規模日本語SNSコーパスによる文分散表現モデルの公開 : hottoSNS-BERTの配布. [link]↩
- Don’t Stop Pretraining: Adapt Language Models to Domains and Tasks. Suchin Gururangan, Ana Marasović, Swabha Swayamdipta, Kyle Lo, Iz Beltagy, Doug Downey, Noah A. Smith. [paper]↩
- layer-wise [all]とTAPTはどちらもCSJで全ての層を学習している点で同じです。ただし、layer-wise [all]とTAPTでは学習ステップ数が異なるため、実験結果が異なっています。↩
- 作成したモデルはApache License 2.0で公開します。↩