概要

おことわり

本記事中の記載内容は、IBM Watsonがクイズ番組「Jeopardy!」に挑戦した2011年の初掲載当時のものであり、現在とは異なります。
(Watson Developer Cloudに関する部分を除く)

歴史的な1日となった2011年2月16日

2011年2月16日(米国時間)、コンピューターの歴史に新たな1ページが加わりました。IBMリサーチの4年間にわたる研究成果である質問応答(QA)システム「IBM Watson(以下ワトソン)」が、米国の人気クイズ番組「Jeopardy!」(以下「ジョパディ!」)に挑戦し、2ゲームを通じて、ワトソンが最高金額を獲得しました。IBMは賞金100万ドルの全額を慈善事業に寄付します。ワトソンは研究者の英知の結集でもあり、「ジョパディ!」の勝者は「人間」である、と出場者たちは今回の対戦を締めくくっています。

ワトソンの誕生

ワトソンは、質問応答技術の更なる向上を目的に、自然言語処理技術をさらに進化させることを目的に設計されました。「ジョパディ!」で出題されるバラエティーに富んだ複雑な問題に対して、100万冊の本を読むのに相当する自然言語で書かれた情報の断片を分析し、短時間で最も適した解答を導き出す分析コンピューティング・システムです。この研究開発プロジェクトには、IBM東京基礎研究所からも2名の研究者が参加し、グローバルの技術力を結集して取り組んできました。

「ジョパディ!」への挑戦の意義

「ジョパディ!」は、歴史、文学から科学など幅広いジャンルを扱うクイズ番組として全米で親しまれています。出場者は短時間のうちに正確な解答を返すために、質問に含まれる微妙な意味、風刺や謎掛けなどの複雑な要素の分析をしなければなりません。本来、人間とは異なり、自然言語を正確に理解することのできないコンピューターにとっては大きな挑戦であり、質問応答技術の進歩に貢献できる格好のチャンスでもありました。

テクノロジーのイノベーション

ワトソンは、システム設計と分析において技術を進歩させました。瞬時に複雑な質問文を解析して正しい解答を導かねばならないため、ワトソンのソフトウェアは、大量のタスクを処理できるよう最適化されたIBMのPOWER7サーバーで動作しました。このシステムには、リアルタイムで情報を分析しながら莫大な量の並列タスクとデータを処理するという特殊な要求を満たすため、独自の技術が数多く取り入れられていました。ワトソンは、Linuxが稼働する「IBM Power 750サーバー」のラック10本分、総メモリー容量15TB、総プロセッサー・コア数は2,880個で構成されており、インターネットには接続されていない完全に自己完結したシステムでした。

今回の成果を実社会へ

ワトソンの研究開発プロジェクトは、非構造データ分析、自然言語処理、ワークロード最適化システムの設計分野におけるテクノロジーを前進させました。ワトソンを支える技術は、今後より迅速で正確な医療診断支援、潜在的な薬物間相互作用の検査、弁護士や裁判官による過去の判例の参照、金融分野の仮説シナリオと法令順守など、さまざまな分野への応用が期待されています。IBMのチャレンジはこれからも続きます。この壮大なチャレンジは、私たち人類の生活や社会、地球を真に豊かに、よりスマートなものにするための支援につながると強く信じているからです。

研究員が答えるWatson Q&A

IBMの研究員に寄せられた質問の中で特に多くいただいた質問と、それらに対するIBM研究員の回答をご紹介します。

IBM Dayにおける講演ビデオ(2011年5月12日 東京大学にて開催)

2011年2月14-16日に米国の人気TV番組ジョパディ!に登場したIBMの質問応答システムWatsonについて、Watson開発プロジェクトにも参加した東京基礎研究所の武田浩一研究員が紹介しています。

IBM Dayにおける講演ビデオ 前編
IBM Dayにおける講演ビデオ 後編

Q1.Watsonが苦戦した問題や出題形式の一例を教えてください。

