音声対話装置、音声対話方法、およびプログラム
【課題】音声応答の出力中にユーザからの音声入力があると、出力中の音声応答がユーザにとって重要であるか否かをより的確に判断可能にした音声応対話装置を提供する。
【解決手段】入力音声として認識される単語である認識語、入力音声に対応して出力するための音声応答、認識語および音声応答の優先度、認識語の入力履歴、ならびに音声応答の出力履歴が格納された記憶部と、音声応答の出力中に入力音声を受け付けると、入力音声に重畳する音声応答を除去して認識語を特定し、音声応答および認識語の優先度を入力履歴および出力履歴を用いて補正し、音声応答と認識語の補正後の優先度を比較し、音声応答の方が高ければ出力を維持し、認識語の方が高ければ、音声応答を中断する制御部とを有する。
【解決手段】入力音声として認識される単語である認識語、入力音声に対応して出力するための音声応答、認識語および音声応答の優先度、認識語の入力履歴、ならびに音声応答の出力履歴が格納された記憶部と、音声応答の出力中に入力音声を受け付けると、入力音声に重畳する音声応答を除去して認識語を特定し、音声応答および認識語の優先度を入力履歴および出力履歴を用いて補正し、音声応答と認識語の補正後の優先度を比較し、音声応答の方が高ければ出力を維持し、認識語の方が高ければ、音声応答を中断する制御部とを有する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ユーザとの間で音声を用いて対話を行う音声対話装置、音声対話方法、およびその方法をコンピュータに実行させるためのプログラムに関する。
【背景技術】
【0002】
従来の音声対話装置は、マイクロホンからユーザ(話者)の入力音声を認識した情報に応じてスピーカから音声応答を出力することで、ユーザとの対話を実現している。音声対話装置には、自装置から出力中の音声応答をマイクロホンで受け付けないようにするためのパージイン機能が設けられているものがある。パージイン機能は、装置が音声を認識するときに自ら出力中である音声応答をユーザからの入力音声として認識しないようにするため、ユーザの声による音声信号と出力中の音声応答による音声応答信号とがマイクロホンから入力されて重畳されている音声応答部分について、音声応答信号を入力音声から除去するものである。
【0003】
また、従来の音声対話装置は、音声応答の出力の途中にユーザの入力音声を受け付けると、音声応答の出力を中断する装置と、入力音声を記録しながら音声応答の出力を優先する装置とに大別される。
【0004】
音声応答の出力を中断する音声対話装置は、様々なエコーや雑音を起因とする不測の入力音声によりユーザの意図に反して音声応答の出力が中断するという問題があった。
【0005】
一方、音声応答の出力を優先する音声対話装置は、音声応答が非常に長い場合にユーザの入力音声を受け付けた後も音声応答を出力し続け、ユーザに対して長い待ち時間を生じさせてしまうという問題があった。
【0006】
このような問題に対し、ユーザにとっての利便性を向上させる目的で、様々な工夫がなされている。例えば、音声応答の内容をユーザの音声対話装置の使用の習熟度に応じて、自動的に変更する音声対話システムが開示されている(特許文献1参照)。また、入力側で発生する様々なエコーや雑音を起因とする不測の入力音声に伴い、システムが誤認識により音声応答の出力を中断することやシステムの音声認識が誤動作することを抑止するために、入力音声をフィルタリングする音声対話システムが開示されている(特許文献2参照)。
【特許文献1】特開2004-333543号公報
【特許文献2】特開2004-144791号公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
従来の音声対話装置のうち音声応答の出力を優先する装置は、パージイン機能を利用することにより音声応答の出力中であってもユーザが発話した音声を受け付けることが可能である。特許文献1に開示された音声対応装置には、つぎのような問題が起こり得る。特許文献1の音声対話装置は、対応中のユーザのシステムに対する使用の習熟度が低いと判断すると、ユーザへの音声応答を詳細な内容で、ゆっくりとした速度で出力する。このユーザのシステムに対する習熟度が高ければ、ユーザは出力中の音声応答の内容を予測できるため、出力を中断して欲しいと感じるが、音声応答の出力が終了するまで待たなければならないという問題がある。
また、音声応答の出力を中断することが可能な音声対話装置は、入力音声を受け付けると音声応答の重要性を考慮することなく出力を中断する。したがって、そのシステムを初めて使用するユーザのための音声ガイド、ならびにシステムの習熟度を問わずユーザ全員への注意喚起および警告などの重要な音声応答がユーザに対し十分に伝えられないという問題がある。
本発明は、上述した問題点を解決するためになされたものであり、音声応答の出力中にユーザからの音声入力があると、出力中の音声応答がユーザにとって重要であるか否かをより的確に判断可能にした音声応対話装置、音声対話方法、およびその方法をコンピュータに実行させるためのプログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
上記目的を達成するための本発明の音声対話装置は、
入力音声として認識される単語である認識語、該入力音声に対応して出力するための音声応答の情報、該認識語および該音声応答の優先度の情報、前記認識語の入力回数の情報を含む入力履歴、ならびに前記音声応答の出力回数および出力が完了する前に中断した回数の情報を含む出力履歴が格納された記憶部と、
前記音声応答の出力中に前記入力音声を受け付けると、該入力音声に重畳する該音声応答を除去して前記認識語を特定し、該音声応答および該認識語の前記記憶部に格納された優先度を前記入力履歴および前記出力履歴の情報を用いて補正し、該音声応答と該認識語の補正後の優先度を比較し、該音声応答の方の優先度が高ければ出力を維持し、該認識語の方の優先度が高ければ、該音声応答の出力を中断する制御部とを有する構成である。
【0009】
本発明によれば、音声応答の出力中に入力音声を受け付けると、音声応答の出力履歴および入力音声の認識語の入力履歴を考慮した上で優先度が補正され音声応答の出力を中断するか否かが判定される。音声応答出力の維持または中断が履歴を考慮して決定されるため、実際の状況により適した応答を人に対してすることが可能となる。
【0010】
また、上記本発明の音声対話装置において、
前記入力履歴には、前記認識語に対応して該認識語の入力された時刻の履歴の情報である時系列情報が含まれ、
前記制御部は、
受け付け中の認識語の優先度を補正する際、前記時系列情報を参照し、該認識語の入力が最後に記録された時刻からの経過時間が短いほど該認識語の優先度を高い値に補正することとしてもよい。
【0011】
この場合、入力中の認識語が前回入力されてからの経過時間が短いほどユーザにとって重要であると考えられ、認識語が現在出力中の音声応答よりも優先される可能性が高くなるため、ユーザが必要とする音声応答をより早く出力することが可能となる。
【0012】
また、上記本発明の音声対話装置において、
前記出力履歴には、前記音声応答に対応して該音声応答の出力された時刻の履歴の情報である時系列情報が含まれ、
前記制御部は、
出力中の音声応答の優先度を補正する際、前記時系列情報を参照し、該音声応答の出力が最後に記録された時刻からの経過時間が短いほど該音声応答の優先度を低い値に補正することとしてもよい。
【0013】
この場合、出力中の音声応答が前回出力されてからの経過時間が短いほどユーザはその内容を覚えているものと考えられ、音声応答が現在入力中の認識語よりも優先されない可能性が高くなるため、ユーザにとって不要な音声応答を中断することが可能となる。
【0014】
また、上記本発明の音声対話装置において、
前記記憶部には、ユーザ毎に異なる識別子、ユーザにより入力された認識語、および該認識語に対応して出力された音声応答の情報を含むユーザ固有履歴情報が格納され、
前記制御部は、
前記識別子が入力されると、入力された識別子に一致する識別子を前記ユーザ固有履歴情報で特定し、特定したユーザ固有履歴情報にしたがって、受け付け中の認識語と出力中の音声応答の優先度を補正してもよい。
【0015】
この場合、ユーザ毎に音声応答の内容や音声応答を中断するか否かの判断が異なるため、ユーザ毎により適した対応することが可能となる。
【発明の効果】
【0016】
本発明では、音声応答の出力中に入力音声を受け付けると、音声応答の出力履歴および入力音声の入力履歴を考慮した上で優先度を決定しているため、音声応答の出力を中断するか否かについて、入力音声を受け付けたときの状況により適した判断をすることが可能となる。その結果、従来よりも、人と対話しているのと近い感覚を得ることができる。
【発明を実施するための最良の形態】
【0017】
本実施形態の音声対話装置の構成について、図面を参照しながら説明する。
【0018】
図1は本実施形態の音声対話装置の一構成例を示すブロック図である。
【0019】
図1に示すように、本実施形態の音声対話装置は、入力手段5から入力される音声を認識するための用語およびそれに対する音声応答を含む情報を格納するための対話記憶部3と、入力音声の入力履歴および音声応答の出力履歴を格納するための対話履歴記憶部4と、入力音声に対応して音声応答を出力手段6に出力させる制御部7とを有する。なお、図には示さないが、制御部7は、プログラムにしたがって所定の処理を実行するCPU(Central Processing Unit)と、プログラムを格納するためのメモリとを有する。
【0020】
図1に示すように、制御部7は、音声応答除去手段11および音声認識手段12を含む音声入力手段1と、割り込み判定手段21、優先度決定手段23および対話制御手段22を含む音声対話手段2とを有する。これらの手段は、CPUがプログラムを実行することで、音声対話装置内に仮想的に構成される。
【0021】
次に、対話記憶部3について説明する。対話記憶部3には、音声認識手段12で入力音声から認識される言葉である認識語およびそれに付随する情報が記述された認識語リストと、音声応答するための単語が記述された音声応答リストとが格納されている。
【0022】
図2は認識語リストの一例を示す表である。図2に示すように、認識語リストには、認識語の識別子である認識語ID、その認識語の優先度、およびその認識語に対応する音声応答の情報が認識語ごとに記述されている。
【0023】
図3は音声応答リストの一例を示す表である。図3に示すように、音声応答リストには、音声応答の識別子である音声応答ID、音声応答の内容、および音声応答の優先度が音声応答の内容ごとに記述されている。例えば、図2および図3から、認識語「おはよう」に対応する音声応答に「おはよう」および「おはようございます」があることがわかる。それぞれの優先度は、認識語「おはよう」が3であり、音声応答「おはよう」および「おはようございます」は2であることがわかる。
【0024】
次に、対話履歴記憶部4について説明する。対話履歴記憶部4には、入力された認識語の履歴および出力された音声応答の履歴が格納される。
【0025】
図4は認識語の入力履歴の一例を示す表である。図4に示すように、認識語IDごとに認識語の総入力回数を保存する。
【0026】
図5は音声応答の出力履歴の一例を示す表である。図5に示すように、音声応答IDごとに総出力回数および音声応答の出力が完了する前に中断された回数である総中断回数を保存する。例えば、図2および図4において、認識語「おはよう」の総入力回数は98回である。また図3および図5において、音声応答「おはようございます」の総出力回数は43回であり、総中断回数は11回である。
【0027】
次に、制御部7の音声入力手段1について説明する。
【0028】
音声応答除去手段11は、入力手段5から音声信号の入力があったときに音声対話手段2から出力される音声応答信号を除去するパージイン機能を有する。パージイン機能により音声応答信号を除去した音声信号を音声認識手段12に出力する。なお、音声応答除去手段11で用いるパージイン機能の実施形態は、特に限定されるものでなく従来と同様でよい。ただし、音声認識率を向上させるために、音声応答信号の除去だけでなく様々な雑音も除去できることが望ましい。
【0029】
音声認識手段12は、音声応答除去手段11から入力される音声信号を認識し、認識した処理の結果を音声対話手段2に出力する。また、音声認識手段12は、ユーザからの発話を認識する度に、対話履歴記憶部4に認識語および認識語に付随する情報を記録する。なお、音声認識手段12で用いる音声を認識する方法は、特に限定されるものでなく従来と同様であればよい。
【0030】
次に、音声対話手段2について説明する。
【0031】
割込み判定手段21は、対話制御手段22が音声応答を出力中に音声認識手段12から認識語の入力を受け付けると、その認識語と出力中の音声応答とについて優先度の比較を行う。このとき、音声応答の出力中に複数の認識語を受け付けると、その度に優先度の比較を行う。優先度の比較を行った結果、認識語の優先度が高いときに、対話制御手段22にその認識語を出力する。反対に出力中の音声応答の優先度が高かったときは、その音声応答の出力が完了したことを対話制御手段22から入力し、その後音声応答が出力中に受け付けた認識語の中で最も優先度の高い認識語を対話制御手段22に出力する。また、判定する認識語と音声応答を優先度決定手段23に対して出力し、それぞれの優先度を優先度決定手段23から受け付ける。なお、対話制御手段22が音声応答を出力していないときに音声認識手段12から認識語の入力があると、入力された認識語そのものを対話制御手段22に出力する。
【0032】
優先度決定手段23は、割込み判定手段21から認識語および出力中の音声応答を受け付け、それぞれの優先度を決定し、割込み判定手段21に出力する。認識語の優先度および出力中の音声応答の優先度を決定する際に、優先度決定手段23は、対話履歴記憶部4に格納される履歴情報を利用して、基準となる優先度について次のような補正を実施する。ここでいう基準となる優先度とは、対話記憶部3に格納されている認識語および音声応答の優先度のことである。
【0033】
図4に示した認識語ID「300」のように総入力回数が多い場合、その認識語はユーザが好んでいる、あるいはユーザにとって必要性が高いと考えられる。したがって、優先度決定手段23は、優先度をその基準より高くなるようにする。
【0034】
音声応答出力中にユーザから音声が複数回入力された場合、ユーザが早く次の応答が開始することを期待していると考えられる。したがって、優先度決定手段23は、音声応答出力に音声認識された認識語の優先度をその基準より高くなるようにする。
【0035】
同一の認識語が複数回入力される場合、最後に記録された時刻からの経過時間が短いほどその認識語は、ユーザが好んでいる、あるいはユーザにとって必要性が高いと考えられる。したがって、優先度決定手段23は、最後に記録された時刻からの経過時間が所定の時間よりも短い場合、優先度をその基準より高くなるようにする。この場合、図6に示すような認識語の入力された時刻の履歴である時系列情報が対話履歴記憶部4に格納されるものとする。さらに、格納された時系列情報を分析して、複数ある発話パターンからユーザの発話パターンを抽出し、優先度を補正してもよい。
【0036】
図5に示した音声応答ID「101」のように総出力回数が多い場合、その音声応答は、ユーザの記憶に残っている可能性が高い。そのため、音声応答の冒頭を聞くだけで、その後に続く内容が容易に類推可能である。したがって、優先度決定手段23は、その音声応答の優先度をその基準より低くなるようにする。
【0037】
図5に示した音声応答ID「301」のように総出力回数に対する中断回数の割合が高い場合、その音声応答は、ユーザが応答音声の全てを聞く必要がないと判断しているものである。したがって、優先度決定手段23は、優先度をその基準より低くなるようにする。
【0038】
図5に示した音声応答ID「203」のように総出力回数が0回である場合、その音声応答は、ユーザにとって未知のものである。そのため、確実に最後まで出力することが望ましい。したがって、優先度決定手段23は、優先度をその基準より高くなるようにする。
【0039】
これから出力しようとする音声応答について前回出力された時刻と現在時刻との間が所定の時間よりも短い場合、その音声応答は総出力回数が少なかったとしてもユーザの記憶に残っている可能性は高い。そのため、優先度決定手段23は、優先度をその基準よりも低くなるようにする。反対に前回出力された時刻と現在時刻との間が所定の時間よりも長い場合、優先度をその基準よりも高くなるようにする。いずれの場合も、図7に示すような音声応答が出力された時刻の履歴である時系列情報が対話履歴記憶部4に格納されるものとする。
【0040】
ユーザのシステムに対する習熟度が異なる場合、習熟度に対応して認識語と音声応答の優先度を補正してもよい。この場合、習熟度の判定については、従来と同様の方法でよい。
【0041】
対話制御手段22は、割込み判定手段21から認識語が入力されると、その認識語に対する音声応答を出力手段6を介して出力する。このとき、その認識語を対話記憶部3内で検索し、その認識語に対応する音声応答を見つけて読み出す。対話制御手段22は、音声応答を出力中に割込み判定手段認識語21から認識語が入力されると出力中の音声応答を中断するという制御を行う。そして、その認識語に対応する音声応答を前述した方法で出力する。このとき、後から出力した音声応答の信号を音声応答除去手段11へ出力する。対話制御手段22は、音声応答を出力するたびに、対話履歴記憶部4に音声応答および音声応答に付随した情報を記録する。
【0042】
さらに、対話制御手段22は、音声応答の出力だけでなく、コマンドの出力およびタスクを実行してもよい。ここでいうコマンドの出力とは、例えばカーナビゲーションシステムなどの音声をインターフェースとして利用できるシステムにおいて、その構成に含まれるリモートコントロールやボタン操作の入力に対応した機能を出力することである。一方、タスクを実行するというのは、同じくカーナビゲーションシステムなどの音声をインターフェースとして利用できるシステムにおいて、音声入力に対して前述したコマンドだけでなく、認識したことを示す効果音などを含めた音声応答も出力することである。なお、コマンドおよび複数のコマンドを組み合わせたタスクは、それぞれ優先度を付与された状態で図1に示した対話記憶部3に記憶されているものとする。これにより、コマンドの出力中やタスクを実行中に音声入力があった場合、優先度に対応した出力が可能となりユーザの利便性が向上する。
【0043】
なお、複数のユーザが本発明の音声対話装置を利用する場合、ユーザ毎に認識語および音声応答の優先度を補正してもよい。例えば、ユーザ毎に異なる識別子、ユーザにより入力された認識語、および該認識語に対応して出力された音声応答の情報であるユーザ固有履歴情報を利用すると、ユーザから前記識別子が入力され、入力された識別子に一致する識別子を前記ユーザ固有情報で特定し、該ユーザ固有履歴情報にしたがって、受け付け中の認識語と出力中の音声応答の優先度を補正する。
【0044】
この場合、ユーザ毎に音声応答の内容や音声応答を中断するか否かの判断が異なるため、ユーザ毎により適した対応することが可能となる。この場合、前記ユーザ固有履歴情報は、対話履歴記憶部4に格納されるものとする。さらに、ユーザを識別する手段は、ユーザ自身による識別子の入力以外の方法であってもよい。次に、本実施形態の音声対話装置の動作について、図1および図8を参照して説明する。以下に説明する動作が、ユーザから入力された音声を認識するたびに行われる。
【0045】
図8は本実施形態の音声対話装置の動作手順を示すフローチャートである。
【0046】
音声入力手段1は、ユーザから入力された音声を認識すると(ステップ101)、対話履歴記憶部4に認識語を格納する(ステップ102)。この動作により認識語が入力履歴として格納される。続いて、音声対話手段2はユーザへの音声応答が出力中かどうか確認する(ステップ103)。音声応答が出力中でない場合、認識語に対応する音声応答を出力した後(ステップ104)、対話履歴記憶部4に応答音声を格納し(ステップ105)、動作を終了する。これにより、音声応答が出力履歴として格納される。
【0047】
反対に、音声応答が出力中である場合、音声対話手段2は出力中の音声応答の優先度と入力された認識語の優先度について、どちらが高いか比較をする(ステップ106)。
【0048】
認識語の優先度が出力中の音声応答の優先度より高い場合、出力中の音声応答を中断し(ステップ107)、ステップ104において認識語に対応する音声応答を出力する。その後、ステップ107において中断した音声応答と認識語に対応した音声応答を対話履歴部4に格納し(ステップ105)、動作を終了する。これにより、中断した音声応答の中断履歴および認識語に対応した音声応答の出力履歴として格納される。
【0049】
ステップ106で、認識語の優先度が出力中の音声応答の優先度より低い場合、音声対話手段2は、認識語を保持した状態で、出力中の音声応答が終了するまで、その認識語に対応する動作を待機する(ステップ108)。ただし、待機中に音声対話手段2は、新たな認識語の入力を受け付けることができる。
【0050】
新たな認識語の入力がある場合(ステップ109)、対話履歴記憶部4にその認識語の入力履歴を格納した後(ステップ110)、その認識語の優先度と出力中の音声応答の優先度について、ステップ106に戻ってどちらが高いか比較する。認識語の優先度が出力中の音声応答の優先度より高い場合、上述のステップ107、ステップ104およびステップ105の処理を行った後、動作を終了する。認識語の優先度が出力中の音声応答の優先度より低い場合、音声対話手段2は、認識語を受け付ける度に上述のステップ109、ステップ110、ステップ106およびステップ108の一連の動作を繰り返す。そして、出力中の音声応答が終了した後に、音声対話手段2は、ステップ108で待機していた動作であるステップ109で入力された認識語について上述のステップ104、ステップ105の処理を行う。このとき、ステップ109において複数の認識語が入力されている場合、その認識語の中から最も優先度の高い認識語について前述と同じ処理を行う。
【0051】
次に、図8で説明した動作手順のうち優先度決定手段23の動作を抜き出して、詳しく説明する。
【0052】
図9は、ステップ106において認識語の優先度を出力する動作を示すフローチャートである。
【0053】
優先度決定手段23は、対話記憶部3に格納されている認識語についての基準となる優先度を読み込む(ステップ201)。続いて、対話履歴記憶部4に格納された認識語の入力履歴を読み込む(ステップ202)。このとき、認識語の入力履歴があるか否かを判定し(ステップ203)、認識語の入力履歴がない場合、優先度決定手段23は優先度を補正しない。反対に、認識語の入力履歴がある場合、優先度決定手段23は、入力履歴に応じて優先度を補正する(ステップ204)。最後に認識語の優先度を決定して(ステップ205)動作を終了する。
【0054】
図10は、ステップ106において音声応答の優先度を出力する動作を示すフローチャートである。
【0055】
優先度決定手段23は、対話記憶部3に格納されている音声応答についての基準となる優先度を読み込む(ステップ301)。続いて、対話履歴記憶部4に格納された音声応答の出力履歴を読み込む(ステップ302)。このとき、音声応答の出力履歴があるか否かを判定し(ステップ303)、音声応答の出力履歴がない場合、優先度決定手段23は、優先度を補正しない。反対に音声応答の出力履歴がある場合、優先度決定手段23は、出力履歴に応じて優先度を補正する(ステップ304)。最後に音声応答の優先度を決定して(ステップ305)動作を終了する。
【0056】
次に、図9で説明したステップ204において、優先度決定手段23が実行する優先度の補正動作を説明する。
【0057】
図11は、ステップ204における認識語の優先度を補正する動作を示すフローチャートである。
【0058】
優先度決定手段23は、認識語の総入力回数について、平均入力回数より多いか否か判定する(ステップ401)。ここでいう平均入力回数とは、認識語全てについて入力回数の合計値を認識語の全数で割った数値のことである。そして、ステップ401で総入力回数が平均入力数より多い場合、基準となる優先度に対し+1を加えるように補正する(ステップ402)。一方、ステップ401で総入力回数が平均入力数以下の場合、基準となる優先度に対し−1を加えるように補正する(ステップ403)。以上で認識語の優先度を補正する動作を終了する。
【0059】
次に、図8で説明したステップ304において、優先度決定手段23が実行する優先度の補正動作を説明する。
【0060】
図12は、ステップ304における音声応答の優先度を補正する動作を示すフローチャートである。
【0061】
優先度決定手段23は、音声応答について、中断確率を読み込む(ステップ501)。ここでいう中断確率とは、総出力回数を総中断回数で割った数値のことである。
【0062】
次に、中断確率が50%以下であるか否か判定する(ステップ502)。中断確率が50%以下の場合、基準となる優先度に対して+1を加えるように補正する(ステップ503)。反対に中断確率が50%より大きい場合、基準となる優先度に対して−1を加えるように補正する(ステップ504)。以上で音声応答の優先度を補正する動作を終了する。
【0063】
本実施形態の音声対話装置は、上述したように音声応答の出力中に入力音声を受け付けると、音声応答の出力履歴および入力音声の認識語の入力履歴を考慮した上で優先度を補正し、音声応答の出力を中断するか否か判定する。音声応答出力の維持または中断について履歴を考慮して決定するため、実際の状況により適した応答を人に対してすることが可能となる。その結果、従来よりも、人と対話しているのと近い感覚を得ることができる。
【0064】
なお、本実施形態として、コンピュータに実行させるためのプログラムに本発明の音声対話装置の入出力制御方法を適用してもよい。
【0065】
また、本実施形態として、上記コマンドの出力や上記タスクの実行を行うカーナビゲーションシステム、およびコミュニケーション型ロボットに上述した音声対話装置の入出力制御を実行するためのプログラムを適用してもよい。このプログラムを適用したコミュニケーション型ロボットの一例について、実施例1で説明する。
【実施例1】
【0066】
本実施例は、上述した本実施形態の音声対話装置を、人間と対話するためのロボットに適用した場合である。本実施例の音声対話装置の構成は図1から図5に示した構成と同様であるため、その詳細な説明を省略する。なお、全認識語の平均入力回数は、50回である。
【0067】
次に、本実施例のロボットの動作を説明する。
【0068】
ロボットが音声応答を出力していない状態において、認識語「こんにちは」を認識すると、対話制御部22は対話記憶部3の認識語リストおよび音声応答リストを参照し、認識語「こんにちは」に対応する音声応答「ハロー」「こんにちは」「久しぶり元気だった?」の中から一つランダムで選択して出力する。
【0069】
ロボットが図3に示す音声応答「ダンスをすることが出来ます。ダンスしてといってみて」を出力中において、認識語「おはよう」を受け付けると、割り込みの可否を判定するため、認識語および音声応答の優先度を演算して、どちらの優先度が高いか比較を行う。認識語「おはよう」の優先度は、対話記憶部3の認識語リストから基準優先度が「3」であり、対話履歴記憶部4の入力履歴から入力回数が50回以上であることから、基準値に補正値「+1」を加えた『4』になる。音声応答「ダンスをすることができます。ダンスしてといってみて」の優先度は、対話記憶部3の音声応答リストから基準優先度が「4」であり、対話履歴記憶部3の出力履歴から中断確率が50%を超えていることから、基準値に補正値「−1」を加えた『3』になる。この場合、認識語の優先度が音声応答の優先度を上回るため、音声応答「ダンスをすることができます。ダンスしてといってみて」の発話を中断し、認識語「おはよう」に対応する応答音声を出力する。
【0070】
このようにして、ロボットは、音声応答出力中に人から挨拶を受けると、音声応答の出力を中断し、人からの挨拶に応じて人に挨拶を返す。その結果、このロボットと対話する人は、実際に人と会話したときと同じような感覚を得ることができる。
【図面の簡単な説明】
【0071】
【図1】本実施形態の音声対話装置の一構成例を示すブロック図である。
【図2】認識語リストの一例を示す表である。
【図3】音声応答リストの一例を示す表である。
【図4】認識語の入力履歴の一例を示す表である。
【図5】音声応答の出力履歴の一例を示す表である。
【図6】認識語が入力された時刻の履歴を示す表である。
【図7】音声応答が出力された時刻の履歴を示す表である。
【図8】本実施形態の音声対話装置の動作手順を示すフローチャートである。
【図9】認識語の優先度を出力する動作を示すフローチャートである。
【図10】音声応答の優先度を出力する動作を示すフローチャートである。
【図11】認識語の優先度を補正する動作を示すフローチャートである。
【図12】音声応答の優先度を補正する動作を示すフローチャートである。
【符号の説明】
【0072】
1 音声入力手段
2 音声対話手段
3 対話記憶部
4 対話履歴記憶部
5 入力手段
6 出力手段
7 制御部
11 音声応答除去手段
12 音声認識手段
21 割込み判定手段
22 対話制御手段
23 優先度決定手段
【技術分野】
【0001】
本発明は、ユーザとの間で音声を用いて対話を行う音声対話装置、音声対話方法、およびその方法をコンピュータに実行させるためのプログラムに関する。
【背景技術】
【0002】
従来の音声対話装置は、マイクロホンからユーザ(話者)の入力音声を認識した情報に応じてスピーカから音声応答を出力することで、ユーザとの対話を実現している。音声対話装置には、自装置から出力中の音声応答をマイクロホンで受け付けないようにするためのパージイン機能が設けられているものがある。パージイン機能は、装置が音声を認識するときに自ら出力中である音声応答をユーザからの入力音声として認識しないようにするため、ユーザの声による音声信号と出力中の音声応答による音声応答信号とがマイクロホンから入力されて重畳されている音声応答部分について、音声応答信号を入力音声から除去するものである。
【0003】
また、従来の音声対話装置は、音声応答の出力の途中にユーザの入力音声を受け付けると、音声応答の出力を中断する装置と、入力音声を記録しながら音声応答の出力を優先する装置とに大別される。
【0004】
音声応答の出力を中断する音声対話装置は、様々なエコーや雑音を起因とする不測の入力音声によりユーザの意図に反して音声応答の出力が中断するという問題があった。
【0005】
一方、音声応答の出力を優先する音声対話装置は、音声応答が非常に長い場合にユーザの入力音声を受け付けた後も音声応答を出力し続け、ユーザに対して長い待ち時間を生じさせてしまうという問題があった。
【0006】
このような問題に対し、ユーザにとっての利便性を向上させる目的で、様々な工夫がなされている。例えば、音声応答の内容をユーザの音声対話装置の使用の習熟度に応じて、自動的に変更する音声対話システムが開示されている(特許文献1参照)。また、入力側で発生する様々なエコーや雑音を起因とする不測の入力音声に伴い、システムが誤認識により音声応答の出力を中断することやシステムの音声認識が誤動作することを抑止するために、入力音声をフィルタリングする音声対話システムが開示されている(特許文献2参照)。
【特許文献1】特開2004-333543号公報
【特許文献2】特開2004-144791号公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
従来の音声対話装置のうち音声応答の出力を優先する装置は、パージイン機能を利用することにより音声応答の出力中であってもユーザが発話した音声を受け付けることが可能である。特許文献1に開示された音声対応装置には、つぎのような問題が起こり得る。特許文献1の音声対話装置は、対応中のユーザのシステムに対する使用の習熟度が低いと判断すると、ユーザへの音声応答を詳細な内容で、ゆっくりとした速度で出力する。このユーザのシステムに対する習熟度が高ければ、ユーザは出力中の音声応答の内容を予測できるため、出力を中断して欲しいと感じるが、音声応答の出力が終了するまで待たなければならないという問題がある。
また、音声応答の出力を中断することが可能な音声対話装置は、入力音声を受け付けると音声応答の重要性を考慮することなく出力を中断する。したがって、そのシステムを初めて使用するユーザのための音声ガイド、ならびにシステムの習熟度を問わずユーザ全員への注意喚起および警告などの重要な音声応答がユーザに対し十分に伝えられないという問題がある。
本発明は、上述した問題点を解決するためになされたものであり、音声応答の出力中にユーザからの音声入力があると、出力中の音声応答がユーザにとって重要であるか否かをより的確に判断可能にした音声応対話装置、音声対話方法、およびその方法をコンピュータに実行させるためのプログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
上記目的を達成するための本発明の音声対話装置は、
入力音声として認識される単語である認識語、該入力音声に対応して出力するための音声応答の情報、該認識語および該音声応答の優先度の情報、前記認識語の入力回数の情報を含む入力履歴、ならびに前記音声応答の出力回数および出力が完了する前に中断した回数の情報を含む出力履歴が格納された記憶部と、
前記音声応答の出力中に前記入力音声を受け付けると、該入力音声に重畳する該音声応答を除去して前記認識語を特定し、該音声応答および該認識語の前記記憶部に格納された優先度を前記入力履歴および前記出力履歴の情報を用いて補正し、該音声応答と該認識語の補正後の優先度を比較し、該音声応答の方の優先度が高ければ出力を維持し、該認識語の方の優先度が高ければ、該音声応答の出力を中断する制御部とを有する構成である。
【0009】
本発明によれば、音声応答の出力中に入力音声を受け付けると、音声応答の出力履歴および入力音声の認識語の入力履歴を考慮した上で優先度が補正され音声応答の出力を中断するか否かが判定される。音声応答出力の維持または中断が履歴を考慮して決定されるため、実際の状況により適した応答を人に対してすることが可能となる。
【0010】
また、上記本発明の音声対話装置において、
前記入力履歴には、前記認識語に対応して該認識語の入力された時刻の履歴の情報である時系列情報が含まれ、
前記制御部は、
受け付け中の認識語の優先度を補正する際、前記時系列情報を参照し、該認識語の入力が最後に記録された時刻からの経過時間が短いほど該認識語の優先度を高い値に補正することとしてもよい。
【0011】
この場合、入力中の認識語が前回入力されてからの経過時間が短いほどユーザにとって重要であると考えられ、認識語が現在出力中の音声応答よりも優先される可能性が高くなるため、ユーザが必要とする音声応答をより早く出力することが可能となる。
【0012】
また、上記本発明の音声対話装置において、
前記出力履歴には、前記音声応答に対応して該音声応答の出力された時刻の履歴の情報である時系列情報が含まれ、
前記制御部は、
出力中の音声応答の優先度を補正する際、前記時系列情報を参照し、該音声応答の出力が最後に記録された時刻からの経過時間が短いほど該音声応答の優先度を低い値に補正することとしてもよい。
【0013】
この場合、出力中の音声応答が前回出力されてからの経過時間が短いほどユーザはその内容を覚えているものと考えられ、音声応答が現在入力中の認識語よりも優先されない可能性が高くなるため、ユーザにとって不要な音声応答を中断することが可能となる。
【0014】
また、上記本発明の音声対話装置において、
前記記憶部には、ユーザ毎に異なる識別子、ユーザにより入力された認識語、および該認識語に対応して出力された音声応答の情報を含むユーザ固有履歴情報が格納され、
前記制御部は、
前記識別子が入力されると、入力された識別子に一致する識別子を前記ユーザ固有履歴情報で特定し、特定したユーザ固有履歴情報にしたがって、受け付け中の認識語と出力中の音声応答の優先度を補正してもよい。
【0015】
この場合、ユーザ毎に音声応答の内容や音声応答を中断するか否かの判断が異なるため、ユーザ毎により適した対応することが可能となる。
【発明の効果】
【0016】
本発明では、音声応答の出力中に入力音声を受け付けると、音声応答の出力履歴および入力音声の入力履歴を考慮した上で優先度を決定しているため、音声応答の出力を中断するか否かについて、入力音声を受け付けたときの状況により適した判断をすることが可能となる。その結果、従来よりも、人と対話しているのと近い感覚を得ることができる。
【発明を実施するための最良の形態】
【0017】
本実施形態の音声対話装置の構成について、図面を参照しながら説明する。
【0018】
図1は本実施形態の音声対話装置の一構成例を示すブロック図である。
【0019】
図1に示すように、本実施形態の音声対話装置は、入力手段5から入力される音声を認識するための用語およびそれに対する音声応答を含む情報を格納するための対話記憶部3と、入力音声の入力履歴および音声応答の出力履歴を格納するための対話履歴記憶部4と、入力音声に対応して音声応答を出力手段6に出力させる制御部7とを有する。なお、図には示さないが、制御部7は、プログラムにしたがって所定の処理を実行するCPU(Central Processing Unit)と、プログラムを格納するためのメモリとを有する。
【0020】
図1に示すように、制御部7は、音声応答除去手段11および音声認識手段12を含む音声入力手段1と、割り込み判定手段21、優先度決定手段23および対話制御手段22を含む音声対話手段2とを有する。これらの手段は、CPUがプログラムを実行することで、音声対話装置内に仮想的に構成される。
【0021】
次に、対話記憶部3について説明する。対話記憶部3には、音声認識手段12で入力音声から認識される言葉である認識語およびそれに付随する情報が記述された認識語リストと、音声応答するための単語が記述された音声応答リストとが格納されている。
【0022】
図2は認識語リストの一例を示す表である。図2に示すように、認識語リストには、認識語の識別子である認識語ID、その認識語の優先度、およびその認識語に対応する音声応答の情報が認識語ごとに記述されている。
【0023】
図3は音声応答リストの一例を示す表である。図3に示すように、音声応答リストには、音声応答の識別子である音声応答ID、音声応答の内容、および音声応答の優先度が音声応答の内容ごとに記述されている。例えば、図2および図3から、認識語「おはよう」に対応する音声応答に「おはよう」および「おはようございます」があることがわかる。それぞれの優先度は、認識語「おはよう」が3であり、音声応答「おはよう」および「おはようございます」は2であることがわかる。
【0024】
次に、対話履歴記憶部4について説明する。対話履歴記憶部4には、入力された認識語の履歴および出力された音声応答の履歴が格納される。
【0025】
図4は認識語の入力履歴の一例を示す表である。図4に示すように、認識語IDごとに認識語の総入力回数を保存する。
【0026】
図5は音声応答の出力履歴の一例を示す表である。図5に示すように、音声応答IDごとに総出力回数および音声応答の出力が完了する前に中断された回数である総中断回数を保存する。例えば、図2および図4において、認識語「おはよう」の総入力回数は98回である。また図3および図5において、音声応答「おはようございます」の総出力回数は43回であり、総中断回数は11回である。
【0027】
次に、制御部7の音声入力手段1について説明する。
【0028】
音声応答除去手段11は、入力手段5から音声信号の入力があったときに音声対話手段2から出力される音声応答信号を除去するパージイン機能を有する。パージイン機能により音声応答信号を除去した音声信号を音声認識手段12に出力する。なお、音声応答除去手段11で用いるパージイン機能の実施形態は、特に限定されるものでなく従来と同様でよい。ただし、音声認識率を向上させるために、音声応答信号の除去だけでなく様々な雑音も除去できることが望ましい。
【0029】
音声認識手段12は、音声応答除去手段11から入力される音声信号を認識し、認識した処理の結果を音声対話手段2に出力する。また、音声認識手段12は、ユーザからの発話を認識する度に、対話履歴記憶部4に認識語および認識語に付随する情報を記録する。なお、音声認識手段12で用いる音声を認識する方法は、特に限定されるものでなく従来と同様であればよい。
【0030】
次に、音声対話手段2について説明する。
【0031】
割込み判定手段21は、対話制御手段22が音声応答を出力中に音声認識手段12から認識語の入力を受け付けると、その認識語と出力中の音声応答とについて優先度の比較を行う。このとき、音声応答の出力中に複数の認識語を受け付けると、その度に優先度の比較を行う。優先度の比較を行った結果、認識語の優先度が高いときに、対話制御手段22にその認識語を出力する。反対に出力中の音声応答の優先度が高かったときは、その音声応答の出力が完了したことを対話制御手段22から入力し、その後音声応答が出力中に受け付けた認識語の中で最も優先度の高い認識語を対話制御手段22に出力する。また、判定する認識語と音声応答を優先度決定手段23に対して出力し、それぞれの優先度を優先度決定手段23から受け付ける。なお、対話制御手段22が音声応答を出力していないときに音声認識手段12から認識語の入力があると、入力された認識語そのものを対話制御手段22に出力する。
【0032】
優先度決定手段23は、割込み判定手段21から認識語および出力中の音声応答を受け付け、それぞれの優先度を決定し、割込み判定手段21に出力する。認識語の優先度および出力中の音声応答の優先度を決定する際に、優先度決定手段23は、対話履歴記憶部4に格納される履歴情報を利用して、基準となる優先度について次のような補正を実施する。ここでいう基準となる優先度とは、対話記憶部3に格納されている認識語および音声応答の優先度のことである。
【0033】
図4に示した認識語ID「300」のように総入力回数が多い場合、その認識語はユーザが好んでいる、あるいはユーザにとって必要性が高いと考えられる。したがって、優先度決定手段23は、優先度をその基準より高くなるようにする。
【0034】
音声応答出力中にユーザから音声が複数回入力された場合、ユーザが早く次の応答が開始することを期待していると考えられる。したがって、優先度決定手段23は、音声応答出力に音声認識された認識語の優先度をその基準より高くなるようにする。
【0035】
同一の認識語が複数回入力される場合、最後に記録された時刻からの経過時間が短いほどその認識語は、ユーザが好んでいる、あるいはユーザにとって必要性が高いと考えられる。したがって、優先度決定手段23は、最後に記録された時刻からの経過時間が所定の時間よりも短い場合、優先度をその基準より高くなるようにする。この場合、図6に示すような認識語の入力された時刻の履歴である時系列情報が対話履歴記憶部4に格納されるものとする。さらに、格納された時系列情報を分析して、複数ある発話パターンからユーザの発話パターンを抽出し、優先度を補正してもよい。
【0036】
図5に示した音声応答ID「101」のように総出力回数が多い場合、その音声応答は、ユーザの記憶に残っている可能性が高い。そのため、音声応答の冒頭を聞くだけで、その後に続く内容が容易に類推可能である。したがって、優先度決定手段23は、その音声応答の優先度をその基準より低くなるようにする。
【0037】
図5に示した音声応答ID「301」のように総出力回数に対する中断回数の割合が高い場合、その音声応答は、ユーザが応答音声の全てを聞く必要がないと判断しているものである。したがって、優先度決定手段23は、優先度をその基準より低くなるようにする。
【0038】
図5に示した音声応答ID「203」のように総出力回数が0回である場合、その音声応答は、ユーザにとって未知のものである。そのため、確実に最後まで出力することが望ましい。したがって、優先度決定手段23は、優先度をその基準より高くなるようにする。
【0039】
これから出力しようとする音声応答について前回出力された時刻と現在時刻との間が所定の時間よりも短い場合、その音声応答は総出力回数が少なかったとしてもユーザの記憶に残っている可能性は高い。そのため、優先度決定手段23は、優先度をその基準よりも低くなるようにする。反対に前回出力された時刻と現在時刻との間が所定の時間よりも長い場合、優先度をその基準よりも高くなるようにする。いずれの場合も、図7に示すような音声応答が出力された時刻の履歴である時系列情報が対話履歴記憶部4に格納されるものとする。
【0040】
ユーザのシステムに対する習熟度が異なる場合、習熟度に対応して認識語と音声応答の優先度を補正してもよい。この場合、習熟度の判定については、従来と同様の方法でよい。
【0041】
対話制御手段22は、割込み判定手段21から認識語が入力されると、その認識語に対する音声応答を出力手段6を介して出力する。このとき、その認識語を対話記憶部3内で検索し、その認識語に対応する音声応答を見つけて読み出す。対話制御手段22は、音声応答を出力中に割込み判定手段認識語21から認識語が入力されると出力中の音声応答を中断するという制御を行う。そして、その認識語に対応する音声応答を前述した方法で出力する。このとき、後から出力した音声応答の信号を音声応答除去手段11へ出力する。対話制御手段22は、音声応答を出力するたびに、対話履歴記憶部4に音声応答および音声応答に付随した情報を記録する。
【0042】
さらに、対話制御手段22は、音声応答の出力だけでなく、コマンドの出力およびタスクを実行してもよい。ここでいうコマンドの出力とは、例えばカーナビゲーションシステムなどの音声をインターフェースとして利用できるシステムにおいて、その構成に含まれるリモートコントロールやボタン操作の入力に対応した機能を出力することである。一方、タスクを実行するというのは、同じくカーナビゲーションシステムなどの音声をインターフェースとして利用できるシステムにおいて、音声入力に対して前述したコマンドだけでなく、認識したことを示す効果音などを含めた音声応答も出力することである。なお、コマンドおよび複数のコマンドを組み合わせたタスクは、それぞれ優先度を付与された状態で図1に示した対話記憶部3に記憶されているものとする。これにより、コマンドの出力中やタスクを実行中に音声入力があった場合、優先度に対応した出力が可能となりユーザの利便性が向上する。
【0043】
なお、複数のユーザが本発明の音声対話装置を利用する場合、ユーザ毎に認識語および音声応答の優先度を補正してもよい。例えば、ユーザ毎に異なる識別子、ユーザにより入力された認識語、および該認識語に対応して出力された音声応答の情報であるユーザ固有履歴情報を利用すると、ユーザから前記識別子が入力され、入力された識別子に一致する識別子を前記ユーザ固有情報で特定し、該ユーザ固有履歴情報にしたがって、受け付け中の認識語と出力中の音声応答の優先度を補正する。
【0044】
この場合、ユーザ毎に音声応答の内容や音声応答を中断するか否かの判断が異なるため、ユーザ毎により適した対応することが可能となる。この場合、前記ユーザ固有履歴情報は、対話履歴記憶部4に格納されるものとする。さらに、ユーザを識別する手段は、ユーザ自身による識別子の入力以外の方法であってもよい。次に、本実施形態の音声対話装置の動作について、図1および図8を参照して説明する。以下に説明する動作が、ユーザから入力された音声を認識するたびに行われる。
【0045】
図8は本実施形態の音声対話装置の動作手順を示すフローチャートである。
【0046】
音声入力手段1は、ユーザから入力された音声を認識すると(ステップ101)、対話履歴記憶部4に認識語を格納する(ステップ102)。この動作により認識語が入力履歴として格納される。続いて、音声対話手段2はユーザへの音声応答が出力中かどうか確認する(ステップ103)。音声応答が出力中でない場合、認識語に対応する音声応答を出力した後(ステップ104)、対話履歴記憶部4に応答音声を格納し(ステップ105)、動作を終了する。これにより、音声応答が出力履歴として格納される。
【0047】
反対に、音声応答が出力中である場合、音声対話手段2は出力中の音声応答の優先度と入力された認識語の優先度について、どちらが高いか比較をする(ステップ106)。
【0048】
認識語の優先度が出力中の音声応答の優先度より高い場合、出力中の音声応答を中断し(ステップ107)、ステップ104において認識語に対応する音声応答を出力する。その後、ステップ107において中断した音声応答と認識語に対応した音声応答を対話履歴部4に格納し(ステップ105)、動作を終了する。これにより、中断した音声応答の中断履歴および認識語に対応した音声応答の出力履歴として格納される。
【0049】
ステップ106で、認識語の優先度が出力中の音声応答の優先度より低い場合、音声対話手段2は、認識語を保持した状態で、出力中の音声応答が終了するまで、その認識語に対応する動作を待機する(ステップ108)。ただし、待機中に音声対話手段2は、新たな認識語の入力を受け付けることができる。
【0050】
新たな認識語の入力がある場合(ステップ109)、対話履歴記憶部4にその認識語の入力履歴を格納した後(ステップ110)、その認識語の優先度と出力中の音声応答の優先度について、ステップ106に戻ってどちらが高いか比較する。認識語の優先度が出力中の音声応答の優先度より高い場合、上述のステップ107、ステップ104およびステップ105の処理を行った後、動作を終了する。認識語の優先度が出力中の音声応答の優先度より低い場合、音声対話手段2は、認識語を受け付ける度に上述のステップ109、ステップ110、ステップ106およびステップ108の一連の動作を繰り返す。そして、出力中の音声応答が終了した後に、音声対話手段2は、ステップ108で待機していた動作であるステップ109で入力された認識語について上述のステップ104、ステップ105の処理を行う。このとき、ステップ109において複数の認識語が入力されている場合、その認識語の中から最も優先度の高い認識語について前述と同じ処理を行う。
【0051】
次に、図8で説明した動作手順のうち優先度決定手段23の動作を抜き出して、詳しく説明する。
【0052】
図9は、ステップ106において認識語の優先度を出力する動作を示すフローチャートである。
【0053】
優先度決定手段23は、対話記憶部3に格納されている認識語についての基準となる優先度を読み込む(ステップ201)。続いて、対話履歴記憶部4に格納された認識語の入力履歴を読み込む(ステップ202)。このとき、認識語の入力履歴があるか否かを判定し(ステップ203)、認識語の入力履歴がない場合、優先度決定手段23は優先度を補正しない。反対に、認識語の入力履歴がある場合、優先度決定手段23は、入力履歴に応じて優先度を補正する(ステップ204)。最後に認識語の優先度を決定して(ステップ205)動作を終了する。
【0054】
図10は、ステップ106において音声応答の優先度を出力する動作を示すフローチャートである。
【0055】
優先度決定手段23は、対話記憶部3に格納されている音声応答についての基準となる優先度を読み込む(ステップ301)。続いて、対話履歴記憶部4に格納された音声応答の出力履歴を読み込む(ステップ302)。このとき、音声応答の出力履歴があるか否かを判定し(ステップ303)、音声応答の出力履歴がない場合、優先度決定手段23は、優先度を補正しない。反対に音声応答の出力履歴がある場合、優先度決定手段23は、出力履歴に応じて優先度を補正する(ステップ304)。最後に音声応答の優先度を決定して(ステップ305)動作を終了する。
【0056】
次に、図9で説明したステップ204において、優先度決定手段23が実行する優先度の補正動作を説明する。
【0057】
図11は、ステップ204における認識語の優先度を補正する動作を示すフローチャートである。
【0058】
優先度決定手段23は、認識語の総入力回数について、平均入力回数より多いか否か判定する(ステップ401)。ここでいう平均入力回数とは、認識語全てについて入力回数の合計値を認識語の全数で割った数値のことである。そして、ステップ401で総入力回数が平均入力数より多い場合、基準となる優先度に対し+1を加えるように補正する(ステップ402)。一方、ステップ401で総入力回数が平均入力数以下の場合、基準となる優先度に対し−1を加えるように補正する(ステップ403)。以上で認識語の優先度を補正する動作を終了する。
【0059】
次に、図8で説明したステップ304において、優先度決定手段23が実行する優先度の補正動作を説明する。
【0060】
図12は、ステップ304における音声応答の優先度を補正する動作を示すフローチャートである。
【0061】
優先度決定手段23は、音声応答について、中断確率を読み込む(ステップ501)。ここでいう中断確率とは、総出力回数を総中断回数で割った数値のことである。
【0062】
次に、中断確率が50%以下であるか否か判定する(ステップ502)。中断確率が50%以下の場合、基準となる優先度に対して+1を加えるように補正する(ステップ503)。反対に中断確率が50%より大きい場合、基準となる優先度に対して−1を加えるように補正する(ステップ504)。以上で音声応答の優先度を補正する動作を終了する。
【0063】
本実施形態の音声対話装置は、上述したように音声応答の出力中に入力音声を受け付けると、音声応答の出力履歴および入力音声の認識語の入力履歴を考慮した上で優先度を補正し、音声応答の出力を中断するか否か判定する。音声応答出力の維持または中断について履歴を考慮して決定するため、実際の状況により適した応答を人に対してすることが可能となる。その結果、従来よりも、人と対話しているのと近い感覚を得ることができる。
【0064】
なお、本実施形態として、コンピュータに実行させるためのプログラムに本発明の音声対話装置の入出力制御方法を適用してもよい。
【0065】
また、本実施形態として、上記コマンドの出力や上記タスクの実行を行うカーナビゲーションシステム、およびコミュニケーション型ロボットに上述した音声対話装置の入出力制御を実行するためのプログラムを適用してもよい。このプログラムを適用したコミュニケーション型ロボットの一例について、実施例1で説明する。
【実施例1】
【0066】
本実施例は、上述した本実施形態の音声対話装置を、人間と対話するためのロボットに適用した場合である。本実施例の音声対話装置の構成は図1から図5に示した構成と同様であるため、その詳細な説明を省略する。なお、全認識語の平均入力回数は、50回である。
【0067】
次に、本実施例のロボットの動作を説明する。
【0068】
ロボットが音声応答を出力していない状態において、認識語「こんにちは」を認識すると、対話制御部22は対話記憶部3の認識語リストおよび音声応答リストを参照し、認識語「こんにちは」に対応する音声応答「ハロー」「こんにちは」「久しぶり元気だった?」の中から一つランダムで選択して出力する。
【0069】
ロボットが図3に示す音声応答「ダンスをすることが出来ます。ダンスしてといってみて」を出力中において、認識語「おはよう」を受け付けると、割り込みの可否を判定するため、認識語および音声応答の優先度を演算して、どちらの優先度が高いか比較を行う。認識語「おはよう」の優先度は、対話記憶部3の認識語リストから基準優先度が「3」であり、対話履歴記憶部4の入力履歴から入力回数が50回以上であることから、基準値に補正値「+1」を加えた『4』になる。音声応答「ダンスをすることができます。ダンスしてといってみて」の優先度は、対話記憶部3の音声応答リストから基準優先度が「4」であり、対話履歴記憶部3の出力履歴から中断確率が50%を超えていることから、基準値に補正値「−1」を加えた『3』になる。この場合、認識語の優先度が音声応答の優先度を上回るため、音声応答「ダンスをすることができます。ダンスしてといってみて」の発話を中断し、認識語「おはよう」に対応する応答音声を出力する。
【0070】
このようにして、ロボットは、音声応答出力中に人から挨拶を受けると、音声応答の出力を中断し、人からの挨拶に応じて人に挨拶を返す。その結果、このロボットと対話する人は、実際に人と会話したときと同じような感覚を得ることができる。
【図面の簡単な説明】
【0071】
【図1】本実施形態の音声対話装置の一構成例を示すブロック図である。
【図2】認識語リストの一例を示す表である。
【図3】音声応答リストの一例を示す表である。
【図4】認識語の入力履歴の一例を示す表である。
【図5】音声応答の出力履歴の一例を示す表である。
【図6】認識語が入力された時刻の履歴を示す表である。
【図7】音声応答が出力された時刻の履歴を示す表である。
【図8】本実施形態の音声対話装置の動作手順を示すフローチャートである。
【図9】認識語の優先度を出力する動作を示すフローチャートである。
【図10】音声応答の優先度を出力する動作を示すフローチャートである。
【図11】認識語の優先度を補正する動作を示すフローチャートである。
【図12】音声応答の優先度を補正する動作を示すフローチャートである。
【符号の説明】
【0072】
1 音声入力手段
2 音声対話手段
3 対話記憶部
4 対話履歴記憶部
5 入力手段
6 出力手段
7 制御部
11 音声応答除去手段
12 音声認識手段
21 割込み判定手段
22 対話制御手段
23 優先度決定手段
【特許請求の範囲】
【請求項1】
入力音声として認識される単語である認識語、該入力音声に対応して出力するための音声応答の情報、該認識語および該音声応答の優先度の情報、前記認識語の入力回数の情報を含む入力履歴、ならびに前記音声応答の出力回数および出力が完了する前に中断した回数の情報を含む出力履歴が格納された記憶部と、
前記音声応答の出力中に前記入力音声を受け付けると、該入力音声に重畳する該音声応答を除去して前記認識語を特定し、該音声応答および該認識語の前記記憶部に格納された優先度を前記入力履歴および前記出力履歴の情報を用いて補正し、該音声応答と該認識語の補正後の優先度を比較し、該音声応答の方の優先度が高ければ出力を維持し、該認識語の方の優先度が高ければ、該音声応答の出力を中断する制御部と、
を有する音声対話装置。
【請求項2】
前記入力履歴には、前記認識語に対応して該認識語の入力された時刻の履歴の情報である時系列情報が含まれ、
前記制御部は、
受け付け中の認識語の優先度を補正する際、前記時系列情報を参照し、該認識語の入力が最後に記録された時刻からの経過時間が短いほど該認識語の優先度を高い値に補正する請求項1記載の音声対話装置。
【請求項3】
前記出力履歴には、前記音声応答に対応して該音声応答の出力された時刻の履歴の情報である時系列情報が含まれ、
前記制御部は、
出力中の音声応答の優先度を補正する際、前記時系列情報を参照し、該音声応答の出力が最後に記録された時刻からの経過時間が短いほど該音声応答の優先度を低い値に補正する請求項1または2記載の音声対話装置。
【請求項4】
前記記憶部には、ユーザ毎に異なる識別子、ユーザにより入力された認識語、および該認識語に対応して出力された音声応答の情報を含むユーザ固有履歴情報が格納され、
前記制御部は、
前記識別子が入力されると、入力された識別子に一致する識別子を前記ユーザ固有履歴情報で特定し、特定したユーザ固有履歴情報にしたがって、受け付け中の認識語と出力中の音声応答の優先度を補正する請求項1から3のいずれか1項記載の音声対話装置。
【請求項5】
入力音声に対して音声応答を出力する情報処理装置による音声対話方法であって、
入力音声として認識される単語である認識語、該入力音声に対応して出力するための音声応答の情報、該認識語および該音声応答の優先度の情報、前記認識語の入力回数の情報を含む入力履歴、ならびに前記音声応答の出力回数および出力が完了する前に中断した回数の情報を含む出力履歴を格納し、
前記音声応答の出力中に前記入力音声を受け付けると、該入力音声に重畳する該音声応答を除去して前記認識語を特定し、
出力中の音声応答および特定した認識語の前記記憶部に格納された優先度を前記入力履歴および前記出力履歴の情報を用いて補正し、
前記音声応答と前記認識語の補正後の優先度を比較し、
比較の結果、前記音声応答の方の優先度が高ければ出力を維持し、前記認識語の方の優先度が高ければ、該音声応答の出力を中断する音声対話方法。
【請求項6】
前記入力履歴は、前記認識語に対応して該認識語の入力された時刻の履歴の情報である時系列情報を含み、
受け付け中の認識語の優先度を補正する際、前記時系列情報を参照し、
受け付け中の認識語が最後に入力された時刻からの経過時間が短いほど該認識語の優先度を高い値に補正する請求項5記載の音声対話方法。
【請求項7】
前記出力履歴は、前記音声応答に対応して該音声応答の出力された時刻の履歴の情報である時系列情報を含み、
出力中の音声応答の優先度を補正する際、前記時系列情報を参照し、
出力中の音声応答について最後に出力した時刻からの経過時間が短いほど該音声応答の優先度を低い値に補正する請求項5または6記載の音声対話方法。
【請求項8】
前記記憶部にユーザ毎に異なる識別子、ユーザにより入力された認識語、および該認識語に対応して出力された音声応答の情報を含むユーザ固有履歴情報を格納し、
前記識別子が入力されると、入力された識別子に一致する識別子を前記ユーザ固有履歴情報で特定し、
特定したユーザ固有履歴情報にしたがって、受け付け中の認識語と出力中の音声応答の優先度を補正する請求項5から7のいずれか1項記載の音声対話方法。
【請求項9】
入力音声に対して音声応答を出力するコンピュータに実行させるためのプログラムであって、
入力音声として認識される単語である認識語、該入力音声に対応して出力するための音声応答の情報、該認識語および該音声応答の優先度の情報、前記認識語の入力回数の情報を含む入力履歴、ならびに前記音声応答の出力回数および出力が完了する前に中断した回数の情報を含む出力履歴を格納し、
前記音声応答の出力中に前記入力音声を受け付けると、該入力音声に重畳する該音声応答を除去して前記認識語を特定し、
出力中の音声応答および特定した認識語の前記記憶部に格納された優先度を前記入力履歴および前記出力履歴の情報を用いて補正し、
前記音声応答と前記認識語の補正後の優先度を比較し、
比較の結果、前記音声応答の方の優先度が高ければ出力を維持し、前記認識語の方の優先度が高ければ、該音声応答の出力を中断する処理を前記コンピュータに実行させるためのプログラム。
【請求項1】
入力音声として認識される単語である認識語、該入力音声に対応して出力するための音声応答の情報、該認識語および該音声応答の優先度の情報、前記認識語の入力回数の情報を含む入力履歴、ならびに前記音声応答の出力回数および出力が完了する前に中断した回数の情報を含む出力履歴が格納された記憶部と、
前記音声応答の出力中に前記入力音声を受け付けると、該入力音声に重畳する該音声応答を除去して前記認識語を特定し、該音声応答および該認識語の前記記憶部に格納された優先度を前記入力履歴および前記出力履歴の情報を用いて補正し、該音声応答と該認識語の補正後の優先度を比較し、該音声応答の方の優先度が高ければ出力を維持し、該認識語の方の優先度が高ければ、該音声応答の出力を中断する制御部と、
を有する音声対話装置。
【請求項2】
前記入力履歴には、前記認識語に対応して該認識語の入力された時刻の履歴の情報である時系列情報が含まれ、
前記制御部は、
受け付け中の認識語の優先度を補正する際、前記時系列情報を参照し、該認識語の入力が最後に記録された時刻からの経過時間が短いほど該認識語の優先度を高い値に補正する請求項1記載の音声対話装置。
【請求項3】
前記出力履歴には、前記音声応答に対応して該音声応答の出力された時刻の履歴の情報である時系列情報が含まれ、
前記制御部は、
出力中の音声応答の優先度を補正する際、前記時系列情報を参照し、該音声応答の出力が最後に記録された時刻からの経過時間が短いほど該音声応答の優先度を低い値に補正する請求項1または2記載の音声対話装置。
【請求項4】
前記記憶部には、ユーザ毎に異なる識別子、ユーザにより入力された認識語、および該認識語に対応して出力された音声応答の情報を含むユーザ固有履歴情報が格納され、
前記制御部は、
前記識別子が入力されると、入力された識別子に一致する識別子を前記ユーザ固有履歴情報で特定し、特定したユーザ固有履歴情報にしたがって、受け付け中の認識語と出力中の音声応答の優先度を補正する請求項1から3のいずれか1項記載の音声対話装置。
【請求項5】
入力音声に対して音声応答を出力する情報処理装置による音声対話方法であって、
入力音声として認識される単語である認識語、該入力音声に対応して出力するための音声応答の情報、該認識語および該音声応答の優先度の情報、前記認識語の入力回数の情報を含む入力履歴、ならびに前記音声応答の出力回数および出力が完了する前に中断した回数の情報を含む出力履歴を格納し、
前記音声応答の出力中に前記入力音声を受け付けると、該入力音声に重畳する該音声応答を除去して前記認識語を特定し、
出力中の音声応答および特定した認識語の前記記憶部に格納された優先度を前記入力履歴および前記出力履歴の情報を用いて補正し、
前記音声応答と前記認識語の補正後の優先度を比較し、
比較の結果、前記音声応答の方の優先度が高ければ出力を維持し、前記認識語の方の優先度が高ければ、該音声応答の出力を中断する音声対話方法。
【請求項6】
前記入力履歴は、前記認識語に対応して該認識語の入力された時刻の履歴の情報である時系列情報を含み、
受け付け中の認識語の優先度を補正する際、前記時系列情報を参照し、
受け付け中の認識語が最後に入力された時刻からの経過時間が短いほど該認識語の優先度を高い値に補正する請求項5記載の音声対話方法。
【請求項7】
前記出力履歴は、前記音声応答に対応して該音声応答の出力された時刻の履歴の情報である時系列情報を含み、
出力中の音声応答の優先度を補正する際、前記時系列情報を参照し、
出力中の音声応答について最後に出力した時刻からの経過時間が短いほど該音声応答の優先度を低い値に補正する請求項5または6記載の音声対話方法。
【請求項8】
前記記憶部にユーザ毎に異なる識別子、ユーザにより入力された認識語、および該認識語に対応して出力された音声応答の情報を含むユーザ固有履歴情報を格納し、
前記識別子が入力されると、入力された識別子に一致する識別子を前記ユーザ固有履歴情報で特定し、
特定したユーザ固有履歴情報にしたがって、受け付け中の認識語と出力中の音声応答の優先度を補正する請求項5から7のいずれか1項記載の音声対話方法。
【請求項9】
入力音声に対して音声応答を出力するコンピュータに実行させるためのプログラムであって、
入力音声として認識される単語である認識語、該入力音声に対応して出力するための音声応答の情報、該認識語および該音声応答の優先度の情報、前記認識語の入力回数の情報を含む入力履歴、ならびに前記音声応答の出力回数および出力が完了する前に中断した回数の情報を含む出力履歴を格納し、
前記音声応答の出力中に前記入力音声を受け付けると、該入力音声に重畳する該音声応答を除去して前記認識語を特定し、
出力中の音声応答および特定した認識語の前記記憶部に格納された優先度を前記入力履歴および前記出力履歴の情報を用いて補正し、
前記音声応答と前記認識語の補正後の優先度を比較し、
比較の結果、前記音声応答の方の優先度が高ければ出力を維持し、前記認識語の方の優先度が高ければ、該音声応答の出力を中断する処理を前記コンピュータに実行させるためのプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【公開番号】特開2008−3517(P2008−3517A)
【公開日】平成20年1月10日(2008.1.10)
【国際特許分類】
【出願番号】特願2006−175877(P2006−175877)
【出願日】平成18年6月26日(2006.6.26)
【出願人】(390001395)NECシステムテクノロジー株式会社 (438)
【Fターム(参考)】
【公開日】平成20年1月10日(2008.1.10)
【国際特許分類】
【出願日】平成18年6月26日(2006.6.26)
【出願人】(390001395)NECシステムテクノロジー株式会社 (438)
【Fターム(参考)】
[ Back to top ]