論文紹介:Information Extraction over Structured Data: Question Answering with Freebase
概要
FreeBase知識ベースを用いた質問応答は、open domain semantic parsingの発展のたたき台として注目されている。既存の多くの手法では、質問文を洗練された意味表現に直してから知識ベース中の回答候補と照応させている。これに対して、本論文(Yao et al 2014)では比較的率直な情報抽出技術をWebスケールで適用した手法を用いている。
タスク
ファクトイド質問に対して、FreeBaseを探索して答えを出す。データは(Berant et al.2013)で集められたWEBQUESTIONSを使う。これはGoogle Suggestサービスを利用して集められた5810個の質問文にAmazon Mechanical Turkで(複数の)答えを付与したコーパスである。答えの中の少なくともひとつはFreeBaseのノードを含んでいる。以下はコーパスの中の問題の例である。
Q: What is the name of justin bieber brother → A: Jaxon Beber
質問文は文法的に誤りがあることに注意する。実際的な質問応答システムはこのようなノイズにも対処できなければならない。
手法
既存手法では質問文を洗練された意味表現に変換してから知識ベースに照応していた。提案手法では、まずFreeBaseから大雑把に回答候補を抽出し、次に各回答候補が正解であるかどうかをロジスティック回帰により判別する。候補ごとに独立に判別を行うのは、質問に対する答えが複数存在する場合があるからである。
処理の流れ
人間がジャスティン・ビーバーの兄弟の名前は何かという質問の答えを探しだす場合、まずJustin Bieberで検索をかける。すると、FreeBaseは一種の意味ネットワークであるため、Justin Bieberのノードから出るリンクとリンクのもう一方のノードの一覧が表示される。この、Justin Bieberのノードを中心とする部分グラフ(FreeBaseトピックグラフ)から、siblingというリンクを辿り、正しい答えであるJaxon Bieberを見つけることができる。提案手法はこの過程をモデルにしている。以下に処理の流れをスッテプごとに示す:
①質問文を依存構造木に変換する(論文では、依存構造木は質問に答えるための有用な情報を多く含むと議論されている)
②依存構造木のノードにラベル付けする。ラベルはquestion featureと呼ばれ、question word, question verb, question focus, question topicの4種類がある:
- question word (qword): what, who, whom, how, when, where, which, why, whoseなどの疑問代名詞
- question verb (qverb): is/play/takeなど質問文の主動詞
- question focus (qverb): name/money/timeなど質問の答えが属するタイプの手がかり。例えば、What is the place of ~という質問文ならば、qfocus = placeとなる
- question topic (qtopic): FreeBaseでサーチを行うときのキーワードとなる単語。論文では単純に、固有表現を抽出してqtopicとしている。
③依存構造木を②で決められたラベルをもとに質問素性グラフと呼ばれる構造に変換する。具体的には、処理は以下の通り:
- もしもノードの単語がquestion featureを持つならば、what → qword=whatのように変換する
- (1の特殊な場合)もしもqtopicのquestion featureを持つ単語が固有表現であるならば、その単語を固有表現のタイプに変換する。例えば、bieber → qtopic=pesonのように変換する
- 前置詞、句読点、冠詞などのノードは除去する。
論文では、このステップ③によりステップ①で出来た依存構造木が変換される様子が図示されている。
④質問素性グラフからロジスティック回帰で使用される素性を取り出す。後述するように、この組成がそのまま使われるのではなく、FreeBaseのトピックグラフの素性と組み合わせて使われる。
⑤ステップ②でqtopicをラベル付された単語(トピック)を使って、FreeBaseに検索をかける。これによりそのトピックを中心ノードとする部分グラフが求められる。これはFreeBaseトピックグラフと呼ばれる。トピックグラフは複数あり得る。トピックとリンクで結ばれているノードが回答候補となる。
⑥トピックグラフのノードの素性が取り出される。素性は、ノードの属性およびトピックとの関係である。
⑦質問素性グラフの素性とトピックグラフのノードの素性の直積をとって、回答候補を評価するロジスティック回帰モデルの素性が作られる。
⑧ロジスティック回帰により、各回答候補が正解であるかどうかが判別される。
ロジスティック回帰モデルの重みパラメタはL1正規化を行った最尤法で求められる。L1正規化により重みのスパース性が促進され、約700万次元の素性ベクトルの要素のうち対応する重みが非ゼロであるものは3万個に抑えられた。
また、質問素性グラフから素性を取り出す際、FreeBaseの関係と自然言語の質問文とのマッピングを表す素性が付け加えられている。この素性は、大規模なClueWeb09コーパスの文からFreeBaseで関係を持つ2つのノードが含まれているものを取り出し、それらの文がFreeBaseにおける2ノードの関係を言及していると仮定して、確率 P(関係|質問文)を計算する。この確率をもとに素性が作られる。
実験結果
WEBQUESTIONSのうち、テストデータに選んだものを解いた結果は、精度38.8, リコール45.8, F値42.0となった。
参考文献