(57)【要約】【課題】使用者との対話の遷移状態を適切に反映して、使用者の発話を精度良く認識することができる音声認識装置、音声認識方法及び音声認識プログラムを提供する。【解決手段】音声認識装置１は、入力音声の認識結果に基づいて制御対象に対する制御処理を行う。言語モデル１６を用いて入力音声を言語的な特徴に基づいて認識する第１の音声認識手段３１と、入力音声を認識対象語彙と比較して認識する第２の音声認識手段３２，３３と、制御処理の状態の遷移を検知する状態遷移検知手段３４と、状態遷移検知手段３４の検知結果に基づいて第１の音声認識手段３１の処理に対する第１の重みと、第２の音声認識手段３２，３３の処理に対する第２の重みとを、それぞれ決定する重み決定手段３５と、第１，第２の音声認識手段３１，３２，３３による音声認識処理と第１，第２の重みとを用いて、最終的な認識結果を決定する認識結果決定手段３６とを備える。【選択図】図１
2008089625.tif 000002
【特許請求の範囲】
【請求項１】
入力された音声についての認識結果に基づいて制御対象に対する制御処理を行う音声認識装置において、
認識対象語彙についての言語的な特徴を示す言語モデルを用いて、入力された音声を該言語的な特徴に基づいて認識する処理を実行する第１の音声認識手段と、
認識対象語彙が登録された辞書を用いて、入力された音声を該認識対象語彙と比較して認識する処理を実行する第２の音声認識手段と、
前記制御処理の状態の遷移を検知する状態遷移検知手段と、
前記状態遷移検知手段による検知結果に基づいて、前記第１の音声認識手段による音声認識処理に対する第１の重みと、前記第２の音声認識手段による音声認識処理に対する第２の重みとを、それぞれ決定する重み決定手段と、
前記第１及び第２の音声認識手段による音声認識処理と、前記重み決定手段により決定された第１及び第２の重みとを用いて、最終的な認識結果を決定する認識結果決定手段と
を備えることを特徴とする音声認識装置。
【請求項２】
請求項１記載の音声認識装置において、
前記辞書と異なる第２の辞書を用いて、入力された音声を該第２の辞書に登録された認識対象語彙と比較して認識する処理を実行する第３の音声認識手段をさらに備え、
前記重み決定手段は、前記状態遷移検知手段による検知結果に基づいて、前記第３の音声認識手段による音声認識処理に対する第３の重みを決定し、
前記認識結果決定手段は、前記第１、第２及び第３の音声認識手段による音声認識処理と、前記重み決定手段により決定された第１、第２及び第３の重みとを用いて、最終的な認識結果を決定することを特徴とする音声認識装置。
【請求項３】
請求項１記載の音声認識装置において、
前記第１の音声認識手段は、前記音声を認識する処理を実行した結果を第１の音声候補群として各音声候補のスコアと共に出力し、
前記第２の音声認識手段は、前記音声を認識する処理を実行した結果を第２の音声候補群として各音声候補のスコアと共に出力し、
前記認識結果決定手段は、前記第１の音声候補群の各音声候補のスコアに前記第１の重みを乗じた値と、前記第２の音声候補群の各音声候補のスコアに前記第２の重みを乗じた値とに基づいて、該第１及び第２の音声候補群から、前記最終的な認識結果としての音声候補群を決定することを特徴とする音声認識装置。
【請求項４】
請求項２記載の音声認識装置において、
前記第１の音声認識手段は、前記音声を認識する処理を実行した結果を第１の音声候補群として各音声候補のスコアと共に出力し、
前記第２の音声認識手段は、前記音声を認識する処理を実行した結果を第２の音声候補群として各音声候補のスコアと共に出力し、
前記第３の音声認識手段は、前記音声を認識する処理を実行した結果を第３の音声候補群として各音声候補のスコアと共に出力し、
前記認識結果決定手段は、前記第１の音声候補群の各音声候補のスコアに前記第１の重みを乗じた値と、前記第２の音声候補群の各音声候補のスコアに前記第２の重みを乗じた値と、前記第３の音声候補群の各音声候補のスコアに前記第３の重みを乗じた値とに基づいて、該第１、第２及び第３の音声候補群から、前記最終的な認識結果としての音声候補群を決定することを特徴とする音声認識装置。
【請求項５】
請求項２又は４記載の音声認識装置において、
前記辞書は、前記制御対象の制御内容を確認する音声入力に応じた語彙を含み、
前記第２の辞書は、前記制御対象の制御内容に関する特定の名称を含む音声入力に応じた語彙を含むことを特徴とする音声認識装置。
【請求項６】
請求項１又は３記載の音声認識装置において、
前記重み決定手段は、前記辞書の認識対象語彙が前記状態遷移検知手段による検知結果に関連する場合には、前記第２の重みの値を当該関連する度合に応じた所定値に決定すると共に、前記第１の重みの値を０より大きく且つ該第２の重みの値よりも小さい所定値に決定し、
前記辞書の認識対象語彙が前記状態遷移検知手段による検知結果に関連しない場合には、前記第２の重みの値を０に決定すると共に、前記第１の重みの値を０より大きい所定値に決定することを特徴とする音声認識装置。
【請求項７】
請求項２、４又は５記載の音声認識装置において、
前記重み決定手段は、前記第２の重みの値を、前記辞書の認識対象語彙が前記状態遷移検知手段による検知結果に関連する場合には当該関連する度合に応じた所定値に決定し、当該辞書の認識対象語彙が該検知結果に関連しない場合には０に決定し、
前記第３の重みの値を、前記第２の辞書の認識対象語彙が前記状態遷移検知手段による検知結果に関連する場合には当該関連する度合に応じた所定値に決定し、当該第２の辞書の認識対象語彙が該検知結果に関連しない場合には０に決定すると共に、
前記状態遷移検知手段による検知結果に関連する語彙を含む辞書が少なくとも１つある場合には、前記第１の重みの値を、０より大きく且つ当該語彙を含む辞書を用いた音声認識手段の音声認識処理に対する重みよりも小さい所定値に決定し、該検知結果に関連する語彙を含む辞書がない場合には、０より大きい所定値に決定することを特徴とする音声認識装置。
【請求項８】
請求項１〜７のいずれか記載の音声認識装置において、
前記制御処理は、音声の入力を使用者に促すように該使用者へ出力される応答を生成する処理を含み、
前記状態遷移検知手段により検知される状態の遷移は、逐次出力される前記使用者への応答の変化を含むことを特徴とする音声認識装置。
【請求項９】
入力された音声についての認識結果に基づいて制御対象に対する制御処理を行う音声認識方法であって、
前記制御処理の状態の遷移を検知する状態遷移検知ステップと、
認識対象語彙についての言語的な特徴を示す言語モデルを用いて、入力された音声を該言語的な特徴に基づいて認識する処理を実行する第１の音声認識ステップと、
認識対象語彙が登録された辞書を用いて、入力された音声を該認識対象語彙と比較して認識する処理を実行する第２の音声認識ステップと、
前記状態遷移検知ステップによる検知結果に基づいて、前記第１の音声認識ステップでの処理に対する第１の重みと、前記第２の音声認識ステップでの処理に対する第２の重みとを、それぞれ決定する重み決定ステップと、
前記第１及び第２の音声認識ステップでの処理と、前記重み決定ステップにより決定された第１及び第２の重みとを用いて、最終的な認識結果を決定する認識結果決定ステップと
を備えたことを特徴とする音声認識方法。
【請求項１０】
入力された音声についての認識結果に基づいて制御対象に対する制御処理をコンピュータに実行させる音声認識プログラムであって、
前記制御処理の状態の遷移を検知する状態遷移検知処理と、
認識対象語彙についての言語的な特徴を示す言語モデルを用いて、入力された音声を該言語的な特徴に基づいて認識する第１の音声認識処理と、
認識対象語彙が登録された辞書を用いて、入力された音声を該認識対象語彙と比較して認識する第２の音声認識処理と、
前記状態遷移検知処理の検知結果に基づいて、前記第１の音声認識処理に対する第１の重みと、前記第２の音声認識処理に対する第２の重みとを、それぞれ決定する重み決定処理と、
前記第１及び第２の音声認識処理と、前記重み決定処理により決定された第１及び第２の重みとを用いて、最終的な認識結果を決定する認識結果決定処理と
を前記コンピュータに実行させる機能を有することを特徴とする音声認識プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力された音声についての認識結果に基づいて制御対象に対する制御処理を行う音声認識装置、音声認識方法及び音声認識プログラムに関する。
【背景技術】
【０００２】
近年、例えば、使用者が機器の操作等を行うシステムにおいて、使用者により入力される音声を認識して、機器の操作等に必要な情報を取得する音声認識装置が用いられている。このような音声認識装置では、使用者により入力される音声（発話）を認識し、認識した結果に基づいて使用者に応答して使用者の次の発話を促すことで、使用者との対話が行われる。そして、使用者との対話を認識した結果から、機器の操作等を行うために必要な情報が取得される。このとき、例えば、認識対象であるコマンド（認識対象語彙）が予め登録された認識辞書を用いて、入力された発話の特徴量と認識辞書に登録されたコマンドの特徴量とを比較することにより発話が認識される。
【０００３】
この音声認識装置は、例えば車両に装備されて、車両に搭載されたオーディオ、ナビゲーションシステム、エアコンディショナ等の複数の機器が使用者により操作される。さらに、これらの機器は高機能化しており、例えば、ナビゲーションシステムには、地図表示やＰＯＩ（Point of Interest）検索等の複数の機能が備えられ、これらの機能が使用者により操作される。しかし、このように多数の操作対象があると、これらを操作するためのコマンドの数が多くなる。そして、認識対象であるコマンドが多くなると、例えばコマンド間で特徴量が類似する場合が増加し、誤認識の可能性が高くなる。
【０００４】
このため、必要に応じて限定したコマンドのみを認識対象として音声認識処理を行うことにより認識精度を向上する技術が知られている。例えば、認識対象のカテゴリに応じて分類されたコマンドの集合から成る複数の認識辞書を備え、これらの認識辞書を必要に応じて選択的に切り換えて、当該選択された認識辞書のみを用いて音声認識処理を行う。しかし、この場合、選択された認識辞書が不適切で実際の発話の内容に合致しないときには、正しい認識が行われず、例えば誤認識が生じたり、使用者に発話の再入力を促すこととなる。これに対して、認識辞書自体を選択的に切り換えるのではなく、全ての認識辞書と各認識辞書用の重みとを用いて音声を認識することで、認識精度を向上する技術が提案されている（例えば、特許文献１参照）。
【０００５】
この特許文献１の音声認識装置は、入力された音声を認識する認識部と、この認識部の認識結果を含む情報を出力する出力部と、認識時に用いられる認識対象語彙が格納された認識語彙格納部と、タイマ部からの時刻信号に基づいて認識対象語彙の切り換えを要求する認識対象語彙切り換え要求部と、タイマ部からの時刻信号に基づいて各認識対象語彙セット用の重みを決定する重み決定部とを備えている。出力部は、複数の出力内容を切り換え出力するようになっており、認識対象語彙は、出力部の出力内容に対応した認識対象語の集合でなる複数の認識対象語彙セットに分類され、認識対象語彙の切り換えは認識対象語彙セットの単位で行われるようになっている。そして、認識部は、全認識対象語彙セットを構成する各語の尤度を算出し、各語の尤度の値に各語が属する認識対象語彙セット用の重みを掛け、その値が最も高い語を入力音声の認識結果とする。
【０００６】
この音声認識装置では、例えば時間の経過と共に自動的に出力部の出力内容が切り換えられ、該出力部の出力内容の切り換えに伴って認識対象語彙の切り換えが行われる。すなわち、タイマ部からの時刻信号に基づいて認識対象語彙の切り換えが要求されると、現在用いられている認識対象語彙セットが、出力部の出力内容の切り換えに応じた認識対象語彙セットに切り換えられる。
【０００７】
その際、重み決定部は、認識対象語彙の切り換えが要求されてから重み決定までの経過時間に応じて、切り換え前の認識対象語彙セット用の重みを低下させる一方、切り換え後の認識対象語彙セット用の重みを上昇させる。このように重みを決定することで、切り換え前の認識対象語彙セット用の重みが小さくなり、出力部の出力内容に対応している切り換え後の認識対象語彙の認識精度が高められる。また、切り換え前の認識対象語彙セットの語をも用いて認識が行われているので、話者が切り換え前の認識対象語彙で発声しても高い認識結果が得られる。
【特許文献１】特開２００２−４１０７８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、上記音声認識装置は、要するに、出力内容の切り換えに伴って認識対象語彙を切り換える際に、認識対象語彙が時間の経過と共に徐々に切り換わるように、出力切り替え前の出力内容に対応した認識対象語彙セットＡの重みｗ２と、出力切り換え後の出力内容に対応した認識対象語彙セットＢとの重みｗ１とを時間変化させるものである。このように重みを決定して音声の認識を行うことは、例えば装置が出力内容を自動的に切り換える場合であれば、出力切り換えに対する使用者からの音声入力の遅れ等を吸収して認識精度が向上されると考えられる。しかし、上記音声認識装置は、例えば装置が使用者からの音声入力に対して逐次出力内容を切り換える（応答する）場合に、使用者と装置との対話の状況を考慮したものではない。すなわち、使用者と装置との対話では、使用者からは様々な言い回しで音声が入力され、且つ、その言い回しは、対話の状況により変化するものである。これに対して、前記音声認識装置のように、単に出力切り換え前後の出力内容に対応した認識対象語彙セットの重みを時間変化させるだけでは、適切に対応することができない。
【０００９】
また、使用者からの音声入力は、必ずしも装置からの出力内容に対応したものとは限らない。例えば、使用者が所定の機器を操作するために音声認識装置との対話を行っている途中で、状況が変化して他の機器の操作を急に指示するといったように、突然話題が変更される場合もある。この場合、使用者からの音声入力は、出力切り換え前後の出力内容のいずれとも関連しないので、前記音声認識装置では適切に対応することができない。
【００１０】
本発明は、上記事情に鑑み、使用者との対話の遷移状態を適切に反映して、使用者の発話を精度良く認識することができる音声認識装置、音声認識方法及び音声認識プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明の音声認識装置は、入力された音声についての認識結果に基づいて制御対象に対する制御処理を行う音声認識装置において、認識対象語彙についての言語的な特徴を示す言語モデルを用いて、入力された音声を該言語的な特徴に基づいて認識する処理を実行する第１の音声認識手段と、認識対象語彙が登録された辞書を用いて、入力された音声を該認識対象語彙と比較して認識する処理を実行する第２の音声認識手段と、前記制御処理の状態の遷移を検知する状態遷移検知手段と、前記状態遷移検知手段による検知結果に基づいて、前記第１の音声認識手段による音声認識処理に対する第１の重みと、前記第２の音声認識手段による音声認識処理に対する第２の重みとを、それぞれ決定する重み決定手段と、前記第１及び第２の音声認識手段による音声認識処理と、前記重み決定手段により決定された第１及び第２の重みとを用いて、最終的な認識結果を決定する認識結果決定手段とを備えることを特徴とする。
【００１２】
本発明の音声認識装置によれば、使用者からの対象を制御するための発話等についての認識結果に基づいて制御対象に対する制御処理が行われる。この制御処理は、例えば、制御対象である機器や機能を発話から取得された情報に基づいて制御する処理や、使用者への音声や画面表示による応答を制御する処理等である。このとき、例えば使用者の次の発話を促す応答に対して、使用者から次の発話が入力されることにより、使用者との対話を行いながら逐次制御処理が行われる。そして、使用者から入力される音声は、対話の状況に応じて様々な語彙や言い回しとなり得る。
【００１３】
そこで、第１の音声認識手段は、言語モデルを用いて音声を言語的な特徴に基づいて認識する処理を実行する。この音声認識処理により、予め登録された語彙だけでなく、多様な言い回しの発話が認識される。ここで、「言語モデル」は、例えば、認識対象語彙である単語及び単語列の出現確率等に基づいた統計的言語モデルである。また、第２の音声認識手段は、辞書を用いて音声を認識対象語彙と比較して認識する。この音声認識処理により、使用者の発話に予め登録された語彙が含まれている場合に、該発話が精度良く認識される。これらの種類の異なる音声認識処理のいずれをも用いて最終的な認識結果を決定することで、様々な語彙や言い回しを精度良く認識可能となる。
【００１４】
このとき、状態遷移検知手段により制御処理の状態の遷移が検知される。制御処理の状態とは、例えば機器の動作や応答の状況等であり、これらの状態の遷移には使用者との対話の遷移状態が反映されている。この検知結果に基づいて第１及び第２の重みを決定することにより、該第１及び第２の重みが対話の遷移状態に応じた適切なものとなる。したがって、当該第１及び第２の重みを用いて最終的な認識結果を決定することにより、対話の遷移状態に応じて、蓋然性の高い入力音声を様々な語彙や言い回しに適切に対応して高い認識率で認識することができると共に、例えば突然話題が変更された場合等の蓋然性の低い入力音声にも適切に対応して認識することができる。
【００１５】
以上により、本発明の音声認識装置によれば、使用者との対話の遷移状態を適切に反映して、使用者の発話を精度良く認識することができる。
【００１６】
本発明の音声認識装置においては、前記辞書と異なる第２の辞書を用いて、入力された音声を該第２の辞書に登録された認識対象語彙と比較して認識する処理を実行する第３の音声認識手段をさらに備え、前記重み決定手段は、前記状態遷移検知手段による検知結果に基づいて、前記第３の音声認識手段による音声認識処理に対する第３の重みを決定し、前記認識結果決定手段は、前記第１、第２及び第３の音声認識手段による音声認識処理と、前記重み決定手段により決定された第１、第２及び第３の重みとを用いて、最終的な認識結果を決定することが好ましい。
【００１７】
この場合、例えば対話の遷移状態に応じて使用される度合が異なる辞書及び第２の辞書について、当該辞書を用いた音声認識処理と第２の辞書を用いた音声認識処理とで異なる重みを用いて最終的な認識結果を決定可能であるから、対話の遷移状態をより詳細に反映して発話を認識することができる。
【００１８】
また、前記第１の音声認識手段は、前記音声を認識する処理を実行した結果を第１の音声候補群として各音声候補のスコアと共に出力し、前記第２の音声認識手段は、前記音声を認識する処理を実行した結果を第２の音声候補群として各音声候補のスコアと共に出力し、前記認識結果決定手段は、前記第１の音声候補群の各音声候補のスコアに前記第１の重みを乗じた値と、前記第２の音声候補群の各音声候補のスコアに前記第２の重みを乗じた値とに基づいて、該第１及び第２の音声候補群から、前記最終的な認識結果としての音声候補群を決定することが好ましい。
【００１９】
前記第２の辞書を用いる前記第３の音声認識手段を備える場合には、前記第１の音声認識手段は、前記音声を認識する処理を実行した結果を第１の音声候補群として各音声候補のスコアと共に出力し、前記第２の音声認識手段は、前記音声を認識する処理を実行した結果を第２の音声候補群として各音声候補のスコアと共に出力し、前記第３の音声認識手段は、前記音声を認識する処理を実行した結果を第３の音声候補群として各音声候補のスコアと共に出力し、前記認識結果決定手段は、前記第１の音声候補群の各音声候補のスコアに前記第１の重みを乗じた値と、前記第２の音声候補群の各音声候補のスコアに前記第２の重みを乗じた値と、前記第３の音声候補群の各音声候補のスコアに前記第３の重みを乗じた値とに基づいて、該第１、第２及び第３の音声候補群から、前記最終的な認識結果としての音声候補群を決定することが好ましい。
【００２０】
これらの場合、入力音声自体の特徴から算出されるスコアに、対話の遷移状態を反映した重みを乗じた値を用いて、最終的な認識結果としての音声候補群が決定される。ここで、「スコア」とは、音声候補が音響的観点や言語的観点等のさまざまな観点から入力音声に該当するもっともらしさ（尤度、確信度）を表す指数を意味する。このように、入力音声の特徴と対話の状況とのいずれもを考慮して最終的な音声候補群が適切に決定されるので、使用者の発話に該当する音声候補が最終的な音声候補群に含まれる可能性が高くなり、使用者の発話が精度良く認識される。
【００２１】
或いは、前記第２の辞書を用いる前記第３の音声認識手段を備える場合には、前記辞書は、前記制御対象の制御内容を確認する音声入力に応じた語彙を含み、前記第２の辞書は、前記制御対象の制御内容に関する特定の名称を含む音声入力に応じた語彙を含むことが好ましい。
【００２２】
この場合、制御対象の制御内容を確認する音声入力は、例えば、使用者の発話の認識結果に基づいて音声認識装置により決定された制御対象の制御内容について、使用者に対して確認を促す応答が出力された際に、当該応答に対して使用者が肯定又は否定等を指示する音声入力等である。また、制御対象の制御内容に関する特定の名称を含む音声入力は、例えば、使用者の発話の認識結果に基づいて制御対象の制御内容を音声認識装置で決定するために、使用者に対して制御内容に関する詳細な情報の入力を促す応答が出力された際に、当該応答に対して使用者が地名等の固有名詞等を入力して制御内容を詳細に指示する音声入力等である。これらの音声入力に応じた語彙は、それぞれ、対話の遷移状態に応じて使用される度合が異なるので、これらの語彙が含まれる辞書毎に異なる重みを用いて最終的な認識結果を決定することにより、対話の遷移状態をより詳細に反映して発話を精度良く認識することができる。
【００２３】
前記重み決定手段は、前記辞書の認識対象語彙が前記状態遷移検知手段による検知結果に関連する場合には、前記第２の重みの値を当該関連する度合に応じた所定値に決定すると共に、前記第１の重みの値を０より大きく且つ該第２の重みの値よりも小さい所定値に決定し、前記辞書の認識対象語彙が前記状態遷移検知手段による検知結果に関連しない場合には、前記第２の重みの値を０に決定すると共に、前記第１の重みの値を０より大きい所定値に決定することが好ましい。
【００２４】
或いは、前記第２の辞書を用いる前記第３の音声認識手段を備える場合には、前記重み決定手段は、前記第２の重みの値を、前記辞書の認識対象語彙が前記状態遷移検知手段による検知結果に関連する場合には当該関連する度合に応じた所定値に決定し、当該辞書の認識対象語彙が該検知結果に関連しない場合には０に決定し、前記第３の重みの値を、前記第２の辞書の認識対象語彙が前記状態遷移検知手段による検知結果に関連する場合には当該関連する度合に応じた所定値に決定し、当該第２の辞書の認識対象語彙が該検知結果に関連しない場合には０に決定すると共に、前記状態遷移検知手段による検知結果に関連する語彙を含む辞書が少なくとも１つある場合には、前記第１の重みの値を、０より大きく且つ当該語彙を含む辞書を用いた音声認識手段の音声認識処理に対する重みの値よりも小さい所定値に決定し、該検知結果に関連する語彙を含む辞書がない場合には、０より大きい所定値に決定することが好ましい。
【００２５】
これらの場合、辞書や第２の辞書の認識対象語彙が状態遷移検知手段による検知結果に関連するときには、当該語彙を含む辞書を用いた音声認識処理に対する重みの値を当該関連する度合に応じた所定値に決定するので、対話の遷移状態に応じて、蓋然性の高い入力音声を高い認識率で認識することができる。また、このとき、言語モデルを用いた音声認識処理に対する第１の重みを、０より大きく且つ当該語彙を含む辞書を用いた音声認識処理に対する重みの値よりも小さい所定値に決定するので、辞書や第２の辞書を用いた音声認識処理による蓋然性の高い入力音声に対する高い認識率を維持しつつ、例えば突然話題が変更された場合等の蓋然性の低い入力音声にも、言語モデルを用いた音声認識処理により適切に対応して認識することができる。さらに、状態遷移検知手段による検知結果に関連する語彙を含む辞書がない場合には、多様な語彙や言い回しを含む音声入力が想定されるため、第１の重みの値を０より大きい所定値に決定することで、言語モデルを用いた音声認識処理により適切に対応して認識することができる。よって、上述のように重みを決定することにより、使用者との対話の遷移状態を適切に反映して、使用者の発話を精度良く認識することができる。
【００２６】
前記制御処理は、音声の入力を使用者に促すように該使用者へ出力される応答を生成する処理を含み、前記状態遷移検知手段により検知される状態の遷移は、逐次出力される前記使用者への応答の変化を含むことが好ましい。
【００２７】
すなわち、制御処理として、例えば、使用者から入力された発話から対象を制御するための情報が十分に取得されない場合に必要な情報の入力を使用者に促すような応答や、決定された制御対象の制御内容についての確認を促す応答や、機器制御の結果を提示して次の制御の指示を促す応答等といった、状況に応じた様々な応答が行われる。そして、これらの応答が出力されている際に、使用者からの音声入力は当該応答に関連した語彙や言い回しである可能性が高い。よって、逐次出力される応答の変化を状態遷移検知手段により検知することで、当該検知結果から適切に対話の遷移状態が把握される。
【００２８】
次に、本発明の音声認識方法は、入力された音声についての認識結果に基づいて制御対象に対する制御処理を行う音声認識方法であって、前記制御処理の状態の遷移を検知する状態遷移検知ステップと、認識対象語彙についての言語的な特徴を示す言語モデルを用いて、入力された音声を該言語的な特徴に基づいて認識する処理を実行する第１の音声認識ステップと、認識対象語彙が登録された辞書を用いて、入力された音声を該認識対象語彙と比較して認識する処理を実行する第２の音声認識ステップと、
前記状態遷移検知ステップによる検知結果に基づいて、前記第１の音声認識ステップでの処理に対する第１の重みと、前記第２の音声認識ステップでの処理に対する第２の重みとを、それぞれ決定する重み決定ステップと、前記第１及び第２の音声認識ステップでの処理と、前記重み決定ステップにより決定された第１及び第２の重みとを用いて、最終的な認識結果を決定する認識結果決定ステップとを備えたことを特徴とする。
【００２９】
本発明の音声認識方法によれば、本発明の音声認識装置に関して説明したように、言語モデル又は辞書を用いた種類の異なる音声認識処理と、状態遷移検知手段による検知結果に基づいて決定された重みとを用いて、最終的な認識結果を決定する。よって、対話の遷移状態に応じて、蓋然性の高い入力音声を様々な語彙や言い回しに適切に対応して高い認識率で認識することができると共に、例えば突然話題が変更された場合等の蓋然性の低い入力音声にも適切に対応して認識することができる。したがって、この音声認識方法によれば、使用者との対話の遷移状態を適切に反映して、使用者の発話を精度良く認識することができる。
【００３０】
次に、本発明の音声認識プログラムは、入力された音声についての認識結果に基づいて制御対象に対する制御処理をコンピュータに実行させる音声認識プログラムであって、前記制御処理の状態の遷移を検知する状態遷移検知処理と、認識対象語彙についての言語的な特徴を示す言語モデルを用いて、入力された音声を該言語的な特徴に基づいて認識する第１の音声認識処理と、認識対象語彙が登録された辞書を用いて、入力された音声を該認識対象語彙と比較して認識する第２の音声認識処理と、前記状態遷移検知処理の検知結果に基づいて、前記第１の音声認識処理に対する第１の重みと、前記第２の音声認識処理に対する第２の重みとを、それぞれ決定する重み決定処理と、前記第１及び第２の音声認識処理と、前記重み決定処理により決定された第１及び第２の重みとを用いて、最終的な認識結果を決定する認識結果決定処理とを前記コンピュータに実行させる機能を有することを特徴とする。
【００３１】
この場合、本発明の音声認識装置に関して説明した効果を奏し得る処理をコンピュータに実行させることができる。
【発明を実施するための最良の形態】
【００３２】
図１に示すように、本発明の実施形態の音声認識装置は音声対話ユニット１から成り、車両１０に搭載されている。この音声対話ユニット１には、車両１０の運転者から発話が入力されるマイク２が接続されると共に、車両１０の状態を検出する車両状態検出部３が接続されている。また、音声対話ユニット１には、運転者への応答を出力するスピーカ４と、運転者への表示を行うディスプレイ５とが接続されている。さらに、音声対話ユニット１には、運転者が音声等で操作可能な複数の機器６ａ〜６ｃが接続されている。
【００３３】
マイク２は、車両１０の運転者の音声が入力されるものであり、車内の所定位置に設置されている。マイク２は、例えば、トークスイッチにより音声の入力開始が指令されると、入力される音声を運転者の発話として取得する。トークスイッチは、車両１０の運転者により操作されるＯＮ・ＯＦＦスイッチであり、押下してＯＮ操作されることによって音声の入力開始が指令される。
【００３４】
車両状態検出部３は、車両１０の状態を検出するセンサ等である。車両１０の状態とは、例えば、車両１０の速度や加減速等の走行状態、車両１０の位置や走行道路等の走行環境情報、車両１０に装備された機器（ワイパー、ウィンカー、ナビゲーションシステム、オーディオ等）の動作状態、或いは車両１０の車内温度等の車内の状態をいう。具体的には、例えば、車両１０の走行状態を検出するセンサとして、車両１０の走行速度（車速）を検出する車速センサ、車両１０のヨーレートを検出するヨーレートセンサ、車両１０のブレーキ操作（ブレーキペダルが操作されているか否か）を検出するブレーキセンサ等が挙げられる。さらに、車両１０の状態として、車両１０の運転者の状態（運転者の手掌部の発汗、運転負荷等）を検出してもよい。
【００３５】
スピーカ４は、車両１０の運転者への応答（音声ガイド）を出力するものである。なお、このスピーカ４としては、後述のオーディオ６ａが有するスピーカを用いることができる。
【００３６】
ディスプレイ５は、例えば、車両１０のフロントウィンドウに画像等の情報を表示するＨＵＤ（ヘッドアップディスプレイ）、車両１０の車速などの走行状態を表示するメータに一体的に設けられたディスプレイ、或いは後述のナビゲーションシステム６ｂに備えられたディスプレイ等である。なお、ナビゲーションシステム６ｂのディスプレイは、タッチスイッチが組み込まれたタッチパネルとなっている。
【００３７】
機器６ａ〜６ｃは、具体的には、車両１０に装備されたオーディオ、ナビゲーションシステム、エアコンディショナである。各機器６ａ〜６ｃには、制御可能な構成要素（デバイス，コンテンツ等）、機能、動作等が予め定められている。
【００３８】
例えば、オーディオ６ａには、デバイスとして「ＣＤ」「ＭＰ３」「ラジオ」「スピーカ」等がある。また、オーディオ６ａの機能として「音量」等がある。また、オーディオ６ａの動作として「変更」「オン」「オフ」等がある。さらに、「ＣＤ」「ＭＰ３」の動作として、「再生」「停止」等がある。また、「ラジオ」の機能として「選局」等がある。また、「音量」の動作として「上げる」「下げる」等がある。
【００３９】
また、ナビゲーションシステム６ｂには、コンテンツとして「画面表示」「経路誘導」「ＰＯＩ検索」等がある。さらに、「画面表示」の動作として「変更」「拡大」「縮小」等がある。なお、「経路誘導」は音声ガイド等により目的地へ誘導する機能であり、「ＰＯＩ検索」は、例えばレストラン、ホテル等の目的地を検索する機能である。
【００４０】
また、エアコンディショナ６ｃには、その機能として「風量」「設定温度」等がある。また、エアコンディショナ６ｃの動作として「オン」「オフ」等がある。さらに、「風量」「設定温度」の動作として「変更」「上げる」「下げる」等がある。
【００４１】
これらの機器６ａ〜６ｃは、対象を制御するための情報（機器や機能の種別、動作の内容等）を指定することにより制御される。制御対象となる各機器６ａ〜６ｃのデバイス、コンテンツ、機能は複数のドメインに分類されている。「ドメイン」とは認識対象のカテゴリに応じた分類を意味し、具体的には、制御対象である機器やその機能を表す。ドメインは、例えば「オーディオ」のドメインが、その下位で「ＣＤ」「ラジオ」のドメインに分類されるといったように、階層的に指定することができる。
【００４２】
音声対話ユニット１は、詳細の図示は省略するが、Ａ／Ｄ変換回路、マイクロコンピュータ（ＣＰＵ、ＲＡＭ、ＲＯＭ）等を含む電子回路により構成され、マイク２の出力（アナログ信号）がＡ／Ｄ変換回路を介してデジタル信号に変換されて入力される。そして、音声対話ユニット１は、入力されたデータに基づいて、運転者から入力された発話を認識する処理、この認識結果に基づいて、スピーカ４やディスプレイ５を介して運転者との対話や運転者への情報提示を行う処理、機器６ａ〜６ｃを制御する処理等を実行する。これらの処理は、音声対話ユニット１のメモリに予め実装されたプログラムを音声対話ユニット１により実行することにより実現される。このプログラムは、本発明の音声認識プログラムを含んでいる。なお、当該プログラムはＣＤ−ＲＯＭ等の記録媒体を介してメモリに格納されてもよい。或いは、当該プログラムは外部のサーバからネットワークや人工衛星を介して配信または放送され、車両１０に搭載された通信機器により受信された上でメモリに格納されてもよい。
【００４３】
より詳しくは、音声対話ユニット１は、上記プログラムにより実現される機能として、入力された音声を音響モデル１５、言語モデル１６、構文モデル１７、辞書２０、及び固有名詞辞書２１を用いて認識して発話の意味を理解する音声認識部１１と、音声認識部１１による認識結果に基づいてシナリオデータベース１８を用いてシナリオを決定し、運転者への応答や機器の制御等を行うシナリオ制御部１３と、運転者に出力する音声による応答を音素モデル２１を用いて合成する音声合成部１４とを備えている。
【００４４】
音声認識部１１は、その機能として、図２に示すように、言語モデル１６、構文モデル１７を用いて音声を言語的な特徴に基づいて認識する処理を実行する第１の音声認識手段３１と、音声を辞書２０に格納された認識対象語彙と比較して認識する処理を実行する第２の音声認識手段３２と、音声を固有名詞辞書２１に格納された認識対象語彙と比較して認識する処理を実行する第３の音声認識手段３３とを備えている。また、音声認識部１１は、シナリオ制御部１３の機能である状態遷移検知手段３４の検知結果に基づいて第１〜第３の音声認識手段３１〜３３の処理結果に対する第１〜第３の重み係数α，β，γをそれぞれ決定する重み決定手段３５と、第１〜第３の音声認識手段３１〜３３による処理結果及び第１〜第３の重み係数α，β，γを用いて、最終的な認識結果を決定する認識結果決定手段３６とを備えている。
【００４５】
さらに、第１の音声認識手段３１は、入力された音声を言語モデル１６を用いて認識しテキストとして出力するテキスト変換手段３７と、認識されたテキストから構文モデル１７を用いて発話の意味を理解する構文解析手段３８とを備えている。ここで、「テキスト」とは、単語の列で表現された、所定の意味を有する有意構文である。
【００４６】
なお、図１に示された状態遷移検知手段３４は、シナリオ制御部１３で行われる運転者への応答や機器の制御等の制御処理の状態の遷移を検知する。
【００４７】
また、図１において、音響モデル１５、言語モデル１６、構文モデル１７、シナリオデータベース１８、音素モデル１９、辞書２０、固有名詞辞書２１は、それぞれ、ＣＤ−ＲＯＭ、ＤＶＤ、ＨＤＤ等の記録媒体に格納されるデータベースである。
【００４８】
音声認識部１１は、マイク２に入力された発話の音声を示す波形データを周波数分析して特徴ベクトルを抽出する。そして、音声認識部１１は、抽出された特徴ベクトルに基づいて、入力された音声を認識して発話の意味を理解する「音声認識処理」を実行する。この音声認識処理は、次に説明するような確率統計的な手法を用いて、入力音声の音響的な特徴と言語的な特徴とを総合的に判断することにより実行される。
【００４９】
すなわち、音声認識部１１は、まず、音響モデル１５を用いて、抽出された特徴ベクトルに応じた発音データの尤度（以下、「音響スコア」という。）を評価し、当該音響スコアに基づいて発音データを決定する。
【００５０】
そして、音声認識部１１は、「第１の音声認識処理」として、入力された音声を言語モデル１６を用いて認識しテキストとして出力する「テキスト変換処理」と、認識されたテキストから構文モデル１７を用いて発話の意味を理解する「構文解析処理」とを実行する。まず、音声認識部１１は、テキスト変換処理で、言語モデル１６を用いて、決定された発音データに応じた単語列で表現されたテキストの尤度（以下、「言語スコア」という。）を評価し、当該言語スコアに基づいてテキストを決定する。さらに、音声認識部１１は、決定された全てのテキストについて、当該テキストの音響スコアと言語スコアとに基づいてテキスト変換の確信度（以下、「テキスト変換スコア」という。）を算出する。そして、音声認識部１１は、このテキスト変換スコアが所定の条件を満たす単語列で表現されたテキストを、認識されたテキスト（Recognized Text）として決定する。
【００５１】
さらに、音声認識部１１は、構文解析処理で、次に説明するように確率統計的な手法を用いて、認識されたテキストにおける単語間の関係（構文）を解析する。すなわち、音声認識部１１は、構文モデル１７を用いて、認識されたテキストの尤度（以下、「構文解析スコア」という。）を評価し、当該構文解析スコアに基づいて、当該認識されたテキストの意味に対応するクラスに分類されたテキストを決定する。そして、音声認識部１１は、構文解析スコアが所定の条件を満たすクラス分類されたテキスト（Categorized Text）を、第１の音声候補群として、そのスコア（構文解析スコア）と共に出力する。
【００５２】
ここで、「音声候補」は、入力音声を認識して発話の意味を理解することにより得られる、制御対象や制御内容を指すコマンドの候補を示している。また、「クラス」は、認識対象のカテゴリに応じた分類に相当し、具体的には、上述のドメインやタスクに相当するものである。例えば、認識されたテキストが「設定変更」「設定変更する」「設定を変える」「セッティング変更」である場合には、いずれも、クラス分類されたテキストは｛setup｝となる。
【００５３】
また、音声認識部１１は、「第２の音声認識処理」として、辞書２０を用いて入力音声を認識して第２の音声候補群を決定する。具体的には、決定された発音データと辞書２０に登録された語彙の発音データとの類似の度合に基づいて語彙を認識し、当該語彙の意味に対応するクラス分類されたテキストを決定する。さらに、音声認識部１１は、認識された語彙の音響スコアと類似の度合とに基づいて、当該語彙の意味に対応するクラス分類されたテキストのスコアを算出する。そして、音声認識部１１は、算出されたスコアが所定の条件を満たすクラス分類されたテキストを、第２の音声候補群としてそのスコアと共に出力する。
【００５４】
また、音声認識部１１は、「第３の音声認識処理」として、第２の音声認識処理と同様に、固有名詞辞書２１を用いて入力音声を認識してクラス分類されたテキストを決定し、第３の音声候補群としてそのスコアと共に出力する。
【００５５】
そして、音声認識部１１は、第１〜第３の音声候補群から、各音声候補のスコアと第１〜第３の重み係数とを用いて、最終的な認識結果（クラス分類されたテキスト）としての音声候補群を決定する。
【００５６】
シナリオ制御部１３は、音声認識部１１により決定される最終的な音声候補群と、車両状態検出部３から取得される車両１０の状態とに基づいて、シナリオデータベース１８に記録されたデータを用いて、運転者に対する応答出力や機器制御のシナリオを決定する。シナリオデータベース１８には、応答出力や機器制御のための複数のシナリオが、音声候補や車両状態の条件と共に予め記録されている。そして、シナリオ制御部１３は、決定されたシナリオに従って、音声や画像表示による応答を制御する処理や、機器を制御する処理を実行する。具体的には、シナリオ制御部１３は、例えば、音声による応答では、出力する応答の内容（運転者の次の発話を促すための応答文や、操作の完了等を使用者に報知するための応答文）や、応答を出力する際の速度や音量を決定する。
【００５７】
音声合成部１４は、シナリオ制御部１３で決定された応答文に応じて、音素モデル１９を用いて音声を合成して、音声を示す波形データとして出力する。音声は、例えばＴＴＳ（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｝は制御対象が不明であることを、それぞれ示している。
【００６４】
再び図１において、辞書２０には、認識対象語彙として、一般的な名詞、動詞、形容詞等の単語と、当該単語を含む単語列の発音データ及びテキストが登録されている。また、固有名詞辞書２１には、認識対象語彙として、人名、地名、店名等の特定の名称（固有名詞等）と、当該名称を含む単語列の発音データ及びテキストが登録されている。これらの辞書２０及び固有名詞辞書２１には、それぞれ、図４に示すように認識対象語彙が複数のカテゴリに分類されて格納されている。格納されている語彙にはタグが付されており、当該タグの内容は、辞書２０、固有名詞辞書２１に登録された各語彙のクラスを示す。
【００６５】
例えば、辞書２０のうち｛Set destination｝に分類された部分には、＜目的地＞というタグが付けられた語彙として「そこにいく」が登録され、「そこにいく」という語彙に関連する語彙として「目的地」が登録されている。また、「目的地」という語彙に関連するタグとして＜セット＞＜に設定＞が登録されている。また、＜経由地＞というタグが付けられた語彙として「そこに立ち寄る」が登録され、「そこに立ち寄る」に関連する語彙として「ちょっとよる」「途中たちよる」が登録されている。
【００６６】
同様に、辞書２０のうち｛Affirmation｝に分類された部分には、＜Yes＞というタグが付けられた語彙として「Yes」が登録され、「Yes」に関連する語彙として「はい」「そうして」「ん」が登録されている。また、＜No＞というタグが付けられた語彙として「No」が登録され、「No」に関連する語彙として「ちがう」「まちがい」「いや」が登録されている。
【００６７】
また、例えば、固有名詞辞書２１のうち｛ＰＯＩ｝に分類された部分には、＜ＰＯＩ＞というタグが付けられた語彙として「コンビニ」が登録され、「コンビニ」に関連する語彙として「スーパー」「ディスカウントショップ」「レストラン」「ラーメン」が登録されている。
【００６８】
同様に、固有名詞辞書２１のうち｛コンビニ｝に分類された部分には、＜コンビニ＞というタグが付けられた語彙として「セブン」が登録され、「セブン」に関連する語彙として「セブンマート」「ローストップ」…「トップスパー」が登録されている。さらに、＜コンビニ＞というタグが付けられた語彙と他の語彙（「に行きたい」「探して」）とを連結した語彙「＜コンビニ＞に行きたい」「＜コンビニ＞探して」が登録されている。
【００６９】
次に、本実施形態の音声認識装置の作動（音声対話処理）について説明する。図５に示すように、まず、ＳＴＥＰ１で、車両１０の運転者から、対象を制御するための発話がマイク２に入力される。具体的には、運転者がトークスイッチをＯＮ操作して発話の入力開始を指令し、マイク２に音声を入力する。
【００７０】
次に、ＳＴＥＰ２で、音声対話ユニット１は、運転者への応答や機器の制御等の制御処理の状態の遷移を検知する。次に、ＳＴＥＰ３で、音声対話ユニット１は、ＳＴＥＰ２の検知結果に基づいて、第１〜第３の音声認識処理に対する第１〜第３の重み係数α，β，γを決定する。このとき、音声対話ユニット１は、辞書２０，固有名詞辞書２１のうちのＳＴＥＰ２の検知結果に関連する語彙が含まれるカテゴリの部分のデータを有効にする。
【００７１】
ここで、図６を用いてＳＴＥＰ２〜３の処理について説明する。図６（ａ）〜（ｃ）には、決定される第１〜第３の重み係数α，β，γの相対的な大きさが示されている。
【００７２】
図６（ａ）の例は、ＳＴＥＰ２での検知結果が、運転者からの音声入力に対して待機している「待機状態」となる場合である。具体的には、運転者から対象を制御するための最初の発話が入力された状態や、運転者からの操作に応じた処理が完了して対話が終了した状態等が該当する。この場合、全ての語彙と言い回しについて入力される可能性があるので、辞書２０，固有名詞辞書２１に関連する特定のカテゴリの語彙はない。よって、図６（ａ）に示すように、第１の重み係数αは０より大きい所定値に決定され、第２，第３の重み係数β，γはβ＝γ＝０に決定される。これにより、後述のＳＴＥＰ５〜６（第１の音声認識処理）による第１の音声候補群から、多様な語彙や言い回しに対応して発話が適切に認識される。
【００７３】
また、図６（ｂ）の例は、ＳＴＥＰ２での検知結果が、所定の制御対象の制御内容等についての確認がなされる「確認状態」となる場合である。具体的には、前回までの発話の認識結果に基づいて決定された制御対象の制御内容について、運転者の確認を促す確認応答（Yes／Noで返答可能な質問文）が出力されている状態等が該当する。この場合、入力音声は確認応答に対する返答である可能性が高い。よって、辞書２０のうち制御対象の制御内容を確認する音声入力に応じた語彙（｛Affirmation｝に分類された語彙）に関連する度合が高い。一方、固有名詞辞書２１には関連する語彙がない。よって、図６（ｂ）に示すように、第１の重み係数αは比較的低い所定値に決定され、第２の重み係数βは比較的高い所定値に決定され、第３の重み係数γは０に決定される。これにより、蓋然性の高い確認応答への返答が入力された場合には、後述のＳＴＥＰ７（第２の音声認識処理）による第２の音声候補群から高い認識率で認識されると共に、蓋然性の低い他の発話が入力された場合にも、後述のＳＴＥＰ５〜６（第１の音声認識処理）による第１の音声候補群から適切に認識される。
【００７４】
また、図６（ｃ）の例は、ＳＴＥＰ２での検知結果が、所定の制御対象について詳細な制御内容を問い合わせる「問い合わせ状態」となる場合である。具体的には、所定の制御対象の制御内容に関する詳細な情報の入力を促す応答や、複数の選択候補を提示して選択を促す応答が出力されている状態等が該当する。この場合、入力音声は所定の制御対象の制御内容を詳細に指示する返答であるか、或いは選択候補のうちいずれか又は当該選択候補と同じカテゴリに分類された他の候補を選択する返答である可能性が高い。よって、辞書２０のうち所定の制御対象の制御内容を指示する音声入力に応じた語彙に関連する度合と、固有名詞辞書２１のうち選択候補と同じカテゴリに分類された特定の名称を含む語彙に関連する度合とが高い。よって、図６（ｃ）に示すように、第１の重み係数αは比較的低い所定値に決定され、第２，第３の重み係数β，γは関連する度合に応じた比較的高い所定値に決定される。これにより、蓋然性の高い上記出力されている応答への返答が入力された場合には、後述のＳＴＥＰ７，８（第２，第３の音声認識処理）による第２，第３の音声候補群から高い認識率で認識されると共に、蓋然性の低い他の発話が入力された場合にも、後述のＳＴＥＰ５〜６（第１の音声認識処理）による第１の音声候補群から適切に認識される。
【００７５】
次に、図５のＳＴＥＰ４で、音声対話ユニット１は、後述の第１〜第３の音声認識処理（ＳＴＥＰ５〜８）の前処理として、入力された音声から発音データを決定する。まず、音声対話ユニット１は、マイク２に入力された音声をＡ／Ｄ変換して音声を示す波形データを取得する。次に、音声対話ユニット１は、音声を示す波形データを周波数分析して特徴ベクトルを抽出する。これにより、音声を示す波形データは、例えば短時間スペクトル分析の手法によってフィルタ処理を施され、特徴ベクトルの時系列に変換される。この特徴ベクトルは、各時刻における音声スペクトルの特微量を抽出したもので、一般に１０次元〜１００次元の範囲の次数（例えば３９次元）であり、線形予測分析メルケプストラム（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」と当該単語に先行する単語とを合わせた単語数４に応じて、Ｎ＝１〜４のＮグラムから得られるａ４，ｂ３，ｃ２，ｄ１に基づいて算出される。
【００８１】
次に、音声対話ユニット１は、決定された全てのテキストについて、音響スコアと言語スコアとの重み付き和を、テキスト変換スコアとして算出する。なお、重み係数としては、例えば実験的に予め定められた値が用いられる。次に、音声対話ユニット１は、算出したテキスト変換スコアが所定の条件を満たす単語列で表現されるテキストを、認識されたテキストとして決定する。所定の条件は、例えば、テキスト変換スコアが最も高いテキスト、テキスト変換スコアが上位から所定順位までのテキスト、或いはテキスト変換スコアが所定値以上のテキスト等のように予め定められている。
【００８２】
次に、ＳＴＥＰ６で、音声対話ユニット１は、認識されたテキストから発話の意味を理解する構文解析処理を実行する。まず、音声対話ユニット１は、構文モデル１７を用いて、認識されたテキストからクラス分類されたテキストを決定する。
【００８３】
具体的には、まず、音声対話ユニット１は、構文モデル１７全体のデータを用いて、認識されたテキストに含まれる単語について、それぞれ、１単語における各ドメインの尤度を算出する。次に、音声対話ユニット１は、当該尤度に基づいて１単語におけるドメインをそれぞれ決定する。次に、音声対話ユニット１は、構文モデル１７のうち決定された種類のドメインに分類された部分のデータを用いて、１単語における各クラスの組（クラス分類されたテキスト）の尤度（単語スコア）を算出する。そして、音声対話ユニット１は、当該単語スコアに基づいて、１単語におけるクラス分類されたテキストを決定する。
【００８４】
同様に、音声対話ユニット１は、認識されたテキストに含まれる２単語列について、それぞれ、２単語における各ドメインの尤度を算出し、当該尤度に基づいて２単語におけるドメインを決定する。さらに、音声対話ユニット１は、２単語における各クラスの組の尤度（２単語スコア）を算出し、当該２単語スコアに基づいて２単語におけるクラスの組（クラス分類されたテキスト）を決定する。また、同様に、音声対話ユニット１は、認識されたテキストに含まれる３単語列について、それぞれ、３単語における各ドメインの尤度を算出し、当該尤度に基づいて３単語におけるドメインを決定する。さらに、音声対話ユニット１は、３単語における各クラスの組の尤度（３単語スコア）を算出し、当該３単語スコアに基づいて３単語におけるクラスの組（クラス分類されたテキスト）を決定する。
【００８５】
次に、音声対話ユニット１は、１単語、２単語、３単語で決定された各クラスの組と当該クラスの組のスコア（１単語スコア、２単語スコア、３単語スコア）とに基づいて、認識されたテキスト全体における各クラスの組の尤度（構文解析スコア）を算出する。そして、音声対話ユニット１は、当該構文解析スコアに基づいて、認識されたテキスト全体におけるクラスの組（クラス分類されたテキスト）を決定する。
【００８６】
次に、音声対話ユニット１は、算出された構文解析スコアが所定の条件を満たすようなクラス分類されたテキスト（Categorized Text）を、第１の音声候補群として決定する。所定の条件は、例えば、構文解析スコアが最も高いテキスト、構文解析スコアが上位から所定順位までのテキスト、或いは構文解析スコアが所定値以上のテキスト等のように予め定められている。これにより、クラス分類されたテキストが、第１の音声候補群としてスコアと共に得られる。例えば、上述のように「AC on floor to defrost」という発話が入力された場合に、第１の音声候補として｛Climate_Defrost_Front｝が得られる。
【００８７】
このように、入力された発話を、単語毎の確率統計的な言語モデルを用いてテキストとして書き起こす手法（ディクテーション）を用いることで、予め決められた言い回しの発話に限定されない、運転者の自然な発話の認識が可能となる。
【００８８】
ここで、図８に示す例を用いて、構文モデル１７を用いてクラス分類されたテキストを決定する処理について説明する。図８の例では、認識されたテキストが「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｝といったクラス分類されたテキストが決定される。
【００９３】
次に、ＳＴＥＰ７で、音声対話ユニット１は、辞書２０のうちＳＴＥＰ３で有効にされた部分のデータを用いて、発音データから第２の音声候補群を決定する第２の音声認識処理を実行する。なお、ＳＴＥＰ３で決定された第２の重み係数βが０の場合は、このＳＴＥＰ７の処理は省略される。
【００９４】
具体的には、まず、音声対話ユニット１は、決定された発音データと、辞書２０に登録された語彙の発音データとの類似の度合を算出する。そして、登録された複数の語彙のうち、類似の度合が所定の条件を満たす語彙を、認識された語彙として決定する。所定の条件は、例えば発音データが明らかに一致すると考えられる所定値以上等のように予め定められている。
【００９５】
次に、音声対話ユニット１は、認識された語彙、及び当該語彙に付けられたタグの内容に基づいて、クラス分類されたテキストを決定する。このとき、音声対話ユニット１は、認識された語彙の音響スコアと類似の度合とに基づいて、決定されたクラス分類されたテキストの確信度（スコア）を算出する。
【００９６】
次に、音声対話ユニット１は、算出されたスコアが所定の条件を満たすようなクラス分類されたテキストを、第２の音声候補群として決定する。所定の条件は、例えば、スコアが最も高いテキスト、スコアが上位から所定順位までのテキスト、或いはスコアが所定値以上のテキスト等のように予め定められている。これにより、クラス分類されたテキストが、第２の音声候補群としてスコアと共に得られる。このように、辞書２０を用いることにより、入力された発話に予め登録された一般的な単語が含まれる場合に、高い認識率で認識することができる。
【００９７】
次に、ＳＴＥＰ８で、音声対話ユニット１は、固有名詞辞書２１のうちＳＴＥＰ３で有効にされた部分のデータを用いて、発音データから第３の音声候補群を決定する第３の音声認識処理を実行する。なお、ＳＴＥＰ３で決定された第３の重み係数γが０の場合は、このＳＴＥＰ８の処理は省略される。
【００９８】
具体的には、ＳＴＥＰ７と同様に、まず、音声対話ユニット１は、決定された発音データと、固有名詞辞書２１に登録された語彙の発音データとの類似の度合を算出する。そして、登録された複数の語彙のうち、類似の度合が所定の条件を満たす語彙を、認識された語彙として決定する。
【００９９】
次に、音声対話ユニット１は、ＳＴＥＰ７と同様に、認識された語彙、及び当該語彙に付けられたタグの内容に基づいて、クラス分類されたテキストを決定する。このとき、音声対話ユニット１は、認識された語彙の音響スコアと類似の度合とに基づいて、決定されたクラス分類されたテキストの確信度（スコア）を算出する。
【０１００】
次に、音声対話ユニット１は、ＳＴＥＰ７と同様に、算出されたスコアが所定の条件を満たすようなクラス分類されたテキストを、第３の音声候補群として決定する。これにより、クラス分類されたテキストが、第３の音声候補群としてスコアと共に得られる。このように、固有名詞辞書２１を用いることにより、入力された発話に予め登録された固有名詞等の特定の名称が含まれる場合に、高い認識率で認識することができる。
【０１０１】
次に、ＳＴＥＰ９で、音声対話ユニット１は、ＳＴＥＰ５〜８でそれぞれ得られた第１〜第３の音声候補群から、ＳＴＥＰ３で決定された第１〜第３の重み係数α，β，γを用いて、最終的な認識結果としての音声候補群を決定する。具体的には、まず、音声対話ユニット１は、第１の音声候補群の各音声候補のスコアに第１の重み係数αを乗じた値と、第２の音声候補群の各音声候補のスコアに第２の重み係数βを乗じた値と、第３の音声候補群の各音声候補のスコアに第３の重み係数γを乗じた値とを、それぞれ算出する。そして、算出された値が所定の条件を満たす音声候補を決定する。所定の条件は、例えば、算出された値が最も高い音声候補、算出された値が上位から所定順位までの音声候補、或いは算出された値が所定値以上の音声候補等のように予め定められている。これにより、最終的な認識結果（クラス分類されたテキスト）としての音声候補群が得られる。
【０１０２】
次に、ＳＴＥＰ１０で、音声対話ユニット１は、車両状態検出部３により検出される、車両１０の状態（車両１０の走行状態、車両１０に搭載された機器の状態、車両１０の運転者の状態等）の検出値を取得する。
【０１０３】
次に、ＳＴＥＰ１１で、音声対話ユニット１は、ＳＴＥＰ９で決定された最終的な音声候補群と、ＳＴＥＰ１０で検出された車両１０の状態とに基づいて、シナリオデータベース１８を用いて、運転者への応答や機器の制御を行うためのシナリオを決定する。
【０１０４】
まず、音声対話ユニット１は、最終的な音声候補群と車両１０の状態とから、対象を制御するための情報を取得する。図９に示すように、音声対話ユニット１には、対象を制御するための情報を格納する複数のフォームが備えられている。各フォームには、必要な情報のクラスに対応した所定数のスロットが設けられている。例えば、ナビゲーションシステム６ｂを制御するための情報を格納するフォームとして、「Plot a route」「Traffic info.」等が備えられ、エアコンディショナ６ｃを制御するための情報を格納するフォームとして「Climate control」等が備えられている。また、フォーム「Plot a route」には、４つのスロット「From」「To」「Request」「via」が設けられている。
【０１０５】
音声対話ユニット１は、運転者との対話における各回の発話の認識結果から決定された音声候補と車両１０の状態とに基づいて、該当するフォームのスロットに値を入力していく。これと共に、各フォームについての確信度（フォームに入力された値の信頼の度合）を算出してフォームに記録する。フォームの確信度は、例えば、各回の発話の認識結果から決定された音声候補のスコアと、各フォームのスロットの埋まり具合とに基づいて算出される。例えば、図９に示すように、「千歳空港まで最短ルートで案内して」という発話が運転者から入力された場合には、フォーム「Plot a route」の３つのスロット「From」「To」「Request」に値「ここ」「千歳空港」「最短」が入力される。また、フォーム「Plot a route」の「Score」に、算出されたフォームの確信度８０が記録される。
【０１０６】
次に、音声対話ユニット１は、フォームの確信度と、ＳＴＥＰ１０で検出された車両１０の状態とに基づいて、実際の制御処理に用いるフォームを選択する。そして、選択されたフォームに基づいて、シナリオデータベース１８に格納されたデータを用いて、シナリオを決定する。図１０に示すように、シナリオデータベース１８には、例えば運転者へ出力する応答文等が、スロットの埋まり具合やレベル毎に分類されて格納されている。なお、レベルは、例えばフォームの確信度や車両１０の状態（車両１０の走行状態、運転者の状態等）等に基づいて設定される値である。
【０１０７】
例えば、選択されたフォーム内に空きスロット（値が入力されていないスロット）がある場合には、運転者へフォーム内の空きスロットの入力を促すような応答文を出力するシナリオが決定される。このとき、レベルに応じて、すなわちフォームの確信度や車両１０の状態を考慮して、運転者の次回の発話を促す適切な応答文が決定される。例えば、運転者の運転負荷に応じて、運転負荷が高いと考えられる状態では、入力を促すスロットの数が少なめに設定された応答文がが決定される。そして、このように決定された応答文の出力により使用者の次の発話を促すことで、効率の良い対話が行われる。
【０１０８】
図１０に示す例では、フォーム「Plot a route」の第１〜第３のスロット「From」「To」「Request」には値が入力され、第４のスロット「via」には値が入力されていない。また、レベル＝２に設定されている。このとき、シナリオデータベース１８から応答文「<To>を<Request>設定します」が選択され、「千歳空港を高速優先設定します」という応答文の内容が決定される。
【０１０９】
また、例えば、選択されたフォーム内の全てのスロットが全て埋まっている（値が入力されている）場合には、内容を確認するような応答文（例えば各スロットの入力値を運転者に報知して確認を促す応答文）を出力するシナリオが決定される。
【０１１０】
次に、ＳＴＥＰ１２で、音声対話ユニット１は、決定したシナリオに基づいて、機器制御の内容が特定されたか否かを判断する。ＳＴＥＰ１２の判断結果がＮＯの場合には、ＳＴＥＰ１３に進み、音声対話ユニット１は、決定された応答文の内容や応答文を出力する際の条件に応じて音声を合成する。そして、次のＳＴＥＰ１４で、生成された応答文（必要な情報の入力を使用者に促すような応答文等）が、スピーカ４から出力される。
【０１１１】
次に、ＳＴＥＰ１に戻り、２回目の発話が運転者から入力される。以下、ＳＴＥＰ１２の判断結果がＹＥＳとなるまで、上述のＳＴＥＰ１〜１４と同様の処理が繰り返される。
【０１１２】
上記ＳＴＥＰ１２の判断結果がＹＥＳの場合（機器制御の内容が特定されている場合）には、ＳＴＥＰ１５に進み、音声対話ユニット１は、決定されたシナリオに基づいて機器を制御する。このとき、例えば、特定された機器制御の内容等を使用者に報知するシナリオが決定されている場合には、音声対話ユニット１は、決定された応答文の内容や応答文を出力する際の条件に応じて音声を合成する。そして、生成された応答文（機器制御の内容等を使用者に報知する応答文等）がスピーカ４から出力される。
【０１１３】
次に、ＳＴＥＰ１６で、音声対話ユニット１は、決定されたシナリオに基づいて、運転者との対話が終了したか否かを判断する。例えば、ＳＴＥＰ１５の機器制御の結果に関連した次の制御処理の指示や、ＳＴＥＰ１５の機器制御の結果に対する運転者からの当否確認のために、運転者の次の発話を促す必要がある場合には、対話が終了していないと判断される。ＳＴＥＰ１６の判断結果がＮＯの場合には、前述のＳＴＥＰ１３に進み、音声対話ユニット１は、決定された応答文の内容や応答文を出力する際の条件に応じて音声を合成する。そして、ＳＴＥＰ１４で、生成された応答文（機器制御の結果を提示して次の制御の指示を促す応答文等）がスピーカ４から出力される。
【０１１４】
その後、ＳＴＥＰ１に戻り、次の発話が運転者から入力される。以下、ＳＴＥＰ１６の判断結果がＹＥＳとなるまで、上述のＳＴＥＰ１〜１５と同様の処理が繰り返される。
【０１１５】
最後に、ＳＴＥＰ１６の判断結果がＹＥＳの場合には音声対話処理を終了する。このとき、例えば、機器制御の完了等を使用者に報知するシナリオが決定されている場合には、音声対話ユニット１は、決定された応答文の内容や応答文を出力する際の条件に応じて音声を合成する。そして、生成された応答文（機器制御の完了等を使用者に報知する応答文等）がスピーカ４から出力される。
【０１１６】
以上の処理によって、制御処理の状態の遷移に基づいて第１〜第３の音声認識処理の重みが決定されて最終的な認識結果が決定され、対話の遷移状態を適切に反映して発話が精度良く認識されるので、効率の良い対話を介して機器の制御が行われる。
［対話例］
次に、上述した音声対話処理について、図１１〜図１３に示す対話例を用いて具体的に説明する。図１１は、対話中に運転者が「話題の変更を行わない」例であり、図１２，図１３は対話中に運転者が「話題の変更を行う」例である。また、図１１，図１３は、上述の音声対話処理による対話例を示し、図１２は、参考例として、言語モデル１６を用いた第１の音声認識処理を行わず、且つ、制御処理の状態遷移に基づいた重みの変更を行わない場合における対話例を示している。また、第１〜第３の重み係数α，β，γは、それぞれ、｛０，「低」，「中」，「高」｝の４段階の値をとる（０＜「低」＜「中」＜「高」）。
【０１１７】
まず、図１１の対話例について説明する。まず、実行中の制御処理はなく状態１の「待機状態」にあり、図５のＳＴＥＰ１で、運転者（ユーザ）から「近くのコンビニ」という最初の発話が入力される。次に、ＳＴＥＰ２で、制御処理は「待機状態」と検知され、ＳＴＥＰ３で、第１の重み係数αが「低」、第２，第３の重み係数β，γが０と決定される。
【０１１８】
次に、ＳＴＥＰ４で、入力された音声「近くのコンビニ」の特徴ベクトルから、発音データが音響スコアと共に決定される。
【０１１９】
次に、ＳＴＥＰ５で、言語モデル１６全体のデータを用いて第１の音声認識処理におけるテキスト変換処理が実行され、発音データから認識されたテキスト「近く  の  コンビニ」が得られる。次に、ＳＴＥＰ６で、テキスト「近く  の  コンビニ」について構文解析処理が実行され、当該テキストの意味に対応する音声候補が第１の音声候補群としてスコアと共に得られる。
【０１２０】
次に、第２，第３の重み係数β，γは０であるから、ＳＴＥＰ７，８の第２，第３の音声認識処理は省略され、ＳＴＥＰ９に進む。
【０１２１】
次に、ＳＴＥＰ９で、第１の音声候補群から、テキスト「近く  の  コンビニ」の意味に対応する音声候補が、最終的な音声候補群として決定される。このように、多様な語彙と言い回しが想定される最初の発話が適切に認識される。
【０１２２】
次に、ＳＴＥＰ１０で、車両１０の状態が検出され、ＳＴＥＰ１１で、最終的な音声候補群と車両１０の状態とに基づいてシナリオが決定される。これにより、実行中の制御処理が「ＰＯＩ検索」となる。具体的には、「ナビゲーションシステム６ｂのＰＯＩ検索機能で、車両１０の現在位置から所定距離内のコンビニエンスストアを検索する」「ＰＯＩ検索の結果を運転者に提示する」等の制御処理がシナリオとして決定される。
【０１２３】
次に、ＳＴＥＰ１２で、機器制御の内容は特定されているので判断結果はＹＥＳとなり、ＳＴＥＰ１５で、決定されたシナリオに基づいてナビゲーションシステム６ｂでＰＯＩ検索が実行され、検索結果としてコンビニエンスストアの候補が２つ得られる。検索結果として複数の候補が得られるので、音声対話ユニット１の制御処理は、「検索結果を運転者に提示し、絞込検索等の詳細な制御内容の指示、或いは目的地として検索結果のうち１つの選択を促す」状態（状態２の「問い合わせ状態」）に遷移する。
【０１２４】
次に、ＳＴＥＰ１６に進み、運転者の次の発話を促す必要があるため、対話は終了していないと判断され、ＳＴＥＰ１３で、音声対話ユニット１（システム）により「ローストップとセブンマートの２つが近いです」という応答文の音声が合成され、ＳＴＥＰ１４でスピーカ４から出力される。
【０１２５】
次に、ＳＴＥＰ１に戻り、運転者から「ｍｍショップに行きたい」という２回目の発話が入力される。
【０１２６】
次に、ＳＴＥＰ２で、制御処理は「問い合わせ状態」と検知される。このとき、実行中の制御処理は「ＰＯＩ検索」であり、検索結果として複数のコンビニエンスストアを提示する応答が出力されているので、入力音声は、「ＰＯＩ検索の詳細入力を指示する」「検索結果として提示したコンビニエンスストアの候補のうち１つを選択して目的地として設定する」等の返答である可能性が高い。よって、辞書２０のうちＰＯＩ検索の目的地設定を指示する音声入力に応じた語彙｛Set destination｝に関連する度合と、固有名詞辞書２１のうち｛コンビニ｝｛ＰＯＩ｝の語彙に関連する度合とが高い。したがって、ＳＴＥＰ３で、第１の重み係数αは「低」に決定され、第２，第３の重み係数β，γは「中」に決定される。また、辞書２０のうち｛Set destination｝のデータが有効にされ、固有名詞辞書２１のうち｛コンビニ｝｛ＰＯＩ｝のデータが有効にされる。
【０１２７】
次に、ＳＴＥＰ４で、入力された音声「ｍｍショップに行きたい」の特徴ベクトルから、発音データが音響スコアと共に決定される。
【０１２８】
次に、ＳＴＥＰ５で、言語モデル１６全体のデータを用いて第１の音声認識処理におけるテキスト変換処理が実行され、発音データから認識されたテキスト「ｍｍショップ  に  行きたい」が得られる。次に、ＳＴＥＰ６で、認識されたテキスト「ｍｍショップ  に  行きたい」について構文解析処理が実行され、当該テキストの意味に対応する音声候補が第１の音声候補群としてスコアと共に得られる。このとき、「ｍｍショップ」という特定のコンビニエンスストアを表す固有名詞は、多様な言い回しがされ易い一般語に比べてテキストコーパスにおける出現頻度が比較的低いので、第１の音声認識処理では、「ｍｍショップ」という単語は認識されにくく、テキスト「ｍｍショップ  に  行きたい」の意味に対応する音声候補のスコアは低くなる。
【０１２９】
次に、ＳＴＥＰ７で、辞書２０のうち｛Set Destination｝のデータを用いて第２の音声認識処理が実行される。これにより、発音データから語彙「行きたい」の意味に対応する音声候補が第２の音声候補群としてスコアと共に得られる。このとき、辞書２０には「ｍｍショップ」という固有名詞は登録されていないので、語彙「ｍｍショップ」の意味に対応する音声候補は得られない。
【０１３０】
次に、ＳＴＥＰ８で、固有名詞辞書２１のうち｛ＰＯＩ検索｝｛コンビニ｝のデータを用いて第３の音声認識処理が実行される。このとき、固有名詞辞書２１には語彙「ｍｍショップ」「ｍｍショップに行きたい」が登録されているので、発音データから語彙「ｍｍショップ」「ｍｍショップに行きたい」の意味に対応する音声候補が第３の音声候補群として高いスコアと共に得られる。
【０１３１】
次に、ＳＴＥＰ９で、第１〜第３の音声候補群から、スコアと第１〜第３の重み係数α，β，γとに基づいて、最終的な音声候補群が決定される。このとき、発話全体と合致する第３の音声候補群の語彙「ｍｍショップに行きたい」の意味に対応する音声候補のスコアが高く、且つ第３の重み係数γが比較的高いので、当該音声候補が最終的な音声候補群として得られる。
【０１３２】
次に、ＳＴＥＰ１０で、車両１０の状態が検出され、ＳＴＥＰ１１で、最終的な音声候補群と車両１０の状態とに基づいてシナリオが決定される。これにより、実行中の制御処理は「ＰＯＩ検索」が継続し、具体的には、「ナビゲーションシステム６ｂのＰＯＩ検索機能で、車両１０の現在位置の周辺のｍｍショップを検索する」「ＰＯＩ検索の結果を運転者に提示する」等の制御処理がシナリオとして決定される。
【０１３３】
次に、ＳＴＥＰ１２で、機器制御の内容は特定されているので判断結果はＹＥＳとなり、ＳＴＥＰ１５に進み、決定されたシナリオに基づいてナビゲーションシステム６ｂでＰＯＩ検索が実行され、検索結果として車両１０の周辺のｍｍショップとその情報（車両１０からの距離等）が得られる。検索結果としてｍｍショップの候補が得られるので、音声対話ユニット１の制御処理は、「検索結果を運転者に提示し、目的地として設定するか確認を促す」状態（状態３の「確認状態」）に遷移する。
【０１３４】
次に、ＳＴＥＰ１６に進み、運転者の次の発話を促す必要があるため、対話は終了していないと判断され、ＳＴＥＰ１３で、「１キロ程先ですけどよろしいですか？」という応答文の音声が合成され、ＳＴＥＰ１４でスピーカ４から出力される。
【０１３５】
次に、ＳＴＥＰ１に戻り、運転者から「はい」という３回目の発話が入力される。次に、ＳＴＥＰ２で、制御処理は「確認状態」と検知される。このとき、検索結果を目的地として設定するか運転者の確認を促す確認応答（Yes／Noで返答可能な質問文）が出力されているので、入力音声は、「Yes」「No」等の返答である可能性が高い。よって、辞書２０のうち｛Affirmation｝に関連する度合が高い。一方、固有名詞辞書２１には関連する語彙がない。したがって、ＳＴＥＰ３で、第１の重み係数αは「低」に決定され、第２の重み係数βは「高」に決定され、第３の重み係数γは０に決定される。また、辞書２０のうち｛Affirmation｝のデータが有効にされる。
【０１３６】
次に、ＳＴＥＰ４で、入力された音声「はい」の特徴ベクトルから、発音データが音響スコアと共に決定される。
【０１３７】
次に、ＳＴＥＰ５で、言語モデル１６全体のデータを用いて第１の音声認識処理におけるテキスト変換処理が実行され、発音データから認識されたテキスト「はい」が得られる。次に、ＳＴＥＰ６で、認識されたテキスト「はい」について構文解析処理が実行され、当該テキストの意味に対応する音声候補が第１の音声候補群としてスコアと共に得られる。このとき、「はい」という音声入力は、１単語なので単語列を反映した言語的な特徴が現れにくいため、第１の音声認識処理では、「はい」という発話は認識されにくく、テキスト「はい」の意味に対応する音声候補のスコアは低くなる。
【０１３８】
次に、ＳＴＥＰ７で、辞書２０のうち｛Affirmation｝のデータを用いて第２の音声認識処理が実行される。このとき、辞書２０には語彙「はい」が登録されているので、発音データから語彙「はい」の意味に対応する音声候補が第２の音声候補群として高いスコアと共に得られる。
【０１３９】
次に、第３の重み係数γは０であるから、ＳＴＥＰ８の第３の音声認識処理は省略され、ＳＴＥＰ９に進む。
【０１４０】
次に、ＳＴＥＰ９で、第１，第２の音声候補群から、スコアと第１，第２の重み係数α，βとに基づいて、最終的な音声候補群が決定される。このとき、第２の音声候補群の語彙「はい」の意味に対応する音声候補のスコアが高く、且つ第２の重み係数βが比較的高いので、当該音声候補が最終的な音声候補群として得られる。
【０１４１】
次に、ＳＴＥＰ１０で、車両１０の状態が検出され、ＳＴＥＰ１１で、最終的な音声候補群と車両１０の状態とに基づいてシナリオが決定される。これにより、実行中の制御処理は「目的地設定」となり、具体的には、「ナビゲーションシステム６ｂの目的地設置機能で、ｍｍショップを設定する」「ナビゲーションシステム６ｂの経路誘導機能で、ｍｍショップに誘導する」等の制御処理がシナリオとして決定される。
【０１４２】
次に、ＳＴＥＰ１２で、機器制御の内容が特定されているので、判断結果はＹＥＳとなり、ＳＴＥＰ１５に進み、決定されたシナリオに基づいてナビゲーションシステム６ｂで目的地が設定され、経路誘導が開始される。これにより、運転者からの操作に応じた処理が完了して対話が終了するので、音声対話ユニット１の制御処理は、「目的地の設定及び経路誘導の開始を運転者に報知する」状態（状態４の「待機状態」）に遷移する。
【０１４３】
次に、ＳＴＥＰ１６に進み、対話終了と判断され、「目的地に設定しました。あと１０分です」という応答文の音声が合成され、スピーカ４から出力されて、音声対話処理が終了される。
【０１４４】
次に、図１２の対話例について説明する。図１２の対話例では、運転者の最初の発話「近くのコンビニ」から、音声対話ユニット１の２回目の応答「１キロ程先ですけどよろしいですか？」までは、図１１の対話例と同じである。
【０１４５】
図１２の対話例では、運転者からの１回目の発話「近くのコンビニ」は辞書２０と固有名詞辞書２１の全体のデータを用いて認識され、実行中の制御処理は「ＰＯＩ検索」となり、「ローストップとセブンマートの２つが近いです」という応答が出力される。運転者からの２回目の発話「ｍｍショップに行きたい」は、辞書２０と固有名詞辞書２１の「ＰＯＩ検索」に関連するカテゴリ｛Set destination｝｛ＰＯＩ検索｝｛コンビニ｝のデータを用いて認識され、２回目の応答「１キロ程先ですけどよろしいですか？」が出力される。
【０１４６】
しかし、図１２の対話例では、運転者から「天気は？」という３回目の発話が入力される。この３回目の発話は、２回目までの発話の話題（実行中の制御処理）「ＰＯＩ検索」とは関連がないものである。このとき、図１２の対話例では、３回目の発話「天気は？」は、２回目の発話と同様に、辞書２０と固有名詞辞書２１の「ＰＯＩ検索」に関連するカテゴリ｛Set destination｝｛ＰＯＩ検索｝｛コンビニ｝のデータを用いて認識される。そして、「天気は？」という入力音声に応じた語彙はこれらのデータには登録されていないので、認識結果が得られず、「認識できませんでした」という応答が出力され、音声対話処理が終了される。
【０１４７】
次に、図１３の対話例について説明する。図１３の対話例では、運転者の最初の発話「近くのコンビニ」から、音声対話ユニット１の２回目の応答「１キロ先ですけどよろしいですか？」までは、図１１の対話例と同様に音声対話処理が進む。そして、ＳＴＥＰ１に戻り、図１２の対話例と同様に、運転者から「天気は？」という３回目の発話が入力される。
【０１４８】
このとき、図１３の対話例では、ＳＴＥＰ２で、図１１の対話例と同様に、制御処理は「確認状態」と検知され、ＳＴＥＰ３で、第１の重み係数αは「低」に決定され、第２の重み係数βは「高」に決定され、第３の重み係数γは０に決定される。また、辞書２０のうち｛Affirmation｝のデータが有効にされる。
【０１４９】
次に、ＳＴＥＰ４で、入力された音声「天気は？」の特徴ベクトルから、発音データが音響スコアと共に決定される。
【０１５０】
次に、ＳＴＥＰ５で、言語モデル１６全体のデータを用いて第１の音声認識処理におけるテキスト変換処理が実行され、発音データから認識されたテキスト「天気  は」が得られる。次に、ＳＴＥＰ６で、認識されたテキスト「天気  は」について構文解析処理が実行され、当該テキストの意味に対応する音声候補が第１の音声候補群としてスコアと共に得られる。
【０１５１】
次に、ＳＴＥＰ７で、辞書２０のうち｛Affirmation｝のデータを用いて第２の音声認識処理が実行される。このとき、辞書２０のうち｛Affirmation｝のデータには「天気は」という語彙は登録されていないので、語彙「天気は」の意味に対応する音声候補は得られない。また、第３の重み係数γは０であるから、ＳＴＥＰ８の第３の音声認識処理は省略され、ＳＴＥＰ９に進む。
【０１５２】
次に、ＳＴＥＰ９で、第１，第２の音声候補群から、スコアと第１，第２の重み係数α，βとに基づいて、最終的な音声候補群が決定される。このとき、第２の音声認識処理からは音声候補が得られていないが、第１の音声候補群からテキスト「天気  は」の意味に対応する音声候補が最終的な音声候補群として得られる。このように、蓋然性の高い確認応答に対する返答以外の発話（蓋然性の低い発話）が入力されても、適切に認識することができる。
【０１５３】
次に、ＳＴＥＰ１０で、車両１０の状態が検出され、ＳＴＥＰ１１で、最終的な音声候補群と車両１０の状態とに基づいてシナリオが決定される。これにより、実行中の制御処理は「天気予報」となり、具体的には、「ナビゲーションシステム６ｂの天気予報機能で、車両１０の走行する地域の天気予報情報を取得する」「取得した結果を運転者に報知する」等の制御処理がシナリオとして決定される。
【０１５４】
次に、ＳＴＥＰ１２で、機器制御の内容が特定されているので、判断結果はＹＥＳとなり、ＳＴＥＰ１３に進み、決定されたシナリオに基づいてナビゲーションシステム６ｂで天気予報情報が取得される。
【０１５５】
これにより、運転者からの操作に応じた処理が完了して対話が終了するので、音声対話ユニット１の制御処理は、「取得した天気予報情報を運転者に報知する」状態（状態４の「待機状態」）に遷移する。
【０１５６】
次に、ＳＴＥＰ１６に進み、対話終了と判断され、「今日は午後から雨です」という応答文の音声が合成され、スピーカ４から出力されて、音声対話処理が終了される。
【０１５７】
以上の図１１〜図１３の対話例で示したように、上述の音声対話処理によれば、図１１の対話例のように同じ話題が継続される場合に、発話を精度良く認識できると共に、図１３の対話例のように対話中に話題が変換されても、発話を適切に認識できる。このように、本実施形態では、運転者との対話の遷移状態に適切に対応して発話を精度良く認識することが可能となり、効率の良い対話を介して機器の制御が行われる。
【０１５８】
なお、本実施形態においては、第３の音声認識手段３３を備えるものとしたが、第３の音声認識手段３３を備えず、第１，第２の音声認識手段３１，３２の処理結果のみを用いて最終的な認識手段を決定するものとしてもよい。また、第２の音声認識手段３２を備えず、第１，第３の音声認識手段３１，３３の処理結果のみを用いて最終的な認識手段を決定するものとしてもよい。
【０１５９】
また、本実施形態においては、第２の音声認識手段３２は一般的な単語が登録された辞書２０を用い、第３の音声認識手段３３は固有名詞等が登録された固有名詞辞書２１を用いるものとしたが、辞書に登録される語彙は任意に変更可能である。
【０１６０】
また、本実施形態においては、車両状態検出部３を備え、シナリオ制御部１３は、発話の認識結果（制御候補群）と検出した車両状態とに応じてシナリオを決定するものとしたが、車両状態検出部３を備えず、シナリオ制御部１３は発話の認識結果から特定される制御候補のみからシナリオを決定するものとしてもよい。
【０１６１】
また、本実施形態においては、音声入力する使用者は、車両１０の運転者としたが、運転者以外の乗員としてもよい。
【０１６２】
また、本実施形態においては、音声認識装置は、車両１０に搭載されるものとしたが、車両以外の移動体に搭載されるものとしてもよい。さらに、移動体に限らず、使用者が発話により対象を制御するシステムに適用可能である。
【図面の簡単な説明】
【０１６３】
【図１】本発明の実施形態である音声認識装置の機能ブロック図。
【図２】図１の音声認識装置の音声認識部の構成を示す説明図。
【図３】図１の音声認識装置の言語モデル、構文モデルの構成を示す説明図。
【図４】図１の音声認識装置の辞書、固有名詞辞書の構成を示す説明図。
【図５】図１の音声認識装置の全体的な作動（音声対話処理）を示すフローチャート。
【図６】図５の音声対話処理における第１〜第３の重み係数を決定する処理を示す説明図。
【図７】図５の音声対話処理における言語モデルを用いた第１の音声認識処理を示す説明図。
【図８】図５の音声対話処理における構文解析処理を示す説明図。
【図９】図５の音声対話処理におけるシナリオを決定する処理に用いるフォームを示す説明図。
【図１０】図５の音声対話処理におけるシナリオを決定する処理を示す説明図。
【図１１】図５の音声対話処理における対話例を示す図。
【図１２】図５の音声対話処理における他の対話例を示す図。
【図１３】図５の音声対話処理における他の対話例を示す図。
【符号の説明】
【０１６４】
１…音声対話ユニット、２…マイク、３…車両状態検出部、４…スピーカ、５…ディスプレイ、６ａ〜６ｃ…機器、１０…車両、１１…音声認識部、１３…シナリオ制御部、１４…音声合成部、１５…音響モデル、１６…言語モデル、１７…構文モデル、１８…シナリオデータベース、１９…音素モデル、２０…辞書、２１…固有名詞辞書、３１…第１の音声認識手段、３２…第２の音声認識手段、３３…第３の音声認識手段、３４…状態遷移検知手段、３５…重み決定手段、３６…認識結果決定手段、３７…テキスト変換手段、３８…構文解析手段。
【図１】
2008089625.tif 000003
【図２】
2008089625.tif 000004
【図３】
2008089625.tif 000005
【図４】
2008089625.tif 000006
【図５】
2008089625.tif 000007
【図６】
2008089625.tif 000008
【図７】
2008089625.tif 000009
【図８】
2008089625.tif 000010
【図９】
2008089625.tif 000011
【図１０】
2008089625.tif 000012
【図１１】
2008089625.tif 000013
【図１２】
2008089625.tif 000014
【図１３】
2008089625.tif 000015