オペレーションを進化させる
現場のWEBマガジンpowered by Bewith

自然言語処理(NLP)分野の動向と活用

  • #自然言語処理
  • #NLP
  • #BERT
  • #GPT-3

DIGITAL

nabe

2021.09.01

「バート」
この単語を聞いて、皆さんが最初に思いつくのは何でしょうか?
やっぱり、このテレビ番組のキャラクターでしょうか?


私も子供の頃によく見ていました。私と同じくらいの世代の方は懐かしい気持ちになったのではないでしょうか。
ただ、こちらはこれからお話ししたい、「バート」ではないのです。

つぎに、”BERT”(“バート”と読みます)とインターネット検索をしてみてください。
そうすると、テレビ番組の検索結果はあまりでてこず、“自然言語処理(NLP:Natural Languege Process)の深層学習モデル”といった検索結果が並ぶかと思います。


そう、今回はこっちの方の“BERT”について、また、NLP分野に起こっている技術革新やそれに伴う課題や、技術の活用先ついてお話ししていければと思います。

■BERTの登場

ここ数年で急速に進化を遂げていっている、NLP分野。
特に2018年にGoogleから発表された、BERTという言語モデルは、今やビジネスシーンに引っ張りだこです。
まずは、BERT以前の言語モデルと比較して、次にBERTの何が凄いのかを解説します。

〇BERT以前の言語モデル


BERT以前の典型的な言語モデルには、特定のタスクを解くために大量の教師データが必要であるという問題がありました。

例えば、上図のように、質問応答であれば「質問と回答のペア」、文書要約であれば「元の文章とそれを要約した文章のペア」、文書分類であれば「文書と文書ラベル」、それぞれが大量に必要になるということです。ここでいう大量というのは、数万件と思って頂ければ結構です。そのため、そもそもモデルを作る前の『教師データを作る』という作業がかなり大変だということがわかるかと思います。

そしてもう1つの問題点として、BERT以前の言語モデルは、学習に非常に時間がかかっていました。これは上図にもあるように、各タスクを学習する際に、その目的となる学習だけでなく、「言語理解」つまりは、単語や文法、文脈の理解をすることも同時にやっていたため学習の効率も悪く、時間がかかっていました。

また、様々なコストをかけて教師データを大量に作って、長い時間をかけて学習をしたモデルでも、その学習した領域、今回の例であれば「質問応答」「文書要約」「文書分類」、でしか効果を発揮できない、いわばかなり尖った“特化型の言語モデル”しか作ることができませんでした。

〇BERT

BERTは「①Transformer」というモデルをベースに、「②事前学習」と「③ファインチューニング(微調整)」のステップを導入することで、それまでの言語モデルの性能を上回り、特定のタスクでは人間を超えるような性能が実現されています。

そして、BERT以前の言語モデルで挙げた、3つの課題(教師データが大量に必要、学習時間が長くかかる、特定のタスクしか解けない)も解消されているのです。

①Transformer

これまでの言語モデルでの課題であった、計算の高速化を実現したモデル。(学習時間の解消)
文章の中のどこが重要なのか、注意を払う必要があるのか、を学習する仕組みである「Attention」というメカニズムを使っています。

また、Transformerではこれまでのモデルではなかなか難しかった、『学習するデータ量を増やす』、『モデルのサイズを大きくする』ことにより、『モデルの性能を上げる』ことができるようになりました。

②事前学習


これまでの言語モデルでは、各モデルで「言語を理解する能力」を学習させていたため時間もかかっていましたし、そもそも「言語を理解する能力」というのは共通の概念のはずです。そこで登場するのが、『事前学習』という考え方です。

事前学習は、事前に色々な文書を学習して、「言語を理解する能力」をつけてから特定のタスクを解かせようというものです。

BERTの事前学習モデルは、インターネット上や著作権の切れた刊行物などの大量の文書データ(数十万~数百万件)を学習させることにより、単語や文法、文脈の理解する能力、「言語を理解する能力」を獲得することができます。

一方で、非常に大量の文書データを事前学習させるためには、PCのマシンパワーがそれ相応に必要となります。(この課題の解消については後述)

③ファインチューニング(微調整)


ファインチューニングでは、事前学習したモデルを使い、解きたいタスクの教師データで微調整を行います。
この時必要な教師データは、数千件程度で問題ありません。(大量の教師データがいることの解消)

