チャットボットがやっと流行の兆しが出てきた。チャットボットとは、スマホなどのモバイル機器で、LINEのようなメッセンジャーアプリを用いて提供されるサービスのことである。LINEで友人と会話するように、問い合わせ対応してくれるUI(ユーザーインターフェース)なので、スマホのような小さな画面でも、ユーザーは目的のサービスに簡単に到達できることができることが最大のメリットだ。

日本語でチャットが可能なサービスだと、今まではLINEでおバカな会話しかできない公式アカウント程度だった。マイクロソフトの「りんな」が登場してからは、かなりまともな会話ができるようになったが、あくまで遊びでしかなかった。このため日本でチャットボットというと、「人工無能」と言われてしまうほど、低レベルのサービスでしかなかった。しかし今年に入り、日本でもドコモなどから続々とチャットボット用のAPIやサービスが提供され始めたため、それこそ誰でも簡単なチャットボットなら作成できるようになった。

ちなみに私も今年の6月の時点で、LINEで会話できるチャットボットを数日程度で作ったことがある。その際にも書いたのだが、プログラマーでなくとも公開されているAPIと無料サービスを組み合わせるだけで容易にチャットボットが開発できるのだから、今年の年末までには様々なチャットボットのサービスが登場するだろうと。
実際に10月に開催されたCEATECでは、チャットボットを用いたヘルプデスクサービスなどの試作が、いくつか登場していた。またLINEやFacebookも最近になってチャットボット用のAPIを公開しているので、本格的なチャットボットのサービスを開発する開発環境が整ってきている。私の予想より半年ほど遅れてはいるが、これでチャットによるサービスが日本でも提供されるはずだ。

もっとも、「本格的」とは言っても、人間のように自然な会話ができるわけではない。自分でチャットボットを開発してみるとよくわかるのだが、ユーザーが入力した「言葉」を解析して「単語」を抽出するまでは、ライブラリが処理してくれる。しかし現時点で提供されているチャット用ソフトウェアでは、設定してあるキーワードが、入力された言葉の中にないとエラーとなるだけだ。つまりチャットボットのサービスを設計する場合、ユーザーが入力するであろう、ありとあらゆる単語を想定し、その後の会話フローを設計する必要があるのだ。未だにこんな原始的な方法でしかチャットボットは開発できていない。もっとも、私の知る範囲でしかないのだが。

その意味では、AppleのSiriが提供しているサービスレベルは非常に高い。かなり高度な自然言語処理ができるため、単純にエラーは返さないが、Siriが回答できないような高度な質問の場合には、人間のオペレータが返答していると言われている。

まあ、旧来からある自然言語処理でも、かなり言葉の「意味」を抽出できるのは確かだ。したがってヘルプデスクサービスでの一次切り分けや、デジタルマーケティング分野におけるWeb接客ツールでのチャットなど、簡単なチャットボットサービス程度なら、比較的容易にサービスができる。しかし前述したように、想定できる範囲の非常に限られた分野での言葉しか「認識(分類)」できない。つまり「旅行」、「洋服」のように特定分野に特化したWeb販売サイトならチャットサービスは可能でも、取り扱う商品やサービスの範疇が幅広いと、とてつもなく開発が困難になるだろうな。

それにしても、入力された言葉や文章を解析することは、それなりに手法が確立しているのだが、「発話」というか日本語で回答文章を自動生成する技術は未だに出来ていないようだ。少なくとも私は知らない。まあ技術が公開されていないだけかもしれないのだが。
意外かもしれないが、今のところチャットボットが返答できるのは、予め用意された「文章」か、その単純な組み合わせでしかない。だから自動ヘルプデスクサービスといっても、あらかじめQ&A用意し入力された文章を自然言語処理でQに分類して、そこに紐づいたAを返答することしかできない。複雑で自然な文章を、自動で生成する技術は今のところないのだ。まあ「人工無能」と呼ばれるのもしかたがない。

では、まったくできないかというと、試作レベルでは出現し始めているようだ。NTT系の会社が日本語処理のトッププレイヤーだと思うのだが、RNNLSTMのようなディープラーニングを活用した高度な自然言語処理で、文章生成ができているようだ。RNNベースなので時系列のニューラルネットだろうから、一連の文章に含まれる単語と単語の関係性を、単純な組み合わせではなく「学習済み」の「正しい文章」に従って、自然な文章として生成できるようだ。これが実用化したら、いつもワンパターンの回答しかできないチャットボットが、「人工知能」らしく会話が出来るようになるのかもしれないな。