ワトソン処理手順

「質問の解析」→「解候補の生成」→「解答の根拠探し」→「確信度の計算」

「質問の解析」

構文解析の上,照応解析も行っているとのこと.

日本語の解析で使えそうなツールについて考えてみる

Yahooデベロッパーネットワーク「日本語形態素解析API」

http://developer.yahoo.co.jp/webapi/jlp/

紹介記事

http://9jp.info/archives/9451

PHPによる問い合わせコード

$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);

PHPによる問い合わせ結果

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

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2011-08-27 (土) 10:50:54 (3713d)