https://d226lax1qjow5r.cloudfront.net/blog/blogposts/ai-bot-platform/Bots-Clip7_800x300.jpg

ボットとAI:ボット・プラットフォームとは何か?

最終更新日 May 14, 2021

所要時間:1 分

AIボット分野の主要プロバイダーであるIBM Watson、Microsoft Cognitive Services、Amazon Lex、Google APIsは、どれもほぼ同じものを提供しているが、それぞれが独自の用語を持っている。ボット・プラットフォームからボット・チャンネル、ボット・フレームワークまで、私はマイクロソフトのテクニカル・エバンジェリストのマーティン・ビービーとボット・プラットフォームのCEO/共同設立者のシド・ローレンスに、技術を用語に置き換えるのを手伝ってもらった。

この対談のビデオはこちらでご覧いただけます。

ボットとAI:ボット・プラットフォームとは何か?

サム・マチン (Nexmoデベロッパーアドボケイト&Alexaチャンピオン):今回はもう少し技術的な話をしましょう。私が学んだことのひとつは、特に異なるプラットフォームを横断的に見る場合、IBM Watson、MicrosoftのCognitive Services、AmazonのAlexa、そして レックスそしてGoogle API、AI Google Assistance。みんな違う...みんなAPIのセットでだいたい同じことをやっている。

彼らは皆、あるものを手に入れた。自然言語処理のようなものもあれば、ランタイムのようなものもある。しかし、それらの呼び名や用語は異なっている。例えば、ボット・プラットフォームに話を戻すと、ボット・プラットフォームとは何ですか?シド、それはあなたの会社です。

シド・ローレンス (CEO/共同創設者 ボットプラットフォーム):ボット・プラットフォームとして立ち上げる前は、ボット・プラットフォームとは呼ばれていませんでした。昨年の4月からシステムを構築してきました。ボット・ビルダーと呼ばれるものもいくつか登場しました。私たちは、自分たちが作っているのは単なるボット・ビルダーではなく、ボットだけでなくボットを拡張するためのプラットフォーム全体だと信じていました。そして、私たちが舞台裏で行っていた様々な断片的な作業も行っていました。そこで、ボット・プラットフォームを立ち上げたのです。

ここ3ヶ月の間に、みんながボット・プラットフォームと呼ぶようになった。その結果、ボット・プラットフォームと呼ばれるようになったんです。私たちが最初にボット・プラットフォームを発表したことが良かったのか、それとも、みんながボット・プラットフォームと呼ぶようになったから、私たちがボット・プラットフォームと呼ばれるようになっただけだと思われるようになったことが悪かったのか、私にはわかりません。

だから、最終的には......私たちの最初の目的は、他の人たちが自分のアプリのメッセージング・ボットを作れるようにするシステムを構築することでした。そして今、私たちがこの半年で実際に気づいたことは、このような技術的な解決策を提示されても、人々は何をすればいいのかわからないということです。 "people have got no idea what to do when they're presented with a technical solution like this."つまり、これは技術的なものではなく、ある種のCMSと言えるかもしれません。ですから、私たちが今やっているのは、サービス・ソリューションを提供することで、彼らのために、あるいは彼らと一緒にボットを作り上げる手助けをし、技術的なソリューションは後で引き渡すということです。

でも、結局のところ、私たちがボット・プラットフォームを立ち上げるまでは、それらはボット・プラットフォームとは呼ばれていませんでした。これが私の答えです。

サム:つまり、私が聞きたかった議論のひとつは......わかりました。でも、ボット・プラットフォームには特定のものが必要なんだ。例えば、Facebook Messenger単体ではボット・プラットフォームではありませんよね?

マーティン・ビービー (テクニカルエバンジェリスト マイクロソフト):私たちの用語ではチャネルと呼んでいます。スカイプやフェイスブック、あるいはKikなどのプラットフォーム、あるいはSlackなど、私たちはそれらをチャンネルと呼んでいます。そして、それらすべてにまたがるフレームワーク、ボット・フレームワークがあります。そのため、1つのボットでこれらすべてに対応できます。ひとつのボットフレームワークで、すべてのプラットフォームに対応できます。

でも、そうだね、すべてのプラットフォーム、すべてのチャンネルに対応する。ほら、もう用語が混乱してきた。私は用語集を手伝って、より曖昧にしようとしています。しかし、私たちはこれらのチャンネルをボット・フレームワークと呼んでいます。ボット・プラットフォームとは呼んでいません。ボットプラットフォームとは呼んでいません。

サム:そうですね......確かに、チャンネル・チャネルは新しい用語の1つだと思います。チャンネルとは、ユーザーがどのようにボットにアクセスするかということです。元々は個人間のチャットのために設計されたものです。Slackは他の人とコミュニケーションするための手段です。唯一の違いは、人とコミュニケーションする代わりにボットとコミュニケーションすることです。だから、ボット自体が生きている......私がユーザーであるのと同じように、チャンネルの一部ではない。チャンネルは僕とボットをつなぐものなんだ。

アレクサのように、より密接に結びついたシステムでは、オールインワンなのでしょう。しかし、既存のコミュニケーション・チャンネルを利用して何かを作り上げるという点では、そうです。ボットとの間に分離があるのは確かです。

