(57)【要約】  【課題】  再入力が行われる場合を想定して対話シナリオを記述しなくても、ユーザの再入力を適切に処理する対話システムを提供する。  【解決手段】  対話システムにおいて、遷移前の状態を記憶する再入力可能状態記憶部１０９と、遷移前の状態に割り当てられた認識候補集合を記憶する再入力用認識候補集合記憶部１１０とを設ける。ユーザ入力があったとき、そのときの状態に対応付けられた前記認識候補集合と、再入力用認識候補集合記憶部１１０の認識候補集合との両方を参照して認識語彙候補を決定する。決定した認識語彙候補が、再入力用認識候補集合記憶部１１０の認識候補集合に記述された認識語彙候補であった場合、再入力可能状態記憶部１０９に記憶された状態を、次に遷移すべき状態として決定する。【選択図】  図１
2006349954.tif 000002
【特許請求の範囲】
【請求項１】
ユーザ入力を受け付ける入力部と、
ユーザへ情報を提示する出力部と、
前記入力部および出力部を介したユーザとの対話に応じた状態遷移モデルが記述された対話シナリオを記憶する対話シナリオ記憶部と、
前記対話シナリオに記述された状態遷移モデルに基づき、前記入力部からのユーザ入力に応じて、遷移すべき状態を決定する状態管理部と、
現在の状態を記憶しておく現状態記憶部と、
前記状態管理部によって決定された状態に割り当てられた処理を実行する処理実行部と、
前記状態遷移モデルの状態のそれぞれに対して想定されるユーザ入力の認識語彙候補が記述された認識候補集合を、前記状態遷移モデルの各状態に対応付けてあらかじめ記憶する認識候補集合記憶部と、
次の状態へ遷移する際に、遷移前の状態を記憶しておく再入力可能状態記憶部と、
次の状態へ遷移する際に、遷移前の状態に割り当てられた認識候補集合を記憶しておく再入力用認識候補集合記憶部と、
ユーザ入力があったとき、そのときの状態に対応付けられた前記認識候補集合と、前記再入力用認識候補集合記憶部に記憶された認識候補集合との両方を参照し、前記ユーザ入力に該当する認識語彙候補を決定する認識処理部とを備え、
前記認識処理部が決定した認識語彙候補が、前記再入力用認識候補集合記憶部に記憶された認識候補集合に記述された認識語彙候補であった場合、前記状態管理部が、前記再入力可能状態記憶部に記憶された状態を、遷移すべき状態として決定することを特徴とする対話システム。
【請求項２】
ユーザ入力があったとき、その時点で前記現状態記憶部に記憶されている状態に対応付けられた前記認識候補集合と、前記再入力用認識候補集合記憶部に記憶された認識候補集合との両方において、ユーザ入力に該当する認識語彙候補があった場合、どちらの認識候補集合を優先するかを所定の基準に基づいて決定する再入力判定部をさらに備えた、請求項１記載の対話システム。
【請求項３】
前記再入力用認識候補集合記憶部に記憶された認識候補集合を、ユーザが再入力を行う場合に想定される認識語彙候補を含んだ認識候補集合に変換する再入力用認識候補集合変換部をさらに備えた、請求項１または２に記載の対話システム。
【請求項４】
前記認識処理部は、更に、前回の認識結果を記憶しておき、
前記再入力用認識候補集合変換部が、前記再入力用認識候補集合記憶部に記憶された認識候補集合から前記前回の認識結果を除く、請求項３に記載の対話システム。
【請求項５】
前記再入力用認識候補集合変換部が、前記再入力用認識候補集合記憶部に記憶された認識候補集合へ、当該認識候補集合に記述された認識語彙候補のいずれかに対してユーザが再入力を行う場合に用いられる語彙を付加した新たな認識語彙候補を追加する、請求項３記載の対話システム。
【請求項６】
ある状態からユーザ入力が行われず次の状態に遷移する場合、前記再入力可能状態記憶部に記憶された状態と、前記再入力用認識候補集合記憶部に記憶された認識候補集合とを更新しない、請求項１〜５のいずれか一項に記載の対話システム。
【請求項７】
前記再入力用認識候補集合記憶部に記憶された認識候補集合の認識候補語彙に該当するユーザ入力が行われた場合、前記認識処理部による認識結果を明示的にユーザに確認する状態を生成する再入力結果確認状態生成部をさらに備えた、請求項１〜６のいずれか一項に記載の対話システム。
【請求項８】
前記再入力用認識候補集合記憶部に記憶された認識候補集合の認識候補語彙に該当するユーザ入力が行われたとき、そのときの状態で呼び出したアプリケーションプログラムによる手続きの結果を元に戻すための手続きを呼び出す、請求項１〜７のいずれか一項に記載の対話システム。
【請求項９】
前記再入力可能状態記憶部に、過去の状態を複数記憶するための領域を備えると共に、再入力用認識候補集合記憶部に、過去の状態に割り当てられた認識候補集合を複数記憶するための領域を備え、
過去の状態へのユーザ入力に対して得られた認識結果を保存しておく認識結果履歴記憶部をさらに備えた、請求項１〜８のいずれか一項に記載の対話システム。
【請求項１０】
ユーザ入力を受け付ける入力部と、ユーザへ情報を提示する出力部とを備えたコンピュータに、ユーザとの対話処理を実行させるプログラムであって、
前記入力部および出力部を介したユーザとの対話に応じた状態遷移モデルが記述された対話シナリオを参照し、前記状態遷移モデルに基づき前記入力部からのユーザ入力に応じて遷移すべき状態を決定し、決定された状態を現状態記憶部へ記憶すると共に、決定された状態に割り当てられた処理を実行する処理実行ステップと、
次の状態へ遷移する際に、遷移前の状態を再入力可能状態記憶部へ記憶すると共に、遷移前の状態に割り当てられた認識候補集合を再入力用認識候補集合記憶部へ記憶する記憶ステップと、
ユーザ入力があったとき、前記状態遷移モデルの状態のそれぞれに対して想定されるユーザ入力の認識語彙候補が記述された認識候補集合を前記状態遷移モデルの各状態に対応付けてあらかじめ記憶した認識候補集合記憶部を参照し、そのときの状態に対応付けられた前記認識候補集合と、前記再入力用認識候補集合記憶部に記憶された認識候補集合との両方を参照し、前記ユーザ入力に該当する認識語彙候補を決定する認識ステップとを前記コンピュータに実行させ、
前記認識ステップにおいて決定された認識語彙候補が、前記再入力用認識候補集合記憶部に記憶された認識候補集合に記述された認識語彙候補であった場合、次の前記処理実行ステップにおいて、前記コンピュータに、前記再入力可能状態記憶部に記憶された状態を遷移すべき状態として決定させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、システムからの質問に対するユーザの応答に応じた状態遷移を行う対話システムに関し、特に、過去の状態に対する再入力を受け付けることが可能な対話システムに関する。
【背景技術】
【０００２】
従来、ユーザからの入力を受け付ける手段として例えば音声認識モジュールを利用し、ユーザとシステム間の対話を実現する対話システムが知られている。このような対話システムは、例えば、音声ポータルをはじめとする情報提供システム、コールセンター業務の音声自動応答システム、カーナビゲーションシステムなどに用いられている。
【０００３】
従来の対話システムは、対話の進行内容が記述された対話シナリオを処理することで、システムとユーザとの対話を実現している。一般に、対話シナリオは状態遷移モデルで表される。各状態には、システム出力の内容と、ユーザ入力からシステムが認識する認識語彙が記述された認識候補集合とが割り当てられており、システム出力に対して行われたユーザ入力の認識結果によって、次に遷移すべき状態が決定される。これを繰り返すことで対話が進行していく。対話シナリオはVoiceXMLなどの言語によって、認識候補集合はSRGS（Speech Recognition Grammar Specification）などの言語によって記述される。
【０００４】
ユーザからの入力を受け付けるためには音声認識技術が用いられる。これは、音声認識モジュール（ASR：Automatic Speech Recognition）が、ユーザの入力した音声をテキスト情報に変換するものである。音声認識モジュールは、指定された認識候補集合を参照して、ユーザ入力が認識候補集合に記述された認識語彙のいずれかと一致していると推定される場合にそれを認識結果として返す。音声認識モジュールは認識結果とともに、その認識結果が実際のユーザ入力と一致している尤度を信頼度として返す機能を備えている。音声認識モジュールは、同時に複数の認識候補集合を参照して認識を行うこともできる。
【０００５】
また、システムからの情報を提示するためには、音声合成技術が用いられる。これは、音声合成モジュール（TTS：Text To Speech）によりテキスト情報を自動的に読み上げるものである。ユーザは、対話システムに直接的につながった入力装置および出力装置のほか、一般加入電話、携帯電話、PDAなどの移動体通信機器、カーナビゲーションなどの機器からネットワーク回線を介して対話システムに接続し、サービスを利用する。
【０００６】
対話システムでは、入力した情報の変更・訂正などを行うため、ユーザが再入力を行う場合が多い。特に、音声対話システムでは、システムからの質問に対してユーザが何らかの応答を行った後に、システムの認識間違いやユーザの言い間違い・言いよどみ等の理由によりユーザが再入力を行うことが多い。このような再入力を容易に行わせることを目的として、複数個の異なる項目の一連の音声入力を行う場合において、認識結果の確認、訂正を行う場合にキー操作を必要とせず、ただ言い直すだけで容易に入力訂正を行える音声認識装置が提案されている（特許文献１参照）。
【特許文献１】特開平５−６６７９４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、従来の対話システムでは、各質問に対して有効な応答となる認識候補集合と、それに一致するユーザ入力が行われた場合の処理とを、すべて対話シナリオに記述しておく必要がある。そのため、再入力可能な対話システムを実現するには、次の質問を行っている時点でも、再入力を受理する（前の質問に対する）認識候補集合を有効にし、さらに、実際に再入力が行われたときの処理を対話シナリオに明示的に記述しなければならなかった。
【０００８】
特に、システムの質問の順番があらかじめ決まっておらず、ユーザ入力の内容などの状況に応じて対話の流れが決まるような対話シナリオの場合、対話シナリオの記述が非常に複雑になり、コストがかかるという問題があった。すなわち、この場合、前の質問が何であったかという対話の履歴を参照して再入力を受理する認識候補集合を設計しなければならず、また、あり得る対話の流れをすべて考慮した上で、再入力が行われたときの処理を対話シナリオに記述する必要があったからである。
【０００９】
本発明は、前記課題を解決するために、再入力が行われる場合を想定して対話シナリオを記述しなくても、ユーザの再入力を適切に処理することが可能な対話システムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明にかかる対話システムとユーザとの「対話」とは、音声によって媒介される対話に限定されない。例えば、ユーザがキーボードまたは手書き文字入力装置等の入力装置を利用して入力したテキストデータ等を介したやりとりも、本発明における「対話」の概念に含まれる。
【００１１】
上述の目的を達成するために、本発明にかかる対話システムは、ユーザ入力を受け付ける入力部と、ユーザへ情報を提示する出力部と、前記入力部および出力部を介したユーザとの対話に応じた状態遷移モデルが記述された対話シナリオを記憶する対話シナリオ記憶部と、前記対話シナリオに記述された状態遷移モデルに基づき、前記入力部からのユーザ入力に応じて、遷移すべき状態を決定する状態管理部と、現在の状態を記憶しておく現状態記憶部と、前記状態管理部によって決定された状態に割り当てられた処理を実行する処理実行部と、前記状態遷移モデルの状態のそれぞれに対して想定されるユーザ入力の認識語彙候補が記述された認識候補集合を、前記状態遷移モデルの各状態に対応付けてあらかじめ記憶する認識候補集合記憶部と、次の状態へ遷移する際に、遷移前の状態を記憶しておく再入力可能状態記憶部と、次の状態へ遷移する際に、遷移前の状態に割り当てられた認識候補集合を記憶しておく再入力用認識候補集合記憶部と、ユーザ入力があったとき、そのときの状態に対応付けられた前記認識候補集合と、前記再入力用認識候補集合記憶部に記憶された認識候補集合との両方を参照し、前記ユーザ入力に該当する認識語彙候補を決定する認識処理部とを備え、前記認識処理部が決定した認識語彙候補が、前記再入力用認識候補集合記憶部に記憶された認識候補集合に記述された認識語彙候補であった場合、前記状態管理部が、前記再入力可能状態記憶部に記憶された状態を、遷移すべき状態として決定することを特徴とする。
【００１２】
この構成では、ある状態から次の状態へ遷移する際に、遷移前の状態を再入力可能状態記憶部へ記憶すると共に、遷移前の状態に割り当てられた認識候補集合を再入力用認識候補集合記憶部へ記憶する。そして、ユーザ入力があったとき、認識処理部が、その時点における状態に対応付けられた前記認識候補集合と、前記再入力用認識候補集合記憶部に記憶された認識候補集合との両方を参照し、前記ユーザ入力に該当する認識語彙候補を決定する。さらに、このように決定された認識語彙候補が、前記再入力用認識候補集合記憶部に記憶された認識候補集合に記述された認識語彙候補であった場合、前記状態管理部が、前記再入力可能状態記憶部に記憶された状態を、次に遷移すべき状態として決定する。これにより、従来のように、ユーザにより再入力が行われる可能性を想定して対話シナリオを記述しておかなくても、前の状態に対する再入力を受け付けて適切に処理することが可能な対話システムを提供できる。
【００１３】
本発明にかかる対話システムは、ユーザ入力があったとき、その時点で前記現状態記憶部に記憶されている状態に対応付けられた前記認識候補集合と、前記再入力用認識候補集合記憶部に記憶された認識候補集合との両方において、ユーザ入力に該当する認識語彙候補があった場合、どちらの認識候補集合を優先するかを所定の基準に基づいて決定する再入力判定部をさらに備えたことが好ましい。
【００１４】
この構成によれば、前の状態に対する再入力の認識語彙候補と、現在の状態に対する入力の認識語彙候補のどちらにも該当するユーザ入力があった場合に、再入力判定部が、どちらの状態への入力として扱うかを決定する。なお、このような場合に、どちらを優先するかは、対話システム毎に、そのシステムの目的等に応じて任意に設定すれば良い。
【００１５】
本発明にかかる対話システムは、前記再入力用認識候補集合記憶部に記憶された認識候補集合を、ユーザが再入力を行う場合に想定される認識語彙候補を含んだ認識候補集合に変換する再入力用認識候補集合変換部をさらに備えたことが好ましい。この構成によれば、再入力用認識候補集合記憶部に記憶された認識候補集合を、例えば、再入力を行う場合にユーザが良く使うと想定される表現等を加えた認識語彙候補を含んだ認識候補集合に変換することにより、ユーザによる再入力をより的確に認識することが可能となる。
【００１６】
上記の場合、前記認識処理部が、更に、前回の認識結果を記憶しておき、前記再入力用認識候補集合変換部が、前記再入力用認識候補集合記憶部に記憶された認識候補集合から前記前回の認識結果を除くことが考えられる。ユーザによる再入力は、前回の認識結果が誤認識である場合になされるため、前回の認識結果を認識候補集合から除くことにより、再入力時の認識精度を向上させることができるからである。
【００１７】
あるいは、上記の場合、前記再入力用認識候補集合変換部が、前記再入力用認識候補集合記憶部に記憶された認識候補集合へ、当該認識候補集合に記述された認識語彙候補のいずれかに対してユーザが再入力を行う場合に用いられる語彙を付加した新たな認識語彙候補を追加することも考えられる。再入力の場合、特に音声入力にて言い直しを行う場合に、ユーザは前回の入力を否定するような語彙（間投詞等）を付け加えることが多い。従って、そのような語彙を認識語彙候補の前後いずれかまたは前後両方に付加した新たな認識語彙候補を、認識候補集合へ追加することにより、再入力時の認識精度を向上させることができる。
【００１８】
また、本発明にかかる対話システムにおいて、ある状態からユーザ入力が行われず次の状態に遷移する場合、前記再入力可能状態記憶部に記憶された状態と、前記再入力用認識候補集合記憶部に記憶された認識候補集合とを更新しないことが好ましい。この構成によれば、ユーザ入力が行われなかった状態に対して、誤って再入力を受け付けてしまうことが防止される。
【００１９】
また、本発明にかかる対話システムにおいて、前記再入力用認識候補集合記憶部に記憶された認識候補集合の認識候補語彙に該当するユーザ入力が行われた場合、前記認識処理部による認識結果を明示的にユーザに確認する状態を生成する再入力結果確認状態生成部をさらに備えたことが好ましい。この構成によれば、ユーザによる再入力に対する認識結果をユーザに確認させた上で次の状態へ遷移することができるからである。
【００２０】
また、本発明にかかる対話システムにおいて、前記再入力用認識候補集合記憶部に記憶された認識候補集合の認識候補語彙に該当するユーザ入力が行われたとき、そのときの状態で呼び出したアプリケーションプログラムによる手続きの結果を元に戻すための手続きを呼び出すことが好ましい。この構成によれば、例えば誤認識によって開始されてしまった手続きの結果を元に戻すことができるからである。
【００２１】
また、本発明にかかる対話システムにおいて、前記再入力可能状態記憶部に、過去の状態を複数記憶するための領域を備えると共に、再入力用認識候補集合記憶部に、過去の状態に割り当てられた認識候補集合を複数記憶するための領域を備え、過去の状態へのユーザ入力に対して得られた認識結果を保存しておく認識結果履歴記憶部をさらに備えたことが好ましい。この構成によれば、２回以上前の状態に対する再入力も受け付けて適切に処理することが可能となる。
【００２２】
また、本発明にかかるプログラムは、ユーザ入力を受け付ける入力部と、ユーザへ情報を提示する出力部とを備えたコンピュータに、ユーザとの対話処理を実行させるプログラムであって、前記入力部および出力部を介したユーザとの対話に応じた状態遷移モデルが記述された対話シナリオを参照し、前記状態遷移モデルに基づき前記入力部からのユーザ入力に応じて遷移すべき状態を決定し、決定された状態を現状態記憶部へ記憶すると共に、決定された状態に割り当てられた処理を実行する処理実行ステップと、次の状態へ遷移する際に、遷移前の状態を再入力可能状態記憶部へ記憶すると共に、遷移前の状態に割り当てられた認識候補集合を再入力用認識候補集合記憶部へ記憶する記憶ステップと、ユーザ入力があったとき、前記状態遷移モデルの状態のそれぞれに対して想定されるユーザ入力の認識語彙候補が記述された認識候補集合を前記状態遷移モデルの各状態に対応付けてあらかじめ記憶した認識候補集合記憶部を参照し、そのときの状態に対応付けられた前記認識候補集合と、前記再入力用認識候補集合記憶部に記憶された認識候補集合との両方を参照し、前記ユーザ入力に該当する認識語彙候補を決定する認識ステップとを前記コンピュータに実行させ、前記認識ステップにおいて決定された認識語彙候補が、前記再入力用認識候補集合記憶部に記憶された認識候補集合に記述された認識語彙候補であった場合、次の前記処理実行ステップにおいて、前記コンピュータに、前記再入力可能状態記憶部に記憶された状態を遷移すべき状態として決定させることを特徴とする。
【発明の効果】
【００２３】
本発明によれば、対話において、ユーザの再入力が行われる場合を想定して対話シナリオを記述しなくても、ユーザの再入力を適切に処理することが可能な対話システムを提供することができる。
【発明を実施するための最良の形態】
【００２４】
［第１の実施形態］
本発明にかかる対話システムの基本的な実施形態について以下に説明する。図１は、本実施形態にかかる対話システムの概略構成を示すブロック図である。
【００２５】
図１に示すように、本実施形態の対話システムは、対話シナリオ記憶部１０１、状態管理部１０２、現状態記憶部１０３、処理実行部１０４、入力部１０５、出力部１０６、認識候補集合記憶部１０７、認識処理部１０８、再入力可能状態記憶部１０９、および、再入力用認識候補集合記憶部１１０を備えている。
【００２６】
この対話システムはコンピュータによって構築され、状態管理部１０２、処理実行部１０４、および、認識処理部１０８は、前記コンピュータのプロセッサが所定のプログラムを実行することによって実現される機能的ブロックである。すなわち、これらの各部は必ずしもハードウェアとして実装されるわけではない。対話シナリオ記憶部１０１、現状態記憶部１０３、認識候補集合記憶部１０７、再入力可能状態記憶部１０９、および、再入力用認識候補集合記憶部１１０は、前記コンピュータの内蔵記憶装置または前記コンピュータがアクセス可能な外部記憶装置によって実現される。
【００２７】
入力部１０５は、ユーザ入力を受け付ける機能を持ち、例えば、音声入力の対話システムの場合であればマイクロフォンによって実現され、テキストデータや数値データによる入力を用いる対話システムの場合であればキーボード、テンキー、あるいはタブレット等の入力デバイスによって実現される。音声入力の場合は、入力部１０５または認識処理部１０８が、ユーザの発話内容を認識するための音声認識機能を有する。また、ユーザが手書き文字によってテキストデータ等を入力する場合は、入力部１０５または認識処理部１０８は、ユーザの筆跡から文字や記号等を認識するための文字認識機能を有する。音声認識機能および文字認識機能を実現する仕組みについては周知であるため、ここでは詳細な説明は省略する。出力部１０６は、システムからの出力をユーザに提示する機能を持ち、例えば、スピーカやディスプレイ等によって実現される。
【００２８】
対話シナリオ記憶部１０１には、システムとユーザとの対話を実現するための対話シナリオが記憶されている。対話シナリオは状態遷移モデルに基づいて記述されている。各状態には、その状態において実行すべき処理が割り当てられている。各状態に割り当てられた処理の具体的内容として、例えば、（１）システム出力（システムからユーザへの質問等）の内容、（２）ユーザ入力の認識語彙が記述された認識候補集合と、認識候補集合に一致するユーザ入力が行われた場合、または、ユーザ入力を正しく認識できなかった場合に、次に遷移すべき状態、が対話シナリオにおいて状態毎に記述されている。なお、対話シナリオの具体例については後述する。状態管理部１０２が、次に遷移すべき状態を決定し、処理実行部１０４が、対話シナリオに従って、状態管理部１０２により決定された状態に割り当てられた処理を実行することにより、システムとユーザとの対話が実現される。
【００２９】
状態管理部１０２で次に遷移すべき状態が決定されると、その状態の名称が現状態記憶部１０３に記憶される。処理実行部１０４は、対話シナリオ記憶部１０１の対話シナリオを参照し、状態管理部１０２で決定された状態に割り当てられたシステム出力の内容と認識候補集合とに基づいて、認識処理部１０８および出力部１０６を制御する。認識候補集合記憶部１０７には、対話シナリオに記述されている状態遷移モデルの各状態のそれぞれに対応づけられて、ユーザからの入力として想定される語彙の集合が、認識候補集合としてあらかじめ記憶されている。すなわち、状態遷移モデルに含まれる状態のうち、ユーザから何らかの入力がなされる状態と同じ数の認識候補集合が、認識候補集合記憶部１０７に記憶されている。認識処理部１０８は、認識候補集合記憶部１０７に記憶された認識候補集合の中から、現在の状態に対応する認識候補集合として指定された認識候補集合を参照し、入力部１０５から入力されたユーザ入力の認識処理を行う。認識処理部１０８は、ユーザ入力が認識候補集合に記述された認識語彙のいずれかに一致していると推定した場合、その認識語彙を認識結果として状態管理部１０２へ渡す。状態管理部１０２は、現状態記憶部１０３に記憶されている現在の状態と、認識処理部１０８による認識結果とに基づいて、次に遷移すべき状態を決定する。本実施形態の対話システムは、このような一連の処理を繰り返すことで対話を進行する。
【００３０】
また、本実施形態の対話システムにおいて、再入力可能状態記憶部１０９は、現時点の状態に遷移する前の状態の名称を記憶する。なお、本実施形態においては、各状態に「質問１」、「質問２」のような名称（図４および図６参照）を付与し、現状態記憶部１０３や再入力可能状態記憶部１０９にはこれらの名称が記憶されるものとした。ただし、それぞれの状態を識別するための標識は、このような名称に限定されず、任意の標識でよい。再入力用認識候補集合記憶部１１０は、現在の状態に遷移する前の状態に割り当てられた認識候補集合を記憶している。このように、本実施形態の対話システムは、状態遷移が行われる際に、遷移前の状態の名称を再入力可能状態記憶部１０９に記憶し、また、遷移前の状態に割り当てられている認識候補集合を再入力用認識候補集合記憶部１１０に記憶する。
【００３１】
そして、遷移後の状態に割り当てられた処理を実行するときに、ユーザ入力が行われると、遷移後の状態に割り当てられている認識候補集合に加えて、再入力用認識候補集合記憶部１０９に記憶されている遷移前の状態に割り当てられている認識候補集合も、同時に参照する。遷移後の状態に割り当てられている認識候補集合を先にチェックするのか、再入力用認識候補集合記憶部１０９に記憶されている遷移前の状態に割り当てられている認識候補集合を先にチェックするのか、両方の認識候補集合を合わせてチェックするのかは、システムの設計によってどちらでも良い。同じ回答の選択肢がある対話が続くような場合は、対話内容により、どちらかを優先するように設計することが望ましい。
【００３２】
ユーザが、遷移前の状態に対応する再入力を行った場合は、再入力された語彙は、再入力用認識候補集合記憶部１０９に記憶されている遷移前の状態に割り当てられている認識候補集合に記述された語彙と一致する。この場合、現状態記憶部１０３の内容を再入力可能状態記憶部１０９に記憶されている遷移前の状態に一時的に戻した後、ユーザ入力の認識結果に基づいて決定された状態へと遷移する。これにより、遷移前の状態でユーザ入力が行われた場合と同様の対話が継続されることになる。
【００３３】
以上のとおり、本実施形態の対話システムでは、再入力が行われる場合を想定して対話シナリオを記述しなくても、現在の状態に割り当てられた認識候補集合に加えて、前回の状態に割り当てられた認識候補集合も同時に参照することにより、ユーザの再入力を受理することができる。
［第２の実施形態］
本発明にかかる対話システムの他の実施形態について以下に説明する。図２は、本実施形態にかかる対話システムの概略構成を示すブロック図である。なお、第１の実施形態において説明した構成と同様の機能を有する構成については、第１の実施形態と同じ参照符号を付記し、その詳細な説明を省略する。
【００３４】
本実施形態にかかる対話システムは、図２に示すように、第１の実施形態にかかる対話システムの構成にさらに加えて、再入力判定部１１１を備えている。再入力判定部１１１は、現在の状態に割り当てられた認識候補集合と、前回の状態に割り当てられた認識候補集合とのそれぞれで認識結果が得られた場合、いずれの認識結果を優先するかを決定する機能を有する。
【００３５】
現在の状態に割り当てられた認識候補集合と、前回の状態に割り当てられた認識候補集合とのそれぞれで認識結果が得られた場合、認識結果とともに返される信頼度を比較して、どちらの認識候補集合を優先するかを決定してもよい。また、現在の状態に割り当てられた認識候補集合と、前回の状態に割り当てられた認識候補集合との間で何らかの重み付けを行い、どちらの認識候補集合を優先するかを決定してもよい。現在の状態に割り当てられた認識候補集合と、前回の状態に割り当てられた認識候補集合とに共通して含まれる認識結果の候補に一致するユーザ入力が行われた場合には、再入力判定部１１１でどちらを優先するか決定する。通常は、現在の状態に割り当てられた認識候補集合を優先する方が自然であると考えられるが、対話システムの目的等に応じて、どちらを優先するかは任意である。
【００３６】
以下、本実施形態に係る対話システムにおける処理の具体例について説明する。ここでは、対話システムがユーザの年齢と性別とを順番に質問してユーザ登録を行うような対話シナリオを想定する。図３は、まず、対話システムが年齢（質問１）を質問した際にユーザが「２９歳」と答え、次に、対話システムが性別（質問２）を質問している間に、ユーザが先の質問１に対して「３０歳」という応答を再入力している対話例を示している。図３に示すように、本実施形態にかかる対話システムでは、質問２を質問している際、質問１に対する認識候補集合と質問２に対する認識候補集合の両方が有効な認識候補集合とされている。なお、認識候補集合が「有効」であるとは、その認識候補集合が認識処理部１０８によって参照され、認識処理に用いられるという意味である。
【００３７】
図４は、上記の例において対話シナリオで記述された状態遷移モデルの一例を表す。図４の状態遷移モデルでは、状態Ｓ１において対話システムが年齢（質問１）を質問し、この質問に対するユーザの応答が「１０代」であれば状態Ｓ２へ、「２０代」であれば状態Ｓ３へ、「３０代」であれば状態Ｓ４へ遷移する。そして、状態Ｓ３において対話システムが性別（質問２）を質問し、この質問に対するユーザの応答が「男」であれば状態Ｓ５へ、「女」であれば状態Ｓ６へ遷移する。ただし、状態Ｓ３においてユーザが質問１に対する応答を再入力すると、再入力された応答に応じて、その応答が状態Ｓ１において入力された場合と同じ状態へ遷移する。
【００３８】
このような状態遷移モデルを実現するためには、すなわち、二つ目の質問２（性別）を質問している状態でも一つ目の質問１（年齢）に対する応答の再入力を受理し、なおかつ適切に処理するためには、従来の対話システムでは、対話シナリオにおいて、年齢を受理する認識候補集合を有効にした上で、実際に年齢が入力された場合にどのような処理を行うかを対話シナリオに明示的に記述しておく必要があった（図５参照）。特に、この例のように、ユーザ入力の内容によって次に遷移する状態が異なるような対話シナリオの場合は、遷移前の状態と遷移後の状態との両方に複雑な処理を記述する必要があった。また、図４の状態Ｓ７またはＳ８から状態Ｓ３への遷移のように、年齢以外の何らかの質問がされた後に性別を質問するという対話の流れもあるため、前の質問（状態）が何であったかという全ての対話の流れを考慮した上で対話シナリオを記述しなければならず、対話シナリオの開発コストが非常に高かった。
【００３９】
これに対して、本実施形態にかかる対話システムでは、第１の実施形態と同様に、現在の状態へ遷移する前の状態の名称と、現在の状態へ遷移する前の状態に割り当てられている認識候補集合とが、再入力可能状態記憶部１０９および再入力用認識候補集合記憶部１１０にそれぞれ記憶されており、認識処理部１０８が、現在の状態へ遷移する前の状態に割り当てられている認識候補集合と、現在の状態に割り当てられている認識候補集合との両方を参照して認識処理を行う。さらに、状態管理部１０２が、現状態記憶部１０３に記憶されている現在の状態と、認識処理部１０８による認識結果とに基づいて、次に遷移すべき状態を決定する。これにより、本実施形態の対話システムでは、再入力が行われる場合を想定して対話シナリオに記述しなくても、再入力が行われた場合の処理を適切に行うことが可能である。
【００４０】
図６は、本実施形態の対話システムにおいて用いられる対話シナリオである。図５と図６から分かるように、図５の従来の対話システムで用いられる対話シナリオに比較して、本実施形態の対話システムにおいて用いられる対話シナリオは非常にシンプルである。
【００４１】
次に、図７に、本実施形態にかかる対話システムにおける処理の流れをフローチャートで示す。最初に、対話シナリオにおいて初期状態として記述されている状態から、処理が開始される（Ｏｐ１１）。処理実行部１０４が、初期状態として記述されている状態に割り当てられている処理を実行する。具体的には、まず、出力部１０６より、対話シナリオにおいてその状態に割り当てられているシステム出力（システムからユーザへの質問等）を行う（Ｏｐ１２）。次に、認識候補集合記憶部１０７に記憶されている認識候補集合のうち、現在の状態に割り当てられている認識候補集合を有効化する（Ｏｐ１３）。そして、前記システム出力に対してユーザ入力が行われると、処理実行部１０４の制御の下で、認識処理部１０８が、Ｏｐ１３で有効化された認識候補集合とユーザ入力とを対比することにより、認識処理を行う（Ｏｐ１４）。そして、Ｏｐ１４の認識処理の結果に基づき、状態管理部１０２が、状態遷移モデルに含まれる状態のうちのどの状態へ遷移すべきかを決定する（Ｏｐ１５）。
【００４２】
Ｏｐ１５で遷移先として決定された状態が終了状態であれば（Ｏｐ１６にてＹＥＳ）、状態管理部１０２は対話を終了する。一方、Ｏｐ１５で遷移先として決定された状態が終了状態でなければ（Ｏｐ１６にてＮＯ）、状態管理部１０２は、遷移前の状態の名称を再入力可能状態記憶部１０９に記憶する（Ｏｐ１７）。さらに、状態管理部１０２は、遷移前の状態に割り当てられている認識候補集合を、再入力用認識候補集合記憶部１１０に記憶する（Ｏｐ１８）。
【００４３】
その後、処理実行部１０４が、Ｏｐ１５で遷移先として決定された状態に割り当てられた処理を実行することにより、出力部１０６より、対話シナリオにおいてその状態に割り当てられているシステム出力（システムからユーザへの質問等）を行う（Ｏｐ１９）。すなわち、ここで、Ｏｐ１１の初期状態からＯｐ１５で決定された状態へ、状態の遷移が行われたこととなる。次に、認識処理部１０８が、現在の状態（すなわち遷移後の状態）に割り当てられた認識候補集合と、再入力用認識候補集合記憶部１１０に記憶されている認識候補集合との両方を有効にして（Ｏｐ２０）、ユーザ入力とこれらの認識候補集合とを対比することにより、ユーザ入力の認識処理を行う（Ｏｐ２１）。ユーザ入力の認識結果が得られた場合、再入力判定部１１１が、そのユーザ入力が再入力であるか否かを判断する（Ｏｐ２２）。Ｏｐ２２における再入力判定部１１１による判断手法については後述する。
【００４４】
Ｏｐ２２において前記ユーザ入力が再入力でないと判断された場合は、Ｏｐ１５へ戻り、状態管理部１０２が次に遷移すべき状態を決定する。一方、Ｏｐ２２において前記ユーザ入力が再入力であると判断された場合は、現在の状態を、再入力可能状態記憶部１０９に記憶されている状態（すなわち一つ前の状態）に変更してから（Ｏｐ２３）、Ｏｐ１５へ戻る。
【００４５】
前記Ｏｐ２２において、再入力判定部１１１は、ユーザ入力が一致した認識語彙の含まれる認識候補集合が、現在の状態に割り当てられたものであるか、前の状態に割り当てられたもの（再入力用認識候補集合記憶部１１０に記憶されている認識候補集合）であるかによって、ユーザ入力が再入力であるか否かを判断する。前の状態に割り当てられた認識候補集合と、現在の状態に割り当てられた認識候補集合とのそれぞれに含まれる認識語彙に一致するユーザ入力が行われた場合には、認識結果とともに返された信頼度を比較して、どちらを優先するかを決定してもよい。さらに、信頼度に対して、再入力が行われる可能性に応じた重み付けを行ってもよい。前の状態に割り当てられた認識候補集合と、現在の状態に割り当てられた認識候補集合との両方に共通して記述されている認識語彙に一致する入力が行われた場合（例えば、ある状態において父親の年齢を質問し、その次の状態において母親の年齢を続けて質問するような対話シナリオの場合）は、現在の状態に割り当てられた認識候補集合に一致した（すなわち、再入力でない）と、判断するようにしてもよい。
［第３の実施形態］
本発明にかかる対話システムのさらに他の実施形態について以下に説明する。図８は、本実施形態にかかる対話システムの概略構成を示すブロック図である。なお、前述の各実施形態において説明した構成と同様の機能を有する構成については、それらの実施形態と同じ参照符号を付記し、その詳細な説明を省略する。
【００４６】
図８に示すように、本実施形態の対話システムは、第２の実施形態にかかる対話システムの構成にさらに加えて、再入力用認識候補集合変換部１１２と、再入力確認状態生成部１１３とを有する。再入力用認識候補集合変換部１１２は、ユーザが再入力したときの認識性能を向上させるために、前回の状態に割り当てられた認識候補集合をより再入力しやすい認識候補集合へ変換する。再入力確認状態生成部１１３は、ユーザ入力の認識結果が再入力であると判断された場合、前の状態の処理を行う前に、その再入力に対する認識結果をユーザに明示的に確認する対話を行う状態を生成する。
【００４７】
ユーザが応答を再入力する場合は、状況によって、「いや、〜」のような否定を表す語彙や、「〜だって」のような強調を表す語彙、「やっぱり〜」のような変更を表す語彙を伴って入力することが多い。このため、再入力用認識候補集合変換部１１２は、前回の状態に割り当てられた認識候補集合に記述された各認識語彙に対して、このような再入力時に特有の語彙を、登録されている語彙の前後いずれか、もしくは両方に追加したものを新たな認識語彙として追加する。また、認識誤りが理由でユーザが再入力を行う場合、前回の状態に割り当てられた認識候補集合に記述されている認識語彙から過去の認識結果を除くことで、同じ誤認識を繰り返すことを防止することができる。
【００４８】
また、ある状態から、ユーザの応答がないまま、次の状態に遷移する場合には、再入力可能状態記憶部１０９と再入力用認識候補集合記憶部１１０の更新を行わないことで、さらに先の状態において前回の状態に対する再入力を行うことが可能である。また、最初の応答から一定時間以上経過した後の再入力の可能性が低い場合には、経過時間に応じて、再入力用認識候補集合記憶部１１０に記憶された認識候補集合を有効にするか否かを決定してもよい。
【００４９】
以下、本実施形態に係る対話システムの動作について説明する。ここでは、一つの例として、いくつかの条件を入力してレストラン検索サービスを行うような対話シナリオを想定する。図９は、まず、対話システムが希望の料理のジャンル（質問１）を質問した際に、ユーザが「和食」と答えたにもかかわらず、「洋食」と誤って認識された後、システムが検索条件の確認（質問２）を行っている際に、ユーザが、質問１に対する再入力として、もう一度「いや、和食だって」と入力している対話例を示している。
【００５０】
図１０は、本実施形態の対話シナリオで記述された状態遷移モデルを表している。図１０に示すように、この対話シナリオでは、最初の状態（Ｓ１）における料理のジャンルの質問（質問１）に対するユーザ入力の認識結果（「和食」、「洋食」、「中華」）に応じて、互いに異なる状態（Ｓ２〜Ｓ４）に遷移する。また、状態Ｓ３では、対話システムが検索条件の確認（質問２）を行っている際に、ユーザ入力がなければ次の状態（Ｓ５）に遷移する。
【００５１】
図１１に、本実施形態にかかる対話システムにおける処理の流れをフローチャートで示す。なお、本実施形態にかかる対話システムは、図７に示した第２の実施形態にかかる対話システムの処理において、Ｏｐ１７の後にＯｐ３０の処理を、Ｏｐ２２の後にＯｐ３１の処理をそれぞれ追加したものである。Ｏｐ１１〜Ｏｐ２３の処理内容については、第２の実施形態と共通なので説明を省略する。
【００５２】
Ｏｐ３０では、再入力用認識候補集合変換部１１２が、前回の状態に割り当てられている認識候補集合を変換し、変換した認識候補集合を再入力用認識候補集合記憶部１１０に記憶する。上述のように、ユーザが応答を再入力する場合は、再入力時に特有の語彙（付属的語彙）を伴って入力する場合が多い。従って、このような応答を受理するために、再入力用認識候補集合変換部１１２は、前回の状態に割り当てられた認識候補集合に記述された語彙の前後いずれか、もしくは両方に、再入力時に特有の語彙を付加したものを新たな認識語彙として追加することにより、認識候補集合を変換する。
【００５３】
再入力時に特有の付属的語彙としては、「いや、〜」、「違う、〜」のような否定を表す語彙や、誤認識を修正するときの、「〜だって」、「〜だってば」、「〜だよ」のような強調を表す語彙、入力内容を修正したいときの「やっぱり〜」のような変更を表す語彙などが考えられる。なお、ここに挙げた付属的語彙は単なる例示であって、これらにのみ限定されるものではない。また、同じ誤認識を繰り返すことを防ぐために、認識候補集合に記述された認識語彙から、過去の認識結果（この例の場合だと「洋食」）を取り除いたものに、認識候補集合を変換することも考えられる。
【００５４】
また、Ｏｐ３１では、再入力判定部１１１によってユーザ入力の認識結果が再入力であると判断された場合、前の状態の処理を行う前に、ユーザに明示的に認識結果を確認する対話を行う。これは、再入力確認状態生成部１１３で生成した状態に割り当てられた処理を処理実行部１０４が実行することで実現する。この例では、「和食でよろしいですか？」のように、再入力の認識結果をユーザに明示的に確認する。これにより、再入力でないのに再入力と誤って判断された場合に、それまでの入力が破棄され、ユーザの予期しない状態に遷移してしまうことを防止できる。
【００５５】
本実施形態にかかる対話システムでは、ユーザの入力が行われず次の状態に遷移する場合には、現状態記憶部１０３に記憶された状態と、再入力用認識候補集合記憶部１１０に記憶された認識候補集合を更新する処理（Ｏｐ１７，Ｏｐ１８）を行わない。これにより、この例の場合では、「洋食で調べますね？（図９参照）」という質問２に対するユーザ入力が行われず、次の状態であるＳ５に遷移して、例えば「予算はいくらですか？」のような質問（図１０の質問３）が行われた後でも、料理のジャンル（質問１）に対して再入力を行うことが可能になる。
［第４の実施形態］
本発明にかかる対話システムのさらに他の実施形態について以下に説明する。図１２は、本実施形態にかかる対話システムの概略構成を示すブロック図である。なお、前述の各実施形態において説明した構成と同様の機能を有する構成については、それらの実施形態と同じ参照符号を付記し、その詳細な説明を省略する。
【００５６】
図１２に示すように、本実施形態の対話システムは、第３の実施形態にかかる対話システムと基本的構成は同様であるが、直前の状態だけではなく、さらに前の状態に対しても再入力を受け付けることを可能とするために、再入力可能状態記憶部１０９と再入力用認識候補集合記憶部１１０のそれぞれに、過去の複数の状態とそれぞれの状態における認識候補集合が記憶される。
【００５７】
以下、本実施形態に係る対話システムの動作について説明する。ここでは、航空機の運賃照会サービスと予約サービスを行う対話シナリオを想定する。図１３は、本実施形態の対話システムにおいて対話シナリオに記述された状態遷移モデルを表している。この対話シナリオでは、まず、最初の状態Ｓ１において、希望するサービス（質問１）を質問し、次の状態Ｓ２において、出発地と到着地（質問２）を質問する。その後の対話の流れは、ユーザが状態Ｓ１において選択したサービスによって異なる。すなわち、ユーザが状態Ｓ１において「運賃」照会サービスを選択していた場合は、状態Ｓ２から状態Ｓ３へ遷移して運賃の案内を行う。一方、ユーザが状態Ｓ２において「予約」サービスを選択していた場合は、状態Ｓ２から状態Ｓ４へ遷移して日時（質問３）を質問する。
【００５８】
このような状態遷移モデルにおいて、前回の質問に対する再入力だけでなく、それより過去の質問に対する再入力を受理可能にするためには、再入力用認識候補集合記憶部１１０と再入力可能状態記憶部１０９において、それぞれ複数状態分の状態と認識候補集合とを記憶する。そして、状態が遷移する際に、遷移前の状態を再入力可能状態記憶部１０９に、遷移前の状態に割り当てられた認識候補集合を再入力用認識候補集合記憶部１１０に、それぞれ追加記憶する。そして、認識処理を行う際は、現在の状態に割り当てられた認識候補集合とともに、再入力用認識候補集合記憶部１１０に記憶されたすべての認識候補集合も同時に有効にする。過去の質問に対する再入力が行われた場合には、現在の状態を、再入力可能状態記憶部１０９に記憶された状態のうちユーザ入力が一致した認識候補集合が割り当てられている状態に変更した後、次に遷移すべき状態を決定する。
【００５９】
例えば、図１３に示す状態遷移モデルにおいて、運賃案内を行っている時点（状態Ｓ３）でユーザが「予約」と入力すれば、認識処理部１０８が状態Ｓ１に対応する認識候補集合に含まれる語彙が入力されたものと認識する。これにより、ユーザは、対話の途中で、希望するサービスを「運賃」照会から「予約」へ変更することが可能になる。この場合、状態Ｓ１に対する再入力が受け付けられたこととなるので、次に状態Ｓ２へ遷移し、再び、出発地と目的地の質問がなされる。
【００６０】
ここで、本実施形態のさらなる改良例として、図１４に示すように、認識結果履歴記憶部１１４をさらに追加し、すでに認識結果が得られている状態についてはスキップするようにしてもよい。図１５に、認識結果履歴記憶部１１４の記憶内容の一例を概念的に示す。図１５の例では、図１３に示した状態Ｓ１に対するユーザ入力の認識結果が「運賃」であり、状態Ｓ２に対するユーザ入力の認識結果が、出発地については「東京」、到着地については「大阪」であったものとする。認識結果履歴記憶部１１４の記憶内容が図１５のとおりである場合、状態Ｓ３で運賃案内を行っている時点でユーザが「予約」と入力すると、状態管理部１０２は、認識結果履歴記憶部１１４の記憶内容を参照し、状態Ｓ１およびＳ２に対するユーザ入力の認識結果が既に得られていることを確認し、状態Ｓ２をスキップして状態Ｓ４へ遷移する。従って、ユーザは、運賃照会サービスを利用する過程で状態Ｓ２において入力した出発地と到着地をもう一度入力する必要がない。
【００６１】
過去のどの時点までの質問に対する再入力を受理可能にするかについては、再入力用認識候補集合記憶部１１０に記憶された認識候補集合のそれぞれを有効にするか否かを、各認識候補集合が記憶されてからの経過時間に応じて決定してもよい。あるいは、いくつ前の状態の認識候補集合までを有効にするかを、それまでの状態遷移回数に応じて決定してもよい。また、所定のタスク（例えば航空券の予約）が完了した時点で、再入力可能状態記憶部１０９と、再入力用認識候補集合記憶部１１０の内容をクリアするようにしてもよい。
【００６２】
なお、再入力用認識候補集合記憶部１１０に記憶されている認識候補集合に一致するユーザ入力が行われた場合には、状態実行部１０４が、現在の状態で呼び出した外部アプリケーションの手続きの結果を元に戻すための手続きを呼び出すようにしてもよい。例えば、ある状態に割り当てられた処理の中で、アプリケーションプログラム呼び出しの手続きと、そのアプリケーションプログラムによる処理結果を元に戻すための手続きとの両方を呼び出し可能とすれば良い。なお、前記処理結果を元に戻す手続きは必ずしも対話シナリオに記述を要するわけではなく、ユーザ入力が再入力であったと判断された場合は対話シナリオによらずに自動的にこの手続が実行されるようにしてもよい。
【００６３】
例えば、データベースと連携して動作する対話システムの場合、ある状態において、データベースへの書き込みを行うアプリケーションプログラムを呼び出してデータベースへの書き込み処理を開始したとする。この後、ユーザが再入力を行ったとき、データベースへの書き込みを取り消すようなＡＰＩを呼び出すようにすることにより、前回のユーザ入力の影響を打ち消すことができる。
【００６４】
以上の各実施形態に加えて、以下の付記を開示する。
（付記１）
ユーザ入力を受け付ける入力部と、
ユーザへ情報を提示する出力部と、
前記入力部および出力部を介したユーザとの対話に応じた状態遷移モデルが記述された対話シナリオを記憶する対話シナリオ記憶部と、
前記対話シナリオに記述された状態遷移モデルに基づき、前記入力部からのユーザ入力に応じて、遷移すべき状態を決定する状態管理部と、
現在の状態を記憶しておく現状態記憶部と、
前記状態管理部によって決定された状態に割り当てられた処理を実行する処理実行部と、
前記状態遷移モデルの状態のそれぞれに対して想定されるユーザ入力の認識語彙候補が記述された認識候補集合を、前記状態遷移モデルの各状態に対応付けてあらかじめ記憶する認識候補集合記憶部と、
次の状態へ遷移する際に、遷移前の状態を記憶しておく再入力可能状態記憶部と、
次の状態へ遷移する際に、遷移前の状態に割り当てられた認識候補集合を記憶しておく再入力用認識候補集合記憶部と、
ユーザ入力があったとき、そのときの状態に対応付けられた前記認識候補集合と、前記再入力用認識候補集合記憶部に記憶された認識候補集合との両方を参照し、前記ユーザ入力に該当する認識語彙候補を決定する認識処理部とを備え、
前記認識処理部が決定した認識語彙候補が、前記再入力用認識候補集合記憶部に記憶された認識候補集合に記述された認識語彙候補であった場合、前記状態管理部が、前記再入力可能状態記憶部に記憶された状態を、遷移すべき状態として決定することを特徴とする対話システム。
（付記２）
ユーザ入力があったとき、その時点で前記現状態記憶部に記憶されている状態に対応付けられた前記認識候補集合と、前記再入力用認識候補集合記憶部に記憶された認識候補集合との両方において、ユーザ入力に該当する認識語彙候補があった場合、どちらの認識候補集合を優先するかを所定の基準に基づいて決定する再入力判定部をさらに備えた、付記１記載の対話システム。
（付記３）
前記再入力用認識候補集合記憶部に記憶された認識候補集合を、ユーザが再入力を行う場合に想定される認識語彙候補を含んだ認識候補集合に変換する再入力用認識候補集合変換部をさらに備えた、付記１または２に記載の対話システム。
（付記４）
前記認識処理部は、更に、前回の認識結果を記憶しておき、
前記再入力用認識候補集合変換部が、前記再入力用認識候補集合記憶部に記憶された認識候補集合から前記前回の認識結果を除く、付記３に記載の対話システム。
（付記５）
前記再入力用認識候補集合変換部が、前記再入力用認識候補集合記憶部に記憶された認識候補集合へ、当該認識候補集合に記述された認識語彙候補のいずれかに対してユーザが再入力を行う場合に用いられる語彙を付加した新たな認識語彙候補を追加する、付記３記載の対話システム。
（付記６）
ある状態から、ユーザ入力が行われず次の状態に遷移する場合、前記再入力可能状態記憶部に記憶された状態と、前記再入力用認識候補集合記憶部に記憶された認識候補集合とを更新しない、付記１〜５のいずれか一項に記載の対話システム。
（付記７）
前記再入力用認識候補集合記憶部に記憶された認識候補集合の認識候補語彙に該当するユーザ入力が行われた場合、前記認識処理部による認識結果を明示的にユーザに確認する状態を生成する再入力結果確認状態生成部をさらに備えた、付記１〜６のいずれか一項に記載の対話システム。
（付記８）
前記再入力用認識候補集合記憶部に記憶された認識候補集合の認識候補語彙に該当するユーザ入力が行われたとき、そのときの状態で呼び出したアプリケーションプログラムによる手続きの結果を元に戻すための手続きを呼び出す、付記１〜７のいずれか一項に記載の対話システム。
（付記９）
前記再入力可能状態記憶部に、過去の状態を複数記憶するための領域を備えると共に、再入力用認識候補集合記憶部に、過去の状態に割り当てられた認識候補集合を複数記憶するための領域を備え、
過去の状態へのユーザ入力に対して得られた認識結果を保存しておく認識結果履歴記憶部をさらに備えた、付記１〜８のいずれか一項に記載の対話システム。
（付記１０）
ユーザ入力を受け付ける入力部と、ユーザへ情報を提示する出力部とを備えたコンピュータに、ユーザとの対話処理を実行させるプログラムであって、
前記入力部および出力部を介したユーザとの対話に応じた状態遷移モデルが記述された対話シナリオを参照し、前記状態遷移モデルに基づき前記入力部からのユーザ入力に応じて遷移すべき状態を決定し、決定された状態を現状態記憶部へ記憶すると共に、決定された状態に割り当てられた処理を実行する処理実行ステップと、
次の状態へ遷移する際に、遷移前の状態を再入力可能状態記憶部へ記憶すると共に、遷移前の状態に割り当てられた認識候補集合を再入力用認識候補集合記憶部へ記憶する記憶ステップと、
ユーザ入力があったとき、前記状態遷移モデルの状態のそれぞれに対して想定されるユーザ入力の認識語彙候補が記述された認識候補集合を前記状態遷移モデルの各状態に対応付けてあらかじめ記憶した認識候補集合記憶部を参照し、そのときの状態に対応付けられた前記認識候補集合と、前記再入力用認識候補集合記憶部に記憶された認識候補集合との両方を参照し、前記ユーザ入力に該当する認識語彙候補を決定する認識ステップとを前記コンピュータに実行させ、
前記認識ステップにおいて決定された認識語彙候補が、前記再入力用認識候補集合記憶部に記憶された認識候補集合に記述された認識語彙候補であった場合、次の前記処理実行ステップにおいて、前記コンピュータに、前記再入力可能状態記憶部に記憶された状態を遷移すべき状態として決定させることを特徴とするプログラム。
（付記１１）
ユーザ入力を受け付ける入力部と、ユーザへ情報を提示する出力部とを備えたコンピュータに、ユーザとの対話処理を実行させるプログラムを記録した記録媒体であって、
前記プログラムは、
前記入力部および出力部を介したユーザとの対話に応じた状態遷移モデルが記述された対話シナリオを参照し、前記状態遷移モデルに基づき前記入力部からのユーザ入力に応じて遷移すべき状態を決定し、決定された状態を現状態記憶部へ記憶すると共に、決定された状態に割り当てられた処理を実行する処理実行ステップと、
次の状態へ遷移する際に、遷移前の状態を再入力可能状態記憶部へ記憶すると共に、遷移前の状態に割り当てられた認識候補集合を再入力用認識候補集合記憶部へ記憶する記憶ステップと、
ユーザ入力があったとき、前記状態遷移モデルの状態のそれぞれに対して想定されるユーザ入力の認識語彙候補が記述された認識候補集合を前記状態遷移モデルの各状態に対応付けてあらかじめ記憶した認識候補集合記憶部を参照し、そのときの状態に対応付けられた前記認識候補集合と、前記再入力用認識候補集合記憶部に記憶された認識候補集合との両方を参照し、前記ユーザ入力に該当する認識語彙候補を決定する認識ステップとを前記コンピュータに実行させ、
前記認識ステップにおいて決定された認識語彙候補が、前記再入力用認識候補集合記憶部に記憶された認識候補集合に記述された認識語彙候補であった場合、次の前記処理実行ステップにおいて、前記コンピュータに、前記再入力可能状態記憶部に記憶された状態を遷移すべき状態として決定させることを特徴とするプログラムを記録した記録媒体。
（付記１２）
ユーザ入力を受け付ける入力部と、ユーザへ情報を提示する出力部とを備えたコンピュータによる対話処理方法であって、
前記入力部および出力部を介したユーザとの対話に応じた状態遷移モデルが記述された対話シナリオを参照し、前記状態遷移モデルに基づき前記入力部からのユーザ入力に応じて遷移すべき状態を決定し、決定された状態を現状態記憶部へ記憶すると共に、決定された状態に割り当てられた処理を実行する処理実行ステップと、
次の状態へ遷移する際に、遷移前の状態を再入力可能状態記憶部へ記憶すると共に、遷移前の状態に割り当てられた認識候補集合を再入力用認識候補集合記憶部へ記憶する記憶ステップと、
ユーザ入力があったとき、前記状態遷移モデルの状態のそれぞれに対して想定されるユーザ入力の認識語彙候補が記述された認識候補集合を前記状態遷移モデルの各状態に対応付けてあらかじめ記憶した認識候補集合記憶部を参照し、そのときの状態に対応付けられた前記認識候補集合と、前記再入力用認識候補集合記憶部に記憶された認識候補集合との両方を参照し、前記ユーザ入力に該当する認識語彙候補を決定する認識ステップとを含み、
前記認識ステップにおいて決定された認識語彙候補が、前記再入力用認識候補集合記憶部に記憶された認識候補集合に記述された認識語彙候補であった場合、次の前記処理実行ステップにおいて、前記再入力可能状態記憶部に記憶された状態を遷移すべき状態として決定することを特徴とする対話処理方法。
【産業上の利用可能性】
【００６５】
本発明は、対話シナリオにユーザの再入力を処理するコードを記述していなくても、ユーザの再入力を許容するユーザビリティの高い対話システムとして利用可能である。
【図面の簡単な説明】
【００６６】
【図１】本発明の第１の実施形態にかかる対話システムのブロック図
【図２】本発明の第２の実施形態にかかる対話システムのブロック図
【図３】第２の実施形態にかかる対話システムにおける対話例
【図４】第２の実施形態にかかる対話システムにおける状態遷移モデル
【図５】従来の対話シナリオの一例
【図６】第２の実施形態にかかる対話システムにおけるシナリオ例
【図７】第２の実施形態にかかる対話システムの動作例を示すフローチャート
【図８】本発明の第３の実施形態にかかる対話システムのブロック図
【図９】第３の実施形態にかかる対話システムにおける対話例
【図１０】第３の実施形態にかかる対話システムにおける状態遷移モデル
【図１１】第３の実施形態にかかる対話システムの動作例を示すフローチャート
【図１２】本発明の第４の実施形態にかかる対話システムのブロック図
【図１３】第４の実施形態にかかる対話システムにおける状態遷移モデル
【図１４】第４の実施形態にかかる対話システムの改良例のブロック図
【図１５】図１４に示す認識結果履歴記憶部の記憶内容の一例を概念的に示す図
【符号の説明】
【００６７】
１０１  対話シナリオ記憶部
１０２  状態管理部
１０３  現状態記憶部
１０４  処理実行部
１０５  入力部
１０６  出力部
１０７  認識候補集合記憶部
１０８  認識処理部
１０９  再入力可能状態記憶部
１１０  再入力用認識候補集合記憶部
１１１  再入力判定部
１１２  再入力用認識候補集合変換部
１１３  再入力確認状態生成部
１１４  認識結果履歴記憶部
【図１】
2006349954.tif 000003
【図２】
2006349954.tif 000004
【図３】
2006349954.tif 000005
【図４】
2006349954.tif 000006
【図５】
2006349954.tif 000007
【図６】
2006349954.tif 000008
【図７】
2006349954.tif 000009
【図８】
2006349954.tif 000010
【図９】
2006349954.tif 000011
【図１０】
2006349954.tif 000012
【図１１】
2006349954.tif 000013
【図１２】
2006349954.tif 000014
【図１３】
2006349954.tif 000015
【図１４】
2006349954.tif 000016
【図１５】
2006349954.tif 000017