BERTとは?意味から実用例まで詳しく解説

みなさん、BERTという言葉はご存知でしょうか?

本記事では近年話題となっているBERTについて意味から実用例まで詳しく解説していきます。

BERTについて深く理解していただければ幸いです。

BERTとは

BERTとは
BERTとはBidirectional Encoder Representations from Transformersを略した自然言語処理モデルであり、2018年にGoogleから発表されました。

発表当時、様々な自然言語処理タスクで最先端モデルの性能を大きく上回る性能を示したことで大きな話題をよびました。
一般的に、自然言語処理タスクとは翻訳や文書分類、質問応答といった自然言語処理(NLP)における仕事の分野のことを指します。

自然言語処理(NLP)とは?

そもそも自然言語処理とは何か。
自然言語処理(NLP)とは、人間が日常のコミュニケーションで使う曖昧さのある話し言葉や、新聞などの書き言葉を含む自然言語をコンピューターで分析、処理する技術です。この技術により、例えばSNSでの口コミなど不規則な情報も分析することができます。
簡単に言えば、コンピュータに人間が話すことばを理解してもらおうとすることです。
詳しくは自然言語処理(NLP)とは?詳しく解説!をご覧ください。

自然言語処理モデルとは?

自然言語処理モデルとは、日常で使用する文章や話し言葉における、各単語の出現確率だけでなく、ある単語の後に別の単語が出現する確率を示したものです。
簡単に解釈すると、文章の自然さを確率によって表現しているモデルということです。

この観点のもとで、近年において、言語モデルは音声認識や機械翻訳、文章の誤り訂正などの自然な文章を扱いたい領域で広く応用されています。

自然言語処理モデルには、様々な種類があり、BERTの他に

  • GPT-3
  • T5
  • ELMo

といったモデルがあります。

Transformerとは?

BERTについて理解するためには、Transformerに関する基礎知識が必要です。
Transformerとは、2017年に発表された"Attention Is All You Need"という自然言語処理に関する論文の中で初めて登場した深層学習モデルです。それまで主流だったCNNRNNを用いたエンコーダーデコーダーモデルとは違い、エンコーダーとデコーダーをAttentionというモデルのみで結んだネットワークアーキテクチャです。それによって、機械翻訳タスクにおいて速いのに精度が高いという特徴を持ち、非常に使い勝手のよいものとなっています。

BERTなどの強力な自然言語処理(NLP)モデルの研究の多くは、このTransformerの上に構築されています。
詳しくはTransformerとは?AI自然言語学習の技術を解説をご覧ください。

BERTの仕組み

BERTはどのような仕組みで機能しているのでしょうか。
ここからは、BERTの仕組みについて詳しく確認していきましょう。

BERTの学習には事前学習ファインチューニングと呼ばれる2つの過程があります。
この事前学習ファインチューニングについて詳しく見ていきましょう。

事前学習とは?

事前学習は大規模な文章を用いて汎用的な言語パターンを学習するために行われます。
学習というと一般的にモデルに対して入力データとそれに対する出力の関係を人間が付与したラベル付きデータを用いて学習させるというイメージを持つ人が多いかもしれません。

しかし、BERT事前学習で用いるデータは生の文章データのみです。
このようなラベル付けされていないデータのことをラベルなしデータといいます。

ラベルなしデータを用いるメリットは、比較的容易に大量のデータを収集できることです。
しかし、ラベルなしデータを用いる場合に、モデルに何を学習させれば良いのかということがラベル付きデータを用いた学習と比べて自明ではなく、何らかの対策が必要となります。

そこでBERTではMasked Language ModelNext Sentence Predictionという2つの方法を組み合わせて大量の文章データから学習を行っています。
では、このMasked Language ModelNext Sentence Predictionとはどういった方法なのか詳しく見ていきましょう。

◆Masked Language Model

Masked Language Modelとは、テキストの一部をマスクし、モデルが他のコンテキスト単語を使用してマスクされた単語を推測しようとするタスクのことです。

BERTでは、ある単語を周りの単語から予測するというタスクを用いて、学習を行っています。

具体的には、まずランダムに選ばれた15%のトークンを[MASK]という特殊トークンに置き換えます。そして、置き換えられた文章をbertに入力し、[MASK]の位置に元々あったトークンを予測するというタスクを用いて学習を行います。

つまり、[MASK]に置き換えられたトークンを、[MASK]を含む文章に対するラベルとして扱うことで、その入出力関係を学習します。

◆Next Sentence Prediction

言語タスクの中には、2つの文章が与えられるようなタスクもあります。
そこで、Next Sentence Predictionという手法を用います。

Next Sentence Predictionは、2つの文章の関係性について予測するタスクです。
そのため、事前学習時にはBERTには常に2つの文のペアが入力されます。

データの50%は2つ目の文が1つ目の文に連続するぶんであり、残りの50%は2つ目の文はランダムに選ばれた文となっています。
そして、入力された2つの文が連続したものであるか、そうでないかを判定するタスクを用いて学習を行います。

