メッセージングアプリとBOTとAIに関する各社の取り組みの違い

  • 318
    Like
  • 0
    Comment
More than 1 year has passed since last update.

18日午前(日本時間で19日深夜)に行われたGoogle I/O 2016のKeynoteでは、Google社から新しいメッセージングアプリ「Allo」が夏にリリース予定であることが発表されました。実際にAlloが動作しているデモがKeynote内で行われていましたので、どんなアプリになっているのか、そのデモを見ることで理解することができるでしょう。

Screen Shot 2016-05-21 at 17.08.25.png

AlloのAndroidアプリは、すでに事前登録を開始しています。

このデモを見たときに、他社と比べてアプローチの仕方が大きく違うことに気がつきました。Alloの登場によって役者が出そろった感があるので、僕の知っている範囲で少し整理をしてみたいと思います。

主力メッセージングアプリ

基本的に、メッセージングアプリはユーザ同士が会話をすることが中心的な機能です。言うまでもないですね。

Untitled.001.png

現在人気を博している主力のメッセージングアプリ達は、ユーザ間のコミュニケーションの他に、企業や店舗、有名人などの、ユーザと「ユーザではない相手」とのチャネルを作るための機能を提供しています。公式アカウントという言い方だったり、一般ユーザアカウントと区別可能な呼び方がされている特別なアカウントの開設を企業や店舗などに提供しています。ここではそれらの総称を「公式アカウント」と呼ぶことにしましょう。

公式アカウントの特徴としては、一つの公式アカウントに数多くのユーザが友達登録あるいはフォローする、という傾向があります。そのため、基本的にはユーザからの問いかけには、その公式アカウントは答えることはありません。返事が来たとしても、固定的な自動応答であることがほとんどでしょう。「特定のキーワードが発言内に入っていれば、○○と返事する」という自動応答文を複数登録できると思いますが、人力でこれらを登録することには限界があります。ユーザからの発言は、一切閲覧できない、あるいは特定の期間だけ管理ウェブサイト上で見ることが可能、という程度です。

Untitled2.001.png

店舗などの「フォロワーがそれほど多くない」と想定できる公式アカウント向けに、ユーザ(この場合は常連さんだったり店舗に興味あるお客さんだったり)との会話機能を提供しているメッセージングアプリもあります。ユーザからのメッセージを見て返事をするのは、その店舗の実際のスタッフ、つまり人間です。現実的には、その一人が捌ける量はたかが知れているので、物理的な店舗一つずつ担当スタッフを確保すれば、ユーザからの声に答え続けることができると思います。ただ、間違いなくスケールしません。

BOTの登場

今までUIを作り込んでアプリを提供してきた歴史に対して、メッセージングアプリは「テキストのやり取りというUI」を世間に提供したといえるでしょう。インターネット上にある様々なサービスをメッセージングアプリから利用するためには、ユーザから送られたメッセージテキストを解析し、内容を判断し、それに応じたことを行い、そして返事をまたメッセージテキストとして返さなければなりません。そして、スケールさせるためには、それを人間が行っていてはダメです。ユーザから送られたメッセージは、メッセージングアプリのサーバを経由して、公式アカウントを運用する企業や個人のサーバに配送され、さらにそのサーバからAPIを経由してユーザに返事が出せる必要があります。

Untitled.003.png

これがいわゆるBOTの仕組みになります。人間が画面上でユーザからのメッセージを読むのではなく、機械が処理できるようにするわけです。企業や個人側のサーバ(ここではBOTサーバと呼びましょう)に配送されたメッセージをどう料理するかは、企業や個人の自由です。自動的に応答しても良いですし、受け取ったことだけを機械的に返信して、後日人間がメッセージを作って返信しても良いわけです。

機械的に処理できるようになったことで、商品の注文処理ですとか、何かを検索してすぐに結果を返すですとか、とにかくリッチな処理、リッチな結果を迅速に返すことができるようになるわけです。BOTの可能性はこれから数年以内に証明されることとなりますが、現時点で言えば、ユーザにとっては複雑なUIを覚えることなく、いろいろなアプリをインストールすることもない、というメリットがあり、企業や個人の公式アカウントの提供者にとっては、アプリをインストールしてもらうという壁を越える必要がなく、さらにリッチなUIを作らずに済む、というメリットがあります。一見すると、Win-Winです。

AIという選択肢

今までのアプリのリッチなUIは、それが非常に洗練されたものであれば、ユーザにとって最短の操作で最大の利益を上げることができる嬉しいものだったはずです。が、そんなUIを生み出せる可能性は低く、一般的にはユーザにとって負担を強いるUIが多かったと思います。

しかし、人間が毎日使っている自然言語であれば、話しかけるだけ、という日常生活の延長線上になります。これがメッセージングアプリ上のBOTに対する期待となります。「カツカレーが欲しい」と言えば良いわけです。簡単ですよね。

しかし、人間にとって簡単なことが、機械には非常に難しいことになります。自然言語処理は、コンピュータが生み出された初期の頃から今までずうーーーーっと研究されてきた分野のひとつです。近年その成果がやっと実用的なレベルになり、僕らの身近なところまで降りてきました。機械学習やAIといった言葉を最近盛んに聞くと思います。Siriとか、Amazon Echoとか、Google検索とかは、この分野の成果が大きく活かされている実例です。

