Chatbaseとは?
Chatbaseとは、Google が開発した、
- ユーザーはどのようなトピックを経由しながら会話をしているのか
- 会話のどこでユーザーが離脱してしまうのか
といったchat特有のアナリティクスを提供してくれるツールです。Dialogflow(旧API.ai)とも既に連携しており、さらに使える機能は増える見込みのようです。
会話のstatusを送りつけることのできるAPIがあり、そこにuser idとともにintentやmessageを送るだけでどんなチャットサービスのbotでも使用することができます。
今年5月のGoogle I/Oでお披露目があり、クローズドで利用されていましたが、11月にようやくPublicになりました。
Did you catch our new explainer video via the @googledevs YouTube Channel? ICYMI: https://t.co/c23gh8Ne1v
— Chatbase (@chatbase) November 21, 2017
Chatbaseは、Chatbox UX :Crafting a Valuable Conversation (邦訳:チャットボットのUX:価値ある会話デザインの方法 | UX MILK)でも紹介されています。余談ですが、この記事はサービス企画時に役立ちそうなことが書かれたいい記事でした。
Quickstart
チュートリアルは以下のドキュメントを読んでいただくとして、後の自分のためにすこしメモをしておきます。
Chatbaseが得意そうなこと
対話式のbotが応答文を返す際、まずユーザーからの入力に対して何らかのIntentを判定し、そのスコアに応じて応答文を返す、といったことが実用上多いようです。
QuickStartにも書かれていますが、Chatbaseではintentについて、「ユーザーからの、同じ意味を持つメッセージの集合へのラベルとして使える」という記載がなされているので、そうした理解でいいのだと思います。
botの応答をチューニングする際、そのスコアが一定の閾値以下だったりして、事実上うまくうあてはまるintentがなかったりする場合に、改善をしたいですよね。
そういった場合に、「判定がうまくいかなかったフラグ」をつけてChatbaseに送っておいて、後で集計して改善策を練る、というための仕組みがHandled & Not Handled Messagesという概念です。
なおDialogflowであれば、https://dialogflow.com/docs/machine-learning#ml_classification_threshold にあるように、一定の閾値を設定することができます。
※ MicrosoftのLUISでは2017年12月現在同等の機能はなく、Mircrosoft Bot Framework SDK側で閾値を設定します。
Chatbaseが現時点で得意じゃないこと
Dialogflowのドキュメントでは、Slot Fillingという概念が紹介されています。
たとえば、botを介してホテルを予約(検索)させる際には
- 目的地
- チェックイン日
- チェックアウト日
という3つの要素を確定させることが必要です。これを、「スロットを埋める」という表現をしているのですが、現行のChatbaseの仕組みでは、どのintentからどのintentに遷移したかは辿れても、「slotをいくつ埋めたか?」というトラッキングをする仕組みは提供されていません。Dialogflowとの連携・改善を考えると、いずれ何かしら仕組みが提供されたらうれしいなと思います。
簡単ですが、本日はここまでで終わります。明日は @shunXnegiさんです。