A.例えば、「立っている状態で羽目板を見るためにはこの方向を見なければなりません」など、それについて書かれた文献が存在しない、日常的な知識の解釈を要求されるような問題には苦戦を強いられました。

また、「この発明家の親戚は彼のことを、「沸騰したやかんを1時間眺め続けるような子」と表現しました」のような、関連性があまりない単語を含む文を解析したり関連付けたりしなければ答えられない問題も苦手です。この問題の答えは「ジェームズ・ワット」ですが、彼には大勢親戚がいたかもしれませんし、中には「沸騰したやかんを眺め続けるような子」を別の言い方で表現した親戚もいたかもしれません。

Watsonはまず、可能性の高い発明家をリストアップし(数万人くらい見つけるかもしれません)、それぞれの親戚を全員挙げ、各自が発明家のことをどのように表現したか(「沸騰したやかんを眺めていたと」表現した親戚がいないか)を探し出します。Watsonはこのような一連の処理を行うのですが、数秒以内に確信度が高い答えを探し出すのは難しい場合もあります。


Q2.Watsonの開発の上で最も難しかった技術的課題は何ですか?

A.さまざまな角度から言語を解析するためのさまざまなアルゴリズムを独立に開発し、それらを組み合わせたり、比較したり、評価したり、改良したりといった作業をなるべく短期間で完了できるようにすることに苦労しました。

Watsonは自然言語を理解できる非常に画期的なコンピューターで、人間が毎日生活する中で知り得る大量の情報から必要な答えを見つけ出すことができます。Watsonを支える技術を活用して、人間は欲しい情報にマッチする情報を簡単に手に入れることができるようになるでしょう。


Q3.「スティーブンソンの『宝島』の悪役(答え:ロング・ジョン・シルバー)」という問題に答える際にWatsonが行う処理を順に解説してください。

A.Watsonは以下のステップで処理をおこないます。

ステップ1:問題文の論理的構造を理解するためにこの文を解析します。

Xが答えだとして、以下のような命題を考えます。

  • 悪役である(X)
  • 小説の悪役(X, スティーブンソンの『宝島』)
  • 所有格で修飾(スティーブンソン, 宝島)
  • 修飾(宝, 島)

ステップ2:意味的な仮説を生成します。

  • 島である(宝島)
  • 場所を意味する(宝島)
  • リゾートである(宝島)
  • 本である(宝島)
  • 映画である(宝島)
  • 人物である(スティーブンソン)
  • 組織名である(スティーブンソン)
  • 企業である(スティーブンソン)
  • 作家である(スティーブンソン)
  • 監督である(スティーブンソン)
  • 人物である(悪役)
  • 人物である(X)

ステップ3:語句、キーワードおよび推測した意味に基づいてさまざまな検索語句を作成します。

ステップ4:ステップ3のクエリーに対して返ってきた文節、ドキュメント、事実に基づいて何百もの答えを生成します。うまくいっていればこの中に「ロング・ジョン・シルバー」が含まれているはずです。

ステップ5:生成した答えのそれぞれについてさらに検索をかけて、それが答えである、もしくは答えではないという根拠を探し、確信度を算出します。

すると以下のような答えが導き出されます:

  • ロング・ジョン・シルバーは宝島のメイン・キャラクターである
  • 宝島の悪役はロング・ジョン・シルバーである
  • スティーブンソンの著書宝島は名作である
  • ロング・ジョン・シルバーは名悪役である
  • リチャード・ルイス・スティーブンソンの著書宝島に登場するキャラクターはどれも魅力的であるが、その中でもロング・ジョン・シルバーは特に魅力的である

ステップ6:根拠を生成することによって得て、さらに新たな仮説のスコアリングをします。

正しい答えの根拠となるのは以下のようなものです(なお、誤った答えの根拠となるのは、「スティーブンソン」、「宝」あるいは「島」に関連する別のキャラクター、人物、本などです)。

  • 「スティーブンソン」=「リチャード・ルイス・スティーブンソン」(この2つが同一人物を指す)
  • 「スティーブンソンによる」=「スティーブンソンの」(同義表現)
  • 「主要な登場人物」≒「悪役」

