ChatBot Developer仙台 第2回勉強会 「wit.ai」

ChatBot Developer仙台 第2回勉強会 「wit.ai」

2016年4月27日(水)

会場:株式会社ディー・エム・ピー

今回のテーマは、人工知能APIです。facebookがボットエンジンwit.aiを提供するという発表がありました。当日までに出来るように勉強しようとツールを使い始めるものの、どうも挙動がおかしい。日本語に対応していないのに、無理やり日本語を入れて動かしたから?と心配になりましたが、実はツールのバグがあったようです。wit.aiはまだベータ版です。

12993500_10206577317332674_3761048100592965319_n
英語だと大丈夫なのに、日本語だとエラーが出る…毎日のようにデプロイされているらしく、リリース直後は、登録したデータがいつの間にか消えていた、なんてこともありましたが、最近は落ち着いてきています。

ChatBotDeveloper2.005

第1回勉強会の課題だった「どの人工知能APIを選択すべきか?」を検討するための資料です。いちデベロッパとして、一番気になるもののひとつが、利用料ですよね。無料プランが用意されているAPIもありますが、ある程度の反響が得られたら利用料が必要、というAPIが多いです。作ったボットを多くの方に使って頂きたいですが、利用者が増えたからといって課金できるかどうかは別の話。witは今は無料だけど、今後は有料になるのか?心配です。そこで、wit公式の方に聞いてみました。

pay

stay free!!

なんと良い響きでしょう。。。

無料で利用出来る、このアドバンテージは高いですね。唯一の不安要素が、日本語に非対応という点ですが、wit公式に聞きました。japan

this week!!

今週中に日本語に対応!これで不安がなくなりました。もうwit.ai一択でしょう。ツールの使いやすさはAPI.aiの方が良いんですけど、witはきっと今後もっと良くなる気がします!(個人の感想です)何しろ返事をくれた方がとても気さくで返事が早くて、しかも、オペレーターかと思いきや、wit.aiのCo-founderの方だった!なにそれ。もうwit大好き♪

というわけで、wit.aiを使ったサンプルボットをお披露目しました。せっかく仙台での勉強会なので、ネタは牛タンです。店舗があって、ECサイトがある企業のボットを想定したサンプルです。写真素材は「味の牛たん喜助」様からお借り致しました。

8

ウェルカムメッセージで「店舗検索」と「商品検索」の2種類の機能があることをご案内しています。

1

wit.aiの設定はこちらです。

Entities
1-1

Story
1-2Storyでは「恵比寿」になっていますが、そのすぐ下の「local_location」という名前のentityは関東の表示になっています。この設定が最初は混乱しました。実は、Story上の表示は「恵比寿」でも「名古屋」でもなんでもよくて、それがlocal_locationという名前のentityに含まれていればOKです。

このように関連付けておきます。
1-3

中部と入力すると、このようになります。取得するデータはあらかじめ、データベースに入れておきます。witから「中部」というentityが送られてくるので、「中部」に含まれる店舗があるかどうかを判定して表示しています。

2

次は配送の場合です。
3お店が配送になっただけの変化なので、基本的な動きは同じです。さて、「おつまみ」を入力と書かれていますが、あえて「酒の肴」と入れてみます。
4酒の肴がおつまみのことだと理解しているように見えますが、実は、エイリアスを設定していました。witに、おつまみと酒の肴は同じ意味だと事前に教えていました。
4-1この「事前に教える」手間をかけることが、AIを賢くさせるために重要になります。しかし、ちょっと考えただけでも、会話と応答のパターンは膨大なものがあり、事前に全て教えておくことが現実的とは思えません。とはいえ、期待どおりの答えがもらえないと、ユーザを苛立たせることになるでしょう。

witが混乱するケースとしてこちらを御覧ください。

6

この質問には、配送のEntityとお店のEntityの両方が入っています。witは、配送のStoryに行くか、お店のStoryに行くかで混乱しているようです。

7

このケースは「九州」はEntityには存在するが、情報がデータベースに存在しない言葉です。「東北」は、Entityに存在しない言葉です。どちらも一律の回答をしているのですが、こればかり言われるとユーザは呆れてしまうでしょう。

この問題を解決するには、「選択肢だけでボットを操作する」になります。ユーザになるべく自然言語を入力させない、自然言語の入力があっても「入力しないでください」と回答します。これでユーザの期待を裏切ることはなくなります。しかし同時に、ボットならではの操作性を失うことになります。チャットアプリにもかかわらず自由に言葉を入力できず、事前に決められた言葉しか入力できないなんて。。。

選択肢が押しやすくなる「キーボードカスタマイズ機能」が導入されれば改善されそうですが、4月時点でその仕様はありません。なるべくユーザに混乱の少ない形で自然言語の入力を促す設計が必要です。

ChatBotDeveloper2.006

こうして実際にwit.aiを使うまで、私はAIについて誤解していました。AIとは巨大企業が用意してくれたリソースにただ乗りして、自社サービスを快適にしてくれる魔法のようなものだと思っていました。また、難しそうな理論と読みにくい英語のドキュメントも、自分とは縁のない世界の話のように感じられて、苦手意識がありました。しかし実際に使ってみると、自社サービスに最適化するための作業がそれなりにあり、初期導入も日々の運営のコストも、それなりに見積る必要がありそうで、その対応次第が各サービスに個性を出すこともわかりました。企業によって受付やコールセンターの対応に差がでるのと似ていますね。

自然言語だけでボットと会話して、ボットがユーザの意図を汲みとり、サービスのガイドをしてくれる未来が来ると思うと楽しみです。ただ、そのためには、誰かがAIを賢くする作業を日々やらなければなりません。ギジンの「AIメンテナンス」サービスでは、ボットを賢くする日々の作業を代行いたします。もし、社内にbot担当者を置くことが難しければ、ギジンへの丸投げもご検討頂けましたら幸いです。

ちなみに、wit.aiはfacebookのボットエンジンですが、LINEからの接続も問題なく出来ました。facebookの構造化されたメッセージで出していた情報は、LINEのリッチコンテンツで置き換える必要がありそうです。

9

BOTの情報共有や勉強会の情報は、ChatBot Developer仙台のfacebookグループにリクエストをどうぞ!どなたでもご参加いただけます。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です