Watsonとは何か?まとめてみました

下の渡辺謙さんとの対話CMですっかり有名になったIBMのWatson。触ってみる前にちょっと、Watsonとは何かを自分なりにまとめてみました。

渡辺謙+IBM Watson

【渡辺謙+IBM Watson】「Watson、日本語上手だね」グローバルに活躍する俳優・渡辺謙さんとIBM Watsonが会話する最新TVCMを公開中です。流暢な日本語に関心する謙さんにWatsonが返した言葉は?#IBMWatsonIBM Watsonについて詳しくは: http://ibm.co/1Rq6Y8U

IBM Japanさんの投稿 2016年3月13日(日)

こういったWatsonとの対話は、Watsonの複数の機能を組み合わせています。Watsonって一つではなく様々な機能の集合体なのですね。

まずは「音声認識機能 (Speech to Text)」で話した事を文字に変換してWatsonに渡し、「音声合成機能 (Text to Speech)」でWatsonの文字の回答を音声に変換します。
WatsonのCMは、英語のWatson (以下のセサミストリートに登場するワトソンなど) はやや男性的な声なのですが、日本語のWatsonはやや女性的な声ですね。何か深い意図があるのでしょうか(笑)

ここまではSiriとか従来もある技術なのですが、その普通の自然言語の質問に対して回答を用意する「自然言語分類機能 (NLC: Natural Language Classifier)」が、現在最も良く使われているWatsonの機能です。以下のペッパー君とWatsonの会話にも使われる機能ですね。

このNLCは、聞かれた日本語がどういう意図かを解釈し、回答を用意する際に使われます。下のネスレさんの事例が有名ですが、聞かれた質問に対して何を回答として提示すべきかをWatsonが素早く判断してくれます。Watsonにあらかじめ知識として質問と解答例を教えておくと、様々な質問に対して、その意図を解釈し最も適切と思われる回答を提示してくれます。

⇒ここから「チャットで質問」

チャットでWatsonに聞いてチャットでWatsonが答えるような、いわゆるチャットボットを実現するために、会話の流れを実現してくれるのが「 Watson Conversation」です。人間と対話しているかのような会話ができるようになります。以前は Dialog という機能でしたが、その後継となります。

Watsonが一躍有名になったのは、2011年に以下の「ジョパディ」というアメリカの有名なクイズ番組で、Watsonが歴代のクイズ王の人達に勝ってからですが、このWatsonは膨大な文章を覚えて、そこから質問に対して最も関連性の高い内容を提示するという「機械学習 (Machine Learning)」の技術を応用したものでした。

このジョパディのWatsonに近い機能が「検索および
ランク付け機能 (Retrieve and Rank)」です。

また、これらのWatsonの機能は、一からWatsonに情報をインプットして覚えさせるというよりは、既存の何らかの文書をWatsonに渡すことでWatonが学習することができるようになります。これを「文書変換機能 (Document Conversion)」などで実現します。

Watsonはこういった機能を組み合わせることで、人間との会話や、膨大な情報からの情報の抽出が可能になります。

ところで、冒頭の渡辺謙さんとWatsonの対話CMは、現時点で我々も容易に実現できるのでしょうか?実際にWatsonエキスパートに聞いてみたところ、ある程度は実現できるものの、あそこまでは難しいとのことでした。なぜなら、一般のPCに付属するマイクなどは性能はあまり良くなく、対話環境もノイズが大きい場合が多いため、Watsonが正確にヒアリングすることが難しいからです。

またWatsonは、覚えた膨大な情報の中から最も関連性の高い回答を用意してくれますが、100%必ず正解を提示するようなものでは無いとのこと。確かに100%正しい回答を提示したければ、そういうプログラムを作成すれば良いですよね。Watsonは100%の回答は難しいにしても、既存の膨大な情報を与えれば、プログラムを書かなくても様々な質問に対しかなりの確率で答えてくれるようになるところが素晴らしいのです。

それでは次に実際にWatsonを動かしてみましょう。

⇒Watsonと会話する チャットボットの無料APIを使った作り方