過去の会話を記憶するAIチャットボットが誕生!アメリカのスタートアップが開発する新技術について考えてみた

シェアする?

会話を記憶するAIチャットボット

みなさんにとってチャットボットとは、どんなイメージでしょう?

何か1つの質問に対して1つの回答をするボット。

もしくは

あらかじめ回答がいくつか用意されていて、回答者が選んだ回答によって内容が分岐していくボット。

いずれにせよ、

その便利さゆえに、年々チャットボットを導入している企業はどんどん増えてきています。

特に大手企業では多くの問い合わせや営業の電話がかかって来るため、それに対応するための従業員を雇わなければいけません。しかし、自動チャットボットを利用すればそれらの人件費を大きく削減できます。

実は弊社でも「この調子で会社がどんどん成長していくとなると、電話対応が難しくなってくるのでは」という意見がでていました。

しかし、例えば大手製品のカスタマーサービスに連絡したことがある方には想像がつきやすいかと思いますが、チャットボットを利用したことがある利用者は到底会話をしているという感覚は持てませんよね。相手がチャットボットだとわかって会話をしているケースが多いと思います。

自由に会話ができるようなチャットボットが生まれれば理想なんですが、、
というわけで、チャットボットの新技術について調べてみました。

チャットボットの問題点

そもそも、なぜ現状のチャットボットに自然な会話が難しいのでしょうか。

その理由の1つにAIが会話の前後の文脈を理解できないからということがあげられます。

我々は普段会話をする際、「それ」や「これ」などの指示語を使って過去に述べた文章や言葉を指示する場合があります。つまり、前後の文脈を理解した上で会話をしているのです。

しかし現状多くのチャットボットは1つの質問に対して1つの回答を行うことしかできないのです。

文脈の中での回答ができないため、チャットボットに対して質問者がイライラしてしまうこともしばしば。。

新技術、会話記憶とは?

しかし近い未来に、人とリアルでメッセージをやり取りをしているかのような、そんなチャットボットが誕生しそうです。

活用している技術は会話記憶(conversational memory)です。文字通りAIがそれまでに会話していた内容を記憶しているため、文脈で判断できるようになります。

そんな革新的な技術の実用化に取り組もうしている企業。

それがアメリカのスタートアップ「Posh Technologies」です。

記事では以下の様に述べられています。

“We noticed bots in general would take what the user said at face value, without connecting the dots of what was said before in the conversation,” says Posh co-founder and CEO Karan Kashyap ’17, SM ’17. “If you think about your conversations with humans, especially in places like banks with tellers or in customer service, what you said in the past is very important, so we focused on making bots more humanlike by giving them the ability to remember historical information in a conversation.”

引用元:http://news.mit.edu/2020/posh-chatbots-0417

上の記事を英訳すると以下のようになります。

Poshの共同設立者CEOのKashyapさんは「従来のチャットボットは、読点すら繋げられない、額面通りの意味しか受け取れないということに我々は気づきました。例えば、銀行やカスタマーセンターでの顧客対応では過去の情報が非常に重要ですよね。だから我々は会話履歴を参照(記憶)できるAIにフォーカスを当てて開発をしたのです」と話す。

弊社にもアメリカ留学経験のある社員がいます。

彼が某銀行にクレジットカードの問題で電話したことがあるらしいのですが、それはもう不便のレベルではなかったようです。チャットボットと会話して、待ち時間が2時間以上すぎるのもざらのようです……。

「人と会話しないと解決した試しがありませんので、金融系はチャットボットではまったく通用しないことがよくわかります。しかも一度、“担当者は私じゃないので変わります”といわれて2、3回変わったあとに、“また掛けなおしてください”といわれました。・・・・あやうくスマホを投げるところだったな(遠い目)」

と大変共感してました。

日本でもカスタマーサービスに電話するとチャットボットでざっくり質問内容を分けられたあとに、担当部署の人に繋がるまでに30分くらい要することって結構多いですよね。

しかし、この会話記憶の技術が完成すると、

SMSメッセージやボイスコールだけでなく「Slack」や「What’s up」などのオンラインチャットツールでも使えるようになるみたいです。ゆくゆくは私たち日本人が使っている「LINE」にも導入されるかもしれません。

チャットボットは技術的にどう作るのか

ここで弊社エンジニアに、

チャットボットをとりあえず作って欲しいとなったらどうやってAIに学習させ、どのように作りますか?

という質問をしてみたところ、こんな回答が返ってきました。

難しそうですね。チャットボットということは、質問を理解する。回答する。の2つの処理が必要です。

質問を理解するにはまず形態素解析と言って、文章を文節ごとに分ける処理が入ります。この時点で結構難しい問題でして例えば、

[服が] [レオタードな] [女の子を] [斬る] [織田信長]
という文節があるとします。

文節の関係性によっては、

[服がレオタードな女の子を][斬る織田信長]なのか
[レオタードな女の子を斬る][服が織田信長]なのか
[女の子を斬る][服がレオタードな織田信長]なのか

と、意味が何通りもとれてしまいます。

織田信長パターン色々

意味の捉え方イメージ図。文節の関係性によって織田信長がとんでもないことに

意味を理解させるためにはWord2vecという技術を使えば、どういう単語か調べられそうです。

Word2vecとは、単語をベクトルとして表し、意味の近さや、次にに示す計算のアナロジーを行えるようにする仕組みのことです。

例えば、次のように単語をベクトルに変換します。(数値は例です)

「王様」(0.4,0.1,0.9,0.4)

「女王」(0.5,0.2,0.3,0.4)

「男」(0.1,0.0,0.8,0.2)

「女」(0.2,0.1,0.2,0.3)

ここから足し引きして距離を計算します。

「王様」ー「男」+「女」「女王」(0.5,0.2,0.3,0.5)

といった形で、ベクトル同士の演算によって単語同士の意味関係をうまく捉えさせ、学習させるとそれなりのチャットボットは完成させられそうです。

基本的なAIチャットボットをつくるにはこのような方法で作成できるとのことでした。

また最近は、教師データは用いずに(人力でアノテーションやラベリングしたりはせずに)、Web上に公開されている文章を使って学習するケースも多いようです。
最近注目されているモデルとしてはGoogleさんが発表した自然言語処理モデル「T5」でしょうか。

ある領域の学習済みモデルを別の領域に転用する「転移学習」を利用した機械学習モデルとのことです。

Googleの新たな自然言語処理モデル「T5」は、ある領域の学習済みモデルを別の領域に転用する「転移学習」を利用した機械学習モデルであり、多くの自然言語処理ベンチマークで最も高いスコアを残しています。そのT5の特徴と能力をGoogleが解説しており、実際にT5とクイズで対決できるウェブサイトも公開されています。

どんどん進化していますね。ご参考に!

まとめ

人間とやり取りをしているようなチャットボットが生まれれば、ゆくゆくはコールセンターだけではなく、人とメッセージをやり取りする分野であれば、さまざまなところに普及させられそうです。

さらなる発展に期待!!

ちなみに弊社ネクストシステムはAIの中でも画像認識に特化している企業で、xR(VR、AR、MR)などの先端技術に力を入れているソフトウェア開発会社です。

弊社が独自開発したAI姿勢解析エンジンVisionPoseは発売から約1年で170社を超える企業に導入いただいてます。AI開発で何かお困りの際にはご相談ください。

ネクストシステムお問い合わせ

トップへ戻る