True Knowledge: Open-Domain Question Answering Using Structured Knowledge and Inference
- journal: AI Magazine2010 (published by AAAI)
- author: William Tunstall-Peadoe
質問応答システムTrue Knowledgeの論文.Eviっていうとわかる人が多いんだろうか(私は恥ずかしながら両方知らなかった). 著者はTrue KnowledgeのfounderのWilliam氏.
概要
True Knowledgeの全体像を説明している.昔ながらのシステム構想で作られた本格的な質問応答システム(だと思う). いくつかのコンポーネントをAPIとして本体から切り出している(もはや本体とはな状況だが)のもウリの1つらしい.
知識表現
KBでは様々な知識をグラフ構造を用いて表現している. また,ちゃんと説明できる自信がないので気になる人は論文を読んでいただきたいのだが,知識の表現にオントロジー的アプローチを採用している(論文のfig4).
推論
KBを構築するにあたって,あらゆる知識をKBに格納していくとKBが非常に重たくなってしまう.そのため,基本的な知識によって推論することが可能な知識の一部はKBには格納されておらず,推論という枠組みで動的に生成される. 例えば,
\begin{align} \mbox{(Big Ben is in London.)}, \mbox{(London is in UK.)} \to \mbox{Big Ben is in UK.} \end{align}
といった具合.推論をどの程度行うかというのはシステムによって異なっていて,システムによってはパフォーマンスを上げるために上記のような知識もすべてKBに格納していることもあるそうだ(推論にはある程度時間がかかる).
推論は,generatorと呼ばれる規則の集合を用いて行われる.True Knowledgeでは現在1500程度の推論規則が使われているらしい.
また,Computationと呼ばれる推論もサポートしている(例えば,1863年の3日目は何曜日?といった質問に対して金曜日と解答する際に行われる演算機構). こちらはSmart Generatorと呼ばれ,別のWebサービスとして独立しているらしい.
翻訳
ユーザから送られてくる質問文を知識ベースに対して投入するクエリに変換するコンポーネント. テンプレートの集合によって実装しているとあるので書き換え規則とアライメントを使った手法なのかな.
知識獲得
知識資源としては,いろいろな構造化データベース(is 何)はKBにインポートしていて,異なる分野をまたぐ知識を提供するためにFreebaseも使っている.
また,データとしてはWikipediaのデータとユーザが追加するデータも利用している.フィードバックを活用できる枠組みが確立しているということは検索エンジンや質問応答システムを構築するにあたって非常に良いことだろうなぁと思った.
NLP技術を活用した知識獲得も同様に行っている(Sentence extraction, Simplification, Translation, Bootstraping(?)).
とここまで読んだところで,手法に関する記載はあまりない印象を受けたので打ち切り. こういう動かせるレベルのシステムを作れるのは本当にすごいなぁ.