
SCSK株式会社 R&Dセンター AI技術部
瀬在 恭介 Kyousuke Sezai
AIによる自然言語処理は、大規模テキストデータの解析や機械翻訳、音声対話システムなどに使用され、マーケティングやビジネスシーンのほか、日常生活の利便性を高めるあらゆる分野で活用されています。
当社はこれまで自然言語処理AIの処理精度向上と高速化を目的として、汎用言語分散表現モデル「BERT」を研究してまいりました。本稿ではその研究成果を紹介いたします。
BERT研究の目的
2018年にGoogleから発表された自然言語処理の言語モデルであるBERTは、ファインチューニング(※1)を行うことにより多数の自然言語処理タスクで高い性能を実現したことで注目を浴びました。BERTを使用することで、以下の項目が実現可能となります。
- ① 自然言語処理タスクに汎用的に使用できる分散表現を取得可能
- ② 少量データで、BERT以前の言語モデルと同様の精度取得が可能
- ③ 単語の文脈まで含めた分散表現を取得可能
本研究では上記項目について下記の通り調査・検証を実施します。
- 文章分類タスクを用いて①②の機能検証を実施し、自然言語処理タスクの基盤としての有効性を調査する
- ③を用いて文章要約モデルを作成し文章の要約・校閲タスクの負荷軽減につなげる
※1 ファインチューニング: 追加学習の手法の一つ。学習済みモデルに新たな層を追加しモデル全体を再学習させる手法。
BERT研究の背景
自然言語処理の課題
近年ニューラルネットワークを活用した機械翻訳の精度向上により、自然言語処理はビジネス利用が可能な段階に近づいています。AI市場の中でも自然言語処理は最も大きい領域を占め拡大を続けていますが、現状様々な課題が残されています。
【自然言語処理の課題】
- タスク毎に文字を特徴化するモデルを作成する必要がある
- 照応省略解析(こそあど言葉)など省略された語句を読み取れない
- 大量のデータが必要
- 文と文とのつながりを理解出来ない
- 語句に隠された暗黙な意味を理解出来ない
BERTの登場
BERTは様々なタスクに利用可能という汎用的な言語表現取得モデルであり、文と文の繋がりを理解し少ないデータで学習が可能という特徴を持ちます。
2018年、自然言語処理の多くのタスクで SOTA (※2)を大きく更新しました。
参照:「BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding」https://arxiv.org/pdf/1810.04805.pdf
※2 SOTA(State-of-the-Art): 「最先端の(技術)」という意味をあらわす慣用句。機械学習においてはある特定の機械学習モデルやタスクが「現時点での最高のスコア・精度」を達成していることを表します。
BERTを使用すると自然言語処理の課題とされている下記の1~5の項目の内、1~4の課題が解決されるとされています。
- タスク毎に文字を特徴化するモデルを作成する必要がある
- 照応省略解析(こそあど言葉)など省略された語句を読み取れない
- 大量のデータが必要
- 文と文とのつながりを理解出来ない
- 語句に隠された暗黙な意味を理解出来ない
BERTモデル
Attention
BERTモデルは、Attention技術を組み込んだTransformerのエンコーダーで作成され、文章を入力し単語ごとの分散表現や文章全体の分散表現を出力できます。
Attentionは文章の各単語に文脈情報を付加する機構です。例えば「動物」という単語に一番紐付きが高い単語情報を付加し、同じ文章でAttentionを実行すると、文脈情報が取得可能になります。
Attentionは、文章内の離れた位置にある単語情報も取り入れることによって、文脈を深く考慮する人間の感覚に近い処理が可能です。
Transformer
TransformerはAttentionのみを使用した言語生成モデルであり、エンコーダーとデコーダーで単語位置情報を付加し、Attentionを実施した入力データと教師データで再度Attentionを実施した特徴を元に文章を生成します。
BERTの事前学習方法
BERT は24層の巨大モデル(約110M)で大量の言語情報データを事前学習した言語モデルです。事前学習での入力と出力は、文章を入力値としコンピュータが単語の意味を理解しやすくするため、各単語の分散表現(ベクトル表現)を出力します。
- Input: 入力データ
- Token Embedding: 単語の分散表現
- Sentence Embedding: 文章が何文目にあるかを表す分散表現
- Transformer Positional Embedding: 単語の順番を表す分散表現
BERTの事前学習タスクにはMasked Language Modeling(穴埋めタスク)と、Next Sentence Prediction(隣接文予測タスク)の2種類が採用されています。
Masked Language Modeling (穴埋めタスク)
入力文の15%をランダムに[MASK]トークンに置き換え、[MASK]以外の単語から[MASK]の元の単語を予測するタスク。当タスクにより文脈情報も加味した単語意味表現を学習します。
Next Sentence Prediction (隣接文タスク)
2つの入力文に対して「その2文が隣り合っているか」を当てるタスク。当タスクにより文章単位での意味表現を学習します。
男は[MASK]店に行った。彼は1ガロン[MASK]の牛乳を購入した。
[CLS] the man [MASK] to the store [SEP] penguin [MASK] are fight ##less birds [SEP] ⇒ notNext
男は店に[MASK]。ペンギン[MASK]は飛べない鳥である。
BERTの特長
文脈の理解
BERT以前の言語モデルであり2層のニューラルネットワークで大規模データによる分散表現学習を行う「Word2Vec」は、「単語」単体を理解することしかできませんでしたが、BERTは文章の「文脈」を理解することが可能です。
例)Word2Vec: 電気を消して。やっぱり電気を消すことをやめて。
BERT: 電気を消して。やっぱりそれをやめて。
BERTを元に開発された、代表3言語モデル
2019年までにBERTは2,000件近くの論文に被引用され、BERTをベースとした様々なモデルも登場しました。ここではBERTを元に開発された、代表3モデルの調査結果を紹介します。
XLNet
XLNetはBERTの事前学習方法を改良したモデルです。タスクの結果だけ見るとBERTの上位互換の性能となっています。XLNetはSQuAD(※3)(質問応答)、GLUE(※4)(感情分類や固有表現抽出など9タスク)など20のタスク全てでBERTを超え、うち18のタスクでSOTAを更新し、結果としてBERTの全タスクを更新するほどの性能を発揮しました。
SQuAD(質問応答)
出典: 「XLNet: Generalized Autoregressive Pretraining for Language Understanding」https://www.semanticscholar.org/paper/XLNet%3A-Generalized-Autoregressive-Pretraining-for-Yang-Dai/e0c6abdbdecf04ffac65c440da77fb9d66bb474c
RoBERTa
RoBERTaはBERTの事前学習方法(主にパラメーターチューニング)を改良したモデルです。学習データを追加しているので、データ量を増やさなくても BERT より良い結果となりました。さらにデータを増やしてより長く学習することでBERTの性能を最大限まで発揮し、 XLNet を上回る結果も出ています。
SQuAD、GLUE(感情分類と2文の含意関係)
出典: 「RoBERTa」https://paperswithcode.com/method/roberta
ALBERT
ALBERT はBERTのパラメーターを改良して軽量化&性能向上を実現した言語モデルです。最も構造が巨大なALBERTのモデルでさえ、BERT-large以下のサイズに収まりつつ、性能はBERTを超えています。加えてALBERTは構造を大きくすることで性能の向上が可能です。ALBERTはパラメーター数を減少させつつBERTを超える性能を実現しています。
SQuAD(質問応答)
出典: ALBERT: A Lite BERT for Self-supervised Learning of Language Representationshttps://iclr.cc/virtual_2020/poster_H1eA7AEtvS.html
各手法の比較
各手法の内容を下記の表にまとめました。※下線はBERTと差異があるもの
モデル | NNモデル | 事前学習タスク | データ | パラメーター |
---|---|---|---|---|
BERT | Transformer | ① Masked Language Modeling (static mask) ② Next Sentence Prediction |
SEGMENT-PAIR SENTENCE-PAIR 16GB |
Base:108M Large:334M |
XLNet | Transformer-XL | ① Permutation Language Modeling ② Next Sentence Prediction |
SEGMENT-PAIR SENTENCE-PAIR 16GB |
Base:108M Large:334M (正確な数は未公開) |
RoBERTa | Transformer | ① Masked Language Modeling (dynamic mask) |
FULL-SENTENCES 160GB | Base:108M Large:334M (正確な数は未公開) |
ALBERT | Transformer | ① Masked Language Modeling (static mask) ② Sentence Order Prediction |
SEGMENT-PAIR SENTENCE-PAIR 16GB |
Base:12M Large:18M |
GLUE (読解)
Rank | Name | Score |
---|---|---|
1 | ALBERT(ensemble) | 89.4 |
2 | RoBERTa(ensemble) | 88.5 |
3 | XLNet (ensemble) | 88.4 |
4 | 人間 | 87.1 |
5 | BERT(single) | 80.5 |
出典:2020年12月時点でのGLUEベンチマークのリーダーズボードを基にSCSK株式会社が作成 https://gluebenchmark.com/leaderboard/
SQuAD 2.0 (機械読解) ※EM:回答抽出タスク/F1:文章分類タスク
Rank | Name | Score(回答抽出タスク) | Score(文章分類タスク) |
---|---|---|---|
1 | ALBERT(ensemble) | 89.731 | 92.215 |
2 | ALBERT(single) | 88.107 | 90.902 |
3 | 人間 | 86.831 | 89.452 |
4 | RoBERTa (single) | 86.820 | 89.795 |
5 | XLNet (single) | 86.346 | 89.133 |
6 | BERT(single) | 80.005 | 83.061 |
出典:2020年12月時点でのSQuAD v1.1のリーダボードを基にSCSK株式会社が作成 https://rajpurkar.github.io/SQuAD-explorer/
このようにBERTを改良することでSOTAが大幅に更新されることが分かります。
BERTの補正モデルは引き続き更なる性能向上が図られ、言語モデル研究は進んでいくものと考えられます。また今後は自然言語を利用したタスク(読解/含意/換言/対話/要約/翻訳)全般に適用可能なモデル開発に注目が集まることが予想されます。
※3 SQuAD(Stanford Question Answering Dataset): wikipedia の記事に対してクラウドワークの協力者が作成した質問と回答の組み合わせデータベース。
※4 GLUE(The General Language Understanding Evaluation): 自然言語処理タスクにおける一般言語の理解度を評価するためのベンチマーク。9つのタスクで構成されます。
BERTを用いたSCSKの研究
1.文章分類
簡素な分類モデルを使用して、Livedoorニュースコーパスの7,376記事と2,000記事での9クラス分類を実施しました。その結果、BERTの方が精度が高く半分以下の文章に対しても精度低下しにくいことを確認しました。
精度比較 | 7,376記事 | 2,000記事 |
---|---|---|
BERT | 0.880833 | 0.871168 |
Doc2Vec | 0.855758 | 0.826008 |
2.文章要約
以下3つの文章抽出要約モデルに対しBERTとDoc2Vecで学習した結果を比較しました。
- LexRank を使用した要約(Livedoorニュースコーパス)
- 双方向LSTMをベースとした要約モデル を使用した要約(Livedoorニュースコーパス)
- 単方向RNNをベースとした要約モデル を使用した要約(コールセンター)
LexRank要約モデルと双方向LSTMをベースとした要約モデルを使用した要約結果の比較
LexRank要約モデルは「多くの文に類似する文は、重要文であり、重要な文に類似する文は,重要文である」という定義のもと、文章を優先付けするアルゴリズムです。
LexRankは、Webページの重要度をはかるPageRankに着想を得たアルゴリズムであり、文間の類似度を用いてそれぞれの文の重要度を算出しグラフを構築することによって文をランク付けします。要約文はランキング上位の文を組み合わせることによって形成されます。
双方向LSTMをベースとした要約モデルは、各文章と正解要約文とのROUGEスコア(※5)を学習させるモデルです。双方向LSTMとは、文章の前から学習して次の単語の意味を予測する通常のLSTMに対し、ある文章の前後の文章も学習することで文脈から単語の意味を予測させるニューラルネットワークの手法の一つであり、RNN(再起型ニューラルネットワーク)の拡張バージョンです。
それぞれのモデルで、10文章の平均を抽出結果と正解要約文のROUGEスコア(要約評価指標)で評価した結果、両モデルでBERTの優位性を確認しました。
LexRankのROUGEスコア比較
LexRank ROUGE比較 | 3文要約 | 5文要約 |
---|---|---|
BERT | 0.828206 | 0.646905 |
Doc2Vec | 0.704224 | 0.614323 |
双方向LSTMをベースとした要約モデルのROUGEスコア比較
双方向LSTMをベースとした要約モデルのROUGE比較 | -3文要約 | 5文要約 |
---|---|---|
BERT | 0.677689(0.74009) | 0.629928(0.64117) |
Doc2Vec | 0.640806 | 0.594068 |
※5 ROUGE(ルージュ): 一般的なテキスト要約の評価指標。大まかには人間の作成した要約とシステムが作成した要約との一致度を測るものです。
■自作要約モデルを使用した要約
自作要約モデルのROUGE学習推移
双方向LSTMをベースとした要約モデルは改良によるRougeスコア向上の可能性があります。
■LexRankの要約結果
正解要約文
GKに阻まれたが、華麗な2人抜きから初シュートを放つなど、存在感を発揮
SNSでは「次元が違うよ!」「感動した」といった声が上がっている
BERT抽出文 ROUGEスコア:0.875342
華麗な2人抜きから初シュートを放つなど存在感を放ち、SNS上では「次元が違うよ!」「感動した」と“久保フィーバー”が巻き起こっている。
そのまま左足を振り抜き、代表初シュートで相手ゴールを強襲した。
Doc2Vec抽出文 ROUGEスコア:0.725
そのまま左足を振り抜き、代表初シュートで相手ゴールを強襲した。
これはGKの好セーブに阻まれたが、18歳のプレーに会場は騒然となった。
原文
単方向RNNをベースとした要約モデルを使用した要約結果の比較
単方向RNNをベースとした要約モデルは、各文章に1(要約文)0(非要約文)の教師データを学習させるモデルです。単方向RNNとは、ネットワーク内部に再帰構造を持つという特徴を持つニューラルネットワーク手法で、入力層、中間層、出力層の3つの層からなり、そしてこのネットワーク構造を時間や状態軸方向に展開することで、文章や時系列データの次の状態が予測できます。
以下は、単方向RNNをベースとした要約モデルを使用した抽出結果を目視で確認し評価したものになります。
acc1:要約文の分類精度 acc0:非要約文の分類精度
loss | acc1(要約文) | acc0(非要約文) | |
---|---|---|---|
BERT | 0.422645 | 90.4766 | 70.1535 |
Doc2Vec | 0.454402 | 88.8056 | 71.094 |
結果は、lossはBERTの方が低く、平均精度については僅かですがBERTの方が高い結果となりました。
■単方向RNNをベースとした要約モデル抽出結果比較
BERTの方が重要度値も高く、内容も決定事項が記載されており、より良い要約となりました。
BERT抽出文
重要度 | 上位5文 |
---|---|
0.78069 | マイル が 貯まり ます と は い 、 特典 航空 券 等 枚 空港 マイル が たまり まし た 航空 券 など に 変える こと が 可能 で ござい ます ね 。 はい 。 また 搭乗 方法 など も 少し スムーズ に 行う こと が できる よう に なり ます ので 、 ぜひ 入会 する こと お 勧め いたし ます が 、 。 |
0.84299 | さよう で ござい ます ね 。 では 運賃 と お 支払い 期限 について ご 案内 いたし ます 。 はい 。 運賃 が ご 変更 が でき ない 運賃 で 承り まし て 合計 金額 が 二名 様 。 往復 で 4 万 244 $ 円 で ござい ます 。 |
0.84386 | 窓側 から 二名 様 お 並び で ご 用意 さ せ て いただい て よろしい でしょ う か 。 |
0.81812 | ヤマダ 様 、 ご 入力 ありがとう ござい まし た では はい 。 ありがとう ござい ます 。 入力 いただい た 情報 で お 手続き し て 参り ます ので もう 少々 お待ち ください 。 |
0.82403 | お 待た せ いたし まし た 。 それでは 本 日付 で 4 万 244 $ 円 の お 支払い を 承り まし た 。 ありがとう ござい ます 。 では ご 搭乗 する 際 に 必要 な $ 桁 の 確認 番号 お伝え いたし ます ので 、 メモ に お 書き留め お願い いたし ます 。 |
Word2Vec抽出文
重要度 | 上位5文 |
---|---|
0.89706 | じゃ CS 契約 し たい ん です けど 。 |
0.75856 | マイル が 貯まり ます と は い 、 特典 航空 券 等 枚 空港 マイル が たまり まし た 航空 券 など に 変える こと が 可能 で ござい ます ね 。 はい 。 また 搭乗 方法 など も 少し スムーズ に 行う こと が できる よう に なり ます ので 、 ぜひ 入会 する こと お 勧め いたし ます が 、 。 |
0.76433 | 窓側 から 二名 様 お 並び で ご 用意 さ せ て いただい て よろしい でしょ う か 。 |
0.76563 | ヤマダ 様 、 ご 入力 ありがとう ござい まし た では はい 。 ありがとう ござい ます 。 入力 いただい た 情報 で お 手続き し て 参り ます ので もう 少々 お待ち ください |
0.76114 | はい 。 ありがとう ござい まし た 。 お待ち し て おり ます 。 ありがとう ござい まし た 。 |
まとめ
BERTには自然言語処理タスクの精度向上や少量データでの学習、様々なタスクに利用可能という汎用性、モデル作成時間の短縮、といった利点がありますが、技術的な課題は別として様々な業界で使用するには複数の課題が残っています。
BERTの課題
- ゼロからBERTを作成する際は学習コストが膨大する
- BERTをファインチューニングする際は作成者が指定した最大系列長までしか指定出来ない
- BERTを使用した学習、推論時間は従来技術より長い
- それぞれの目的に合ったデータセット不足問題が既存モデルと同様に発生
本研究に関連する最新の研究はこちら
自然言語処理「未知語学習の効率化研究」