「質問の解析」→「解候補の生成」→「解答の根拠探し」→「確信度の計算」
構文解析の上,照応解析も行っているとのこと.
日本語の解析で使えそうなツールについて考えてみる
http://developer.yahoo.co.jp/webapi/jlp/
紹介記事
$appId = 'アプリケーションID'; $sentence = '初めまして。僕の名前はバフ。 Yahooデベロッパーネットワークの構文 解析を使ってみるよ。これはテストの文章だよ。'; $queryArr = array( 'appid' => $appId, 'sentence' => $sentence ); $query = http_build_query($queryArr); $requestUri = 'http://jlp.yahooapis.jp/MAService/V1/parse?' . $query; $resultXml = @simplexml_load_file($requestUri); var_dump ($resultXml->ma_result->word_list);
object(SimpleXMLElement)[4] public 'word' => array 0 => object(SimpleXMLElement)[3] public 'surface' => string '初めまして' (length=15) public 'reading' => string 'はじめまして' (length=18) public 'pos' => string '感動詞' (length=9) 1 => object(SimpleXMLElement)[5] public 'surface' => string '。' (length=3) public 'reading' => string '。' (length=3) public 'pos' => string '特殊' (length=6) 2 => object(SimpleXMLElement)[6] public 'surface' => string '僕' (length=3) public 'reading' => string 'ぼく' (length=6) public 'pos' => string '名詞' (length=6) 3 => object(SimpleXMLElement)[7] public 'surface' => string 'の' (length=3) public 'reading' => string 'の' (length=3) public 'pos' => string '助詞' (length=6) 4 => object(SimpleXMLElement)[8] public 'surface' => string '名前' (length=6) public 'reading' => string 'なまえ' (length=9) public 'pos' => string '名詞' (length=6) 5 => object(SimpleXMLElement)[9] public 'surface' => string 'は' (length=3) public 'reading' => string 'は' (length=3) public 'pos' => string '助詞' (length=6)
質問に含まれる語との共起語などを,解候補にしているよう.一般には,Aprioriアルゴリズムが使われるが,組み合わせ数が多くなると,組み合わせ爆発を起こしてしまう.どの程度の組み合わせまで見て,解候補を選んでいるのか興味のあるところ.また,単に共起だけを見ているのか,係り受けまで見て,重みを設定したりしているのかも興味のあるところ
解候補の語句を問題文の該当箇所に埋め込んだものと同じ内容が,情報源のどこかに書かれているかを探すとのこと.ベクトル空間モデル?合致のさせ方を「観点」と呼んでおり,この観点を複数用意している.ここが研究開発の核であったとのこと.後の例では,「型が同じである(県とか市とか)」や,「条件の一部が一致(最も西にある)」などが観点として紹介されていたが,ややドメイン依存である上,正確な構文解析も必要そうで,ちょっと疑問.ここで,Power7アーキテクチャの2,880コアを用いた並列処理を行ったとのこと.
「観点」に重みを付け,確信度を求める.重みは,機械学習(ロジスティック回帰)で行ったとのこと.回答ボタンは,最大の確信度を持った解候補が,閾値を越えたときとなるとのこと.
ニュース記事,百科事典,シェイクスピアの戯曲,聖書,歌の歌詞など シェイクスピアの戯曲,聖書ってところが,いかにも欧米人らしい. 最終的には70GBとのこと.メモリに載せられる量と書いてあるところが,うらやましい. うちも大量にメモリの乗ったマシンを保有しているが,64GB超というのはさすがに...
事前に構文解析し関係抽出を行っておく.さすがに,リアルタイムで生のテキストを解析するようなことは行ってないらしい.私の研究も,この処理(情報抽出)を行っており,それゆえワトソンには非常に関心がある.
http://e-biz.cocolog-nifty.com/blog/2011/06/ibm-watson-4da7.html
・金山 博,武田浩一:Watson:クイズ番組に挑戦する質問応答システム,情報処理,Vol.52, No.7, pp.840-849, 2011.
・S.K. Card: The Psychology of Human Computer Interaction, Lawrence Erlbaum Associates, 1983