チャットボットとAIの関連性と歴史などを総まとめ

AIの進歩は劇的で、ニューラルネットワークを利用したディープラーニングで非常に高度な処理ができるようになってきました。
今回は、AIの中でも多くの企業が取り入れ始めているチャットボットの仕組みを解説していこうと思います。

チャットボットとAIとの関係性

まずはチャットボットがどういったものなのかご存知でしょうか？
チャットボットはその名の通り、チャットとボットを組み合わせたプログラムの事です。
チャットはインターネットで以前から広く使われているメッセージをリアルタイムでやりとりするためのもので、人間が入力したメッセージに対してボット（ロボット）が自動的に返信するという内容になっています。
チャットボットの原型は以前からあったのですが、あくまでも事前に設定していたメッセージに反応して定型文を返すだけのものでした。
チャットボットはAI技術を活用して学習することによって、人間に近い反応ができるようになり、様々なケースに対応することができるようなったわけです。
そしてこの進化はこれからもっと進んでいくことでしょう。

チャットボットは現在では多くの企業が利用するようになり、有名なところだとLINEなどでも利用されています。
WEBサービスのカスタマーサポートなどもメッセージを送るとチャットボットが対応してくれるといったケースが増えてきています。
これらは24時間対応可能であり、人件費もかからない事から今後ますます増えていくことが予想されます。
また、企業としてはチャットボットを通して様々な顧客のデータを収集・蓄積する事ができます。
これによって、サービスの質の向上などに役立てる事もできることでしょう。

AIの進化とチャットボットの歴史

チャットボットの原型となったのは、1966年に出てきたイライザと呼ばれるプログラムです。
イライザは非常に簡易的な作りで、入力したテキストに対して簡単な回答を返すにとどまります。
それから暫くの時を置き、1997年にofficeアシスタントが誕生します。
officeアシスタントは例のイルカと言えば伝わる人も多いのではないでしょうか？
この時点でも精度はあまり高いとは言えず、煩わしい存在として認識していた人も少なくないはずです。
まだまだ黎明期といったところでしょう。

2008年になるとiコンシェルというサービスがNTTから提供されます。
この辺りからある程度は使えるかなというレベルに達し始めます。
2011年にはiPhoneでSiriが導入され、当初はともかくとして現在ではうまく活用している人も多いでしょう。
iPhoneの注目度が高かった事が影響したかどうかはわかりませんが、この時期には徐々にAIについてメディアが取り上げる事が多くなったように思います。
これに続くように2012年にはiコンシェルが進化ししゃべってコンシェルが提供されるようになります。

2014年になると今度はAmazonからスマートスピーカーやAlexaが発表されます。
スマートスピーカーあたりからAIという概念が一般にも広く認知されはじめたように思います。

2015年にはマイクロソフトからりんなが発表されます。
インターネット上でも話題となり、かなり自然な会話が繰り広げられているのが多くの人の目にとまります。
2016年GoogleからスマートスピーカーGoogle Homeが発売。
2017年ごろからは様々な企業がチャットボットを利用したサービスを提供し始めます。

チャットボット誕生からしばらくはゆっくりとした進化だったのですが、一定のラインを超えてからは加速度的に進化をするようになったのがよく分かります。
特に2008年のiコンシェルあたりから一気に流れが変わったように見えますが、この少し前の2006年にディープラーニングが提案されています。
チャットボットの進化の歴史はディープラーニングが提案され大きく変わったと言えます。
ディープラーニングは人間の脳をモデルとして、膨大な数のデータを流し込んで学習させるという手法で、これによってAIは大きく進化しました。

チャットボット内で活用されるAIの仕組み

チャットボットの仕組みを説明する前に、チャットボットは大きく分けると4つの種類が存在しているという事を解説していきます。
それぞれ入力されたメッセージに対して、どのように回答するのかアプローチが異なります。

1,選択肢タイプ

事前に設定されている回答から選んで返答するタイプです。
あらかじめ設定をしておく必要があり、用意されていない回答はできません。
どの程度のメッセージに返答できるかは事前にどれだけの手間をかけるかによっています。
ただ、どれだけ情報を入力しても限界がありますので、きちんと回答されれば運が良いレベルです。

2,ハッシュタイプ