ステップ7:集めた根拠と確信度をつき合わせ、根拠の解析結果と見つかったすべての答えについて最終的な確信度を算出し、根拠と結びつけます。

Watsonの正答率は根拠の収集、分析および確信度算出アルゴリズムと、確信度を比較し組み合わせる機械学習に依存します。


Q4.Daily Doubleを引き当てるためのWatsonの戦略と、Daily Doubleと最終問題にいくら賭けるかをどのように計算しているのか教えてください。

A.Daily Doubleを引き当てるためのWatsonの戦略は人間と同じで、どのマスにDaily Doubleがあることが多いかを考慮して決定します。

賭け金については、答えの確信度、その時点での試合の状況(どれぐらいの差で勝っている/負けているか)、カテゴリーや前の問題の確信度、リスクの程度、一般的な人間の賭け方や賭け額などに基づいて計算します。繰り返しシミュレーションを行い、勝率を上げるために最適な賭け方をWatsonに学習させました。


Q5.ブザーの早押しに関してはWatsonの方が人間よりも有利だったように思います。番組とIBMの間で試合を公平に進めるための取り決めは行わなかったのですか?

A.番組とIBMの間で人間と機械で同等のゲーム装置を使うという取り決めを行いました。例えば、人間と同様にWatsonも物理的にブザーを押さなければならないなどのルールを設けました。そのためIBMはブザーを握り、物理的にボタンを押せるような装置を開発しました。プレイヤーは皆それぞれに得意/不得意があります。ジェニングス氏は他のプレイヤーに比べて早押しが得意で、彼が優秀な成績を収めることができたのは、言語理解能力、知識、戦略そしてスピードのバランスが優れているからです。これらの能力の1つでも欠けていればJeopardy!のチャンピオンにはなれないということは皆知っていることです。

また、人間と機械には同じ問題が同時に与えられ、その読み方や考え方、ゲームの進め方、ブザーの押し方には個性があったとはいえ、勝負は特定のプレイヤーに不当に有利な条件にならないように進められました。むしろ、人間のプレイヤーの方が耳で問題を聞けるため、ブザーを押せるようになるタイミングを推し量ることができるという点では有利です。人間のプレイヤーは問題文の読み上げが終わった時点で、Watsonよりもかなり早くブザーを押すことができます。つまり反応速度の点ではWatsonよりも人間の方が有利なのです。Watsonの早押し速度はゲームを通して安定していますが、ブザーを押す前に問題を正しく理解し、確信度の高い答えを計算して、ブザーを押すかどうかを判断し、他のプレイヤーよりも先に押すという一連の処理を行う必要があります。

問題文の言語は英語です。英語は、ラター氏とジェニングス氏の母国語は英語ですが、Watsonの母国語はそうではありません。Watsonは自然言語で出された問題を解析し、その問題が何を尋ねているのかを理解します。次に、書籍およそ100万冊分に相当するデータの中から2、3秒以内に正解を見つけ出し、見つけた答えの確信度と、答えを間違えて賞金を失うリスクとを秤にかけてブザーを押すかどうかを判断しなければなりません。自分が何を知っていて何を知らないのかを把握している人間と違い、Watsonは何千回もの演算を実行して初めて何を知っていて何を知らないかを把握できるため、機械にとっていかにハードルの高いチャンレンジであったかは想像できると思います。見つかった根拠に基づいて確信度を計算するという仕組みは、答えを提示するだけでなく、どのようにその答えにたどり着いたのか、なぜその答えが正しいと思うのかなどを人間が知ることができるため、ビジネスや人々の生活に非常に有益な新技術です。


Q6.Watsonのオペレーティング・システムとプログラミング言語を教えてください。

