日経エレクトロニクス2014年7月21日号のpp.86-93「音声対話システムの実際、Siriはどのように成功したか」を分割転載した前編です。

本連載では、実用化が急速に進んでいる音声認識技術の基礎から課題、最新動向を、実装・開発例を交えて解説していく。今回は、音声認識技術を活用してユーザーと対話するシステムの実際を解説する。

 今回は、ユーザーの発話の内容を理解して適切に応答する音声対話システムを取り上げる。ここでは、音声で発したコマンドで機器を操作する「コマンド&コントロール」や、音声検索のように認識結果を検索エンジンにそのまま渡すだけのシステムは、音声対話システムとは呼ばない。

 音声対話システムの典型例は米Apple社の「Siri」やNTTドコモの「しゃべってコンシェル」などである。ここに至るまでには非常に多くの研究があった。まずはその歴史を紹介する。

 図1は音声対話システムの研究の歴史をまとめたものである。現在の対話システムには二つの源流がある。「ELIZA(イライザ)」と「SHRDLU(シャードルー)」だ。共に50年ほど前に作られた非常に有名なシステムであるが、全く対極的なアプローチを採っていた。ELIZAは入力文から特徴的な単語を検出し、表層的なパターンマッチングによって反応を返す。基本的には発話内容の理解はせずに、どんな入力にも何らかの応答をする。これに対してSHRDLUは人工知能的なアプローチにより、発話の内容を深く理解した上で、きちんと返答しようとする。

図1 音声対話システムの歴史
図1 音声対話システムの歴史
実線の矢印は技術の継承関係(部分的な場合を含む)を示す。点線の矢印は、影響を及ぼしたとみられることを表している。
[画像のクリックで拡大表示]

理解はせずに受け答え

 ELIZAは、音声入力ではなくタイプ入力された文に応答する。現在でもEmacsテキストエディター上で動作する。例えば、カウンセリングを受けに来た女性との間で次のような対話が成立する。

女性:「男って、みんな似たようなものよ」

ELIZA:「どんなふうに?」

女性:「私たち女性にややこしいことを言ってくるの」

ELIZA:「具体的にはどんな例がある?」

女性:「私のボーイフレンドが、ここに来て、あなたと話すようにって言ってきたわ」

 これだけを読むと、非常にリアルな対話に見える。1966年、今から50年近く前にどうやってこれを作ったのか。当時のコンピューターではそれほど大したことはできなかったが、入力の中に例えば「alike」という単語があるとこう答えなさいというテンプレートを用意した(図2)。複数の単語を検出した場合は、優先度に応じて答えたり、ランダムに返答したりする。例えばユーザーの発話に「alike」と「always」の両方があったら、優先度が高い方の応答を返す。このように、単に文の中にどういう単語があるかで応答を決めているだけで、何の理解もしていない。それでもある程度もっともらしい動作をする。

図2 「ELIZA」のテンプレート例
図2 「ELIZA」のテンプレート例
[画像のクリックで拡大表示]