BERT以前の言語モデルが0から学習していたのに対して、事前学習をしていることで既に「単語や文法、文脈の理解する能力」が備わっているため、教師データが少なくて済むのです。

また、事前学習モデルさえあれば、解きたいタスクによってファインチューニングするだけで、その特定のタスクのモデルが作れるようになったため、以前のモデルよりも汎用性が上がっています。(汎用性の向上)

〇さまざまな機械学習モデル・言語モデル、BERTが普及した理由

NLP分野に限らず、機械学習界隈では、昔からソースコードやできたモデルを共有する、オープンソースで公開する、ということが当たり前に行われています。

これは、1つの企業や団体がAIを独占的に使用しないようにする、また使用していないことを公開するためとも言われていますが、今でいう“オープンイノベーション”が起こりやすい環境を作り上げたのではないかという意見もあり、私はどちらかというと後者の影響が大きいと考えています。

さて、BERTが普及した理由ですが、
1つ目はまさにそのまま、日本語の大量の文章で事前学習したモデルを京都大学東北大学などの大学や様々な企業に公開して頂けたためです。(事前学習における課題の解消)

2つ目の理由としては、NLPのオープンソースを提供している“Hugging Face”という会社が簡単に使えるようにしてくれたためです。Hugging Faceのおかげで、Pythonというプログラミングで3行ほどのコードを書けば、BERTの日本語モデルを呼び出せるようになりました。

これでソフト面では環境が整うのですが、今度はハード面で問題が出てきます。

というのも、前述の通り、BERTの事前学習モデルは非常に大量の文章を学習しており、さらにはモデル内には多くのパラメータがあるため、モデル自体が非常に重いです。

つまりは、BERTを動かそうにも自身のPCでは動かせない、ファインチューニングできないという問題に直面します。そうなると、具体的にどのようなことができるかの検証を進めても、PCスペックをあげるための決裁が取れないという、一種のジレンマのような状態に陥りがちです。

この問題は、「Google Colaboratory」という一定量まで無料で使えるクラウドの環境が解決してくれます。これはGCS上に無料の分析環境を構築することができ、TPUやGPUと言われる高速計算機まで無料で使うことができるのです。(一部制限あり)

これらによって、凡夫な私でも様々なBERTのモデルを作ることができるようになり、その性能の高さを実感できるようになりました。

ただ、時代の流れは速く、BERTに匹敵する衝撃がすぐに訪れるのでした。

■GPT-3の登場

GPT、GPT-2に続き、2020年にOpenAIという団体が生み出した文書生成モデルで、BERTと同じくTrasformerをベースとしています。また、BERTよりもさらに大量の文書(約45TB)を事前学習させたことにより、BERTで必要だったファインチューニングをしなくても、「Zero-shot、One-shot、Few-shot」学習を行うことにより、高精度な予測が行えるというところが優れた点の1つです。

何が衝撃的だったかというと、1つ目は約45TBにも及ぶ文章を事前学習させたということ。
2つ目はファインチューニングなしで、さまざまなケース(文章生成、穴埋め問題、機械翻訳、質問応答など)に応じたタスクを行うことができ、更にそれが高精度であったことです。

その高精度を証明(?)して物議も醸したのが、こちら。


要はGPT-3が作った偽記事が、あたかも人間が作ったかのように誤認されて、しかも人気になってしまったという内容です。

この偽記事は、GPT-3の「Few-shot」学習を使って作成されており、これは何をしてほしいかの指示と、それに合わせたいくつかの例を与えることで、出力結果を得ます。
流れとしては、以下の通りです。

何をしてほしいのかの「指示内容」を与え
「指示内容」に対応した例を与えると(以下の例では記事のタイトルと記事の紹介文)
「指示内容」と「例示」に応じた文章を生成する(以下の例ではブログの記事内容を生成)


なお、GPT-3はモデルの発表後2か月で、マイクロソフトが独占使用権を獲得しているため、オープンソースとしての公開はされていません。(現在は許可された人のみに試用の権利が与えられています。)
ただ、マイクロソフトが独占使用権を獲得しているということは、将来的に普段使っているエクセルやワード、パワーポイントに組み込まれる可能性があるということだと思います。
そうなれば、上記のような指示や例示を与えるだけで、契約書や報告書などの各種ドキュメントの作成支援や、自動生成がされる可能性が考えられます。