A.WatsonはLinux環境で稼働するラック10本分のIBM Power 750サーバーで構成されており、メモリー容量は15テラバイトで、2,880個のプロセッサー・コアを使用して1秒間に80兆回の浮動小数点数演算を実行できます。Watsonのプログラムは主にJavaで書かれていますが、C++やPrologで書かれているコードもかなりあり、コンポーネントはすべてUIMA(Unstructured Information Management Architecture)で実装、統合されています。

Watsonは最先端並列処理を行うことが可能で、同時におよそ100万もの演算を実行して複数の仮説を検証することができます。一般的なノートパソコンのプロセッサー・コア数は4個だとすると、同時に使えるのは2個が精一杯なのに対して、Watsonは2,880個ものコアを同時に動かすことができます。自然言語は同じ情報を何通りもの言い方で表現できるため、その解析は科学的に非常に困難な作業です。Watsonはデータを幾通りもの切り口で分析し、その結果を総合して比較します。IBM Power 750システムの並列処理機能によって、ワトソンは同時に何千もの解析タスクを実行し、3秒以内に最も確信度の高い答えを導き出すことができます。


Q7.Jeopardy!でのWatsonの成績は満足のいくものでしたか?結果は予想通りだったのでしょうか?

A.Jeopardy!でのWatsonの健闘ぶりには満足しています。米国の主要都市名に関する問題に対して、トロントと答えてしまったなど、一部の問題には正解できなかったものの、Jeopardy!でのクイズ問題を正しく理解し、ほとんどの問題に正解できたことで、コンピューターの自然言語解析技術を大きく飛躍させることができたと考えています。


Q8.Watsonをインターネット上で公開する計画はありますか?

A.今後、Watsonのようなクラウド・サービスが消費者向けに提供されるようになると考えていますし、既にWatsonの自然言語処理技術のクラウド版の開発に向けて研究活動を進めています。しかしながら、IBMは現在のところ、企業がサービス品質の向上に向けてデータをより有効に活用できるように支援する、企業向けのテクノロジーの開発に注力しています。

したがって、まずは企業に技術を提供し、その企業からユーザーにより良いサービスが提供されるようになると考えています。まずは医療分野でWatsonを支える技術を活用して、医師がより高品質な医療サービスを患者さんに提供できるように支援していきます。

以下のデータが参考になるでしょう:

  • 一次診療医が1人の患者に接する時間は通院1回あたり平均10.7~18.7分です。
  • また81%の医師が1ヶ月平均で5時間かそれ以下、または1週間に1時間超もの時間を費やして医学雑誌を読んでいます。
  • 15%の診断は間違っているか、完全な診断ではないと推定されています。

今日の医療業界は、限られた情報と時間の中で医師が診察を行うことによって治療の断片化や誤診を招き、医療費の増加だけでなく医療サービスの品質低下につながりかねない事態に陥っています。医師は大量の情報を素早く読んで理解し、有益なアドバイスを授けてくれるアシスタントを求めているのです。

以下のような分野への適用の可能性もあると思います。

  • 電力会社にWatsonを支える技術を応用することで、電力消費に関する知見を得られるようになります。Watsonを支える技術を応用して、スマート・メーターから取得したデータや、天気および過去のデータなどの詳細な情報を参照し、電力を有効利用する方法を知ることができるようになります。
  • 保険会社にWatsonを支える技術を応用することで、加入者は保険代理店から勧められた最適なプランに申し込むことができますし、代理店は保険に関連した法規制にスムーズに対応できるようになります。また保険の適用範囲について尋ねるだけで、加入者の保険規約や、その加入者が申し込んでいるその他の保険商品や、各保険の除外要件、加入証明書、付帯条件などの情報を入手することができます。
  • 旅行代理店にWatsonを支える技術を応用することで、お客様の興味、予算、渡航先の気温などの希望に基づいたプランをより簡単に提供できるようになります。Watsonを支える技術を応用して、何度も検索をかけなくても、プランを練る際にホテル、渡航先、イベント、気候などの必要なすべての情報をインターネット上から素早く入手することができます。

Q9.Watsonの情報源の形式はどの程度整っているのですか?

