search
LoginSignup
4

More than 5 years have passed since last update.

posted at

updated at

Organization

Chatbaseを触ってみて思ったこと

Chatbaseとは?

Chatbase.png

Chatbaseとは、Google が開発した、

  • ユーザーはどのようなトピックを経由しながら会話をしているのか
  • 会話のどこでユーザーが離脱してしまうのか

といったchat特有のアナリティクスを提供してくれるツールです。Dialogflow(旧API.ai)とも既に連携しており、さらに使える機能は増える見込みのようです。

会話のstatusを送りつけることのできるAPIがあり、そこにuser idとともにintentやmessageを送るだけでどんなチャットサービスのbotでも使用することができます。

今年5月のGoogle I/Oでお披露目があり、クローズドで利用されていましたが、11月にようやくPublicになりました

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さんです。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
4