横浜の情報文化センターで開催されたCool Chips 16において、IBMの東京研究所の金山 博氏が「Why and how "Watson" answered Questions on the TV Quiz Show」と題する講演を行った。

日本でも最近、将棋ソフトとプロ棋士が対戦する電王戦で、将棋ソフトが3勝1敗1分けと勝利するというニュースがあったが、2011年2月にIBMのWatsonシステムがJeopardy!というアメリカでは人気の高いクイズ番組で、過去最強の2人の人間のチャンピオンに勝ったというニュースは広く報じられた。

Jeopardy!では、3人の回答者に対して6つのカテゴリの問題が出される。それぞれのカテゴリに200ドルから1000ドルの問題があり、前の問題を正解した回答者が次の問題を選ぶ。問題を選ぶと、問題の内容が表示され、答えが分かった回答者はボタンを押し、最初にボタンを押した回答者が答え、正解ならその問題の金額を獲得できる。これを続けて、一番多くの金額を獲得した回答者が勝者となる。

文章の説明では分かりにくいが、You TubeにWatsonが過去のチャンピオンを破ったときの動画があるので、興味のある方は参照して戴きたい。

1997年にIBMのDeep Blueがチェスの世界チャンピオンを破って以来、IBM研究所は、それに続くグランドチャレンジのテーマを探してきたという。Jeopardy!で人間に挑戦するWatsonというプロジェクトは2006年ころに開始されたが、IBMとしてできるかどうか自信が持てなかったので、3年ほどは秘密裡に研究が進められたという。

IBMは中央研究所ともいえるWatson研究所をはじめとして世界中に12の研究所を持っているが、Watsonの研究はWatson研究所で始まり、その後、東京、中国、イスラエルのハイファ研究所からも研究者が参加した。この講演を行った金山氏は自然言語処理の研究者で、東京研究所からWatsonプロジェクトに参加した1人である。

Cool Chips 16でWatsonについて講演するIBM東京研究所の金山氏

Jeopardy!では、問題を選ぶと問題の文章がスクリーンに表示される。このタイミングで、問題のテキストがWatsonシステムに送られる。番組では司会者が問題を読み上げるが、人間の回答者も、それを聞いてから考えるわけではなく、スクリーンを見て考え始めるので、これはフェアである。

Watsonは問題をテキストで受け取り、答えの候補を挙げ、それが正しいかどうかの証拠を探す。十分な証拠があり、答えに確信がもてるとボタンを押して答えを述べる。(出典:Cool Chips 16における金山氏の講演資料)

一方、Watsonは司会者や他の回答者の声を聞かないし、問題文のスクリーンも読まない。当然であるが、インターネットに繋いで検索を行うということもやっていない。なお、Watsonの中では、知識は検索が容易な専用の形式で格納しており、インターネットの検索では時間が掛りすぎて役にたたないとのことである。

そして、Watsonは人間のような感情や直感は持っていない。

Jeoperdy!の問題は、次の図の例のようにかなり複雑な英文で出題される。この英文を解析して、何を答えるべきか、代名詞のitは何を指すかなどを導き出す。そして、答えが満たすべき条件を抽出する。

「マルタ語は多くの単語をイタリア語から借用しているが、マルタ語は"このセム語系の言語"から発展した」という問題で、"このセム語系の言語"は何であるかを答える。この英文から、何を答えるべきか、代名詞のitは何を指すかを解析し、答えが満たすべき条件を抽出する (出典:Cool Chips 16における金山氏の講演資料)

この例は「マルタ語は多くの単語をイタリア語から借用しているが、この言語は"このセム語系の言語"から発展した」というのが問題で、文章の解析から"このセム語系の言語"が何であるかを問う問題であり、itはマルタ語を指すということを導き出す。そして、答えが満たすべき条件として、「セム語系の言語の1つ」、「マルタ語はこの言語から発展した」を導き出す。

正解はアラビア語で、図の右下のグラフのように、Watsonが答えとして検討した上位の3つはアラビア語、シシリア語、アラム語であるが、答えの確からしさはアラビア語が94%であるのに対して他の2つの言語は14%、11%と低い。結果として、"What is Arabic?"と答える。そして、縦棒で示された確からしさを超える答えが見つからない場合は、Watsonはボタンを押さない。

なお、Jeopardy!の問題は、解答となる文章を示して、質問文を答えるという形式になっているので、このような疑問文が答えになる。

WatsonはWikipedia、ニュース、聖書、歌詞など2億ページの入力から知識を抽出し、専用の形式でメモリに格納している。この知識を使って答えの候補を選択する。そして、2880個のPOWER7コアで並列に、それぞれの候補と一致するような証拠がメモリに格納されている知識の中に存在するかどうかを探す。

Watsonは、問題文から問題のカテゴリや手がかりを見つけ、問題文を解析して答えの候補を見つけ出す。そして、候補の答えの確からしさの証拠を探し、それぞれの候補のスコアを計算する。Wikipedia、ニュース、聖書、歌詞などから抽出された知識はメモリに格納されており、証拠さがしは2880個のPOWER7コアで並列に実行する (出典:Cool Chips 16における金山氏の講演資料)

しかし、これは一筋縄では行かない。