マーティン、あなたのフレームワークとは何ですか?あなたのフレームワークは一般的なレベルで何をするのですか?それを構成する機能は何ですか?

マーティン:大まかには、NodeかC#で動作するフレームワーク、開発キット、SDKです。このボットを作ると......どちらの言語も微妙に動作が異なります。しかし、大まかに言えば、メッセージを受け取って、メッセージを返すというパターンがあります。すべてのプラットフォームに対応しています。だから、nodeかC#のどちらかを使ってボットを作るんだ。

シドそれはすべてのスパン チャンネル.

マーティンプラットフォームって言ったっけ?素晴らしい。私はすべてのチャンネルにまたがっています。つまり、あなたが1つのものを作り、私たちが仲介役となって、それがあなたのためにあらゆるチャンネルで利用できるようにするということです。しかし、あなたは1つのボットを構築します。

さらに最近では、話すチャンネルによって異なるレスポンスができるようになりました。例えば、Facebook Messengerのボットを作るなら、UIに重点を置くでしょう。Facebook Messengerのガイドラインでは、ボタンやカルーセルについて書かれているからです。しかし、いくつかのチャンネルでは、インターフェイスの見た目についてもっと制限があります。そのような場合は、テキストやボタンなどを配信するだけかもしれません。ですから、私たちは1つのボットを作りますが、チャネルやメッセージの受け取り方によって、異なる対応をすることができます。

しかし、その理由は、マイクロソフトが提供する提案は、このようなお金の節約です。ボットを1つ作れば、Skype、Facebook Messenger、Slackで利用できるようになります。 "You build one single bot and then you can make it available on Skype, Facebook Messenger, and Slack." サムJavaの古い格言に "Write once, run everywhere "というのがあります。

マーティン:よりシンプルに、よりシンプルにしようという考えです。そして、より多くのチャンネルが登場するにつれて、開発作業をほとんどすることなく、その恩恵を受けることができるようになることを望んでいます。なぜなら、住んでいる地域によって、メッセージング・プラットフォームの重要性が異なるからです。つまり、中国の視聴者向けにボットを作ろうとしている人は、北米向けにボットを作ろうとしている人とはまったく異なるソーシャル・ネットワークに目を向けることになります。

それが私たちのコンセプトであり、開発者の生産性を向上させるための手助けなのです。

サム:あなたのフレームワーク...実はその中で、あなたがやっていることがいくつかあると思うんです。チャンネルから入ってくるメッセージを受け取って、それがあなたのフレームワークの入口です。しかし、おそらく自然言語のようなものがあるのでしょう。音声からテキストに変換し、自然言語処理を行う。

マーティンもちろんできますが、そうする必要はありません。自然言語理解を追加するのはとても簡単です。私たちはそれを LUIS言語理解[インテリジェント]サービス」と呼んでいます。これはAzureのサービスで、言語理解を追加するだけで、ユーザーの意図に基づいてさまざまな機能に結びつけることができます。使い方はとても簡単です。しかし、何も使う必要はありません。つまり、あなた次第です。

サム:ユーザーがメッセンジャーに入力した内容をコードに反映させることもできるし、あるいは......。

マーティンもちろんです。その通りです。もし本当にそうしたいなら、ボットのインテリジェンスをすべて正規表現に基づいて書くこともできます。しかし一般的に言えば、私たちは少なくともほとんどの場合、ボットでユーザーが何をしようとしているのかを理解しようとするのではなく、何らかの言語理解サービスを導入することをお勧めします。そして、私たちが作成したほとんどの例にはそれが含まれています。

でもね、私たちが提供するサービスにはいろいろあるんだ。例えば、Q&Aサービスを提供しています。質問と回答をすべて読み込むと、それをボットとして非常に迅速かつ簡単に提供することができます。Azureの関数を使えば、ほとんどコードなしでできます。AWSに詳しい方なら、サーバーレススタックのようなLambdaというスタックがあります。Azureにも同じものがあり、Azure Functionsと呼ばれています。数回クリックするだけで、ボットをそこにデプロイし、質問と回答のようなExcelスプレッドシートをアップロードすることができます。そうすると、ボットはよくある質問ボットのようなもので、質問に答えることができるようになります。つまり、機械学習を使って適切なものを見つけ出すのです。

サム実はちょっと遊んでみたんだ。最初のボットにたどり着くには、なかなかクールな方法だよ。私でもWord文書が必要だったと思います。重要な質問と答えが欲しかったんだ。

マーティンQ&Aが書かれたウェブページを、Q&Aボットに変換してくれるんだ。しかも驚くほど正確です。単にパターンマッチングをするだけでなく、自然言語を理解し、それをマッピングします。テキストのランク付けや、その裏で巧妙な機械学習を行っているのです。しかし、ユーザーとしては、このようなものを使えば、とてもとても素早くQ&Aボットを作ることができます。

[編集部注 1時間のディスカッションAIボット技術の現状について].

シェア:

https://a.storyblok.com/f/270183/384x384/7fbbc7293b/sammachin.png
Sam Machinヴォネージの卒業生