Research / 情報検索

DPRの原論文を読む 質問に合う文章をどう探すか

単語の一致に頼る検索では、言い換えた質問から答えを含む文章を探しにくい。DPRは質問と文章を別々のベクトルに変換し、公開質問応答データで検索精度を比較した。BM25との差と、社内検索へ移す際の条件を読む。

論文初公開(arXiv)
参照版
v1
TRAIL公開
  • DPRは、質問と文章を別々のモデルで数値の列に変え、近い文章を探す検索手法を検証した。
  • 複数の英語の公開質問応答データで、単語の一致を使うBM25との検索精度を比較した。
  • 検索候補に答えが含まれる割合と、最終的に正しく答えられる割合は分けて読む必要がある。

何を確かめた研究か

質問に答えるAIが大量の文書を使うとき、最初の難所は答えを含む文章を見つけることだ。従来のBM25などは質問と文章に共通する単語を手がかりにする。固有名詞には有効でも、質問と文章で表現が違うと見落とす場合がある。DPRの原論文は、質問と文章を意味の近さを表すベクトルに変換し、文章検索を改善できるか調べた。

ここでの対象は、公開文書から短い事実の答えを探すオープンドメイン質問応答である。検索で候補を絞り、その後に読解モデルが答えの範囲を選ぶ。論文は検索器を強くすることが、最終的な質問応答にもつながるかを二段階で確かめる。

どう検証したか

DPRは質問用と文章用に別々のBERTを置き、それぞれの出力をベクトルにする。質問と正解文章の組を近づけ、無関係な文章を遠ざけるよう学習する。文章側のベクトルは事前に作って索引に入れられるため、質問のたびに全文をBERTへ通す必要はない。論文ではWikipediaを分割した約2100万の文章を検索対象にした。

評価ではNatural Questions、TriviaQAなど五つのデータセットを使い、LuceneによるBM25と比較した。指標の一つは、上位20件または100件に答えを含む文章が入った質問の割合だ。これは回答文の正しさそのものではない。著者らは検索結果を読解モデルにも渡し、最終回答の一致率を別に測った。

何が分かったか

論文の表2では、SQuADを除く評価データでDPRの検索精度がBM25を上回った。Natural Questionsの上位20件では、論文の比較条件でDPRが78.4%、BM25が59.1%だった。ただし、SQuADでは同じ傾向ではなく、どんな質問でも密なベクトル検索が勝つわけではない。

BM25とDPRの点数を組み合わせると改善する場合もあった。言い換えに強い検索と、語の一致を拾う検索には補い合う面がある。最終回答の評価でも検索改善が役立つ結果を示すが、検索の正解率をそのまま回答の正解率として扱うことはできない。

限界は何か

DPRは質問と正しい文章の組を使って訓練している。学習済みの検索器を、正解例が乏しい別分野の文書に移した場合の性能は、この実験から保証できない。また、Wikipedia中心の英語の事実質問と、規程の解釈や長い手順書からの回答は違う課題だ。

ベクトル索引には文書の更新や保存の費用もかかる。論文中の検索速度は使用した機材と索引に依存する。社内文書では権限の違い、古い版の混在、文書の分割位置も検索結果に影響しうるが、この論文はそれらの運用条件を検証していない。

仕事との接点

社内の質問応答を改善するなら、まず「正しい文書が上位候補に入ったか」と「候補を読んだAIが正しく答えたか」を別々に記録する。固有名詞の多い質問と言い換えの多い質問を分け、BM25、ベクトル検索、両者の組み合わせを同じ資料で比較する。これはTRAIL編集部の提案であり、原論文が日本語の社内文書での優位を実証したわけではない。

01

出典

Research の一覧へ戻る