(57)【要約】【課題】使用者の１回の発話から複数のコマンドを認識して複数の操作対象を操作可能な音声認識装置、音声認識方法、及び音声認識用プログラムを提供する。【解決手段】音声認識装置は、入力音声の認識結果に基づいて、予め定められた種類の操作対象及びその操作内容から、操作対象及びその操作内容を決定する。音声認識装置は、入力音声を認識することにより、該音声を単語列で表現されるテキストに変換する音声認識手段１１と、テキストを構文解析して第１の操作候補群を特定する処理を実行する第１の構文解析手段３１と、予め定められた種類の操作対象のうち第１の操作候補群に含まれない操作対象に対して、テキストを構文解析することによって、第２の操作候補群を特定する処理を実行する第２の構文解析手段３２と、第１及び第２の操作候補群から、操作対象及びその操作内容を決定するための最終的な操作候補群を特定する操作候補特定手段３３とを備える。【選択図】図１
2008268340.tif 000002
【特許請求の範囲】
【請求項１】
音声入力手段により入力された音声についての認識結果に基づいて、予め定められた種類の操作対象及びその操作内容から、操作対象及びその操作内容を決定する音声認識装置において、
前記入力された音声を認識することにより、該音声を単語列で表現されるテキストに変換する音声認識手段と、
前記音声認識手段により変換されたテキストを構文解析して、前記操作対象及びその操作内容の候補として第１の操作候補群を特定する処理を実行する第１の構文解析手段と、
前記予め定められた種類の操作対象のうち、前記第１の操作候補群に含まれない操作対象に対して、前記音声認識手段により変換されたテキストを構文解析することによって、前記操作対象及びその操作内容の候補として第２の操作候補群を特定する処理を実行する第２の構文解析手段と、
前記第１の操作候補群及び前記第２の操作候補群から、前記操作対象及びその操作内容を決定するための最終的な操作候補群を特定する操作候補特定手段と
を備えることを特徴とする音声認識装置。
【請求項２】
請求項１記載の音声認識装置において、
前記第２の構文解析手段は、前記音声認識手段により変換されたテキストから、該テキストに含まれる単語の特徴に基づく単語スコアを算出する手段を備え、前記予め定められた種類の操作対象のうちの前記第１の操作候補群に含まれない操作対象のうち、各操作対象毎の該単語スコアが所定条件を満たす操作対象のみに対して、前記テキストを構文解析することによって、前記第２の操作候補群を特定することを特徴とする音声認識装置。
【請求項３】
請求項２記載の音声認識装置において、
前記第２の構文解析手段は、前記各操作対象毎の前記単語スコアの、前記テキストに含まれる該各操作対象毎の単語当りの平均値を算出し、前記所定条件として、該平均値が所定閾値以上であることを用いることを特徴とする音声認識装置。
【請求項４】
請求項１〜３のいずれか記載の音声認識装置において、
前記第２の操作候補群の各操作候補が、前記第１の操作候補群に対して、操作対象及びその操作内容について矛盾が生じるか否かを判断する矛盾判断手段を備え、
前記第２の構文解析手段は、前記第２の操作候補群から、前記矛盾判断手段により前記第１の操作候補群に対して操作対象及びその操作内容について矛盾が生じると判断された操作候補を除外することを特徴とする音声認識装置。
【請求項５】
請求項１〜３のいずれか記載の音声認識装置において、
前記第２の構文解析手段は、前記第２の操作候補群を特定する処理を実行した結果、操作対象が特定できない操作候補を、前記第２の操作候補群から除外することを特徴とする音声認識装置。
【請求項６】
入力された音声についての認識結果に基づいて、予め定められた種類の操作対象及びその操作内容から、操作対象及びその操作内容を決定する音声認識方法であって、
音声入力手段により入力された音声を認識することにより、該音声を単語列で表現されるテキストに変換する音声認識ステップと、
前記音声認識ステップにより変換されたテキストを構文解析して、前記操作対象及びその操作内容の候補である第１の操作候補群を特定する処理を実行する第１の構文解析ステップと、
前記予め定められた種類の操作対象のうちの、前記第１の操作候補群に含まれない操作対象に対して、前記音声認識ステップにより変換されたテキストを構文解析することによって、前記操作対象及びその操作内容の候補である第２の操作候補群を特定する処理を実行する第２の構文解析ステップと、
前記第１の操作候補群及び前記第２の操作候補群から、前記操作対象及びその操作内容を決定するための最終的な操作候補群を特定する音声候補特定ステップと
を備えたことを特徴とする音声認識方法。
【請求項７】
入力された音声についての認識結果に基づいて、予め定められた種類の操作対象及びその操作内容から、操作対象及びその操作内容を決定する処理をコンピュータに実行させる音声認識用プログラムであって、
音声入力手段により入力された音声を認識することにより、該音声を単語列で表現されるテキストに変換する音声認識処理と、
前記音声認識処理により変換されたテキストを構文解析して、前記操作対象及びその操作内容の候補である第１の操作候補群を特定する第１の構文解析処理と、
前記予め定められた種類の操作対象のうちの、前記第１の操作候補群に含まれない操作対象に対して、前記音声認識ステップにより変換されたテキストを構文解析することによって、前記操作対象及びその操作内容の候補である第２の操作候補群を特定する第２の構文解析手段と、
前記第１の操作候補群及び前記第２の操作候補群から、前記操作対象及びその操作内容を決定するための最終的な操作候補群を特定する操作候補特定処理と
を前記コンピュータに実行させる機能を有することを特徴とする音声認識用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、使用者により入力される音声を認識し、認識した結果に基づいて操作対象と操作内容を決定する音声認識装置、音声認識方法、及び音声認識プログラムに関する。
【背景技術】
【０００２】
近年、例えば、使用者が機器の操作等を行うシステムにおいて、使用者により入力される音声を認識して、機器の操作等に必要な情報（操作対象や操作内容を指すコマンド）を取得する音声認識装置が用いられている。このような音声認識装置では、使用者により入力される音声（発話）を認識し、認識した結果に基づいて使用者に応答して使用者の次の発話を促すことで、使用者との対話が行われる。そして、使用者との対話を認識した結果から、機器の操作等を行うために必要な情報が取得される。
【０００３】
この音声認識装置は、例えば車両に装備されて、車両に搭載されたオーディオ、ナビゲーションシステム、エアコンディショナ等の複数の機器が使用者により操作される。さらに、これらの機器は高機能化しており、例えば、ナビゲーションシステムには、地図表示やＰＯＩ（Point of Interest）検索等の複数の機能が備えられ、これらの機能が使用者により操作される。しかし、このように多数の操作対象（例えばナビゲーションシステムにインストールされたアプリケーション）があると、使用者が操作したいアプリケーションが複数ある場合に、各アプリケーションを操作するためのコマンドを発話毎にそれぞれ音声入力して認識させるのでは、操作が冗長で使用者にとって利便性が良くない。これに対して、１つのコマンドに複数のアプリケーションを予め対応付けておき、使用者がこのコマンドを音声入力することで、１回の発話で複数のアプリケーションを操作することができる技術が提案されている（例えば、特許文献１参照）。
【０００４】
この特許文献１の音声認識装置（対話型端末装置）では、認識対象であるコマンドとして、使用者が対話中のアプリケーションを操作するためのローカルコマンドと、対話中のアプリケーション以外の他のアプリケーションを操作するためのグローバルコマンドとを備える。そして、入力された発話がローカルコマンドであるか否かを判定し、ローカルコマンドであると判定した場合は、ローカルコマンドとして音声認識処理を行い、ローカルコマンドでないと判定した場合には、グローバルコマンドとして音声認識処理を行う。このとき、グローバルコマンドには、１つ以上のアプリケーションが対応付けられており、この装置では、グローバルコマンドの入力に対して、グローバルコマンドに対応付けられたすべてのアプリケーションそれぞれにおいて、認識されたグローバルコマンドに対応付けられた処理が実行される。
【特許文献１】特開２００４−２３４２７３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１の装置では、複数のアプリケーションに対応付けられたコマンドを予め用意し、このコマンドを使用者が用いる必要がある。従って、使用者が複数のアプリケーションを任意に組み合わせて１回の発話で操作する場合に対応するためには、組み合わせに応じた多数のコマンドを用意し、このコマンドを使用者が用いることが必要となってしまい、利便性が良くない。
【０００６】
これに対して、使用者が複数のアプリケーションを操作したい場合に、各アプリケーションを操作するためのコマンドを１回の発話で認識させようとすることが想定される。すなわち、１回の発話で複数のコマンドを音声入力して認識させることで、複数のアプリケーションに対応付けられたコマンドを予め用意することなく、複数のアプリケーションを任意に組み合わせて操作可能とするものである。しかしながら、特許文献１の装置では、１回の発話から認識されるのは１つのコマンドのみであるため、このような１つの発話に複数のコマンドが含まれる場合には対応することができない。
【０００７】
本発明は、上記事情に鑑み、使用者の１回の発話から複数のコマンドを認識して複数の操作対象を操作可能な音声認識装置、音声認識方法、及び音声認識用プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
かかる目的を達成するために、本発明の音声認識装置は、音声入力手段により入力された音声についての認識結果に基づいて、予め定められた種類の操作対象及びその操作内容から、操作対象及びその操作内容を決定する音声認識装置において、前記入力された音声を認識することにより、該音声を単語列で表現されるテキストに変換する音声認識手段と、前記音声認識手段により変換されたテキストを構文解析して、前記操作対象及びその操作内容の候補として第１の操作候補群を特定する処理を実行する第１の構文解析手段と、前記予め定められた種類の操作対象のうち、前記第１の操作候補群に含まれない操作対象に対して、前記音声認識手段により変換されたテキストを構文解析することによって、前記操作対象及びその操作内容の候補として第２の操作候補群を特定する処理を実行する第２の構文解析手段と、前記第１の操作候補群及び前記第２の操作候補群から、前記操作対象及びその操作内容を決定するための最終的な操作候補群を特定する操作候補特定手段とを備えることを特徴とする（第１発明）。
【０００９】
第１発明の音声認識装置では、使用者から対象を操作するための発話が音声入力されて、当該音声が音声認識手段により認識され、単語列で表現されるテキストに変換される。ここで、「テキスト」とは、単語の列で表現された、所定の意味を有する有意構文である。このように、入力された発話をテキストとして書き起こす手法（ディクテーション）を用いることで、予め決められた言い回しの発話に限定されない、使用者の自然な発話の認識が可能となる。そして、第１の構文解析手段により、例えばテキストに含まれる単語や単語列の特徴に基づいて該テキストが構文解析される。これにより、例えばテキスト全体から尤度の高い操作候補が第１の操作候補群として特定される。
【００１０】
このとき、使用者が複数の対象を操作するために、操作対象及びその操作内容を指す複数のコマンドを１回の発話で音声入力する場合が想定される。そして、この場合、第１の構文解析手段により、使用者が音声入力した複数のコマンドのうち、単語や単語列の特徴がより顕著なコマンドが第１の操作候補群として特定されていると考えられる。そこで、第２の構文解析手段は、予め定められた種類の操作対象のうち、第１の操作候補群に含まれない操作対象に対して、テキストを構文解析する。これにより、第１の操作候補群として特定されたコマンドが排除された状態でテキストが構文解析されるので、使用者が音声入力した他のコマンドの特徴が適切に抽出され、第２の操作候補群として特定される。
【００１１】
そして、操作候補特定手段により、第１及び第２の操作候補群から、操作対象及びその操作内容を決定するための最終的な操作候補群が特定されるので、使用者が１回の発話で複数のコマンドを音声入力した場合でも、各コマンドを最終的な操作候補群に含ませることが可能となる。従って、本発明によれば、使用者の１回の発話から複数のコマンドを認識して複数の対象を操作することができる。
【００１２】
また、第１発明の音声認識装置において、前記音声認識手段により変換されたテキストから、該テキストに含まれる単語の特徴に基づく単語スコアを算出する手段を備え、前記予め定められた種類の操作対象のうちの前記第１の操作候補群に含まれない操作対象のうち、各操作対象毎の該単語スコアが所定条件を満たす操作対象のみに対して、前記テキストを構文解析することによって、前記第２の操作候補群を特定することが好ましい（第２発明）。
【００１３】
ここで、「スコア」とは、入力音声の認識結果として得られたテキストに含まれる単語又は単語列が、音響的観点や言語的観点等のさまざまな観点から入力音声に該当するもっともらしさ（尤度、確信度）を表す指数を意味する。また、「単語スコア」は、例えば、認識対象である単語について予め定められた、単語毎の出現確率等に基づいて算出される。すなわち、各操作対象毎の単語スコアは、テキストに含まれる単語が各操作対象に関連する度合を示す指標となる。よって、この各操作対象毎の該単語スコアに基づいて、その操作対象に関するコマンドがテキストに残されているか否かを把握することが可能である。従って、予め定められた種類の操作対象のうちの第１の操作候補群に含まれない操作対象のうち、該単語スコアが所定条件を満たす操作対象のみに対して、テキストを構文解析することにより、第２の操作候補群をより精度良く特定することができる。
【００１４】
また、第３発明の音声認識装置において、前記第２の構文解析手段は、前記各操作対象毎の前記単語スコアの、前記テキストに含まれる該各操作対象毎の単語当りの平均値を算出し、前記所定条件として、該平均値が所定閾値以上であることを用いることが好ましい（第３発明）。このとき、例えば、前記第２の構文解析手段は、前記平均値として、前記各操作対象毎の前記単語スコアの総和を、前記テキストに含まれる該各操作対象毎の単語数で除算した値を用いることが好ましい。
【００１５】
この場合、各操作対象毎の単語スコアの、テキストに含まれる該各操作対象毎の単語当りの平均値は、テキストに含まれる単語が各操作対象に関連する度合を平均的に示す指標であり、該テキスト全体が各操作対象に関連する度合を顕著に示す。よって、この算出された値が大きい場合には、その操作対象に関するコマンドがテキストに残されている可能性が高い。従って、予め定められた種類の操作対象のうちの第１の操作候補群に含まれない操作対象のうち、該平均値が所定閾値以上である操作対象のみに対して、テキストを構文解析することにより、第２の操作候補群をより精度良く特定することができる。
【００１６】
また、第１〜第３発明の音声認識装置において、前記第２の操作候補群の各操作候補が、前記第１の操作候補群に対して、操作対象及びその操作内容について矛盾が生じるか否かを判断する矛盾判断手段を備え、前記第２の構文解析手段は、前記第２の操作候補群から、前記矛盾判断手段により前記第１の操作候補群に対して操作対象及びその操作内容について矛盾が生じると判断された操作候補を除外することが好ましい（第４発明）。
【００１７】
すなわち、矛盾判断手段により、第２の操作候補群の各操作候補が、第１の操作候補群に対して、操作対象及びその操作内容について矛盾が生じると判断された場合には、この第２の操作候補は、誤って特定された可能性が高い。よって、この第２の操作候補を、第２の操作候補群から除外することにより、第２の操作候補群をより精度良く特定することができる。
【００１８】
または、第１〜第３発明の音声認識装置において、前記第２の構文解析手段は、前記第２の操作候補群を特定する処理を実行した結果、操作対象が特定できない操作候補を、前記第２の操作候補群から除外することが好ましい（第５発明）。
【００１９】
すなわち、第２の構文解析手段により、第２の操作候補群を特定する処理を実行した結果、操作対象が特定できない場合は、この第２の操作候補は内容が不明瞭なので、誤って特定された可能性が高い。よって、この第２の操作候補を、第２の操作候補群から除外することにより、第２の操作候補群をより精度良く特定することができる。
【００２０】
次に、本発明の音声認識方法は、入力された音声についての認識結果に基づいて、予め定められた種類の操作対象及びその操作内容から、操作対象及びその操作内容を決定する音声認識方法であって、音声入力手段により入力された音声を認識することにより、該音声を単語列で表現されるテキストに変換する音声認識ステップと、前記音声認識ステップにより変換されたテキストを構文解析して、前記操作対象及びその操作内容の候補である第１の操作候補群を特定する処理を実行する第１の構文解析ステップと、前記予め定められた種類の操作対象のうちの、前記第１の操作候補群に含まれない操作対象に対して、前記音声認識ステップにより変換されたテキストを構文解析することによって、前記操作対象及びその操作内容の候補である第２の操作候補群を特定する処理を実行する第２の構文解析ステップと、前記第１の操作候補群及び前記第２の操作候補群から、前記操作対象及びその操作内容を決定するための最終的な操作候補群を特定する音声候補特定ステップとを備えたことを特徴とする（第６発明）。
【００２１】
第６発明の音声認識方法によれば、第１発明の音声認識装置に関して説明したように、第１の構文解析手段によりテキストが構文解析され、テキスト全体から尤度の高い操作候補が第１の操作候補群として特定されると共に、第２の構文解析手段により、第１の操作候補群として特定されたコマンドが排除された状態でテキストが構文解析される。これにより、使用者が音声入力した他のコマンドの特徴が適切に抽出され、第２の操作候補群として特定される。従って、使用者が１回の発話で複数のコマンドを音声入力した場合に、各コマンドを最終的な操作候補群に含ませることが可能となる。よって、この音声認識方法によれば、使用者の１回の発話から複数のコマンドを認識して複数の対象を操作することができる。
【００２２】
次に、本発明の音声認識プログラムは、入力された音声についての認識結果に基づいて、予め定められた種類の操作対象及びその操作内容から、操作対象及びその操作内容を決定する処理をコンピュータに実行させる音声認識用プログラムであって、音声入力手段により入力された音声を認識することにより、該音声を単語列で表現されるテキストに変換する音声認識処理と、前記音声認識処理により変換されたテキストを構文解析して、前記操作対象及びその操作内容の候補である第１の操作候補群を特定する第１の構文解析処理と、前記予め定められた種類の操作対象のうちの、前記第１の操作候補群に含まれない操作対象に対して、前記音声認識ステップにより変換されたテキストを構文解析することによって、前記操作対象及びその操作内容の候補である第２の操作候補群を特定する第２の構文解析手段と、前記第１の操作候補群及び前記第２の操作候補群から、前記操作対象及びその操作内容を決定するための最終的な操作候補群を特定する操作候補特定処理とを前記コンピュータに実行させる機能を有することを特徴とする（第７発明）。
【００２３】
第７発明の音声認識用プログラムによれば、第１発明の音声認識装置に関して説明した効果を奏し得る処理をコンピュータに実行させることができる。
【発明を実施するための最良の形態】
【００２４】
［第1実施形態］
本発明の一実施形態を添付の図面を参照して説明する。まず、第１実施形態について図１〜図８を用いて説明する。図１は、本実施形態による音声認識装置の機能ブロック図であり、図２は、図１の音声認識装置の言語モデル、構文モデルの構成を示す説明図である。また、図３は、図１の音声認識装置の全体的な作動（音声対話処理）を示すフローチャートであり、図４は、図３の音声対話処理における言語モデルを用いた音声認識処理を示す説明図である。また、図５，図６は、図３の音声対話処理における第１の構文解析処理を示す説明図であり、図７は、図３の音声対話処理の第２の構文解析処理における構文解析を行う操作対象を特定する処理を示す説明図であり、図８は、図３の音声対話処理における第２の構文解析処理を示す説明図である。
【００２５】
図１に示すように、本発明の実施形態である音声認識装置は音声対話ユニット１から成り、車両１０に搭載されている。この音声対話ユニット１には、車両１０の運転者から発話が入力されるマイク２が接続されると共に、車両１０の状態を検出する車両状態検出部３が接続されている。また、音声対話ユニット１には、運転者への応答を出力するスピーカ４と、運転者への表示を行うディスプレイ５とが接続されている。さらに、音声対話ユニット１には、運転者が音声等で操作可能な複数の機器６ａ〜６ｃが接続されている。
【００２６】
マイク２は、車両１０の運転者の音声が入力されるものであり、車内の所定位置に設置されている。マイク２は、例えば、トークスイッチにより音声の入力開始が指令されると、入力される音声を運転者の発話として取得する。トークスイッチは、車両１０の運転者により操作されるＯＮ・ＯＦＦスイッチであり、押下してＯＮ操作されることによって音声の入力開始が指令される。
【００２７】
車両状態検出部３は、車両１０の状態を検出するセンサ等である。車両１０の状態とは、例えば、車両１０の速度や加減速等の走行状態、車両１０の位置や走行道路等の走行環境情報、車両１０に装備された機器（ワイパー、ウィンカー、ナビゲーションシステム６ａ、オーディオ６ｂ等）の動作状態、或いは車両１０の車内温度等の車内の状態をいう。具体的には、例えば、車両１０の走行状態を検出するセンサとして、車両１０の走行速度（車速）を検出する車速センサ、車両１０のヨーレートを検出するヨーレートセンサ、車両１０のブレーキ操作（ブレーキペダルが操作されているか否か）を検出するブレーキセンサ等が挙げられる。さらに、車両１０の状態として、車両１０の運転者の状態（運転者の手掌部の発汗、運転負荷等）を検出してもよい。
【００２８】
スピーカ４は、車両１０の運転者への応答（音声ガイド）を出力するものである。なお、このスピーカ４としては、後述のオーディオ６ａが有するスピーカを用いることができる。
【００２９】
ディスプレイ５は、例えば、車両１０のフロントウィンドウに画像等の情報を表示するＨＵＤ（ヘッドアップディスプレイ）、車両１０の車速などの走行状態を表示するメータに一体的に設けられたディスプレイ、或いは後述のナビゲーションシステム６ｂに備えられたディスプレイ等である。なお、ナビゲーションシステム６ｂのディスプレイは、タッチスイッチが組み込まれたタッチパネルとなっている。
【００３０】
機器６ａ〜６ｃは、具体的には、車両１０に装備されたオーディオ６ａ、ナビゲーションシステム６ｂ、エアコンディショナ６ｃである。各機器６ａ〜６ｃには、制御可能な構成要素（デバイス，コンテンツ等）、機能、動作等が予め定められている。
【００３１】
例えば、オーディオ６ａには、デバイスとして「ＣＤ」「ＭＰ３」「ラジオ」「スピーカ」等がある。また、オーディオ６ａの機能として「音量」等がある。また、オーディオ６ａの動作として「変更」「オン」「オフ」等がある。さらに、「ＣＤ」「ＭＰ３」の動作として、「再生」「停止」等がある。また、「ラジオ」の機能として「選局」等がある。また、「音量」の動作として「上げる」「下げる」等がある。
【００３２】
また、例えば、ナビゲーションシステム６ｂには、コンテンツとして「画面表示」「経路誘導」「ＰＯＩ検索」等がある。さらに、「画面表示」の動作として「変更」「拡大」「縮小」等がある。なお、「経路誘導」は音声ガイド等により目的地へ誘導する機能であり、「ＰＯＩ検索」は、例えばレストラン、ホテル等の目的地を検索する機能である。
【００３３】
また、例えば、エアコンディショナ６ｃには、その機能として「風量」「設定温度」等がある。また、エアコンディショナ６ｃの動作として「オン」「オフ」等がある。さらに、「風量」「設定温度」の動作として「変更」「上げる」「下げる」等がある。
【００３４】
これらの機器６ａ〜６ｃは、対象を制御するための情報（機器や機能の種別、動作の内容等）を指定することにより制御される。操作対象となる各機器６ａ〜６ｃのデバイス、コンテンツ、機能は複数のドメインに分類されている。「ドメイン」とは認識対象のカテゴリに応じた分類を意味し、具体的には、操作対象である機器や機能を表す。ドメインは、例えば「オーディオ」のドメインが、その下位で「ＣＤ」「ラジオ」のドメインに分類されるといったように、階層的に指定することができる。
【００３５】
音声対話ユニット１は、詳細の図示は省略するが、入力アナログ信号をデジタル信号に変換するＡ／Ｄ変換回路と、音声のデータを記憶するメモリと、該メモリに記憶されたデータにアクセス（読み出し及び書き込み）するためのインタフェース回路を有して、該音声のデータに対して各種の演算処理を行うコンピュータ（ＣＰＵ，メモリ，入出力回路等からなる演算処理回路、或いはこれらの機能を集約したマイクロコンピュータ）等により構成された電子ユニットである。なお、音声のデータを記憶するメモリとしては、当該コンピュータの内部メモリ又は外部の記憶媒体を用いることができる。
【００３６】
そして、音声対話ユニット１は、マイク２の出力（アナログ信号）がＡ／Ｄ変換回路を介してデジタル信号に変換されて入力される。そして、音声対話ユニット１は、入力されたデータに基づいて、運転者から入力された発話を認識する処理、この認識結果に基づいて、スピーカ４やディスプレイ５を介して運転者との対話や運転者への情報提示を行う処理、機器６ａ〜６ｃを制御する処理等を実行する。
【００３７】
これらの処理は、前記コンピュータのメモリに予め実装されたプログラムを当該コンピュータにより実行することにより実現される。このプログラムは、本発明の音声対話用プログラムを含んでいる。なお、当該プログラムはＣＤ−ＲＯＭ等の記録媒体を介してメモリに格納されてもよい。或いは、当該プログラムは外部のサーバからネットワークや人工衛星を介して配信または放送され、車両１０に搭載された通信機器により受信された上でメモリに格納されてもよい。
【００３８】
より詳しくは、音声対話ユニット１は、上記プログラムにより実現される機能として、入力された音声を音響モデル１５と言語モデル１６とを用いて認識してテキストとして出力する音声認識部１１と、認識されたテキストから構文モデル１７を用いて発話の意味を理解する構文解析部１２とを備えている。また、音声対話ユニット１は、発話の認識結果から特定される操作候補に基づいてシナリオデータベース１８を用いてシナリオを決定し、運転者への応答や機器の制御等を行うシナリオ制御部１３と、運転者への音声による応答をスピーカ４を介して出力する音声出力部１４とを備えている。なお、「操作候補」は、発話の認識結果に基づいて特定される操作対象や操作内容の候補に相当する。
【００３９】
さらに詳細には、構文解析部１２は、その機能として、音声認識部１１により変換されたテキストを構文解析して、第１の操作候補群を特定する処理（第１の構文解析処理）を実行する第１の構文解析部３１と、予め定められた操作対象の種類のうち、第１の操作候補群に含まれない操作対象に対してテキストを構文解析することによって、第２の操作候補群を特定する処理（第２の構文解析処理）を実行する第２の構文解析部３２と、第１及び前記第２の操作候補群から、操作候補を決定するための最終的な操作候補群を特定する操作候補特定部３３とを備えている。
【００４０】
なお、音声認識部１１、第１の構文解析部３１、第２の構文解析部３２、及び操作候補特定部３３は、それぞれ、本発明の音声認識手段、第１の構文解析手段、第２の構文解析手段、及び操作候補特定手段に相当する。
【００４１】
また、音響モデル１５、言語モデル１６、構文モデル１７、シナリオデータベース１８は、それぞれ、データが記録されているＣＤ−ＲＯＭ、ＤＶＤ、ＨＤＤ等の記録媒体（データベース）である。
【００４２】
音声認識部１１は、マイク２に入力された発話の音声を示す波形データを周波数分析して特徴ベクトル（周波数特徴量ベクトル）を抽出する。そして、音声認識部１１は、抽出された特徴ベクトルに基づいて、入力された音声を認識して、単語列で表現されたテキストとして出力する「音声認識処理」を実行する。ここで、「テキスト」とは、単語の列で表現された、所定の意味を有する有意構文である。この音声認識処理は、次に説明するような確率統計的な手法を用いて、入力音声の音響的な特徴と言語的な特徴とを総合的に判断することにより実行される。
【００４３】
すなわち、音声認識部１１は、まず、音響モデル１５を用いて、抽出された特徴ベクトルに応じた発音データの尤度（以下、この尤度を適宜「音響スコア」という。）を評価し、当該音響スコアに基づいて発音データを決定する。また、音声認識部１１は、言語モデル１６を用いて、決定された発音データに応じた単語列で表現されたテキストの尤度（以下、この尤度を適宜「言語スコア」という。）を評価し、当該言語スコアに基づいてテキストを決定する。さらに、音声認識部１１は、決定された全てのテキストについて、当該テキストの音響スコアと言語スコアとに基づいて音声認識の確信度（以下、この確信度を適宜「音声認識スコア」という。）を算出する。そして、音声認識部１１は、この音声認識スコアが所定の条件を満たす単語列で表現されたテキストを、認識されたテキスト（Recognized Text）として出力する。
【００４４】
構文解析部１２は、音声認識部１１で認識されたテキストから、構文モデル１７を用いて、入力された発話の意味を理解する第１及び第２の構文解析処理を実行する。この第１及び第２の構文解析処理は、次に説明するような確率統計的な手法を用いて、
音声認識部１１で認識されたテキストにおける単語間の関係（構文）を解析することにより実行される。
【００４５】
すなわち、構文解析部１２は、第１及び第２の構文解析処理において、認識されたテキストの尤度（以下、この尤度を適宜「構文解析スコア」という。）を評価し、当該構文解析スコアに基づいて、当該認識されたテキストの意味に対応するクラスに分類されたテキスト（Categorized Text）を決定する。ここで、「クラス」とは、上述したドメインのような、操作対象や操作内容を表すカテゴリに応じた分類に相当する。
【００４６】
詳細には、構文解析部１２は、音声認識部１１で認識されたテキストから、構文モデル１７全体を用いて「第１の構文解析処理」を実行し、構文解析スコアが所定の条件を満たすクラス分類されたテキストを、第１の操作候補群として特定する。さらに、構文解析部１２は、音声認識部１１で認識されたテキストから、構文モデル１７のうちの、第１の操作候補群に含まれず且つ所定条件を満たすドメインに分類された部分のデータのみを用いて「第２の構文解析処理」を実行し、構文解析スコアが所定の条件を満たすクラス分類されたテキストを、第２の操作候補群として特定する。
【００４７】
このとき、構文解析部１２は、第２の構文解析処理を実行した結果得られた操作候補のうち、操作対象が特定できない操作候補を、第２の操作候補群から除外する。そして、構文解析部１２は、第１及び第２の操作候補群から、操作候補を決定するための最終的な操作候補群を特定し、構文解析スコアと共に出力する。
【００４８】
シナリオ制御部１３は、特定された操作候補と、車両状態検出部３から取得される車両１０の状態とに基づいて、シナリオデータベース１８に記録されたデータを用いて、運転者に対する応答出力や機器制御のシナリオを決定する。シナリオデータベース１８には、応答出力や機器制御のための複数のシナリオが、操作候補や車両状態の条件と共に予め記録されている。そして、シナリオ制御部１３は、決定されたシナリオに従って、音声や画像表示による応答を制御する処理や、機器を制御する処理を実行する。具体的には、シナリオ制御部１３は、例えば、音声による応答では、出力する応答の内容（運転者の次の発話を促すための応答文や、操作の完了等を使用者に報知するための応答文）や、応答を出力する際の速度や音量を決定する。
【００４９】
音声出力部１４は、シナリオ制御部１３で決定された応答文を、その速度や音量に応じてスピーカ４から音声として出力させる。このとき、音声出力部１４は、例えば、ＴＴＳ（Text to Speech）等の処理を用いて音声を合成する手法を用いることができる。
【００５０】
音響モデル（Acoustic Model）１５には、音声と周波数特徴量ベクトル列との確率的な対応を示すデータが記録されている。詳細には、音響モデル１５には、認識単位（音素等）毎に、複数のモデルが用意されている。音声のモデル化には、ＨＭＭ（Hidden Markov Model、隠れマルコフモデル）が一般的に知られている。ＨＭＭは、音声を定常信号源（状態）の変動であるとみなし、各状態と状態間の遷移確率とで表現する統計的信号源モデルである。ＨＭＭにより、時系列で変動する音声の音響的な特徴量を簡易な確率モデルで表現することができる。ＨＭＭの遷移確率等のパラメータは、対応する学習用の音声データを与えて学習させることにより予め決定される。
【００５１】
言語モデル（Language Model）１６には、認識対象である単語の出現確率や接続確率を示すデータが、この単語の発音データ及びテキストと共に記録されている。認識対象である単語とは、対象を制御するための発話で使用される可能性のある単語として予め定められるものである。単語の出現確率や接続確率等のデータは、大量の学習テキストコーパスを解析することにより統計的に作成される。また、単語の出現確率は、例えば、学習テキストコーパスにおけるその単語の出現頻度等に基づいて算出される。
【００５２】
この言語モデル１６には、例えば、特定のＮ個の単語が連続して出現する確率により表現されるＮグラム（N-gram）の言語モデルが用いられる。本実施形態では、言語モデル１６には、入力された発話に含まれる単語数に応じたＮグラムが用いられる。具体的には、言語モデル１６では、Ｎの値が発音データに含まれる単語数以下のＮグラムが用いられる。例えば発音データに含まれる単語数が２である場合、１単語の出現確率で表現されるユニグラム（Uni-gram，Ｎ＝１）、及び２つの単語の列の生起確率（先行する１単語についての条件付き出現確率）で表現されるバイグラム（Bi-gram，Ｎ＝２）が用いられる。
【００５３】
さらに、言語モデル１６では、Ｎの値を所定の上限値に制限してＮグラムを用いることもできる。所定の上限値としては、例えば、予め定められた所定値（例えばＮ＝２）や、入力された発話に対する音声認識処理の処理時間が所定時間以内になるように逐次設定される値等を用いることができる。例えばＮ＝２を上限値としてＮグラムを用いる場合、発音データに含まれる単語数が２より大きいときにも、ユニグラム及びバイグラムのみが用いられる。これにより、音声認識処理の演算コストが過大になることを防止して、運転者の発話に対して適切な応答時間で応答を出力することができる。
【００５４】
構文モデル（Parser Model）１７には、認識対象である単語の出現確率や接続確率を示すデータが、この単語のテキスト及びクラスと共に記録されている。この構文モデル１７には、例えば、言語モデル１６と同様にＮグラムの言語モデルが用いられる。本実施形態では、具体的には、構文モデル１７では、Ｎ＝３を上限値として、Ｎの値が認識されたテキストに含まれる単語数以下のＮグラムが用いられる。すなわち、構文モデル１７では、ユニグラム、バイグラム、及び３つの単語の列の生起確率（先行する２単語についての条件付き出現確率）で表現されるトライグラム（Tri-gram，Ｎ＝３）が用いられる。なお、上限値は３以外でもよく、任意に設定可能である。また、上限値に制限せずに、Ｎの値が認識されたテキストに含まれる単語数以下のＮグラムを用いるものとしてもよい。
【００５５】
図２に示すように、言語モデル１６と構文モデル１７とは、それぞれ、ドメインの種類毎に分類されて作成されている。図２の例では、ドメインの種類は、｛Audio，Climate，Passenger Climate，POI，Ambiguous，Navigation，Clock，Help｝の８種類である。｛Audio｝は操作対象がオーディオ６ａであること、｛Climate｝は操作対象がエアコンディショナ６ｃであること、｛Passenger Climate｝は操作対象が助手席のエアコンディショナ６ｃであること、｛POI｝は操作対象がナビゲーションシステム６ｂのＰＯＩ検索機能であること、｛Navigation｝は操作対象がナビゲーションシステム６ｂの経路誘導や地図操作等の機能であること、｛Clock｝は操作対象が時計機能であること、｛Help｝は操作対象が機器６ａ〜６ｃや音声認識装置の操作方法を知るためのヘルプ機能であること、｛Ambiguous｝は操作対象が不明であることを、それぞれ示している。
【００５６】
次に、本実施形態の音声認識装置の作動（音声対話処理）について説明する。図３に示すように、まず、ＳＴＥＰ１で、車両１０の運転者から、対象を制御するための発話がマイク２に入力される。具体的には、運転者がトークスイッチをＯＮ操作して発話の入力開始を指令し、マイク２に音声を入力する。
【００５７】
次に、ＳＴＥＰ２で、音声対話ユニット１は、入力された音声を認識してテキストとして出力する音声認識処理を実行する。
【００５８】
まず、音声対話ユニット１は、マイク２に入力された音声をＡ／Ｄ変換して音声を示す波形データを取得する。次に、音声対話ユニット１は、音声を示す波形データを周波数分析して特徴ベクトルを抽出する。これにより、音声を示す波形データは、例えば短時間スペクトル分析の手法によってフィルタ処理を施され、特徴ベクトルの時系列に変換される。この特徴ベクトルは、各時刻における音声スペクトルの特微量を抽出したもので、一般に１０次元〜１００次元（例えば３９次元）であり、線形予測分析メルケプストラム（Linear Predictive Coding Mel Cepstrum）係数等が用いられる。
【００５９】
次に、音声対話ユニット１は、抽出された特徴ベクトルに対し、音響モデル１５に記録された複数のＨＭＭのそれぞれについて、当該特徴ベクトルの尤度（音響スコア）を評価する。そして、音声対話ユニット１は、当該複数のＨＭＭのうちの音響スコアの高いＨＭＭに対応する発音データを決定する。これにより、例えば「千歳」という発話が入力された場合、その音声の波形データから、「ti-to-se」という発音データがその音響スコアと共に得られる。このとき、例えば「マークセット」という発話が入力された場合、「ma-a-ku-se-t-to」という発音データと共に、「ma-a-ku-ri-su-to」のような音響的に類似の度合が高い発音データがそれぞれ音響スコアと共に得られる。
【００６０】
次に、音声対話ユニット１は、決定された発音データから、言語モデル１６全体のデータを用いて、単語列で表現されたテキストを当該テキストの言語スコアに基づいて決定する。このとき、複数の発音データが決定されている場合には、各発音データについて、それぞれテキストが決定される。
【００６１】
具体的には、まず、音声対話ユニット１は、決定された発音データと言語モデル１６に記録された発音データとを比較して、類似の度合の高い単語を抽出する。次に、音声対話ユニット１は、抽出された単語の言語スコアを、発音データに含まれる単語数に応じたＮグラムを用いて算出する。そして、音声対話ユニット１は、発音データにおける各単語について、算出した言語スコアが所定の条件（例えば所定値以上）を満たすテキストを決定する。例えば、図４に示すように、入力された発話が「Set the station ninety nine point three FM.」である場合に、この発話から決定された発音データに応じたテキストとして、「set the station ninety nine point three FM」が決定される。
【００６２】
このとき、ユ二グラムでは、「set」「the」…「FM」のそれぞれの出現確率ａ１〜ａ８が与えられる。また、バイグラムでは、「set the」「the station」…「three FM」のそれぞれの２単語の生起確率ｂ１〜ｂ７が与えられる。同様に、Ｎ＝３〜８について、Ｎ単語の生起確率ｃ１〜ｃ６，ｄ１〜ｄ５，ｅ１〜ｅ４，ｆ１〜ｆ３，ｇ１〜ｇ２，ｈ１が与えられる。そして、例えばテキスト「ninety」の言語スコアは、発音データに含まれる単語「ninety」と当該単語に先行する単語とを合わせた単語数４に応じて、Ｎ＝１〜４のＮグラムから得られるａ４，ｂ３，ｃ２，ｄ１に基づいて算出される。
【００６３】
このように、入力された発話を、単語毎の確率統計的な言語モデルを用いてテキストとして書き起こす手法（ディクテーション）を用いることで、予め決められた言い回しの発話に限定されない、運転者の自然な発話の認識が可能となる。
【００６４】
次に、音声対話ユニット１は、決定された全てのテキストについて、音響スコアと言語スコアとの重み付き和を、音声認識の確信度（音声認識スコア）として算出する。なお、重み係数としては、例えば実験的に予め定められた値が用いられる。
【００６５】
次に、音声対話ユニット１は、算出した音声認識スコアが所定の条件を満たす単語列で表現されるテキストを、認識されたテキストとして決定して出力する。所定の条件は、例えば、音声認識スコアが最も高いテキスト、音声認識スコアが上位から所定順位までのテキスト、或いは音声認識スコアが所定値以上のテキスト等のように予め定められている。
【００６６】
次に、ＳＴＥＰ３〜１０で、音声対話ユニット１は、認識されたテキストから発話の意味を理解する構文解析処理を実行する。
【００６７】
まず、ＳＴＥＰ３で、音声対話ユニット１は、構文モデル１７全体を用いて、認識されたテキストからクラス分類されたテキストを決定する「第１の構文解析処理」を実行する。具体的には、まず、音声対話ユニット１は、構文モデル１７全体のデータを用いて、認識されたテキストに含まれる単語について、それぞれ、１単語における各ドメインの尤度を算出する。次に、音声対話ユニット１は、当該尤度に基づいて１単語におけるドメインをそれぞれ決定する。次に、音声対話ユニット１は、構文モデル１７のうち決定された種類のドメインに分類された部分のデータを用いて、１単語における各クラスの組（クラス分類されたテキスト）の尤度（単語スコア）を算出する。そして、音声対話ユニット１は、当該単語スコアに基づいて、１単語におけるクラス分類されたテキストを決定する。
【００６８】
同様に、音声対話ユニット１は、認識されたテキストに含まれる２単語列について、それぞれ、２単語における各ドメインの尤度を算出し、当該尤度に基づいて２単語におけるドメインを決定する。さらに、音声対話ユニット１は、２単語における各クラスの組の尤度（２単語スコア）を算出し、当該２単語スコアに基づいて２単語におけるクラスの組（クラス分類されたテキスト）を決定する。また、同様に、音声対話ユニット１は、認識されたテキストに含まれる３単語列について、それぞれ、３単語における各ドメインの尤度を算出し、当該尤度に基づいて３単語におけるドメインを決定する。さらに、音声対話ユニット１は、３単語における各クラスの組の尤度（３単語スコア）を算出し、当該３単語スコアに基づいて３単語におけるクラスの組（クラス分類されたテキスト）を決定する。
【００６９】
次に、音声対話ユニット１は、１単語、２単語、３単語で決定された各クラスの組と当該クラスの組のスコア（１単語スコア、２単語スコア、３単語スコア）とに基づいて、認識されたテキスト全体における各クラスの組の尤度（構文解析スコア）を算出する。そして、音声対話ユニット１は、当該構文解析スコアに基づいて、認識されたテキスト全体におけるクラスの組（クラス分類されたテキスト）を決定する。
【００７０】
ここで、図５に示す例を用いて、構文モデル１７を用いてクラス分類されたテキストを決定する処理について説明する。図５の例では、認識されたテキストが「AC on floor to defrost」である。
【００７１】
このとき、構文モデル１７全体を用いて、ユニグラムで、「AC」「on」…「defrost」について、それぞれ、１単語における各ドメインの尤度が算出される。そして、当該尤度に基づいて１単語におけるドメインが決定される。例えば、第１位の（尤度の最も高い）ドメインは、「ＡＣ」については｛Climate｝、「on」については｛Ambiguous｝、「defrost」については｛Climate｝と決定される。
【００７２】
さらに、構文モデル１７のうちの決定されたドメインの種類に分類された部分のデータを用いて、ユニグラムで、「AC」「on」…「defrost」について、１単語における各クラスの組に対する尤度がそれぞれ算出される。そして、当該尤度に基づいて１単語におけるクラスの組が決定される。例えば、「AC」について、第１位の（尤度の最も高い）クラスの組は、｛Climate_ACOnOff_On｝と決定され、このクラスの組に対する尤度（単語スコア）ｉ１が得られる。同様に、「on」…「defrost」について、クラスの組が決定され、このクラスの組に対する尤度（単語スコア）ｉ２〜ｉ５が得られる。
【００７３】
同様に、バイグラムで、「AC on」「on floor」…「to defrost」について、それぞれ、２単語における各ドメインの尤度が算出され、当該尤度に基づいて２単語におけるドメインが決定される。そして、２単語におけるクラスの組とその尤度（２単語スコア）ｊ１〜ｊ４が決定される。また、同様に、トライグラムで、「AC on floor」「on floor to」「floor to defrost」について、それぞれ、３単語における各ドメインの尤度が算出され、当該尤度に基づいて３単語におけるドメインが決定される。そして、３単語におけるクラスの組とその尤度（３単語スコア）ｋ１〜ｋ３が決定される。
【００７４】
次に、１単語、２単語、３単語で決定された各クラスの組について、例えば、各クラスの組の単語スコアｉ１〜ｉ５、２単語スコアｊ１〜ｊ４、３単語スコアｋ１〜ｋ３の和が、テキスト全体における各クラスの組に対する尤度（構文解析スコア）として算出される。例えば、｛Climate_Fan-Vent_Floor｝に対する構文解析スコアは、ｉ３＋ｊ２＋ｊ３＋ｋ１＋ｋ２となる。また、例えば、｛Climate_ACOnOff_On｝に対する構文解析スコアは、ｉ１＋ｊ１となる。また、例えば、｛Climate_Defrost_Front｝に対する構文解析スコアは、ｉ５＋ｊ４となる。そして、算出された構文解析スコアに基づいて、テキスト全体についてのクラスの組（クラス分類されたテキスト）が決定される。これにより、認識されたテキストから、｛Climate_Defrost_Front｝｛Climate_Fan-Vent_Floor｝｛Climate_ACOnOff_On｝といったクラス分類されたテキストが決定される。
【００７５】
次に、音声対話ユニット１は、算出された構文解析スコアが所定の条件を満たすようなクラス分類されたテキスト（Categorized Text）を、入力された発話の認識結果に基づいて特定される操作候補として、その操作候補の確信度（構文解析スコア）と共に出力する。所定の条件は、例えば、構文解析スコアが最も高いテキスト、構文解析スコアが上位から所定順位までのテキスト、或いは構文解析スコアが所定値以上のテキスト等のように予め定められている。例えば、上述のように「AC on floor to defrost」という発話が入力された場合に、第１の操作候補として、｛Climate_Defrost_
Front｝が、その構文解析スコアと共に出力される。
【００７６】
さらに、図６に示す例を用いて、第１の構文解析処理について説明する。図６の例では、認識されたテキストが「Turn on the radio and temperature up.」である。すなわち、１回の発話で、「オーディオ６ａのラジオをオンする」というコマンドと「エアコンディショナ６ｃの設定温度を上げる」というコマンドの、２つのコマンドが音声入力されている場合である。
【００７７】
このとき、図５に示した例と同様に、構文モデル１７全体を用いて、単語スコア、2単語スコア、３単語スコアが算出され、１単語、２単語、３単語におけるクラスの組が決定される。そして、これらの各クラスの組について、構文解析スコアが算出され、クラス分類されたテキストが決定される。図６の例では、図中に○を付して示した「Audio_Radio_On」が第１の操作候補群として決定されて、その構文解析スコアと共に出力される。このように、１回の発話で音声入力されたコマンドのうち、特徴がより顕著な「オーディオ６ａのラジオをオンする」というコマンドが、第１の操作候補として特定される。
【００７８】
次に、ＳＴＥＰ４で、音声対話ユニット１は、ＳＴＥＰ３で第１の操作候補群が特定されたか否かを判断する。ＳＴＥＰ４の判断結果がＮＯ（第１の操作候補が１つも特定されていない）の場合には、音声対話ユニット１は、第２の構文解析処理及び最終的な操作候補群を特定する処理を行わず、そのままＳＴＥＰ１１に進む。
【００７９】
ＳＴＥＰ４の判断結果がＹＥＳ（第１の操作候補群が特定された）の場合には、ＳＴＥＰ５に進み、音声対話ユニット１は、第２の構文解析処理で構文解析を行う操作対象を特定する処理を実行する。具体的には、まず、音声対話ユニット１は、予め定められた種類の操作対象のうち、第１の操作候補群に含まれない操作対象を特定する。次に、音声対話ユニット１は、認識されたテキストにおける単語スコアの、操作対象毎の総和を算出する。次に、音声対話ユニット１は、この総和を、認識されたテキストに含まれる各操作対象毎の単語数で除算した値を、操作対象を特定するための指標値（各操作対象毎の単語スコアの、テキストに含まれる各操作対象毎の単語当りの平均値）として算出する。次に、この算出された指標値が予め定めた所定閾値以上である操作対象を、第２の構文解析処理の構文解析を行う操作対象として特定する。
【００８０】
ここで、図７を例にして上述の操作対象を特定する処理について説明する。図７に示すテキストは図６と同様である。このとき、まず、第１の操作候補が「Audio_Radio_On」であるので、操作対象が「Audio」以外の「Ambiguous」「Navigation」「Climate」であると特定される。さらに、これらの操作対象「Ambiguous」「Navigation」「Climate」について、操作対象を特定するための指標値が、「0.127」「0.05」「0.4」と算出される。これにより、例えば、所定閾値を0.2とすると、第２の構文解析を行う操作対象が「Climate」と特定される。
【００８１】
次に、ＳＴＥＰ６で、音声対話ユニット１は、ＳＴＥＰ５で第２の構文解析処理の構文解析を行う操作対象が特定されたか否かを判断する。ＳＴＥＰ６の判断結果がＮＯ（操作対象が１つも特定されていない）の場合には、音声対話ユニット１は、第２の構文解析処理を行わず、そのままＳＴＥＰ１０に進む。
【００８２】
ＳＴＥＰ６の判断結果がＹＥＳ（操作対象が特定された）の場合には、ＳＴＥＰ７に進み、音声対話ユニット１は、構文モデル１７のうちの、ＳＴＥＰ５で特定された操作対象に分類されたデータを用いて、テキストの意味を理解する「第２の構文解析処理」を実行する。なお、このとき、上述の図７に示す例では、「Climate」のドメインに分類されたデータに加えて、操作対象間の共通語を持つ「Ambiguous」のドメインに分類されたデータも用いて、第２の構文解析処理が行われる。第２の構文解析処理の詳細は、ＳＴＥＰ３の第１の構文解析処理と同じである。これにより、例えば構文解析スコアが所定閾値以上の操作候補が、第２の操作候補群として特定される。
【００８３】
ここで、図８を例にして第２の構文解析処理を特定する処理について説明する。図８に示すテキストは図６と同様である。このとき、構文モデル１７のうちの、「Climate」「Ambiguous」に分類されたデータのみを用いて、操作対象「Climate」に着目して構文解析処理が行われるので、「Climate」に関する操作候補が適切に抽出される。そして、例えば、所定閾値を０．６とすると、第２の操作候補群として、「Climate_
Temperature_Up」が特定される。
【００８４】
次に、ＳＴＥＰ８で、音声対話ユニット１は、ＳＴＥＰ７で第２の操作候補群が特定されたか否かを判断する。ＳＴＥＰ８の判断結果がＮＯ（第２の操作候補が１つも特定されていない）の場合には、音声対話ユニット１は、そのままＳＴＥＰ１０に進む。
【００８５】
ＳＴＥＰ８の判断結果がＹＥＳ（第２の操作候補群が特定された）の場合には、ＳＴＥＰ９に進み、音声対話ユニット１は、第２の操作候補群に、操作対象が「Ambiguous」に分類された操作候補が含まれる場合、この操作候補を第２の操作候補群から除外する。
【００８６】
次に、ＳＴＥＰ１０で、音声対話ユニット１は、第１及び第２の操作候補群から、最終的な操作候補群を特定して出力する。具体的には、例えば、第１の操作候補群のうちの構文解析スコアが最も高い操作候補を１位の操作候補とし、第２の操作候補群のうちの構文解析スコアが最も高い操作候補を２位の操作候補として出力する。例えば、上述の図６〜図８に例示する場合では、１位の操作候補として「Audio_Radio_On」が出力され、２位の操作候補として「Climate_Temperature_Up」が出力される。なお、第２の操作候補群が特定されていない場合には、第１の操作候補群のみから、最終的な操作候補群が特定されて出力される。
【００８７】
次に、ＳＴＥＰ１１で、音声対話ユニット１は、ＳＴＥＰ１０で特定された操作候補群に基づいて操作を実行する。このとき、例えば、ＳＴＥＰ１０で１位の操作候補と２位の操作候補がそれぞれ特定されている場合、２つの操作が実行される。
【００８８】
具体的には、音声対話ユニット１は、ＳＴＥＰ１０で特定された操作候補群に基づき、シナリオデータベース１８に格納されたデータを用いて、運転者への応答や機器の制御を行うためのシナリオを決定する。このとき、音声対話ユニット１は、車両状態検出部３により検出される、車両１０の状態（車両１０の走行状態、車両１０に搭載された機器の状態、車両１０の運転者の状態等）の検出値を取得して、この車両１０の状態を反映するようにシナリオを決定する。次に、音声対話ユニット１は、発話の認識結果から操作候補が特定されている場合は、決定されたシナリオに基づいて操作を実行する。なお、発話の認識結果から操作候補が特定されていない場合は、運転者に操作対象や操作内容を質問するような応答文を出力するシナリオが決定される。
【００８９】
例えば、上述の図６〜図８に例示するように、ＳＴＥＰ１０で最終的な操作候補群として「Audio_Radio_On」「Climate_Temperature_Up」の２つの操作候補が特定されている場合、「オーディオ６ａのラジオをオンにする」「エアコンディショナ６ｃの設定温度を上げる」ためのシナリオが決定され、これらの２つの操作が実行される。
【００９０】
次に、ＳＴＥＰ１２で、音声対話ユニット１は、決定したシナリオに基づいて、運転者との対話が終了したか否かを判断する。ＳＴＥＰ１２の判断結果がＮＯの場合には、ＳＴＥＰ１３に進み、音声対話ユニット１は、決定された応答文の内容や応答文を出力する際の条件に応じて、応答文（運転者の次回の発話を促す応答文等）をスピーカ４から出力させる。
【００９１】
その後、ＳＴＥＰ１に戻り、次の発話が運転者から入力される。以下、ＳＴＥＰ１２の判断結果がＹＥＳとなるまで、上述のＳＴＥＰ１〜１３と同様の処理が繰り返される。
【００９２】
最後に、ＳＴＥＰ１２の判断結果がＹＥＳの場合には音声対話処理を終了する。このとき、例えば、機器制御の完了等を使用者に報知するシナリオが決定されている場合には、音声対話ユニット１は、決定された応答文の内容や応答文を出力する際の条件に応じて、応答文（機器制御の完了等を使用者に報知する応答文等）をスピーカ４から出力させる。
【００９３】
以上の処理によって、使用者が１回の発話で複数のコマンドを音声入力した場合でも、各コマンドを認識して複数の操作対象を操作することができる。
［第２実施形態］
次に、本発明の第２実施形態の音声認識装置について説明する。なお、本実施形態は、第１実施形態と、構文解析部１２が矛盾判断部を備えること、及び構文解析部１２の第２の構文解析部３２が行う処理のみが相違する。本実施形態の構成は、第１実施形態と同様であるので、同一の構成には同一の参照符号を付して、以下では説明を省略する。
【００９４】
本実施形態の音声認識装置において、構文解析部１２の矛盾判断部は、第２の操作候補群の各操作候補が、第１の操作候補群に対して、操作対象及びその操作内容について矛盾が生じるか否かを判断する。そして、構文解析部１２は、矛盾判断部により矛盾が生じると判断された操作候補を、第２の操作候補群から除外する。なお、構文解析部１２は、第１実施形態と異なり、第２の構文解析処理を実行した結果得られた操作候補のうち、操作対象が特定できない操作候補を、第２の操作候補群から除外する処理は行わない。他の構成は第１実施形態と同じである。なお、矛盾判断部は、本発明の矛盾判断手段に相当する。
【００９５】
次に、本実施形態の音声認識装置の作動（音声対話処理）について図１１を参照して説明する。なお、本実施形態の音声対話処理は、第１実施形態と、図１１のＳＴＥＰ９，１０の処理のみが相違する。図１１のＳＴＥＰ１〜８，ＳＴＥＰ１１〜１４は、図３の第１実施形態の音声対話処理のＳＴＥＰ１〜８，ＳＴＥＰ１０〜１３と同じである。
【００９６】
本実施形態の音声対話処理では、ＳＴＥＰ９で、音声対話ユニット１は、ＳＴＥＰ７で特定された第２の操作候補群の各操作候補が、ＳＴＥＰ３で特定された第１の操作候補群と矛盾しないか否かを判断する。具体的には、音声対話ユニット１は、図１２に例示するような、予め定められた、矛盾する操作候補を示すデータを用いて、矛盾しないか否かを判断する。
【００９７】
ＳＴＥＰ９の判断結果がＮＯ（矛盾する）場合には、ＳＴＥＰ１０に進み、音声対話ユニット１は、第１の操作候補群と矛盾する操作候補を、第２の操作候補群から除外する。そして、ＳＴＥＰ１１に進み、第１及び第２の操作候補群から、最終的な操作候補群が特定され出力される。一方、ＳＴＥＰ９の判断結果がＹＥＳ（矛盾しない）場合には、そのままＳＴＥＰ１１に進む。他の作動は第１実施形態と同じである。
【００９８】
本実施形態の音声認識装置によれば、第１実施形態と同様に、使用者が１回の発話で複数のコマンドを音声入力した場合でも、各コマンドを認識して複数の操作対象を操作することができる。
【００９９】
なお、第１及び第２実施形態においては、車両状態検出部３を備え、シナリオ制御部１３は、発話の認識結果と検出した車両１０の状態とに応じてシナリオを決定するものとしたが、車両状態検出部３を備えず、シナリオ制御部１３は認識結果のみからシナリオを決定するものとしてもよい。
【０１００】
また、第１及び第２実施形態においては、音声入力する使用者は、車両１０の運転者としたが、運転者以外の乗員としてもよい。
【０１０１】
また、第１及び第２実施形態においては、音声認識装置は、車両１０に搭載されるものとしたが、車両以外の移動体に搭載されるものとしてもよい。さらに、移動体に限らず、使用者が発話により対象を制御するシステムに適用可能である。
【図面の簡単な説明】
【０１０２】
【図１】本発明の第１実施形態である音声認識装置の機能ブロック図。
【図２】図１の音声認識装置の言語モデル、構文モデルの構成を示す説明図。
【図３】図１の音声認識装置の全体的な作動（音声対話処理）を示すフローチャート。
【図４】図ｚ３の音声対話処理における言語モデルを用いた音声認識処理を示す説明図。
【図５】図３の音声対話処理における第１の構文解析処理を示す説明図。
【図６】図５の第１の構文解析処理を示す他の説明図。
【図７】図３の音声対話処理の第２の構文解析処理における構文解析を行う操作対象を特定する処理を示す説明図。
【図８】図３の音声対話処理における第２の構文解析処理を示す説明図。
【図９】本発明の第２実施形態の音声認識装置における全体的な作動（音声対話処理）を示すフローチャート。
【図１０】図９の音声対話処理における第２の操作候補が第１の操作候補群と矛盾するか否かを判断する処理に関する説明図。
【符号の説明】
【０１０３】
１…音声対話ユニット、２…マイク、３…車両状態検出部、４…スピーカ、５…ディスプレイ、６ａ〜６ｃ…機器、１０…車両、１１…音声認識部、１２…構文解析部、１３…シナリオ制御部、１４…音声出力部、１５…音響モデル、１６…言語モデル、１７…構文モデル、１８…シナリオデータベース、３１…第１の構文解析部、３２…第２の構文解析部、３３…操作候補特定部。
【図１】
2008268340.tif 000003
【図２】
2008268340.tif 000004
【図３】
2008268340.tif 000005
【図４】
2008268340.tif 000006
【図５】
2008268340.tif 000007
【図６】
2008268340.tif 000008
【図７】
2008268340.tif 000009
【図８】
2008268340.tif 000010
【図９】
2008268340.tif 000011
【図１０】
2008268340.tif 000012