2019年4月 8日 09:30

チャットボットの仕組みと導入前の検討事項

LINEやWebサイト、アプリなどで近年なじみ深くなってきたチャットボット。人が文章を入力するとロボットが理解して答えを返すようなUXは、ちょっとAIぽい感じがしますね。ユーザーの利便性に加えてデータが取得できるというメリットもあって、問い合わせも増えてまいりました。今回は、その仕組みとチャットボットを導入する前に検討するべきことについて解説します。

チャットボットとは

「対話(chat)」と「ロボット(bot)」を組み合わせた言葉で、一般的にはチャットアプリのようなインターフェースで、ユーザーが文章を打つとロボットが理解して自動的に答えを返すようなシステムの総称を指します。

例えば近年では、飛行機のチケットを取りたいユーザーであれば、チケットを探したい→「探したいチケットの情報を教えてください」→2月1日に出発、2月10日に戻ってくるニューヨーク発シアトル行きのチケット→「チケットの候補はこちらです。」のように、何か要望に合わせて答えを返すようなものをよく見かけるのではないでしょうか。

chatbot.png

チャットボット=AI?

チャットボットは、文章を理解して自動的に答えてくれるので、AIっぽく見えますよね。実際に、自然言語と呼ばれる言葉を理解する(ように見える)ところでAI(自然言語処理)の技術を使っています。

では、この「理解する」とはどういうことなのでしょうか?

チャットボットでは、何を求めているのか(意図)とそれを解釈するためのキーワード(要素)によって、ユーザーの話す内容を総合的に理解しています。例えば「チケットを探したい」という内容の場合は、次のようになります。

  • 意図(インテント) ・・・探したい
  • 要素(エンティティ)・・・チケット

これの2つを取得したことで、チケットの検索処理をする、と解釈します。

次の「2月1日に出発、2月10日に戻ってくるニューヨーク発シアトル行きのチケット」という内容では、要素だけが入っています。

この文章を分解して、「日付」」「出発地点」「到着地点」「必要枚数」の要素がわかれば、あとはプログラムで抽出してチケットの検索処理ができます。

chatbot2.png

つまり、チャットボットはすべてがAIとして動いてるわけではなく、「文脈を理解して単語を意図と要素に分類する」という部分の対話エンジンがAIと呼ばれる動きをし、「回答に必要なものを抽出する」部分はプログラムで処理しているのです。

チャットボットを導入したいというご依頼でお話を伺うと、ときどき「チャットボットの回答を勝手にAIが作ってくれるんですよね?」と言われることがありますが、そうではありません。プログラムで抽出したものをUIに組み込んでいるため、回答するためのリソース(回答に必要なデータベース)が必要です。

チャットボットを開発を依頼する前に

チャットボット開発を依頼する前に検討すべきことについてご紹介します。

目的(何をさせたいのか)

チャットボットの目的を明確にします。例えば、チケットを案内する、施設を案内する、乗り換えを案内するなど、最終的にチャットボットに何をさせたいのかを決定する必要があります。

回答リソースの有無

前述のとおり、回答を導き出すためのリソース(データ)が必要です。これを持っているかどうか、なければ新たに作ることができるかどうかを検討します。

動作するデバイス

どのデバイス上で動かすかを決めます。スマホアプリやブラウザ、スマートスピーカー、デジタルサイネージ、ロボットなど様々な種類があります。ユーザーの利用シーンや目的に応じて検討します。

chatbot3.png

キャラクター設定

人と自然に対話をしている雰囲気づくりのために、キャラクター設定は重要です。これがないと、無機質な印象になりチャットボットの良さが出ません。見た目、動き、話し方、性別、声色など、ユーザーの利用シーンや企業ブランディングに合わせたキャラクターを設定します。

次回はチャットボットのシナリオのメンテナンスについてご紹介しています。

KDLでは、ブラウザやアプリ、サイネージなど様々なシーンに対応するチャットボットの開発を承っています。これから導入をご検討の方、ご相談お待ちしています!

監修:堅田 陽介

デジタルビジネス本部 エンジニア

ページの先頭に戻る