「誰でも、チャットボットを作れるって本当?」
チャットボットの作り方~準備から実装まで~

イントロダクション
チャットボットの作り方~準備から実装まで~

チャットボットとは何か。簡潔に表現するならば、それは「会話形式で情報を入出力するプログラム」だと言えます。本記事では、チャットボットの作り方について説明します。

この記事は、AIを活用したチャットボット『FirstContact』を提供する、株式会社バイタリフィが作成しています。AIの有無別のチャットボットの作り方について紹介していきますので、ぜひ参考にしてみてください!

[PR]20日間無料で利用可能な「FirstContact」についても紹介しておりますので、併せて読んでいただけると嬉しいです!
FirstContactのWebサイトでは実際にチャットボットを設置していますので、良かったら試してみてください。

 

チャットボットの作り方 〜準備編〜

人のイラスト

実際にチャットボットの作り方を説明していく前に、作り方の準備段階の話がありますので、説明していきます。

チャットボットをなぜ作りたいのか、目的を明確にする

サイトのコンバージョン率を上げるため、離脱率を下げるため、電話による問い合わせ数を減らすため……目的によって選択すべきチャットボットは変わってきます。解決したい課題によってはチャットボットが適さない場合もあります。

”チャットボットでやりたいこと”、”解決したい課題は何か”を明確にしてから、チャットボットの作り方を検討したり、実際にチャットボットを導入したりするようにしましょう。

チャットボットの作り方 〜実装編〜 AIなし

チャットボットの作り方の図

まず最初にAIを使わないチャットボットについての作り方をご紹介いたします。

プログラミング言語を決定する

実装を行うための言語を決定します。どこに設置したいかによって使うべき言語は異なりますが、チャットボットの場合、ウェブサイト上に設置することが多いため、Python, PHP, GO, JavaScriptといったweb開発系の言語を使用することになるかと思われます。

会話のやりとりを作成する

こう問いかけられた場合はこう回答する、といった会話のパターンを全て洗い出します。

例:「おはよう、今日はいい天気だね」「そうですね。本日の気温は18℃、降水確率は30%です」
「AのパッケージとBのパッケージ、比較して」「かしこまりました。以下の図をご覧ください」

ここで重要なのが、登録された言葉以外が入力されたとしても、ボットは答えることができないということです。

例:「明日の天気は?(登録されていない会話)」「申し訳ありません、解釈できませんでした(会話が登録されていない場合の定型文)」

プログラムを組む。

会話が出揃いましたら、プログラムを組んでいきます。

実際に運用する場合は、サイト利用者がボットに質問を投げる度に、JavaScriptで質問内容をサーバーに送信、質問を受け取ったサーバーの中でチャットボットのプログラムが動作し、プログラムが吐き出した回答を利用者に送り返す、という一般的なリクエストーレスポンス形式を取るか、または、チャットボットのロジックをフロントに直接書いてしまうことが考えられます。

ツールを使用する。

プログラムを組むのが面倒、あるいはコストがかかり過ぎるという場合は、ツールを使って構築する方法もあります。

チャットボットを作成するためのツールは非常に多く存在し、用途に合ったツールを見つけることができれば、企業が提供する専用のマニュアルに沿って実装することで、欲しい機能を備えたチャットボットを作成することができます。

チャットボットサービスのバナー

チャットボットの作り方 〜実装編〜 AI有り

チャットボットイメージ図

AIを組み入れたチャットボットの作り方について、ざっと説明いたします。

どこにAIが介在するのか把握する。

AIが介入する部分は、主に「文章の意味付け」です。

例を挙げましょう。

「菅首相の年齢は?」

上記の文章は菅首相の年齢を尋ねています。AIはこの文章を解釈し、菅首相という「人物」の「年齢」を「尋ねられている」のだと理解します。これが文章の意味付けです。

具体的にAIがどのような仕組みで文章の解釈を行なっているのかは、「自然言語処理」というワードで検索してください。

AIは「人物」の「年齢」を「尋ねられている」ことを理解しました。回答の作成は二通りの方法があります。回答そのものもAIに作成させるか、それとも回答は人間が(あらかじめ)作成するか、です。

それぞれについて見ていきましょう。

AIが回答を作成する。

AIが回答を作成するとはどういうことか。それは、AIが人間の指示を受けずに一から文章を構築するということです。これは生成モデルと呼ばれる手法で、柔軟な回答を実現します。

例として、雑談AIを作成する手順を見てみましょう。

まず、学習データを用意します。

名大会話コーパスのようなデータセットをダウンロードし、GiNZA, MeCabといった自然言語処理のライブラリを使って整理します。(手法によっては省略)

