GoogleのTable Parser(TAPAS)をオープンソース化した。それは、表形式のデータから自然言語の質問に答えることができるディープラーニングシステムである。TAPASはWikipediaから抽出された620万のテーブルでトレーニングされ、いくつかのベンチマークで最先端のパフォーマンスに匹敵する、あるいは、それらのパフォーマンスを超えている。
共同制作者のThomas Müller氏が最近のブログ投稿で取り組みの概要を説明した。スポーツの結果や財務統計などの数値データの表が与えられると、TAPASは、表から推測できる事実に関する自然言語の質問に答えるように設計されている。たとえば、スポーツ選手権のリストが与えられた場合、TAPASは「どのチームが最も選手権を獲得したか?」に答えることができる。この問題に対する以前のソリューションは、自然言語クエリをSQLなどのソフトウェアクエリ言語に変換し、データテーブルで実行するものであったが、それとは対照的に、TAPASはデータを直接操作することを学習し、一般的な質問・応答ベンチマークで以前のモデルよりも優れている。 MicrosoftのSequential Question Answering(SQA)で12ポイント以上、StanfordのWikiTableQuestions(WTQ)で4ポイント以上優れている。
以前の多くのAIシステムは、セマンティック解析と呼ばれるアプローチで表形式のデータからの質問に答える問題を解決する。これは、自然言語の質問を「論理形式」に変換する。つまり、人間の言語をプログラミング言語のステートメントに変換する。表形式のデータに関する質問の場合、論理形式は通常、SQLなどのクエリ言語である。MicrosoftとSalesforceの両者がこのようなシステムを開発したが、Googleチームによると、セマンティック解析の欠点の1つは、すべての教師あり学習と同様に、手動でラベル付けされたデータセットが必要になることである。この場合、自然言語の質問を論理形式にマッピングするものである。Googleの洞察は、論理形式という中間ステップをスキップすることであった。TAPASは代わりに「テーブルセルのサブセットと可能な集計操作」を直接出力する。
ソース: https://ai.googleblog.com/2020/04/using-neural-networks-to-find-answers.html
TAPASは、GoogleのNLPシステムであるBERTに基づいている。BERTは、自然言語の質問に対する自然言語の回答を提供するようにトレーニングできる。そのシナリオでは、BERTの入力トレーニングデータには、質問と回答の両方が含まれている。数値データで質問に答えるTAPASの場合、トレーニング入力には、質問とテーブルの数値データが含まれ、単一の長いシーケンスにフラット化される。テーブルをフラット化するとデータ構造に関する情報が失われるため、入力には、各セルの行と列のインデックス、および列内のセルのランク値をエンコードする埋め込みも含まれる。モデルには2セットの出力がある。まず、テーブルの各セルについて、セルが回答の一部である確率スコアがある。0.5より大きい確率のセルはすべて、最終結果に含まれる。2番目は、SUMやAVERAGEなどの集計操作の選択である(集計が不要な場合はNONE)。
TAPASは、Wikipediaから抽出された620万のデータテーブルで事前トレーニングされた。トレーニングには、記事のタイトルから抽出された関連する質問、記事の説明、表のキャプション、その他の関連テキストスニペットも使われた。次に、特定のベンチマークのデータセットでモデルを微調整する。Googleチームは、SQA、WTQ、SalesforceのWikiSQLの3つのベンチマークデータセットを使用した。SQAの場合、TAPASは67.2%の精度を達成し、以前の最先端技術より12ポイント向上した。WTQでは、48.8%の精度を達成し、以前のシステムよりも4ポイント改善された。WikiSQLでは、TAPASのスコアは83.6%で、最先端のスコア83.9%に非常に近いものである。
Googleのトレーニングコードと事前トレーニング済みモデルは、ColabチュートリアルとともにGithubで入手できる。