2016年のチャットBot入門・開発編
Pocket

チャットBot入門、最後のテーマは開発についてです。本記事では、LINEやFacebook Messengerなどのメッセンジャーアプリで提供するチャットBotの開発に焦点を当てていきます。すでに様々なサービスが登場してきているので、よくわかりにくいということも多いかと思います。チャットBotを開発するにはどのツールを利用すれば良いのかを整理しました。

キーワードは

・API(プラットフォーム)

・Bot開発フレームワーク

・Bot開発・運用サービス

・自然言語処理・機械学習サービス

・接続ツール

の5つです。

API(プラットフォーム)

FacebookやLINEなどのプラットフォーム側が提供するAPIを意味します。このAPIを活用するとBotを開発し、メッセージの送受信を行うことができるようになります。基本的にはサーバーの運用とプログラミングによる開発が必要になります。メリットとしては、メッセンジャーアプリごとにメッセージの丁寧なカスタマイズができること、プラットフォーム側のサポートが受けられるということになるかと思います。

【プラットフォームの提供する公式APIへのリンク】

Facebook Messenger Platform

LINE BOT API Trial Account

Slack API

Bot開発フレームワーク

次に紹介するのがプログラミング用フレームワークです。フレームワークを活用すると、複数のメッセンジャーに提供するBotを一度に開発すること、送受信や通信をするためのメソッドが用意されておりシンプルに書けること、会話ログを利用する会話機能を簡単に実装できることなどです。基本的な開発シーンでは、提供を予定するメッセンジャーに応じて、フレームワークを選択することになるでしょう。

【代表的なフレームワーク】

Botkit SlackとFacebook Messenger向けのBotを開発できるフレームワーク。node.jsで開発ができる。Slackが公式で認めており、Slack向けBot開発の際に主に使われる。

Microsoft Bot Framework Microsoftが公開したフレームワークで。Skypeだけでなく、FacebookやSMSなどにも対応できる。また、開発用のBotエミュレーターなども用意されており、開発環境が充実している。C#またはnode.jsで開発ができる。

※2016年5月時点でLINEが開発できるフレームワークは存在しない。

Bot開発・運用サービス

プログラミングの必要なしでBotを開発・運用できるサービスがいくつも立ち上がっています。ブラウザ上で設定をし、いくつかのルールを登録すると簡単なBotをすぐにFacebook Messengerなどに公開できます。開発者でない人やBotを手軽に試してみたい人におすすめです。当然、サーバーの用意も必要ありません。

【代表的な開発・運用サービス】

Chatfuel Y combinatorに採択されたサービスで、最初はTelegram向けBotツールとして立ち上がったが、Facebook Messengerにも対応を開始した。すでに10万以上のBotが作られ、CNNやTechcrunchのBotもChatfuelをベースにしている。

Meya ブラウザ上でのBot作成だけでなく、公開用のページを作ってくれたり、PythonまたはNode.jsでプログラミングによる機能開発が行えることが特徴。Facebook Messenger、Twitter、Slack、Kik、Telegramなど8つのメッセンジャーに対応している。

Repl-AI ドコモが提供する対話AIをブラウザ上で作成できるサービス。マウス操作で会話と会話を紐付けていく、というかたちで作り上げることが可能だ。テンプレートも用意されており、ゼロから作らなくても良い。現状はLINEやFacebookなどへの対応は発表していないが、日本語のサービスとして掲載。

自然言語処理・機械学習サービス

チャットBot開発を行う際に「曖昧なメッセージに対応したい」ということになると思います。「美味しいラーメンを食べたい」も「おすすめのラーメンを教えて」も基本的には同じニュアンスだが、自然言語処理と機械学習を組み合わせないとこの2つに同一の対応をすることは難しい。自社でできない場合は、API形式で自然言語処理と機械学習を提供するサービスを利用するのがお薦めだ。また、雑談を取り入れたいというときにも活用できるサービスも登場した。

【代表的な自然言語処理・機械学習サービス】

IBM Watson 先日、日本語対応を発表したWatsonは代表格でしょう。分類機を提供するNatural Language Classifierや質問と回答の検索エンジン Retrieve and Rankなど18のAPIを利用することが出来ます。

Wit Facebookが買収した、英語の自然言語処理機能を提供するサービス。ブラウザ上でパターンを登録でき、指定した情報(日付や数字など)を抽出することができる。学習をさせることもできる。

発話理解API ドコモは機械学習技術を用いたAPIを幾つか公開しているがそのうちの1つ。テキストを入力すると、事前に登録した中から、その意図に最も近い機能名及び値を教えてくれる。その他にも、言語解析、シナリオ対話APIなどが提供されている。

人工知能ボットAPI 日本のユーザーローカル社が提供する。全自動で雑談をしてくれるAPIや氏名から姓名を分割したり、性別を推定するAPIなどを提供する。

接続ツール

Botではないが、人力のカスタマーサポートをメッセンジャー上で提供したいこともあるだろう。そのために、CRMツールや社内で利用するメッセンジャーツール(チャットツール)と連携する接続サービスがいくつかでてきている。例えば、ユーザーはFacebook Messengerで問い合わせをして、企業の担当者はSlackからリアルタイムに返信を返すことができる。

【代表的な接続ツール】

Smooch ブラウザ上の連携設定だけで、チャットでの人力カスタマーサポートを提供できる。SlackやZendeskといったツールだけでなくAPIを活用することで自社の管理ツールに組み込むこともできる。また、モバイルのSDKも提供しており、自社アプリ内でのカスタマーサポートも提供可能。

今日のまとめ

チャットBotを開発する手法を整理してみたが、ニーズに沿った手段は見つかったでしょうか。現在はまだ英語向けのサービスが多いですが、日本語で利用できるものもあります。ぜひいろいろと試してみることをおすすめします。

「2016年のチャットBot入門」は今回で終了です。今後もチャットBotの最新トレンドや解説を記事にしていきますので、今後とも宜しくお願い致します。

【宣伝】

BotEgg社では、チャットBotの導入支援・開発事業を行っております。チャットBot導入のご相談をぜひお問合せ下さい。また、開発パートナーも募集しております。

お問合せはこちら

Pocket