それらデータを、Tensorflow, Keras, Pytorch, といったディープラーニングフレームワークで作成したモデルに学習させます。

■参考 https://qiita.com/Pu-of-Parari/items/62d7226814a6aba98354

自然言語処理のライブラリ一覧

https://note.com/npaka/n/na0a80b9e368d

ディープラーニングのライブラリ一覧

https://www.bigdata-navi.com/aidrops/32/

このチャットボットは雑談しかできません。何故なら学習させたデータが雑談だからです。AIが回答を自動生成するチャットボット(例えば歴代の首相のプロフィールを正確性は問わず雑談形式で回答するAI、ニッチな話題をさも興味深げに聞いてくれるAI、ジョークAI、など)を作成するには、そのためのデータセットが必要になってきます。

チャットボットサービスのバナー

回答は人間が作成する。

文章の解釈はAIに任せ、回答は人間が作成する。その場合、AIが読み取った文章上の「意味」を「フラグ」とし、「フラグが立った場合の回答をそれぞれ作成する」のがベーシックな手法です。

 「菅首相の年齢は?」

この文章をAIが解釈すると、「菅首相」の「年齢」を「尋ねられている」のだと分かります。この「菅首相」「年齢」という「意味」を「フラグ」として扱い、それらが立ったら=文章上にそれらの「意味」が出現したら、この回答(「2021年5月13日時点の菅首相の年齢は72歳です」)を出力する、と「設定」します。

上記の例であれば、「菅首相」「年齢」「尋ねられている」という「フラグ」が立った場合には、データベースから「菅首相」の「年齢」情報を引っ張り出して表示する。という処理をあらかじめ登録しておくことで、この問いに対して正しい回答を返すことができます。

逆に言えば、AIがフラグを認識したとしても、対応する回答が登録されていなければボットが正しい(=質問の答えとなるような)回答を返してくれることはない、ということです。

このような手法は「ルールベースのチャットボット」であり、また、チャットボットの中では「検索ベースモデル」に分類されます。興味のある方は以下のリンクをご覧ください。

ルールベース型・機械学習型とは?~チャットボットの違い~

実装する

 AIがチャットボットのどこを担当するか把握したら、次は実装です。お近くのAI技術者に実装を依頼するか、ご自身でAIを学び、プログラムを実装します。

ツールを使用する

IBMWatson

https://www.ibm.com/jp-ja/watson

IBMWatsonは、上記の例で言うところの「文章解釈をAIに任せ、回答を人間が作成する」タイプのチャットボットを構築することができるAIツールです。チュートリアルに従って手を動かすことで、簡単なボットを作成することができます。

参考:IBMWatsonで作成されたチャットボットを設置しているサイト
mizicana
mizicanaのチャットボットが搭載されているサイトキャプチャ

https://mizicana.com/

身近な求人を掲載しているサイト。チャットボットにより希望に沿った求人を検索することができる。

チャットボットの活用事例

三谷商事株式会社

三谷商事株式会社のチャットボットが搭載されているサイトキャプチャ

パッケージ商品の新規集客と保守サポートのため、自社のサイトにチャットロボットを設置。結果として、資料請求やマニュアルダウンロードなどチャット経由からの流入が増加した。

積水化学工業株式会社

清水工業株式会社のチャットボットが搭載されているサイトキャプチャ

家づくりにおける住宅ローンの簡易シミュレーションのために導入、GA(Google Analytics)連携により離脱や選択されている項目を可視化、ニーズの把握が可能になった。

アディッドバリュー株式会社

アディットバリュー株式会社株式会社のチャットボットが搭載されているサイトキャプチャ

法人に特化したギフトコンシェルジュサービス「okurimono -おくりもの-」を運営するアディッドバリューは、電話での問い合わせが多かったことから、チャットボットを設置。設置後、チャットボット経由での問い合わせのうち、約3割が成約。

導入事例を問い合わせてみる

チャットボットの作り方 まとめ

チャットボットには様々な種類、作り方があります。現在抱えている問題は何か、それはチャットボットによって解決できるのか。よく考えた上で、目的に合った手法を選ぶことが重要です。

[PR]FirstContactとはどんなサービスか

FirstContactバナー

簡単、低価格。コンバージョン率をアップするWebチャットボットサービス

FirstContactは、社内の問い合わせ対応の自動化、ECサイトにおける購入数の増加、Web接客の実施によるLTVの向上など、お客様が抱える”課題”解決に寄与できるチャットボットサービスです。