Q.Watsonの情報源の形式はどの程度整っているのですか? 素早く検索を実行できるようにある程度は前処理をしてあると思いますが、Watsonが挙げた解等の候補の中には、一部の単語がすべて大文字で記述されていたり、まったく関連性のない単語を含む句があったりと、情報源に改良の余地があると思われるものもありました。このような不整合によって障害が発生するようなことはなかったのでしょうか? Watsonが正解できなかった問題はこのようなデータの不整合が原因だったのではないでしょうか?

A.情報源の中には乱雑な形式のものもあり、それらについてはいくつかの方法で整えました。しかし、確信度の高い答えの中に明らかにおかしい答えが表示されたのは1%程度と、頻度は比較的低めでした。情報源がより整えられていれば、根拠を集めるための処理にも多少影響したかもしれません。データの不整合によって根拠の検証にどの程度の悪影響が出るかについては特に調査していません。


Q10.Watsonは、答えによって、「Who is」や「Where is」などの代名詞をどう使い分けていたのですか?

Q.Watsonが答えによって、「Who is」や「Where is」などの代名詞を使い分けていたことが興味深かったです。模擬対戦の動画を見た限りでは、答えが「シェイクスピア」などの人物でも、Watsonは一貫して「What is」で答えていたため、Watsonはある単語が人物であるのか、場所であるのか、物であるのかを判別することはできないのだと思っていました。本番の対戦直前に改良したのですか?それとも初めから使い分けていて、たまたま私が見逃しただけなのでしょうか?Watsonがどのようにデータを格納していて、それらをどのように関連付けているのかを理解したいので教えてください。

A.Watsonは人物、物、日付、イベントなどを判別して、問題に答えることができます。もちろん文脈によってはうまく判別できないケースもあります。たとえ人物であっても「What is」で解答することはルール上認められていたため、プロジェクトの初期段階では答えに応じて疑問詞を使い分けられるようにはしていませんでした。しかし、より正確な解答を生成できるようにアルゴリズムを追加していきました。そういう意味では疑問詞を使い分けるために改良を行ったと言えます。


Q11.Deep BlueとWatsonで歴史的快挙を達成しましたが、次は何にチャレンジするのですか?

A.チャレンジは計画するものではなく、IBMの研究員の知識やインスピレーションに基づいて自然と発生するものだと考えています。IBMの研究部門には優秀な研究員が揃っており、今もさまざまな分野で数々のプロジェクトが進行中です。その一例を紹介します:

  • ペタスケールからエクサスケールへと、コンピューター・システムの性能を1,000倍に向上するための研究を行っています。
  • ナノエレクトロニクス・デバイスを現在の1/1000に小型化し、ナノ・デバイスの時代からナノ・システムの時代へと大きく飛躍させることができる技術の研究を行っています。研究中のシステムにはDNAトランジスターというものがあり、これは1,000ドル以下という価格でヒトゲノムを解読し、オーダーメード医療を実現する技術です。
  • 無線接続の時代から、あらゆる物がインターネットにつながっている、モノと人のインターネットの時代へのシフトを可能にするテクノロジーの開発を行っています。

Q12.Watsonが問題に答えてくれる質問掲示板などはできないのでしょうか?

Q.Watsonが問題に答えてくれる質問掲示板などはできないのでしょうか?Jeopardy!の出題形式のような質問ではなく、一般的な言葉で質問してもWatsonは理解できるのですか?また理解できないのであれば、簡単に改良できますか? 単純にWatsonをインターネットにつないで質問に答えられるようにすることはできないのでしょうか?

A.今のところ、WatsonはJeopardy!の出題形式の問題に対してJeopardy!の解答方式で答えることしかできません。しかし、ニュアンス社、コロンビア大学医学部およびメリーランド大学医学部と協力して、Watsonを支える技術を医療分野に活用するための研究を進めています。詳しくはこちらをご覧ください:


Q13.Watsonが実行する解析処理と単語の関連付けとではどう違うのですか?

