チャットボットとは (Part 2)
【公開:2019年2月18日】
目次
前回の「チャットボットとは(Part 1)」ブログで、以下のことについて説明しました:
- チャットボットとは
- 2種類のチャットボット
- ルールベースの場合
- AIチャットボットの場合
さて、今回は前回に続きまして、2種類のチャットボットのそれぞれのメリット・デメリットについて説明します。
1. それぞれのメリットとデメリット
1-1 ルールベースの場合
- シンプル:簡単な検索機能以上は必要ない
- 簡単に作成できる:対応フローと多く寄せられる問い合わせさえ分かれば、すぐに作成できる
- 構造が詳細まで分かる:AI のようなブラックボックスではないため、デバッグやコントロールがしやすい
- 学習データが要らない:対応フローや問い合わせ・回答以外のデータを準備する必要がない
- コストが低い:開発が単純なため、開発コストが比較的に安い
メリット
- 解決までが遅い:ユーザーは多数の選択肢から選ばなければならないため、問い合わせの回答までにたどり着くまで時間がかかる
- UX が悪い:様々な選択肢を選ぶため、回答にたどり着くのに多少時間がかかってしまい、結局解決できなかった場合、ユーザー体験(UX)が悪くなる
- 柔軟性が低い:開発時に予期できなかった問い合わせがある場合対応ができず、メンテナンスで修正しなければならない
- 手動の作業が多い:問い合わせの種類などが多ければ多いほど、整理やメンテナンスに時間がかかる
デメリット
1-2 AIチャットボットの場合
- 柔軟性が高い:ユーザーの問い合わせはどんな言い方であっても、システムは何かしら返答をする
- 適応性が高い:システムが学習するため、問い合わせが多ければ多いほど賢くなる。例えば、ユーザー毎の好き嫌いなども学習することができる
- ユーザーに反応できる:やりとりの中で問い返しなどで、ユーザーのやりたいことや求めることを把握できる
- 解決までが速い:システムがユーザーの目的を把握できるため、解決までは比較的に速い
- UX が良い:解決が速く、人間と対話しているようなやりとりが生まれるので面白く、口頭ベースで説明できるので楽といった点で、ユーザー体験(UX)がよくなる
- メンテナンスが手軽:ログデータを保存すれば、今後の追加学習で手軽にシステムを改善できる
メリット
- 質のいい学習データが必要:AIを活用するのに質のいい学習データは欠かせない。学習データが足りない、または精度が低い場合、学習しても結果が見えにくい
- 複雑性:AI がブラックボックスなので、専門知識が必要
- コストが高い:データの生成とシステムの学習に時間がかかってしまうため、開発コストが高い
デメリット
2. AI(人工知能)について
ここで、AI(人工知能)の概要を簡単に説明します。
2-1 人工知能と機械学習
今までの AI(人工知能)システムは機械学習という手法でできています。一言でいうと、機械学習とは人工知能のエンジンです。あらゆる機械学習は、必ず大量の質のいいデータが必要です。このデータを活用して、システムが学習します。チャットボットの場合は、質問とその回答や文章などが学習データとなります。
データの質の大切さを分かるために、簡単な例を挙げて説明します。天気予報を出すシステムを考えましょう。このシステムでは、まずユーザーが天気を知りたいことを認識しなければなりません。ユーザーの質問を認識するためには、次のような学習データが必要です。
- 「今日は雨が降りますか」
- 「今日の天気はどうですか」
- 「天気予報を教えてください」
- 「今日はセーターが必要ですか」
- 「今日は何度ですか」
システムに対して、上記のパターンが全て天気の状況を聞いているので、天気予報を出します。但し、システムに「今日は傘が必要ですか」と聞くと、回答ができない場合があります。なぜならば、学習データに「傘」のキーワードが存在していないからです。人間の場合、「雨」、「天気」、「セーター」、「温度」などのキーワードを考えずに天気予報を提示できますし、「雨」の日に「傘」を持っていくのは当然なので分かります。
システムは「雨」と「天気」と「傘」との関係が分かっていませんが、人間は「雨」の日に「傘」を持っていく事が当然なので分かりますよね。
簡単な例でしたが、これで学習データの重要性が伝わりましたでしょうか。
2-2 それぞれの機械学習とディープラーニング
機械学習とは具体的に何でしょうか。まず、一つの機械学習の手法を「モデル」といい、ユーザーが抱える課題を解決するために数え切れないほどある機械学習のモデルの中から最も適しているモデルを選ぶことが大事です。チャットボットの場合、主に使われているモデルは「ディープラーニング」(深層学習)といいます。ディープラーニングは、ニューラルネットワークの一種で、他のモデルに比べると効率が高いです。それに、画像認識や音声生成など、幅広く拡張できます。
ディープラーニング(深層学習)
ディープラーニングを簡単に説明すると、人間の脳を真似しているモデルです。モデルに学習させるには、ネットワークに学習データを何度も読み込ませ、ネットワークがそのパターンを抽出します。ネットワークのサイズや学習データの量では異なりますが、ネットワークを学習させるのに、数日かかることは珍しくありません。
3. 最後に
チャットボットは、ユーザー体験を改善するだけでなく、社員の作業削減のできる便利なツールです。しかしチャットボットによってそれぞれにメリットとデメリットがあります。
チャットボットを導入する際は、上記のメリット・デメリットを参考に、お客様にあった種類のチャットボットを検討すると良いでしょう。
質問やご相談等ありましたら弊社エクスウェアまでお気軽にご連絡ください。
著者について
イニシャル:J.O.H
オーストラリア出身で、2018年に入社。エクスウェア株式会社でAI・ロボティクスチームで働くソフトウェアエンジニア。