SeekAnserでクイズに答える
窓の森で紹介されていましたが、SeekAnserという日本語のクイズに答えるJavaプログラムが公開されています。
【レビュー】形態素解析とWeb検索を組み合わせて日本語のクイズを解くプログラム「SeekAnser」 - 窓の杜
Project Web of SeekAnser -日本語クイズ解答プログラム- on OSDN Web space
クイズに答えるというと、TVクイズ王に勝ったIBMのWatsonが大変話題になりました。なお、Watsonの技術は医療診断に応用されるそうです。
クイズ番組に挑戦した IBM Watson - Japan
http://www-06.ibm.com/jp/press/2011/10/2701.html
質問応答システムは、評価型ワークショップのTRECのQAタスクや、NTCIRのQACなどを通じて盛んに研究されてきました。書籍ではコロナ社から出ている「質問応答システム」に比較的最近の話題まで分かりやすくまとまっていました。
- 作者: 磯崎秀樹,東中竜一郎,永田昌明,加藤恒昭,奥村学
- 出版社/メーカー: コロナ社
- 発売日: 2009/07/28
- メディア: 単行本(ソフトカバー)
- 購入: 2人 クリック: 30回
- この商品を含むブログ (4件) を見る
さて、SeekAnserですが、SlothLibを用いて、ChaSenの形態素解析やYahoo!ウェブ検索APIを利用しているようです。ChaSenをインストールした環境で、必要に応じて設定ファイルを若干変更して、コマンドラインから実行すると、ウィンドウが表示されます。クイズの文章を入力してOKボタンを押すと、ターミナル画面に解析状況が表示されて、しばらくすると結果がウィンドウに表示されます。
試しに、「有名な子役は誰でしょうか。」という問いを入力して、候補の数を最大の5に設定して実行したところ、次のような答えが返ってきました。
答えは
候補1 : ハーレイ
候補2 : バイト
候補3 : 加藤清史
候補4 : 破局
候補5 : 破局
かもしれません。
ハーレイは、映画『シックス・センス』で有名なハーレイ・ジョエル・オスメントくんですね。質問によってはエラーを起こして答えが返ってこないこともありますが、上の記事で例に挙げられている「初代総理大臣は誰ですか」に対して「伊藤博文」、「美しいのは誰ですか」に「仲間由紀恵」を答えるなど、なかなか頑張っています。固定の知識源を使っている訳ではないので、日によって答えが変わることもあります。
作者は高校2年生で、夏休みの課題研究として作ったそうです。すごいものを作るなあと感動したのでMacPorts化してみました。次のようにしてお試しください。
$ sudo port selfupdate
$ sudo port install seekanser
$ seekanser