Q.Watsonの仕組みを聞いた限りでは、自然言語処理というよりも、単語の関連付けに近いのではないかと思いました。問題文に含まれている単語や語句と関連のある単語や語句をデータベースから検索するだけであれば、文法や意味を理解する必要はないのではないでしょうか? 問題文の「this」はその問題の答えを示す、などといったJeopardy!ならではのルールを考慮しなければならない点は単なる単語の関連付けとは異なるにせよ、Watsonが実行する解析処理と単語の関連付けとではどう違うのですか?単語の関連付けで答えを導き出すシステムにしなかったことのメリットもしくはデメリットはありましたか?

A.Watsonは問題文の文法とその背景を詳しく解析した上で文の意味的な構造(文法構造や論理的構造など)を理解し、それに意味(人名、地名、時間、組織名、行為、関係など)を付与します。Jeopardy!の問題文の意味を理解するためには、このような解析を行いますが、それ以外にもWatsonは何億もの文を解析し、単語同士の関連性を探ってその問題文の意味を理解します。これは確信度の高い解答を生成するためや、解答の根拠として探し当てた文章と問題で使われている単語や構造が異なっていても同じことを意味しているのだと理解するためには欠かせない処理で、「この発明家の親戚は彼のことを、「沸騰したやかんを1時間眺め続けるような子」と表現しました」のような複雑な問題を解くために必要な処理です。

Jeopardy!の問題には、単純な単語の関連付けだけで答えられるものも、もちろんあります。例えば「Got _ !」という問題があったとして、Watsonが行った処理の中でもっともこの問題文と関連性の高い単語が「Milk(ミルク)」であったのなら、Watsonは「Milk」と答えます。この場合は問題文の文脈と、この文脈に最も多く登場する単語を直接関連付けるだけなので非常に短時間で処理することができます。

問題文によっては詳細な解析を行わなければ解けないものもあります。Watsonはほとんどの問題文に対して、それぞれ粒度が異なるさまざまな解析処理を同時に実行し、もっとも確度が高い答えを生成します。解答の確信度はこのようにして計算しています。単純な単語の関連付けだけで答えられるような問題であっても、Watsonは同時に複雑な解析処理も行います。単語の関連付けだけで十分に確信度の高い答えが見つかったのであれば、Watsonはその答えを採用します。この処理は、同時に幾通りもの可能性を検討してその中から最も自信があるものを答えるという人間の行動に似ていると思います。


Q14.人間が音を知覚するまでは0.2秒程度掛かりますが、Watsonはその間に問題文を読み、何百万回という演算を行うことができます。この差は非常に大きいと思うのですが、いかがですか?

A.問題文は英語で出されます。英語は、ジェニングス氏とラター氏の母国語ですが、Watsonの母国語ではありません。Watsonは2~3秒以内に解答を計算し、確信度および答えを間違えて賞金を失うリスクを秤にかけてブザーを押すかどうかを判断しなければなりません。自分が何を知っていて何を知らないのかを把握している人間と違い、Watsonは何千回もの演算を実行して初めて何を知っていて何を知らないか把握できるため、機械にとっていかにハードルの高いチャンレンジであったかは想像できると思います。見つかった根拠に基づいて確信度を計算する技術は、答えを提示するだけでなく、どのようにその答えにたどり着いたのか、なぜその答えが正しいと思うのかなどを人間が知ることができるため、ビジネスや人々の生活に非常に有益な新技術です。Watsonを支える技術は、人間の意思決定の向上に大いに役立つと考えています。

試せるIBM Watson - Watson Developer Cloud

クイズ番組への挑戦から数年余り、現在は、自然言語処理や機械学習(ディープ・ラーニング)を活用したAPIが公開されており、誰でもこれらを使ったアプリを構築できるようになっています。

Watson Developer Cloudは、Watson搭載アプリの構築に使用できるWatson APIのライブラリーです。Bluemixに登録すれば、デモビデオや資料も参照しながら、これらのAPIを使ったコグニティブ・アプリ構築ができます。

bluemix-dashboard