(57)【要約】【課題】音声応答の出力中にユーザからの音声入力があると、出力中の音声応答がユーザにとって重要であるか否かをより的確に判断可能にした音声応対話装置を提供する。【解決手段】入力音声として認識される単語である認識語、入力音声に対応して出力するための音声応答、認識語および音声応答の優先度、認識語の入力履歴、ならびに音声応答の出力履歴が格納された記憶部と、音声応答の出力中に入力音声を受け付けると、入力音声に重畳する音声応答を除去して認識語を特定し、音声応答および認識語の優先度を入力履歴および出力履歴を用いて補正し、音声応答と認識語の補正後の優先度を比較し、音声応答の方が高ければ出力を維持し、認識語の方が高ければ、音声応答を中断する制御部とを有する。【選択図】図１
2008003517.tif 000002
【特許請求の範囲】
【請求項１】
入力音声として認識される単語である認識語、該入力音声に対応して出力するための音声応答の情報、該認識語および該音声応答の優先度の情報、前記認識語の入力回数の情報を含む入力履歴、ならびに前記音声応答の出力回数および出力が完了する前に中断した回数の情報を含む出力履歴が格納された記憶部と、
前記音声応答の出力中に前記入力音声を受け付けると、該入力音声に重畳する該音声応答を除去して前記認識語を特定し、該音声応答および該認識語の前記記憶部に格納された優先度を前記入力履歴および前記出力履歴の情報を用いて補正し、該音声応答と該認識語の補正後の優先度を比較し、該音声応答の方の優先度が高ければ出力を維持し、該認識語の方の優先度が高ければ、該音声応答の出力を中断する制御部と、
を有する音声対話装置。
【請求項２】
前記入力履歴には、前記認識語に対応して該認識語の入力された時刻の履歴の情報である時系列情報が含まれ、
前記制御部は、
受け付け中の認識語の優先度を補正する際、前記時系列情報を参照し、該認識語の入力が最後に記録された時刻からの経過時間が短いほど該認識語の優先度を高い値に補正する請求項１記載の音声対話装置。
【請求項３】
前記出力履歴には、前記音声応答に対応して該音声応答の出力された時刻の履歴の情報である時系列情報が含まれ、
前記制御部は、
出力中の音声応答の優先度を補正する際、前記時系列情報を参照し、該音声応答の出力が最後に記録された時刻からの経過時間が短いほど該音声応答の優先度を低い値に補正する請求項１または２記載の音声対話装置。
【請求項４】
前記記憶部には、ユーザ毎に異なる識別子、ユーザにより入力された認識語、および該認識語に対応して出力された音声応答の情報を含むユーザ固有履歴情報が格納され、
前記制御部は、
前記識別子が入力されると、入力された識別子に一致する識別子を前記ユーザ固有履歴情報で特定し、特定したユーザ固有履歴情報にしたがって、受け付け中の認識語と出力中の音声応答の優先度を補正する請求項１から３のいずれか１項記載の音声対話装置。
【請求項５】
入力音声に対して音声応答を出力する情報処理装置による音声対話方法であって、
入力音声として認識される単語である認識語、該入力音声に対応して出力するための音声応答の情報、該認識語および該音声応答の優先度の情報、前記認識語の入力回数の情報を含む入力履歴、ならびに前記音声応答の出力回数および出力が完了する前に中断した回数の情報を含む出力履歴を格納し、
前記音声応答の出力中に前記入力音声を受け付けると、該入力音声に重畳する該音声応答を除去して前記認識語を特定し、
出力中の音声応答および特定した認識語の前記記憶部に格納された優先度を前記入力履歴および前記出力履歴の情報を用いて補正し、
前記音声応答と前記認識語の補正後の優先度を比較し、
比較の結果、前記音声応答の方の優先度が高ければ出力を維持し、前記認識語の方の優先度が高ければ、該音声応答の出力を中断する音声対話方法。
【請求項６】
前記入力履歴は、前記認識語に対応して該認識語の入力された時刻の履歴の情報である時系列情報を含み、
受け付け中の認識語の優先度を補正する際、前記時系列情報を参照し、
受け付け中の認識語が最後に入力された時刻からの経過時間が短いほど該認識語の優先度を高い値に補正する請求項５記載の音声対話方法。
【請求項７】
前記出力履歴は、前記音声応答に対応して該音声応答の出力された時刻の履歴の情報である時系列情報を含み、
出力中の音声応答の優先度を補正する際、前記時系列情報を参照し、
出力中の音声応答について最後に出力した時刻からの経過時間が短いほど該音声応答の優先度を低い値に補正する請求項５または６記載の音声対話方法。
【請求項８】
前記記憶部にユーザ毎に異なる識別子、ユーザにより入力された認識語、および該認識語に対応して出力された音声応答の情報を含むユーザ固有履歴情報を格納し、
前記識別子が入力されると、入力された識別子に一致する識別子を前記ユーザ固有履歴情報で特定し、
特定したユーザ固有履歴情報にしたがって、受け付け中の認識語と出力中の音声応答の優先度を補正する請求項５から７のいずれか１項記載の音声対話方法。
【請求項９】
入力音声に対して音声応答を出力するコンピュータに実行させるためのプログラムであって、
入力音声として認識される単語である認識語、該入力音声に対応して出力するための音声応答の情報、該認識語および該音声応答の優先度の情報、前記認識語の入力回数の情報を含む入力履歴、ならびに前記音声応答の出力回数および出力が完了する前に中断した回数の情報を含む出力履歴を格納し、
前記音声応答の出力中に前記入力音声を受け付けると、該入力音声に重畳する該音声応答を除去して前記認識語を特定し、
出力中の音声応答および特定した認識語の前記記憶部に格納された優先度を前記入力履歴および前記出力履歴の情報を用いて補正し、
前記音声応答と前記認識語の補正後の優先度を比較し、
比較の結果、前記音声応答の方の優先度が高ければ出力を維持し、前記認識語の方の優先度が高ければ、該音声応答の出力を中断する処理を前記コンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザとの間で音声を用いて対話を行う音声対話装置、音声対話方法、およびその方法をコンピュータに実行させるためのプログラムに関する。
【背景技術】
【０００２】
従来の音声対話装置は、マイクロホンからユーザ（話者）の入力音声を認識した情報に応じてスピーカから音声応答を出力することで、ユーザとの対話を実現している。音声対話装置には、自装置から出力中の音声応答をマイクロホンで受け付けないようにするためのパージイン機能が設けられているものがある。パージイン機能は、装置が音声を認識するときに自ら出力中である音声応答をユーザからの入力音声として認識しないようにするため、ユーザの声による音声信号と出力中の音声応答による音声応答信号とがマイクロホンから入力されて重畳されている音声応答部分について、音声応答信号を入力音声から除去するものである。
【０００３】
また、従来の音声対話装置は、音声応答の出力の途中にユーザの入力音声を受け付けると、音声応答の出力を中断する装置と、入力音声を記録しながら音声応答の出力を優先する装置とに大別される。
【０００４】
音声応答の出力を中断する音声対話装置は、様々なエコーや雑音を起因とする不測の入力音声によりユーザの意図に反して音声応答の出力が中断するという問題があった。
【０００５】
一方、音声応答の出力を優先する音声対話装置は、音声応答が非常に長い場合にユーザの入力音声を受け付けた後も音声応答を出力し続け、ユーザに対して長い待ち時間を生じさせてしまうという問題があった。
【０００６】
このような問題に対し、ユーザにとっての利便性を向上させる目的で、様々な工夫がなされている。例えば、音声応答の内容をユーザの音声対話装置の使用の習熟度に応じて、自動的に変更する音声対話システムが開示されている（特許文献１参照）。また、入力側で発生する様々なエコーや雑音を起因とする不測の入力音声に伴い、システムが誤認識により音声応答の出力を中断することやシステムの音声認識が誤動作することを抑止するために、入力音声をフィルタリングする音声対話システムが開示されている（特許文献２参照）。
【特許文献１】特開2004-333543号公報
【特許文献２】特開2004-144791号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
従来の音声対話装置のうち音声応答の出力を優先する装置は、パージイン機能を利用することにより音声応答の出力中であってもユーザが発話した音声を受け付けることが可能である。特許文献１に開示された音声対応装置には、つぎのような問題が起こり得る。特許文献１の音声対話装置は、対応中のユーザのシステムに対する使用の習熟度が低いと判断すると、ユーザへの音声応答を詳細な内容で、ゆっくりとした速度で出力する。このユーザのシステムに対する習熟度が高ければ、ユーザは出力中の音声応答の内容を予測できるため、出力を中断して欲しいと感じるが、音声応答の出力が終了するまで待たなければならないという問題がある。
また、音声応答の出力を中断することが可能な音声対話装置は、入力音声を受け付けると音声応答の重要性を考慮することなく出力を中断する。したがって、そのシステムを初めて使用するユーザのための音声ガイド、ならびにシステムの習熟度を問わずユーザ全員への注意喚起および警告などの重要な音声応答がユーザに対し十分に伝えられないという問題がある。
本発明は、上述した問題点を解決するためになされたものであり、音声応答の出力中にユーザからの音声入力があると、出力中の音声応答がユーザにとって重要であるか否かをより的確に判断可能にした音声応対話装置、音声対話方法、およびその方法をコンピュータに実行させるためのプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するための本発明の音声対話装置は、
入力音声として認識される単語である認識語、該入力音声に対応して出力するための音声応答の情報、該認識語および該音声応答の優先度の情報、前記認識語の入力回数の情報を含む入力履歴、ならびに前記音声応答の出力回数および出力が完了する前に中断した回数の情報を含む出力履歴が格納された記憶部と、
前記音声応答の出力中に前記入力音声を受け付けると、該入力音声に重畳する該音声応答を除去して前記認識語を特定し、該音声応答および該認識語の前記記憶部に格納された優先度を前記入力履歴および前記出力履歴の情報を用いて補正し、該音声応答と該認識語の補正後の優先度を比較し、該音声応答の方の優先度が高ければ出力を維持し、該認識語の方の優先度が高ければ、該音声応答の出力を中断する制御部とを有する構成である。
【０００９】
本発明によれば、音声応答の出力中に入力音声を受け付けると、音声応答の出力履歴および入力音声の認識語の入力履歴を考慮した上で優先度が補正され音声応答の出力を中断するか否かが判定される。音声応答出力の維持または中断が履歴を考慮して決定されるため、実際の状況により適した応答を人に対してすることが可能となる。
【００１０】
また、上記本発明の音声対話装置において、
前記入力履歴には、前記認識語に対応して該認識語の入力された時刻の履歴の情報である時系列情報が含まれ、
前記制御部は、
受け付け中の認識語の優先度を補正する際、前記時系列情報を参照し、該認識語の入力が最後に記録された時刻からの経過時間が短いほど該認識語の優先度を高い値に補正することとしてもよい。
【００１１】
この場合、入力中の認識語が前回入力されてからの経過時間が短いほどユーザにとって重要であると考えられ、認識語が現在出力中の音声応答よりも優先される可能性が高くなるため、ユーザが必要とする音声応答をより早く出力することが可能となる。
【００１２】
また、上記本発明の音声対話装置において、
前記出力履歴には、前記音声応答に対応して該音声応答の出力された時刻の履歴の情報である時系列情報が含まれ、
前記制御部は、
出力中の音声応答の優先度を補正する際、前記時系列情報を参照し、該音声応答の出力が最後に記録された時刻からの経過時間が短いほど該音声応答の優先度を低い値に補正することとしてもよい。
【００１３】
この場合、出力中の音声応答が前回出力されてからの経過時間が短いほどユーザはその内容を覚えているものと考えられ、音声応答が現在入力中の認識語よりも優先されない可能性が高くなるため、ユーザにとって不要な音声応答を中断することが可能となる。
【００１４】
また、上記本発明の音声対話装置において、
前記記憶部には、ユーザ毎に異なる識別子、ユーザにより入力された認識語、および該認識語に対応して出力された音声応答の情報を含むユーザ固有履歴情報が格納され、
前記制御部は、
前記識別子が入力されると、入力された識別子に一致する識別子を前記ユーザ固有履歴情報で特定し、特定したユーザ固有履歴情報にしたがって、受け付け中の認識語と出力中の音声応答の優先度を補正してもよい。
【００１５】
この場合、ユーザ毎に音声応答の内容や音声応答を中断するか否かの判断が異なるため、ユーザ毎により適した対応することが可能となる。
【発明の効果】
【００１６】
本発明では、音声応答の出力中に入力音声を受け付けると、音声応答の出力履歴および入力音声の入力履歴を考慮した上で優先度を決定しているため、音声応答の出力を中断するか否かについて、入力音声を受け付けたときの状況により適した判断をすることが可能となる。その結果、従来よりも、人と対話しているのと近い感覚を得ることができる。
【発明を実施するための最良の形態】
【００１７】
本実施形態の音声対話装置の構成について、図面を参照しながら説明する。
【００１８】
図１は本実施形態の音声対話装置の一構成例を示すブロック図である。
【００１９】
図１に示すように、本実施形態の音声対話装置は、入力手段５から入力される音声を認識するための用語およびそれに対する音声応答を含む情報を格納するための対話記憶部３と、入力音声の入力履歴および音声応答の出力履歴を格納するための対話履歴記憶部４と、入力音声に対応して音声応答を出力手段６に出力させる制御部７とを有する。なお、図には示さないが、制御部７は、プログラムにしたがって所定の処理を実行するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）と、プログラムを格納するためのメモリとを有する。
【００２０】
図１に示すように、制御部７は、音声応答除去手段１１および音声認識手段１２を含む音声入力手段１と、割り込み判定手段２１、優先度決定手段２３および対話制御手段２２を含む音声対話手段２とを有する。これらの手段は、ＣＰＵがプログラムを実行することで、音声対話装置内に仮想的に構成される。
【００２１】
次に、対話記憶部３について説明する。対話記憶部３には、音声認識手段１２で入力音声から認識される言葉である認識語およびそれに付随する情報が記述された認識語リストと、音声応答するための単語が記述された音声応答リストとが格納されている。
【００２２】
図２は認識語リストの一例を示す表である。図２に示すように、認識語リストには、認識語の識別子である認識語ＩＤ、その認識語の優先度、およびその認識語に対応する音声応答の情報が認識語ごとに記述されている。
【００２３】
図３は音声応答リストの一例を示す表である。図３に示すように、音声応答リストには、音声応答の識別子である音声応答ＩＤ、音声応答の内容、および音声応答の優先度が音声応答の内容ごとに記述されている。例えば、図２および図３から、認識語「おはよう」に対応する音声応答に「おはよう」および「おはようございます」があることがわかる。それぞれの優先度は、認識語「おはよう」が３であり、音声応答「おはよう」および「おはようございます」は２であることがわかる。
【００２４】
次に、対話履歴記憶部４について説明する。対話履歴記憶部４には、入力された認識語の履歴および出力された音声応答の履歴が格納される。
【００２５】
図４は認識語の入力履歴の一例を示す表である。図４に示すように、認識語ＩＤごとに認識語の総入力回数を保存する。
【００２６】
図５は音声応答の出力履歴の一例を示す表である。図５に示すように、音声応答ＩＤごとに総出力回数および音声応答の出力が完了する前に中断された回数である総中断回数を保存する。例えば、図２および図４において、認識語「おはよう」の総入力回数は９８回である。また図３および図５において、音声応答「おはようございます」の総出力回数は４３回であり、総中断回数は１１回である。
【００２７】
次に、制御部７の音声入力手段１について説明する。
【００２８】
音声応答除去手段１１は、入力手段５から音声信号の入力があったときに音声対話手段２から出力される音声応答信号を除去するパージイン機能を有する。パージイン機能により音声応答信号を除去した音声信号を音声認識手段１２に出力する。なお、音声応答除去手段１１で用いるパージイン機能の実施形態は、特に限定されるものでなく従来と同様でよい。ただし、音声認識率を向上させるために、音声応答信号の除去だけでなく様々な雑音も除去できることが望ましい。
【００２９】
音声認識手段１２は、音声応答除去手段１１から入力される音声信号を認識し、認識した処理の結果を音声対話手段２に出力する。また、音声認識手段１２は、ユーザからの発話を認識する度に、対話履歴記憶部４に認識語および認識語に付随する情報を記録する。なお、音声認識手段１２で用いる音声を認識する方法は、特に限定されるものでなく従来と同様であればよい。
【００３０】
次に、音声対話手段２について説明する。
【００３１】
割込み判定手段２１は、対話制御手段２２が音声応答を出力中に音声認識手段１２から認識語の入力を受け付けると、その認識語と出力中の音声応答とについて優先度の比較を行う。このとき、音声応答の出力中に複数の認識語を受け付けると、その度に優先度の比較を行う。優先度の比較を行った結果、認識語の優先度が高いときに、対話制御手段２２にその認識語を出力する。反対に出力中の音声応答の優先度が高かったときは、その音声応答の出力が完了したことを対話制御手段２２から入力し、その後音声応答が出力中に受け付けた認識語の中で最も優先度の高い認識語を対話制御手段２２に出力する。また、判定する認識語と音声応答を優先度決定手段２３に対して出力し、それぞれの優先度を優先度決定手段２３から受け付ける。なお、対話制御手段２２が音声応答を出力していないときに音声認識手段１２から認識語の入力があると、入力された認識語そのものを対話制御手段２２に出力する。
【００３２】
優先度決定手段２３は、割込み判定手段２１から認識語および出力中の音声応答を受け付け、それぞれの優先度を決定し、割込み判定手段２１に出力する。認識語の優先度および出力中の音声応答の優先度を決定する際に、優先度決定手段２３は、対話履歴記憶部４に格納される履歴情報を利用して、基準となる優先度について次のような補正を実施する。ここでいう基準となる優先度とは、対話記憶部３に格納されている認識語および音声応答の優先度のことである。
【００３３】
図４に示した認識語ＩＤ「３００」のように総入力回数が多い場合、その認識語はユーザが好んでいる、あるいはユーザにとって必要性が高いと考えられる。したがって、優先度決定手段２３は、優先度をその基準より高くなるようにする。
【００３４】
音声応答出力中にユーザから音声が複数回入力された場合、ユーザが早く次の応答が開始することを期待していると考えられる。したがって、優先度決定手段２３は、音声応答出力に音声認識された認識語の優先度をその基準より高くなるようにする。
【００３５】
同一の認識語が複数回入力される場合、最後に記録された時刻からの経過時間が短いほどその認識語は、ユーザが好んでいる、あるいはユーザにとって必要性が高いと考えられる。したがって、優先度決定手段２３は、最後に記録された時刻からの経過時間が所定の時間よりも短い場合、優先度をその基準より高くなるようにする。この場合、図６に示すような認識語の入力された時刻の履歴である時系列情報が対話履歴記憶部４に格納されるものとする。さらに、格納された時系列情報を分析して、複数ある発話パターンからユーザの発話パターンを抽出し、優先度を補正してもよい。
【００３６】
図５に示した音声応答ＩＤ「１０１」のように総出力回数が多い場合、その音声応答は、ユーザの記憶に残っている可能性が高い。そのため、音声応答の冒頭を聞くだけで、その後に続く内容が容易に類推可能である。したがって、優先度決定手段２３は、その音声応答の優先度をその基準より低くなるようにする。
【００３７】
図５に示した音声応答ＩＤ「３０１」のように総出力回数に対する中断回数の割合が高い場合、その音声応答は、ユーザが応答音声の全てを聞く必要がないと判断しているものである。したがって、優先度決定手段２３は、優先度をその基準より低くなるようにする。
【００３８】
図５に示した音声応答ＩＤ「２０３」のように総出力回数が０回である場合、その音声応答は、ユーザにとって未知のものである。そのため、確実に最後まで出力することが望ましい。したがって、優先度決定手段２３は、優先度をその基準より高くなるようにする。
【００３９】
これから出力しようとする音声応答について前回出力された時刻と現在時刻との間が所定の時間よりも短い場合、その音声応答は総出力回数が少なかったとしてもユーザの記憶に残っている可能性は高い。そのため、優先度決定手段２３は、優先度をその基準よりも低くなるようにする。反対に前回出力された時刻と現在時刻との間が所定の時間よりも長い場合、優先度をその基準よりも高くなるようにする。いずれの場合も、図７に示すような音声応答が出力された時刻の履歴である時系列情報が対話履歴記憶部４に格納されるものとする。
【００４０】
ユーザのシステムに対する習熟度が異なる場合、習熟度に対応して認識語と音声応答の優先度を補正してもよい。この場合、習熟度の判定については、従来と同様の方法でよい。
【００４１】
対話制御手段２２は、割込み判定手段２１から認識語が入力されると、その認識語に対する音声応答を出力手段６を介して出力する。このとき、その認識語を対話記憶部３内で検索し、その認識語に対応する音声応答を見つけて読み出す。対話制御手段２２は、音声応答を出力中に割込み判定手段認識語２１から認識語が入力されると出力中の音声応答を中断するという制御を行う。そして、その認識語に対応する音声応答を前述した方法で出力する。このとき、後から出力した音声応答の信号を音声応答除去手段１１へ出力する。対話制御手段２２は、音声応答を出力するたびに、対話履歴記憶部４に音声応答および音声応答に付随した情報を記録する。
【００４２】
さらに、対話制御手段２２は、音声応答の出力だけでなく、コマンドの出力およびタスクを実行してもよい。ここでいうコマンドの出力とは、例えばカーナビゲーションシステムなどの音声をインターフェースとして利用できるシステムにおいて、その構成に含まれるリモートコントロールやボタン操作の入力に対応した機能を出力することである。一方、タスクを実行するというのは、同じくカーナビゲーションシステムなどの音声をインターフェースとして利用できるシステムにおいて、音声入力に対して前述したコマンドだけでなく、認識したことを示す効果音などを含めた音声応答も出力することである。なお、コマンドおよび複数のコマンドを組み合わせたタスクは、それぞれ優先度を付与された状態で図１に示した対話記憶部３に記憶されているものとする。これにより、コマンドの出力中やタスクを実行中に音声入力があった場合、優先度に対応した出力が可能となりユーザの利便性が向上する。
【００４３】
なお、複数のユーザが本発明の音声対話装置を利用する場合、ユーザ毎に認識語および音声応答の優先度を補正してもよい。例えば、ユーザ毎に異なる識別子、ユーザにより入力された認識語、および該認識語に対応して出力された音声応答の情報であるユーザ固有履歴情報を利用すると、ユーザから前記識別子が入力され、入力された識別子に一致する識別子を前記ユーザ固有情報で特定し、該ユーザ固有履歴情報にしたがって、受け付け中の認識語と出力中の音声応答の優先度を補正する。
【００４４】
この場合、ユーザ毎に音声応答の内容や音声応答を中断するか否かの判断が異なるため、ユーザ毎により適した対応することが可能となる。この場合、前記ユーザ固有履歴情報は、対話履歴記憶部４に格納されるものとする。さらに、ユーザを識別する手段は、ユーザ自身による識別子の入力以外の方法であってもよい。次に、本実施形態の音声対話装置の動作について、図１および図８を参照して説明する。以下に説明する動作が、ユーザから入力された音声を認識するたびに行われる。
【００４５】
図８は本実施形態の音声対話装置の動作手順を示すフローチャートである。
【００４６】
音声入力手段１は、ユーザから入力された音声を認識すると（ステップ１０１）、対話履歴記憶部４に認識語を格納する（ステップ１０２）。この動作により認識語が入力履歴として格納される。続いて、音声対話手段２はユーザへの音声応答が出力中かどうか確認する（ステップ１０３）。音声応答が出力中でない場合、認識語に対応する音声応答を出力した後（ステップ１０４）、対話履歴記憶部４に応答音声を格納し（ステップ１０５）、動作を終了する。これにより、音声応答が出力履歴として格納される。
【００４７】
反対に、音声応答が出力中である場合、音声対話手段２は出力中の音声応答の優先度と入力された認識語の優先度について、どちらが高いか比較をする（ステップ１０６）。
【００４８】
認識語の優先度が出力中の音声応答の優先度より高い場合、出力中の音声応答を中断し（ステップ１０７）、ステップ１０４において認識語に対応する音声応答を出力する。その後、ステップ１０７において中断した音声応答と認識語に対応した音声応答を対話履歴部４に格納し（ステップ１０５）、動作を終了する。これにより、中断した音声応答の中断履歴および認識語に対応した音声応答の出力履歴として格納される。
【００４９】
ステップ１０６で、認識語の優先度が出力中の音声応答の優先度より低い場合、音声対話手段２は、認識語を保持した状態で、出力中の音声応答が終了するまで、その認識語に対応する動作を待機する（ステップ１０８）。ただし、待機中に音声対話手段２は、新たな認識語の入力を受け付けることができる。
【００５０】
新たな認識語の入力がある場合（ステップ１０９）、対話履歴記憶部４にその認識語の入力履歴を格納した後（ステップ１１０）、その認識語の優先度と出力中の音声応答の優先度について、ステップ１０６に戻ってどちらが高いか比較する。認識語の優先度が出力中の音声応答の優先度より高い場合、上述のステップ１０７、ステップ１０４およびステップ１０５の処理を行った後、動作を終了する。認識語の優先度が出力中の音声応答の優先度より低い場合、音声対話手段２は、認識語を受け付ける度に上述のステップ１０９、ステップ１１０、ステップ１０６およびステップ１０８の一連の動作を繰り返す。そして、出力中の音声応答が終了した後に、音声対話手段２は、ステップ１０８で待機していた動作であるステップ１０９で入力された認識語について上述のステップ１０４、ステップ１０５の処理を行う。このとき、ステップ１０９において複数の認識語が入力されている場合、その認識語の中から最も優先度の高い認識語について前述と同じ処理を行う。
【００５１】
次に、図８で説明した動作手順のうち優先度決定手段２３の動作を抜き出して、詳しく説明する。
【００５２】
図９は、ステップ１０６において認識語の優先度を出力する動作を示すフローチャートである。
【００５３】
優先度決定手段２３は、対話記憶部３に格納されている認識語についての基準となる優先度を読み込む（ステップ２０１）。続いて、対話履歴記憶部４に格納された認識語の入力履歴を読み込む（ステップ２０２）。このとき、認識語の入力履歴があるか否かを判定し（ステップ２０３）、認識語の入力履歴がない場合、優先度決定手段２３は優先度を補正しない。反対に、認識語の入力履歴がある場合、優先度決定手段２３は、入力履歴に応じて優先度を補正する（ステップ２０４）。最後に認識語の優先度を決定して（ステップ２０５）動作を終了する。
【００５４】
図１０は、ステップ１０６において音声応答の優先度を出力する動作を示すフローチャートである。
【００５５】
優先度決定手段２３は、対話記憶部３に格納されている音声応答についての基準となる優先度を読み込む（ステップ３０１）。続いて、対話履歴記憶部４に格納された音声応答の出力履歴を読み込む（ステップ３０２）。このとき、音声応答の出力履歴があるか否かを判定し（ステップ３０３）、音声応答の出力履歴がない場合、優先度決定手段２３は、優先度を補正しない。反対に音声応答の出力履歴がある場合、優先度決定手段２３は、出力履歴に応じて優先度を補正する（ステップ３０４）。最後に音声応答の優先度を決定して（ステップ３０５）動作を終了する。
【００５６】
次に、図９で説明したステップ２０４において、優先度決定手段２３が実行する優先度の補正動作を説明する。
【００５７】
図１１は、ステップ２０４における認識語の優先度を補正する動作を示すフローチャートである。
【００５８】
優先度決定手段２３は、認識語の総入力回数について、平均入力回数より多いか否か判定する（ステップ４０１）。ここでいう平均入力回数とは、認識語全てについて入力回数の合計値を認識語の全数で割った数値のことである。そして、ステップ４０１で総入力回数が平均入力数より多い場合、基準となる優先度に対し＋１を加えるように補正する（ステップ４０２）。一方、ステップ４０１で総入力回数が平均入力数以下の場合、基準となる優先度に対し−１を加えるように補正する（ステップ４０３）。以上で認識語の優先度を補正する動作を終了する。
【００５９】
次に、図８で説明したステップ３０４において、優先度決定手段２３が実行する優先度の補正動作を説明する。
【００６０】
図１２は、ステップ３０４における音声応答の優先度を補正する動作を示すフローチャートである。
【００６１】
優先度決定手段２３は、音声応答について、中断確率を読み込む（ステップ５０１）。ここでいう中断確率とは、総出力回数を総中断回数で割った数値のことである。
【００６２】
次に、中断確率が５０％以下であるか否か判定する（ステップ５０２）。中断確率が５０％以下の場合、基準となる優先度に対して＋１を加えるように補正する（ステップ５０３）。反対に中断確率が５０％より大きい場合、基準となる優先度に対して−１を加えるように補正する（ステップ５０４）。以上で音声応答の優先度を補正する動作を終了する。
【００６３】
本実施形態の音声対話装置は、上述したように音声応答の出力中に入力音声を受け付けると、音声応答の出力履歴および入力音声の認識語の入力履歴を考慮した上で優先度を補正し、音声応答の出力を中断するか否か判定する。音声応答出力の維持または中断について履歴を考慮して決定するため、実際の状況により適した応答を人に対してすることが可能となる。その結果、従来よりも、人と対話しているのと近い感覚を得ることができる。
【００６４】
なお、本実施形態として、コンピュータに実行させるためのプログラムに本発明の音声対話装置の入出力制御方法を適用してもよい。
【００６５】
また、本実施形態として、上記コマンドの出力や上記タスクの実行を行うカーナビゲーションシステム、およびコミュニケーション型ロボットに上述した音声対話装置の入出力制御を実行するためのプログラムを適用してもよい。このプログラムを適用したコミュニケーション型ロボットの一例について、実施例１で説明する。
【実施例１】
【００６６】
本実施例は、上述した本実施形態の音声対話装置を、人間と対話するためのロボットに適用した場合である。本実施例の音声対話装置の構成は図１から図５に示した構成と同様であるため、その詳細な説明を省略する。なお、全認識語の平均入力回数は、５０回である。
【００６７】
次に、本実施例のロボットの動作を説明する。
【００６８】
ロボットが音声応答を出力していない状態において、認識語「こんにちは」を認識すると、対話制御部２２は対話記憶部３の認識語リストおよび音声応答リストを参照し、認識語「こんにちは」に対応する音声応答「ハロー」「こんにちは」「久しぶり元気だった？」の中から一つランダムで選択して出力する。
【００６９】
ロボットが図３に示す音声応答「ダンスをすることが出来ます。ダンスしてといってみて」を出力中において、認識語「おはよう」を受け付けると、割り込みの可否を判定するため、認識語および音声応答の優先度を演算して、どちらの優先度が高いか比較を行う。認識語「おはよう」の優先度は、対話記憶部３の認識語リストから基準優先度が「３」であり、対話履歴記憶部４の入力履歴から入力回数が５０回以上であることから、基準値に補正値「＋１」を加えた『４』になる。音声応答「ダンスをすることができます。ダンスしてといってみて」の優先度は、対話記憶部３の音声応答リストから基準優先度が「４」であり、対話履歴記憶部３の出力履歴から中断確率が５０％を超えていることから、基準値に補正値「−１」を加えた『３』になる。この場合、認識語の優先度が音声応答の優先度を上回るため、音声応答「ダンスをすることができます。ダンスしてといってみて」の発話を中断し、認識語「おはよう」に対応する応答音声を出力する。
【００７０】
このようにして、ロボットは、音声応答出力中に人から挨拶を受けると、音声応答の出力を中断し、人からの挨拶に応じて人に挨拶を返す。その結果、このロボットと対話する人は、実際に人と会話したときと同じような感覚を得ることができる。
【図面の簡単な説明】
【００７１】
【図１】本実施形態の音声対話装置の一構成例を示すブロック図である。
【図２】認識語リストの一例を示す表である。
【図３】音声応答リストの一例を示す表である。
【図４】認識語の入力履歴の一例を示す表である。
【図５】音声応答の出力履歴の一例を示す表である。
【図６】認識語が入力された時刻の履歴を示す表である。
【図７】音声応答が出力された時刻の履歴を示す表である。
【図８】本実施形態の音声対話装置の動作手順を示すフローチャートである。
【図９】認識語の優先度を出力する動作を示すフローチャートである。
【図１０】音声応答の優先度を出力する動作を示すフローチャートである。
【図１１】認識語の優先度を補正する動作を示すフローチャートである。
【図１２】音声応答の優先度を補正する動作を示すフローチャートである。
【符号の説明】
【００７２】
１    音声入力手段
２    音声対話手段
３    対話記憶部
４    対話履歴記憶部
５    入力手段
６    出力手段
７    制御部
１１  音声応答除去手段
１２  音声認識手段
２１  割込み判定手段
２２  対話制御手段
２３  優先度決定手段
【図１】
2008003517.tif 000003
【図２】
2008003517.tif 000004
【図３】
2008003517.tif 000005
【図４】
2008003517.tif 000006
【図５】
2008003517.tif 000007
【図６】
2008003517.tif 000008
【図７】
2008003517.tif 000009
【図８】
2008003517.tif 000010
【図９】
2008003517.tif 000011
【図１０】
2008003517.tif 000012
【図１１】
2008003517.tif 000013
【図１２】
2008003517.tif 000014