"AI(Artificial Intelligence: 人工知能)"という単語がバズワードとしてメディアに登場する機会が増えるにつれ、IBMのコグニティブコンピューティングシステム「IBM Watson」への注目度も急速に高まりつつあります。もともと、Watsonは2011年に米国のTV番組「Jeopardy!」で人間とのクイズ対決のために開発されたハードとソフトが一体化されたスーパーコンピュータでしたが、現在では自然言語処理とマシンラーニングを組み合わせたIBMのアナリティクスプラットフォームの総称として位置づけられています。
バズワードとして毎日目にする"AI"、実はその定義が非常にあいまいなまま、世の中にはびこってしまっている言葉でもあります。そしてWatsonを"コグニティブコンピューティング"と呼び続けてきたIBMは、かたくなにWatsonがAIと呼ばれることを拒否し続けてきました。IBMにとってWatsonとは、膨大なデータをインプットし、それをもとに仮説/検証を繰り返しながら予測分析や意思決定の精度を上げていくシステムで、人間が質問を投げかけると、Watsonは自然言語処理によって対話的にその解答を返します。これはIBMが従来からAIとして定義してきたニューラルネットワークを基盤にした「強いAI」とは問題解決のためのアプローチが大きく異なるというのが大きな理由です。
しかし、ここ最近のIBMはWatsonがAI技術の1つとして位置づけられることを、以前ほど強く否定しない傾向にあるようです。むしろ「弱いAI(限定的な機能しかもたないAI) 」の文脈においては、IBM自身がWatsonのことをAIと呼ぶことすらあります。AIがバズワードとなっている現状では、「 WatsonはAIではない」と言い続けることはマーケティング上、あまり得策ではないと判断したのかもしれません。
それほどまでにIBMがその定義にこだわってきたコグニティブコンピューティングとしてのWatsonですが、具体的にはどんなアナリティクスがWatsonによって可能になっているのでしょうか。本稿では2月7日に東京・六本木で行われたデータアナリティクスのカンファレンス「BIG DATA ANALYTICS TOKYO」における日本IBM Sparkスペシャリスト 田中裕一氏のセッション「Combining Watson and Spark for Analysis」の内容を紹介しながら、Watsonによるアナリティクスの現状と課題を検証してみます。
日本IBM Sparkスペシャリスト 田中裕一氏
WatsonとSparkで作る映画のレコメンデーションシステム
田中氏はまず、Watsonが取っているアナリティクスのアプローチの全体像を以下のように説明しています。
現状把握(Descriptive Analytics) … 何が起こったのかを把握する
予測分析(Predictive Analytics) … 将来何が起こるのかを予測する
認知(Cognitive Analytics) … 次に取るべき最適なアクションを判別し、共有/指示を行う
Watsonはインプットのデータ量を増やし、マシンラーニングを繰り返すことによって、各フェーズでの精度を上げていきます。この世界最先端のアナリティクステクノロジをより多くの開発者に体感してもらうため、IBMは現在、自然言語処理やテキスト/音声の変換、画像認識などWatsonの機能の一部を開発者向けに公開しており、開発者はIBMのPaaS環境であるBluemix上で、RESTインタフェースを通してWatsonのAPI利用することが可能になっています。
WatsonはいくつかのAPIをBluemix上で公開しており、無料のものもある。インタフェースはRESTで提供される
そして今回、田中氏がセッションで使用したのがWatsonの公開APIの1つである「Personality Insights 」です。Personality Insightsは、ユーザの書き込みからその心理属性を分析する機能を備えており、たとえばTwitterやFacebookといったソーシャルメディアの書き込みからそのユーザの性格の特性、欲求、価値観などを抽出することが可能です。田中氏はこのPersonality Insightsを利用し、「 映画のレコメンデーションシステム」のサンプルを作成するプロセスを紹介、「 Watsonで何がわかるのか」を具体的にセッション参加者に見せてくれました。
今回作成した映画レコメンデーションサンプルの概要
サンプル作成の最初の手順はWebからのデータ収集です。田中氏は今回のサンプル作成にあたり、クローラを使って映画に関するデータを収集したそうです。収集したデータはデータベースに格納し、分析に備えます。事業者の場合はこうしたデータをすでにもっているはずなので、このステップは省略できます。
最初は映画に関するデータの収集。田中氏は映画に関するソーシャルデータをクローラを使って収集した
次のステップはデータベースに格納したデータをWatson(Personality Insights)で分析します。ここではPersonality Insightsを使い、ユーザの映画に対するコメントから"personality(性格の特性、個性)"を生成していますが、データはJSON形式で吐き出されます。なお、personalityの推定は「Big 5/OCEAN」と呼ばれる心理学における有名な分類方法で行っているそうです。
Openness to experience … 好奇心が強い、独創的
Conscientiousness … 勤勉、まめな人
Extraversion … 外交的、エネルギッシュ
Agreeableness … 人当たりがいい、温情のある
Neuroticism … 繊細、神経質
この5つの大カテゴリをさらに細かく分類し、30の小カテゴリにして推定の精度を高めています。なお、Personality Insightsでは欲求(needs)の推定はKevin Fordの「Universal Needs Map」に沿った分析を、価値観(value)は「Schwartzの価値概説(Schwartz Value Survey) 」に沿った分析が行われているとのことです。
Personality Insightsで導き出される心理属性。Twiterなどソーシャルの書き込みからも属性の把握が可能。Bluemixのサイトでは誰でも自分のTwitterを使って試すことができる
映画のコメントをもとにPersonality Insightsを使って属性分析しJSONでデータを生成
コメントからpersonalityを抽出できたら、次のステップはSparkによるモデル作成です。Sparkを選んだ理由として田中氏は「処理スピードの速さ」を挙げています。今回は「映画の評価」と「パーソナリティ」という2つの評価軸に沿って前処理とモデル作成を行っています。映画の評価では、ユーザごとにグルーピングし、ユーザに映画の評価の値を付与します。その際、「 ユーザの傾向(スコアを高く付けやすい or 低く付けやすい)を考慮して、値がぶれないように前処理(正規化)をしておく」( 田中氏)ことがポイントとなります。パーソナリティにおいてもユーザごとにグルーピングし、コメントから得られたpersonalityの値をもとに、ユーザごとの値に変換しますが、ここでは「インプットの量が少ないと評価にしくいため、エラー率による重みづけ」( 田中氏)という前処理を行っています。
Sparkによる前処理その1。映画の評価をユーザごとにグルーピングし正規化する
Sparkによる前処理その2。コメントから生成したデータを使ってユーザごとにパーソナリティデータを付与
この2つのテーブルの内積を取ることで"映画のレコメンデーションモデル"が作成できました。田中氏は実際にこのモデルの利用例として、安倍首相とオバマ前米国大統領のスピーチデータ(テキスト)を使い、Watsonでパーソナリティを分析して、そのデータを今回作成したモデルにあてはめ、それぞれに対する"おすすめの映画"を提示するレコメンデーションを作成できたとしています。ただし「二人の要人にどんな映画を勧めたのかはさすがにこわくて言えない」( 田中氏)とのことで、残念ながら具体的な映画の名前は出ませんでした。
Sparkによる前処理その3。その1とその2で得られたテーブルの内積を取り、レコメンデーションのモデルを作成する。得られたモデルは「どういうパーソナリティをもつ人がどういう映画を好むか」というレコメンデーションのベースになる
安倍首相とオバマ前大統領のスピーチからWatsonでパーソナリティを分析し、レコメンデーションモデルに当てはめておすすめ映画を割り出したものの、「 結果はこわくて言えない」( 田中氏)そうです
自社のデータだけに頼る時代は終わり ―ソーシャルとの組み合わせで新しい価値を
田中氏は今回のサンプル作成を通して、コグニティブコンピューティングとレコメンデーションにおける2つの可能性を示したかったとしています。
1つめはレコメンデーションが抱える課題の解決です。レコメンデーションには、アイテムどうしの相関関係による「Item to Item」や行動/購買のログをもとにした「User to Item」 、またはランキングやおすすめ商品など新規ユーザに対しても適用可能なデフォルトセットを使った「ルールベース」などの種類があります。これらはどれも一長一短があり、たとえばUser to Itemであれば、購買実績のない新規ユーザには適用することができません。これに対し、今回のサンプル作成でベースにした「Personality to Item」 、つまり個人の特性(パーソナリティ)をソーシャルデータから分析することで、行動や購買などの実績がないユーザにもある程度パーソナライズしたレコメンデーションが可能になります。自社以外のデータも積極的に分析対象にすることで、レコメンデーションの適用範囲は大きく拡がり、精度も高くなるはずです。
2つめは、コグニティブコンピューティングで人間をパーソナライズするように国や地域ごとの属性をつかむことで、経営分析などに生かせる可能性が高まるという点です。Watsonは現在、英語だけでなく日本語にも対応していますが、それぞれの国や地域のソーシャルデータをパーソナライズ分析することで、地域ごとの"特性"が見えやすくなります。「 この地域の人々はこういう情報を好みやすい、という心理属性をコグニティブコンピューティングでつかみ、自社のデータ分析を組み合わせることでより良い経営判断につながる可能性は高い」という田中氏の言葉にあるように、今後は自社のデータとソーシャルデータをうまく組み合わせ、新たな価値を創造することの重要性がますます大きくなりそうです。
AI時代の課題 ―"なぜ"を教えてくれない機械といかに信頼関係を結ぶのか
セッションの最後に田中氏は「コグニティブコンピューティング/AI時代の課題」として、「 Watsonは人間が理解できない新しい知見をいきなり提示することがある。人間はWatsonがなぜ、これを解答として選んだのかはわからない。人間が理解できない結果を機械(Watson)が出してきたとき、人間はこれとどう信頼関係を結んでいくべきなのか」という点を挙げていました。
ビッグデータという言葉が一般的になる前までは、アナリティクスの世界で重要だったのは経験則から導き出された業界知識や暗黙の了解の可視化、あるいは現状の数値的な裏付けといった、いわゆる「知っていることの確認」でした。旧来のBI(Business Intelligence)などはまさにこれにあたります。やがて時代が進み、現状のデータから予測分析を行うことが注目されるようになりますが、あくまで"人間が理解できる範囲"内にとどまるものであり、「 なぜそういう結果(予測)になるのか」が十分に説明可能でした。
ところがビッグデータ時代が到来し、モバイルやソーシャルが爆発的に普及したことでアナリティクスの対象となるデータ量は以前とは比較にならないスピードで増え続けています。Watsonは膨大な量のインプットから学習し、結果を返すシステムですが、返ってきた結果を見て「インプットのパラメータにどの数値が効いてしまったのかはわからない」( 田中氏) 、つまり人間には思いもよらない結果が返ってきても、その理由がわからないという事態が発生します。インプットされるデータ量が増え、マシンラーニングによって分析の精度が高まっているにもかかわらず、"なぜ"がわからないがためにその結果を信じることが難しい ―これは経営判断など重要な意思決定のフェーズで大きなネックになる可能性があります。たとえば人事システムにWatsonのPersonality Insightsを活用し「新事業部のリーダーに誰を任命するべきか」という問いを投げかけたとき、新卒で入ったばかりの若者をレコメンドする結果が返ってきたら、経営陣はその判断をすんなりと受け入れることができるでしょうか。おそらくは「理由がわからない」からと結果を拒絶する可能性がかなり高いと思われます。
コグニティブコンピューティングとしてのWatsonは学習を繰り返し、さらにインテリジェンスな存在になっていくはずです。その方向性がもはや後戻りしない以上、人間とは異なる知見と知性を獲得した"機械"という存在と人間はどう向き合い、どう信頼関係を培っていくべきなのか ―AI時代に生きる我々に突きつけられた大きな課題だといえそうです。