具体的には、特殊トークン[CLS]に対応するbertの出力を分類機に入力し、2つの文章が連続しているかどうかを判定します。

ファインチューニングとは?

BERTの学習済みモデルは、そのまま使うことは珍しく、一般に、解きたいタスクに応じて特化するようにします。

ファインチューニングでは、比較的少数のラベル付きデータを用いて、BERTを特定のタスクに特化するように学習します。

BERTで個別のタスクを解くためには、タスクの内容に応じてbertに新しい分類機などを接続するなどして、タスクに特化したモデルを作ります。つまり、言語タスクにおいて、BERTは特徴抽出機のような働きをします。

ファインチューニングを行うときにはモデルのパラメータの初期値として、BERTのパラメータは事前学習で得られたパラメータを用い、新たに加えられた分類器のパラメータにはランダムな値を与えます。そして、ラベル付きデータを用いてBERTと分類器の両方のパラメータを学習します。

事前学習で得られたパラメータを初期値として用いることで比較的少数の学習データでも高い性能のモデルを得ることができます。

BERTの特徴

では、BERTの発表によって、どのようなことが実現されたのか、BERTの特徴について解説していきます。

文脈理解

BERTが発表されるまでは、GPTELMoといった言語処理モデルが活用されていました。
GPTは未来の単語のみを予測する単一方向モデル、ELMoは双方向モデルであり、文脈を読むことまでは不可能でした。

しかし、BERTが導入されてからは、単語動詞のつながり、つまりは文脈を読み取ることができるようになりました。

汎用性

BERTには、汎用性が高いという特徴があります。
既存のタスク処理モデルの場合、特定のタスクのために特化していました。

一方で、BERTであれば、既存のタスク処理モデルの前にファインチューニングさせるだけで、簡単に自然言語処理の精度を高められるようになりました。

そのため、BERTはこの汎用性が高いという点で評価されています。

学習データ不足の克服

事前学習の章で述べましたが、BERTの学習にはラベルなしデータを用います。

現時点では、自然言語処理タスクを目的としたラベル付きデータの絶対数は少なく、入手が困難な現状です。

また、生の文章にラベルを付与し、ラベル付きデータを生成するためには、莫大な時間と労力がかかります。

その点、ラベルなしデータは大量に存在しているため、入手することは容易です。
そのため、BERTは学習データが不足することのないという点で評価されています。

後継モデル

このように強力なBERTですが、2018年に登場してから、改良版のRoBERTaや、さらに軽量化したALBERTなど様々な後継モデルが考案されています。

BERTの活用事例紹介

最後に、BERTの活用事例を紹介します。

◆文書分類

文書分類
株式会社日立ソリューションズが独自技術の文書分類アプリ「活文 知的情報マイニング」にBERTを導入した事例です。

2019年11月25日に株式会社日立ソリューションズは独自技術の文書分類アプリ「活文 知的情報マイニング」にBERTを導入したと発表しました。

こちらは、大量の自然文テキストを分析し、分類する業務を自動化するものになります。

現在では世界的に導入が進んでおります。

◆検索エンジン

google
Googleが検索エンジンにBERTを導入した事例です。

Googleは2019年10月25日に検索エンジンにBERTを導入したと発表しました。
発表時はアメリカGoogleの英語検索のみに導入されていましたが、同年12月10日に日本語を含む70以上の言語に展開されました。

◆チャットボット

chatbot
株式会社ユーザーローカルが提供している「サポートチャットボット」の事例です。
チャットボットとは、人工知能を活用した自動応答システムのことです。

「サポートチャットボット」では、BERTの導入によって、チャットボットの構築を自動化することが実現可能になりました。

一般的に、チャットボットが回答を自動化するためには、質問に対する回答のロジックの設定などを行わなければなりません。そのため、システムを稼働させるまでに多くの時間が必要だったのです。

しかし、BERTの活用によって、問い合わせ履歴をもとに構築していくことで、構築期間の圧縮や工数の削減が可能になります。なお、この「サポートチャットボット」を利用する場合には、導入先企業はプログラムの記述などの必要なく、システムを利用することができます。

【まとめ】BERTとは?

【まとめ】BERTとは
本記事では、BERTとは何か、その仕組みから活用事例までご紹介しました。

AIは様々なシーンで活用されはじめています。
その中でも特に自然言語処理技術の発展に注目が集まっています。

現時点で課題はあるものの、今後の技術の発展により、人間並みの自然言語理解に近づき、より多くの分野での応用が期待されます。

これからのBERTを用いた技術動向には目が離せませんね!!

この記事を呼んでいただき弊社での取り組みに興味を持っていただけた方は是非SNSのほうも確認していただけると幸いです。

Twitter https://twitter.com/YCrystalmethod

Facebook https://www.facebook.com/クリスタルメソッド株式会社-100971778872865/