辞書に登録された内容を元にして返答するタイプです。
特定の分野にのみ特化しており、その分野であれば高い精度で利用できます。
利用目的がしっかりと定まっているケースではハッシュタイプで十分に通用します。

3,ログタイプ

会話ログを蓄積し、それを利用して徐々に精度を上げていくタイプです。
ログが蓄積されると自然に会話できる反面、ログが少ないとまともに稼働できません。
基本的には長期的に運用することで精度があがりますが、はじめの段階でどの程度の精度が出るかは事前準備にかかっています。
精度を上げるためには膨大な量のログが必要です。
また、利用しているユーザーの質によってチャットボット自身の質も左右されます。

4,Elizaタイプ

Yes/Noといった簡単な反応や相手の言葉を繰り返したり要約するような単純なタイプです。
チャットボットの原型であるイライザから名前をとっています。
ビジネスシーンでは利用するのは難しいでしょう。

また、これらの4種をルール・パターンタイプと機械学習タイプと分ける事もあります。
ルール・パターンタイプはあらかじめ返答を用意したりルールを決めたりする必要があるので、FAQ対応などに向いています。
一方で機械学習タイプは正しい回答を統計から導き出しますから、ルールを決めたりする必要はありません。
そのため、ジャンルや状況が制限されない自由な会話において強みが見えてきます。
さて、これらの4種あるいは2種のチャットボットがあることがわかりましたが、実際に人が利用する場合はどのようなプロセスになっているか見ていきます。

まず利用者はチャットボットに対してメッセージを送ることになります。
メッセージアプリケーションは色々な形がありますが、LINEを通じたものであったり、WEBページに埋め込まれていたりします。
アプリケーションを通して送られたメッセージはAPIで連携したボットシステムへ送り込まれて処理されます。
メッセージはボットシステムにより解析され、データベースなどから適切な返答を選び出し、メッセージとして整形します。
メッセージの解析は、多くの場合で入力された文章からキーワードを抜き出すような処理になっています。
一つの文章に複数のキーワードが入っている場合は、その中から一番重要なキーワードを探し出すも必要になります。
そして、抜き出されたキーワードに対する回答をデータベースから探し出していくわけです。
出来上がったメッセージはAPI経由でアプリケーションに戻ってきて、あたかも人が返信してくれたかのような状態になります。
これらのチャットボットの動きはごく短い時間で行われていますから、リアルタイム性も損なわれていません。

企業がWEBサイトなどで導入しているチャットボットは文字のやり取りがほとんどですが、音声入力に対応している場合だと音声の解析などもボットシステムに組み込まれます。
こうした音声解析などにもAI技術が使われています。

チャットボットにおけるAIの問題点

企業にとっても、顧客にとっても非常に便利なチャットボットですが、問題点がないわけではありません。
単純にまだまだ技術不足であり、人間らしさの中に機械っぽさが残る事による違和感とでも言えばいいでしょうか？　そういったものが残っている事は確かです。
特に私達のような日本語の話者にとって、自然な会話というのは実に難しいもので、完璧に日本語を理解して話すというのは現時点のAIでは難しいのが実情ではないでしょうか。

しかし、そういった事以上に問題となっているのが、意図的に偏ったデータを蓄積させられてしまうという現象です。
限られたケースではありますが、チャットボットの反応をより人間に近づけるために、入力されたデータを解析して随時反映させていくような手法をとっていると、特定の集団に偏った情報を与えられることにより、反応を任意の方向に誘導されてしまう事があります。
実際にそのような操作により、反社会的な発言や差別的な発言をするように誘導されてしまったケースがあります。
こうした部分も技術の進歩により対策していく事はできると思いますが、現時点では悪意のある誘導に対して後手に回ってしまうことも少なくありません。
現在でも、収集するデータにフィルタリングをすることで多少ましになりますが、対応したとしてもこの手の事はイタチごっこになりやすいため、悪意ある人間に対してどのように扱っていくかは難しい問題です。

■まとめ

チャットボットは非常に早い速度で進化しており、徐々に生活にも溶け込んできています。
ただ、今のところ実用レベルなのは目的を絞ったケースなどに限られ、完全に人間のような会話をするにはまだ足りていない部分が多くあります。
今後AI技術が進歩することで、チャットボットももっと制度が上がるようになる可能性は十分にあることでしょう。