(57)【要約】【課題】使用者から入力された音声に基づいて認識対象を適切に限定して、該入力された音声を精度良く認識することができる音声認識装置、音声認識方法、及び音声認識プログラムを提供する。【解決手段】音声認識装置１は、入力された音声に対して算出される音響スコアと言語スコアとに、第１の比率の重み付けをし、得られた各スコアを用いて該音声を認識する処理を実行し、該処理の結果に基づいて制御対象を表すドメインの種類を決定する第１の音声認識手段１１，１２と、決定された種類のドメインを認識対象として、入力された音声に対して算出される音響スコアと言語スコアとに、音響スコアに対する重み付けが第１の比率よりも大きい第２の比率で重み付けをし、得られた各スコアを用いて該音声を認識する処理を実行し、該処理の結果に基づいて該制御対象の制御内容を決定する第２の音声認識手段１１，１２とを備える。【選択図】図１
2008070805.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｝は、制御対象が不明であることを示している。
【００４９】
次に、本実施形態の音声認識装置の作動（音声対話処理）について説明する。図３に示すように、まず、ＳＴＥＰ１で、車両１０の運転者から、対象を制御するための発話がマイク２に入力される。具体的には、運転者がトークスイッチをＯＮ操作して発話の入力開始を指令し、マイク２に音声を入力する。
【００５０】
次に、ＳＴＥＰ２で、音声対話ユニット１は、入力された音声を認識してテキストとして出力する音声認識処理（当該処理を「１回目の音声認識処理」とする）を実行する。なお、この１回目の音声認識処理は、本発明の第１の音声認識手段の処理を構成する。
【００５１】
まず、音声対話ユニット１は、マイク２に入力された音声をＡ／Ｄ変換して音声を示す波形データを取得する。次に、音声対話ユニット１は、音声を示す波形データを周波数分析して特徴ベクトルを抽出する。これにより、音声を示す波形データは、例えば短時間スペクトル分析の手法によってフィルタ処理を施され、特徴ベクトルの時系列に変換される。この特徴ベクトルは、各時刻における音声スペクトルの特微量を抽出したもので、一般に１０次元〜１００次元（例えば３９次元）であり、ＬＰＣメルケプストラム（Linear Predictive Coding（線形予測分析） Mel Cepstrum）係数等が用いられる。
【００５２】
次に、音声対話ユニット１は、抽出された特徴ベクトルに対し、音響モデル１５に記録された複数のＨＭＭのそれぞれについて、当該特徴ベクトルの尤度（音響スコアＡＳ）を評価する。そして、音声対話ユニット１は、当該複数のＨＭＭのうちの音響スコアＡＳの高いＨＭＭに対応する発音データを決定する。これにより、例えば「千歳」という発話が入力された場合、その音声の波形データから、「ti-to-se」という発音データがその音響スコアＡＳと共に得られる。このとき、例えば「マークセット」という発話が入力された場合、「ma-a-ku-se-t-to」という発音データと共に、「ma-a-ku-ri-su-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 station nearly ninth place」が決定される。
【００５６】
このとき、図４に示すように、テキスト候補１については、ユ二グラムでは、「set」「the」…「FM」のそれぞれの出現確率ａ１〜ａ８が与えられる。また、バイグラムでは、「set the」「the station」…「three FM」のそれぞれの２単語の生起確率ｂ１〜ｂ７が与えられる。このとき、例えばテキスト候補１に含まれる単語「ninety」の言語スコアＬＳ１は、ａ４とｂ３とに基づいて与えられる。同様に、Ｎ＝３〜８について、Ｎ単語の生起確率ｃ１〜ｃ６，ｄ１〜ｄ５，ｅ１〜ｅ４，ｆ１〜ｆ３，ｇ１〜ｇ２，ｈ１が与えられる。そして、例えばテキスト候補１に含まれるテキスト「ninety」の言語スコアＬＳ１は、発音データに含まれる単語「ninety」と当該単語に先行する単語とを合わせた単語数４に応じて、Ｎ＝１〜４のＮグラムから得られるａ４，ｂ３，ｃ２，ｄ１に基づいて算出される。
【００５７】
また、図５に示すように、テキスト候補２については、ユ二グラムでは、「set」「the」…「place」のそれぞれの出現確率ａ１〜ａ３，ａ４’〜ａ６’が与えられる。また、バイグラムでは、「set the」「the station」…「ninth place」のそれぞれの２単語の生起確率ｂ１〜ｂ２，ｂ３’〜ｂ５’が与えられる。同様に、Ｎ＝３〜６について、Ｎ単語の生起確率ｃ１，ｃ２’〜ｃ４，ｄ１’〜ｄ３，ｅ１’〜ｅ２’，ｆ１’が与えられる。そして、例えばテキスト候補２に含まれるテキスト「nearly」の言語スコアＬＳ１は、発音データに含まれる単語「nearly」と当該単語に先行する単語とを合わせた単語数４に応じて、Ｎ＝１〜４のＮグラムから得られるａ４’，ｂ３’，ｃ２’，ｄ１’に基づいて算出される。
【００５８】
次に、音声対話ユニット１は、決定された全てのテキストについて、音響スコアＡＳと言語スコアＬＳ１とに基づいて音声認識の確信度（音声認識スコアＬＤＤ１）を算出する。具体的には、まず、音声対話ユニット１は、音響スコアＡＳと言語スコアＬＳ１とに、第１の重み係数Ｗα１，Ｗβ１をそれぞれ乗じる（第１の比率（Ｗα１／Ｗβ１）で重み付けをする）。なお、第１の重み係数Ｗα１，Ｗβ１には、例えば実験的に予め定められた値（例えば、Ｗα１＝Ｗβ１＝１）が用いられる。そして、得られた各スコアＷα１×ＡＳ，Ｗβ１×ＬＳ１を用いて、音響スコアＡＳと言語スコアＬＳ１との重み付き和として、音声認識スコアＬＤＤ１＝Ｗα１×ＡＳ＋Ｗβ１×ＬＳ１を算出する。
【００５９】
次に、音声対話ユニット１は、算出した音声認識スコアＬＤＤ１が所定の条件を満たす単語列で表現されるテキストを、認識されたテキストとして決定して出力する。所定の条件は、例えば、音声認識スコアＬＤＤ１が最も高いテキスト、音声認識スコアＬＤＤ１が上位から所定順位までのテキスト、或いは音声認識スコアＬＤＤ１が所定値以上のテキスト等のように予め定められている。このように、入力された発話を、単語毎の確率統計的な言語モデルを用いてテキストとして書き起こす手法（ディクテーション）を用いることで、予め決められた言い回しの発話に限定されない、運転者の自然な発話の認識が可能となる。
【００６０】
例えば、入力された発話が「Set the station ninety nine point three FM.」である場合に、上述の図４，図５に示すようなテキストの候補が得られている。そして、図６に示すように、発音データにおける各単語に対して、当該発音データの先頭から「set」「the」「station」が順次決定される。そして、「station」の次の単語に応じたテキストの候補として「ninety」「nearly」が挙げられる。
【００６１】
このとき、「ninety」と「nearly」の発音データは類似の度合が高く、音響スコアＡＳの差は小さい。また、言語モデル１６全体としては、「ninety」の出現確率や「station ninety」の生起確率よりも、「nearly」の出現確率や「station nearly」の生起確率の方が高く、言語スコアＬＳ１は「nearly」の方が高くなる。図６に示す例では、「ninety」に対する音響スコアＡＳは０．３、言語スコアＬＳ１は０．２、音声認識スコアＬＤＤ１は０．５となる。また、「nearly」に対する音響スコアＡＳは０．２、言語スコアＬＳ１は０．４、音声認識スコアＬＤＤ１は０．６となる。
【００６２】
よって、音声認識スコアＬＤＤ１は「nearly」の方が高くなり、例えば音声認識スコアＬＤＤ１が最も高いテキストを出力する場合、「nearly」が認識されたテキストとして決定される。そして、「nearly」の次の単語に応じたテキストとして「ninth」が決定され、「ninth」の次の単語に応じたテキストとして「place」が決定される。
【００６３】
このように、複数のドメインで同じ単語を使用する場合、共通する単語以降を誤認識する可能性が高くなる。図６の例では、「station」という単語は、オーディオ６ａのラジオにおいて「放送局」を指す場合と、ナビゲーションシステム６ｂのＰＯＩ検索や経路誘導機能において「駅」を指す場合とがあるため、誤認識の可能性が高くなる。
【００６４】
次に、ＳＴＥＰ３で、音声対話ユニット１は、認識されたテキストから発話の意味を理解する構文解析処理（当該処理を「１回目の構文解析処理」とする。）を実行する。この１回目の構文解析処理の結果に基づいて、認識されたテキストから、入力された発話のドメインの種類が決定される。なお、この１回目の構文解析処理は本発明の第１の音声認識手段の処理を構成する。
【００６５】
具体的には、まず、音声対話ユニット１は、構文モデル１７全体のデータを用いて、認識されたテキストに含まれる単語について、それぞれ、１単語における各ドメインの尤度を算出する。同様に、音声対話ユニット１は、バイグラムで、認識されたテキストに含まれる２単語について、それぞれ、２単語における各ドメインの尤度を算出する。同様に、音声対話ユニット１は、トライグラムで、認識されたテキストに含まれる３単語について、それぞれ、３単語における各ドメインの尤度を算出する。次に、音声対話ユニット１は、１単語、２単語、３単語における各ドメインの尤度に基づいて、認識されたテキスト全体における各ドメインの尤度を算出する。
【００６６】
次に、ＳＴＥＰ４で、音声対話ユニット１は、１回目の構文解析処理の結果に基づいて、制御対象を表すドメインの種類を決定する処理を実行する。当該処理は本発明の第１の音声認識手段の処理を構成する。具体的には、音声対話ユニット１は、ＳＴＥＰ３で算出したテキスト全体における各ドメインの尤度に基づいて、例えばテキスト全体における尤度が最も高いドメイン等を、認識されたテキストのドメインとして決定する。なお、ＳＴＥＰ３，４の処理については詳細を後述する。この処理により、上述の図６に例示するように、認識されたテキストが「set the station nearly ninth place」である場合に、ドメインの種類が｛Audio｝と決定される。
【００６７】
次に、ＳＴＥＰ５で、音声対話ユニット１は、ＳＴＥＰ４で決定されたドメインの種類に応じて、言語モデル１６のデータを選択的に有効にする。具体的には、音声対話ユニット１は、言語モデル１６のうちＳＴＥＰ４で決定された種類のドメインに分類された部分のデータのみを有効にする。上述の図６に例示するように認識されたテキストが「set the station nearly ninth place」である場合には、言語モデル１６のうち｛Audio｝ドメインのデータが有効にされる。
【００６８】
次に、ＳＴＥＰ６で、音声対話ユニット１は、入力された音声を認識してテキストとして出力する音声認識処理（当該処理を「２回目の音声認識処理」とする。）を実行する。なお、２回目の音声認識処理は本発明の第２の音声認識手段の処理を構成する。
【００６９】
まず、音声対話ユニット１は、ＳＴＥＰ２で決定された発音データから、言語モデル１６のうちＳＴＥＰ５で有効にされた部分のデータを用いて、単語列で表現されたテキストを当該テキストの言語スコアＬＳ２に基づいて決定する。具体的には、まず、音声対話ユニット１は、決定された発音データと言語モデル１６の有効データに記録された発音データとを比較して、類似の度合が高い単語を抽出する。次に、音声対話ユニット１は、ＳＴＥＰ２と同様に、抽出された単語の言語スコアＬＳ２を、発音データに含まれる単語数に応じたＮグラムを用いて算出する。そして、音声対話ユニット１は、発音データにおける各単語について、算出した言語スコアＬＳ２が所定の条件（例えば所定値以上）を満たすテキストを決定する。
【００７０】
次に、音声対話ユニット１は、決定された全てのテキストについて、音響スコアＡＳと言語スコアＬＳ２とに基づいて音声認識の確信度（音声認識スコア）ＬＤＤ２を算出する。具体的には、まず、音声対話ユニット１は、音響スコアＡＳと言語スコアＬＳ２とに、第２の重み係数Ｗα２，Ｗβ２をそれぞれ乗じる（第２の比率（Ｗα２／Ｗβ２）で重み付けをする）。このとき、第２の重み係数Ｗα２，Ｗβ２には、第２の比率が、音響的スコアＡＳに対する重み付けが第１の比率よりも大きい値となるような値が用いられる。例えば、第２の重み係数Ｗα２，Ｗβ２を、Ｗα２＝ｋ×Ｗα１，Ｗβ２＝Ｗβ１とする（ｋ＞１、例えばｋ＝３）。そして、得られた各スコアＷα２×ＡＳ，Ｗβ２×ＬＳ２を用いて、音響スコアＡＳと言語スコアＬＳ２との重み付き和として、音声認識スコアＬＤＤ２＝Ｗα２×ＡＳ＋Ｗβ２×ＬＳ２を算出する。これにより、音響的な特徴をより反映した音声認識スコアＬＤＤ２が得られる。
【００７１】
次に、音声対話ユニット１は、算出した音声認識スコアＬＤＤ２が所定の条件を満たす単語列で表現されるテキストを、認識されたテキストとして決定して出力する。所定の条件は、例えば、音声認識スコアＬＤＤ２が最も高いテキスト、音声認識スコアＬＤＤ２が上位から所定順位までのテキスト、或いは音声認識スコアＬＤＤ２が所定値以上のテキスト等のように予め定められている。
【００７２】
例えば、入力された発話が「Set the station ninety nine point three FM.」の場合であるに、図６に示すように、発音データにおける各単語に対して、当該発音データの先頭から「set」「the」「station」が順に決定されていく。そして、「station」の次の単語に応じたテキストの候補として「ninety」「nearly」が挙げられる。
【００７３】
このとき、２回目の音声認識処理では、言語モデル１６が｛Audio｝ドメインに限定されている。そして、｛Audio｝ドメインでは、「nearly」の出現確率や「station nearly」の生起確率よりも、「ninety」の出現確率や「station ninety」の生起確率の方が高く、言語スコアＬＳ２は「ninety」の方が高くなる。また、２回目の音声認識処理では、音響スコアＡＳの重み付けが高くなっている。よって、音声認識スコアＬＤＤ２は「ninety」の方が高くなり、例えば音声認識スコアＬＤＤ２が最も高いテキストを出力する場合、「ninety」が認識されたテキストとして決定される。そして、「ninety」の次の単語に応じたテキストとして「nine」「point」「three」「FM」が順次決定される。すなわち、ＳＴＥＰ３で発話から認識されたテキスト全体の意味に基づいて、ＳＴＥＰ４でドメインの種類が精度良く決定され、ＳＴＥＰ５で言語モデル１６が適切に選択されているので、２回目の音声認識処理では「ninety」というテキストが認識される可能性が高くなる。
【００７４】
また、例えば、ＳＴＥＰ１で「マークセット」という発話が入力された場合、ＳＴＥＰ２〜５の処理により、言語モデル１６のデータのうち｛Navigation｝ドメインに分類された部分のデータが選択的に有効にされる。これにより、ＳＴＥＰ６の２回目の音声認識処理で、「マークセット」という発話を、｛Navigation｝ドメイン以外に登録された単語と誤認識する可能性が低減される。これと共に、２回目の音声認識処理では、音響的な特徴がより詳細に考慮されるので、「マークセット」という発話を、同一のドメイン｛Navigation｝における、音響的な特徴が部分的に類似する「マークリスト」と誤認識する可能性が低減される。
【００７５】
次に、ＳＴＥＰ７で、音声対話ユニット１は、認識されたテキストから発話の意味を理解する構文解析処理（当該処理を「２回目の構文解析処理」とする。）を実行する。この２回目の構文解析処理の結果に基づいて、認識されたテキストから、クラス分類されたテキストが決定される。なお、この２回目の構文解析処理は本発明の第２の音声認識手段の処理を構成する。
【００７６】
具体的には、まず、音声対話ユニット１は、構文モデル１７全体のデータを用いて、認識されたテキストに含まれる単語について、それぞれ、１単語における各ドメインの尤度を算出する。次に、音声対話ユニット１は、当該尤度に基づいて１単語におけるドメインをそれぞれ決定する。次に、音声対話ユニット１は、構文モデル１７のうち決定された種類のドメインに分類された部分のデータを用いて、１単語における各クラスの組（クラス分類されたテキスト）の尤度（単語スコア）を算出する。そして、音声対話ユニット１は、当該単語スコアに基づいて、１単語におけるクラス分類されたテキストを決定する。
【００７７】
同様に、音声対話ユニット１は、認識されたテキストに含まれる２単語列について、それぞれ、２単語における各ドメインの尤度を算出し、当該尤度に基づいて２単語におけるドメインを決定する。さらに、音声対話ユニット１は、２単語における各クラスの組の尤度（２単語スコア）を算出し、当該２単語スコアに基づいて２単語におけるクラスの組（クラス分類されたテキスト）を決定する。また、同様に、音声対話ユニット１は、認識されたテキストに含まれる３単語列について、それぞれ、３単語における各ドメインの尤度を算出し、当該尤度に基づいて３単語におけるドメインを決定する。さらに、音声対話ユニット１は、３単語における各クラスの組の尤度（３単語スコア）を算出し、当該３単語スコアに基づいて３単語におけるクラスの組（クラス分類されたテキスト）を決定する。
【００７８】
次に、音声対話ユニット１は、１単語、２単語、３単語で決定された各クラスの組と当該クラスの組のスコア（１単語スコア、２単語スコア、３単語スコア）とに基づいて、認識されたテキスト全体における各クラスの組の尤度（構文解析スコア）を算出する。そして、音声対話ユニット１は、当該構文解析スコアに基づいて、認識されたテキスト全体におけるクラスの組（クラス分類されたテキスト）を決定する。
【００７９】
ここで、図７に示す例を用いて、構文モデル１７を用いてクラス分類されたテキストを決定する処理について説明する。図７の例では、認識されたテキストが「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｝が、その認識結果の確信度（構文解析スコア）と共に出力される。
【００８５】
次に、ＳＴＥＰ９で、音声対話ユニット１は、車両状態検出部３により検出される、車両１０の状態（車両１０の走行状態、車両１０に搭載された機器の状態、車両１０の運転者の状態等）の検出値を取得する。
【００８６】
次に、ＳＴＥＰ１０で、音声対話ユニット１は、ＳＴＥＰ８で出力された発話の認識結果と、ＳＴＥＰ９で検出された車両１０の状態とに基づいて、シナリオデータベース１８を用いて、運転者に対する応答出力や機器制御のためのシナリオを決定する。
【００８７】
まず、音声対話ユニット１は、発話の認識結果と車両１０の状態から、対象を制御するための情報を取得する。図８に示すように、音声対話ユニット１には、対象を制御するための情報を格納する複数のフォームが備えられている。各フォームには、必要な情報のクラスに対応した所定数のスロットが設けられている。例えば、ナビゲーションシステム６ｂを制御するための情報を格納するフォームとして、「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 the station nearly ninth place」の場合である。
【００９８】
このとき、ＳＴＥＰ３で、まず、音声対話ユニット１は、認識されたテキストに含まれる単語について、言語モデル１６のうち各ドメインのデータに、当該単語がいくつ登録されているかをカウントし、当該カウント値を言語モデル１６の当該ドメインのデータに登録された全ての単語数で除算して、１単語における各ドメインの登録頻度を算出する。これにより、図１０（ａ）の表に示すように、１単語におけるドメイン毎の登録頻度が得られる。例えば、図１０（ａ）でハッチングを付して示したように、単語「set」についての、１単語における｛Audio｝ドメインの登録頻度は、（｛Audio｝ドメインに登録されている「set」の数）／（｛Audio｝ドメインに登録されている全ての単語の数）である。｛Audio｝ドメインに登録されている「set」の数＝10個、｛Audio｝ドメインに登録されている全ての単語の数＝１００個とすると、登録頻度は１０／１００＝０．１と算出される。
【００９９】
同様に、音声対話ユニット１は、認識されたテキストに含まれる２単語について、言語モデル１６のうち各ドメインのデータに、当該２単語がいくつ登録されているかをカウントし、当該カウント値を言語モデル１６の当該ドメインのデータに登録された全ての単語数で除算して、２単語における各ドメインの登録頻度を算出する。これにより、図１０（ｂ）の表に示すように、２単語における各ドメインの登録頻度が算得られる。
【０１００】
同様に、音声対話ユニット１は、認識されたテキストに含まれる３単語について、言語モデル１６のうち各ドメインのデータに、当該３単語がいくつ登録されているかをカウントし、当該カウント値を言語モデル１６の当該ドメインのデータに登録された全ての単語数で除算して、３単語における各ドメインの登録頻度を算出する。これにより、図１０（ｃ）の表に示すように、３単語における各ドメインの登録頻度が得られる。
【０１０１】
次に、音声対話ユニット１は、１単語、２単語、３単語における各ドメインの登録頻度に基づいて、認識されたテキスト全体における各ドメインの尤度（ドメイン決定用の構文解析スコア）を算出する。具体的には、ドメイン毎に登録頻度の和を取り、当該登録頻度の和を各ドメインのスコアとする。これにより、図１０（ｄ）の表に示すように、各ドメインのスコアが算出される。
【０１０２】
次に、ＳＴＥＰ４で、音声対話ユニット１は、ＳＴＥＰ３で算出したドメイン決定用の構文解析スコアに基づいて、例えばスコアが最も高い等の、当該スコアが所定の条件を満たすようなドメインを認識されたテキストのドメインとして決定する。図１０（ｄ）の例では、｛Audio｝ドメインのスコアが２．９９となり最も高いので、ドメインの種類が｛Audio｝と決定される。
【０１０３】
このように、認識されたテキストに含まれる単語及び単語列（１単語、２単語、３単語）の登録頻度を用いて構文解析処理を実行することで、テキスト（文）の文脈を考慮してテキスト全体の意味が理解される。このテキスト全体の意味には、運転者の意図を反映した、運転者の発話の全体的な傾向が示される。よって、テキストに含まれる単語列の登録頻度の解析結果に基づいて、運転者の発話のドメインの種類が精度良く決定される。図１０に示す例では、単語「station」の登録頻度と共に、「set the station」といった単語列の登録頻度が用いられる。そして、「set the station」といった単語列は、｛Audio｝ドメインの登録頻度が大きい。よって、運転者の発話のドメインの種類が｛Audio｝であると決定される。
【０１０４】
以上が、ドメインの種類を決定する処理の詳細である。このように決定されたドメインの種類に応じて、ＳＴＥＰ５で、言語モデル１６を適切に選択的に有効にすることができ、ＳＴＥＰ６の２回目の音声認識処理で、テキストの認識精度が向上される。よって、ＳＴＥＰ７の２回目の構文解析処理の結果に基づいてＳＴＥＰ８で決定される認識結果に、運転者の発話に該当する認識結果を高い確率で含ませることができる。よって、ＳＴＥＰ１０で、運転者の意図に沿ったシナリオを決定することができる。
【０１０５】
したがって、本実施形態によれば、言語モデル１６が適切に選択されて発話の認識精度が向上するので、効率の良い対話を介して機器の制御が行われる。
［第２実施形態］
次に、本発明の第２実施形態の音声認識装置について説明する。なお、本実施形態は、第１実施形態と、音声対話処理におけるドメインの種類をする処理（上述のＳＥＴＥＰ３，４）のみが相違する。本実施形態の構成は、第１実施形態と同様であるので、同一の構成には同一の参照符号を付して、以下では説明を省略する。
【０１０６】
図１１を用いて、本実施形態の音声認識装置の音声対話処理におけるドメインの種類を決定する処理について説明する。図１１に示す例は、認識されたテキストが図１０と同様に「set the station nearly ninth place」の場合である。
【０１０７】
このとき、ＳＴＥＰ３で、第１実施形態と同様に、認識されたテキストに含まれる単語について、言語モデル１６のうち各ドメインのデータに、当該単語がいくつ登録されているかをカウントし、当該カウント値を言語モデル１６の当該ドメインのデータに登録された全ての単語数で除算して、１単語における各ドメインの登録頻度を算出する。そして、それぞれの単語について、最も高い登録頻度を有するドメインを抽出する。これにより、図１１（ａ）の表に示すように、１単語におけるドメイン毎の登録頻度が得られる。
【０１０８】
同様に、音声対話ユニット１は、認識されたテキストに含まれる２単語について、言語モデル１６のうち各ドメインのデータに、当該２単語がいくつ登録されているかをカウントし、当該カウント値を言語モデル１６の当該ドメインのデータに登録された全ての単語数で除算して、２単語における各ドメインの登録頻度を算出する。そして、それぞれの２単語について、最も高い登録頻度を有するドメインを抽出する。これにより、図１１（ｂ）の表に示すように、２単語における各ドメインの登録頻度が得られる。
【０１０９】
同様に、音声対話ユニット１は、認識されたテキストに含まれる３単語について、言語モデル１６のうち各ドメインのデータに、当該３単語がいくつ登録されているかをカウントし、当該カウント値を言語モデル１６の当該ドメインのデータに登録された全ての単語数で除算して、３単語における各ドメインの登録頻度を算出する。そして、それぞれの３単語について、最も高い登録頻度を有するドメインを抽出する。これにより、図１０（ｃ）の表に示すように、３単語における各ドメインの登録頻度が得られる。
【０１１０】
次に、音声対話ユニット１は、１単語、２単語、３単語における各ドメインの登録頻度に基づいて、認識されたテキスト全体における各ドメインの尤度（ドメイン決定用の構文解析スコア）を算出する。具体的には、ドメイン毎に登録頻度の和を取り、当該登録頻度の和を各ドメインのスコアとする。これにより、図１１（ｄ）の表に示すように、各ドメインのスコアが算出される。
【０１１１】
次に、ＳＴＥＰ４で、音声対話ユニット１は、ＳＴＥＰ３で算出したドメイン決定用の構文解析スコアに基づいて、例えばスコアが最も高い等の、当該スコアが所定の条件を満たすようなドメインを認識されたテキストのドメインとして決定する。図１０（ｄ）の例では、｛Audio｝ドメインのスコアが１．５となり最も高いので、ドメインの種類が｛Audio｝と決定される。他の動作は第１実施形態と同じである。
【０１１２】
本実施形態によれば、第１実施形態と同様に、言語モデル１６が適切に選択されて発話の認識精度が向上するので、効率の良い対話を介して機器の制御が行われる。
【０１１３】
なお、前記第１及び第２実施形態においては、車両状態検出部３を備え、シナリオ制御部１３は、発話の認識結果と検出した車両状態とに応じてシナリオを決定するものとしたが、車両状態検出部３を備えず、シナリオ制御部１３は発話の認識結果のみから制御処理を決定するものとしてもよい。
【０１１４】
また、前記第１及び第２実施形態においては、音声入力する使用者は、車両１０の運転者としたが、運転者以外の乗員としてもよい。
【０１１５】
また、前記第１及び第２実施形態においては、音声認識装置は、車両１０に搭載されるものとしたが、車両以外の移動体に搭載されるものとしてもよい。さらに、移動体に限らず、使用者が発話により対象を制御するシステムに適用可能である。
【図面の簡単な説明】
【０１１６】
【図１】本発明の第１実施形態である音声認識装置の機能ブロック図。
【図２】図１の音声認識装置の言語モデル、構文モデルの構成を示す説明図。
【図３】図１の音声認識装置の全体的な作動（音声対話処理）を示すフローチャート。
【図４】図３の音声対話処理における言語モデルを用いた音声認識処理におけるテキスト候補を示す説明図。
【図５】図３の音声対話処理における言語モデルを用いた音声認識処理における他のテキスト候補を示す説明図。
【図６】図３の音声対話処理における言語モデルを用いた音声認識処理におけるテキストを決定する処理を示す説明図。
【図７】図３の音声対話処理における構文モデルを用いた構文解析処理を示す説明図。
【図８】図３の音声対話処理におけるシナリオを決定する処理で用いるフォームを示す説明図。
【図９】図３の音声対話処理におけるシナリオを決定する処理を示す説明図。
【図１０】図３の音声対話処理におけるドメインを決定する処理を示す説明図。
【図１１】本発明の第２実施形態の音声対話処理におけるドメインを決定する処理を示す説明図。
【符号の説明】
【０１１７】
１…音声対話ユニット、２…マイク、３…車両状態検出部、４…スピーカ、５…ディスプレイ、６ａ〜６ｃ…機器、１０…車両、１１…音声認識部、１２…構文解析部、１３…シナリオ制御部、１４…音声合成部、１５…音響モデル、１６…言語モデル、１７…構文モデル、１８…シナリオデータベース、１９…音素モデル。
【図１】
2008070805.tif 000003
【図２】
2008070805.tif 000004
【図３】
2008070805.tif 000005
【図４】
2008070805.tif 000006
【図５】
2008070805.tif 000007
【図６】
2008070805.tif 000008
【図７】
2008070805.tif 000009
【図８】
2008070805.tif 000010
【図９】
2008070805.tif 000011
【図１０】
2008070805.tif 000012
【図１１】
2008070805.tif 000013
【手続補正書】
【提出日】平成19年8月28日(2007.8.28)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００２２
【補正方法】変更
【補正の内容】
【００２２】
［第１実施形態］
まず、本発明の第１実施形態について図１〜図１０を参照して説明する。
図１に示すように、本発明の音声認識装置は音声対話ユニット１から成り、車両１０に搭載されている。この音声対話ユニット１には、車両１０の運転者から発話が入力されるマイク２が接続されると共に、車両１０の状態を検出する車両状態検出部３が接続されている。また、音声対話ユニット１には、運転者への応答を出力するスピーカ４と、運転者への表示を行うディスプレイ５とが接続されている。さらに、音声対話ユニット１には、運転者が音声等で操作可能な複数の機器６ａ〜６ｃが接続されている。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００３３
【補正方法】変更
【補正の内容】
【００３３】
より詳しくは、音声対話ユニット１は、上記プログラムにより実現される機能として、入力された音声を音響モデル１５と言語モデル１６とを用いて認識してテキストとして出力する音声認識部１１と、認識されたテキストから構文モデル１７を用いて発話の意味を理解する構文解析部１２とを備えている。また、音声対話ユニット１は、発話の認識結果に基づいてシナリオデータベース１８を用いてシナリオを決定し、運転者への応答や機器の制御等を行うシナリオ制御部１３と、運転者に出力する音声による応答を音素モデル１９を用いて合成する音声合成部１４とを備えている。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００５６
【補正方法】変更
【補正の内容】
【００５６】
このとき、図４に示すように、テキスト候補１については、ユ二グラムでは、「set」
「the」…「FM」のそれぞれの出現確率ａ１〜ａ８が与えられる。また、バイグラムでは
、「set the」「the station」…「three FM」のそれぞれの２単語列の生起確率ｂ１〜ｂ７が与えられる。このとき、例えばテキスト候補１に含まれる単語「ninety」の言語スコアＬＳ１は、ａ４とｂ３とに基づいて与えられる。同様に、Ｎ＝３〜８について、Ｎ単語の生起確率ｃ１〜ｃ６，ｄ１〜ｄ５，ｅ１〜ｅ４，ｆ１〜ｆ３，ｇ１〜ｇ２，ｈ１が与えられる。そして、例えばテキスト候補１に含まれるテキスト「ninety」の言語スコアＬＳ１は、発音データに含まれる単語「ninety」と当該単語に先行する単語とを合わせた単語数４に応じて、Ｎ＝１〜４のＮグラムから得られるａ４，ｂ３，ｃ２，ｄ１に基づいて算出される。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００５７
【補正方法】変更
【補正の内容】
【００５７】
また、図５に示すように、テキスト候補２については、ユ二グラムでは、「set」「the」…「place」のそれぞれの出現確率ａ１〜ａ３，ａ４’〜ａ６’が与えられる。また、バイグラムでは、「set the」「the station」…「ninth place」のそれぞれの２単語列の生起確率ｂ１〜ｂ２，ｂ３’〜ｂ５’が与えられる。同様に、Ｎ＝３〜６について、Ｎ単語の生起確率ｃ１，ｃ２’〜ｃ４，ｄ１’〜ｄ３，ｅ１’〜ｅ２’，ｆ１’が与えられる。そして、例えばテキスト候補２に含まれるテキスト「nearly」の言語スコアＬＳ１は、発音データに含まれる単語「nearly」と当該単語に先行する単語とを合わせた単語数４に応じて、Ｎ＝１〜４のＮグラムから得られるａ４’，ｂ３’，ｃ２’，ｄ１’に基づいて算出される。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００６５
【補正方法】変更
【補正の内容】
【００６５】
具体的には、まず、音声対話ユニット１は、構文モデル１７全体のデータを用いて、認識されたテキストに含まれる単語について、それぞれ、１単語における各ドメインの尤度を算出する。同様に、音声対話ユニット１は、バイグラムで、認識されたテキストに含まれる２単語列について、それぞれ、２単語列における各ドメインの尤度を算出する。同様に、音声対話ユニット１は、トライグラムで、認識されたテキストに含まれる３単語列について、それぞれ、３単語列における各ドメインの尤度を算出する。次に、音声対話ユニット１は、１単語、２単語列、３単語列における各ドメインの尤度に基づいて、認識されたテキスト全体における各ドメインの尤度を算出する。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００７７
【補正方法】変更
【補正の内容】
【００７７】
同様に、音声対話ユニット１は、認識されたテキストに含まれる２単語列について、それぞれ、２単語列における各ドメインの尤度を算出し、当該尤度に基づいて２単語列におけるドメインを決定する。さらに、音声対話ユニット１は、２単語列における各クラスの組の尤度（２単語スコア）を算出し、当該２単語スコアに基づいて２単語列におけるクラスの組（クラス分類されたテキスト）を決定する。また、同様に、音声対話ユニット１は、認識されたテキストに含まれる３単語列について、それぞれ、３単語列における各ドメインの尤度を算出し、当該尤度に基づいて３単語列におけるドメインを決定する。さらに、音声対話ユニット１は、３単語列における各クラスの組の尤度（３単語スコア）を算出し、当該３単語スコアに基づいて３単語列におけるクラスの組（クラス分類されたテキスト）を決定する。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００７８
【補正方法】変更
【補正の内容】
【００７８】
次に、音声対話ユニット１は、１単語、２単語列、３単語列で決定された各クラスの組と当該クラスの組のスコア（１単語スコア、２単語スコア、３単語スコア）とに基づいて、認識されたテキスト全体における各クラスの組の尤度（構文解析スコア）を算出する。そして、音声対話ユニット１は、当該構文解析スコアに基づいて、認識されたテキスト全体におけるクラスの組（クラス分類されたテキスト）を決定する。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００８２
【補正方法】変更
【補正の内容】
【００８２】
同様に、バイグラムで、「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」の第１〜第３のスロット「From」「To」「Request」には値が入力され、第４のスロット「via」には値が入力されていない。また、フォームの確信度（＝８０）や車両１０の状態に応じて、レベル＝２に設定されている。このとき、シナリオデータベース１８から応答文「<To>を<Request>設定します」が選択され、「千歳空港を高速優先設定します」という応答文の内容が決定される。
【手続補正１１】
【補正対象書類名】明細書
【補正対象項目名】００９９
【補正方法】変更
【補正の内容】
【００９９】
同様に、音声対話ユニット１は、認識されたテキストに含まれる２単語列について、言語モデル１６のうち各ドメインのデータに、当該２単語列がいくつ登録されているかをカウントし、当該カウント値を言語モデル１６の当該ドメインのデータに登録された全ての２単語列の数で除算して、２単語列における各ドメインの登録頻度を算出する。これにより、図１０（ｂ）の表に示すように、２単語列における各ドメインの登録頻度が得られる。
【手続補正１２】
【補正対象書類名】明細書
【補正対象項目名】０１００
【補正方法】変更
【補正の内容】
【０１００】
同様に、音声対話ユニット１は、認識されたテキストに含まれる３単語列について、言語モデル１６のうち各ドメインのデータに、当該３単語列がいくつ登録されているかをカウントし、当該カウント値を言語モデル１６の当該ドメインのデータに登録された全ての３単語列の数で除算して、３単語列における各ドメインの登録頻度を算出する。これにより、図１０（ｃ）の表に示すように、３単語列における各ドメインの登録頻度が得られる。
【手続補正１３】
【補正対象書類名】明細書
【補正対象項目名】０１０１
【補正方法】変更
【補正の内容】
【０１０１】
次に、音声対話ユニット１は、１単語、２単語列、３単語列における各ドメインの登録頻度に基づいて、認識されたテキスト全体における各ドメインの尤度（ドメイン決定用の構文解析スコア）を算出する。具体的には、ドメイン毎に登録頻度の和を取り、当該登録頻度の和を各ドメインのスコアとする。これにより、図１０（ｄ）の表に示すように、各ドメインのスコアが算出される。
【手続補正１４】
【補正対象書類名】明細書
【補正対象項目名】０１０３
【補正方法】変更
【補正の内容】
【０１０３】
このように、認識されたテキストに含まれる単語及び単語列（１単語、２単語列、３単語列）の登録頻度を用いて構文解析処理を実行することで、テキスト（文）の文脈を考慮してテキスト全体の意味が理解される。このテキスト全体の意味には、運転者の意図を反映した、運転者の発話の全体的な傾向が示される。よって、テキストに含まれる単語列の登録頻度の解析結果に基づいて、運転者の発話のドメインの種類が精度良く決定される。図１０に示す例では、単語「station」の登録頻度と共に、「set the station」といった単語列の登録頻度が用いられる。そして、「set the station」といった単語列は、｛Audio｝ドメインの登録頻度が大きい。よって、運転者の発話のドメインの種類が｛Audio｝であると決定される。
【手続補正１５】
【補正対象書類名】明細書
【補正対象項目名】０１０５
【補正方法】変更
【補正の内容】
【０１０５】
したがって、本実施形態によれば、言語モデル１６が適切に選択されて発話の認識精度が向上するので、効率の良い対話を介して機器の制御が行われる。
［第２実施形態］
次に、本発明の第２実施形態の音声認識装置について説明する。なお、本実施形態は、第１実施形態と、音声対話処理におけるドメインの種類を決定する処理（上述のＳＴＥＰ３，４）のみが相違する。本実施形態の構成は、第１実施形態と同様であるので、同一の構成には同一の参照符号を付して、以下では説明を省略する。
【手続補正１６】
【補正対象書類名】明細書
【補正対象項目名】０１０７
【補正方法】変更
【補正の内容】
【０１０７】
このとき、ＳＴＥＰ３で、第１実施形態と同様に、認識されたテキストに含まれる単語について、言語モデル１６のうち各ドメインのデータに、当該単語がいくつ登録されているかをカウントし、当該カウント値を言語モデル１６の当該ドメインのデータに登録された全ての単語数で除算して、１単語における各ドメインの登録頻度を算出する。そして、それぞれの単語について、最も高い登録頻度を有するドメインを抽出する。これにより、図１１（ａ）の表に示すように、１単語における抽出されたドメインの登録頻度が得られる。
【手続補正１７】
【補正対象書類名】明細書
【補正対象項目名】０１０８
【補正方法】変更
【補正の内容】
【０１０８】
同様に、音声対話ユニット１は、認識されたテキストに含まれる２単語列について、言語モデル１６のうち各ドメインのデータに、当該２単語列がいくつ登録されているかをカウントし、当該カウント値を言語モデル１６の当該ドメインのデータに登録された全ての２単語列の数で除算して、２単語列における各ドメインの登録頻度を算出する。そして、それぞれの２単語列について、最も高い登録頻度を有するドメインを抽出する。これにより、図１１（ｂ）の表に示すように、２単語列における抽出されたドメインの登録頻度が得られる。
【手続補正１８】
【補正対象書類名】明細書
【補正対象項目名】０１０９
【補正方法】変更
【補正の内容】
【０１０９】
同様に、音声対話ユニット１は、認識されたテキストに含まれる３単語列について、言語モデル１６のうち各ドメインのデータに、当該３単語列がいくつ登録されているかをカウントし、当該カウント値を言語モデル１６の当該ドメインのデータに登録された全ての３単語列の数で除算して、３単語列における各ドメインの登録頻度を算出する。そして、それぞれの３単語列について、最も高い登録頻度を有するドメインを抽出する。これにより、図１１（ｃ）の表に示すように、３単語列における抽出されたドメインの登録頻度が得られる。
【手続補正１９】
【補正対象書類名】明細書
【補正対象項目名】０１１０
【補正方法】変更
【補正の内容】
【０１１０】
次に、音声対話ユニット１は、１単語、２単語列、３単語列における各ドメインの登録頻度に基づいて、認識されたテキスト全体における各ドメインの尤度（ドメイン決定用の構文解析スコア）を算出する。具体的には、ドメイン毎に登録頻度の和を取り、当該登録頻度の和を各ドメインのスコアとする。これにより、図１１（ｄ）の表に示すように、各ドメインのスコアが算出される。
【手続補正２０】
【補正対象書類名】明細書
【補正対象項目名】０１１１
【補正方法】変更
【補正の内容】
【０１１１】
次に、ＳＴＥＰ４で、音声対話ユニット１は、ＳＴＥＰ３で算出したドメイン決定用の構文解析スコアに基づいて、例えばスコアが最も高い等の、当該スコアが所定の条件を満たすようなドメインを認識されたテキストのドメインとして決定する。図１１（ｄ）の例では、｛Audio｝ドメインのスコアが１．５となり最も高いので、ドメインの種類が｛Audio｝と決定される。他の動作は第１実施形態と同じである。