(57)【要約】【課題】使用者の状況に柔軟に対応して、適切な時間で使用者の要望に合致した対話を行うことができる音声対話装置、音声対話方法、及び音声対話用プログラムを提供する。【解決手段】音声対話装置は、使用者からの音声入力に対応して、該使用者との対話制御を行う。音声対話装置は、使用者が置かれている状況に応じて該使用者との対話可能時間を算出する対話可能時間算出手段３２と、少なくとも対話可能時間検出手段３２により算出された対話可能時間に応じて対話制御を行う対話制御手段３１とを備える。【選択図】図１
2008233678.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｝は操作対象が不明であることを、それぞれ示している。
【００５８】
次に、本実施形態の音声対話装置の作動（音声対話処理）について説明する。図３に示すように、まず、ＳＴＥＰ１で、車両１０の運転者から、対象を制御するための発話がマイク２に入力される。具体的には、運転者がトークスイッチをＯＮ操作して発話の入力開始を指令し、マイク２に音声を入力する。
【００５９】
次に、ＳＴＥＰ２で、音声対話ユニット１は、入力された音声を認識してテキストとして出力する音声認識処理を実行する。
【００６０】
まず、音声対話ユニット１は、マイク２に入力された音声をＡ／Ｄ変換して音声を示す波形データを取得する。次に、音声対話ユニット１は、音声を示す波形データを周波数分析して特徴ベクトルを抽出する。これにより、音声を示す波形データは、例えば短時間スペクトル分析の手法によってフィルタ処理を施され、特徴ベクトルの時系列に変換される。この特徴ベクトルは、各時刻における音声スペクトルの特微量を抽出したもので、一般に１０次元〜１００次元（例えば３９次元）であり、線形予測分析メルケプストラム（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｝が、その構文解析スコアと共に出力される。
【００７８】
次に、ＳＴＥＰ４〜９で、音声対話ユニット１は、ＳＴＥＰ３で特定された操作候補に基づいて、シナリオデータベース１８を用いて、運転者に対する応答出力や機器制御のためのシナリオを決定する。
【００７９】
まず、ＳＴＥＰ４で、音声対話ユニット１は、特定された操作候補から、実際に行う操作を特定し、対象を制御するための情報を取得する。図６に示すように、音声対話ユニット１には、対象を制御するための情報を格納する複数のフォームが備えられている。各フォームには、必要な情報のクラスに対応した所定数のスロットが設けられている。例えば、ナビゲーションシステム６ｂを制御するための情報を格納するフォームとして、「Plot a route」「Traffic info.」等が備えられ、エアコンディショナ６ｃを制御するための情報を格納するフォームとして「Climate control」等が備えられている。また、フォーム「Plot a route」には、４つのスロット「From」「To」「Request」「via」が設けられている。
【００８０】
音声対話ユニット１は、運転者との対話における各回の発話の認識結果から特定される操作候補に基づいて、該当するフォームのスロットに値を入力していく。これと共に、各フォームについての確信度（フォームに入力された値の信頼の度合）を算出してフォームに記録する。フォームの確信度は、例えば、各回の発話の認識結果から特定される操作候補の確信度と、各フォームのスロットの埋まり具合とに基づいて算出される。例えば、図７に示すように、「千歳空港まで最短ルートで案内して」という発話が運転者から入力された場合には、フォーム「Plot a route」の３つのスロット「From」「To」「Request」に値「ここ」「千歳空港」「最短」が入力される。また、フォーム「Plot a route」の「Score」に、算出されたフォームの確信度８０が記録される。そして、音声対話ユニット１は、フォームの確信度に基づいて、実際の制御処理に用いるフォームを選択して操作を特定する。
【００８１】
次に、ＳＴＥＰ５で、音声対話ユニット１は、走行環境検出部３により検出された車両１０の走行環境に基づいて、対話可能時間を算出する処理を行う。対話可能時間を算出する処理は、図７のフローチャートに示すように実行される。
【００８２】
図７を参照して、まず、ＳＴＥＰ２１で、音声対話ユニット１は、走行環境検出部３により検出された検出値に基づいて、車両１０が走行中であるか否かを判断する。ＳＴＥＰ２１の判断結果がＹＥＳ（車両１０が走行中である）の場合、ＳＴＥＰ２２に進み、音声対話ユニット１は、走行環境検出部３により検出された、車両１０が走行している道路の種別、幅員、車両１０の車速、車間距離の検出値等をそれぞれ取得する。次に、ＳＴＥＰ２３で、音声対話ユニット１は、ＳＴＥＰ２２で取得された情報が予め定めた所定条件を満たすか否かに基づいて、運転者に時間的な余裕があるか否かを判断する。ＳＴＥＰ２３の判断結果がＮＯ（運転者に余裕がない）の場合は、ＳＴＥＰ２９に進み、音声対話ユニット１は、対話可能時間を「小」に設定する。
【００８３】
ＳＴＥＰ２３の判断結果がＹＥＳ（運転者に余裕がある）の場合は、ＳＴＥＰ２４に進み、音声対話ユニット１は、走行環境検出部３により検出されたイベント情報を取得する。イベント情報は、車両１０が走行している道路上の、交差点等の特定地点に関する情報である。次に、ＳＴＥＰ２５で、音声対話ユニット１は、車両１０と特定地点との距離に基づいて、イベントが近いか（交差点等が近いか）否かを判断する。ＳＴＥＰ２５の判断結果がＹＥＳ（交差点等に近い）の場合には、ＳＴＥＰ２９に進み、音声対話ユニット１は、対話可能時間を「小」に設定する。ＳＴＥＰ２５の判断結果がＮＯ（交差点等が近くない）の場合には、ＳＴＥＰ３０に進み、音声対話ユニット１は、対話可能時間を「中」に設定する。
【００８４】
ＳＴＥＰ２１の判断結果がＮＯ（車両１０が走行していない）の場合には、ＳＴＥＰ２６に進み、音声対話ユニット１は、車両１０が道路上にあるか否かを判断する。すなわち、車両１０が信号待ちや渋滞等により一時停止している状態にあるか、駐車場等で停止している状態かが判断される。ＳＴＥＰ２６の判断結果がＮＯの場合（車両１０が一時停止中でない）には、音声対話ユニット１は、対話可能時間を「大」に設定する。
【００８５】
ＳＴＥＰ２６の判断結果がＹＥＳの場合（車両１０が一時停止中である）は、音声対話ユニット１は、走行環境検出部３により検出された走行環境に基づいて、停止予測時間を算出する。停止予測時間は、車両１０が一時停止の状態から走行を開始するまでと予測される時間である。具体的には、音声対話ユニット１は、路車間信号により信号残り時間を取得したり、レーダや車車間通信により前走車の状態を取得して、停止予測時間を算出する。
【００８６】
次に、ＳＴＥＰ２８で、ＳＴＥＰ２７で算出された停止予測時間に基づいて、運転者に時間的な余裕があるか否かを判断する。ＳＴＥＰ２８の判断結果がＮＯ（運転者に余裕がない）の場合には、ＳＴＥＰ３０に進み、音声対話ユニット１は、対話可能時間を「中」に設定する。ＳＴＥＰ２８の判断結果がＹＥＳ（運転者に余裕がある）の場合には、ＳＴＥＰ３１に進み、音声対話ユニット１は、対話可能時間を「大」に設定する。
【００８７】
以上の処理により、車両１０が走行中で且つ運転者に余裕がない場合、及び車両１０が走行中で且つ運転者に余裕はあるが交差点等が近い場合には、運転者が運転に集中にするため、対話に費やすことが可能な時間は少ないと想定して、対話可能時間が「小」に設定される。また、車両１０が走行中で且つ運転者に余裕があり交差点等に近くない場合、及び車両１０が一時停止中で運転者に余裕がない場合には、対話可能時間が「中」に設定される。また、車両１０が走行中でなく道路上でもない場合、及び車両１０が一時停止中で運転者に余裕がある場合には、車両１０が継続的に停止しているので、運転者が対話に費やすことが可能な時間は多いと想定して、対話可能時間が「大」に設定される。これにより、運転者の時間的な余裕を反映して、対話可能時間が適切に設定される。
【００８８】
図３に戻り、次に、ＳＴＥＰ７で、音声対話ユニット１は、操作履歴格納部３５に格納された操作履歴に基づいて、運転者の特性を検出する。具体的には、音声対話ユニット１は、運転者が音声対話装置と対話を行う頻度と、該対話を行った際の音声認識の成功の度合（例えば成功回数）との積に、予め定めた所定の係数を乗じた値を対話の習熟度を示す値とする。この値は、運転者が音声対話装置との対話に慣れている度合を示す指標である。そして、音声対話ユニット１は、この値を所定の閾値と比較して、運転者の対話に関する習熟度を「大」「中」「小」の３段階に分類する。また、音声対話ユニット１は、発話の認識結果から特定された操作についての操作回数を、該操作の操作経験を示す値として取得する。そして、音声対話ユニット１は、この値を所定の閾値と比較して、運転者の所定の操作に関する操作経験を「大」「中」「小」の３段階に分類する。
【００８９】
次に、ＳＴＥＰ７で、音声対話ユニット１は、情報の重要度を判断する処理を行う。具体的には、音声対話ユニット１は、発話の認識結果から特定された操作に関連する、シナリオデータベース１８に格納された応答文に含まれる情報の重要度を、「大」「中」「小」の３段階に分類して設定する。このとき、まず、音声対話ユニット１は、予め登録された各情報の重要度を用いる。例えば、交通情報のうち、事故等の情報は重要度が高く、天候や自然渋滞等の情報は重要度が低いと予め登録されている。
【００９０】
さらに、音声対話ユニット１は、この重要度を、発話の認識結果と、走行環境検出部３から取得された検出値と、使用者特性検出部３により検出された運転者の特性とに基づいて調整して、情報の重要度を判断する。例えば、運転者が発話により提供を要求している情報（要求情報）は、重要度が高くなるように調整される。また、例えば、車両１０が交差点に近づいている場合には、交差点の情報の重要度が高くなるように調整される。また、例えば、習熟度が「大」で操作経験が「小」の運転者には、操作経験を増やせるように、機能の説明等の関連情報の重要度が高くなるように調整される。これにより、運転者の置かれている状況や特性を反映して情報の重要度が判断される。
【００９１】
次に、ＳＴＥＰ８で、音声対話ユニット１は、シナリオデータベース１８に格納されたデータを用いて、シナリオを決定する。そして、音声対話ユニット１は、発話の認識結果から機器の制御の内容が特定されている場合には、決定されたシナリオに基づいて機器を制御する。
【００９２】
シナリオデータベース１８には、運転者へ出力する応答文等が、スロットの埋まり具合や含まれる情報毎に分類されて格納されている。例えば、選択されたフォーム内に空きスロット（値が入力されていないスロット）がある場合には、運転者へフォーム内の空きスロットの入力を促すような応答文を出力するシナリオが決定される。
【００９３】
また、例えば、選択されたフォーム内の全てのスロットが全て埋まっている（値が入力されている）場合には、内容を確認するような応答文（例えば各スロットの入力値を運転者に報知する応答文）を出力するシナリオが決定される。さらに、例えば、運転者が発話により情報の提供を要求している場合には、その情報を提供するような応答文を出力するシナリオが決定される。
【００９４】
このとき、音声対話ユニット１は、情報の重要度に基づいて、重要度の高い情報から優先的に出力されるように、出力する応答文に含まれる情報を決定する。これと共に、音声対話ユニット１は、対話可能時間と運転者の習熟度と情報の重要度とに基づいて、出力する応答文に含まれる情報量を決定する。
【００９５】
ここで、図８を参照して、情報量を決定する処理について説明する。図８（ａ）に示すように、音声対話ユニット１は、情報量を「Ａ」「Ｂ」「Ｃ」の３段階に設定する。このとき、まず、図８（ｂ）に示すように、対話可能時間と習熟度の組み合わせに応じて、情報量が設定される。すなわち、運転者の習熟度が「中」の場合は、対話可能時間「大」「中」「小」に応じて、情報量「Ａ」「Ｂ」「Ｃ」がそれぞれ設定される。これに対して、運転者の習熟度が「大」の場合は、より多くの情報量となるように設定される。また、運転者の習熟度が「小」の場合は、より少ない情報量となるように設定される。
【００９６】
さらに、対話可能時間と習熟度との組み合わせに応じて設定された情報量「Ａ」「Ｂ」「Ｃ」について、図８（ｃ）に示すように、情報の重要度に応じて情報量が調整される。ここで、図８（ｃ）の情報の重要度「大」「中」「小」は、発話の認識結果から特定された操作に関連する情報全体の重要度を示す。情報全体の重要度は、例えば、操作に関連する情報のうち重要度が高い情報の割合等である。図８（ｃ）に示すように、この情報全体の重要度が「中」の場合は、対話可能時間と習熟度の組み合わせにより設定された情報量「Ａ」「Ｂ」「Ｃ」がそのまま設定される。これに対して、情報全体の重要度が「大」の場合は、より多くの情報量となるように設定される。また、情報全体の重要度が「小」の場合は、より少ない情報量となるように設定される。これにより、適切な時間で使用者の要望に合致した対話が行われるように情報量が設定される。
【００９７】
図３に戻り、次に、ＳＴＥＰ９で、音声対話ユニット１は、決定したシナリオに基づいて、運転者との対話が終了したか否かを判断する。ＳＴＥＰ９の判断結果がＮＯの場合には、ＳＴＥＰ１０に進み、音声対話ユニット１は、決定された応答文の内容や応答文を出力する際の条件に応じて音声を合成する。そして、ＳＴＥＰ１１で、生成された応答文（運転者の次回の発話を促す応答文等）が、スピーカ４から出力される。
【００９８】
その後、ＳＴＥＰ１に戻り、次の発話が運転者から入力される。以下、ＳＴＥＰ９の判断結果がＹＥＳとなるまで、上述のＳＴＥＰ１〜１１と同様の処理が繰り返される。
【００９９】
最後に、ＳＴＥＰ９の判断結果がＹＥＳの場合には音声対話処理を終了する。このとき、例えば、機器制御の完了等を使用者に報知するシナリオが決定されている場合には、音声対話ユニット１は、決定された応答文の内容や応答文を出力する際の条件に応じて音声を合成する。そして、生成された応答文（機器制御の完了等を使用者に報知する応答文等）がスピーカ４から出力される。
【０１００】
以上の処理によって、使用者の状況に柔軟に対応して、適切な時間で使用者の要望に合致した対話を行うことができる。
［対話例］
次に、上述した音声対話処理について、図９〜図１１に示した対話例１〜３を用いて具体的に説明する。対話例１〜３は、いずれもユーザ（運転者）がシステム（音声対話装置）との対話によりナビゲーションシステム６ｂを操作して交通情報の提供を要求している場合である。
＜対話例１＞
まず、図９に示す対話例１について説明する。対話例１は、ユーザに時間的な余裕があり、ユーザの対話の習熟度が高く、操作経験が多い場合の例を示す。
【０１０１】
まず、図３のＳＴＥＰ１で、ユーザから「この先は混んでるでしょうか」という１回目の発話が入力される。次に、ＳＴＥＰ２で、音声認識処理により認識されたテキストが得られ、ＳＴＥＰ３で、構文解析処理により認識されたテキストの意味に対応する操作候補が得られ、ＳＴＥＰ４で、実際に行われる操作（交通情報の提供）が特定される。
【０１０２】
次に、ＳＴＥＰ５で、対話可能時間が「大」と算出され、ＳＴＥＰ６で、ユーザの習熟度及び操作経験が「大」と検出される。そして、ＳＴＥＰ７で、交通情報の提供に関連する情報が抽出されると共に、その各情報の優先度が判断される。なお、交通情報の全体的な重要度は「中」となる。
【０１０３】
次に、ＳＴＥＰ８で、出力に含まれる情報及びその量が決定される。このとき、対話可能時間が「大」で習熟度が「大」であり、全体的な情報の重要度が「中」であるので、情報量が最も多い「Ａ」と決定される。従って、多くの情報量を出力することが可能なので、ユーザの発話が要求する情報に直接対応する応答文（図９（ａ））に加えて、関連情報として、渋滞の原因に関する応答文（図９（ｂ））や、目的地の混雑に関する応答文（図９（ｃ））を出力するシナリオが決定される。そして、ＳＴＥＰ１０で音声が合成され、ＳＴＥＰ１１でスピーカ４から出力される。
【０１０４】
次に、ＳＴＥＰ１に戻り、ユーザから「大丈夫なの？」という発話が入力され、ＳＴＥＰ２〜４で発話の認識結果から操作が特定される。そして、１回目の発話と同様に、ＳＴＥＰ５で、対話可能時間が「大」と算出され、ＳＴＥＰ６で、ユーザの習熟度及び操作経験が「大」と検出される。そして、ＳＴＥＰ７で、交通情報の提供に関連する情報が抽出されると共に、その各情報の優先度が判断される。
【０１０５】
次に、ＳＴＥＰ８で、１回目の発話と同様に、情報量が最も多い「Ａ」と決定される。従って、多くの情報量を出力することが可能なので、ユーザの発話が要求する情報に直接対応する応答文（図９（ｄ））に加えて、関連情報として、天候に関する応答文（図９（ｅ））を出力するシナリオが決定される。そして、ＳＴＥＰ９で対話終了と判定され、音声が合成されスピーカ４から出力されて、対話が終了される。
【０１０６】
このように、ユーザに時間的な余裕があり、ユーザの対話の習熟度が高く、操作経験が多い場合には、要求情報が簡潔に出力されると共に、多くの関連情報が提供されるように対話制御が行われる。
＜対話例２＞
次に、図１０に示す対話例２について説明する。対話例２は、ユーザに時間的な余裕があり、ユーザの習熟度が高く、操作経験が少ない場合の例を示す。
【０１０７】
まず、図３のＳＴＥＰ１で、対話例１と同様に、ユーザから「この先は混んでるでしょうか」という１回目の発話が入力され、ＳＴＥＰ２〜４で発話の認識結果から操作が特定される。
【０１０８】
次に、ＳＴＥＰ５で、対話可能時間が「大」と算出され、ＳＴＥＰ６で、ユーザの習熟度が「大」と検出され、ユーザの操作経験が「小」と検出される。そして、ＳＴＥＰ７で、交通情報の提供に関連する情報が抽出されると共に、その各情報の優先度が判断される。このとき、習熟度が「大」で操作経験が「小」の運転者には、操作経験を増やせるように、機能の説明等の関連情報の重要度が高くなるように調整される。
【０１０９】
次に、ＳＴＥＰ８で、出力に含まれる情報及びその量が決定される。このとき、対話可能時間が「大」で習熟度が「大」であり、全体的な情報の重要度が「中」であるので、情報量が最も多い「Ａ」と決定される。従って、多くの情報量を出力することが可能なので、ユーザの発話が要求する情報に直接対応する応答文（図１０（ａ））に加えて、関連情報として、重要度が比較的高く設定された、機能の紹介に関する応答文（図１０（ｂ））を出力するシナリオが決定される。そして、ＳＴＥＰ１０で音声が合成され、ＳＴＥＰ１１でスピーカ４から出力される。
【０１１０】
次に、ＳＴＥＰ１に戻り、ユーザから次の発話が入力され、以下同様にＳＴＥＰ１〜１１の処理が繰り返され、図１０（ｃ）〜（ｇ）の応答文が出力され、対話が行われる。そして、最後に、ＳＴＥＰ９で対話終了と判定され、図１０（ｈ）の応答文の音声が合成されスピーカ４から出力されて、対話が終了される。
【０１１１】
このように、ユーザに時間的な余裕があり、ユーザの習熟度が高く、操作経験が少ない場合には、ユーザの操作経験を増やすよう、図１０（ｂ），（ｅ）のように機能の紹介をしながら、対話のやり取りが多くなるように対話制御が行われる。
＜対話例３＞
次に、図１１に示す対話例３について説明する。対話例３は、交差点が近いためユーザの時間的な余裕が少なく、ユーザの習熟度と操作経験が中程度である例を示す。
【０１１２】
まず、図３のＳＴＥＰ１で、対話例１と同様に、ユーザから「この先は混んでるでしょうか」という１回目の最初の発話が入力され、ＳＴＥＰ２〜４で発話の認識結果から操作が特定される。
【０１１３】
次に、ＳＴＥＰ５で、対話可能時間が「小」と算出され、ＳＴＥＰ６で、ユーザの習熟度と操作経験が「中」と検出される。そして、ＳＴＥＰ７で、交通情報の提供に関連する情報が抽出されると共に、その各情報の優先度が判断される。このとき、交差点が近いので、交差点の情報の重要度が高くなるように調整される。
【０１１４】
次に、ＳＴＥＰ８で、出力に含まれる情報及びその量が決定される。このとき、対話可能時間が「小」で習熟度が「小」であり、全体的な情報の重要度が「中」であるので、情報量が最も少ない「Ｃ」と決定される。従って、少ない情報量した出力できないので、ユーザの発話が要求する情報に直接対応する応答文（図１１（ａ））と、重要度が高く設定された交差点に関する応答文（図１１（ｂ））を出力するシナリオが決定される。そして、ＳＴＥＰ９で対話終了と判定され、音声が合成されスピーカ４から出力されて、対話が終了される。
【０１１５】
このように、ユーザに時間的な余裕が少ない場合には、重要度の高い情報が簡潔に提供されるように対話制御が行われる。
【０１１６】
以上の対話例１〜３で示したように、同じ１回目の発話に対して、ユーザの状況に柔軟に対応して対話が制御され、効率の良い対話を介して情報の提供が行われる。
【０１１７】
なお、本実施形態において、対話可能時間算出部３２、使用者特性検出部３３、情報重要度判断部３４、対話制御部３１は、対話可能時間、使用者の特性、情報の重要度、情報量をそれぞれ３段階に設定するものとしたが、２段階、或いは４段階以上でも任意に設定可能である。または、連続的に変化する値をそれぞれ設定するものとしてもよい。
【０１１８】
また、本実施形態において、使用者特性検出部３３は、運転者の特性として、対話に関する習熟度と、所定の操作の操作経験とを検出し、情報優先度判断部３４及び対話制御部３１は、これらの特性を用いて情報の優先度を判断し、出力する応答文に含まれる情報量を決定したが、運転者の特性として、運転者の対話や所定の操作に対する嗜好等を検出して用いるものとしてもよい。
【０１１９】
また、本実施形態においては、入力された発話を、単語毎の確率統計的な言語モデルを用いてテキストとして書き起こす手法（ディクテーション）を用いて認識したが、他の実施形態として、認識対象である単語が予め登録された音声認識辞書を用いて、入力された発話を認識するものとしてもよい。
【０１２０】
また、本実施形態においては、音声入力する使用者は、車両１０の運転者としたが、運転者以外の乗員としてもよい。
【０１２１】
また、本実施形態においては、音声対話装置は、車両１０に搭載されるものとしたが、車両以外の移動体に搭載されるものとしてもよい。さらに、移動体に限らず、使用者が発話により対象を操作するシステムに適用可能である。この場合、使用者が置かれている状況としては、例えば、使用者の動作状態（歩行中等）や対話の時間帯等を用いることができる。
【図面の簡単な説明】
【０１２２】
【図１】本発明の実施形態である音声対話装置の機能ブロック図。
【図２】図１の音声対話装置の言語モデル、構文モデルの構成を示す説明図。
【図３】図１の音声対話装置の全体的な作動（音声対話処理）を示すフローチャート。
【図４】図３の音声対話処理における言語モデルを用いた音声認識処理を示す説明図。
【図５】図３の音声対話処理における構文モデルを用いた構文解析処理を示す説明図。
【図６】図３の音声対話処理におけるシナリオを決定する処理に用いるフォームを示す説明図。
【図７】図３の音声対話処理における対話可能時間を算出する処理を示すフローチャート。
【図８】図３の音声対話処理におけるシナリオを決定する処理を示す説明図。
【図９】図３の音声対話処理における対話例を示す図。
【図１０】図３の音声対話処理における他の対話例を示す図。
【図１１】図３の音声対話処理における他の対話例を示す図。
【符号の説明】
【０１２３】
１…音声対話ユニット、２…マイク、３…走行環境検出部、４…スピーカ、５…ディスプレイ、６ａ〜６ｃ…機器、１０…車両、１１…音声認識部、１２…構文解析部、１３…シナリオ制御部、１４…音声合成部、１５…音響モデル、１６…言語モデル、１７…構文モデル、１８…シナリオデータベース、１９…音素モデル、３１…対話制御部、３２…対話可能時間算出部、３３…使用者特性検出部、３４…情報重要度判断部、３５…操作履歴格納部。
【図１】
2008233678.tif 000003
【図２】
2008233678.tif 000004
【図３】
2008233678.tif 000005
【図４】
2008233678.tif 000006
【図５】
2008233678.tif 000007
【図６】
2008233678.tif 000008
【図７】
2008233678.tif 000009
【図８】
2008233678.tif 000010
【図９】
2008233678.tif 000011
【図１０】
2008233678.tif 000012
【図１１】
2008233678.tif 000013