チャットボットのしくみと人工知能の関係
チャットボットにおいて、人工知能はどのように活用されているのだろうか。ここでは主に、チャットボット上の人工知能ついて、インプット、プロセス、アウトプットの3つのステップに沿って解説していく。各種メッセージング・サービスにおけるチャットボットの構築・実装方法等については、ここでは触れないためご了承頂ければと思う。

インプット
インプットされるデータとしては、主にテキストデータが挙げられる。その他にも画像や音声、動画等のデータについても考慮しておく必要があるだろう。
プロセス
プロセスについてはさらに2つに分けることができる。ここではプロセス(1)、プロセス(2)として解説したい。
プロセス(1)入力されたデータの処理
テキストデータであれば自然言語処理を行うことによって、入力されたデータの意味をコンピュータが処理できるようにしなければならない。例えば日本語であれば、まず形態素解析を行うことで、テキストデータを単語に切り分ける作業が必要となる。
またテキストを構成する全ての単語の位置関係を把握するための構文解析、そしてテキストの意味を理解するための意味解析や文脈解析を行うことで、インプットされたデータの内容を正しく理解してコンピュータで処理できるようにすることが必要となる。
予め決められた単語のみの入力に限定して対応するものであれば、こうした処理は不要だ。そのため、ユーザー側の入力の自由度をどこまで許容するかによって、必要な処理は異なってくる。自由にどんな内容にも対応可能なチャットボットは理想的ではあるが、作るのは非常に大変だ。入力の自由度を高めれば高めるほど、高度な処理が必要となり、必要なコストも高まるため、費用対効果の面での判断も必要となるだろう。
プロセス(2)出力するデータの生成
プロセス(1)の処理を行うことで、ユーザーの意図(何を求めているのか?)を判断し、返すアウトプットを生成するのがプロセス(2)だ。予め返答文リストを用意することで、マッチングした結果をアウトプットとする。また複数の返答文リストの候補をユーザーの意図との類似性でランク付けし、ランクが高いものをアウトプットとして選定する。その他にも返答文リストとマッチングしない場合のアウトプットを用意したり、新たに学習し返答文リストに登録したりすることによって、次回から正しいアウトプットが出来るようにすることも必要だろう。
目的が多岐にわたるチャットボットでは、判断すべきユーザーの意図や対応する返答文も無数となるため、必要な処理は異なってくる。ユーザーの意図に対応する返答文の作成もある程度、人手を掛けて行う必要もある。チャットボット=人工知能といわれることも多いが、現状ではユーザーの意図の判断から返答文の作成まで全て自動的にやってくれるものではないことを認識しておくとよいだろう。今後の進化によって、こうした作業の効率化や自動化も進んでいくことを期待したい。
アウトプット
アウトプットされるデータとしては、インプットと同じく主にテキストデータが挙げられる。特にアウトプット可能なデータの種類は各種メッセージング・サービスによって異なるため、把握した上で対応することが必要となるだろう。
例えばLINEでは、テキストのほかに画像や動画、音声、場所、スタンプ、画像にリンクURLが設定されたリッチメッセージをアウトプットとして設定することができる。またFacebook Messengerでは、テキストのほかに画像やテキストとボタンで構成されたボタンテンプレートといったようなものを設定することができる。
まとめると、以下のような流れになるだろう。

こうして各ステップで見ていくと「このどこが人工知能なのか?」と疑問を生じる方もいるかもしれない。実際にチャットボット上の人工知能は、人間のような知能を持ったもの(=強い人工知能)ではなく、人間の知能の一部を代行するもの(=弱い人工知能)であり、限定された対応を行っているものと認識してもらってよいだろう。
※強い人工知能と弱い人工知能については、第1回の記事をご参照いただきたい。
どのような目的でチャットボットを活用できるのか?
企業やユーザーには、チャットボットで何かをしたいと考えている方も多いだろう。どのような活用方法があるのか、既に実現されている例も含めると、以下のような領域・分類で整理することができる。
1)チャットボットによるユーザー同士のコミュニケーション支援
●ユーティリティ:補助的な様々な機能を提供し、利便性を高めるもの
-
異なる言語間でのコミュニケーションにおける翻訳
例:LINE英語翻訳(@linejpen) - スケジュール帳と連携して予定を自動的に調整
-
相手と会話している中で表示された位置情報を元にタクシー等の自動車を手配するもの
例:Uberの提供するチャットボット
●エンターテインメント:様々な情報を提供し、コミュニケーションを豊かにするもの相手と会話している中で、面白い画像等のネタを提供
例:Vineの提供するチャットボット
2)チャットボットによる企業とユーザー間のコミュニケーション支援
●応募やアンケート:チャットを通じて、キャンペーンを告知し、ユーザーに応募してもらったり、アンケートに回答してもらったりするようなもの
●コマース:これまでウェブやアプリで提供していたショッピングの機能をチャットによるインターフェースで実現するもの。ユーザーからの入力を元に検索や商品閲覧、購入まで可能とする。
例:フラワーショップ「1-800 Flowers」の提供するチャットボット
●顧客対応やサポート:顧客ユーザーの問い合わせに対して、FAQや必要な情報を提供するもの
例:KLM航空の提供するチャットボット、ヤマト運輸の提供するチャットボット
●コンテンツ配信:ユーザーとの会話によって、ニュース等の記事コンテンツを提供するもの
例:Quartzアプリ上のチャットボット
●IoT等のデバイス連携:ネットワークで接続されたIoT等のデバイス情報の閲覧や操作を実現するもの
例:LG電子