チャット・AI(人工知能)による対話・プッシュ通知といった様々な機能を揃え、導入費・運用費共に リーズナブルな価格でご提供しております。
また、Webサイトやアプリをお持ちの企業であれば数行のコードを埋め込む事で、簡単に導入が可能です。

課題解決に繋がる様々なカスタマイズが実現可能

FirstContactはWebサイトでの利用はもちろん、LINEやFacebookとの連携をオプション機能として用意しております。また、弊社は開発を主軸としている”開発会社”のため、お客様の課題や要望に合わせて柔軟に機能を追加したり連携開発を行ったりすることができるという強みを持っています。直近の事例ですと、チャットボットとIVR(音声認識)ソリューションとの連携開発を行い、ユーザーからの電話での問い合わせに対し音声による自動応答ができる仕組みを開発いたしました。

チャットボットと人間、両方で対応

FirstContactはチャットボットによるAIを活用した自動対応・人間のオペレーターによる手動対応を自由に切り替えることができるハイブリッドなWebチャットです。
また、切り替え作業はボタンを1クリックするだけなので簡単に行うことができます。

AIオンオフの説明画像

問い合わせに即時応答し顧客満足を得るためには、チャットボットの「即時応答性・データの豊富さ・再現性」に加え、手動対応の「柔軟性・ユーザーの意図を推論できること」を組み合わせることが、現時点でのWebチャットの最適解といえます。

再現性・・・人間のように記憶違いなどがなく、同じ質問に対していつも同じ答えを返すことができること

なぜWatsonなのか?

FirstContactはWatsonのAPIを利用しています。
WatsonのAIエンジンを選択した理由として、

  • 自然言語処理に強い
  • 会話をツリー状につなげるシンプルなUI
  • 慣れれば複雑なシナリオも設計できる
  • 日本語にも柔軟に対応ができる

といった点があります。

プログラムがわからなくても多くのデータを投入することでバリエーション豊かなシナリオを設計できますし、プログラムがわかればより複雑なシナリオを構築できるようになっています。

Watsonは自然言語処理にも強くなっており、言葉のゆらぎを吸収することが可能となります。人間が思わず言ってしまう話し言葉やうろ覚えで言ってしまう言葉にも反応をすることができます。ユーザーの中には的確な単語が思い浮かぶ人もいれば、ぱっと出てこない中で単語を入力する人など状態は様々だと思います。例えばサービスの料金を聞きたい場合にも「料金を知りたい」「いくらなの?」「金額教えて」「費用は?」など様々な訊き方がありますよね。そういった様々な言い回しの質問にも対応することができるため、Watson搭載のチャットボットはユーザーにとって使い心地の良いチャットボットであると言えます。

Watsonの操作画面

Watsonの操作画面

Webチャット+プッシュ通知を組み合わせたマーケティングの新手法

即時性が強みの「チャットボット」と、人間によるオペレーションを橋渡す機能として、Webプッシュ機能を搭載しています。 即時対応できる体制がなくても、ユーザーに対して後日チャットを返信したり、チャットボットの対応で不十分だった箇所をフォローできます。

これまで、単なる広告チャンネルでしかなかったWebプッシュ を、双方に有益なコミュニケーションツールとして活用できます。「一度サイトを離れるとその後利用してもらいにくい」というデメリットも補うことができます。

また、操作方法も簡単になっておりワンタッチでチャットボットと人間を切替えすることができます。

チャットボットで対応したい場合と人間で対応したい場合、様々な場面においても柔軟にかつ簡単に対応できる仕様となっております。

有人対応切り替えのチャットボット管理画面キャプチャ

検出ワードの設定で必要なときだけ有人対応

ハイブリット対応とはいってもできるだけ人手は省きたいものですよね。管理画面を常時見て、どのユーザーが有人対応を必要としているか探すというのは、せっかくチャットボットを導入しても返って手間になってしまいますし、取りこぼしのリスクもあります。そのような事態を防ぐために、FirstContactには「検出ワード設定」という機能を搭載しております。有人対応を必要とするユーザーに対しAIが返答するテキストを「検出ワード」として設定しておくと、そのキーワードが発話された際にオペレーターにメール通知を送る、という機能です。通知メールにあるURLをクリックすると、すぐに該当ユーザーのチャット画面を開くことができます。

これにより必要な時にだけ即時有人対応をするフローを組むことができ、工数の削減が期待できます。

検出ワード設定

このようにFirstContactでは様々な機能を搭載しており、お客様に合わせたカスタマイズも柔軟に対応しております。

ご相談は無料ですので、是非お気軽にお問い合わせくださいませ!

お問い合わせはこちらから

FirstContactの無料トライアルの相談をしてみる