(57)【要約】【課題】ユーザにとって快適な音声入力機能を実現する。【解決手段】端末装置１００は、ユーザから入力された音声を検出する音声区間検出部１０１０と、音声認識部１０４０による音声の認識結果に基づく端末音声認識情報、または端末音声認識部とは異なる音声認識部１２５０による音声の認識結果に基づくサーバ音声認識情報のいずれか一方の音声認識情報を用いて、ユーザへの情報提供を行うＨＭＩ制御部１１００と、選択部１０７０とを備える。選択部１０７０は、音声が入力されてからの経過時間に基づいて、これらの音声認識情報のいずれか一方をＨＭＩ制御部１１００が用いる音声認識情報として選択すると共に、ＨＭＩ制御部１１００による情報提供の方法を変化させる。【選択図】図１
2018081185.tif 000002
【特許請求の範囲】
【請求項１】
ユーザから入力された音声を検出する音声検出部と、
第１の音声認識部による前記音声の認識結果に基づく第１の音声認識情報、または前記第１の音声認識部とは異なる第２の音声認識部による前記音声の認識結果に基づく第２の音声認識情報のいずれか一方の音声認識情報を用いて、前記ユーザへの情報提供を行う情報提供部と、
前記音声が入力されてからの経過時間に基づいて、前記第１の音声認識情報または前記第２の音声認識情報のいずれか一方を前記情報提供部が用いる音声認識情報として選択すると共に、前記情報提供部による前記情報提供の方法を変化させる選択部と、を備える音声認識装置。
【請求項２】
請求項１に記載の音声認識装置において、
前記選択部は、
前記音声が入力されてからの経過時間に基づいて、前記第１の音声認識情報を用いた場合の前記情報提供に対する前記ユーザの満足度合いの予測値を表す第１のユーザ満足度と、前記第２の音声認識情報を用いた場合の前記情報提供に対する前記ユーザの満足度合いの予測値を表す第２のユーザ満足度と、を算出し、
前記第１のユーザ満足度と前記第２のユーザ満足度とを比較し、その比較結果に基づいて、前記第１の音声認識情報または前記第２の音声認識情報のいずれか一方を選択する音声認識装置。
【請求項３】
請求項２に記載の音声認識装置において、
前記第１の音声認識情報を先に取得し、前記第２の音声認識情報を未取得である場合に、前記選択部は、
前記音声が入力されてから前記第１の音声認識情報が得られるまでの経過時間に関する第１の経過時間を計測すると共に、前記音声が入力されてから前記第２の音声認識情報が得られるまでの経過時間に関する第２の経過時間を予測し、
計測した前記第１の経過時間に基づいて、前記第１のユーザ満足度を算出し、
予測した前記第２の経過時間に基づいて、前記第２のユーザ満足度を算出し、
算出した前記第１のユーザ満足度と前記第２のユーザ満足度とを比較し、その比較結果に基づいて、前記第１の音声認識情報を選択するか否かを決定する音声認識装置。
【請求項４】
請求項２に記載の音声認識装置において、
前記第１の音声認識情報を取得済みであり、前記第２の音声認識情報を未取得である場合に、前記選択部は、
前記音声が入力されてから現在までの経過時間に関する第３の経過時間を計測し、
計測した前記第３の経過時間に基づいて、前記第１のユーザ満足度および前記第２のユーザ満足度を算出し、
算出した前記第１のユーザ満足度と前記第２のユーザ満足度とを比較し、その比較結果に基づいて、前記第１の音声認識情報を選択するか否かを決定する音声認識装置。
【請求項５】
請求項２に記載の音声認識装置において、
前記第１の音声認識情報を先に取得し、前記第２の音声認識情報を後で取得した場合に、前記選択部は、
前記音声が入力されてから前記第２の音声認識情報が得られるまでの経過時間に関する第２の経過時間を計測し、
計測した前記第２の経過時間に基づいて、前記第１のユーザ満足度および前記第２のユーザ満足度を算出し、
前記第１のユーザ満足度と前記第２のユーザ満足度とを比較し、その比較結果に基づいて、前記第１の音声認識情報または前記第２の音声認識情報のいずれか一方を選択する音声認識装置。
【請求項６】
請求項２から請求項５のいずれか一項に記載の音声認識装置において、
前記選択部は、さらに、前記音声の属性に応じて予め定められた複数のドメインのうち前記第１の音声認識情報および前記第２の音声認識情報にそれぞれ対応する第１のドメインおよび第２のドメインと、前記第１の音声認識情報および前記第２の音声認識情報にそれぞれ対応して求められた第１の推定正解率および第２の推定正解率と、の少なくとも一つに基づいて、前記第１のユーザ満足度および前記第２のユーザ満足度を算出する音声認識装置。
【請求項７】
請求項６に記載の音声認識装置において、
前記第１の音声認識部および前記第２の音声認識部の少なくとも一つは、複数の辞書データのいずれかを用いて前記音声の認識を行い、
前記選択部は、前記第１の音声認識部および前記第２の音声認識部の少なくとも一つが前記音声の認識に用いた辞書データに基づいて、前記第１のドメインおよび前記第２のドメインの少なくとも一つを推定する音声認識装置。
【請求項８】
請求項６に記載の音声認識装置において、
前記第１の音声認識情報および前記第２の音声認識情報の少なくとも一つは、前記音声に対する前記ユーザの意図の推定結果を示す意図推定情報を含み、
前記選択部は、前記意図推定情報に基づいて、前記第１のドメインおよび前記第２のドメインの少なくとも一つを推定する音声認識装置。
【請求項９】
請求項６に記載の音声認識装置において、
前記選択部は、過去の前記第１のドメインおよび前記第２のドメインの推定履歴に基づいて、前記第１のドメインおよび前記第２のドメインを推定する音声認識装置。
【請求項１０】
請求項６に記載の音声認識装置において、
前記選択部は、前記第１のドメインおよび前記第２のドメインと、前記第１の音声認識情報に対する信頼度および前記第２の音声認識情報に対する信頼度と、前記音声が入力されてからの経過時間と、の少なくとも一つに基づいて、前記第１の推定正解率および前記第２の推定正解率を決定する音声認識装置。
【請求項１１】
請求項１に記載の音声認識装置において、
前記第１の音声認識情報および前記第２の音声認識情報は、前記音声に対する前記ユーザの意図の推定結果を示す意図推定情報をそれぞれ含み、
前記選択部は、前記第１の音声認識情報または前記第２の音声認識情報のいずれか一方に含まれる前記意図推定情報を選択する音声認識装置。
【請求項１２】
請求項１に記載の音声認識装置において、
前記選択部は、
前記第１の音声認識情報または前記第２の音声認識情報のいずれかに基づく入力操作を前記ユーザの入力操作として採用する採用動作と、
前記第１の音声認識情報または前記第２の音声認識情報のいずれかに基づく入力操作を前記ユーザの確認後に前記ユーザの入力操作として採用する確認動作と、
前記第１の音声認識情報に基づく入力操作および前記第２の音声認識情報に基づく入力操作のいずれも採用せずに棄却する棄却動作と、のいずれかの動作を選択し、
選択した動作に応じて前記情報提供の方法を変化させる音声認識装置。
【請求項１３】
端末装置とサーバとを備えた音声認識システムであって、
前記端末装置は、
ユーザから入力された音声を検出する音声検出部と、
前記音声を認識するための音声認識処理を実行し、前記音声の認識結果に基づく第１の音声認識情報を出力する第１の音声認識部と、
前記音声に基づく音声情報を前記サーバに送信し、前記サーバから送信される第２の音声認識情報を受信する第１の通信制御部と、
前記第１の音声認識情報または前記第２の音声認識情報のいずれか一方を用いて、前記ユーザへの情報提供を行う情報提供部と、
前記音声が入力されてからの経過時間に基づいて、前記第１の音声認識情報または前記第２の音声認識情報のいずれか一方を選択すると共に、前記情報提供部による前記情報提供の方法を変化させる選択部と、を備え、
前記サーバは、
前記端末装置から送信される前記音声情報を受信し、前記第２の音声認識情報を前記端末装置に送信する第２の通信制御部と、
前記音声情報に基づいて前記音声を認識するための音声認識処理を実行し、前記音声の認識結果に基づく前記第２の音声認識情報を出力する第２の音声認識部と、を備える音声認識システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音声認識装置および音声認識システムに関する。
【背景技術】
【０００２】
近年、スマートフォンやカーナビゲーションにおいて、音声認識エンジンを使用した音声入力機能が実現されている。特許文献１には、車載装置とサーバをネットワークを介して接続し、車載装置とサーバにそれぞれ搭載された音声認識処理部を用いて、車載装置とサーバとで分散して音声認識処理を行う音声認識システムが開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−８８４７７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に開示された音声認識システムは、たとえばメニュー画面のように、予め定められた選択肢の中から該当項目を音声で選択する入力モードでは、車載装置の音声認識処理部を選択し、任意のテキストを音声で入力する入力モードでは、サーバの音声認識処理部を選択する。これにより、どちらの音声認識処理部で音声認識処理を実行するかを振り分けている。しかしながら、このような音声認識処理の振り分け方法では、車載装置の音声認識処理部で十分に認識可能な音声が入力された場合であっても、サーバの音声認識処理部が選択されてしまい、応答に時間がかかることがある。したがって、必ずしもユーザにとって快適な音声入力機能を実現することができない。
【課題を解決するための手段】
【０００５】
本発明による音声認識装置は、ユーザから入力された音声を検出する音声検出部と、第１の音声認識部による前記音声の認識結果に基づく第１の音声認識情報、または前記第１の音声認識部とは異なる第２の音声認識部による前記音声の認識結果に基づく第２の音声認識情報のいずれか一方の音声認識情報を用いて、前記ユーザへの情報提供を行う情報提供部と、前記音声が入力されてからの経過時間に基づいて、前記第１の音声認識情報または前記第２の音声認識情報のいずれか一方を前記情報提供部が用いる音声認識情報として選択すると共に、前記情報提供部による前記情報提供の方法を変化させる選択部と、を備える。
本発明による音声認識システムは、端末装置とサーバとを備え、前記端末装置は、ユーザから入力された音声を検出する音声検出部と、前記音声を認識するための音声認識処理を実行し、前記音声の認識結果に基づく第１の音声認識情報を出力する第１の音声認識部と、前記音声に基づく音声情報を前記サーバに送信し、前記サーバから送信される第２の音声認識情報を受信する第１の通信制御部と、前記第１の音声認識情報または前記第２の音声認識情報のいずれか一方を用いて、前記ユーザへの情報提供を行う情報提供部と、前記音声が入力されてからの経過時間に基づいて、前記第１の音声認識情報または前記第２の音声認識情報のいずれか一方を選択すると共に、前記情報提供部による前記情報提供の方法を変化させる選択部と、を備え、前記サーバは、前記端末装置から送信される前記音声情報を受信し、前記第２の音声認識情報を前記端末装置に送信する第２の通信制御部と、前記音声情報に基づいて前記音声を認識するための音声認識処理を実行し、前記音声の認識結果に基づく前記第２の音声認識情報を出力する第２の音声認識部と、を備える。
【発明の効果】
【０００６】
本発明によれば、ユーザにとって快適な音声入力機能を実現することができる。
【図面の簡単な説明】
【０００７】
【図１】本発明の一実施形態に係る音声認識システムの構成を示す図である。
【図２】採用動作、確認動作、棄却動作のそれぞれにおいて表示される画面の例を示す図である。
【図３】選択部において実行される処理のフローチャートである。
【図４】結果１個目新規到着の判断ルーチンを示すフローチャートである。
【図５】結果２個目新規到着の判断ルーチンを示すフローチャートである。
【図６】結果未到着時の判断ルーチンを示すフローチャートである。
【図７】結果１個到着済みの判断ルーチンを示すフローチャートである。
【図８】ユーザ満足度を算出するための関数の例を示す図である。
【図９】ユーザ満足度を算出するための関数の別の例を示す図である。
【発明を実施するための形態】
【０００８】
以下、本発明の実施形態を図面に基づいて説明する。なお、以下で説明する実施形態では、カーナビゲーションシステムに代表される車載端末を例として、本発明による音声認識装置を説明する。ただし、本発明は音声入力機能を有する他の装置、たとえば携帯電話、スマートフォン、ロボットなどにも適用できる。
【０００９】
図１は、本発明の一実施形態に係る音声認識システム１の構成を示す図である。図１に示す音声認識システム１は、端末装置１００とサーバ２００とが通信ネットワーク３００を介して接続されることで構成されている。
【００１０】
端末装置１００は、たとえば車両に搭載されており、音声区間検出部１０１０、音声符号化部１０２０、通信制御部１０３０、音声認識部１０４０、辞書データベース１０５０、意図推定部１０６０、選択部１０７０、ユーザ満足度記憶部１０８０、ＨＭＩ制御部１１００、音声出力装置１１１０、録音音声合成部１１２０および規則音声合成部１１３０を備える。なお、端末装置１００は、たとえば不図示のＣＰＵやメモリ、記録媒体等を備えており、メモリや記録媒体に記憶された所定のプログラムをＣＰＵにおいて実行することで、音声区間検出部１０１０、音声符号化部１０２０、通信制御部１０３０、音声認識部１０４０、意図推定部１０６０、選択部１０７０、ＨＭＩ制御部１１００、音声出力装置１１１０、録音音声合成部１１２０および規則音声合成部１１３０の各機能を実現することができる。また、記録媒体内の所定の記憶領域を用いて、辞書データベース１０５０およびユーザ満足度記憶部１０８０の各機能を実現することができる。
【００１１】
音声区間検出部１０１０は、マイク１０を通してユーザから入力された音声を検出する。音声区間検出部１０１０は、たとえばマイク１０から入力される音声信号から実際にユーザが発話している部分を抽出し、その部分の信号波形をサンプリングして音声データ化することで、ユーザの音声を検出する。
【００１２】
音声符号化部１０２０は、音声区間検出部１０１０で検出されたユーザの音声を、サーバ２００に送信するためのデータ形式に変換する。音声符号化部１０２０は、たとえば音声区間検出部１０１０から出力される音声データに対して所定の圧縮処理を行うことでデータ量を削減し、サーバ２００への送信に適した音声情報を生成する。
【００１３】
通信制御部１０３０は、音声区間検出部１０１０で検出されたユーザの音声に基づく音声情報、すなわち音声符号化部１０２０で生成された音声情報をサーバ２００に送信する。また、音声情報を受信したサーバ２００において後述のように音声認識処理が実行されることで音声認識情報がサーバ２００から送信されると、この音声認識情報を受信して選択部１０７０に出力する。通信制御部１０３０は、携帯電話網やインターネット等の公衆通信回線を用いて構成された通信ネットワーク３００と接続可能であり、通信ネットワーク３００を介してサーバ２００との間で通信を行う。
【００１４】
音声認識部１０４０は、端末装置１００に備えられている音声認識エンジンであり、音声区間検出部１０１０で検出されたユーザの音声を認識するための音声認識処理を実行する。音声認識部１０４０が実行する音声認識処理では、辞書データベース１０５０が用いられる。辞書データベース１０５０には、複数の辞書データが予め登録されている。音声認識部１０４０は、この複数の辞書データのいずれかを用いて、ユーザの音声に対応するテキストを特定する。具体的には、たとえば音声認識部１０４０は、端末装置１００を用いてユーザに提供されるコンテンツの内容（たとえばナビゲーション情報、音楽再生等）や、端末装置１００が搭載されている車両の状態などに応じて、辞書データベース１０５０に登録されている複数の辞書データの中から、ユーザが発する可能性の高い音声の種類に対応する辞書データを選択する。そして、選択した辞書データを用いて、音声区間検出部１０１０から入力された音声データに対応するテキストを検索することで、ユーザの音声に対応するテキストを特定する。音声認識部１０４０による音声認識結果、すなわち音声認識部１０４０で特定されたユーザの音声に対応するテキストは、意図推定部１０６０および選択部１０７０に出力される。
【００１５】
意図推定部１０６０は、音声認識部１０４０で得られた音声認識結果に基づいて、マイク１０から入力された音声に対するユーザの意図を推定する。意図推定部１０６０は、たとえば音声認識結果として得られたテキストが施設の検索を示唆するものであれば、ユーザの意図が「施設検索」であると推定する。同様にして、たとえば「電話発信」、「オーディオ再生」などのユーザの意図を推定することができる。意図推定部１０６０によるユーザの意図の推定結果を示す意図推定情報は、音声認識部１０４０による音声認識結果（テキスト）と共に、端末装置１００での音声認識結果に基づく音声認識情報として選択部１０７０に入力される。以下では、この端末装置１００での音声認識結果に基づく音声認識情報を「端末音声認識情報」と称する。また、通信制御部１０３０で受信されるサーバ２００での音声認識結果に基づく音声認識情報を「サーバ音声認識情報」と称する。なお、意図推定部１０６０は端末装置１００において必須の構成ではなく、省略してもよい。この場合、端末装置１００においてユーザの意図推定は行われない。
【００１６】
選択部１０７０は、音声認識部１０４０および意図推定部１０６０から入力された端末音声認識情報と、通信制御部１０３０から入力されたサーバ音声認識情報とのいずれか一方を選択する。このとき選択部１０７０は、ユーザ満足度記憶部１０８０に記憶されたユーザの満足度に関するデータに基づいて、端末音声認識情報とサーバ音声認識情報とのそれぞれについてユーザの満足度を算出し、その算出結果に基づいて、いずれか一方の音声認識情報を選択する。そして、選択した音声認識情報のテキストをＨＭＩ制御部１１００へ出力すると共に、選択した音声認識情報を用いてＨＭＩ制御部１１００の動作を制御するなお、選択部１０７０による具体的な音声認識情報の選択方法については、後で詳しく説明する。
【００１７】
ＨＭＩ制御部１１００は、選択部１０７０の制御に基づき、選択部１０７０から出力されたテキストを用いて、ユーザへの情報提供を行うＨＭＩ（Human Machine Interface）を制御する。具体的には、たとえば音声出力装置１１１０に対してテキストに応じた音声の出力指令を行ったり、端末装置１００と接続されたディスプレイ３０に対してテキストに応じた画像や文字の表示指令を出力したりすることで、ＨＭＩを制御し、ユーザへの情報提供を行う。
【００１８】
音声出力装置１１１０は、ＨＭＩ制御部１１００からの音声出力指令に応じて、スピーカ２０へ音声信号を出力する。音声出力装置１１１０は、録音音声合成部１１２０に予め保存された録音音声や、規則音声合成部１１３０により生成された合成音声を用いて、任意の音声信号を生成することができる。ＨＭＩ制御部１１００から音声出力指令が出力されると、その音声出力指令に応じた音声信号が音声出力装置１１１０において生成され、スピーカ２０に出力される。
【００１９】
タッチパネル４０は、ディスプレイ３０と一体的に構成された操作部材であり、ユーザがディスプレイ３０の画面を手で触ったときの操作情報を検知してＨＭＩ制御部１１００に出力する。ＨＭＩ制御部１１００は、タッチパネル４０からの操作情報に基づき、ディスプレイ３０に表示される画面を制御する。
【００２０】
サーバ２００は、端末装置１００から離れた場所に設置されており、通信制御部１２１０、音声対話制御部１２２０、対話シナリオ１２３０、音声復号化部１２４０、音声認識部１２５０、辞書データベース１２６０および意図推定部１２７０を備える。なお、サーバ２００は、たとえば不図示のＣＰＵやメモリ、記録媒体等を備えており、メモリや記録媒体に記憶された所定のプログラムをＣＰＵにおいて実行することで、通信制御部１２１０、音声対話制御部１２２０、音声復号化部１２４０、音声認識部１２５０および意図推定部１２７０の各機能を実現することができる。また、記録媒体内の所定の記憶領域を用いて、対話シナリオ１２３０および辞書データベース１２６０の各機能を実現することができる。
【００２１】
通信制御部１２１０は、端末装置１００から送信された音声情報を受信する。また、受信した音声情報に基づいて音声認識部１２５０が音声認識処理を実行し、その結果に基づく音声認識情報が音声認識部１２５０から音声対話制御部１２２０を介して入力されると、この音声認識情報をサーバ音声認識情報として端末装置１００に送信する。通信制御部１２１０は、通信ネットワーク３００と接続可能であり、通信ネットワーク３００を介して端末装置１００との間で通信を行う。
【００２２】
音声対話制御部１２２０は、対話シナリオ１２３０を用いて、端末装置１００がディスプレイ３０やスピーカ２０によりユーザに提示する画面や音声ガイダンスなどの制御を行う。対話シナリオ１２３０には、たとえば各場面においてユーザに出力すべき画面や音声の情報と、これらの情報に対してユーザが発声する可能性がある音声に対応するテキストや意図とが組み合わせて記録されている。さらに、ユーザの音声に応じた遷移先の情報として、次に出力すべき画面や音声の情報も記録されている。音声対話制御部１２２０は、これらの情報に基づき、通信制御部１２１０を介して端末装置１００の動作を制御することができる。
【００２３】
音声復号化部１２４０は、端末装置１００から送信された音声情報に基づき、ユーザの音声を復元する。音声復号化部１２４０は、たとえば端末装置１００の音声符号化部１０２０において圧縮された音声データを解凍することで、マイク１０を介して端末装置１００に入力されたユーザの音声を復元する。
【００２４】
音声認識部１２５０は、サーバ２００に備えられている音声認識エンジンであり、端末装置１００から受信した音声情報に基づくユーザの音声を認識するための音声認識処理を実行する。音声認識部１２５０が実行する音声認識処理では、辞書データベース１２６０が用いられる。音声認識部１２５０は、辞書データベース１２６０を用いて、音声復号化部１２４０から入力された音声データに対応するテキストを検索することで、ユーザの音声に対応するテキストを特定する。なお、端末装置１００の辞書データベース１０５０と同様に、辞書データベース１２６０において予め複数の辞書データを登録しておき、この複数の辞書データのいずれかを用いて、音声認識部１２５０がユーザの音声に対応するテキストを特定するようにしてもよい。音声認識部１２５０による音声認識結果、すなわち音声認識部１２５０で特定されたユーザの音声に対応するテキストは、意図推定部１２７０に出力されると共に、音声対話制御部１２２０を介して通信制御部１２１０に出力される。
【００２５】
意図推定部１２７０は、音声認識部１２５０で得られた音声認識結果に基づいて、端末装置１００に対して入力された音声に対するユーザの意図を推定する。意図推定部１２７０は、端末装置１００における意図推定部１０６０と同様の手法により、ユーザの意図を推定することができる。意図推定部１２７０によるユーザの意図の推定結果を示す意図推定情報は、音声認識部１２５０による音声認識結果（テキスト）と共に、サーバ音声認識情報として、音声対話制御部１２２０を介して通信制御部１２１０に出力される。通信制御部１２１０は、こうして入力されたサーバ音声認識情報を端末装置１００に送信する。なお、意図推定部１２７０はサーバ２００において必須の構成ではなく、省略してもよい。この場合、サーバ２００においてユーザの意図推定は行われない。
【００２６】
次に、端末装置１００によるユーザへの情報提供について説明する。音声認識システム１における端末装置１００は、前述のように選択部１０７０において、端末音声認識情報とサーバ音声認識情報のそれぞれについてユーザの満足度を算出し、その算出結果に基づいて、いずれか一方の音声認識情報を選択する。そして、選択した音声認識情報を用いたときのユーザ満足度が最大となるようにＨＭＩ制御部１１００の動作を制御して、ユーザへの情報提供を行う。たとえば、採用動作、確認動作、棄却動作の３種類の動作のいずれかを行うようにＨＭＩ制御部１１００を制御することで、ユーザへの情報提供の方法を変化させ、ユーザ満足度が最大となるようにする。
【００２７】
図２は、採用動作、確認動作、棄却動作のそれぞれにおいてディスプレイ３０に表示される画面の例を示す図である。このときユーザは、たとえば「横浜国際空港」という音声を発話したとする。さらに、この音声に対するユーザの意図は、「横浜国際空港を目的地に設定する」という入力操作であったとする。なお、音声認識システム１は、ユーザが発話した上記の音声を認識して、その認識結果からユーザの意図どおりに情報提供が行われるように動作する。しかし、ユーザの音声に含まれる雑音が大きい等の理由から、端末装置１００の音声認識部１０４０やサーバ２００の音声認識部１２５０において、音声認識に誤りが生じてしまう場合がある。そのため、音声認識システム１では、端末装置１００が上記の３種類の動作のいずれかを行うことで、状況に応じて、ユーザに確認をとった上でユーザの入力操作の内容を決定したり、得られた音声認識結果を採用せずに一旦棄却したりするようにしている。
【００２８】
図２（ａ）の画面２０１０は、上記の音声に対して採用動作を行った場合にディスプレイ３０に表示される画面の例である。この場合、選択部１０７０は、音声認識システム１が端末装置１００またはサーバ２００の音声認識結果に基づいて特定した「横浜国際空港を目的に設定する」という入力操作は、ユーザの意図通りであるという信頼性が高いと判断する。そのため、これをユーザの入力操作として即座に採用し、端末装置１００がユーザに提供するナビゲーション情報の処理に反映する。
【００２９】
図２（ｂ）の画面２０２０および図２（ｃ）の画面２０３０は、上記の音声に対して確認動作を行った場合にディスプレイ３０に表示される画面の例である。この場合、選択部１０７０はユーザに対して、音声認識システム１が端末装置１００またはサーバ２００の音声認識結果に基づいて特定した入力操作はユーザの意図通りであるか否かを確認させる。図２（ｂ）の画面２０２０では、音声認識システム１が認識した入力操作の候補が一つだけ表示されている。ユーザは、この候補が意図通りであるかどうかを、「はい」と「いいえ」の二択で確認する。一方、図２（ｃ）の画面２０３０では、音声認識システム１が認識した入力操作の候補が複数表示されている。ユーザは、これらの候補の中からいずれかを選択することで、意図に合致した入力操作の確認を行う。ユーザの確認後、選択部１０７０は、確認された入力操作をユーザの入力操作として採用する。
【００３０】
図２（ｄ）の画面２０４０は、上記の音声に対して棄却動作を行った場合にディスプレイ３０に表示される画面の例である。この場合、選択部１０７０は、音声認識システム１が端末装置１００またはサーバ２００の音声認識結果に基づいて特定した入力操作の候補が正しくないと判断して、いずれの候補も採用せずに棄却する。そして、ユーザに再度発話するように促すことで、正しい入力操作の候補が得られるように、音声認識システム１における音声認識のやり直しを図る。
【００３１】
次に、端末装置１００の選択部１０７０における音声認識情報の選択方法について説明する。図３は、選択部１０７０において実行される処理のフローチャートである。図３のフローチャートに示す処理は、ユーザが発話した音声がマイク１０から端末装置１００に入力されると開始される。なお、ユーザが端末装置１００に設けられた不図示の操作ボタンを押すことで、ユーザが発話を開始したと判断してもよいし、操作ボタンを押さずにユーザの発話を検知できるようにしてもよい。
【００３２】
ステップ３０１０において、選択部１０７０は、端末装置１００の音声認識部１０４０からの音声認識結果、すなわち端末音声認識情報、または、サーバ２００の音声認識部１２５０からの音声認識結果、すなわちサーバ音声認識情報が到着するか、あるいは、処理の開始または前回の音声認識結果の到着から一定時間が経過するまで待機する。なお、ここで一定時間が経過するのを待つ理由は、音声認識結果が得られない場合にその時点でのユーザ満足度を定期的に予測し、その値に応じて次の動作を決定するためである。音声認識結果が到着するか、または一定時間が経過したら、待機を解除して次のステップ３０２０に処理を進める。
【００３３】
ステップ３０２０において、選択部１０７０は、ステップ３０１０で待機を解除した原因が音声認識結果の到着と一定時間の経過とのいずれであるかを判断する。その結果、音声認識結果の到着によって待機を解除した場合は処理をステップ３０３０に進め、一定時間の経過によって待機を解除した場合は処理をステップ３０６０に進める。
【００３４】
ステップ３０３０において、選択部１０７０は、到着した音声認識結果が一個めであるか否かを判定する。一個目である場合、すなわち最初に到着した音声認識結果である場合はステップ３０４０に進み、二個目である場合、すなわち二番目に到着した音声認識結果である場合はステップ３０５０に進む。なお、このステップ３０３０の処理では、到着した音声認識結果の出力元が端末装置１００（音声認識部１０４０）とサーバ２００（音声認識部１２５０）のどちらであるかは問わない。ただし通常は、通信の遅延などのため、端末装置１００からの音声認識結果が先に到着し、サーバ２００からの音声認識結果が後で到着することになる。
【００３５】
ステップ３０４０において、選択部１０７０は、結果１個目新規到着の判断ルーチンへと進む。ここでは図４に示すフローチャートに従って、最初に到着した音声認識結果を使用するか、または次の音声認識結果を待つかを判断するための処理が実行される。なお、図４のフローチャートの詳細については後で説明する。
【００３６】
ステップ３０５０において、選択部１０７０は、結果２個目新規到着の判断ルーチンへと進む。ここでは図５に示すフローチャートに従って、最初に到着した音声認識結果と二番目に到着した音声認識結果のいずれを使用するかを判断するための処理が実行される。なお、図５のフローチャートの詳細については後で説明する。
【００３７】
ステップ３０６０において、選択部１０７０は、音声認識結果が未到着であるか否かを判定する。未到着である場合、すなわち端末装置１００（音声認識部１０４０）とサーバ２００（音声認識部１２５０）のいずれからも音声認識結果を受領していない場合はステップ３０７０に進み、一個目の音声認識結果が到着済みである場合、すなわち端末装置１００（音声認識部１０４０）とサーバ２００（音声認識部１２５０）のいずれか一方から音声認識結果を受領済みである場合はステップ３０８０に進む。
【００３８】
ステップ３０７０において、選択部１０７０は、結果未到着時の判断ルーチンへと進む。ここでは図６に示すフローチャートに従って、音声認識結果が到着するまで待つか否かを判断するための処理が実行される。なお、図６のフローチャートの詳細については後で説明する。
【００３９】
ステップ３０８０において、選択部１０７０は、結果１個目到着済みの判断ルーチンへと進む。ここでは図７に示すフローチャートに従って、最初に到着した音声認識結果を使用するか、または次の音声認識結果を待つかを判断するための処理が実行される。なお、図７のフローチャートの詳細については後で説明する。
【００４０】
ステップ３０４０、３０５０、３０７０または３０８０のいずれかを実行したら、選択部１０７０はステップ３０９０を実行する。ステップ３０９０において、選択部１０７０は、次の音声認識結果を待つか否かを判断する。ここでは、所定のフラグ状態を確認する。その結果、フラグが立っている場合は次の音声認識結果を待つと判断し、ステップ３０１０へ戻って待機する。一方、フラグが立っていない場合は処理をステップ３１００に進める。なお、ステップ３０９０の判定に用いられるフラグは、ステップ３０４０、３０７０または３０８０において所定の条件を満たしたときにセットされる。この条件の詳細については、後で図４、６、７を参照して説明する。
【００４１】
ステップ３１００において、選択部１０７０は、ステップ３０４０、３０５０、３０７０、３０８０のいずれかで決定した動作を行う指令をＨＭＩ制御部１１００に出力する。この指令に従って、ＨＭＩ制御部１１００はＨＭＩの制御を行い、図２で説明したような画面表示を用いてユーザへの情報提供を行う。すなわち、採用動作の場合は図２（ａ）の画面２０１０のような画面を、確認動作の場合は図２（ｂ）の画面２０２０や図２（ｃ）の画面２０３０のような画面を、棄却動作の場合は図２（ｄ）の画面２０４０のような画面をディスプレイ３０にそれぞれ表示する。また、端末装置１００は、これらの画面に対応した処理を実行する。
【００４２】
ステップ３１００を実行したら、選択部１０７０は図３のフローチャートに示す処理を終了し、次の音声入力まで待機する。
【００４３】
次に、図３のステップ３０４０、３０５０、３０７０、３０８０の各処理の詳細について順に説明する。まず、図４のフローチャートを参照して、ステップ３０４０で実行される結果１個目新規到着の判断ルーチンを説明する。
【００４４】
ステップ４０１０において、選択部１０７０は、到着した音声認識結果を受領し、その音声認識結果に対して識別符号ｉ１を設定する。この識別符号ｉ１は、音声認識結果を表す記号である「ｉ」と、一番目の音声認識結果を表す数字である「１」とを組み合わせて構成されている。以下では、識別符号ｉ１を設定した一番目の音声認識結果を「音声認識結果ｉ１」と称する。
【００４５】
ステップ４０２０において、選択部１０７０は、音声認識結果ｉ１の出力元が端末装置１００とサーバ２００のいずれであるかを判断する。出力元がサーバ２００である場合、すなわち音声認識結果ｉ１がサーバ音声認識情報である場合は処理をステップ４０３０に進め、出力元が端末装置１００である場合、すなわち音声認識結果ｉ１が端末音声認識情報である場合は処理をステップ４０４０に進める。
【００４６】
ステップ４０３０において、選択部１０７０は、一番目の音声認識結果の出力元ｋ１および二番目の音声認識結果の出力元ｋ２を設定する。ここでは、一番目の音声認識結果すなわち音声認識結果ｉ１の出力元ｋ１に対しては、サーバ２００を示す「サーバ」を設定し、未受領である二番目の音声認識結果の出力元ｋ２に対しては、端末装置１００を示す「端末」を設定する。
【００４７】
ステップ４０４０において、選択部１０７０は、一番目の音声認識結果の出力元ｋ１および二番目の音声認識結果の出力元ｋ２を設定する。ここでは、ステップ４０３０とは反対に、一番目の音声認識結果すなわち音声認識結果ｉ１の出力元ｋ１に対しては、端末装置１００を示す「端末」を設定し、未受領である二番目の音声認識結果の出力元ｋ２に対しては、サーバ２００を示す「サーバ」を設定する。
【００４８】
ステップ４０３０または４０４０で識別符号ｋ１、ｋ２を設定したら、ステップ４０５０において、選択部１０７０は、音声認識結果ｉ１に対応するドメインｄ１を推定する。ドメインとは、ユーザに入力された音声の属性を表す情報である。端末装置１００には、たとえば対応する入力操作により実行されるタスクの困難さや、ユーザに提供される情報の種類などによって音声を複数の属性に分類し、この複数の属性に対応して複数のドメインが予め設定されている。たとえば、ナビゲーション情報を提供する際に入力される音声に対して、「住所検索」、「施設名検索」、「ナビコマンド」の三種類のドメインが設定されている。選択部１０７０は、端末装置１００において設定されているこれらのドメインのうち、どのドメインが音声認識結果ｉ１に対応するドメインであるかを推定し、その推定結果に基づいてドメインｄ１を設定する。このとき、辞書データベース１０５０または１２３０において予め登録されている複数の辞書のうち、いずれの辞書を用いて音声認識部１０４０または１２５０が音声認識を行ったかにより、ドメインｄ１を推定してもよい。また、音声認識結果ｉ１として取得した端末音声認識情報またはサーバ音声認識情報に、意図推定部１０６０または１２７０によるユーザの意図の推定結果を示す意図推定情報が含まれる場合は、この意図推定情報に基づいてドメインｄ１を推定してもよい。なお、音声認識結果ｉ１に対応するドメインが推定できなかった場合は、ドメインｄ１を「不明」に設定する。
【００４９】
ステップ４０６０において、選択部１０７０は、音声認識結果ｉ１の信頼度ｃ１を推定する。信頼度とは、音声認識結果の確からしさを表す指標であり、様々な指標を用いることができる。
【００５０】
ステップ４０７０において、選択部１０７０は、ユーザが発話を終了して端末装置１００に音声が入力されてから、現在までの、すなわち端末装置１００において音声認識結果ｉ１が得られるまでの経過時間を、経過時間ｔ１として計測する。なお、端末装置１００に音声が入力されてから音声認識結果ｉ１が得られるまでの経過時間に関連するものであれば、他の時間指標を経過時間ｔ１として計測してもよい。たとえば、ユーザが発話を開始した時点から経過時間ｔ１の計測を開始してもよいし、音声認識結果ｉ１を受領してからディスプレイ３０に画面が表示されるまでの時間を予測し、その時間を経過時間ｔ１に加えてもよい。
【００５１】
ステップ４０８０において、選択部１０７０は、音声認識結果ｉ１の推定正解率ｐ１を算出する。ここでは、ステップ４０３０または４０４０で設定した出力元ｋ１と、ステップ４０５０で推定したドメインｄ１と、ステップ４０６０で推定した信頼度ｃ１と、ステップ４０７０で計測した経過時間ｔ１とに基づき、予め設定された関数Ｆｐを用いて、推定正解率ｐ１を算出する。推定正解率ｐ１とは、音声認識結果ｉ１がどの程度の確率でユーザの音声と一致するかを表す値である。すなわち、音声認識結果ｉ１がユーザの音声と一致する確率は、信頼度ｃ１だけでなく、ドメインｄ１や出力元ｋ１によっても変化する場合がある。また、端末装置１００の音声認識部１０４０やサーバ２００の音声認識部１２５０での音声認識処理に要した時間に応じて、音声認識結果ｉ１がユーザの音声と一致する確率が変化することが経験的に分かっている場合もある。そのため、こうした経験上の知識等を用いることで、ｋ１、ｄ１、ｃ１、ｔ１の各変数と推定正解率ｐ１との相関関係を予め調べておき、その結果に基づいて関数Ｆｐを設定する。そして、この関数Ｆｐに対して、ステップ４０３０〜４０７０の各処理で設定したｋ１、ｄ１、ｃ１、ｔ１の各変数の値を入力することで、推定正解率ｐ１を算出することができる。ただし、ステップ４０８０において、ｋ１、ｄ１、ｃ１、ｔ１の変数は必ずしも全て用いる必要はない。いずれか任意の一つ以上の変数を用いることで、推定正解率ｐ１の算出が可能である。
【００５２】
ステップ４０９０において、選択部１０７０は、音声認識結果ｉ１を用いた場合の情報提供に対するユーザ満足度を算出する。ここでは、ＨＭＩ制御部１１００がユーザへの情報提供を行う際の前述の３種類の動作、すなわち採用動作、確認動作、棄却動作のそれぞれについて、音声認識結果ｉ１に対するユーザ満足度を算出する。以下では、採用動作でのユーザ満足度をＳａ１、確認動作でのユーザ満足度をＳｃ１、棄却動作でのユーザ満足度をＳｒ１とそれぞれ表す。
【００５３】
上記のユーザ満足度Ｓａ１、Ｓｃ１、Ｓｒ１は、ステップ４０５０で推定したドメインｄ１と、ステップ４０７０で計測した経過時間ｔ１と、ステップ４０８０で算出した推定正解率ｐ１とに基づいて、それぞれ算出することができる。たとえば、ｄ１、ｔ１およびｐ１の変数を、動作の種類ごとに予め設定された関数Ｆｓａ、Ｆｓｃ、Ｆｓｒに代入することで、ユーザ満足度Ｓａ１、Ｓｃ１、Ｓｒ１をそれぞれ算出できる。これらの関数Ｆｓａ、Ｆｓｃ、Ｆｓｒは、経験上の知識等を用いて予め設定されており、ユーザの満足度に関するデータとしてユーザ満足度記憶部１０８０に格納されている。ただし、ステップ４０９０において、ｄ１、ｔ１、ｐ１の変数は必ずしも全て用いる必要はない。いずれか任意の一つ以上の変数を用いることで、ユーザ満足度Ｓａ１、Ｓｃ１、Ｓｒ１の算出が可能である。
【００５４】
図８は、ユーザ満足度Ｓａ１、Ｓｃ１、Ｓｒ１を算出するための関数Ｆｓａ、Ｆｓｃ、Ｆｓｒの例を示す図である。図８（ａ）に示すグラフ８０１０、８０１１、８０１２は、採用動作でのユーザ満足度Ｓａ１を算出するための関数Ｆｓａの例である。グラフ８０１０は、関数Ｆｓａの例として、推定正解率ｐ１が９０％であるときの経過時間ｔ１とユーザ満足度Ｓａ１との関係を示している。グラフ８０１１は、関数Ｆｓａの例として、推定正解率ｐ１が８０％であるときの経過時間ｔ１とユーザ満足度Ｓａ１との関係を示している。グラフ８０１２は、関数Ｆｓａの例として、推定正解率ｐ１が６０％であるときの経過時間ｔ１とユーザ満足度Ｓａ１との関係を示している。これらのグラフにおいて、ユーザ満足度Ｓａ１の最低値は１、最高値は５としている。
【００５５】
図８（ｂ）に示すグラフ８０２０、８０２１、８０２２は、確認動作でのユーザ満足度Ｓｃ１を算出するための関数Ｆｓｃの例である。グラフ８０２０は、関数Ｆｓｃの例として、推定正解率ｐ１が９０％であるときの経過時間ｔ１とユーザ満足度Ｓｃ１との関係を示している。グラフ８０２１は、関数Ｆｓｃの例として、推定正解率ｐ１が８０％であるときの経過時間ｔ１とユーザ満足度Ｓｃ１との関係を示している。グラフ８０２２は、関数Ｆｓｃの例として、推定正解率ｐ１が６０％であるときの経過時間ｔ１とユーザ満足度Ｓｃ１との関係を示している。また、図８（ｂ）に示すグラフ８０２３は、棄却動作でのユーザ満足度Ｓｒ１を算出するための関数Ｆｓｒの例であり、経過時間ｔ１とユーザ満足度Ｓｒ１との関係を示している。これらのグラフにおいて、ユーザ満足度Ｓｃ１、Ｓｒ１の最低値は１、最高値は５としている。
【００５６】
なお、図８（ａ）および図８（ｂ）の各グラフは、ドメインｄ１がたとえば「ナビコマンド」である場合の例を示している。
【００５７】
ユーザ満足度の一般的な特性としては、ユーザが発話してから端末装置１００が何らかの動作を行うまでの時間が長くなるほど、ユーザ満足度が低下していくことが知られている。そのため、図８（ａ）および図８（ｂ）の各グラフでは、経過時間ｔ１が増加するにつれて、ユーザ満足度Ｓａ１、Ｓｃ１、Ｓｒ１が次第にそれぞれ低下するようになっている。
【００５８】
ここで、図８（ａ）および図８（ｂ）の各グラフにおいて、経過時間ｔ１の値が比較的小さいときには、採用動作でのユーザ満足度Ｓａ１が最も高く、確認動作でのユーザ満足度Ｓｃ１が次に高く、棄却動作でのユーザ満足度Ｓｒ１が最も低いことが分かる。また、経過時間ｔ１の値が大きくなるにつれて、採用動作でのユーザ満足度Ｓａ１が大きく低下していく一方で、確認動作でのユーザ満足度Ｓｃ１や、棄却動作でのユーザ満足度Ｓｒ１はそれほど低下しないことが分かる。さらに、経過時間ｔ１の増加に応じた採用動作でのユーザ満足度Ｓａ１の低下は、推定正解率ｐ１の値が大きいほど顕著であることが分かる。このようなユーザへの情報提供方法の違いによるユーザ満足度の変化傾向の差異について、以下に説明する。
【００５９】
一般的に、推定正解率ｐ１の値が十分に高ければ、なるべく早いタイミングで採用動作を行って正しい音声認識結果を採用する方が、ユーザ満足度が高くなる。その一方で、推定正解率ｐ１の値が低い場合に採用動作を行うと、間違った音声認識結果が採用されてしまい、ユーザの意図とは異なる入力操作が端末装置１００において行われるリスクが高まる。よって、推定正解率ｐ１の値が低い場合には、確認動作を行って音声認識結果が示す一つまたは複数の選択肢をユーザに提示することで、採用動作を行った場合よりもユーザの意図通りの入力操作を実行できる可能性があるため、平均的にはユーザ満足度が高くなる。また、経過時間ｔ１が長くなり、かつ推定正解率ｐ１が低い場合には、採用動作を行うことで誤った音声認識結果を採用してしまうと、ユーザ満足度が極めて低くなる。したがって、この場合にも、採用動作よりも確認動作を行った方が高いユーザ満足度を得られると予測される。
【００６０】
さらに、棄却動作を行った場合には、総じてユーザ満足度が低くなる。しかし、経過時間ｔ１が長い場合には、棄却動作を行ってユーザに再び発話するように促すことで、音声認識がうまくできなかったことをユーザにとって分かりやすく伝えることができる。また、この場合にはユーザが前回よりもはっきりと発話することが期待できるため、正しい音声認識結果を得られる可能性が高くなる。このように、経過時間ｔ１が長い場合には、採用動作や確認動作よりも棄却動作を行う方が、ユーザ満足度が高くなることがある。
【００６１】
図９は、図８とはドメインｄ１が異なる場合に、ユーザ満足度Ｓａ１、Ｓｃ１、Ｓｒ１を算出するための関数Ｆｓａ、Ｆｓｃ、Ｆｓｒの例を示す図である。図９（ａ）に示すグラフ９０１０、９０１１、９０１２は、採用動作でのユーザ満足度Ｓａ１を算出するための関数Ｆｓａの例である。グラフ９０１０は、関数Ｆｓａの例として、推定正解率ｐ１が９０％であるときの経過時間ｔ１とユーザ満足度Ｓａ１との関係を示している。グラフ９０１１は、関数Ｆｓａの例として、推定正解率ｐ１が８０％であるときの経過時間ｔ１とユーザ満足度Ｓａ１との関係を示している。グラフ９０１２は、関数Ｆｓａの例として、推定正解率ｐ１が６０％であるときの経過時間ｔ１とユーザ満足度Ｓａ１との関係を示している。これらのグラフにおいて、ユーザ満足度Ｓａ１の最低値は１、最高値は５としている。
【００６２】
図９（ｂ）に示すグラフ９０２０、９０２１、９０２２は、確認動作でのユーザ満足度Ｓｃ１を算出するための関数Ｆｓｃの例である。グラフ９０２０は、関数Ｆｓｃの例として、推定正解率ｐ１が９０％であるときの経過時間ｔ１とユーザ満足度Ｓｃ１との関係を示している。グラフ９０２１は、関数Ｆｓｃの例として、推定正解率ｐ１が８０％であるときの経過時間ｔ１とユーザ満足度Ｓｃ１との関係を示している。グラフ９０２２は、関数Ｆｓｃの例として、推定正解率ｐ１が６０％であるときの経過時間ｔ１とユーザ満足度Ｓｃ１との関係を示している。また、図９（ｂ）に示すグラフ９０２３は、棄却動作でのユーザ満足度Ｓｒ１を算出するための関数Ｆｓｒの例であり、経過時間ｔ１とユーザ満足度Ｓｒ１との関係を示している。これらのグラフにおいて、ユーザ満足度Ｓｃ１、Ｓｒ１の最低値は１、最高値は５としている。
【００６３】
なお、図９（ａ）および図９（ｂ）の各グラフは、ドメインｄ１がたとえば「住所検索」または「施設名検索」である場合の例を示している。これらのグラフでは、図８（ａ）や図８（ｂ）に示した、ドメインｄ１が「ナビコマンド」である場合の各グラフと比較して、経過時間ｔ１が長くなっても、ユーザ満足度Ｓａ１、Ｓｃ１の低下幅が小さくなっている。このようなドメインｄ１の違いによるユーザ満足度の変化傾向の差異について、以下に説明する。
【００６４】
一般的に、ドメインが「ナビコマンド」である場合のように、ユーザが発話する音声の種類が比較的限られている場合には、サーバとの接続機能を持たずに車両の端末装置のみで音声認識を行う従来の音声認識装置でも、比較的短い応答時間で正しい音声認識結果を得ることができていた。そのため、こうした従来の音声認識装置をこれまで使用してきたユーザにとっては、経過時間ｔ１が長くなることに対する抵抗感が強く、ユーザ満足度が低下し始める経過時間ｔ１が短くなる。一方、ドメインが「施設名検索」や「住所検索」である場合のように、ユーザが発話する音声の種類が多岐にわたる場合には、従来の音声認識装置では応答時間が長くかかったり、ユーザが施設名や住所名を正確に発話しないと音声認識ができなかったりしていた。そのため、このような従来では音声認識が困難な状況の場合には、経過時間ｔ１が長くなっても、ユーザ満足度の低下度合いは比較的少なくなる。
【００６５】
図８および図９の各グラフに示したユーザ満足度の関数Ｆｓａ、Ｆｓｃ、Ｆｓｒは、以上説明したようなドメインｄ１の違いによるユーザ満足度の変化傾向の差異を考慮して、端末装置１００において予め設定されたものである。さらに、前述したようなユーザへの情報提供方法の違いによるユーザ満足度の変化傾向の差異についても考慮されている。なお、関数Ｆｓａ、Ｆｓｃ、Ｆｓｒの設計には、たとえば、実際に被験者への実験を行った結果に基づいて各関数を決定する方法や、所定の官能評価に基づいて各関数を決定する方法や、所定の設計ポリシーに従って各関数を決定する方法などが適用できる。
【００６６】
なお、上記の説明では、音声認識エンジンの種類、すなわち端末装置１００の音声認識部１０４０またはサーバ２００の音声認識部１２５０のいずれによる音声認識結果であるかに関わらず、同一の関数Ｆｓａ、Ｆｓｃ、Ｆｓｒを用いてユーザ満足度Ｓａ１、Ｓｃ１、Ｓｒ１を求めることとしていた。しかし、音声認識エンジンとドメインｄ１の組み合わせによっては推定正解率ｐ１が大きく変わるため、それに応じてユーザ満足度も大きく変わる可能性がある。そのため、音声認識エンジンの種類によって別々の関数Ｆｓａ、Ｆｓｃ、Ｆｓｒのデータをユーザ満足度記憶部１０８０において予め設定しておき、これらを使い分けてユーザ満足度Ｓａ１、Ｓｃ１、Ｓｒ１を求めるようにしてもよい。
【００６７】
図４の説明に戻ると、ステップ４０９５において、選択部１０７０は、２エンジン目のドメイン、すなわち未受領である二番目の音声認識結果に対応するドメインｄ２’を推定する。ここで、通常であればドメインｄ２’は、１エンジン目のドメイン、すなわち音声認識結果ｉ１に対応するドメインｄ１と同一である可能性が高いと考えられる。したがって、ドメインｄ２’はドメインｄ１と同じであると推定し、ドメインｄ１と同一の内容をそのまま設定すればよい。
【００６８】
ステップ４１００において、選択部１０７０は、ユーザが発話を終了して端末装置１００に音声が入力されてから、未受領である二番目の音声認識結果が得られるまでの経過時間ｔ２を予測する。ここでは、ステップ４０３０または４０４０で設定した出力元ｋ２と、ステップ４０９５で推定したドメインｄ２’と、ステップ４０６０で推定した信頼度ｃ１と、端末装置１００とサーバ２００との間の通信状態を表す通信状態ｃｓとに基づき、予め設定された関数Ｆｔを用いて、経過時間ｔ２の予測値を算出する。すなわち、出力元ｋ２が端末装置１００の場合とサーバ２００の場合とで、二番目の音声認識結果が到着するまでの時間が変わるため、経過時間ｔ２が変化すると考えられる。また、二番目の音声認識結果に対応するドメインｄ２’によっても、音声認識に要する時間が異なるため、経過時間ｔ２が変化すると考えられる。さらに、出力元ｋ２がサーバ２００の場合は、通信状態ｃｓも経過時間ｔ２を大きく左右する要因となる。加えて、音声認識結果ｉ１の信頼度ｃ１についても、別の音声認識エンジンによる音声認識の困難性を予測するのに使用できる可能性がある。そのため、ｋ２、ｄ２’、ｃ１、ｃｓの各変数と経過時間ｔ２との相関関係を予め調べておき、その結果に基づいて関数Ｆｔを設定する。そして、この関数Ｆｔに対して、先の各処理で設定したｋ２、ｄ２’、ｃ１、ｃｓの各変数の値を入力することで、経過時間ｔ２を推定することができる。なお、関数Ｆｔは数式で表したものでもよいし、予め収集したデータに基づいて設定された変数ごとのテーブル値としてもよい。また、前述の経過時間ｔ１と同様に、端末装置１００に音声が入力されてから二番目の音声認識結果が得られるまでの経過時間に関連するものであれば、他の時間指標を経過時間ｔ２として予測してもよい。ただし、ステップ４１００において、ｋ２、ｄ２’、ｃ１、ｃｓの変数は必ずしも全て用いる必要はない。いずれか任意の一つ以上の変数を用いることで、経過時間ｔ２の推定が可能である。
【００６９】
ステップ４１１０において、選択部１０７０は、二番目の音声認識結果の推定正解率ｐ２を算出する。ここでは、現時点で利用可能な情報をすべて使用して、推定正解率ｐ２を算出する。すなわち、ステップ４０３０または４０４０で設定した出力元ｋ１およびｋ２と、ステップ４０９５で推定したドメインｄ２’と、ステップ４０６０で推定した信頼度ｃ１と、ステップ４１００で予測した経過時間ｔ２とに基づき、予め設定された関数Ｆｐ２を用いて、推定正解率ｐ２を算出する。なお、関数Ｆｐ２は、ステップ４０８０で音声認識結果ｉ１の推定正解率ｐ１を算出するのに用いられた関数Ｆｐと同様に、予め設定しておくことができる。ただし、ステップ４１１０において、ｋ１、ｋ２、ｄ２’、ｃ１、ｔ２の変数は必ずしも全て用いる必要はない。いずれか任意の一つ以上の変数を用いることで、推定正解率ｐ２の算出が可能である。
【００７０】
ステップ４１２０において、選択部１０７０は、二番目の音声認識結果を用いた場合の情報提供に対するユーザ満足度を算出する。ここでは、採用動作、確認動作のそれぞれについて、ステップ４０９０と同様の方法により、二番目の音声認識結果に対するユーザ満足度Ｓａ２’、Ｓｃ２’を算出する。すなわち、ステップ４０９５で推定したドメインｄ２’と、ステップ４１００で予測した経過時間ｔ２と、ステップ４１１０で算出した推定正解率ｐ２とに基づいて、これらの変数を前述の関数Ｆｓａ、Ｆｓｃに代入することで、ユーザ満足度Ｓａ２’、Ｓｃ２’をそれぞれ算出する。ただし、ステップ４１２０において、ｄ２’、ｔ２、ｐ２の変数は必ずしも全て用いる必要はない。なお、ここでは棄却動作でのユーザ満足度Ｓｒ２’については算出しなくてもよい。その理由は、わざわざ二番目の音声認識結果を待った上でそれを棄却したほうがよいと判断されるケースは、現実的には存在しないためである。
【００７１】
ステップ４１３０以降の処理では、選択部１０７０は、ステップ４０９０で算出した音声認識結果ｉ１に対するユーザ満足度Ｓａ１、Ｓｃ１、Ｓｒ１と、ステップ４１２０で算出した二番目の音声認識結果に対するユーザ満足度Ｓａ２’、Ｓｃ２’とを比較する。この比較結果に基づいて、選択部１０７０は、ＨＭＩ制御部１１００によるユーザへの情報提供に用いる音声認識結果として音声認識結果ｉ１を選択するか、または、音声認識結果ｉ１を選択せずに二番目の音声認識結果を受領するまで待つかを判断する。また、音声認識結果ｉ１を選択する場合には、採用動作、確認動作、棄却動作のうちどれを用いてユーザへの情報提供を行うかを判断する。
【００７２】
ステップ４１３０において、選択部１０７０は、音声認識結果ｉ１を用いるよりも二番目の音声認識結果を待った方が、ユーザ満足度が高いか否かを判定する。具体的には、選択部１０７０は、音声認識結果ｉ１に対するユーザ満足度Ｓａ１、Ｓｃ１、Ｓｒ１の最大値と、二番目の音声認識結果に対するユーザ満足度Ｓａ２’、Ｓｃ２’の最大値とを比較する。その結果、ユーザ満足度Ｓａ１、Ｓｃ１、Ｓｒ１の最大値よりもユーザ満足度Ｓａ２’、Ｓｃ２’の最大値の方が大きければ、二番目の音声認識結果を待った方がユーザ満足度が高いと判断して、処理をステップ４１７０に進める。一方、ユーザ満足度Ｓａ１、Ｓｃ１、Ｓｒ１の最大値がユーザ満足度Ｓａ２’、Ｓｃ２’の最大値以上であれば、二番目の音声認識結果を待たずに音声認識結果ｉ１を用いた方がユーザ満足度が高いと判断して、処理をステップ４１４０に進める。
【００７３】
ステップ４１４０において、選択部１０７０は、音声認識結果ｉ１による採用動作でのユーザ満足度Ｓａ１を、確認動作でのユーザ満足度Ｓｃ１および棄却動作でのユーザ満足度Ｓｒ１と比較する。その結果、Ｓａ１がＳｃ１以上かつＳｒ１以上であれば処理をステップ４１８０に進め、そうでない場合は処理をステップ４１５０に進める。
【００７４】
ステップ４１５０において、選択部１０７０は、音声認識結果ｉ１による確認動作でのユーザ満足度Ｓｃ１を、棄却動作でのユーザ満足度Ｓｒ１と比較する。その結果、Ｓｃ１がＳｒ１以上であれば処理をステップ４１６０に進め、そうでない場合、すなわちＳｃ１がＳｒ１未満であれば処理をステップ４１９０に進める。
【００７５】
ステップ４１６０において、選択部１０７０は、音声認識結果ｉ１によるユーザへの情報提供の方法として棄却動作を選択する。その後、選択部１０７０は図４のフローチャートに示す処理を終了し、図３のステップ３０９０に処理を進める。この場合、ステップ３０９０が否定判定された後、ステップ３１００において、棄却動作を行う指令が選択部１０７０からＨＭＩ制御部１１００に出力される。その結果、図２（ｄ）の画面２０４０のような画面がディスプレイ３０に表示され、ユーザに再度の発話が促される。
【００７６】
ステップ４１７０において、選択部１０７０は、二番目の音声認識結果を待つことに決定し、前述のフラグを立てる処理を行う。その後、選択部１０７０は図４のフローチャートに示す処理を終了し、図３のステップ３０９０に処理を進める。この場合、ステップ３０９０が肯定判定された後、ステップ３０１０へ戻って二番目の音声認識結果が受領されるか、または一定時間が経過するまで待機する。
【００７７】
ステップ４１８０において、選択部１０７０は、音声認識結果ｉ１によるユーザへの情報提供の方法として採用動作を選択する。その後、選択部１０７０は図４のフローチャートに示す処理を終了し、図３のステップ３０９０に処理を進める。この場合、ステップ３０９０が否定判定された後、ステップ３１００において、音声認識結果ｉ１に基づいて採用動作を行う指令が選択部１０７０からＨＭＩ制御部１１００に出力される。その結果、図２（ａ）の画面２０１０のような画面がディスプレイ３０に表示され、認識された入力操作に応じた処理へと移行する。
【００７８】
ステップ４１９０において、選択部１０７０は、音声認識結果ｉ１によるユーザへの情報提供の方法として確認動作を選択する。その後、選択部１０７０は図４のフローチャートに示す処理を終了し、図３のステップ３０９０に処理を進める。この場合、ステップ３０９０が否定判定された後、ステップ３１００において、音声認識結果ｉ１に基づいて確認動作を行う指令が選択部１０７０からＨＭＩ制御部１１００に出力される。その結果、図２（ｂ）の画面２０２０または図２（ｃ）の画面２０３０のような画面がディスプレイ３０に表示され、ユーザの確認を待った後、確認された入力操作に応じた処理へと移行する。
【００７９】
以上説明したように、ステップ４１３０以降の処理では、音声認識結果ｉ１に対するユーザ満足度Ｓａ１、Ｓｃ１、Ｓｒ１と、二番目の音声認識結果に対するユーザ満足度Ｓａ２’、Ｓｃ２’とを比較し、その比較結果に基づいて最もユーザ満足度が高くなるような動作を選択している。この点について、以下に具体例を挙げてさらに説明する。
【００８０】
なお、以下に説明する具体例では、前提条件として、最初に端末装置１００からの音声認識結果が選択部１０７０に到着し（ｋ１＝「端末」）、このときの経過時間ｔ１が３秒であったとする。また、音声認識結果ｉ１が「日本武道館」であり、この認識結果に対応する入力操作が施設名検索であったとする。そのため、ドメインｄ１の推定結果が「施設名検索」であり、これに対する推定正解率ｐ１の算出結果が８０％であったとする。
【００８１】
ステップ４１００、４１１０では、音声認識結果ｉ１に対する上記の各情報に基づいて、未受領である二番目の音声認識結果（ｋ２＝「サーバ」）に関する経過時間ｔ２と推定正解率ｐ２がそれぞれ算出される。その結果、前提条件として、経過時間ｔ２が７秒と予測され、推定正解率ｐ２が９０％であったとする。なお、ドメインｄ２’にはドメインｄ１と同じ「施設名検索」が設定される。
【００８２】
上記の前提条件に基づいて、最初の音声認識結果または二番目の音声認識結果を用いて採用動作、確認動作、棄却動作のそれぞれによるユーザへの情報提供を行った場合のユーザ満足度は、たとえば以下のように求められる。なお、以下の各ユーザ満足度の算出では、図９に示した関数Ｆｓａ、Ｆｓｃ、Ｆｓｒを用いることとした。
【００８３】
図９のグラフ９０１１、９０２１、９０２３から、最初の音声認識結果を用いた場合のユーザ満足度Ｓａ１、Ｓｃ１、Ｓｒ１は、それぞれ以下のように求められる。
採用動作：Ｓａ１＝４．０
確認動作：Ｓｃ１＝３．８
棄却動作：Ｓｒ１＝１．８
【００８４】
また、図９のグラフ９０１０、９０２０、９０２３から、二番目の音声認識結果を用いた場合のユーザ満足度Ｓａ２’、Ｓｃ２’は、それぞれ以下のように求められる。
採用動作：Ｓａ２’＝４．２
確認動作：Ｓｃ２’＝４．３
【００８５】
上記の各ユーザ満足度を比較すると、二番目の音声認識結果を用いて確認動作を行った場合のユーザ満足度Ｓｃ２’が最も高い。そのため、この具体例では、最初の音声認識結果を用いずに、二番目の音声認識結果を待つこととなる。
【００８６】
なお、上記の具体例では、ユーザ満足度記憶部１０８０において予め記憶されている関数Ｆｓａ、Ｆｓｃ、Ｆｓｒのデータが推定正解率ｐ１、ｐ２にそれぞれ一致する場合を説明したが、一致しない場合であってもユーザ満足度の算出は可能である。たとえば、推定正解率ｐ１、ｐ２が８５％であった場合の採用動作でのユーザ満足度Ｓａ１、Ｓａ２’は、図９のグラフ９０１０、９０１１からユーザ満足度をそれぞれ読み取り、これらのユーザ満足度の平均値を算出することで求められる。同様に、確認動作でのユーザ満足度Ｓｃ１、Ｓｃ２’は、図９のグラフ９０２０、９０２１からユーザ満足度をそれぞれ読み取り、これらのユーザ満足度の平均値を算出することで求められる。すなわち、推定正解率ｐ１、ｐ２に一致するユーザ満足度のデータがユーザ満足度記憶部１０８０に記憶されていない場合には、その前後のユーザ満足度のデータを線形補間することで、ユーザ満足度を求めることができる。また、たとえば推定正解率が１００％である場合など、前後にユーザ満足度のデータが存在せずに線形補間ができない場合には、その推定正解率に最も近いユーザ満足度のデータを使用して、ユーザ満足度を求めることもできる。
【００８７】
次に、図５のフローチャートを参照して、ステップ３０５０で実行される結果２個目新規到着の判断ルーチンを説明する。
【００８８】
ステップ５０１０において、選択部１０７０は、二番目に到着した音声認識結果を受領し、その音声認識結果に対して識別符号ｉ２を設定する。以下では、識別符号ｉ２を設定した二番目の音声認識結果を「音声認識結果ｉ２」と称する。
【００８９】
ステップ５０２０において、選択部１０７０は、音声認識結果ｉ２に対応するドメインｄ２を推定する。なお、ドメインｄ２の推定方法は、図４のステップ４０５０におけるドメインｄ１の推定方法と同様である。
【００９０】
ステップ５０３０において、選択部１０７０は、音声認識結果ｉ２の信頼度ｃ２を推定する。
【００９１】
ステップ５０４０において、選択部１０７０は、ユーザが発話を終了して端末装置１００に音声が入力されてから、現在までの、すなわち端末装置１００において音声認識結果ｉ２が得られるまでの経過時間ｔ２を計測する。なお、前述の経過時間ｔ１と同様に、端末装置１００に音声が入力されてから音声認識結果ｉ２が得られるまでの経過時間に関連するものであれば、他の時間指標を経過時間ｔ２として計測してもよい。
【００９２】
ステップ５０５０において、選択部１０７０は、音声認識結果ｉ２の推定正解率ｐ２を算出する。ここでは、図４のステップ４０８０で算出した推定正解率ｐ１と同様に、ステップ４０３０または４０４０で設定した出力元ｋ２と、ステップ５０２０で推定したドメインｄ２と、ステップ５０３０で推定した信頼度ｃ２と、ステップ５０４０で計測した経過時間ｔ２とに基づき、予め設定された関数Ｆｐを用いて、推定正解率ｐ２を算出する。ただし、ステップ５０５０において、ｋ２、ｄ２、ｃ２、ｔ２の変数は必ずしも全て用いる必要はない。いずれか任意の一つ以上の変数を用いることで、推定正解率ｐ２の算出が可能である。
【００９３】
ステップ５０６０において、選択部１０７０は、現在のモードが最大満足度モードと最大正解率モードのいずれであるかを判断する。その結果、現在のモードが最大満足度モードである場合は処理をステップ５１６０に進め、最大正解率モードである場合は処理をステップ５０７０に進める。なお、最大満足度モードとは、ユーザ満足度が最大となるように音声認識結果およびＨＭＩ制御部１１００の動作を選択してユーザへの情報提供を行うモードであり、最大正解率モードとは、推定正解率ｐ１またはｐ２が最大となる音声認識結果を用いてユーザへの情報提供を行うモードである。
【００９４】
現在のモードが最大正解率モードである場合、ステップ５０７０において、選択部１０７０は、音声認識結果ｉ１の推定正解率ｐ１と、音声認識結果ｉ２の推定正解率ｐ２とを比較する。その結果、推定正解率ｐ１の方が高い場合は処理をステップ５０８０に進め、推定正解率ｐ２の方が高い場合、または推定正解率ｐ１と推定正解率ｐ２とが同一である場合は処理をステップ５０９０に進める。
【００９５】
ステップ５０８０において、選択部１０７０は、音声認識結果ｉ１と、これに対応する推定正解率ｐ１、ドメインｄ１および信頼度ｃ１とを、最尤結果にそれぞれ設定する。そして、次のステップ５１００でユーザ満足度を算出する際の変数として参照するために、ｉ＝ｉ１、ｐ＝ｐ１、ｄ＝ｄ１、ｃ＝ｃ１とそれぞれ設定する。
【００９６】
ステップ５０９０において、選択部１０７０は、音声認識結果ｉ２と、これに対応する推定正解率ｐ２、ドメインｄ２および信頼度ｃ２とを、最尤結果にそれぞれ設定する。そして、次のステップ５１００でユーザ満足度を算出する際の変数として参照するために、ｉ＝ｉ２、ｐ＝ｐ２、ｄ＝ｄ２、ｃ＝ｃ２とそれぞれ設定する。
【００９７】
ステップ５１００において、選択部１０７０は、ステップ５０８０または５０９０で最尤結果に設定した音声認識結果ｉ（ｉ＝ｉ１またはｉ２）を用いた場合の情報提供に対するユーザ満足度Ｓａ、Ｓｃ、Ｓｒを算出する。ここでは、図４のステップ４０９０で算出したユーザ満足度Ｓａ１、Ｓｃ１、Ｓｒ１と同様に、ステップ５０９０で設定したｄ、ｔおよびｐの変数を関数Ｆｓａ、Ｆｓｃ、Ｆｓｒに代入することで、最尤結果を用いた場合の採用動作、確認動作、棄却動作によるユーザ満足度Ｓａ、Ｓｃ、Ｓｒをそれぞれ算出できる。ただし、ステップ５１００において、ｄ、ｔ、ｐの変数は必ずしも全て用いる必要はない。いずれか任意の一つ以上の変数を用いることで、ユーザ満足度Ｓａ、Ｓｃ、Ｓｒの算出が可能である。
【００９８】
ステップ５１１０において、選択部１０７０は、音声認識結果ｉによる採用動作でのユーザ満足度Ｓａを、確認動作でのユーザ満足度Ｓｃおよび棄却動作でのユーザ満足度Ｓｒと比較する。その結果、ＳａがＳｃ以上かつＳｒ以上であれば処理をステップ５１２０に進め、そうでない場合は処理をステップ５１３０に進める。
【００９９】
ステップ５１２０において、選択部１０７０は、音声認識結果ｉによるユーザへの情報提供の方法として採用動作を選択する。その後、選択部１０７０は図５のフローチャートに示す処理を終了し、図３のステップ３０９０に処理を進める。この場合、ステップ３０９０が否定判定された後、ステップ３１００において、音声認識結果ｉに基づいて採用動作を行う指令が選択部１０７０からＨＭＩ制御部１１００に出力される。その結果、図２（ａ）の画面２０１０のような画面がディスプレイ３０に表示され、認識された入力操作に応じた処理へと移行する。
【０１００】
ステップ５１３０において、選択部１０７０は、音声認識結果ｉによる確認動作でのユーザ満足度Ｓｃを、棄却動作でのユーザ満足度Ｓｒと比較する。その結果、ＳｃがＳｒ以上であれば処理をステップ５１４０に進め、そうでない場合、すなわちＳｃがＳｒ未満であれば処理をステップ５１５０に進める。
【０１０１】
ステップ５１４０において、選択部１０７０は、音声認識結果ｉによるユーザへの情報提供の方法として確認動作を選択する。その後、選択部１０７０は図５のフローチャートに示す処理を終了し、図３のステップ３０９０に処理を進める。この場合、ステップ３０９０が否定判定された後、ステップ３１００において、音声認識結果ｉに基づいて確認動作を行う指令が選択部１０７０からＨＭＩ制御部１１００に出力される。その結果、図２（ｂ）の画面２０２０または図２（ｃ）の画面２０３０のような画面がディスプレイ３０に表示され、ユーザの確認を待った後、確認された入力操作に応じた処理へと移行する。
【０１０２】
ステップ５１５０において、選択部１０７０は、音声認識結果ｉによるユーザへの情報提供の方法として棄却動作を選択する。その後、選択部１０７０は図５のフローチャートに示す処理を終了し、図３のステップ３０９０に処理を進める。この場合、ステップ３０９０が否定判定された後、ステップ３１００において、棄却動作を行う指令が選択部１０７０からＨＭＩ制御部１１００に出力される。その結果、図２（ｄ）の画面２０４０のような画面がディスプレイ３０に表示され、ユーザに再度の発話が促される。
【０１０３】
以上説明したように、最大正解率モードにおいて実行されるステップ５０７０〜５１５０の処理では、最初に受領した音声認識結果ｉ１と二番目に受領した音声認識結果ｉ２のうち、推定正解率が高い方の音声認識結果について、採用動作、確認動作、棄却動作の中から最もユーザ満足度が高くなる動作が選択されて実行される。
【０１０４】
現在のモードが最大満足度モードである場合、ステップ５１６０において、選択部１０７０は、最初に受領した音声認識結果ｉ１を用いた場合の情報提供に対するユーザ満足度Ｓａ１、Ｓｃ１、Ｓｒ１を算出する。ここでは、図４のステップ４０９０と同様に、ステップ４０５０で推定したドメインｄ１と、ステップ５０４０で計測した経過時間ｔ２と、ステップ４０８０で算出した推定正解率ｐ１との変数を関数Ｆｓａ、Ｆｓｃ、Ｆｓｒに代入することで、音声認識結果ｉ１を用いた場合の採用動作、確認動作、棄却動作によるユーザ満足度Ｓａ１、Ｓｃ１、Ｓｒ１をそれぞれ算出できる。ただし、ステップ５１６０において、ｄ１、ｔ２、ｐ１の変数は必ずしも全て用いる必要はない。いずれか任意の一つ以上の変数を用いることで、ユーザ満足度Ｓａ１、Ｓｃ１、Ｓｒ１の算出が可能である。
【０１０５】
ステップ５１７０において、選択部１０７０は、二番目に受領した音声認識結果ｉ２を用いた場合の情報提供に対するユーザ満足度Ｓａ２、Ｓｃ２を算出する。ここでもステップ５１６０と同様に、ステップ５０２０で推定したドメインｄ２と、ステップ５０４０で計測した経過時間ｔ２と、ステップ５０５０で算出した推定正解率ｐ２との変数を関数Ｆｓａ、Ｆｓｃ、Ｆｓｒに代入することで、音声認識結果ｉ２を用いた場合の採用動作、確認動作、棄却動作によるユーザ満足度Ｓａ２、Ｓｃ２をそれぞれ算出できる。ただし、ステップ５１７０において、ｄ２、ｔ２、ｐ２の変数は必ずしも全て用いる必要はない。いずれか任意の一つ以上の変数を用いることで、ユーザ満足度Ｓａ２、Ｓｃ２の算出が可能である。
【０１０６】
ステップ５１８０において、選択部１０７０は、音声認識結果ｉ１による採用動作でのユーザ満足度Ｓａ１が、ステップ５１６０および５１７０で算出した全てのユーザ満足度の中で最大であるか否かを判定する。その結果、Ｓａ１が最大である場合は処理をステップ５１９０に進め、そうでない場合は処理をステップ５２００に進める。
【０１０７】
ステップ５１９０において、選択部１０７０は、音声認識結果ｉ１によるユーザへの情報提供の方法として採用動作を選択する。その後、選択部１０７０は図５のフローチャートに示す処理を終了し、図３のステップ３０９０に処理を進める。この場合、ステップ３０９０が否定判定された後、ステップ３１００において、音声認識結果ｉ１に基づいて採用動作を行う指令が選択部１０７０からＨＭＩ制御部１１００に出力される。その結果、図２（ａ）の画面２０１０のような画面がディスプレイ３０に表示され、認識された入力操作に応じた処理へと移行する。
【０１０８】
ステップ５２００において、選択部１０７０は、音声認識結果ｉ２による採用動作でのユーザ満足度Ｓａ２が、ステップ５１６０および５１７０で算出した全てのユーザ満足度の中で最大であるか否かを判定する。その結果、Ｓａ２が最大である場合は処理をステップ５２１０に進め、そうでない場合は処理をステップ５２２０に進める。
【０１０９】
ステップ５２１０において、選択部１０７０は、音声認識結果ｉ２によるユーザへの情報提供の方法として採用動作を選択する。その後、選択部１０７０は図５のフローチャートに示す処理を終了し、図３のステップ３０９０に処理を進める。この場合、ステップ３０９０が否定判定された後、ステップ３１００において、音声認識結果ｉ２に基づいて採用動作を行う指令が選択部１０７０からＨＭＩ制御部１１００に出力される。その結果、図２（ａ）の画面２０１０のような画面がディスプレイ３０に表示され、認識された入力操作に応じた処理へと移行する。
【０１１０】
ステップ５２２０において、選択部１０７０は、音声認識結果ｉ１による確認動作でのユーザ満足度Ｓｃ１が、ステップ５１６０および５１７０で算出した全てのユーザ満足度の中で最大であるか否かを判定する。その結果、Ｓｃ１が最大である場合は処理をステップ５２３０に進め、そうでない場合は処理をステップ５２４０に進める。
【０１１１】
ステップ５２３０において、選択部１０７０は、音声認識結果ｉ１によるユーザへの情報提供の方法として確認動作を選択する。その後、選択部１０７０は図５のフローチャートに示す処理を終了し、図３のステップ３０９０に処理を進める。この場合、ステップ３０９０が否定判定された後、ステップ３１００において、音声認識結果ｉ１に基づいて確認動作を行う指令が選択部１０７０からＨＭＩ制御部１１００に出力される。その結果、図２（ｂ）の画面２０２０または図２（ｃ）の画面２０３０のような画面がディスプレイ３０に表示され、ユーザの確認を待った後、確認された入力操作に応じた処理へと移行する。
【０１１２】
ステップ５２４０において、選択部１０７０は、音声認識結果ｉ２による確認動作でのユーザ満足度Ｓｃ２が、ステップ５１６０および５１７０で算出した全てのユーザ満足度の中で最大であるか否かを判定する。その結果、Ｓｃ２が最大である場合は処理をステップ５２５０に進め、そうでない場合は処理をステップ５２６０に進める。
【０１１３】
ステップ５２５０において、選択部１０７０は、音声認識結果ｉ２によるユーザへの情報提供の方法として確認動作を選択する。その後、選択部１０７０は図５のフローチャートに示す処理を終了し、図３のステップ３０９０に処理を進める。この場合、ステップ３０９０が否定判定された後、ステップ３１００において、音声認識結果ｉ２に基づいて確認動作を行う指令が選択部１０７０からＨＭＩ制御部１１００に出力される。その結果、図２（ｂ）の画面２０２０または図２（ｃ）の画面２０３０のような画面がディスプレイ３０に表示され、ユーザの確認を待った後、確認された入力操作に応じた処理へと移行する。
【０１１４】
ステップ５２６０において、選択部１０７０は、音声認識結果ｉ１、ｉ２によるユーザへの情報提供の方法として棄却動作を選択する。その後、選択部１０７０は図５のフローチャートに示す処理を終了し、図３のステップ３０９０に処理を進める。この場合、ステップ３０９０が否定判定された後、ステップ３１００において、棄却動作を行う指令が選択部１０７０からＨＭＩ制御部１１００に出力される。その結果、図２（ｄ）の画面２０４０のような画面がディスプレイ３０に表示され、ユーザに再度の発話が促される。
【０１１５】
以上説明したように、最大満足度モードにおいて実行されるステップ５１６０〜５２６０の処理では、最初に受領した音声認識結果ｉ１と二番目に受領した音声認識結果ｉ２について、採用動作、確認動作、棄却動作の満足度がそれぞれ算出され、最もユーザ満足度が高くなる音声認識結果と動作の組み合わせが選択されて実行される。
【０１１６】
次に、図６のフローチャートを参照して、ステップ３０７０で実行される結果未到着時の判断ルーチンを説明する。
【０１１７】
ステップ６０１０において、選択部１０７０は、未到着の音声認識結果に対応するドメインｄ０を「不明」に設定する。すなわち、この時点では音声認識結果として何も得られていないため、ドメインは不明であるとして、ドメインｄ０を「不明」に設定する。
【０１１８】
ステップ６０２０において、選択部１０７０は、未到着の音声認識結果に対する仮の推定正解率ｐ０として、所定の正解率、たとえば５０％を設定する。すなわち、この時点では音声認識結果として何も得られていないため、推定正解率は不明であるとして、仮の推定正解率ｐ０を設定する。
【０１１９】
ステップ６０３０において、選択部１０７０は、ユーザが発話を終了して端末装置１００に音声が入力されてから現在までの経過時間ｔ０を計測する。
【０１２０】
ステップ６０４０において、選択部１０７０は、現時点で何らかの動作を行った場合のユーザ満足度Ｓａ０、Ｓｃ０、Ｓｒ０を算出する。ここでは、図４のステップ４０９０で算出したユーザ満足度Ｓａ１、Ｓｃ１、Ｓｒ１と同様に、ステップ６０１０で設定したドメインｄ０と、ステップ６０３０で計測した経過時間ｔ０と、ステップ６０２０で設定した推定正解率ｐ０との変数を関数Ｆｓａ、Ｆｓｃ、Ｆｓｒに代入することで、現時点での採用動作、確認動作、棄却動作によるユーザ満足度Ｓａ０、Ｓｃ０、Ｓｒ０をそれぞれ算出できる。ただし、ステップ６０４０において、ｄ０、ｔ０、ｐ０の変数は必ずしも全て用いる必要はない。いずれか任意の一つ以上の変数を用いることで、ユーザ満足度Ｓａ０、Ｓｃ０、Ｓｒ０の算出が可能である。
【０１２１】
ステップ６０５０において、選択部１０７０は、棄却動作でのユーザ満足度Ｓｒ０を、採用動作でのユーザ満足度Ｓａ０および確認動作でのユーザ満足度Ｓｃ０と比較する。その結果、Ｓｒ０がＳａ０以上かつＳｃ０以上であれば処理をステップ６０６０に進め、そうでない場合は処理をステップ６０７０に進める。
【０１２２】
ステップ６０６０において、選択部１０７０は、棄却動作を選択する。その後、選択部１０７０は図６のフローチャートに示す処理を終了し、図３のステップ３０９０に処理を進める。この場合、ステップ３０９０が否定判定された後、ステップ３１００において、棄却動作を行う指令が選択部１０７０からＨＭＩ制御部１１００に出力される。その結果、図２（ｄ）の画面２０４０のような画面がディスプレイ３０に表示され、ユーザに再度の発話が促される。
【０１２３】
ステップ６０７０において、選択部１０７０は、音声認識結果が到着するまで待つことに決定し、前述のフラグを立てる処理を行う。その後、選択部１０７０は図６のフローチャートに示す処理を終了し、図３のステップ３０９０に処理を進める。この場合、ステップ３０９０が肯定判定された後、ステップ３０１０へ戻って音声認識結果が受領されるか、または再び一定時間が経過するまで待機する。
【０１２４】
以上説明したステップ６０１０〜６０７０の処理では、音声認識結果が未到着であるにも関わらず、棄却動作を行ってユーザに再度の発話を促すか否かが決定される。そのため、この処理において安易に棄却動作を行うように決定されると、ユーザは何回も繰り返して発話を行わなければならなくなり、音声認識システム１の使い勝手が大きく損なわれる。こうした事態を避けるため、ステップ６０１０でドメインｄ０を設定する際には、音声認識が最も困難なドメイン、たとえば「不明」を設定することが好ましい。また、ステップ６０２０で仮の推定正解率ｐ０を設定する際には、採用動作や確認動作を行うのに必要となる最低限の推定正解率、たとえば５０％を設定することが好ましい。
【０１２５】
次に、図７のフローチャートを参照して、ステップ３０８０で実行される結果１個到着済みの判断ルーチンを説明する。
【０１２６】
ステップ７０１０において、選択部１０７０は、ユーザが発話を終了して端末装置１００に音声が入力されてから現在までの経過時間を経過時間ｔ３として計測する。なお、前述の経過時間ｔ１と同様に、端末装置１００に音声が入力されてから現在までの経過時間に関連するものであれば、他の時間指標を経過時間ｔ３として計測してもよい。
【０１２７】
ステップ７０２０において、選択部１０７０は、ステップ７０１０で計測した経過時間ｔ３が、図４のステップ４１００で予測した経過時間ｔ２以下であるか否かを判定する。ｔ３がｔ２以下である場合は、二番目の音声認識結果を待った方がユーザ満足度が高いことが図４のステップ４１３０において予め分かっているため、処理をステップ７０３０に進める。一方、ｔ３がｔ２よりも大きい場合は、現時点で何らかの動作を行った方がユーザ満足度が高くなる可能性があるため、処理をステップ７０４０に進める。
【０１２８】
ステップ７０３０において、選択部１０７０は、二番目の音声認識結果を待つことに決定し、前述のフラグを立てる処理を行う。その後、選択部１０７０は図７のフローチャートに示す処理を終了し、図３のステップ３０９０に処理を進める。この場合、ステップ３０９０が肯定判定された後、ステップ３０１０へ戻って二番目の音声認識結果が受領されるか、または再び一定時間が経過するまで待機する。
【０１２９】
ステップ７０４０において、選択部１０７０は、経過時間ｔ３が期待値から大きく外れているか否かを判断する。たとえば、経過時間ｔ３と経過時間ｔ２の予測値との差分を求め、この差分が所定の閾値を超えていた場合に、経過時間ｔ３が期待値から大きく外れていると判断することができる。また、経過時間ｔ２が取りうる値の範囲が予め分かっている場合には、経過時間ｔ３をこの範囲と比較することで、経過時間ｔ３が期待値から大きく外れているか否かを判断してもよい。たとえば、経過時間ｔ２が取りうる値の範囲が正規分布などの確率分布で端末装置１００に予め記憶されている場合に、経過時間ｔ３がこの確率分布の所定領域、たとえば上限値から５％までの領域内に入っていれば、経過時間ｔ３が期待値から大きく外れていると判断することができる。その結果、経過時間ｔ３が期待値から大きく外れていると判断した場合は処理をステップ７１００に進め、そうでない場合は処理をステップ７０４５に進める。
【０１３０】
ステップ７０４５において、選択部１０７０は、２エンジン目のドメイン、すなわち未受領である二番目の音声認識結果に対応するドメインｄ２’を推定する。ここでは、図４のステップ４０９５と同様に、ドメインｄ２’はドメインｄ１と同じであると推定し、ドメインｄ１と同一の内容をそのまま設定する。
【０１３１】
ステップ７０５０において、選択部１０７０は、二番目の音声認識結果の推定正解率ｐ２を算出する。ここでは、図４のステップ４１１０と同様の方法により、推定正解率ｐ２を算出する。すなわち、ステップ４０３０または４０４０で設定した出力元ｋ１およびｋ２と、ステップ７０４５で推定したドメインｄ２’と、ステップ４０６０で推定した信頼度ｃ１と、ステップ７０１０で計測した経過時間ｔ３とに基づき、予め設定された関数Ｆｐ２を用いて、推定正解率ｐ２を算出する。なお、ここでは図４のステップ４１１０とは異なり、現時点での経過時間ｔ３を使用する。ただし、ステップ７０５０において、ｋ１、ｋ２、ｄ２’、ｃ１、ｔ３の変数は必ずしも全て用いる必要はない。いずれか任意の一つ以上の変数を用いることで、推定正解率ｐ２の算出が可能である。
【０１３２】
ステップ７０６０において、選択部１０７０は、二番目の音声認識結果を用いた場合の情報提供に対するユーザ満足度を算出する。ここでは、図４のステップ４１２０と同様に、採用動作、確認動作のそれぞれについて、二番目の音声認識結果に対するユーザ満足度Ｓａ２’、Ｓｃ２’を算出する。すなわち、ステップ７０４５で推定したドメインｄ２’と、ステップ７０１０で計測した経過時間ｔ３と、ステップ７０５０で算出した推定正解率ｐ２とに基づいて、これらの変数を関数Ｆｓａ、Ｆｓｃに代入することで、ユーザ満足度Ｓａ２’、Ｓｃ２’をそれぞれ算出する。なお、ここでもステップ７０５０と同様に、現時点での経過時間ｔ３を使用する。ただし、ステップ７０６０において、ｄ２’、ｔ３、ｐ２の変数は必ずしも全て用いる必要はない。
【０１３３】
ステップ７０７０において、選択部１０７０は、受領済みの音声認識結果ｉ１を用いた場合の情報提供に対するユーザ満足度Ｓａ１、Ｓｃ１、Ｓｒ１を算出する。ここでは、図４のステップ４０９０と同様に、ステップ４０５０で推定したドメインｄ１と、ステップ７０１０で計測した経過時間ｔ３と、ステップ４０８０で算出した推定正解率ｐ１との変数を関数Ｆｓａ、Ｆｓｃ、Ｆｓｒに代入することで、音声認識結果ｉ１を用いた場合の採用動作、確認動作、棄却動作によるユーザ満足度Ｓａ１、Ｓｃ１、Ｓｒ１をそれぞれ算出できる。ただし、ステップ７０７０において、ｄ１、ｔ３、ｐ１の変数は必ずしも全て用いる必要はない。いずれか任意の一つ以上の変数を用いることで、ユーザ満足度Ｓａ１、Ｓｃ１、Ｓｒ１の算出が可能である。
【０１３４】
ステップ７０８０以降の処理では、選択部１０７０は、ステップ７０７０で算出した受領済みの音声認識結果ｉ１に対するユーザ満足度Ｓａ１、Ｓｃ１、Ｓｒ１と、ステップ７０６０で算出した二番目の音声認識結果に対するユーザ満足度Ｓａ２’、Ｓｃ２’とを比較する。この比較結果に基づいて、選択部１０７０は、図４のステップ４１３０以降の処理と同様に、ＨＭＩ制御部１１００によるユーザへの情報提供に用いる音声認識結果として音声認識結果ｉ１を選択するか、または、音声認識結果ｉ１を選択せずに二番目の音声認識結果を受領するまで待つかを判断する。また、音声認識結果ｉ１を選択する場合には、採用動作、確認動作、棄却動作のうちどれを用いてユーザへの情報提供を行うかを判断する。
【０１３５】
ステップ７０８０において、選択部１０７０は、受領済みの音声認識結果ｉ１を用いるよりも二番目の音声認識結果を待った方が、ユーザ満足度が高いか否かを判定する。具体的には、選択部１０７０は、図４のステップ４１３０と同様に、音声認識結果ｉ１に対するユーザ満足度Ｓａ１、Ｓｃ１、Ｓｒ１の最大値と、二番目の音声認識結果に対するユーザ満足度Ｓａ２’、Ｓｃ２’の最大値とを比較する。その結果、ユーザ満足度Ｓａ１、Ｓｃ１、Ｓｒ１の最大値よりもユーザ満足度Ｓａ２’、Ｓｃ２’の最大値の方が大きければ、二番目の音声認識結果を待った方がユーザ満足度が高いと判断して、処理をステップ７０９０に進める。一方、ユーザ満足度Ｓａ１、Ｓｃ１、Ｓｒ１の最大値がユーザ満足度Ｓａ２’、Ｓｃ２’の最大値以上であれば、二番目の音声認識結果を待たずに現時点で受領済みの音声認識結果ｉ１を用いた方がユーザ満足度が高いと判断して、処理をステップ７１００に進める。
【０１３６】
ステップ７０９０において、選択部１０７０は、二番目の音声認識結果を待つことに決定し、前述のフラグを立てる処理を行う。その後、選択部１０７０は図７のフローチャートに示す処理を終了し、図３のステップ３０９０に処理を進める。この場合、ステップ３０９０が肯定判定された後、ステップ３０１０へ戻って二番目の音声認識結果が受領されるか、または再び一定時間が経過するまで待機する。
【０１３７】
ステップ７１００において、選択部１０７０は、音声認識結果ｉ１による採用動作でのユーザ満足度Ｓａ１を、確認動作でのユーザ満足度Ｓｃ１および棄却動作でのユーザ満足度Ｓｒ１と比較する。その結果、Ｓａ１がＳｃ１以上かつＳｒ１以上であれば処理をステップ７１１０に進め、そうでない場合は処理をステップ７１２０に進める。
【０１３８】
ステップ７１１０において、選択部１０７０は、音声認識結果ｉ１によるユーザへの情報提供の方法として採用動作を選択する。その後、選択部１０７０は図７のフローチャートに示す処理を終了し、図３のステップ３０９０に処理を進める。この場合、ステップ３０９０が否定判定された後、ステップ３１００において、音声認識結果ｉ１に基づいて採用動作を行う指令が選択部１０７０からＨＭＩ制御部１１００に出力される。その結果、図２（ａ）の画面２０１０のような画面がディスプレイ３０に表示され、認識された入力操作に応じた処理へと移行する。
【０１３９】
ステップ７１２０において、選択部１０７０は、音声認識結果ｉ１による確認動作でのユーザ満足度Ｓｃ１を、棄却動作でのユーザ満足度Ｓｒ１と比較する。その結果、Ｓｃ１がＳｒ１以上であれば処理をステップ７１３０に進め、そうでない場合、すなわちＳｃ１がＳｒ１未満であれば処理をステップ７１４０に進める。
【０１４０】
ステップ７１３０において、選択部１０７０は、音声認識結果ｉ１によるユーザへの情報提供の方法として確認動作を選択する。その後、選択部１０７０は図７のフローチャートに示す処理を終了し、図３のステップ３０９０に処理を進める。この場合、ステップ３０９０が否定判定された後、ステップ３１００において、音声認識結果ｉ１に基づいて確認動作を行う指令が選択部１０７０からＨＭＩ制御部１１００に出力される。その結果、図２（ｂ）の画面２０２０または図２（ｃ）の画面２０３０のような画面がディスプレイ３０に表示され、ユーザの確認を待った後、確認された入力操作に応じた処理へと移行する。
【０１４１】
ステップ７１４０において、選択部１０７０は、音声認識結果ｉ１によるユーザへの情報提供の方法として棄却動作を選択する。その後、選択部１０７０は図７のフローチャートに示す処理を終了し、図３のステップ３０９０に処理を進める。この場合、ステップ３０９０が否定判定された後、ステップ３１００において、棄却動作を行う指令が選択部１０７０からＨＭＩ制御部１１００に出力される。その結果、図２（ｄ）の画面２０４０のような画面がディスプレイ３０に表示され、ユーザに再度の発話が促される。
【０１４２】
以上説明したように、ステップ７０８０以降の処理では、受領済みの音声認識結果ｉ１に対するユーザ満足度Ｓａ１、Ｓｃ１、Ｓｒ１と、二番目の音声認識結果に対するユーザ満足度Ｓａ２’、Ｓｃ２’とを比較し、その比較結果に基づいて最もユーザ満足度が高くなるような動作を選択している。
【０１４３】
以上説明した本発明の一実施形態によれば、以下の作用効果を奏する。
【０１４４】
（１）音声認識装置としての端末装置１００は、ユーザから入力された音声を検出する音声検出部すなわち音声区間検出部１０１０と、音声認識部１０４０による音声の認識結果に基づく端末音声認識情報、または端末音声認識部とは異なる音声認識部１２５０による音声の認識結果に基づくサーバ音声認識情報のいずれか一方の音声認識情報を用いて、ユーザへの情報提供を行う情報提供部すなわちＨＭＩ制御部１１００と、選択部１０７０とを備える。選択部１０７０は、図３〜図７のフローチャートに示す処理を実行することで、音声が入力されてからの経過時間に基づいて、これらの音声認識情報のいずれか一方をＨＭＩ制御部１１００が用いる音声認識情報として選択すると共に、ＨＭＩ制御部１１００による情報提供の方法を変化させる。このようにしたので、ユーザにとって快適な音声入力機能を実現することができる。
【０１４５】
（２）選択部１０７０は、ステップ４０９０および４１２０、またはステップ５１６０および５１７０、またはステップ７０７０および７０６０において、音声が入力されてからの経過時間ｔ１、ｔ２またはｔ３に基づいて、最初の音声認識情報を用いた場合の情報提供に対するユーザの満足度合いの予測値を表すユーザ満足度と、二番目の音声認識情報を用いた場合の情報提供に対するユーザの満足度合いの予測値を表すユーザ満足度と、を算出する。そして、ステップ４１３０、またはステップ５１８０、５２００、５２２０および５２４０、またはステップ７０８０において、これらのユーザ満足度を比較し、その比較結果に基づいて、最初の音声認識情報または二番目の音声認識情報のいずれか一方を選択する。このようにしたので、いずれかの音声認識情報を適切に選択できる。
【０１４６】
（３）最初の音声認識情報を先に取得し、二番目の音声認識情報を未取得である場合に、選択部１０７０は、図４のフローチャートに従って、結果１個目新規到着の判断ルーチンを実行する。この処理において、選択部１０７０は、音声が入力されてから最初の音声認識情報が得られるまでの経過時間に関する経過時間ｔ１を計測する（ステップ４０７０）と共に、音声が入力されてから二番目の音声認識情報が得られるまでの経過時間に関する経過時間ｔ２を予測する（ステップ４１００）。そして、計測した経過時間ｔ１に基づいて、最初の音声認識情報を用いた場合の情報提供に対するユーザ満足度Ｓａ１、Ｓｃ１、Ｓｒ１を算出し（ステップ４０９０）、予測した経過時間ｔ２に基づいて、二番目の音声認識情報を用いた場合の情報提供に対するユーザ満足度Ｓａ２’、Ｓｃ２’を算出する（ステップ４１２０）。その後、算出したユーザ満足度Ｓａ１、Ｓｃ１、Ｓｒ１とユーザ満足度Ｓａ２’、Ｓｃ２’とを比較し（ステップ４１３０）、その比較結果に基づいて、最初の音声認識情報を選択するか否かを決定する（ステップ４１４０〜４１７０）。このようにしたので、ユーザの満足度を考慮して、最初の音声認識情報を選択するか、それとも二番目の音声認識情報を待つかの判断を、適切に行うことができる。
【０１４７】
（４）最初の音声認識情報を取得済みであり、二番目の音声認識情報を未取得である場合に、選択部１０７０は、図７のフローチャートに従って、結果１個到着済みの判断ルーチンを実行する。この処理において、選択部１０７０は、音声が入力されてから現在までの経過時間に関する経過時間ｔ３を計測し（ステップ７０１０）、計測した経過時間ｔ３に基づいて、取得済みの音声認識情報を用いた場合の情報提供に対するユーザ満足度Ｓａ１、Ｓｃ１、Ｓｒ１と、二番目の音声認識情報を用いた場合の情報提供に対するユーザ満足度Ｓａ２’、Ｓｃ２’とを算出する（ステップ７０７０、７０６０）。その後、算出したユーザ満足度Ｓａ１、Ｓｃ１、Ｓｒ１とユーザ満足度Ｓａ２’、Ｓｃ２’とを比較し（ステップ７０８０）、その比較結果に基づいて、取得済みの音声認識情報を選択するか否かを決定する（ステップ７０９０〜７１４０）。このようにしたので、ユーザの満足度を考慮して、取得済みの音声認識情報を選択するか、それとも二番目の音声認識情報を待つかの判断を、適切に行うことができる。
【０１４８】
（５）最初の音声認識情報を先に取得し、二番目の音声認識情報を後で取得した場合に、選択部１０７０は、図５のフローチャートに従って、結果２個目新規到着の判断ルーチンを実行する。この処理において、選択部１０７０は、音声が入力されてから二番目の音声認識情報が得られるまでの経過時間に関する経過時間ｔ２を計測し（ステップ５０４０）、計測した経過時間ｔ２に基づいて、最初の音声認識情報を用いた場合の情報提供に対するユーザ満足度Ｓａ１、Ｓｃ１、Ｓｒ１と、二番目の音声認識情報を用いた場合の情報提供に対するユーザ満足度Ｓａ２、Ｓｃ２とを算出する（ステップ５１６０、５１７０）。その後、算出したユーザ満足度Ｓａ１、Ｓｃ１、Ｓｒ１とユーザ満足度Ｓａ２、Ｓｃ２とを比較し（ステップ５１８０、５２００、５２２０、５２４０）、その比較結果に基づいて、最初の音声認識情報または二番目の音声認識情報のいずれか一方を選択する（ステップ５１９０、５２１０、５２３０、５２５０）。このようにしたので、ユーザの満足度を考慮して、最初の音声認識情報と二番目の音声認識情報のいずれを選択するかの判断を、適切に行うことができる。
【０１４９】
（６）選択部１０７０は、ステップ４０９０および４１２０、またはステップ５１６０および５１７０、またはステップ７０７０および７０６０において、さらに、音声の属性に応じて予め定められた複数のドメインのうち最初の音声認識情報および二番目の音声認識情報にそれぞれ対応するドメインｄ１およびドメインｄ２と、最初の音声認識情報および二番目の音声認識情報にそれぞれ対応して求められた推定正解率ｐ１および推定正解率ｐ２と、の少なくとも一つに基づいて、最初の音声認識情報に対するユーザ満足度および二番目の音声認識情報に対するユーザ満足度を算出する。このようにしたので、ユーザ満足度を適切に算出することができる。
【０１５０】
（７）音声認識部１０４０および音声認識部１２５０の少なくとも一つは、辞書データベース１０５０、１２６０において予め登録された、複数の辞書データのいずれかを用いて、音声の認識を行う。選択部１０７０は、ステップ４０５０および５０２０において、音声認識部１０４０および音声認識部１２５０の少なくとも一つが音声の認識に用いた辞書データに基づいて、ドメインｄ１およびドメインｄ２の少なくとも一つを推定することとしてもよい。このようにすれば、ドメインｄ１、ｄ２の推定を容易に行うことができる。
【０１５１】
（８）最初の音声認識情報および二番目の音声認識情報の少なくとも一つは、音声に対するユーザの意図の推定結果を示す意図推定情報を含むこともできる。この場合、選択部１０７０は、ステップ４０５０および５０２０において、当該意図推定情報に基づいて、ドメインｄ１およびドメインｄ２の少なくとも一つを推定することとしてもよい。このようにすれば、ドメインｄ１、ｄ２の推定を容易に行うことができる。
【０１５２】
（９）選択部１０７０は、ステップ４０８０および５０５０において、ドメインｄ１およびドメインｄ２と、最初の音声認識情報に対する信頼度ｃ１および二番目の音声認識情報に対する信頼度ｃ２と、音声が入力されてからの経過時間ｔ１およびｔ２と、の少なくとも一つに基づいて、推定正解率ｐ１および推定正解率ｐ２を決定する。このようにしたので、推定正解率ｐ１および推定正解率ｐ２を正確に決定することができる。
【０１５３】
（１０）選択部１０７０は、ステップ４１８０、５１２０、５１９０、５２１０および７１１０、またはステップ４１９０、５１４０、５２３０、５２５０および７１３０、またはステップ４１６０、５１５０、５２６０、６０６０および７１４０において、最初の音声認識情報または二番目の音声認識情報のいずれかに基づく入力操作をユーザの入力操作として採用する採用動作と、最初の音声認識情報または二番目の音声認識情報のいずれかに基づく入力操作をユーザの確認後にユーザの入力操作として採用する確認動作と、最初の音声認識情報に基づく入力操作および二番目の音声認識情報に基づく入力操作のいずれも採用せずに棄却する棄却動作と、のいずれかの動作を選択し、選択した動作に応じてＨＭＩ制御部１１００による情報提供の方法を変化させる。このようにしたので、状況に応じて適切な方法でユーザへの情報提供を行うことができる。
【０１５４】
（１１）音声認識システム１は、端末装置１００とサーバ２００とを備える。端末装置１００は、ユーザから入力された音声を検出する音声検出部すなわち音声区間検出部１０１０と、検出した音声を認識するための音声認識処理を実行し、その音声の認識結果に基づく端末音声認識情報を出力する音声認識部１０４０と、検出した音声に基づく音声情報をサーバ２００に送信し、サーバ２００から送信されるサーバ音声認識情報を受信する通信制御部１０３０と、端末音声認識情報またはサーバ音声認識情報のいずれか一方を用いて、ユーザへの情報提供を行う情報提供部すなわちＨＭＩ制御部１１００と、音声が入力されてからの経過時間に基づいて、これらの音声認識情報のいずれか一方を選択すると共に、ＨＭＩ制御部１１００による情報提供の方法を変化させる選択部１０７０と、を備える。サーバ２００は、端末装置１００から送信される音声情報を受信し、サーバ音声認識情報を端末装置１００に送信する通信制御部１２１０と、受信した音声情報に基づいて音声を認識するための音声認識処理を実行し、その音声の認識結果に基づくサーバ音声認識情報を出力する音声認識部１２５０と、を備える。このようにしたので、音声認識システム１により、ユーザにとって快適な音声入力機能を実現することができる。
【０１５５】
＜第１変形例＞
次に本発明の第１変形例について説明する。前述の実施形態では、推定正解率ｐ１およびｐ２、ユーザ満足度、未受領である二番目の音声認識結果が得られるまでの経過時間ｔ２の予測値など推定値が、変数を決めることで一意に決定できるとして説明した。しかし、実際にはこれらの推定値にはばらつきがあり、また、これらの推定値を決めるために用いられる変数にもばらつきがある。そこで、第１変形例では、これらの推定値を求めるための関数や変数を確率分布で表現することにより、様々なばらつきを考慮して、最も確からしい推定値を求める例を説明する。なお、以下の説明では、図４のフローチャートで示した結果１個目新規到着の判断ルーチンにおいて各推定値を確率分布に基づいて求める場合を説明するが、他の判断ルーチンにおいて求める場合も同様である。
【０１５６】
まず、図４のステップ４０８０において、選択部１０７０は、音声認識結果ｉ１の推定正解率ｐ１を、実施形態で説明した関数Ｆｐの代わりに、確率密度関数ｐｐを用いて算出する。確率密度関数ｐｐは、推定正解率ｐ１が取りうる値の確率密度を表す関数であり、ｋ１、ｄ１、ｃ１、ｔ１の各変数によってその関数形が定義される。確率密度関数ｐｐを使用すると、もっとも確からしい推定正解率ｐ１は、確率密度関数ｐｐの期待値として、たとえば以下の式（１）で求められる。
p1 = E[pp] = ∫p'1・pp(p'1, d1, c1, t1)・dp'1  （１）
【０１５７】
さらに、ステップ４０９０において、選択部１０７０は、音声認識結果ｉ１を用いた場合の情報提供に対する動作ごとのユーザ満足度Ｓａ１、Ｓｃ１、Ｓｒ１についても、確率的な値として求めることができる。たとえば、採用動作、確認動作、棄却動作のそれぞれに対応する前述の関数Ｆｓａ、Ｆｓｃ、Ｆｓｒの代わりに、確率密度関数ｐｓａ、ｐｓｃ、ｐｓｒを用いて、以下の式（２）〜（４）でユーザ満足度Ｓａ１、Ｓｃ１、Ｓｒ１が求められる。
Sa1 = E[psa] = ∬S'a1・psa(S'a1, d1, c1, p1)・p'1・pp(p'1, d1, c1, t1)・dp'1dS'a1  （２）
Sc1 = E[psc] = ∬S'c1・psc(S'c1, d1, c1, p1)・p'1・pp(p'1, d1, c1, t1)・dp'1dS'c1  （３）
Sr1 = E[psr] = ∬S'r1・psr(S'r1, d1, c1, p1)・p'1・pp(p'1, d1, c1, t1)・dp'1dS'r1  （４）
【０１５８】
上記の式（２）〜（４）のように、推定正解率ｐ１を一意に決定することなく、確率分布として表すことにより、推定正解率ｐ１のばらつきを踏まえて、より確からしいユーザ満足度を計算することができる。
【０１５９】
なお、以上説明したような確率的な推定値の算出方法は、２エンジン目の各推定値、すなわち二番目の音声認識結果に関する各推定値を求めるときに、より高い効果を発揮することができる。その理由は、二番目の音声認識結果に関する各推定値は、最初の音声認識結果に基づいて求める必要があるためである。なお、二番目の音声認識結果に関する推定値は、前述の経過時間ｔ２、推定正解率ｐ２、ドメインｄ２’などである。
【０１６０】
まず、図４のステップ４０９５において、選択部１０７０は、二番目の音声認識結果に対応するドメインを推定する。実施形態では、このドメインは最初の音声認識結果ｉ１に対応するドメインｄ１と同一であるドメインｄ２’として推定される。しかし、厳密には二番目の音声認識結果に対応するドメインは、ドメインｄ１と異なることも考えられる。そこで第１変形例では、二番目の音声認識結果に対応するドメインをｄ２とし、ある状況下でのドメインｄ２の確率Ｐｄを以下の式（５）で表す。
Pd(d2│d1, c1, t1, p1)  （５）
【０１６１】
次に、ステップ４１００において、選択部１０７０は、ユーザが発話を終了して端末装置１００に音声が入力されてから、未受領である二番目の音声認識結果が得られるまでの経過時間ｔ２を予測する。この経過時間ｔ２の確率を確率密度関数ｐｔで表すと、経過時間ｔ２の期待値は以下の式（６）で表される。
t2 = E[pt] = ∫t'2・pt(t'2, d2, k2, c1, cs)・dt'2  （６）
【０１６２】
ここで、上記の式（６）におけるドメインｄ２の確率Ｐｄは、前述の式（５）で表される。また、式（５）における推定正解率ｐ１は、前述の式（１）で表される。したがって、式（６）を変形して、経過時間ｔ２の期待値は以下の式（７）で表される。ただし、式（７）において、Ｄはドメインｄ２が取りうるドメインの全集合を表す。
t2 = E[pt] = Σd'2∈D{∬Pd(d'2│d1, c1, t1, p1)・t'2・pt(t'2, d2, k2, c1, cs)・p'1・pp(p'1, d1, c1, t1)・dp'1dt'2}  （７）
【０１６３】
なお、二番目の音声認識結果の推定正解率ｐ２や、二番目の音声認識結果を用いた場合の情報提供に対するユーザ満足度については、上記の経過時間ｔ２やドメインｄ２に基づいて、最初の音声認識結果ｉ１の推定正解率ｐ１やユーザ満足度と同様に算出することができる。
【０１６４】
第１変形例では、以上説明したように、各推定値の確率的なばらつきを考慮して、ユーザ満足度や到着時間ｔ２などの推定値を計算する。これにより、不確かさが多い場面においても、ユーザビリティが高い情報提供を行うことができる。
【０１６５】
＜第２変形例＞
次に本発明の第２変形例について説明する。前述の実施形態では、端末装置１００で得られた音声認識結果またはサーバ２００で得られた音声認識結果のいずれかを用いて、採用動作、確認動作、棄却動作のいずれかを行うことで、ユーザへの情報提供を行う例を説明した。これに対して第２変形例では、端末装置１００で得られた意図推定結果またはサーバ２００で得られた意図推定結果のいずれかを用いて、ユーザへの情報提供を行う例を説明する。なお、実施形態で説明したように、端末装置１００では意図推定部１０６０によりユーザの意図推定が行われ、サーバ２００では意図推定部１２７０によりユーザの意図推定が行われる。選択部１０７０に入力される端末音声認識情報とサーバ音声認識情報には、それぞれの意図推定結果が含まれているものとする。
【０１６６】
なお、意図推定部１０６０および１２７０において推定されるユーザの意図とは、ユーザが発話した内容が、端末装置１００に対するどのような入力操作を意図したものであるかを表したものである。たとえば、端末装置１００がユーザにナビゲーション情報を提供する場合には、施設名検索、自宅ルート検索、電話発信、地図拡大、地図縮小などが、ユーザの意図として推定される。さらに、施設検索では、施設検索におけるクエリなどを推定してもよい。意図推定部１０６０および１２７０では、予め定められたルールや統計的手法などを用いた周知の方法により、音声認識結果からこれらのユーザの意図を推定することができる。
【０１６７】
図４のステップ４０１０や、図５のステップ５０１０において、選択部１０７０は、意図推定部１０６０または１２７０で推定されたユーザの意図を、音声認識結果ｉ１、ｉ２の代わりに使用することができる。これらの意図には、意図推定の確からしさを示す信頼度を付与してもよい。さらに、音声認識結果の信頼度と、意図推定結果の信頼度との両方に基づく信頼度として、たとえばこれらを掛け合わせたり足し合わせたりした信頼度を使用してもよい。このようにすれば、音声認識の確からしさと、意図推定の確からしさとの両方を考慮して、処理を行うことができる。
【０１６８】
以上説明した本発明の第２変形例によれば、端末音声認識情報およびサーバ音声認識情報は、音声に対するユーザの意図の推定結果を示す意図推定情報をそれぞれ含む。選択部１０７０は、これらの音声認識情報のいずれか一方に含まれる意図推定情報を選択する。このようにしたので、ユーザの意図を考慮した情報提供が可能である。
【０１６９】
＜第３変形例＞
次に本発明の第３変形例について説明する。前述の実施形態では、ユーザが直前に発声した音声に対する音声認識結果や意図推定結果に基づいてドメインの推定を行う例を説明した。しかし実際には、高頻度で利用するドメインはユーザごとに一定の傾向がある。また、ユーザが一連の入力操作において利用するドメインは概ね一定であり、急に異なるドメインに該当する音声を発声することは少ない。そこで、こうした点を考慮して、過去のドメインの推定履歴に基づいて今回のドメインを推定してもよい。この場合、端末装置１００は、過去のドメインの推定履歴をユーザ満足度に関するデータとしてユーザ満足度記憶部１０８０に蓄積しておく。これにより、図４のステップ４０５０や図５のステップ５０２０において、選択部１０７０は、過去のドメインの推定履歴に基づいて、最初の音声認識結果ｉ１に対応するドメインｄ１や、二番目の音声認識結果ｉ２に対応するドメインｄ２を推定することができる。
【０１７０】
以上説明した本発明の第３変形例によれば、選択部１０７０は、ステップ４０５０、５０２０において、過去のドメインｄ１およびドメインｄ２の推定履歴に基づいて、ドメインｄ１およびドメインｄ２を推定する。このようにしたので、ユーザの傾向や一連の入力操作を考慮して、ドメインの推定をより正確に行うことができる。
【０１７１】
なお、以上説明した本発明の実施形態および変形例では、端末装置１００が備える音声認識部１０４０とサーバ２００が備える音声認識部１２５０において音声認識をそれぞれ行い、これらの音声認識結果を選択部１０７０において選択する例を説明した。しかし、本発明はこのような形態に限定されない。たとえば、端末装置１００が複数のサーバに接続可能であり、これら複数のサーバでそれぞれ得られた音声認識結果を端末装置１００が取得して選択するようにしてもよい。この場合、端末装置１００は音声認識部１０４０を備えなくても構わない。あるいは、端末装置１００が複数の音声認識部を備え、これら複数の音声認識部でそれぞれ得られた音声認識結果を選択するようにしてもよい。
【０１７２】
以上説明した実施形態や各種の変化例はあくまで一例であり、発明の特徴が損なわれない限り、本発明はこれらの内容に限定されない。本発明は、上述した実施形態や変形例に限定されるものではなく、本発明の趣旨を逸脱しない範囲で種々の変更が可能である。
【符号の説明】
【０１７３】
１：音声認識システム
１００：端末装置
２００：サーバ
１０１０：音声区間検出部
１０２０：音声符号化部
１０３０：通信制御部
１０４０：音声認識部
１０５０：辞書データベース
１０６０：意図推定部
１０７０：選択部
１０８０：ユーザ満足度記憶部
１１００：ＨＭＩ制御部
１１１０：音声出力装置
１１２０：録音音声合成部
１１３０：規則音声合成部
１２１０：通信制御部
１２２０：音声対話制御部
１２３０：対話シナリオ
１２４０：音声復号化部
１２５０：音声認識部
１２６０：辞書データベース
１２７０：意図推定部
【図１】
2018081185.tif 000003
【図２】
2018081185.tif 000004
【図３】
2018081185.tif 000005
【図４】
2018081185.tif 000006
【図５】
2018081185.tif 000007
【図６】
2018081185.tif 000008
【図７】
2018081185.tif 000009
【図８】
2018081185.tif 000010
【図９】
2018081185.tif 000011