BOTに求められること、それは「ユーザが自然言語を使って言ってくることを理解すること」です。これができなければ、ユーザに対して「決まったことしか言わないでください」というBOTになってしまいます。コールセンターの最初に行われる「〇〇の場合は1を、戻る場合は2を、押してください」の世界です。そうではなく、「オペレータに繋がった後の会話」をBOTで実現したくなるわけです。

Untitled.004.png

よりリッチで自然なBOTにするためには、AIが必要になります。BOT化された公式アカウントを開発するために、その企業や個人はAIを駆使できなければならないわけです。多くの企業が、自然言語処理エンジンや、機械学習の仕組みに取り組み始めている理由が、ここにあると思います。

Facebook、Microsoft

しかし、いきなり自然言語処理や機械学習を駆使しろと言われても、そこには相当高い壁があります。BOTの開発者は、手軽にAI Engineを使いたくなります。FacebookやMicrosoftがそれぞれBOTを作るためのプロダクトを公開していますが、嬉しいことに、そのどちらも自然言語処理エンジンとセットです。

  • Facebook Messenger Platform - Facebook Messenger向けのBOTを開発するための仕組みですが、wit.aiと組み合わせることで自然言語処理をさせることが可能になります。
  • Microsoft Bot Framework - Skype, Slack, LINE, WeChatなどに対応したBOTを開発するための仕組みですが、Cortana Intelligence Suiteと組み合わせることで自然言語処理をさせることが可能になります。

つまり、BOT化された公式アカウントを企業や個人が開発する際に、自分でGoogleのTensorFlowやIBMのWatsonなどを駆使しなくても、上記の環境を使うことで「比較的手軽に」AIを組み込んだBOTを開発することができる、ということになります。

Untitled.005.png

この2社は、先ほどの主力メッセージングアプリが提供しているBOTの仕組みに対して、BOTサーバの開発をサポートし、さらにそこにAIを使えるようにする、というアプローチになります。以上のポイントをまとめると、

  • 主力メッセージングアプリ自体は、AIをサポートした機能を提供していない。
  • BOT対応された公式アカウントを開発することで、企業や個人がユーザからの問い合わせを機械的に処理することが可能になる。
  • FacebookやMicrosoftなどが提供しているソリューションを使うことで、そのBOTにAIを持ち込むことが比較的低コストで可能になる。
  • 結果として、AIの恩恵は「特定の公式アカウント」に限定されている。

ということになります。

Google Allo

Google I/O 2016で発表されたGoogle Alloという新しいメッセージングアプリは、基本的なチャットをベースにしたアプリであるという点では、今までの主力メッセージングアプリとそれほど変わりはありません。しかし、AIに関するアプローチが、他のものとは全く異なっていました。

Alloは、ユーザ間の会話の中で、相手が送ってきたテキストや画像に対して最適と思われる返事の候補を表示し、それを選択することだけで返事をすることが可能になる機能(Smart Reply)が備わっています。Google I/O 2016 Keynoteでのデモでは、可愛い犬の写真が送られてきた際に、「Cute dog!, Aww!, Nice bernese mountain dog」という3つの選択肢が提示されていました。また、そのデモの中では、相手が"Dinner later?"と聞いてきた時に、Alloはすかさずに「I'm in!, I'm busy」という2つの選択肢を提示していました。

Untitled.006.png

これは、基本的にすべてのユーザ間の会話に対して、AIが適用されることを示しています。

そして、その後のデモでは、AIに勧められた「Italian food nearby」という選択肢をタップした後、その時の会話の相手ではなく、「@google」というアカウントが代わりに近くのレストランを検索し、その候補を表示しました。そして、会話を進めていくと、@googleアカウントはOpenTableでレストラン予約がされたことを返信してきました。

Untitled.007.png

つまり、ユーザは直接OpenTableの公式アカウントと会話をしてレストラン予約をしたのではなく、@googleアカウントが仲介してレストラン予約がされたことになります。このデモの中では、BOTというものは見えてきません。というか、BOTは@googleのみです。@googleアカウントの先に、レストラン予約があり、スポーツの結果があり、クイズゲームがあり、という感じです。

ここからは僕の勝手な想像になりますが、Alloと連携してユーザに何らかサービスを提供したい企業や個人は、独自にAIを駆使してBOTを作るということではなく、単にサービスを使うためのAPIを提供すればいいだけではないのか?と想像できます。もしくは、BOTという形態ではあっても、Alloから送られてくるメッセージテキストには、すでにAllo側のAIで解釈済みのコンテキストが含まれていて、容易にリッチな結果を返すことができるようになるのではないか?とも考えられます。こうなると、主力メッセージングアプリの「BOTとAIの世界」に比べて、Alloに統合されるサービスの開発難易度は非常に低くなるのではないか?と言える気がしています。

Untitled.008.png

ただし、Alloの世界が素晴らしく見えてきたかもしれませんが、一つ非常に大きな弱点があります。それは、まだ一人もユーザがいない、ということです。

まとめ

さすがにGoogleは後発だけあって、よく考えてきたな、ということと、やはり斜め上から攻めてきたな、という印象を受けました。しかし、多くの人にとって、公式アカウントを作ってそれをAI化されたBOTにしたてる、という考え方の方がシンプルですし、実現できることの可能性も実は広いと言えます。どちらも一長一短がありますが、AlloがBOT化された公式アカウントを開設できるようになったとしたら・・・、早くそんな未来を見てみたいですね。