最終更新日:
みなさん、「よくある質問」の欄から自分に合った質問を見つけられないことってありませんか?マニュアルから自分の疑問にあった項目を見つけ出すのも面倒ですよね。それでもって、コールセンタに問い合わせてみたけど、混雑でつながるまでに時間がかかったりして…。
今回は、そんな経験はもううんざりだ!というあなたに向けて、
「ある文書に関しての質問を投げかけると、その場ですぐにぴったりの返答をしてくれる」
という夢のような実現の先がけとなる、“機械読解”技術について紹介します!
機械読解技術とは
みなさんの中で、“機械読解”という言葉を聞いたことがある方はどれくらいいらっしゃるでしょうか?その一方で、最近流行りのAIと一緒に、“自然言語処理”という言葉をよく耳にする方は多いのではないかと思います。
“自然言語処理”とは、「私たち人間が日常的に使用する自然言語を機械に処理させること」です。
この自然言語処理を行うための基本技術のひとつに属するのが、今回紹介する“機械読解”です。これは、構文解析や意味解析などのような要素技術を組み合わせた複合技術となっています。
どんな技術なの?
では、“機械読解技術”とは・・・
「人工知能が人間と同じように文章を読んだり、質問に回答したりすること」
これは、機械に文書とその内容に関する質問を与えたとき、その文書の中から答えとしてふさわしいと思われる範囲を抽出してくる、という技術のことです。国語の分野で問われる文章読解力に当たります。
実は、この技術の習得は機械にとって多くの課題を抱えています。なぜなら、この技術は文章のつながりや問題の意味を解釈し、適切な回答箇所を抜き出すという複数の能力の組み合わせをタスクとしているからです。
このような技術の実現に向けて、GoogleやIBM、サムスンやテルアビブ大学などの様々な研究機関や大学が人間の能力を超えた機械学習モデルの構築に精を出しています。
現在の精度は?
この技術における読解力精度の指標として、スタンフォード大学が提供するSQuADと呼ばれるデータセットが用いられています。SQuADとは、「The Stanford Question Answering Dataset」の略称で、Wikipediaの記事に関する設問と回答のペアで構成されており、この設問を機械に投げかけたとき、用意された回答と一致した抽出ができるか、ということを計っています。現在、このSQuADを受けた人間の最高スコアは「82.304」となっています。
では、現在この技術がどれだけの精度を上げているか、について主な3社を挙げて紹介します。
Microsoft
今年の1月3日にMicrosoft Reserch Asiaは、自社のモデルが回答の完全一致のスコア「82.650」を達成し、人間のスコアを上回ったことを発表しました。これによって、人間を超える機械読解力を持つAIが誕生したこととなりました。
現在は人間らしい自然な会話を目指して、「連続した2つの質問が同じ話題であることの認識」や「複数の文章から抽出した情報を取り入れた回答」などの実現に向けた研究を進めています。
アリババ
今年の1月5日に中国の電子商取引企業Alibabaは、自社のモデルが回答の完全一致のスコア「82.440」を達成したことを発表しました。こちらも、人間を超えたスコアを挙げており、画期的な成果となりました。
このモデルは、「Hierarchical Attention Network」という手法をベースとしています。これは、「段落、文、単語」の順に注目して文書の階層的な構造を捉えていくもので、これによって、すべての単語を一つ一つみていくよりも、文書の意味を捉えるために必要最低限の単語のみに注目することができ、解答を含む可能性のあるフレーズをうまく識別することにつながりました。
NTT
NTTでは、以上のように人間に匹敵する精度に達している機械読解技術をさらに発展させた、“大規模機械読解”に取り組んでいます。
これまで紹介してきた機械読解技術では、回答が含まれている一つのテキストに対して質問を投げかけると回答となる該当範囲テキストをそのまま抽出してくるものであり、回答を含んでいないテキストも加えた複数のテキスト集合に対しての処理は行うことができませんでした。
この欠点を解消するために、「非構造化した複数テキストから質問に対する回答となるパッセージを含んだテキストの候補だけを抜粋し(情報検索)、その抜粋されたテキストのみから回答箇所をそれぞれ抽出する(機械読解)」という、情報検索と機械読解の2つの技術を組み合わせた、“大規模機械読解”を開発しました。
これによって、回答を含まないテキストに関する質問に対しても処理を行うことが可能になり、質問にふさわしい回答のセットが用意されていないことで「わからない」と返答されるのではなく、質問にふさわしい回答が含まれるテキストが存在しないことによって「わからない」と返答されるような仕組みが実現されました。
現在の課題
- SQuADによる狭い範囲の抽出
SQuADを使ったテストでは狭い範囲の抽出が行われるため、機械が人間のスコアを超えることはそこまで困難ではありません。より実用化に向けた開発のためには、広範囲のトピックに関する大量のテキスト集合に対して正確に回答抽出が行えるようにすることが望まれています。
- 画像の内容説明
現在、機械にとって犬か猫かといった識別は人間よりも高精度で行うことができます。一方で、画像の内容を言葉で説明するといった能力は、人間よりもはるかに劣っています。今回の機械読解の検証では、入力文としてテキストのみに注目したが、今後画像に関する質問に対応するためには、意味解析により力を入れていく必要があると私は考えています。
- 話し言葉の理解
同じ内容を問う質問をする際に、文末や単語を変えるだけでも数多くの質問文を作成することができます。特に、対話の中で行われる質問は、人によって生じる言葉の細かいニュアンスを汲み取る必要性があり、機械にとってこの“言葉の理解”を行うことが大きな課題となっているようです。
将来どのように役立つの?
では、このような技術が発展することによって、将来的にどのような実現につながるのかについて説明します。
- 質問と回答のペア作成の省略
テキスト中に回答があるものに関する質問に対して正しい回答を抽出できる!
- テキストに回答がない質問に対応可能
「その質問はわかりません」ではなく、「回答なし」として返答される!
「その質問はわかりません」と返答されるのは、その質問に対する回答のセットが用意されていないため。つまり、テキスト中に回答が存在するものに対する質問であっても、その質問と回答のセットが用意されていなければ「その質問はわかりません」と返答されてしまいます。一方で、「回答なし」はテキストにきちんと検索をかけた結果、テキスト中に回答がないということを示しています。
- 大規模テキストを用意するだけでよい
マニュアルなどの大量の文字が書かれたテキストを非構造化テキストに分割した集合をつくり、大規模機械読解に通すだけ!
これだけで、人間の代わりに深層学習を用いた高度な検索をかけて、正しい回答をしてくれます。
- 質問をして、正しい回答を受け取る、という自然な対話の成立
チャットボットなどに適用させることで、気軽に質問応答ができる!
これによって、ユーザがコールセンタへの問い合わせ、メールでのやり取りなどを行う必要がなくなり、質問をする側と答える側両者ともに手間が省け、効率の向上が期待できます。
おわりに
みなさん、“機械読解”について興味をもっていただけたでしょうか?
まだまだ課題は残っており実用化されていない段階ですが、このような素晴らしい技術が開発されたことによって、私たちがチャットボットと今よりもっと自然な会話ができるのかもしれない、という期待がもてますね。いずれは、人間に尋ねるよりもチャットボットに質問を投げかけたほうが精度が良くなってしまうのかも…?
参考
理系の大学院生として、自然言語に関する研究をしています。現在は、主に言葉の意味について興味があり、AINOWでは言語に関することを記事にしていきます。普段は美味しいものを食べたり写真を撮ったりすることが好きで東京の様々なところを散策中。