誰でもわかるチャットボットの仕組み
訪問ありがとうございます。Webエンジニアの桝谷です。
今日は、エンジニア以外の方でもチャットボットがどういう仕組みで動いているのか、専門用語少なめで書いていこうと思います。
はじめに
最近チャットボットという単語をよく目にするようになりました。
実際、チャットボットってなんなのでしょうか。AIと聞くだけで、とても高度な知能を持って、いつか人間を乗っ取ってしまうようなSFの世界みたいなそんなふわふわしたイメージがあったりすると思います。
実際は、そんな高度なものはほとんど無いのですが、難しい説明をされてもよくわからないと思うので、ざっくり簡単に解説していければと思います。
チャットボットの種類
まず、チャットボットには以下のような3つの種類があります。
・辞書型
・シナリオ型
・蓄積型
シナリオ型と辞書型
最近よく目にする、LINEのビジネスアカウントに乗っている「〜の会話をするBot」や「企業の右下に時々出てくる、ライブチャットのFAQ」などは、辞書型になります。
シナリオ型は、「チャットボットを使った〜の申請などの申請系のサービス」や「選択肢を選んでいくと自分の想像している答え出てくるサービス」がこれにあたります。
ここ最近、チャットボットと話題になったものはこの辞書型とシナリオ型を駆使した物が多いです。
この辞書型とシナリオ型の仕組みについては以下の通りです。
■ シナリオ型
1. 入力した文字によって処理を分岐する
2. 分岐先で、入力された文字によって処理を分岐する
3. 結果までたどり着いたら、結果を返す
■ 辞書型
1. 入力された文字を分解する
2. 分解した文字を解析する
3. 事前に登録してある情報を元に結果を返す
このようになっています。
まず、シナリオ型ですが、これはそもそもAIの要素がありません。
ただ単純に分岐の数を用意して、あたかも自分で考えているように見せているだけです。入力された文字が想定と違うと対応できないため、基本的に選択肢を入力させるものが多いです。
次に辞書型ですが、これは少し言語処理要素が入っています。
専門的なところでいうと、この文字の分解と解析では、「形態素解析、構文解析、意味解析、文脈解析」が行われています。とても難しそうです。
ですが安心してください。チャットボットを作っているエンジニアで、この解析を理解している人は、ほぼいないです。なぜなら、GoogleやIBMなどが、この文字解析を行ってくれるサービスを提供してくれているからです。
実際は、Googleなどが提供しているサービスに登録して、「この文字がきたらこの文字を返すよ」っていう設定が画面上でできるようになっています。
あとは、自分たちが使いたいところでそのサービスに接続してあげるだけです。具体的には、「こんにちは」と入力されたらその文字をそのまま解析サービスに投げます。そうすると「こんにちは」という文字列が返ってくるので表示させるだけです。あとはサービス上で質問内容と回答を単純作業で登録していくだけです。その登録数で回答の精度が決まってくるので、マンパワーで解決している形になります。そして登録されていなければ「わからないから、別の言葉で答えてね!」と言った回答を返し、裏でこの回答が入ってなかったから登録しようとなるわけです。GoogleやIBMなど、文字解析のサービスを提供している部分以外は、実際AIの中に入っているのは人間でした状態というのが現実です。
蓄積型
最後に蓄積型ですが、これはかなり複雑です。ログ型といわれたりもしますが、ログ型というは、あってないようなものだと思っているので、少し言い換えました。これに当たるのは、Google翻訳などだと思います。
思いますというのは、実際にGoogle翻訳がどういう技術を使って開発されているのかわからないからです。
簡単に説明すると、膨大なデータを用いて、入力された文字に対して最適で自然な回答をさせるというものです。
ディープラーニングなどと組み合わされて、最適な回答が出せるようにしたり、翻訳などの精度をあげたり、検索の文字列に対しての類似だとか、このキーワードがきたら、おそらくキーワードに興味があるだろう。と言った回答をニュートラルネットワークと膨大なデータを組み合わせて実現しようとしているわけですね。ここ一番研究がされている分野だと思います。みなさんが想像しているAIっぽさはこれが一番ありますね。
まとめ
ざっくりとした説明でしたが、現状では、チャットボットは、ほぼAIではないということがわかったと思います。
そして、現在どういう研究がされて、今後どういう風に進化していきそうなだということがなんとなくでも伝われば嬉しいかなと思います。
最後まで読んでくださりありがとうございます。
面白い記事だと思って、スキ、フォロー、シェアなどしていただければ嬉しいです!
Twitterのフォローもお願いします!
https://twitter.com/gh_e_mstnkzm
この記事が気に入ったらサポートをしてみませんか?