(57)【要約】【課題】使用者の発話が曖昧な場合にも、使用者の発話を精度良く認識することができる音声認識装置、音声認識方法及び音声認識プログラムを提供する。【解決手段】音声認識装置１は、入力された音声についての認識結果に基づいて操作対象の操作内容を決定するため、音声についての認識結果を、予め定めた操作対象及び操作内容の種類に分類することにより、操作対象及び操作内容を特定する特定処理を行う操作特定手段３１と、音声についての認識結果から、操作特定手段３１で分類し得ない曖昧語を検出する曖昧語検出手段３２と、ここで検出された曖昧語により特定される可能性のある操作対象を操作対象候補として抽出する候補抽出手段３３とを備える。操作特定手段３１は、操作内容の特定は可能で操作対象の特定ができない場合、曖昧語検出手段３２で検出された曖昧語を候補抽出手段３３で抽出された候補に置換して、当該操作特定手段３１で上記特定処理を行う。【選択図】図１
2008076811.tif 000002
【特許請求の範囲】
【請求項１】
入力された音声についての認識結果に基づいて操作対象の操作内容を決定する音声認識装置において、
前記音声についての認識結果を、予め定めた操作対象及び操作内容の種類に分類することにより、操作対象及び操作内容を特定する特定処理を行う操作特定手段と、
前記音声についての認識結果から、前記操作特定手段で分類し得ない曖昧語を検出する曖昧語検出手段と、
前記曖昧語検出手段で検出された曖昧語により特定される可能性のある操作対象を操作対象候補として抽出する候補抽出手段とを備え、
前記操作特定手段は、操作内容の特定は可能で、操作対象の特定ができない場合、前記曖昧語検出手段で検出された曖昧語を前記候補抽出手段で抽出された候補に置換して、当該操作特定手段で前記特定処理を行うことを特徴とする音声認識装置。
【請求項２】
請求項１記載の音声認識装置において、
前記候補抽出手段は、前記操作特定手段で特定された操作内容に対して可能性のある操作対象を操作対象候補として抽出することを特徴とする音声認識装置。
【請求項３】
請求項１又は２記載の音声認識装置において、
前記操作特定手段で特定された操作対象及び操作内容がそれぞれ複数あるときに該複数の操作対象及び操作内容を報知する報知手段と、該複数の操作対象及び操作内容のうちそれぞれ１つを選択する選択手段とを備え、
前記操作特定手段は、前記選択手段で選択された操作対象及び操作内容を最終的に特定した操作対象及び操作内容とすることを特徴とする音声認識装置。
【請求項４】
請求項１又は２記載の音声認識装置において、
操作対象となる機器の状態を検知する機器状態検知手段を備え、
前記操作特定手段で特定された操作対象及び操作内容がそれぞれ複数あるときに、前記操作特定手段は、前記機器状態検知手段による検知結果に基づいて、該複数の操作対象及び操作内容のうちそれぞれ１つを特定することを特徴とする音声認識装置。
【請求項５】
請求項１又は２記載の音声認識装置において、
操作対象及び操作内容の履歴を保存する操作履歴記憶手段を備え、
前記操作特定手段で特定された操作対象及び操作内容がそれぞれ複数あるときに、前記操作特定手段は、前記操作履歴記憶手段に保存されている履歴に基づいて、該複数の操作対象及び操作内容のうちそれぞれ１つを特定することを特徴とする音声認識装置。
【請求項６】
入力された音声についての認識結果に基づいて操作対象の操作内容を決定する音声認識方法であって、
前記音声についての認識結果を、予め定めた操作対象及び操作内容の種類に分類することにより、操作対象及び操作内容を特定する特定ステップと、
前記特定ステップで操作内容は特定できたが、操作対象を特定できない場合に、前記音声についての認識結果から、該特定ステップで分類し得ない曖昧語を検出する曖昧語検出ステップと、
前記曖昧語検出ステップで検出された曖昧語により特定される可能性のある操作対象を操作対象候補として抽出する候補抽出ステップと、
前記検出ステップで検出された曖昧語を前記候補抽出ステップで抽出された候補に置換して、当該置換後の認識結果を、予め定めた操作対象及び操作内容の種類に分類することにより、操作対象及び操作内容を特定する第２の特定ステップとを備えることを特徴とする音声認識方法。
【請求項７】
入力された音声についての認識結果に基づいて操作対象の操作内容を決定する処理をコンピュータに実行させる音声認識プログラムであって、
前記音声についての認識結果を、予め定めた操作対象及び操作内容の種類に分類することにより、操作対象及び操作内容を特定する特定処理と、
前記音声についての認識結果から、前記特定処理で分類し得ない曖昧語を検出する検出処理と、
前記検出処理で検出された曖昧語により特定される可能性のある操作対象を操作対象候補として抽出する候補抽出処理とを備え、
前記特定処理で操作内容の特定は可能で、操作対象の特定ができない場合、前記検出処理で検出された曖昧語を前記抽出処理で抽出された候補に置換して前記特定処理を行う機能を前記コンピュータに実行させることを特徴とする音声認識プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、使用者により入力される音声を認識し、認識した結果に基づいて対象を制御するための情報を取得する音声認識装置、音声認識方法及び音声認識プログラムに関する。
【背景技術】
【０００２】
近年、機器の制御等の操作を行うシステムにおいて、使用者により入力される音声を認識して機器の操作等に必要な情報を取得する音声認識装置が用いられている。このような音声認識装置では、使用者により入力される音声（発話）を認識し、認識した結果に基づいて使用者に応答して次の発話を促すことで、使用者との対話が行われる。そして、使用者との対話を認識した結果から、機器の操作等を行うために必要な情報が取得される。このとき、例えば、認識対象であるコマンドが予め登録された音声認識辞書を用いて、入力された発話の特徴量と音声認識辞書に登録されたコマンドの特徴量とを比較することにより発話が認識される。
【０００３】
このような音声認識装置は、例えば車両に装備されて、車両に搭載されたオーディオ、ナビゲーション装置、エアコンディショナ等の複数の機器を使用者が操作するために使用される。例えば、オーディオ機器の音量を増減する機能を操作対象として操作する場合、使用者は、当該機能をどのように変化させるか（操作内容）を音声で指示するため、「アップ」又は「ダウン」という言葉（指示語）で操作内容を指示する。これは、ラジオの受信局を変更する機能を操作対象として操作する場合も同様であり、使用者は、「受信周波数」を増減させるため、「アップ」又は「ダウン」という指示語を発声することにより操作内容を指示する。
【０００４】
上記のように、同一の指示語によって操作を行う機能が複数存在するとき、そのような指示語のみの発声ではどの操作対象の機能かを識別できないので、操作対象の機能を表す言葉（機能語）と共に発声する必要がある。上記の例でいえば、増減という機能を指示する言葉（指示語）でも、操作対象となるオーディオ機器の音量を増減する操作とラジオの受信周波数を増減する操作とが存在するため、音量と受信周波数のいずれを増減させるかを明示することが必要である。すなわち、「音量」を増加させたいときは「音量アップ」、周波数を増加させたいときは「周波数アップ」という言葉を発する必要がある。また、エアコンの温度調節の際にも、設定温度を上下させるために「温度アップ」あるいは「温度ダウン」という言葉を発声する必要がある。
【０００５】
しかしながら、例えば車両搭載機器において「アップ」という言葉（指示語）が使われる場合、オーディオ機器が作動していれば「音量」増加、エアコンが作動していれば「温度」増加というように、作動中の機器の機能を指示することが一般的であり、また、特に他の機器が作動していないときには音量しかあり得ない。また、オーディオ機器とエアコンが共に作動しているときに連続して「アップ」という言葉が発せられた場合には、オーディオ機器の音量に対する指示である確率が高い。このような事情があるにも拘らず、常に機能語と指示語を一緒に発声しなければならないのは、使用者にとって煩わしく不便である。
【０００６】
この対策として、例えば音量を増加させる操作を行うときは「アップ」という指示語、周波数を増加させる操作については「上」という指示語を使用し、また、エアコンの設定温度を増加させたいときは「寒い」という言葉で指示するというように、各機能によって異なる指示語を使用するように予め設定しておくことも考えられる。しかしながら、各機能について設定量を増減させる機能が、実際上殆ど同じ操作指示で行われる場合においても、機能毎に異なる言葉（指示語）を用いるように定めることは、使用者にとって却ってわかりにくくなり、機器操作が面倒になってしまう。
【０００７】
そこで、下記特許文献１では、機器の機能の操作内容を示す特定の指示語が複数の機能に共通して用いられている場合であって、これらの機器が全て作動しているときであっても、指示語を発声しただけで利用者が希望する機能を推定して、所望の操作を行うことができるようにした音声認識機器操作装置が提案されている。
【０００８】
この音声認識機器操作装置は、音声認識部で認識された音声から、機器の機能を選択する機能語とその機能の操作を指示する指示語とを識別し、指示語単独の音声入力が行われたことを検出する識別部と、機器の機能とこれを操作する指示語を記録した操作指示データベースと、前記識別部で識別した指示語が複数の機能に共通の指示語であるか否かを前記操作指示データベースから検出する操作可能機能検出部と、前記指示語に対応して使用頻度を記録する使用頻度データベースと、前記操作可能機能検出部で複数の機能に共通の指示語であることが検出されたとき、前記使用頻度データベースから前記複数の機能のうち最も使用頻度の高い機能を検索する使用頻度検索部と、前記使用頻度検索部で検索された最も使用頻度の高い機能の機能語を、入力した指示語に付加し操作語として出力する操作語形成部と、機器に対する操作指示信号が出力されるとき、前記使用頻度データベースのデータを修正する使用頻度修正部とを備えたものである。
【０００９】
この装置によれば、利用者が希望する機能を使用頻度データによって推定することにより、使用者が特定の指示語を発声しただけで、その機能を指示する機能語と前記指示語を組み合わせて操作語として、機器の操作を行わせることができる。
【特許文献１】特開２００１−３４２９２号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかしながら、上記の音声認識機器操作装置は、要するに、複数の機能に共通して用いられる操作内容を指示する特定の言葉に対して、最も使用頻度の高い機能を対応させるものである。このため、使用者が特定の言葉を使用した言い回しの違いで別の操作を指示している場合には対応することができない。また、例えば、使用者が発する入力音声における操作対象を示す言葉が、「これ」「それ」「あれ」といった曖昧な言葉（曖昧語）であった場合に、言い回しの違いを考慮して当該曖昧語の示す内容を推定するものではない。よって、機能の推定が適切に行われず、機器の操作上使い勝手がよくないという問題がある。
【００１１】
本発明は、上記事情に鑑み、使用者の発話に操作対象が特定できないような曖昧語が含まれている場合にも対応可能で、使用者の発話に対して適切な操作を推定できる音声認識装置を提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明は、入力された音声についての認識結果に基づいて操作対象の操作内容を決定する音声認識装置において、前記音声についての認識結果を、予め定めた操作対象及び操作内容の種類に分類することにより、操作対象及び操作内容を特定する特定処理を行う操作特定手段と、前記音声についての認識結果から、前記操作特定手段で分類し得ない曖昧語を検出する曖昧語検出手段と、前記曖昧語検出手段で検出された曖昧語により特定される可能性のある操作対象を操作対象候補として抽出する候補抽出手段とを備え、前記操作特定手段は、操作内容の特定は可能で、操作対象の特定ができない場合、前記曖昧語検出手段で検出された曖昧語を前記候補抽出手段で抽出された候補に置換して当該操作特定手段で前記特定処理を行うことを特徴とする。
【００１３】
本発明によれば、例えば使用者から対象を操作するための発話が音声入力されて、当該音声が単語列で表現されるテキストとして認識される。ここで、「テキスト」とは、単語の列で表現された、所定の意味を有する有意構文である。そして、操作対象特定手段は、例えばこの音声についての認識結果に含まれる単語間の関係を解析することで、当該認識結果を操作対象及び操作内容の種類に分類することにより、操作対象及び操作内容を特定する。このとき、入力された音声が曖昧である場合には、操作内容は特定されるが、操作対象が特定されないことがある。例えば、入力音声における操作対象を示す単語又は単語列が、「これ」「それ」「あれ」といった一般的な指示語であったり、音声が不明瞭なために正しく認識されない等により、操作特定手段で分類し得ない曖昧語である場合である。このとき、本発明では、音声についての認識結果から曖昧語を検出し、当該曖昧語を操作対象候補に置換して操作特定手段で特定処理を行うことにより、発話に含まれる曖昧語の示す内容を適切に推定して操作対象及び操作内容を特定することができる。
【００１４】
したがって、本発明によれば、使用者の発話に操作対象が特定できないような曖昧語が含まれている場合にも対応可能で、操作対象を特定するための候補を抽出することで適切な操作を推定できる。
【００１５】
本発明の好ましい実施形態では、前記候補抽出手段は、前記操作特定手段で特定された操作内容に対して可能性のある操作対象を操作対象候補として抽出するものとする。
【００１６】
これにより、曖昧語に対して、特定された操作内容に応じた操作対象候補を効率良く抽出し、的確に操作対象を特定することができる。
【００１７】
別の実施形態は、前記操作特定手段で特定された操作対象及び操作内容がそれぞれ複数あるときに該複数の操作対象及び操作内容を報知する報知手段と、該複数の操作対象及び操作内容のうちそれぞれ１つを選択する選択手段とを備え、前記操作特定手段は、前記選択手段で選択された操作対象及び操作内容を最終的に特定した操作対象及び操作内容とする。
【００１８】
これにより、複数の操作対象について使用者に知らせて、所望のものを選択してもらうことができるので、操作対象を的確に特定することができる。
【００１９】
さらに別の実施形態は、操作対象となる機器の状態を検知する機器状態検知手段を備え、前記操作特定手段で特定された操作対象及び操作内容がそれぞれ複数あるときに、前記操作特定手段は、前記機器状態検知手段による検知結果に基づいて、該複数の操作対象及び操作内容のうちそれぞれ１つを特定することを特徴とする。
【００２０】
これにより、特定された操作対象及び操作内容がそれぞれ複数あっても、操作対象となる機器の状態から最も適切な操作対象及び操作内容を特定することができる。
【００２１】
さらに別の実施形態は、操作対象及び操作内容の履歴を保存する操作履歴記憶手段を備え、前記操作特定手段で特定された操作対象及び操作内容がそれぞれ複数あるときに、前記操作特定手段は、前記操作履歴記憶手段に保存されている履歴に基づいて、該複数の操作対象及び操作内容のうちそれぞれ１つを特定することを特徴とする。
【００２２】
これにより、特定された操作対象及び操作内容がそれぞれ複数あっても、それまでの操作履歴から最も適切な操作対象及び操作内容を特定することができる。
【００２３】
また、本発明によれば、入力された音声についての認識結果に基づいて操作対象の操作内容を決定する音声認識方法であって、前記音声についての認識結果を、予め定めた操作対象及び操作内容の種類に分類することにより、操作対象及び操作内容を特定する特定ステップと、前記特定ステップで操作内容は特定できたが、操作対象を特定できない場合に、前記音声についての認識結果から、該特定ステップで分類し得ない曖昧語を検出する曖昧語検出ステップと、前記曖昧語検出ステップで検出された曖昧語により特定される可能性のある操作対象を操作対象候補として抽出する候補抽出ステップと、前記検出ステップで検出された曖昧語を前記候補抽出ステップで抽出された候補に置換して、当該置換後の認識結果を、予め定めた操作対象及び操作内容の種類に分類することにより、操作対象及び操作内容を特定する第２の特定ステップとを備えることを特徴とする方法が提供される。
【００２４】
この音声認識方法によれば、本発明の音声認識装置に関して説明したように、使用者の発話に操作対象が特定できないような曖昧語が含まれている場合にも対応可能で、操作対象を特定するための候補を抽出することで適切な操作を推定できる。よって、この音声認識方法によれば、使用者の発話に操作対象が特定できないような曖昧語が含まれている場合にも対応可能で、操作対象を特定するための候補を抽出することで適切な操作を推定できる。
【００２５】
さらに、本発明によれば、入力された音声についての認識結果に基づいて操作対象の操作内容を決定する処理をコンピュータに実行させる音声認識プログラムであって、前記音声についての認識結果を、予め定めた操作対象及び操作内容の種類に分類することにより、操作対象及び操作内容を特定する特定処理と、前記音声についての認識結果から、前記特定処理で分類し得ない曖昧語を検出する検出処理と、前記検出処理で検出された曖昧語により特定される可能性のある操作対象を操作対象候補として抽出する候補抽出処理とを備え、前記特定処理で操作内容の特定は可能で、操作対象の特定ができない場合、前記検出処理で検出された曖昧語を前記抽出処理で抽出された候補に置換して前記特定処理を行う機能を前記コンピュータに実行させることを特徴とする音声認識プログラムが提供される。
【００２６】
この場合、本発明の音声認識装置に関して説明した効果を奏し得る処理をコンピュータに実行させることができる。
【発明を実施するための最良の形態】
【００２７】
図１に示すように、本発明の音声認識装置は音声対話ユニット１から成り、車両１０に搭載されている。この音声対話ユニット１には、車両１０の運転者から発話が入力されるマイク２が接続されると共に、車両１０の状態を検出する車両状態検出部３が接続されている。また、音声対話ユニット１には、運転者への応答を出力するスピーカ４と、運転者への表示を行うディスプレイ５とが接続されている。さらに、音声対話ユニット１には、運転者が音声等で操作可能な複数の機器６ａ〜６ｃが接続されている。
【００２８】
マイク２は、車両１０の運転者の音声が入力されるものであり、車内の所定位置に設置されている。マイク２は、例えば、トークスイッチにより音声の入力開始が指令されると、入力される音声を運転者の発話として取得する。トークスイッチは、車両１０の運転者により操作されるＯＮ・ＯＦＦスイッチであり、押下してＯＮ操作されることによって音声の入力開始が指令される。
【００２９】
車両状態検出部３は、車両１０の状態を検出するセンサ等である。車両１０の状態とは、例えば、車両１０の速度や加減速等の走行状態、車両１０の位置や走行道路等の走行環境情報、車両１０に装備された機器（ワイパー、ウィンカー、ナビゲーションシステム６ａ、オーディオ６ｂ等）の動作状態、或いは車両１０の車内温度等の車内の状態をいう。具体的には、例えば、車両１０の走行状態を検出するセンサとして、車両１０の走行速度（車速）を検出する車速センサ、車両１０のヨーレートを検出するヨーレートセンサ、車両１０のブレーキ操作（ブレーキペダルが操作されているか否か）を検出するブレーキセンサ等が挙げられる。さらに、車両１０の状態として、車両１０の運転者の状態（運転者の手掌部の発汗、運転負荷等）を検出してもよい。
【００３０】
スピーカ４は、車両１０の運転者への応答（音声ガイド）を出力するものである。なお、このスピーカ４としては、後述のオーディオ６ａが有するスピーカを用いることができる。
【００３１】
ディスプレイ５は、例えば、車両１０のフロントウィンドウに画像等の情報を表示するＨＵＤ（ヘッドアップディスプレイ）、車両１０の車速などの走行状態を表示するメータに一体的に設けられたディスプレイ、或いは後述のナビゲーションシステム６ｂに備えられたディスプレイ等である。なお、ナビゲーションシステム６ｂのディスプレイは、タッチスイッチが組み込まれたタッチパネル２４となっている。
【００３２】
機器６ａ〜６ｃは、具体的には、車両１０に装備されたオーディオ６ａ、ナビゲーションシステム６ｂ、エアコンディショナ６ｃである。各機器６ａ〜６ｃには、制御可能な構成要素（デバイス，コンテンツ等）、機能、動作等が予め定められている。
【００３３】
例えば、オーディオ６ａには、デバイスとして「ＣＤ」「ＭＰ３」「ラジオ」「スピーカ」等がある。また、オーディオ６ａの機能として「音量」等がある。また、オーディオ６ａの動作として「変更」「オン」「オフ」等がある。さらに、「ＣＤ」「ＭＰ３」の動作として、「再生」「停止」等がある。また、「ラジオ」の機能として「選局」等がある。また、「音量」の動作として「上げる」「下げる」等がある。
【００３４】
また、例えば、ナビゲーションシステム６ｂには、コンテンツとして「画面表示」「経路誘導」「ＰＯＩ検索」等がある。さらに、「画面表示」の動作として「変更」「拡大」「縮小」等がある。なお、「経路誘導」は音声ガイド等により目的地へ誘導する機能であり、「ＰＯＩ検索」は、例えばレストラン、ホテル等の目的地を検索する機能である。
【００３５】
また、例えば、エアコンディショナ６ｃには、その機能として「風量」「設定温度」等がある。また、エアコンディショナ６ｃの動作として「オン」「オフ」等がある。さらに、「風量」「設定温度」の動作として「変更」「上げる」「下げる」等がある。
【００３６】
これらの機器６ａ〜６ｃは、対象を制御するための情報（機器や機能の種別、動作の内容等）を指定することにより制御される。操作対象となる各機器６ａ〜６ｃのデバイス、コンテンツ、機能は複数のドメインに分類されている。「ドメイン」とは認識対象のカテゴリに応じた分類を意味し、具体的には、操作対象である機器や機能を表す。ドメインは、例えば「オーディオ」のドメインが、その下位で「ＣＤ」「ラジオ」のドメインに分類されるといったように、階層的に指定することができる。
【００３７】
音声対話ユニット１は、詳細の図示は省略するが、Ａ／Ｄ変換回路、マイクロコンピュータ（ＣＰＵ、ＲＡＭ、ＲＯＭ）等を含む電子回路により構成され、マイク２の出力（アナログ信号）がＡ／Ｄ変換回路を介してデジタル信号に変換されて入力される。そして、音声対話ユニット１は、入力されたデータに基づいて、運転者から入力された発話を認識する処理や、その認識結果に基づいて、スピーカ４やディスプレイ５を介して運転者との対話や運転者への情報提示を行う処理や、機器６ａ〜６ｃを制御する処理等を実行する。これらの処理は、音声対話ユニット１のメモリに予め実装されたプログラムを音声対話ユニット１により実行することにより実現される。このプログラムは、本発明の音声認識プログラムを含んでいる。なお、当該プログラムはＣＤ−ＲＯＭ等の記録媒体を介してメモリに格納されてもよく、外部のサーバからネットワークや人工衛星を介して配信または放送され、車両１０に搭載された通信機器により受信された上でメモリに格納されてもよい。
【００３８】
より詳しくは、音声対話ユニット１は、上記プログラムにより実現される機能として、入力された音声を音響モデル１５と言語モデル１６とを用いて認識してテキストとして出力する音声認識部１１と、認識されたテキストから構文モデル１７を用いて発話の意味を理解する構文解析部１２とを備えている。また、音声対話ユニット１は、発話の認識結果から特定される操作候補に基づいてシナリオデータベース１８を用いてシナリオを決定し、運転者への応答や機器の制御等を行うシナリオ制御部１３と、運転者に出力する音声による応答を音素モデル２１を用いて合成する音声合成部１４とを備えている。なお、「操作候補」は、発話の認識結果に基づいて特定される操作対象や操作内容の候補に相当する。
【００３９】
さらに詳細には、構文解析部１２は、その機能として、認識されたテキストから操作対象及び操作内容を特定する特定処理（後述の「構文解析処理」）を行う操作特定手段３１と、操作特定手段３１により分類し得ない曖昧語を検出する曖昧語検出手段３２と、曖昧語検出手段３２で検出された曖昧語により特定される可能性のある操作対象を、変換候補データベース３４を用いて操作対象候補として抽出する候補抽出手段３３とを備えている。
【００４０】
さらに、操作特定手段３１は、タッチパネル２４を介して、特定処理により特定された操作候補群に含まれる複数の操作候補を、運転者に選択を促すように表示すると共に、スピーカ４を介して、運転者に選択を促すような音声ガイドを出力する。そして、操作特定手段３１は、運転者からのタッチパネル２４へのタッチ操作に基づいて、最終的な操作候補を特定する。なお、シナリオ制御部１３、音声合成部１４が、本発明の報知手段を構成する。また、シナリオ制御部１３が、本発明の選択手段を構成する。
【００４１】
なお、音響モデル１５、言語モデル１６、構文モデル１７、シナリオデータベース１８、音素モデル１９は、変換候補データベース３４は、それぞれ、データが記録されているＣＤ−ＲＯＭ、ＤＶＤ、ＨＤＤ等の記録媒体（データベース）である。
【００４２】
また、図１で破線で示した操作履歴格納部３５は、後述の第３実施形態のみに備えられる構成であるので、ここでは説明を省略する。
【００４３】
音声認識部１１は、マイク２に入力された発話の音声を示す波形データを周波数分析して特徴ベクトルを抽出する。そして、音声認識部１１は、抽出された特徴ベクトルに基づいて、入力された音声を認識して、単語列で表現されたテキストとして出力する「音声認識処理」を実行する。この音声認識処理は、次に説明するような確率統計的な手法を用いて、入力音声の音響的な特徴と言語的な特徴とを総合的に判断することにより実行される。
【００４４】
すなわち、音声認識部１１は、まず、音響モデル１５を用いて、抽出された特徴ベクトルに応じた発音データの尤度（以下、この尤度を適宜「音響スコア」という。）を評価し、当該音響スコアに基づいて発音データを決定する。また、音声認識部１１は、言語モデル１６を用いて、決定された発音データに応じた単語列で表現されたテキストの尤度（以下、この尤度を適宜「言語スコア」という。）を評価し、当該言語スコアに基づいてテキストを決定する。さらに、音声認識部１１は、決定された全てのテキストについて、当該テキストの音響スコアと言語スコアとに基づいて音声認識の確信度（以下、この確信度を適宜「音声認識スコア」という。）を算出する。そして、音声認識部１１は、この音声認識スコアが所定の条件を満たす単語列で表現されたテキストを、認識されたテキスト（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｝は、操作対象が不明であることを示している。
【００５６】
また、変換候補データベース３４には、曖昧語とクラス分類されたテキストとに応じた１又は複数の操作対象候補が、データとして予め記録されている。ここで、曖昧語は、「これ」「それ」「あれ」といった一般的な指示語である。例えば、図３に示すように、曖昧語が「それ」であり、クラス分類されたテキストが｛Ambiguous_Setting_Up｝である場合には、操作対象候補は「曲」「局」「ディスク」「ボリューム」「温度」「ファン」「スクロール」「スケール」の７つとなる。また、例えば、曖昧語が「それ」であり、クラス分類されたテキストが｛Ambiguous_Setting_Max｝である場合には、変換候補は「ボリューム」「温度」「ファン」「縮尺」の４つとなる。なお、「ボリューム」は操作対象がオーディオ６ａの音量であることを示す。また、「ファン」は操作対象がエアコンディショナ６ｃのファンのスピード（風量）であることを示す。
【００５７】
次に、本実施形態の音声認識装置の作動（音声対話処理）について説明する。図４に示すように、まず、ＳＴＥＰ１で、車両１０の運転者から、対象を制御するための発話がマイク２に入力される。具体的には、運転者がトークスイッチをＯＮ操作して発話の入力開始を指令し、マイク２に音声を入力する。
【００５８】
次に、ＳＴＥＰ２で、音声対話ユニット１は、入力された音声を認識してテキストとして出力する音声認識処理を実行する。
【００５９】
まず、音声対話ユニット１は、マイク２に入力された音声をＡ／Ｄ変換して音声を示す波形データを取得する。次に、音声対話ユニット１は、音声を示す波形データを周波数分析して特徴ベクトルを抽出する。これにより、音声を示す波形データは、例えば短時間スペクトル分析の手法によってフィルタ処理を施され、特徴ベクトルの時系列に変換される。この特徴ベクトルは、各時刻における音声スペクトルの特微量を抽出したもので、一般に１０次元〜１００次元（例えば３９次元）であり、ＬＰＣメルケプストラム（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｝が、その構文解析スコアと共に出力される。
【００７７】
次に、ＳＴＥＰ４で、音声対話ユニット１は、操作候補から操作内容が特定されないか否かを判断する。具体的には、音声対話ユニット１は、ＳＴＥＰ３の構文解析処理の結果として得られたクラス分類されたテキストに、先頭部分のドメインの種類以外のクラスが含まれているか否かを判断する。ＳＴＥＰ４の判断結果がＹＥＳの場合（操作内容が特定されない場合）には、ＳＴＥＰ１０に進み、ＳＴＥＰ３の構文解析処理の結果がそのまま操作候補群として出力される。
【００７８】
ＳＴＥＰ４の判断結果がＮＯ（操作内容が特定されている）の場合には、ＳＴＥＰ５に進み、音声対話ユニット１は、操作候補から操作対象が特定されないか否かを判断する。具体的には、音声対話ユニット１は、ＳＴＥＰ３の構文解析処理の結果として得られたクラス分類されたテキストのドメインの種類が｛Ambiguous｝であるか否かを判断する。ＳＴＥＰ５の判断結果がＮＯの場合（ドメインの種類が｛Ambiguous｝でない、すなわち操作対象が特定されている）には、ＳＴＥＰ１０に進み、ＳＴＥＰ３の構文解析処理の結果がそのまま操作候補群として出力される。
【００７９】
ＳＴＥＰ５の判断結果がＹＥＳの場合（ドメインの種類が｛Ambiguous｝である、すなわち操作対象が特定されない）には、ＳＴＥＰ６に進み、音声対話ユニット１は、ＳＴＥＰ２で認識されたテキストに曖昧語が含まれているか否かを判断する。具体的には、「これ」「それ」「あれ」といった一般的な指示語が含まれているか否かが判断される。ＳＴＥＰ６の判断結果がＮＯの場合（曖昧語が含まれていない）には、ＳＴＥＰ１０に進み、ＳＴＥＰ３の構文解析処理の結果がそのまま操作候補群として出力される。これらのＳＴＥＰ３〜５の判断処理により、認識されたテキストに含まれる曖昧語が検出される。
【００８０】
ＳＴＥＰ６の判断結果がＹＥＳの場合（曖昧語が含まれている）には、ＳＴＥＰ７に進み、音声対話ユニット１は、認識されたテキストに含まれる曖昧語を、操作対象候補を示す直接語に置換する処理を実行する。まず、音声対話ユニット１は、変換候補データベース３４から、曖昧語とクラス分類されたテキストとに基づいて、操作対象候補を読み込む。そして、音声対話ユニット１は、認識されたテキストのうちの曖昧語の部分を、読み込まれた操作対象候補に置換する。
【００８１】
次に、ＳＴＥＰ８で、音声対話ユニット１は、置換後の各テキストについて、それぞれ、ＳＴＥＰ３と同様に、構文解析処理を実行する。これにより、置換後の各テキストについて、クラス分類されたテキストが、当該クラス分類されたテキストの構文解析スコアと共に決定される。この構文解析スコアは、置換後のテキストの妥当性を示す。
【００８２】
次に、ＳＴＥＰ９で、音声対話ユニット１は、ＳＴＥＰ８で得られたクラス分類されたテキストのうち、構文解析スコアが所定の条件を満たすようなクラス分類されたテキスト（Categorized Text）を、入力された発話の認識結果に基づいて特定される操作候補として、その操作候補の確信度（構文解析スコア）と共に出力する。所定の条件は、例えば、構文解析スコアが最も高いテキスト、構文解析スコアが上位から所定順位までのテキスト、或いは構文解析スコアが所定値以上のテキスト等のように予め定められている。これにより、操作候補群に使用者の発話に該当する操作候補を高い確率で含めることができる。
【００８３】
ここで、図７に示す例を用いて、ＳＴＥＰ４〜９の処理について説明する。図７の例は、図７（ａ）に示すように、「それ強くして」という発話がＳＴＥＰ１で運転者から入力された場合である。この場合、図７（ｂ）に示すように、ＳＴＥＰ２の音声認識処理により認識されたテキストは「それ  強くして」となり、図７（ｃ）に示すように、ＳＴＥＰ３の構文解析処理の結果として、クラス分類されたテキスト｛Ambiguous_Setting_Up｝が得られる。
【００８４】
このとき、｛Ambiguous_Setting_Up｝には、先頭部分のドメインの種類以外のクラス｛Setting_Up｝が含まれており、制御内容は特定されているので、ＳＴＥＰ４の判断結果はＮＯとなり、ＳＴＥＰ５に進む。次に、｛Ambiguous_Setting_Up｝のドメインの種類は｛Ambiguous｝で、操作対象が特定されないので、ＳＴＥＰ５の判断結果はＹＥＳとなり、ＳＴＥＰ６に進む。そして、テキスト「それ  強くして」には「それ」という曖昧語が含まれているので、ＳＴＥＰ６の判断結果はＮＯとなる。これにより、認識されたテキストに含まれる「それ」という単語が曖昧語として検出される。
【００８５】
次に、ＳＴＥＰ７で、図３に示すような変換候補データベース３４から、曖昧語「それ」とクラス分類されたテキスト｛Ambiguous_Setting_Up｝に基づいて、変換候補として「曲」「局」「ディスク」「ボリューム」「温度」「ファン」「スクロール」「スケール」が読み込まれる。そして、テキスト「それ  強くして」に含まれる曖昧語がこれらの変換候補で置換される。この置換処理の結果として、図７（ｄ）に示すように、置換後テキストＡ１〜Ａ７として、「曲  強くして」「ボリューム  強くして」「ファン  強くして」「スケール  強くして」等が得られる。
【００８６】
次に、ＳＴＥＰ８で、置換後テキストＡ１〜Ａ７について、構文解析処理が実行され、図７（ｄ）の表に示すように、クラス分類されたテキストＢ１〜Ｂ７として、｛Audio_CD_NextTrack｝等が当該テキストＢ１〜Ｂ７の構文解析スコアＳｃ（Ｂ１）〜Ｓｃ（Ｂ７）と共に得られる。
【００８７】
次に、ＳＴＥＰ９で、構文解析スコアＳｃ（Ｂ１）〜Ｓｃ（Ｂ７）に基づいて、置換後テキストＡ１〜Ａ７の妥当性が評価され、操作候補が特定されて出力される。例えば、「曲強くして」「スケール強くして」のようなテキストは、単語のつながりとして不自然であるため、図７（ｄ）に示すように構文解析スコアが低くなる。一方、例えば、「ボリューム強くして」「ファン強くして」のようなテキストは、単語のつながりが比較的妥当であるので、図７（ｄ）に示すように構文解析スコアが高くなる。よって、例えば所定閾値を０．２とすると、構文解析処理の結果のうち、これらの構文解析スコアの低い結果は、操作候補に含まれないこととなる。これにより、操作候補群として、図７（ｅ）に示すように第１操作候補Ｌ１｛Audio_Volume_Up｝及び第２操作候補Ｌ２｛Climate_Fan_Up｝が出力される。
【００８８】
図４に戻り、次に、ＳＴＥＰ１１で、音声対話ユニット１は、車両状態検出部３により検出される、車両１０の状態（車両１０の走行状態、車両１０に搭載された機器の状態、車両１０の運転者の状態等）の検出値を取得する。
【００８９】
次に、ＳＴＥＰ１１で、音声対話ユニット１は、ＳＴＥＰ９，１０で出力された操作候補群から、最終的な操作候補を特定する処理を実行する。具体的には、音声対話ユニット１は、ＳＴＥＰ９，１０で得られた１又は複数の操作候補を、運転者に選択を促すようにタッチパネル２４に画面表示する。これと共に、音声対話ユニット１は、運転者に操作候補の選択を促す音声ガイドを、音声合成部１４で合成してスピーカ４から出力する。
【００９０】
例えば、上述の図７の例では、図８に示すように、第１操作候補Ｌ１に対応した「ボリュームを上げる」という表示及び第２操作候補Ｌ２に対応した「エアコンの風量を上げる」とう表示がタッチパネル２４に表示され、且つ、第１，第２操作候補Ｌ１，の当否確認を運転者に促す音声がスピーカから出力される。これにより、第１操作候補Ｌ１及び第２操作候補Ｌ２が同時または逐次的にタッチパネル２４に表示される。例えば、図８（ａ）に示すように、第１操作候補Ｌ１である「ボリュームを上げる」及び第２操作候補Ｌ２である「エアコンの風量を上げる」が同時にタッチパネル２４に表示される。また、図８（ｂ）に示すように、まず第１操作候補Ｌ１である「ボリュームを上げる」がタッチパネル２４に表示され、タッチパネル２４に表示された次ボタンのタッチ操作に応じて図８（ｃ）に示されているように第２操作候補Ｌ２である「エアコンの風量を上げる」がタッチパネル２４に表示される。
【００９１】
このとき、ＳＴＥＰ４〜９において曖昧語を置換したテキストに対して構文解析処理を行い、発話の意味をより明確に把握して操作候補が特定されているので、タッチパネル２４に画面表示される操作候補に運転者の発話に該当する操作候補を高い確率で含ませることができ、運転者は発話の意図に沿った操作候補を選択可能となる。
【００９２】
次に、音声対話ユニット１は、運転者からのタッチパネル２４へのタッチ操作に基づいて、最終的な操作候補を特定する。例えば、運転者により、タッチパネル２４に表示された複数の操作候補Ｌ１，Ｌ２のうち１つを選択するタッチ入力がなされる。そして、音声対話ユニット１は、このタッチ入力により選択された操作候補を最終的な操作候補として特定する。これにより、運転者の発話に合致した操作候補が最終的な操作候補として特定される。
【００９３】
次に、ＳＴＥＰ１３で、音声対話ユニット１は、ＳＴＥＰ１２で特定された操作候補と、ＳＴＥＰ１１で検出された車両１０の状態とに基づいて、シナリオデータベース１８を用いて、運転者に対する応答出力や機器制御のためのシナリオを決定する。
【００９４】
まず、音声対話ユニット１は、特定された操作候補から、対象を制御するための情報を取得する。図９に示すように、音声対話ユニット１には、対象を制御するための情報を格納する複数のフォームが備えられている。各フォームには、必要な情報のクラスに対応した所定数のスロットが設けられている。例えば、ナビゲーションシステム６ｂを制御するための情報を格納するフォームとして、「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>設定します」が選択され、「千歳空港を高速優先設定します」という応答文の内容が決定される。
【００９９】
また、例えば、選択されたフォーム内の全てのスロットが全て埋まっている（値が入力されている）場合には、内容を確認するような応答文（例えば各スロットの入力値を運転者に報知する応答文）を出力するシナリオが決定される。
【０１００】
次に、ＳＴＥＰ１４で、音声対話ユニット１は、決定したシナリオに基づいて、運転者との対話が終了したか否かを判断する。ＳＴＥＰ１４の判断結果がＮＯの場合には、ＳＴＥＰ１５に進み、音声対話ユニット１は、決定された応答文の内容や応答文を出力する際の条件に応じて音声を合成する。そして、ＳＴＥＰ１６で、生成された応答文（運転者の次回の発話を促す応答文等）が、スピーカ４から出力される。
【０１０１】
次に、ＳＴＥＰ１に戻り、２回目の発話が運転者から入力される。次に、ＳＴＥＰ２〜１３で、音声対話ユニット１は、１回目の発話と同様に、２回目の発話に対して処理を実行する。このとき、ＳＴＥＰ２で、音声対話ユニット１は、例えば、運転者からの前回の発話の認識結果に基づいてドメインの種類が決定される場合には、言語モデル１６のうちの、この決定された種類のドメインに分類された部分のデータのみを用いてテキストを決定する処理を行うようにしてもよい。次に、ＳＴＥＰ１４で、音声対話ユニット１は、運転者との対話が終了したか否かを判断する。ＳＴＥＰ１４の判断結果がＮＯの場合には、１回目の発話と同様に、音声対話ユニット１は、ＳＴＥＰ１５〜１６の処理を実行する。
【０１０２】
以下、ＳＴＥＰ１４の判断結果がＹＥＳとなるまで、上述の２回目の発話に対するＳＴＥＰ１〜１６と同様の処理が繰り返される。
【０１０３】
ＳＴＥＰ１４の判断結果がＹＥＳの場合には、ＳＴＥＰ１７に進み、音声対話ユニット１は、決定された応答文（機器制御の内容を報知する応答文等）の音声を合成する。次に、ＳＴＥＰ１８で、応答文がスピーカ４から出力される。次に、ＳＴＥＰ１９で、音声対話ユニット１は、決定されたシナリオに基づいて機器を制御して、音声対話処理を終了する。
【０１０４】
以上の処理により、発話に含まれる曖昧語の示す内容が適切に推定されて運転者の意図がより明確に把握されるので、効率の良い対話を介して機器の制御が行われる。
【０１０５】
なお、本実施形態では、ＳＴＥＰ１２の最終的な操作候補を特定する処理において、運転者からのタッチパネル２４へのタッチ入力により、操作候補の選択や表示する操作候補の変更が行われるものとしたが、操作候補の選択等を、例えば、運転者による音声入力（いずれかの操作候補を選択する発話や「次」という発話等）により行うことも可能である。さらに、入力インタフェース（キーボード、ボタン、スイッチ、マルチジョグダイヤル等）を備え、操作候補の選択等を、当該入力インタフェースへの入力により行うことも可能である。また、これらの場合、操作候補の表示は、ディスプレイ５のうちタッチパネル２４以外で行ってもよい。
［第２実施形態］
次に、本発明の第２実施形態の音声認識装置について説明する。なお、本実施形態は、第１実施形態と、音声対話処理のＳＴＥＰ１２における最終的な操作候補を特定する処理のみが相違する。本実施形態の構成は、第１実施形態と同様であるので、同一の構成には同一の参照符号を付して、以下では説明を省略する。
【０１０６】
本実施形態の音声認識装置では、操作特定手段３１は、特定された操作候補群から、車両状態検出部３により検出される、車両１０に搭載された各機器６ａ〜６ｃの状態に基づいて最終的な操作候補を特定する。他の構成は第１実施形態と同じである。なお、車両状態検出部３は、本発明の機器状態検知部に相当する。
【０１０７】
本実施形態の音声認識装置の作動（音声対話処理）では、ＳＴＥＰ１２で、まず、音声対話ユニット１は、車両状態検出部３の検出結果から、複数の機器６ａ〜６ｃのうちの、ＳＴＥＰ９，１０の処理から得られた操作候補群に関連する機器の状態を取得する。そして、当該機器の状態に基づいて、当該操作候補群から、運転者の意図に該当する可能性がより高い操作候補を決定する。
【０１０８】
ここで、上述の図７に示すように第１，第２操作候補Ｌ１，Ｌ２が得られた場合を例にして説明する。このとき、操作候補群に関連する機器は、オーディオ６ａとエアコンディショナ６ｃとなり、オーディオ６ａの音量、エアコンディショナ６ｃの風量が取得される。そして、オーディオ６ａの音量が最大値であり、エアコンディショナ６ｃの風量が３で、風量の最大値が５となっている。この場合、音量を現在の状態よりも上げることはできないので、エアコンディショナ６ｃの操作であると推定される。よって、最終的な操作候補として｛Climate_Fan_Up｝が決定される。他の動作は第１実施形態と同じである。
【０１０９】
本実施形態の音声認識装置によれば、第１実施形態と同様に、発話に含まれる曖昧語の示す内容が適切に推定されて運転者の意図がより明確に把握されるので、効率の良い対話を介して機器の制御が行われる。
［第３実施形態］
次に、本発明の第３実施形態の音声認識装置について説明する。なお、本実施形態は、第１実施形態と、音声対話処理のＳＴＥＰ１２における最終的な操作候補を特定する処理のみが相違する。本実施形態の構成は、第１実施形態と同様であるので、同一の構成には同一の参照符号を付して、以下では説明を省略する。
【０１１０】
本実施形態の音声認識装置には、操作対象や操作内容の履歴（操作履歴）を格納する操作履歴格納部（操作履歴記憶手段）３５が備えられている。操作履歴格納部３５には、データとして、運転者による機器６ａ〜６ｃの操作内容が、当該操作の日時と共に格納されている。さらに、これらのデータに基づいて、運転者による機器６ａ〜６ｃの使用頻度、使用回数等が把握される。
【０１１１】
そして、操作特定手段３１は、特定された操作候補群から、操作履歴格納部３５に格納された運転者による機器６ａ〜６ｃの操作履歴に基づいて、最終的な操作候補を特定する。具体的には、例えば、運転者が直前に行った操作（１つ前の操作）や、当該操作の直前に行った操作（２つ前にした操作）等に基づいて、操作候補を特定する。他の構成は第１実施形態と同じである。
【０１１２】
本実施形態の音声認識装置の作動（音声対話処理）では、ＳＴＥＰ１２で、まず、音声対話ユニット１は、操作履歴格納部３４から、運転者の操作履歴を読み込む。そして、当該操作履歴に基づいて、ＳＴＥＰ９，１０から得られた１又は複数の操作候補から、運転者の意図に該当する可能性がより高い操作候補を特定する。
【０１１３】
ここで、上述の図７に示すように第１，第２操作候補Ｌ１，Ｌ２が得られた場合を例にして説明する。このとき、操作履歴格納部３４から、１つ前の操作が、エアコンディショナ６ｃの温度設定を下げる操作であり、２つ前の操作が、エアコンディショナ６ｃをＯＮにする操作であることが読み込まれる。そして、エアコンディショナ６ｃに対する操作が連続していることから、今回の発話の意図する操作も、エアコンディショナ６ｃに対する操作の可能性が高いと推定される。よって、最終的な操作候補として｛Climate_Fan_Up｝が特定される。他の動作は第１実施形態と同じである。
【０１１４】
本実施形態の音声認識装置によれば、第１実施形態と同様に、発話に含まれる曖昧語の示す内容が適切に推定されて運転者の意図がより明確に把握されるので、効率の良い対話を介して機器の制御が行われる。
【０１１５】
なお、音声対話処理のＳＴＥＰ１２における最終的な操作候補を特定する処理について、第１〜第３実施形態における処理のうち２つ、又は３つ全てを組み合わせて用いることも可能である。例えば、ＳＴＥＰ９，１０から得られる操作候補群から、機器の状態及び操作履歴に基づいて可能性の高い１又は複数の操作候補を決定する。そして、さらに、当該決定された操作候補をタッチパネル２４を介して表示し、運転者からのタッチ入力に基づいて最終的な操作候補を特定する。
【０１１６】
また、第１〜第３実施形態において、シナリオ制御部１３は、発話の認識結果から特定される操作候補と車両状態検出部３により検出した車両状態とに基づいてシナリオを決定するものとしたが、シナリオ制御部１３は、発話の認識結果から特定される操作候補のみから制御処理を決定するものとしてもよい。
【０１１７】
また、第１〜第３実施形態においては、音声入力する使用者は、車両１０の運転者としたが、運転者以外の乗員としてもよい。
【０１１８】
また、第１〜第３実施形態においては、音声認識装置は、車両１０に搭載されるものとしたが、車両以外の移動体に搭載されるものとしてもよい。さらに、移動体に限らず、使用者が発話により対象を制御するシステムに適用可能である。
【図面の簡単な説明】
【０１１９】
【図１】本発明の第１実施形態である音声認識装置の機能ブロック図。
【図２】図１の音声認識装置の言語モデル、構文モデルの構成を示す説明図。
【図３】図１の音声認識装置における変換候補データベースの構成を示す説明図。
【図４】図１の音声認識装置の全体的な作動（音声対話処理）を示すフローチャート。
【図５】図４の音声対話処理における言語モデルを用いた音声認識処理を示す説明図。
【図６】図４の音声対話処理における構文モデルを用いた構文解析処理を示す説明図。
【図７】図４の音声対話処理における曖昧語を置換して操作候補を特定する処理を示す説明図。
【図８】図４の音声対話処理における最終的な操作候補を特定する処理を示す説明図。
【図９】図４の音声対話処理におけるシナリオを決定する処理に用いるフォームを示す説明図。
【図１０】図４の音声対話処理におけるシナリオを決定する処理を示す説明図。
【符号の説明】
【０１２０】
１…音声対話ユニット、２…マイク、３…車両状態検出部、４…スピーカ、５…ディスプレイ、６ａ〜６ｃ…機器、１０…車両、１１…音声認識部、１２…構文解析部、１３…シナリオ制御部、１４…音声合成部、１５…音響モデル、１６…言語モデル、１７…構文モデル、１８…シナリオデータベース、１９…音素モデル、２４…タッチパネル、３１…操作特定手段、３２…曖昧語検出手段、３３…候補抽出手段、３４…変換候補データベース、３５…操作履歴格納部。
【図１】
2008076811.tif 000003
【図２】
2008076811.tif 000004
【図３】
2008076811.tif 000005
【図４】
2008076811.tif 000006
【図５】
2008076811.tif 000007
【図６】
2008076811.tif 000008
【図７】
2008076811.tif 000009
【図８】
2008076811.tif 000010
【図９】
2008076811.tif 000011
【図１０】
2008076811.tif 000012