全2852文字

今回は、音声認識を利用した対話システムの構成を解説する。

対話システムには音声理解も必要

 音声対話システムは、音声を理解して適切に応答するシステムである。学術的には音声認識は音声を文字にする部分までで、言語的な解析や意図の理解は音声理解の領域である。音声対話システムでは、例えばユーザーが「東京から京都まで」と言った時に、出発地が東京で目的地は京都であると理解し、適切に応答することが求められる。

 音声対話システムの一般的な構成を図1に示した。まず音声を文字にする「音声認識」部があり、用途に応じて意味や概念などを理解する「言語理解」部がある。例えば天気を案内するシステムでは、「XXの天気」と言われたらXXを特定できなければならない。ただし、それ以外の言葉は無視してもいい。「XXは晴れてる?」「XXには雨が降るの?」などと言われた場合も、XXの天気を答えられればいいわけである。「応答文生成」部が「今日と明日は晴れます」といった応答を生成し、「音声合成」部が音声に変換して返す。

図1 音声対話システムの構成
図1 音声対話システムの構成
音声対話システムでは、音声認識で音声を文字にした後、話者の意図を理解したり、応答文を生成したりといった処理が必要になる。(作成:筆者)
[画像のクリックで拡大表示]

対話システムの複雑さを決める要因

 音声対話システムは、ユーザーが持つ何らかの目的のためのサービスを提供するシステムである。その用途は多種多様で、例えばバス運行情報案内システム(「京都駅から京大正門前まで」)、ホテル検索システム(「京都市内で温泉のある宿を教えて」)、レストラン検索システム(「京都駅前にある手ごろな焼肉屋を探して」)、マニュアル検索システム(「ワープロで目次を作成する方法を教えて」)などが挙げられる。

 これらの中では、最初に挙げたバス運行情報案内システムが最も簡単に実現でき、後の例になるほどシステムは複雑になる。理由の1つは想定される発話パターンの複雑さにある。バスの案内ならば、出発地と目的地が分かれば事足りるし、大抵のユーザーはこれらを発話する。もっと正確には、目的地だけで十分なことが多い。実際、駅で切符を買うときに出発地は不要であり、スマートフォンを使っていればGPSで現在地が分かる。