■BERT 、GPT-3など、言語モデルの今と未来の活用

・各種ドキュメントの自動生成
各種ドキュメントの自動生成は、上記したマイクロソフトのソフトウェア上だけに留まらず、コンタクトセンターにおける『メール応対の返信内容の自動生成』『チャットボットの適応範囲の拡大』なども考えられます。
おそらく初めから全部自動でできるとはならないと思いますが、「このメール内容ならこの返信内容でどうでしょうか」といったレコメンドをしてくれるシステムから実装されていくのではないかと思います。

・文書管理/検索システムの精度向上
SEO対策をされている方はご存じの方は多いと思いますが、Google検索のアルゴリズムにもBERTは採用されており、以前と比べて、『文章による検索』の精度が向上しています。
これはつまり、BERTを用いることによって、社内に大量に蓄積された文書の整理や分類や、QAの検索精度の向上が期待されるということを意味しており、実際にさまざまな企業からそういったモデルがリリースされています。

・他の技術との融合
今年に入って文章からイラストを作る技術(DALL・E)が、GPT-3を作ったOpenAIから発表されました。
文章がイラスト化できるということであれば、今後は文章(や物語)からアニメーションができるなんてことも、容易に想像できてしまいます。

こういった技術と、画像認識や音声認識を組み合わせることで、スマートスピーカーや、自動運転技術の向上にもつながるのではないかと思います。
このように想像するだけでも楽しくなる言語モデルの未来での活用ですが、何もかもがうまくいっているわけではなく、現状のモデルでは次の2つの課題が主に指摘されています。

■言語モデルの課題と今後

・モデルの巨大化
巨大なモデルを開発する理由は、モデルを大きくするほど性能が改善すると実験的に示されているためです。ただ、最新の言語モデルは巨大さゆえ、一部の企業や研究機関以外にとっては扱いが難しいという欠点があります。

また、現状のPCスペックなどのハード面でも、実用的には幅広いタスクを解ける巨大なモデルより、分類や質問応答などの特定のタスクを解ける小さなモデルの方が扱いは簡単であり、コスト面でも運用がしやすいです。

そのため、もし現状でGPT-3がオープンソースとして開放されていたとしても、BERTよりもファインチューニングなどがないため、使い方自体は簡単かもしれませんが、さまざまなコストパフォーマンスを加味してBERTが選ばれていた可能性は高いと私は考えます。

また、BERTが提案された後、BERTの軽量なモデルが提案されてきた歴史を考えると、今後は扱いやすい小さなモデルを構築する方法が更に研究開発されると考えられます。

・大量の文章を学習しているということ
大量の文章の中には少なからず、バイアスがかかっている文章が含まれています。
こういった文章を言語モデルが学習していくと、バイアスがかかったままの出力となってしまい、モデルの“公平性”が保たれなくなってしまいます。

ここでいう、モデルに“公平性”が保たれていないとは、特定のグループにとって不利な結果を出力する可能性があることを指します。世間一般的に言われる『差別』のようなことが、言語モデルの出力結果にも起こるということです。

こういったバイアスを排除し、“公平性”を担保するモデルを作りだすために、そもそも大量の文章のリソースをインターネット上に求めるのかという議論や、収集したデータを拡張してバイアスを軽減する取り組みが様々なところでなされています。

==
このように、汎用的に進化を続けていく言語モデルは、現時点で課題はあるものの、今後の技術の発展により、人間並みの自然言語理解に近づきNLP分野に更なる可能性が広がることが期待されます。
今後もNLP分野の動向を見守っていき、広く皆様にお役に立つ情報と技術をお届けできればと思います。

当社がご提供するクラウド型IP-PBXを基盤としたコールセンター向けトータルテレフォニーソリューション Omnia LINK(オムニアリンク)は、AI自然言語処理を駆使し、リアルタイムに対話内容を分析し必要なFAQの候補を予測し画面に表示させる、オペレーションナビゲート機能「seekassist(シークアシスト)」を搭載しております。FAQを含めた様々な情報を自動表示し検索時間短縮、劇的な応対時間短縮が可能になります。

詳しい資料は、以下からご覧いただけます。
https://www.bewith.net/gemba-driven/download/entry-126.html


関連記事