(57)【要約】【課題】不適切な話題への遷移を抑制する。【解決手段】一つの話題についてユーザとの対話を進行させ、対話が進行中に話題とは異なる話題の対話を実行すると決定した場合に対話を中断し、異なる話題についての対話を進行させる対話進行手段１０２と、中断された対話に関して少なくとも話題の種類と対話進行状況を含む話題情報を格納する話題情報格納手段１０１と、対話進行手段における一つの話題における対話が完了した場合に、対話を再開させる話題を話題情報格納手段から選択する次話題選択手段１０３と、話題情報格納手段に格納されている話題情報から、対話の再開が不要な話題情報を選択する不要話題情報選択手段１０４と、不要話題情報選択手段によって対話の再開が不要であると選択された話題情報を話題情報格納手段から消去する消去手段１０４と、を備える。【選択図】      図１
2007018245.tif 000002
【特許請求の範囲】
【請求項１】
ユーザとの対話を行う対話装置であって、
一つの話題について前記ユーザとの対話を進行させ、該対話が進行中に前記話題とは異なる話題の対話を実行すると決定した場合に前記対話を中断し、前記異なる話題についての対話を進行させる対話進行手段と、
前記中断された対話に関して少なくとも話題の種類と対話進行状況を含む話題情報を格納する話題情報格納手段と、
前記対話進行手段における前記一つの話題における対話が完了した場合に、対話を再開させる話題を前記話題情報格納手段から選択する次話題選択手段と、
前記話題情報格納手段に格納されている話題情報から、対話の再開が不要な話題情報を選択する不要話題情報選択手段と、
前記不要話題情報選択手段によって対話の再開が不要であると選択された話題情報を前記話題情報格納手段から消去する消去手段と、を備えることを特徴とする対話装置。
【請求項２】
前記対話進行手段は、前記次話題選択手段で選択された話題情報を参照して対話を再開することを特徴とする請求項１に記載の対話装置。
【請求項３】
前記不要話題情報選択手段は、前記対話進行手段による前記一つの話題の対話が完了したときに、完了した話題の内容に基づいて前記対話の再開が不要な話題情報を選択することを特徴とした請求項１または請求項２に記載の対話装置。
【請求項４】
前記不要話題情報選択手段は、前記対話進行手段が前記異なる話題の対話を実行すると決定した場合に、該異なる話題に基づいて対話の再開が不要な話題情報を選択することを特徴とする請求項１または請求項２に記載の対話装置。
【請求項５】
前記不要話題情報選択手段は、前記一つの話題の対話が完了したときに、該完了した話題と同じ役割の話題に対応する話題情報を前記対話の再開が不要な話題情報であると判定することを特徴とする請求項４に記載の対話装置。
【請求項６】
前記不要話題情報選択手段は、前記導入された話題と同じ役割の話題に対応する話題情報を、前記対話の再開が不要な話題情報であると判定することを特徴とする請求項４に記載の対話装置。
【請求項７】
前記話題情報格納手段が、前記ユーザとの対話を開始した順に話題情報を格納し、
前記不要話題情報選択手段は、前記話題情報格納手段に格納されている話題情報の中から、最新の話題情報を含む系列、かつ、前記対話の再開が不要な話題情報のみからなる系列を、最終的な対話の再開が不要な話題情報として選択することを特徴とする請求項１から請求項４のいずれか１項に記載の対話装置。
【請求項８】
前記不要話題情報選択手段は、前記話題情報格納手段に格納されている話題情報中の最新の話題情報から遡って順次、前記対話の再開が不要な話題情報であるかどうかを判定し、前記対話の再開が不要ではない話題情報が出現する直前までの系列を前記最終的な対話の再開が不要な話題情報として選択することを特徴とする請求項７に記載の対話装置。
【請求項９】
対話の再開が不要な話題情報を選択するためのルールを格納する選択ルール格納手段をさらに具備し、
前記不要話題情報選択手段は、前記ルールを参照して前記不要な話題情報を選択することを特徴とする請求項１から請求項８のいずれか１項に記載の対話装置。
【請求項１０】
前記選択ルール格納手段は、前記ルールに応じて話題が消去された後に行う動作を指定する消去後動作情報を格納していることを特徴とする請求項９に記載の対話装置。
【請求項１１】
ユーザとの対話を行う対話方法であって、
一つの話題について前記ユーザとの対話を進行させ、該対話が進行中に前記話題とは異なる話題の対話を実行すると決定した場合に前記対話を中断し、前記異なる話題についての対話を進行させ、
前記中断された対話に関して少なくとも話題の種類と対話進行状況を含む話題情報を格納する話題情報格納手段を用意し、
前記一つの話題における対話が完了した場合に、対話を再開させる話題を前記話題情報格納手段から選択し、
前記話題情報格納手段に格納されている話題情報から、対話の再開が不要な話題情報を選択し、
対話の再開が不要であると選択された前記話題情報を前記話題情報格納手段から消去することを特徴とする対話方法。
【請求項１２】
ユーザとの対話を行う、コンピュータで使用される対話プログラムであって、
コンピュータを、
一つの話題について前記ユーザとの対話を進行させ、該対話が進行中に前記話題とは異なる話題の対話を実行すると決定した場合に前記対話を中断し、前記異なる話題についての対話を進行させる対話進行手段と、
前記中断された対話に関して少なくとも話題の種類と対話進行状況を含む話題情報を格納する話題情報格納手段と、
前記対話進行手段における前記一つの話題における対話が完了した場合に、対話を再開させる話題を前記話題情報格納手段から選択する次話題選択手段と、
前記話題情報格納手段に格納されている話題情報から、対話の再開が不要な話題情報を選択する不要話題情報選択手段と、
前記不要話題情報選択手段によって対話の再開が不要であると選択された話題情報を前記話題情報格納手段から消去する消去手段として機能させるための対話プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、対話の進行状況に基づいて不要となる話題を遷移対象から取り除くことにより不適切な話題への遷移を抑制する対話装置、対話方法及びプログラムに関する。
【背景技術】
【０００２】
近年、音声や自然言語入力を可能とするインタフェースに関する研究が盛んである。また、そのようなインタフェースを用いるエキスパートシステムなどが多数開発され、入力された音声やテキストなどを受理する装置が一般向けにも利用可能となっている。自然言語による入力を行う場合にはユーザはシステムが必要とする全ての条件を一度に入力することは少なく、ユーザとシステムとの間でのやりとりが必要となる。例えばユーザの入力内容に不備がある場合には、システムは、その足りない条件をユーザに問い合わせ、その問い合わせに対するユーザの回答を統合するなどの処理が必要となる。このような処理を行うためにユーザとシステムとの対話処理技術が不可欠である。
【０００３】
このような自然言語入力は、人間にとって普段から慣れている入力方法であるため、特に操作が複雑で大規模なシステムのインタフェースでの利用が望まれている。こういった大規模なシステムでは、全体の目的を達成するために複数の副目的を達成するといった対話が必要となる。このため、対話処理技術ではそれぞれの目的に対応した複数の話題を取り扱う必要がある。同時にユーザの対話中の翻意などに対応した自由な対話を可能とするという観点では、システムが望む情報に関するユーザ入力のみを受理するのではなくユーザから自由に実行したい話題を指定でき、かつユーザによって対話に導入された様々な話題を統合して全体の目的を達成するような対話が可能であることが望ましい。
【０００４】
従来の対話技術においては、例えば、話題をスタックで管理する手法が提案されている（例えば、特許文献１参照）。この手法は、ユーザとの対話に現れた話題をスタックで管理し、目的を達成していないためにユーザとの対話が終了していない話題（未解決話題）をスタックに蓄積する。ユーザ或いはシステムによって新規話題を導入した場合には、その話題をスタックにプッシュし、ある話題についてユーザとの対話が終了した（以下『話題を解決した』と表記する）場合はスタックからポップするという操作を行う。また、ある話題を解決した時にその話題の対話結果に基づく出力を生成し、その出力をユーザ入力として利用可能な未解決話題をスタックから探索した結果を次の話題として選択する。出力としては例えばその話題が何らかの検索を行うものであるならば、その検索結果を利用する。この手法により例えばユーザの翻意などによって新規話題が多数導入され、その結果、未解決話題が多数スタックにプッシュされた場合であっても、話題解決時にはその結果を利用することが可能な話題へと遷移することが可能となっている。
【特許文献１】特開２００４−２１２６６４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、従来の手法は、出力を利用する未解決話題を次の話題として選択するため、出力を利用する未解決話題が見つからない場合は適切に次の話題を選択することが困難であるという問題がある。特に、実行すべきではない話題も遷移候補として残っている場合は、そのような不適切な話題に遷移してしまうという問題がある。
【０００６】
本発明は、上記従来技術の問題点を解決するためになされたものであって、不適切な話題への遷移を抑制することを可能とする対話装置、対話方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述の課題を解決するため、本発明の対話装置は、ユーザとの対話を行う対話装置であって、一つの話題について前記ユーザとの対話を進行させ、該対話が進行中に前記話題とは異なる話題の対話を実行すると決定した場合に前記対話を中断し、前記異なる話題についての対話を進行させる対話進行手段と、前記中断された対話に関して少なくとも話題の種類と対話進行状況を含む話題情報を格納する話題情報格納手段と、前記対話進行手段における前記一つの話題における対話が完了した場合に、対話を再開させる話題を前記話題情報格納手段から選択する次話題選択手段と、前記話題情報格納手段に格納されている話題情報から、対話の再開が不要な話題情報を選択する不要話題情報選択手段と、前記不要話題情報選択手段によって対話の再開が不要であると選択された話題情報を前記話題情報格納手段から消去する消去手段と、を備えることを特徴とする。
【０００８】
本発明の対話方法は、ユーザとの対話を行う対話方法であって、一つの話題について前記ユーザとの対話を進行させ、該対話が進行中に前記話題とは異なる話題の対話を実行すると決定した場合に前記対話を中断し、前記異なる話題についての対話を進行させ、前記中断された対話に関して少なくとも話題の種類と対話進行状況を含む話題情報を格納する話題情報格納手段を用意し、前記一つの話題における対話が完了した場合に、対話を再開させる話題を前記話題情報格納手段から選択し、前記話題情報格納手段に格納されている話題情報から、対話の再開が不要な話題情報を選択し、対話の再開が不要であると選択された前記話題情報を前記話題情報格納手段から消去することを特徴とする。
【０００９】
本発明の対話プログラムは、ユーザとの対話を行う、コンピュータで使用される対話プログラムであって、コンピュータを、
一つの話題について前記ユーザとの対話を進行させ、該対話が進行中に前記話題とは異なる話題の対話を実行すると決定した場合に前記対話を中断し、前記異なる話題についての対話を進行させる対話進行手段と、前記中断された対話に関して少なくとも話題の種類と対話進行状況を含む話題情報を格納する話題情報格納手段と、前記対話進行手段における前記一つの話題における対話が完了した場合に、対話を再開させる話題を前記話題情報格納手段から選択する次話題選択手段と、前記話題情報格納手段に格納されている話題情報から、対話の再開が不要な話題情報を選択する不要話題情報選択手段と、前記不要話題情報選択手段によって対話の再開が不要であると選択された話題情報を前記話題情報格納手段から消去する消去手段として機能させるためのものである。
【発明の効果】
【００１０】
本発明の対話装置、対話方法及びプログラムによれば、不適切な話題への遷移を抑制することが可能となる。
【発明を実施するための最良の形態】
【００１１】
以下、図面を参照しながら本発明の実施形態に係る対話装置、対話方法及びプログラムについて詳細に説明する。本発明による対話装置は何らかのアプリケーションのユーザインタフェースとなるものであり、アプリケーションにある機能を有効に動作させることを目的とするものである。特に本発明による対話装置はアプリケーションによる一つ以上の種類の機能を取り扱うために一つ以上の目的を取り扱うものであり、個々の目的を達成するためにそれぞれの目的と対応付けた話題についてユーザとの対話を行うものである。
【００１２】
（第１の実施形態）  
図１は、本発明の第１の実施形態に係わる対話装置を示すブロック図である。  
本実施形態に係わる対話装置は、図１に示すように、話題情報管理部１０１、対話進行部１０２、次話題情報選択部１０３、不要話題情報消去部１０４を備えている。
【００１３】
話題情報管理部１０１は、話題情報を記憶して管理している。話題情報管理部１０１は、本対話装置とユーザとの対話中に現れた話題情報を順不同に記憶する。話題情報管理部１０１は、話題情報が対話進行部１０２によって導入されたものであってもユーザによって導入されたものであっても同じように記憶する。話題情報は話題の種類と対話の進行状況に関する情報を含む情報である。話題情報管理部１０１が記憶する話題情報の詳細については後に図３を参照して説明する。
【００１４】
対話進行部１０２は、対話対象となっている話題の目的をユーザとの対話によって達成する（話題を解決する）。対話進行部１０２は、現在対話対象となっている話題情報(現在の話題情報)を管理し、管理している話題情報についてユーザとの対話を行い、現在の話題情報の話題（現在の話題）を解決する。対話進行部１０２は、ユーザとの対話の際には、ユーザ入力を話題情報に対応付けるなどといった入力解釈や、送出プロンプトの決定などの対話進行処理を行う。送出プロンプトは音声信号やテキスト表示等によってユーザに提示される。対話進行部１０２は、現在の話題を解決した場合は解決時の話題情報の内容でアプリケーションの動作を実行させる。同時に管理している話題情報をクリアし、次話題情報選択部１０３に対して次に対話を行うべき話題情報の供給を依頼する。  
対話進行部１０２における入力解釈では、ユーザから入力される自然言語を解釈し、ユーザ入力を何らかの話題情報か或いは値に変換する。例えば、ユーザが話題の名称を入力した場合には対話進行状況が初期状態の話題情報に変換したり、ユーザが動作条件としての値を指定した場合にはその値の種類の情報(例えば品詞情報など)を付与したりする。また、話題名称を省略した入力であっても話題を特定できる場合はある条件を指定された対話進行状況の話題情報に変換することもある。このような自然言語解釈方式は既存のものが使用できる。
【００１５】
対話進行部１０２は各話題に対応付けられた対話手順と対話情報にある対話進行状況を参照して対話を行う。対話手順が終了した時に対話進行部１０２はその話題を解決したと判断する。このような一つの話題に対する対話処理は、各話題に関連付けられた対話の状態遷移図などのシナリオを参照して対話を進め、シナリオの終了まで対話状態が遷移すると話題の解決とみなす手法や、話題解決のために不足している情報を検出してユーザに要求し、不足情報がなくなれば話題の解決とみなす手法など、既存の手法を利用することができる。また、対話の際にユーザに提示する応答（送出プロンプト）はシナリオに指定された定型文や、応答文のテンプレートに情報を与えて自動生成してユーザに応答文を提示したり、シナリオに指定された画面出力等の動作指定などに基づき動作したりするなど既存の手法を利用して生成してことが可能である。
【００１６】
対話進行部１０２は、対話中に対話進行部１０２における対話進行処理によって新たな話題情報が導入された場合、或いはユーザから新たな話題情報が導入された場合には、管理している現在対話途中の話題情報(未解決な話題情報)を話題情報管理部１０１に記憶させる。この時対話中であった話題情報の対話は中断され、導入された新規話題情報の対話に遷移する。従って話題情報管理部１０１には未解決で再開を待つ話題情報が蓄積される。新たな話題情報の導入は、例えばユーザにより現在の話題とは別の話題の話題情報が入力された場合や、対話進行部１０２が参照する対話手順によって別の話題を解決すると指定されている場合に対話進行部１０２が検出することができる。
【００１７】
次話題情報選択部１０３は、話題情報管理部１０１に記憶されている話題情報からユーザとの対話を実行する話題情報を選択する。次話題情報選択部１０３は、対話進行部１０２において現在の話題が解決された時に呼び出され、解決された話題の次に対話を実行(再開)すべき話題情報を話題情報管理部１０１に登録されている話題情報から選択する。この時に、次話題情報選択部１０３は、不要話題情報消去部１０４に以後対話を再開すべきではない話題情報(不要話題情報)の消去を依頼する。そして、次話題情報選択部１０３は消去の結果残っている話題情報から次の話題として適切な話題情報を選択する。次話題選択部の選択ルールについては後述する。
【００１８】
不要話題情報消去部１０４は、話題情報管理部１０１に記憶されている各話題情報が以後の対話において再開が不要な話題情報であるかどうかを判定し、不要であるとされた話題情報を話題情報管理部１０１から消去する。不要話題情報消去部１０４は、次話題情報選択部１０３から呼び出され、話題情報管理部１０１に格納されている話題情報から現在の対話状態に基づいて不要話題情報を選択し、消去する。不要話題情報消去部１０４の詳細動作については図４を参照して説明する。
【００１９】
次に、本発明の第１の実施形態に係わる対話装置の動作について図２を参照して説明する。なお、図２は、本発明の第１の実施形態に係わる対話装置の動作を示すフローチャートである。  
本対話装置は所定の話題についてユーザとの対話を行うものである。ユーザ或いは本対話装置によって対話を開始した段階が図２に示した「Ｓｔａｒｔ」に相当し、対話を継続する必要性がなくなったときに対話を終了する。すなわち、図２の「Ｅｎｄ」で対話を終了する。
【００２０】
本対話装置はユーザとの対話を開始すると、対話進行部１０２が、開始時の話題情報を現在の話題情報として設定し（Ｓ２０１）、この話題情報に関する対話を継続する（Ｓ２０２）。対話進行中にはシステム応答を出力してユーザ入力を待ち受ける場合も含まれるが、このような状態はＳ２０２でユーザ入力まで一時停止している状態であると言える。この場合はユーザ入力やタイマイベント等を受理することでＳ２０２の処理が継続される。さらに対話進行部１０２は、ユーザ入力のタイミングに限らず対話が進行する各段階で、新たな話題情報の導入があるかないかを逐一確認する。（Ｓ２０３）
ステップＳ２０３で対話進行部１０２が新たな話題情報が導入されていないと判定した場合にはステップＳ２０４に進み、一方、導入されていると判定した場合にはステップＳ２０９に進む。ステップＳ２０４では、対話進行部１０２が現在の話題を解決したかどうかの確認を逐一行い、話題を解決した場合にはステップＳ２０５に進み、解決しなかった場合にはステップＳ２０２に戻る。ステップＳ２０９では、現在実行中の話題を後で復帰させる可能性があるので、対話進行部１０２は現在対話実行中の話題情報を話題情報管理部１０１に一旦退避させる。このとき、対話進行部１０２は導入された話題情報を現在の話題情報として登録する（Ｓ２０１）。
【００２１】
ステップＳ２０５では、対話進行部１０２が、解決済みの話題情報を対話進行部１０２から取り除き、不要話題情報消去部１０４に次に対話を実行(再開)する話題情報(次話題情報)の選択の前処理として不要話題情報の消去を実行させる。また、不要話題情報消去部１０４が話題情報管理部１０１に登録されている話題情報から不要話題情報を消去する。次に、対話進行部１０２が次話題情報選択部１０３を呼び出し、次話題情報選択部１０３が次話題情報を話題情報管理部１０１に記憶されている不要話題消去後の話題情報から選択する（ステップＳ２０６）。次話題情報選択部１０３は、話題情報管理部１０１が空でなければ次話題情報を話題情報管理部１０１から取り出して対話進行部１０２に通知し、空の場合は選択失敗を対話進行部１０２に返す。
【００２２】
次話題情報を選択する選択ルールとしてはどのようなものでも構わないが、ここでは例えば『話題情報の実行状態が解決結果の取得を待っている状態である話題情報を選択』というルールを採用するものとして説明する。例えば、話題「目的地設定」の目的地の場所を決定するために「住所」などといった場所を検索するための話題を呼び出した場合、「目的地設定」の実行状態は検索結果の場所を待っている状態であると言える。従って検索結果として場所を得た場合には、目的地の場所を決定中の「目的地設定」の話題情報を次話題と選択することができる。このようなルールで該当するものがない場合はランダムに一つの話題情報を選択する。
【００２３】
続いて次話題情報選択部１０３が次話題情報選択の結果により次話題情報があるかどうかを確認し、次話題情報がある場合にはステップＳ２０８に進み、一方、次話題情報がない場合（話題選択部１０３の動作結果が選択失敗の場合）には対話処理を終了する（Ｓ２０７）。ステップＳ２０８では、次話題情報が指定されているので、次話題情報を新規の話題情報として採用し（Ｓ２０８）、対話進行部１０２に現在の話題情報として登録する（Ｓ２０１）。そして対話進行部１０２は登録された現在の話題情報の対話進行状況を参照し、現在の話題情報に関する対話を継続(再開)する（Ｓ２０２）。  
具体例を本実施形態の対話装置に適用した場合の動作については図６を参照して後述する。
【００２４】
次に、話題情報管理部１０１に格納される話題情報の具体例について図３を参照して説明する。図３は話題情報管理部１０１とこれに格納される話題情報の例を示す。  
図３では、話題情報管理部１０１は、話題「目的地設定」、「住所」、「経由地設定」、「登録名称」の話題情報を登録している。
【００２５】
話題情報は少なくとも話題の種類と各話題の対話進行状況に関する情報を含む情報である。対話進行状況に関する情報は各話題に関する対話手順の指定方法に依存する。例えば状態遷移図によるシナリオ指定の場合は対話によって遷移したノードに相当し、或いは話題を解決するために必要な情報を要求する対話処理の場合は、解決に必要な情報のリストなどが挙げられる。
【００２６】
ここで本発明における話題情報及びその表記について図３を用いて説明する。話題情報は名称と引数に分割できる。名称は話題の種類を表す情報であり、“（”の左側に表記する。『目的地設定』や『住所』などがこれに相当する。引数は本対話装置が対話によってユーザから情報を取得すべき属性であり、“（）”の内部に相当する。引数の数は話題によって異なり、表記上では各引数を“、”によって区切る。各引数は属性の呼び名である属性名と実際に対話によって指定された値である属性値の組み合わせで定義されており、これを（属性名）：（属性値）と表記する。属性値を取得していない場合は“φ”を（属性値）に格納する。例えば図３における話題情報３０１は『話題「住所」において都道府県名として「Ａ県」という値をユーザから取得した』状態であることを意味する。図３に示した他の話題情報は、属性値を取得していないことを示している。
【００２７】
ここで図３に示す話題情報を用いた対話進行部１０２の対話処理方法の例について説明する。話題情報の属性には話題解決のために取得が必須である必須属性と必須ではない属性がある。対話進行部１０２は属性値が指定されていない必須属性が現在の話題情報の中にあれば、対話処理としてその必須属性に代入する属性値を取得するように動作する。例えば必須属性の値を入力するようにユーザに要求し、ユーザ入力に含まれる一つ以上の情報を各情報に対応する属性に対応付けたり、ユーザに問い合わす必要がない情報であれば(現在時刻など)ユーザに要求せずに暗黙的に取得したりする。また、ユーザに情報を要求する過程において別の話題を使用する必要があるならば、その話題の話題情報を呼び出して対話を行い、呼び出した話題情報に関する対話の結果を属性値として使用する。一方、単純なコマンド入力の場合などには話題情報の属性数が０個の場合もあるが、そのような話題の場合は全必須属性が指定されているものとみなせる。そして、話題情報において不足している必須属性が無くなるとその話題は解決したと判定する。なお、以下では表記を簡単にするために各話題情報における属性は全て必須属性とし、全必須属性が指定されればその話題を解決したものとして説明する。
【００２８】
次に、本発明において重要な役割を持つ不要話題情報消去部１０４について図４、図５を参照して説明する。図４は本実施形態における不要話題情報消去部１０４のブロック図である。図５は話題役割テーブル４０２の内容を示す。  
本実施形態の不要話題情報消去部１０４は、消去処理部４０１、話題役割テーブル４０２を備えている。
【００２９】
消去処理部４０１は、『解決した話題と同じ役割の話題情報は不要話題情報である』という判断に基づいて話題情報管理部１０１に登録されている話題情報から不要話題情報を特定し、消去する。解決した話題と同じ役割であるかどうかは話題役割テーブル４０２を参照することで確認する。すなわち、消去処理部４０１は、解決した話題の役割情報と同じ役割情報を持つ話題の話題情報は不要話題情報であると判定する。
【００３０】
話題役割テーブル４０２は、話題の役割に関する情報を管理する。話題役割テーブル４０２は消去処理部４０１から参照される表であり、図５に示すように本対話装置が取り扱う各話題につき対話における役割(抽象化された話題の種類)を管理する。
【００３１】
次に、具体例として、カーナビゲーションシステム（以下カーナビ）に本発明を適用した場合を例に、本実施形態の動作について図２、図６を参照してより詳細に説明する。  
カーナビで対話を行うことが可能な話題は、指定された位置へのルート設定を行う「目的地設定」と、場所を検索する場合に使用する、住所を都道府県名から順に指定することで位置を特定する「住所」と、ランドマーク等の名称を指定することで位置を特定する「登録名称」とである。このようなカーナビを用いて図６のような対話を行う場合の動作を詳細に説明する。なお、以下の説明では話題情報の引数などの詳細表記が不要な場合は、話題情報を単に話題の名称のみで表記する。
【００３２】
ユーザ入力ＵＳＲ１によって対話が開始される。ＵＳＲ１を解釈すると“住所（都道府県名：φ、市区町村名：φ、詳細住所：φ）”という入力となる。対話進行部１０２が「住所」を現在の話題情報として設定し（Ｓ２０１）、対話を開始する（Ｓ２０２）。話題「住所」で必要な情報である都道府県名を取得するために、対話進行部１０２はＳＹＳ１をユーザに対して出力する。
【００３３】
次に、ユーザ入力ＵＳＲ２が入力された。ＵＳＲ２を解釈すると“登録名称（名称情報：φ）”という入力となる。現在の話題情報として対話進行部１０２が管理している話題情報は「住所」であるが、対話進行部１０２はこれと異なる種類の話題情報が入力されているためＵＳＲ２によって新規話題情報（「登録名称」）が導入されたと判定する（Ｓ２０３  Ｙｅｓ）。対話進行部１０２は、現在の話題情報である“住所（都道府県名：φ、市区町村名：φ、詳細住所：φ）”を話題情報管理部１０１に登録し（Ｓ２０９）、新規に導入された“登録名称（名称情報：φ）”を対話進行部１０２の管理下に設定する（Ｓ２０１）。そして、対話進行部１０２は話題「登録名称」に関する対話を進行する（Ｓ２０２）。属性「名称情報」が入力されていないのでこれを取得するために対話進行部１０２はＳＹＳ２をユーザに対して出力する。
【００３４】
次に、ユーザ入力ＵＳＲ３が入力された。ＵＳＲ３を解釈すると“「〇〇タワー」（名称情報）”となる。対話進行部１０２は、この情報は話題情報「登録名称」の「名称情報」として利用可能であるので新規話題情報の導入ではないと判定し（Ｓ２０３  Ｎｏ）、この値を「名称情報」に代入することによって現在の話題情報を“登録名称（名称情報：〇〇タワー）”に更新する。その結果、対話進行部１０２は、話題「登録名称」の解決に必要な情報が全て取得できたので、これを解決したと判定する（Ｓ２０４  Ｙｅｓ）。解決結果に基づいて対話進行部１０２は「登録名称」に関するカーナビ機能を実行させ、ユーザにシステム応答ＳＹＳ３を返す。そして対話進行部１０２は現在の話題情報をクリアし、対話進行部１０２は次話題情報選択部１０３に次話題情報の選択を依頼する。
【００３５】
不要話題情報消去部１０４が次話題情報選択の前処理として不要話題情報の消去を行う（Ｓ２０５）。不要話題情報消去部１０４において、解決した話題「登録名称」の役割情報は話題役割テーブル４０２を参照して確認すると「場所検索」となっている（図５参照）。したがって、不要話題情報消去部１０４は話題情報管理部１０１に格納されている話題情報の中から役割情報が「場所検索」のものは不要話題情報であると判定する。この段階では話題情報管理部１０１には“住所（都道府県名：φ、市区町村名：φ、詳細住所：φ）”が格納されており、話題役割テーブル４０２を参照することでこれの役割情報は「場所検索」であることが確認できる。したがって、不要話題情報消去部１０４が話題情報管理部１０１に格納されている話題情報「住所」は不要話題情報であると判定して消去する。このため話題情報管理部１０１は空となる。
【００３６】
続いて、次話題情報選択部１０３が次話題情報の選択を行う（Ｓ２０６）が、不要話題情報を削除したことによって話題情報管理部１０１は空になっているので「選択失敗」を返す。そして次話題情報が存在しないので（Ｓ２０７  Ｎｏ）対話処理を終了する。
【００３７】
続いて、ＵＳＲ４が入力された。ＵＳＲ４を解釈すると“目的地設定（〇〇タワー）”となる。直前の処理で一旦対話が終了しているのでこの入力は対話開始として取り扱うことになる。対話進行部１０２が通知された話題情報を登録し（Ｓ２０１）、対話を開始する（Ｓ２０２）。その結果ＳＹＳ４の応答をユーザに返す。
【００３８】
このように本実施形態によって不要話題情報「住所」を話題情報管理部１０１から消去することによって「住所」への話題遷移を抑制することが可能である。ＵＳＲ３に対する処理時にステップＳ２０５において不要話題情報である「住所」を消去しなければ、次話題情報として「住所」を選択することになる。そうなればＵＳＲ４の前に「住所」を解決するための応答「都道府県名をどうぞ」が再出力されることになってしまい、ユーザは「住所」に関する対話の実行をキャンセルしなければならなくなる。
【００３９】
このように、第１の実施形態に係わる対話装置によれば、一つの話題を解決することで再開が不要となる未解決な話題情報が同等の役割の話題に対応する話題情報であると判定し、遷移対象となりえる話題情報群から消去することで、解決した話題と似た内容の不要話題情報への遷移を抑制することが可能となる。
【００４０】
なお、上述の例では役割が同等の話題を判定する際に話題役割テーブル４０２のような表を参照する場合について記述しているが、本実施形態はそのような判定方法に限定されるものではない。例えば、各話題に役割に相当する情報が指定されている場合や、役割から逆引きするテーブルを参照する場合も考えられる。
【００４１】
また、想定される対話進行手順に基づいて話題が同等の役割かどうかを判定することもできる。例えば、図２３のような各話題における各属性を解決するために使用する他の話題を木構造で表現するデータベースを使用する。図２３において、例えば「目的地設定」の属性「目的地」を決定するために「住所」を呼び出す場合は、「目的地設定」ノードから「住所」ノードに「目的地」リンクが張られている。このデータベースに基づき、同じ種類のリンクで兄弟になっているノードは同等の役割であると判断することができる。例えば「目的地設定」ノードからの「目的地」リンクは「住所」ノードと「登録名称」ノードに張られており、「住所」「登録名称」は同じ役割であると言うことができる。また、このような対話進行の手順に基づいた場合は、木構造の子孫の話題に関する話題情報までも消去対象とし、対話実行手順で呼び出す別の話題情報を含めて消去対象とすることが可能となる。
【００４２】
また、上述の例において不要話題情報と判定された話題情報を即座に話題遷移の対象から除外しているが、除外するかどうかの最終判断をユーザに問い合わせても良い。このような構成であれば、例えば不要話題情報として「住所」を消去すると判定した時に「住所による場所検索を中断しますか？」などといった質問文をユーザに提示し、許可が出た場合には不要話題情報として確定するといった処理を行うことも可能である。  
以上のように解決した話題と同等の役割を持つ未解決な話題情報を再開不要な話題情報と判定して話題遷移の対象から除外するものであれば、そのような実施形態は本発明の趣旨の範囲内である。
【００４３】
（第２の実施形態）  
第１の実施形態では「同じ役割の話題情報を消去」という比較的単純なルールで不要話題情報であるかどうかの判定を行っている。第２の実施形態は、話題情報の対話進行状態を加味したより詳細な判定基準で不要話題情報を特定することでより適応的な不要話題情報の消去を可能とするものである。  
本実施形態と第１の実施形態との変更点は不要話題情報消去部１０４の構成と詳細動作のみである。したがって、本実施形態のブロック図は図１、動作のフローチャートは図２となる。ただし、不要話題情報消去部１０４のブロック図は図７のようになり、図２における不要話題情報消去処理（Ｓ２０５）の詳細動作が第１の実施形態とは異なる。以下、本実施形態における不要話題情報消去部１０４について説明する。
【００４４】
本実施形態における不要話題情報消去部１０４について図７、図８を参照して説明する。図８は消去ルール管理部７０２の内容を示す。  
本実施形態の不要話題情報消去部１０４は、図７に示すように、消去処理部７０１と消去ルール管理部７０２を備えている。
【００４５】
消去処理部７０１は『消去ルール管理部７０２にあるルールに該当する話題情報を不要話題情報とする』という判断に基づいて消去処理を行う。すなわち、話題情報管理部１０１に登録されている話題情報のそれぞれについて消去ルール管理部７０２の条件に一致するかどうかを確認し、一致した話題情報を不要話題情報と判断し、消去する。
【００４６】
消去ルール管理部７０２は、不要話題情報消去部１０４から参照される消去判定のための詳細条件を管理する。消去ルール管理部７０２の内容の一例を図８に示す。図８では消去ルールを『左側の話題情報の形式で話題を解決した時に、話題情報管理部１０１に右側の話題情報が格納されていればそれを消去する』と指定している。それぞれの記述において引数の指定がない場合は、引数の状態によらずその話題であれば該当することを意味し、引数内の“＄Ａ”は何らかの値が代入されていることを意味する。図８のルールを上から順に書き下すと、ルール８０１は『＄Ａに目的地設定をした場合には同じ場所への経由地設定の対話再開は不要』、ルール８０２は『目的地設定をした場合には住所による場所検索の対話再開は不要』、ルール８０３は『目的地設定をした場合には登録名称による場所検索の対話再開は不要』という意味になる。
【００４７】
次に、カーナビに本発明を適用した場合を例に、本実施形態の動作について図２、図９を参照してより詳細に説明する。  
この例によるカーナビでは、指定された位置へのルート設定を行う「目的地設定」、指定された位置を経由したルート設定を行う「経由地設定」などの対話を行うことが可能である。これらの話題では、設定対象の場所を指定した後に実行許可をユーザから得ることで話題を解決したものと判定する。このようなカーナビを用いて図９のような対話を行う場合の動作を詳細に説明する。
【００４８】
ＵＳＲ５〜ＳＹＳ６の対話によって現在の話題情報は“経由地設定（経由地：〇〇タワー）”となる。次のユーザ入力ＵＳＲ７は“目的地設定（目的地：〇〇タワー）”と解釈される。これは、対話進行部１０２は、ユーザによる話題情報の変更（「経由地設定」から「目的地設定」）とみなすので（Ｓ２０３  Ｙｅｓ）、現在の話題情報である“経由地設定（経由地：〇〇タワー）”を話題情報管理部１０１に登録し（Ｓ２０９）、新たに入力された“目的地設定（目的地：〇〇タワー）”を現在の話題情報として対話進行部１０２に登録する（Ｓ２０１）。そして、対話進行部１０２が話題「目的地設定」の対話を継続する（Ｓ２０２）。対話進行部１０２は、話題「目的地設定」の解決のために〇〇タワーを目的地にして良いかどうかの確認を行う応答をＳＹＳ７として出力する。
【００４９】
続いてＵＳＲ８が入力された。対話進行部１０２は、これを目的地設定の許可であると判定するので、話題「目的地設定」は解決されたと判定する（Ｓ２０４  Ｙｅｓ）。対話進行部１０２は、解決結果に基づいて「目的地設定」に関するカーナビ機能を実行させ、ユーザにシステム応答ＳＹＳ８を返す。そして対話進行部１０２は解決された現在の話題をクリアし、次話題情報選択部１０３に次話題情報の選択を依頼する。
【００５０】
不要話題情報消去部１０４が次話題情報選択の前処理として不要話題情報の消去を行う（Ｓ２０５）。不要話題情報消去部１０４における処理について説明する。消去処理部７０１では、解決した話題の話題情報“目的地設定（目的地：〇〇タワー）”をキーにして消去ルール管理部７０２から適用可能なルールを取り出す。この場合、図８の全てのルールが適用可能である。解決した「目的地設定」の引数との対応から＄Ａ＝〇〇タワーとなるので、消去可能な話題情報は“経由地設定（経由地：〇〇タワー）”、話題「住所」全般、話題「登録名称」全般となる。この段階で話題情報管理部１０１には“経由地設定（経由地：〇〇タワー）”が格納されている。これは上記の消去可能な話題情報と一致するので、消去処理部７０１はこの話題情報を不要話題情報と判定して消去する。このため話題情報管理部１０１は空となる。
【００５１】
続いて、次話題情報選択部１０３が次話題情報の選択を行う（Ｓ２０６）が、不要話題情報を削除したことによって話題情報管理部１０１は空になっているので「選択失敗」を返す。そして次話題情報が存在しないので（Ｓ２０７  Ｎｏ）対話処理を終了する。
【００５２】
このように再開が不要な話題である『同じ場所への経由地設定』を話題情報管理部１０１から消去することによって「経由地設定」への話題遷移を抑制する効果がある。ＵＳＲ８処理中のステップＳ２０５において不要話題情報である“経由地設定（経由地：〇〇タワー）”を消去しなければ、次話題情報としてこれを選択することになる。そうなればＳＹＳ８の後に、直前に〇〇タワーへの目的地設定を実行したのにもかかわらず、“経由地設定（経由地：〇〇タワー）”を解決するための確認の応答「〇〇タワーを経由地に設定しますか？」が再出力されることになってしまう。
【００５３】
一方、ＵＳＲ７の代わりに別の場所への目的地設定が入力された場合（例えば「××ホテルに目的地を設定」）について検討してみる。この場合は消去ルールによって消去対象となる話題情報は“経由地設定（経由地：××ホテル）”となるのでＳ２０５において話題情報管理部１０１に登録されている“経由地設定（経由地：〇〇タワー）”は消去されない。そして次話題情報選択（Ｓ２０６）においては唯一残っているこの話題情報を選択し、再度話題「経由地設定」の対話を開始することになる。これにより「××ホテルを目的地に設定しました。〇〇タワーを経由地に設定しますか？」というシステム応答を出力することが可能となる。
【００５４】
この例においては、消去ルールとして図８のように解決話題に対して消去対象のみを指定したものとしているが、これに加えて消去後の話題遷移を指定しても良い。例えば消去ルールとして図１０に示すルールを採用することも可能である。このようなルールを適用した場合の動作を図９の対話例に基づいて図１、図２、図９、図１０を参照して説明する。  
図９におけるユーザ入力ＵＳＲ７までの動作は上述の例からの変更はなく、話題情報管理部１０１には“経由地設定（経由地：〇〇タワー）”が登録されており、対話進行部１０２の対象となる話題情報は“目的地設定（目的地：〇〇タワー）”となっている。そして、対話進行部１０２は、話題「目的地設定」解決のために〇〇タワーを目的地にして良いかどうかの確認を行う応答をＳＹＳ７として出力する。
【００５５】
ここでＵＳＲ８が入力された。対話進行部１０２は、これを目的地設定の許可であると判定するので、話題「目的地設定」は解決されたと判定する。解決結果に基づいてカーナビの「目的地設定」機能を実行させ、ＳＹＳ８を出力する。更に対話進行部１０２は、解決した話題情報をクリアし、不要話題情報の消去を不要話題情報消去部１０４に依頼する。不要話題情報消去部１０４が次話題選択処理においては上述の例と同様にして図１０の消去ルールを参照し、消去ルール１００１を適用することで話題情報管理部１０１に登録されている“経由地設定（経由地：〇〇タワー）”を消去する（Ｓ２０５）。このため話題情報管理部１０１は空となる。
【００５６】
続いて、処理状態Ｓ２０６に遷移する前に適用した消去ルール１００１の消去後動作を参照した動作を挿入する。まず、対話進行部１０２がユーザに対して「経由地設定を継続しますか？」といった経由地設定が必要であるかどうかの問合せを行う（１００１中まる１）。この質問に対してユーザが肯定した場合は異なる場所への経由地設定を行うために“経由地設定（経由地：φ）”を新規に導入する（１００１中まる２）。話題情報を新規に導入することで本対話装置の処理状態はＳ２０９に遷移する。
【００５７】
Ｓ２０９では、対話進行部１０２は、現在の話題を話題情報管理部１０１に登録しようとするが、話題「目的地設定」解決直後なので現在の話題情報がクリアされているため、話題情報管理部１０１への話題情報登録処理は行わない。そして、対話進行部１０２の対象とする話題情報は新規導入された「経由地設定」となる（Ｓ２０１）。対話進行部１０２は、話題「経由地設定」に関する対話を継続し、「経由地を設定して下さい」といったシステム出力をユーザに提示する（Ｓ２０２）。
【００５８】
逆に、ユーザが経由地設定実行を否定した場合は話題「経由地設定」の導入を取りやめる。消去ルール１００１の適用による消去後動作が全て終了しているので、消去後動作の挿入を終了して通常通り次話題情報選択処理（Ｓ２０６）に遷移する。この場合は話題情報管理部１０１が空であるので次話題情報選択処理に失敗する。次話題情報が存在しないので（Ｓ２０７  Ｎｏ）、対話処理を終了する。
【００５９】
この消去後動作は「経由地設定処理をしていた」ことから“〇〇タワー”とは異なる場所への経由地を設定する可能性があることを重視するものである。このような動作指定を行うことで、経由地設定をしたいというユーザの要望を安易に消去すること無く容易に経由地設定への遷移を行うことが可能となる。以上のように消去ルールに加えて消去後の動作を指定することでよりユーザフレンドリーな対話を行うことが可能となる。
【００６０】
このように、第２の実施形態に係わる対話装置によれば、一つの話題を解決することで再開が不要となる話題情報の条件を詳細に設定し、その条件に基づき遷移対象となる未解決な話題情報リストから再開が不要な話題情報を消去することで、より適切に不要話題情報の消去を実行しつつ不要話題情報への遷移を抑制することが可能となる。
【００６１】
なお、上述の例において消去ルールは解決した話題と消去対象の話題情報を一対一で指定しているが、消去対象の話題情報を複数或いは話題情報管理部１０１に登録されている全話題情報と指定しても良い。また、上述の例において不要話題情報と判定された話題を即座に話題遷移の対象から除外しているが、除外するかどうかの最終判断をユーザに問い合わせても良い。このような構成であれば例えば不要話題情報として「住所」を消去すると判定した時に「住所による場所検索を中断しますか？」などといった質問文をユーザに提示し、許可が出た場合には不要話題情報として確定するといった処理を行うことも可能である。
【００６２】
また、上述の例において消去ルールは一括して消去ルール管理部７０２に登録するように記述しているが、各話題について「その話題を解決した時に不要となる話題」「解決することによってその話題が不要となる話題」などといった消去ルールを話題に関連づけて管理しても良い。この場合、対話進行部１０２の対象となる話題情報を選択することで関連する消去ルールを消去ルール管理部７０２に登録したり、不要話題情報の消去の際に解決した話題や話題情報管理部１０１にある話題情報に関する消去ルールを参照したりするなどで同様の処理が可能となる。
【００６３】
また、上述の例において消去ルールと関連動作を指定する場合には図１０のように消去後の動作を指定するものについて記述しているが、消去前の動作なども指定できるようにしても良い。消去前動作を実行する場合は当該ルール適用時に関連する動作を行い、消去前動作終了後に不要話題情報の消去を実行する。
【００６４】
以上のように解決した話題に基づいた消去ルールによって規定された再開が不要である未解決な話題情報を話題遷移の対象から除外するものであれば、そのような実施形態は本発明の趣旨の範囲内である。
【００６５】
（第３の実施形態）   
第１、２の実施形態では、話題情報管理部１０１において対話に現れた話題情報を順不同で蓄積していた。第３の実施形態では対話中の話題の出現順序を考慮して各話題情報が不要話題情報であるかどうかを判定する方法をもつ対話装置を提供する。
【００６６】
対話においては、同じ役割を示す話題であってもその話題の結果を利用する用途が異なる場合がある。例えば、同じ「場所検索」という役割の話題、或いは全く同じ話題であっても、ユーザはその用途に基づいて「目的地設定を意図した場所検索」と「経由地設定を意図した場所検索」といった意味付けを行っている。例えば、図１７のような対話例においてはＵＳＲ１０〜ＳＹＳ１１までは「目的地設定」を実行するための場所検索に関する対話であり、ＵＳＲ１３〜ＵＳＲ１５までは「経由地設定」を実行するための場所検索に関する対話である。
【００６７】
話題遷移対象の決定においては、このような意味付けに基づいた判定が必要である。特に不要話題情報の消去判定においては意味付けが異なる話題も誤って消去してしまう可能性がないとは言えない。この意味付けは対話における話題の出現位置によって推論することが可能である。例えば、図１７の対話例の場合は話題の出現順序は図１２のようになる。図１２において新しい話題は上に配置されている。この図から話題「目的地設定」の直後にその依存関係にあたる「場所検索」の話題が存在する場合には、これらの場所検索は「目的地設定」のための場所検索であると判定できる。また「経由地設定」出現後は「経由地設定」のための場所検索となっていることがわかる。すなわち同じ意味付けがなされる話題は連続して出現していると言える。本実施形態では、このような話題の順序を用いて不要話題情報であるかどうかを判定する方法を提供する。
【００６８】
本発明の第３の実施形態に係る対話装置のブロック図を図１１に示す。  
第３の実施形態に係わる対話装置は、話題スタック１１０１、対話進行部１１０２、不要話題情報消去部１１０３を備えている。
【００６９】
話題スタック１１０１は、ユーザとの対話によって現れた話題情報を記憶する。話題スタック１１０１は、本対話装置とユーザとの対話中に現れた話題情報を管理する。すなわち、話題スタック１１０１は、新規の話題情報が導入された場合はその話題情報をプッシュし、対話対象の話題が解決した場合は話題スタック１１０１をポップするという操作を行う。ここで、プッシュとはある話題情報を話題スタック１１０１の先頭（スタックトップ）に加えることであり、ポップとは話題スタック１１０１の先頭から話題情報をえることである。ポップ処理を行うと、話題スタック１１０１からスタックトップの話題情報は取り除かれ、スタックトップは次の話題情報になる。話題情報のプッシュの際にはこの話題情報が対話進行部１１０２によって導入されたものであってもユーザによって導入されたものであっても同じようにプッシュする。このようなプッシュ・ポップ操作によりユーザとの対話によって現れる最新の話題はスタックトップとしてあらわれる。従ってユーザとの対話を行う話題(現在の話題)はスタックトップの話題となる。話題スタック１１０１の内容については後に図１２を参照して説明する。
【００７０】
対話進行部１１０２は、現在の対話対象となっている話題をユーザとの対話によって解決する。対話進行部１１０２は、話題スタック１１０１におけるスタックトップを参照し、この話題情報に関してユーザとの話題解決のための対話を行う。対話進行部１１０２は、ユーザとの対話の際にはユーザ入力を話題情報と対応付けるなどといった入力解釈や、送出プロンプトの決定などの対話進行処理を行う。現在の話題を解決した場合は話題スタック１１０１にポップを依頼し、不要話題情報消去部１１０３に対して不要話題情報の消去を依頼する。対話中に対話進行部１１０２における対話進行処理によって新たな話題情報が導入された場合、或いはユーザから新たな話題情報が導入された場合にはその話題情報をプッシュするように話題スタック１１０１に依頼する。この時対話中であった話題情報の対話は中断され、プッシュされた新規話題情報の対話に遷移する。従ってスタックトップ以外の話題情報は未解決で再開を待つ話題情報となる。対話進行部１１０２における入力解釈方法や対話進行方法は対話進行部１０２と同様に既存の手法が利用可能である。
【００７１】
不要話題情報消去部１１０３は、話題スタック１１０１に記憶されている話題情報から不要話題情報を消去する。不要話題情報消去部１１０３は対話進行部１１０２から呼び出される。話題スタック１１０１に格納されている話題情報から現在の対話状態に基づいて以後対話を再開する必要がない話題情報(不要話題情報)を抽出し、それらを消去する。不要話題情報消去部１１０３の詳細動作については後に図１４を参照して説明する。
【００７２】
次に、話題スタック１１０１の内容について図１２、図１７を参照して説明する。図１２は話題スタックの説明図である。話題スタックの説明図においてはスタックトップの話題情報が一番上に配置されており、スタックトップではない話題情報は話題スタックの下方に配置されている。
【００７３】
図１７の対話におけるＵＳＲ９からＳＹＳ１４までの対話によって話題スタック１１０１は図１２のように構築される。すなわち、ＵＳＲ９、ＵＳＲ１０，ＵＳＲ１１，ＵＳＲ１２，ＵＳＲ１３，ＵＳＲ１４は全てユーザが現在のものとは別の話題を呼び出す入力であり、それに伴い新規の話題情報を話題スタック１１０１にプッシュする。従って最も新しく格納された話題情報が話題スタック１１０１のスタックトップに格納される。なお、図１７の対話例ではユーザによる入力のみで話題スタック１１０１へのプッシュがなされているが、既に述べたように対話進行部１１０２から話題情報を導入した場合であっても話題スタック１１０１へのプッシュを行う。例えば、ＵＳＲ９で「目的地設定」をプッシュした際に、対話進行部１１０２が場所決定方法として自動的に「登録名称」を選択した場合にも対話進行部１１０２は「登録名称」をプッシュする。そしてＳＹＳ１０を出力する。以後ＵＳＲ１１から図１７と同様に対話を進めた(図１７においてＳＹＳ９とＵＳＲ１０をスキップした対話例となる)場合にも話題スタック１１０１は図１２のように構成される。
【００７４】
次に、本発明の第３の実施形態に係わる対話装置の動作について図１１及び図１３を参照して説明する。なお、図１３は、本発明の第３の実施形態に係わる対話装置の動作を示すフローチャートである。
【００７５】
本対話装置は所定の話題についてユーザとの対話を行うものである。ユーザ或いは本対話装置によって対話を開始した段階が「Ｓｔａｒｔ」に相当し、対話を継続する必要性がなくなったときに対話を終了する（図１３の「Ｅｎｄ」が対応）。
【００７６】
本対話装置はユーザとの対話を開始すると対話進行状態になる（Ｓ１３０１）。対話進行状態では、対話進行部１１０２は、ユーザ入力のタイミングに限らず対話が進行する各段階で、新たな話題情報の導入があるか（Ｓ１３０２）、現在の話題を解決したか（Ｓ１３０３）の確認を逐一確認する。対話進行部１１０２は、これらの確認に該当しない場合（Ｓ１３０２，Ｓ１３０３  Ｎｏ）は更に対話を進行させる。対話進行中にはシステム応答を出力してユーザ入力を待ち受ける場合も含まれるが、このような状態はＳ１３０１でユーザ入力まで一時停止している状態であると言える。この場合はユーザ入力やタイマイベント等を受理することでＳ１３０１の処理が継続される。
【００７７】
対話進行部１１０２が新たな話題情報の導入を検出した場合（Ｓ１３０２  Ｙｅｓ）には、導入された話題情報の対話を実行するために話題スタック１１０１に新規の話題情報をプッシュする（Ｓ１３０７）。また、対話進行部１１０２が現在の話題を解決した場合（Ｓ１３０３  Ｙｅｓ）には話題スタック１１０１をポップし（Ｓ１３０４）、不要話題情報の消去処理に進む（Ｓ１３０５）。
【００７８】
不要話題情報の消去（Ｓ１３０５）では、不要話題情報消去部１１０３が話題スタック１１０１に格納されている話題情報から不要話題情報を抽出し、抽出された不要話題情報を消去する。不要話題消去処理の詳細は後に図１４を参照して説明する。
【００７９】
対話進行部１１０２は不要話題情報消去処理後に話題スタック１１０１に話題情報が残っているかどうかを確認する（Ｓ１３０６）。話題情報が残っている場合（Ｓ１３０６  Ｙｅｓ）はスタックトップが現在の話題情報であるのでスタックトップの話題を解決するように対話を継続する（Ｓ１３０１）。話題情報が残っていない場合（Ｓ１３０６  Ｎｏ）は実行すべき話題がなくなったので対話を終了する。
【００８０】
次に、本発明における重要な役割を持つ不要話題情報消去部１１０３について図１４、図１５を参照して説明する。
【００８１】
本実施形態の不要話題情報消去部１１０３は、消去処理部１４０１、消去順列ルール管理部１４０２を備えている。
【００８２】
消去処理部１４０１は、話題スタック１１０１の各話題情報が不要話題情報であるかどうかを判定し、不要話題情報を消去する。消去処理部１４０１は消去順列ルール管理部１４０２に格納されている消去ルール（図１５）を参照して不要話題情報の消去を行う。ところで、図１５において「場所検索」は、「住所」や「登録名称」といった場所検索に相当する話題を簡単のためにひとまとめにして表現したものであり、中央のフィールドにおける「場所検索＊」は連続した任意の回数の場所検索が適用可能であることを意味する。  
消去処理部１４０１は、解決した話題の種類と『解決話題』フィールドの話題とが一致し、かつ、話題スタック１１０１のスタックトップからの話題情報系列パタンが『対象系列』フィールドと一致すれば消去ルールの適用が可能であると判定する。消去ルールの適用はスタックトップを含む系列のみに限定する。これは話題スタック下方であれば解決した話題との出現時期が大きく異なるために異なる用途で導入された話題である可能性があることを考慮した方針である。消去ルールが適用可能な場合は対象系列に相当する話題情報系列を『消去後系列』の形式に変換することで消去が完了する。この処理によって消去された話題情報が不要話題情報であるという扱いとなる。消去ルールの適用が不可能な場合は消去処理を行わない。
【００８３】
消去順列ルール管理部１４０２は、話題の出現順序に基づく消去ルールを管理する。消去順列ルール管理部１４０２は消去処理部１４０１から参照されるルールを管理するデータベースである。消去順列ルール管理部１４０２は、消去ルールとして、対話に出現した話題の系列パタンに基づくルールを使用する。  
消去順列ルールの例を図１５に示す。図１５において『解決話題』フィールドが解決した話題を示し、『対象系列』フィールドが消去可能な話題系列のパタンであり、『消去後系列』フィールドが消去後に残される話題系列のパタンを示す。解決した話題の種類が『解決話題』フィールドの話題と一致し、話題スタック１１０１に残された話題情報の順序が『対象系列』フィールドのパタンと一致した場合に消去ルールが適用可能となる。消去ルール適用後には『消去後系列』フィールドのパタンに変形される。
【００８４】
次に、図１５の消去順列ルールに基づく消去処理の例について図１６を参照して説明する。  
この例では、解決話題が場所解決の一種である「登録名称」であり、話題スタック１１０１のスタックトップからの話題情報１６０１、１６０２の出現順序が『「経由地設定」「住所」』となっているため、消去処理部１４０１は消去ルール１５０２が適用可能であると判定する。この場合の対象系列は『「経由地設定」「住所」』である。消去ルール１５０２の消去後系列は『「経由地設定」』となっているので、これを対象系列と差し替える。すなわち、消去処理部１４０１は話題情報「住所」が不要話題情報であると判定されてこれを消去したことになる。なお、話題スタック下方の話題情報１６０３−１６０５の順序は『「目的地設定」「登録名称」「住所」』となっており消去ルール１５０１のパタンに該当するが、スタックトップを含む系列ではないので消去ルール１５０１は適用されない。このルール適用方針により「目的地設定」中に呼び出された場所検索の話題情報１６０３、１６０４が「経由地設定」のための場所検索が解決した時に消去されないように保護することが可能である。
【００８５】
次に、具体例として、カーナビに本発明を適用した場合を例に、本実施形態の動作について図１２、図１３、図１７を参照してより詳細に説明する。  
この例によるカーナビでは、指定された位置へのルート設定を行う「目的地設定」と、指定された位置を経由するルート設定を行う「経由地設定」と、場所検索として「住所」「登録名称」による条件指定を行う対話を行うことが可能である。「目的地設定」「経由地設定」では設定対象の場所を指定した後に実行許可をユーザから得ることで話題を解決したものと判定する。このようなカーナビを用いて図１７のような対話を行う場合の動作を詳細に説明する。
【００８６】
ＵＳＲ９〜ＳＹＳ１４までの対話は全てユーザにより新たな話題情報を導入する入力によるものである。このため話題スタック１１０１には「目的地設定」「登録名称」「住所」「経由地設定」「住所」「登録名称」の順に話題情報がプッシュされる（Ｓ１３０２  Ｙｅｓ、Ｓ１３０７）。その結果、話題スタック１１０１の状態は図１２のようになる。
【００８７】
次に、ユーザ入力ＵＳＲ１５が入力された。ＵＳＲ１５を解釈すると“「〇〇タワー」（名称情報）”となる。この情報は話題「登録名称」の「名称情報」として利用可能であるので、対話進行部１１０２は新規話題情報の導入ではないと判定し（Ｓ１３０２  Ｎｏ）、この値を「名称情報」に代入することによって現在の話題情報を“登録名称（名称情報：〇〇タワー）”に更新する。その結果、対話進行部１１０２は、話題「登録名称」の解決に必要な情報が全て取得できたので、これを解決したと判定する（Ｓ１３０３  Ｙｅｓ）。対話進行部１１０２は解決結果に基づきカーナビの「登録名称」処理を実行させる。そして対話進行部１１０２は話題スタック１１０１をポップする（Ｓ１３０４）。不要話題情報消去部１１０３に不要話題情報の消去を依頼する（Ｓ１３０５）。
【００８８】
不要話題情報消去部１１０３は図１５の消去ルール管理部の内容を参照して図１６のように話題スタック１１０１の各話題情報が不要話題情報であるかどうかを判定し、不要話題情報を消去する。消去処理部１４０１は、解決した話題が場所解決の一種である「登録名称」であり、話題スタック１１０１のスタックトップを含む系列の話題順序が『「経由地設定」「住所」』となっているため消去ルール１５０２が適用可能であると判定する。この場合の対象系列は『「経由地設定」「住所」』である。消去ルール１５０２の消去後系列は『「経由地設定」』となっているので、これを対象系列と差し替える。すなわち、話題情報「住所」が不要話題情報であると判定されてこれを消去したことになる。
【００８９】
対話進行部１１０２は不要話題情報消去後に話題スタック１１０１に話題情報が残っているかどうかを確認する（Ｓ１３０６）。不要話題情報消去処理において全ての話題を消去しなかったので、対話進行部１１０２は現在の話題情報をスタックトップの「経由地設定」として「経由地設定」の対話を再開する（Ｓ１３０６  Ｙｅｓ、Ｓ１３０１）。そして「登録名称」解決結果を用いた経由地設定の許可を得るべくシステム応答ＳＹＳ１５を出力し、対話を継続する。
【００９０】
仮に、順序によらず場所検索の役割を持つ話題情報を全て消去した場合には、ＵＳＲ１５の入力によって経由地設定のための場所検索が終了した時点で、目的地設定のための場所検索に関する話題情報も全て消去してしまう。結果として利用者に目的地設定のための場所検索の対話を最初から実行させてしまうことになる。
【００９１】
このように対話に表れた話題の出現順序を考慮した消去ルールを適用することによって、他の話題情報を解決するために導入した話題情報を誤って消去することを抑制しつつ再開が不要となった未解決な話題情報を消去することが可能となる。
【００９２】
なお、上述の例では話題の出現順序を表現する構造としてスタック構造を使用する場合について記述しているが、本発明はそのような構成に限定されるものではない。例えばスタックではなくリストであったり、話題の出現順にインデックス情報を各話題情報に持たせるものなどであったりしても話題の出現順序が把握できる情報があれば同様の処理が可能である。例えば、各話題情報に出現順のインデックス情報を持たせた場合には、インデックスの最大値となる話題情報を検索する手段を保持していればスタックトップへのアクセスと同等のことが可能となる。同様に順に小さいインデックスの話題情報の検索が可能であれば消去順列ルールを適用することが可能となる。
【００９３】
また、上述の例において消去系列ルールが消去対象系列と消去後系列の指定のみとなっているが、消去処理に関して実行する動作の指定を追加しても良い。また、上述の例において不要話題情報と判定された話題情報を即座に話題遷移の対象から除外しているが、除外するかどうかの最終判断をユーザに問い合わせても良い。このような構成であれば例えば不要話題情報として「住所」を消去すると判定した時に「住所による場所検索を中断しますか？」などといった質問文をユーザに提示し、許可が出た場合には不要話題情報として確定するといった処理を行うことも可能である。  
以上のように話題の出現順序を加味した不要話題情報であるかどうかを判定するルールに基づいて対話の再開が不要である未解決な話題情報を遷移対象から除外するものであれば、そのような実施形態は本発明の趣旨の範囲内である。
【００９４】
（第４の実施形態）  
本実施形態に係る対話装置は第３の実施形態の対話装置と同様に対話に表れた話題の順序を考慮した不要話題消去を行う対話装置を提供するものである。
【００９５】
本実施形態と第３の実施形態との異なる点は不要話題情報消去部１１０３の構成と詳細動作のみである。したがって、本実施形態の構成図は図１１、動作のフローチャートは図１３となる。ただし、不要話題情報消去部１０４の構成は図１８になり、図１３における不要話題消去処理（Ｓ１３０５）の詳細動作が第３の実施形態と異なる。以下、本実施形態における不要話題情報消去部１１０３について説明する。
【００９６】
本実施例における不要話題情報消去部１１０３について図１８を参照して説明する。  
不要話題情報消去部１１０３は、消去処理部１８０１、話題役割テーブル４０２を備えている。
【００９７】
消去処理部１８０１は、話題の出現順序による話題の意味付けを加味して話題スタック１１０１にある話題情報が不要話題情報であるかどうかの判定を行い、不要話題情報を消去する。消去処理部１８０１の詳細は後に図１９を使用して説明する。
【００９８】
話題役割テーブル４０２は、話題の役割情報を管理する。この話題役割テーブル４０２は第１の実施形態で説明した話題役割テーブルと同様であるので、説明は省略する。
【００９９】
次に、消去処理部１８０１の詳細動作について図１９のフローチャートを参照して説明する。  
消去処理部１８０１は話題スタック１１０１のスタックトップから消去判定を開始する。スタックトップの話題情報が不要話題情報か否かを判定する（Ｓ１９０１）。この消去判定は、消去処理部１８０１が話題役割テーブル４０２を参照して解決した話題とスタックトップの話題情報の役割情報が一致すれば消去と判定する。スタックトップの話題情報が不要話題情報でなければ（Ｓ１９０２  Ｎｏ）、その話題についての対話を行う必要があるので不要話題情報消去処理を終了する。一方、スタックトップの話題情報が不要話題情報であれば（Ｓ１９０２  Ｙｅｓ）、スタックトップの話題情報を消去する（Ｓ１９０３）。その結果、話題スタック１１０１が空になったら不要話題情報消去処理を終了する（Ｓ１９０４  Ｙｅｓ）。まだ話題スタック１１０１に他の話題情報が残っている場合は、消去処理部１８０１は、残っているスタックトップの話題情報が不要話題情報であるかどうかを確認し（Ｓ１９０１）、不要話題情報ではない話題情報を検出するか話題スタック１１０１が空になるまで消去処理を継続する。
【０１００】
次に、カーナビに本発明を適用した場合の例について詳細動作を説明する。但し、本実施形態においては第３の実施形態の場合と全体動作は同様であるので全体動作の説明は省略し、不要話題消去処理の詳細動作について図１３、図１７、図１９、図２０を参照して説明する。
【０１０１】
図１７におけるＵＳＲ９〜ＳＹＳ１４までの対話は全てユーザにより新たな話題情報を導入する入力によるものである。このため話題スタック１１０１には「目的地設定」「登録名称」「住所」「経由地設定」「住所」「登録名称」の順に話題情報がプッシュされる（Ｓ１３０２  Ｙｅｓ、Ｓ１３０７）。その結果、話題スタック１１０１の状態は図１２のようになる。ここでユーザ入力ＵＳＲ１５が入力され、話題「登録名称」が解決された時の不要話題消去処理の詳細動作は以下のようになる。
【０１０２】
消去処理部１８０１はスタックトップから不要話題情報か否かの判定を行う（Ｓ１９０１）。この段階でのスタックトップは「住所」（２００１）であり、消去処理部１８０１はこのスタックトップを対象とした不要話題情報であるかどうかの判定を行う。消去処理部１８０１は、話題役割テーブル４０２を参照すると、図５に示すように、解決した話題「登録名称」と話題情報「住所」（２００１）の役割は両方とも「場所検索」であるので、「住所」（２００１）は不要であると判定する（Ｓ１９０２  Ｙｅｓ）。
【０１０３】
話題情報２００１は不要であるとの判定を受けたので話題情報２００１を話題スタック１１０１から消去する（Ｓ１９０３）。消去後にも話題スタック１１０１には話題情報２００２〜話題情報２００５が登録されているので、消去処理部１８０１は消去処理を継続する（Ｓ１９０４  Ｎｏ）。消去処理部１８０１はポップ後のスタックトップである話題情報２００２を対象にして不要話題情報であるかどうかの判定を行う（Ｓ１９０１）。
【０１０４】
話題情報２００２は「経由地設定」であり、解決した話題「登録名称」とは役割が異なるので話題情報２００２は不要話題情報ではないと消去処理部１８０１が判定する（Ｓ１９０２  Ｎｏ）。したがって、消去処理部１８０１は話題情報２００２をスタックトップとした状態で不要話題情報消去処理を終了する。
【０１０５】
対話進行部１１０２は不要話題情報消去後に話題スタック１１０１に話題情報が残っているかどうかを確認する（Ｓ１３０６）。不要話題情報消去において全ての話題情報を消去しなかったので、現在の話題情報をスタックトップの「経由地設定」として対話を継続する（Ｓ１３０６  Ｙｅｓ、Ｓ１３０１）。そして「登録名称」解決結果を用いた経由地設定の許可を得るべく図１７に示すシステム応答ＳＹＳ１５を出力し、対話を継続する。
【０１０６】
以上のように、「経由地設定」においては不要となった場所検索話題である話題情報２００１を不要話題情報として消去すると共に未解決な「目的地設定」のための場所検索の話題情報（２００３，２００４）を保護することが可能となっている。これらの話題情報を消去してしまうと経由地設定終了後に目的地設定のための場所検索に関する話題情報がなくなってしまうため、再度目的地設定のための場所検索を最初から繰り返さなければならない。
【０１０７】
例えば、第１の実施形態で説明した図６のような対話例においても本実施形態は有効に動作する。この場合は「住所」「登録名称」が話題スタック１１０１にプッシュされるが、「登録名称」解決時には同じ役割である「住所」は不要話題情報と判定され、話題スタック１１０１から消去される。その結果、話題スタック１１０１が空になるまで不要話題情報の消去処理を続け、最終的にはスタックが空になり、対話処理を終了する。したがって、不要な「住所」への遷移を抑制することが可能となる。
【０１０８】
このように本実施形態では対話に表れた話題の出現順序を考慮し、スタックトップから順に各話題情報に関する消去判定を行い、消去できない場合に消去処理を中断する。このような動作をすることによって、第３の実施形態と同様に他の話題を解決するために導入した話題情報を誤って消去することを抑制しつつ、対話の再開が不要となった話題情報を消去することが可能となる。特に、本実施形態では系列順序といったような複雑なルールを擁することなく順序を加味した不要話題情報消去処理を提供することが可能となる。
【０１０９】
なお、上述の例では話題の出現順序を表現する構造としてスタック構造を使用する場合について記述しているが、本発明はそのような構成に限定されるものではない。例えばスタックではなくリストであったり、話題の出現順にインデックス情報を各話題情報に持たせるものなどであったりしても話題の出現順序が把握できる情報があれば同様の処理が可能である。例えば各話題情報に出現順のインデックス情報を持たせた場合には、インデックスの最大値となる話題を検索する手段を保持していればスタックトップへのアクセスと同等のことが可能となる。
【０１１０】
また、上述の例では不要話題情報であるかどうかの判定に各話題の役割情報を使用するように記述しているが、本発明はそのような構成に限定されるものではない。例えば第２の実施形態のように詳細な消去判定ルールや、第３の実施形態のような消去順列ルールを適用しても良い。或いはこれらのルールの組み合わせての適用も可能である。
【０１１１】
また、上述の例において不要話題情報と判定された話題情報を即座に話題遷移の対象から除外しているが、除外するかどうかの最終判断をユーザに問い合わせても良い。このような構成であれば例えば不要話題情報として「住所」を消去すると判定した時に「住所による場所検索を中断しますか？」などといった質問文をユーザに提示し、許可が出た場合には不要話題情報として確定するといった処理を行うことも可能である。
【０１１２】
以上のように、話題の出現順序を加味して最新の未解決な話題情報から順次不要話題情報であるかの判定を行い、不要話題情報ではなく対話の再開が必要である未解決な話題情報を検出するまで消去処理を繰り返すものであれば、そのような実施形態は本発明の主旨の範囲内である。
【０１１３】
（第５の実施形態）  
本実施形態に係る対話装置の構成は図２１で表される。以下、本実施形態の構成・動作について説明する。  
本実施形態に係わる対話装置は、図２１に示すように、話題情報管理部１０１、対話進行部２１０２、次話題情報選択部２１０３、不要話題情報消去部２１０４を備えている。話題情報管理部１０１は第１の実施形態で説明したものと同様であるので説明を省略する。
【０１１４】
対話進行部２１０２は対話進行部１０２とほぼ同様であるが、次の点で異なる。対話進行部２１０２は対話中に対話進行部２１０２の対話進行処理によって新たな話題情報が導入された場合、或いはユーザから新たな話題情報が導入された場合には管理している現在の話題情報を話題情報管理部１０１に記憶させ、不要話題情報消去部２１０４に不要話題情報の消去を依頼する。新たな話題情報が導入された時には、対話中であった話題情報の対話は中断され、導入された新規話題情報の対話に遷移する。従って話題情報管理部１０１には未解決で再開を待つ話題情報が蓄積される。対話進行部２１０２における入力解釈方法や対話進行方法は対話進行部１０２と同様に既存の手法が利用可能である。
【０１１５】
次話題情報選択部２１０３は、話題情報管理部１０１に記憶されている話題情報からユーザとの対話を実行する話題情報を選択する。次話題情報選択部２１０３は対話進行部２１０２において現在の話題が解決された時に呼び出され、解決された話題の次に対話を実行する話題情報(次話題情報)を話題情報管理部１０１に登録されている話題情報から選択する。次話題情報選択部２１０３が次話題情報選択部１０３と異なる点は、不要話題情報消去部１０４に以後対話を不要話題情報の消去を依頼しないことである。次話題情報選択のルールについては後述する。
【０１１６】
不要話題情報消去部２１０４は話題情報管理部１０１に記憶されている各話題情報が以後対話を再開することが不要な話題情報(不要話題情報)であるかどうかを判定し、不要話題情報を消去する。不要話題情報消去部２１０４は対話進行部２１０２において新規話題情報を導入する時に呼び出される。不要話題情報消去部２１０４の詳細動作は後に詳細な説明をする。不要話題情報消去部２１０４が話題情報を話題情報管理部１０１から消去するタイミングが第１の実施形態の場合と異なる。
【０１１７】
次に、本実施形態に係わる対話装置の動作について図２１及び図２２を参照して説明する。なお、図２２は、本実施形態に係わる対話装置の動作を示すフローチャートである。  
本対話装置は所定の話題についてユーザとの対話を行うものである。ユーザ或いは本対話装置によって対話を開始した段階がＳｔａｒｔに相当し、対話を継続する必要性がなくなったときに対話を終了する（Ｅｎｄ）。
【０１１８】
本対話装置はユーザとの対話を開始すると開始した話題情報を対話進行部２１０２が現在の話題情報として登録し（Ｓ２２０１）、この話題情報に関する対話を継続する（Ｓ２２０２）。ユーザ入力のタイミングに限らず対話が進行する各段階で、新たな話題情報の導入があるか（Ｓ２２０３）、現在の話題を解決したか（Ｓ２２０４）の確認を逐一確認する。これらの確認に該当しない場合は更に対話を進行させる（Ｓ２２０３，Ｓ２２０４  Ｎｏ）。対話進行中にはシステム応答を出力してユーザ入力を待ち受ける場合も含まれるが、このような状態はＳ２２０２でユーザ入力まで一時停止している状態であると言える。この場合はユーザ入力やタイマイベント等を受理することでＳ２２０２の処理が継続される。
【０１１９】
対話進行部２１０２が新たな話題情報の導入を検出した場合（Ｓ２２０３  Ｙｅｓ）には、現在実行中の話題情報を後で復帰させる可能性があるので、対話進行部１０２は現在実行中の話題情報を話題情報管理部１０１に一旦退避させる（Ｓ２２０７）。更に、対話進行部２１０２は、新たな話題情報を導入することによって対話の再開が不要となる不要話題情報の消去を不要話題情報消去部２１０４に依頼する（Ｓ２２０８）。また、対話進行部２１０２が現在の話題を解決した場合（Ｓ２２０４  Ｙｅｓ）には、解決した内容に基づきアプリケーションの機能を動作させ、解決済みの話題情報を対話進行部２１０２から取り除き、次話題情報選択部２１０３に次に実行する話題情報の選択を依頼する（Ｓ２２０５）。
【０１２０】
不要話題情報の消去（Ｓ２２０８）では、不要話題情報消去部２１０４によって話題情報管理部１０１に登録されている話題情報から不要話題情報を消去する。不要話題情報消去部２１０４の動作の詳細については後述する。対話進行部２１０２が新規話題情報の導入によって不要話題情報となった話題情報を消去した後に新規話題情報を現在の話題情報として登録する（Ｓ２２０１）。
【０１２１】
次話題情報の選択（Ｓ２２０５）では、次話題情報選択部２１０３が話題情報管理部１０１から次話題情報を選択する。話題情報管理部１０１が空でなければ次話題情報を話題情報管理部１０１から取り出して対話進行部２１０２に通知し、空の場合は選択失敗を対話進行部２１０２に返す。
【０１２２】
次話題情報を選択する選択ルールとしてはどのようなものでも構わないが、ここでは例えば『話題情報の実行状態が解決結果の取得を待っている状態である話題情報を選択』というルールを採用するものとして説明する。例えば、話題「目的地設定」の目的地の場所を決定するために「住所」などといった場所を検索するための話題を呼び出した場合、「目的地設定」の実行状態は検索結果の場所を待っている状態であると言える。従って検索結果として場所を得た場合には、目的地の場所を決定中の「目的地設定」の話題情報を次話題と選択することができる。このようなルールで該当するものがない場合はランダムに一つの話題情報を選択する。
【０１２３】
続いて、次話題情報選択の結果があるかどうかを確認する（Ｓ２２０６）。次話題情報が指定されていれば（Ｓ２２０６  Ｙｅｓ）その話題情報を新規の話題情報として採用し（Ｓ２２０９）、対話進行部２１０２が現在の話題情報として登録する（Ｓ２２０１）。そして対話進行部２１０２は登録された現在の話題情報に関する対話を継続する（Ｓ２２０２）。次話題情報選択部２１０３の動作結果が選択失敗の場合には次に実行する話題情報が無いので対話を終了する（Ｓ２２０６  Ｎｏ）。
【０１２４】
本発明における重要な役割を持つ不要話題情報消去部２１０４の動作について説明する。
【０１２５】
本実施形態における不要話題情報消去部２１０４の構成は図４に示したものと同様であるが、消去処理部４０１の動作が第１の実施形態の場合と少し異なる。話題役割テーブルは同様である。
【０１２６】
消去処理部４０１は『新規導入した話題と同じ役割の話題情報は不要話題情報である』という判断に基づいて話題情報管理部１０１に登録されている話題情報から不要話題情報を特定し、消去する。解決した話題と同じ役割であるかどうかは話題役割テーブル４０２を参照することで確認する。すなわち、消去処理部４０１は、新規導入した話題の役割情報と同じ役割情報を持つ話題の話題情報は不要話題情報であると判定する。
【０１２７】
次に、具体例として、カーナビゲーションシステム（以下カーナビ）に本発明を適用した場合を例に、本実施形態の動作について図６、図２１、図２２を参照して説明する。なお、本動作は第１の実施形態での例とほとんど同様である。本例のステップＳ２２０８、ステップＳ２２０４からステップＳ２２０５が異なるだけである。  
カーナビで対話を行うことが可能な話題は指定された位置へのルート設定を行う「目的地設定」と場所を検索する方法である、住所を都道府県名から順に指定することで位置を特定する「住所」と、ランドマーク等の名称を指定することで位置を特定する「登録名称」である。このようなカーナビを用いて図６のような対話を行う場合の動作を詳細に説明する。
【０１２８】
ユーザ入力ＵＳＲ１によって対話が開始される。ＵＳＲ１を解釈すると“住所（都道府県名：φ、市区町村名：φ、詳細住所：φ）”という入力であったとする。これを現在の話題情報として対話進行部２１０２に設定し（Ｓ２２０１）、対話を開始する（Ｓ２２０２）。話題情報「住所」で必要な情報である都道府県名を取得するためにシステムはＳＹＳ１をユーザに対して出力する。
【０１２９】
次にユーザ入力ＵＳＲ２が入力された。ＵＳＲ２を解釈すると“登録名称（名称情報：φ）”という入力となる。現在の話題情報として対話進行部２１０２が管理している話題情報は「住所」であるが、これと異なる種類の話題情報が入力されているためＵＳＲ２によって新規の話題情報（「登録名称」）が導入されたと判定する（Ｓ２０３  Ｙｅｓ）。現在の話題情報である“住所（都道府県名：φ、市区町村名：φ、詳細住所：φ）”を話題情報管理部１０１に登録し（Ｓ２２０７）、不要話題情報消去部２１０４に不要話題情報の消去を依頼する（Ｓ２２０８）。
【０１３０】
新規話題導入に伴い、不要話題情報の消去を行う（Ｓ２２０８）。ここで、不要話題情報消去部２１０４の処理について説明する。新規導入した話題情報「登録名称」の役割情報は話題役割テーブル４０２を参照して確認すると「場所検索」となっている。したがって、話題情報管理部１０１に登録されている話題情報の中から役割情報が「場所検索」のものは不要話題情報であると判定する。この段階では話題情報管理部１０１には“住所（都道府県名：φ、市区町村名：φ、詳細住所：φ）”のみが格納されており、話題役割テーブル４０２を参照することでこれの役割情報は「場所検索」であることが確認できる。したがって、話題情報管理部１０１に格納されている話題情報「住所」は不要話題情報であると判定されて消去される。このため話題情報管理部１０１は空となる。
【０１３１】
不要話題情報消去が終了した後に新規導入された話題情報“登録名称（名称情報：φ）”を現在の話題情報として対話進行部２１０２に設定する（Ｓ２２０１）。そして対話進行部２１０２は登録された話題情報を対象としてユーザとの対話処理を進行する（Ｓ２２０２）。属性「名称情報」が入力されていないのでこれを取得するためにシステムはＳＹＳ２をユーザに対して出力する。
【０１３２】
次に、ユーザ入力ＵＳＲ３が入力された。ＵＳＲ３を解釈すると“「〇〇タワー」（名称情報）”となる。この情報は話題「登録名称」の「名称情報」として利用可能であるので新規話題情報の導入ではないと判定し（Ｓ２２０３  Ｎｏ）、この値を「名称情報」に代入することによって現在の話題情報を“登録名称（名称情報：〇〇タワー）”に更新する。その結果、話題情報「登録名称」の解決に必要な情報が全て取得できたので、これを解決したと判定する（Ｓ２２０４  Ｙｅｓ）。解決結果に基づいて対話進行部２１０２はカーナビの「登録名称」機能を実行させ、ユーザにシステム応答ＳＹＳ３を返す。そして対話進行部２１０２は次話題情報選択部２１０３に次話題情報の選択を依頼する。
【０１３３】
次話題情報の選択を行う（Ｓ２２０５）が、不要話題情報を削除したことによって話題情報管理部１０１は空になっているので「選択失敗」を返す。そして次話題情報が存在しないので（Ｓ２２０６  Ｎｏ）対話処理を終了する。
【０１３４】
続いてＵＳＲ４が入力された。ＵＳＲ４を解釈すると“目的地設定（〇〇タワー）”となる。直前の処理で一旦対話が終了しているのでこの入力は対話開始として取り扱うことになる。対話進行部２１０２に通知された話題情報を登録し（Ｓ２２０１）、対話を開始する（Ｓ２２０２）。その結果ＳＹＳ４の応答をユーザに返す。
【０１３５】
このように不要話題情報「住所」を話題情報管理部１０１から消去することによって「住所」への話題遷移を抑制する効果がある。Ｓ２２０８において不要話題情報である「住所」を消去しなければ、次話題情報として「住所」を選択することになる。そうなればＵＳＲ４の前に「住所」を解決するための応答「都道府県名をどうぞ」が再出力されることになってしまい、ユーザは「住所」に関する対話の実行をキャンセルしなければならなくなる。
【０１３６】
このように、第５の実施形態に係わる対話装置によれば、新規話題情報を導入することで以後対話の再開が不要となる未解決な話題情報を、新規話題情報と同等の役割の話題情報であると判定し、遷移対象となりえる未解決な話題情報群から消去することで、新規導入した話題情報と似た内容の不要話題情報への遷移を抑制することが可能となる。
【０１３７】
なお、上述の例では役割が同等の話題を判定する際に話題役割テーブル４０２のような表を参照する場合について記述しているが、本発明はそのような判定方法に限定されるものではない。例えば各話題情報に役割に相当する属性が指定されている場合や、役割から逆引きするテーブルを参照する場合も考えられる。  
また、想定される対話進行手順に基づいて話題が同等の役割かどうかを判定することもできる。例えば、図２３のような各話題における各属性を解決するために使用する他の話題を木構造で表現するデータベースを使用する。図２３において、例えば「目的地設定」の属性「目的地」を決定するために「住所」を呼び出す場合は、「目的地設定」ノードから「住所」ノードに「目的地」リンクが張られている。このデータベースに基づき、同じ種類のリンクで兄弟になっているノードは同等の役割であると判断することができる。例えば「目的地設定」ノードからの「目的地」リンクは「住所」ノードと「登録名称」ノードに張られており、「住所」「登録名称」は同じ役割であると言うことができる。また、このような対話進行の手順に基づいた場合は、木構造の子孫の話題に関する話題情報までも消去対象とし、対話実行手順で呼び出す別の話題情報を含めて消去対象とすることが可能となる。
【０１３８】
また不要話題情報であるかどうかの判定のためのルールや消去手法として第２の実施形態のような詳細ルールや、第３，４の実施形態のような話題の出現順序を加味したルールや消去手順を導入してもよい。
【０１３９】
また、上述の例において不要話題と判定された話題を即座に話題遷移の対象から除外しているが、除外するかどうかの最終判断をユーザに問い合わせても良い。このような構成であれば例えば不要話題として「住所」を消去すると判定した時に「住所による場所検索を中断しますか？」などといった質問文をユーザに提示し、許可が出た場合には不要話題として確定するといった処理を行うことも可能である。  
以上のように新規導入する話題情報と同等の役割である未解決な話題情報を以後対話の再開が不要な話題情報と判定して話題遷移の対象から除外するものであれば、そのような実施形態は本発明の趣旨の範囲内である。
【０１４０】
以上に示した実施形態によれば、話題導入等によって対話の再開が不要となった未解決な話題を消去することにより、不適切な話題への遷移を抑制することが可能となる。
【０１４１】
なお、本発明の対話装置における対話進行部１０２、１１０２、２１０２は、ユーザとの対話進行中に新たな話題情報の導入を検出すると即座にその話題情報に関する対話を行うように記述しているが、本発明の対話装置はそのような対話進行方式に限定されるものではない。例えば、対話の進行状態が現在の話題に関する対話を中断できない状況であるために、新しい話題情報に関する対話に遷移できない場合がある。このような場合に新しい話題情報に関する対話を実行させないために、各対話進行部が新しい話題情報を利用せずに現在の話題に関する対話を継続すると決定する機能を有することも考えられる。このような対話進行方式であっても本発明を適用することが可能である。
【０１４２】
各対話進行部において新しい話題情報を利用しないと決定した場合は、各対話進行部では現在の話題に関する対話を継続する。このような場合は新しい話題情報の導入を検出しなかったものとして対話進行処理（Ｓ２０２、Ｓ１３０１、Ｓ２２０２）を継続する場合と同等である。即ち、各対話進行部が新たな話題情報に関する対話を実行すると決定しないのであれば、各対話進行部は新たな話題情報の導入を検出していないものとして振舞えば（Ｓ２０３Ｎｏ，Ｓ１３０２Ｎｏ、Ｓ２２０３Ｎｏ）良い。従って各対話進行部が現在の話題に関する対話を中断し、新しい話題情報に関する対話を実行するか否かを決定する対話進行方式であっても、対話の再開が不要な話題情報を消去するものであれば本発明の主旨の範囲内である。
【０１４３】
なお、本発明の対話装置はアプリケーションと分離した構成であるかのように記述しているが、アプリケーションの機能を含有する対話装置であっても本発明の適用が可能である。例えばユーザに提示する情報を管理するデータベースを保持し、ユーザの要求する条件に基づいてそのデータベースを検索する機能を含有する対話装置の場合について考える。このような対話装置において、ユーザとの対話によってデータベース検索条件を取得し、取得した検索条件に基づいてそのデータベースを検索し、ユーザに対して回答を返す動作をする場合は、そのようなデータベース検索機能は本発明におけるアプリケーションの機能であり、データベース検索条件を取得することが本発明における話題に相当する。
【０１４４】
また、データベース検索の他に種々の機能を保有する対話装置であっても、ユーザと対話をして各種機能の動作条件を決定しそれに基づいて各種機能を動作させる場合は、その機能は全て本発明におけるアプリケーションの機能と同一とみなせる。例えばユーザとの対話によって指定された条件で各種機能を動作させる構成や、対話装置から動作条件を提示してユーザからの承諾を得ることで各種機能を動作させる構成であっても、動作させる各種機能は本発明におけるアプリケーションの機能であると言える。
【０１４５】
また、本発明の対象とするアプリケーションが単一であるかのように記述しているが、複数のアプリケーションの機能を利用することも可能である。本発明では複数のアプリケーションに含まれる個々の機能を実行させることを個別の目的として、それぞれを個別の話題として取り扱うことが可能である。
【０１４６】
また、各実施形態での説明においてはアプリケーションの機能を実行させることを話題解決時の一回だけ行うかのように記述しているが、本発明における話題は「アプリケーションにある機能を有効に動作させる」ことを目的とするものであり、その実行結果が有意なものでなければ（検索結果の件数が０件や多すぎる場合、コマンドの実行失敗など）話題を解決していないとみなし、再度その機能の実行条件の変更を行いアプリケーションの機能を複数回実行しても良い。実行条件はユーザから対話的に変更することも、対話装置から自動的に変更することも可能である。或いはある話題の対話中の途中経過において、ユーザとの対話進行のための手順として必要な機能を複数回実行しても良い。
【０１４７】
また、各実施形態の説明においてはカーナビを例にして説明しているが、本発明は家電の操作インタフェースなど、カーナビ以外のアプリケーションにも適用することも可能である。
【０１４８】
また、各実施形態の説明においてはユーザから話題情報を導入することで対話が開始しているが、シナリオに基づきユーザ入力前に対話装置側から話題情報を導入しても良い。
【０１４９】
また、上述の実施形態の中で示した処理手順に示された指示は、ソフトウェアであるプログラムに基づいて実行されることが可能である。汎用の計算機システムが、このプログラムを予め記憶しておき、このプログラムを読み込むことにより、上述した実施形態の対話装置による効果と同様な効果を得ることも可能である。上述の実施形態で記述された指示は、コンピュータに実行させることのできるプログラムとして、磁気ディスク（フレキシブルディスク、ハードディスクなど）、光ディスク（ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ±Ｒ、ＤＶＤ±ＲＷなど）、半導体メモリ、又はこれに類する記録媒体に記録される。コンピュータまたは組み込みシステムが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であってもよい。コンピュータは、この記録媒体からプログラムを読み込み、このプログラムに基づいてプログラムに記述されている指示をＣＰＵで実行させれば、上述した実施形態の対話装置と同様な動作を実現することができる。もちろん、コンピュータがプログラムを取得する場合又は読み込む場合はネットワークを通じて取得又は読み込んでもよい。  
また、記憶媒体からコンピュータや組み込みシステムにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているＯＳ（オペレーションシステム）や、データベース管理ソフト、ネットワーク等のＭＷ（ミドルウェア）等が本実施形態を実現するための各処理の一部を実行してもよい。  
さらに、本願発明における記憶媒体は、コンピュータあるいは組み込みシステムと独立した媒体に限らず、ＬＡＮやインターネット等により伝達されたプログラムをダウンロードして記憶または一時記憶した記憶媒体も含まれる。  
また、記憶媒体は１つに限られず、複数の媒体から本実施形態における処理が実行される場合も、本発明における記憶媒体に含まれ、媒体の構成は何れの構成であってもよい。
【０１５０】
なお、本願発明におけるコンピュータまたは組み込みシステムは、記憶媒体に記憶されたプログラムに基づき、本実施形態における各処理を実行するためのものであって、パソコン、マイコン等の１つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であってもよい。  
また、本願発明の実施形態におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の実施形態における機能を実現することが可能な機器、装置を総称している。
【０１５１】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【図面の簡単な説明】
【０１５２】
【図１】本発明の第１、第２の実施形態に係る対話装置のブロック図。
【図２】図１の対話装置の動作を示すフローチャート。
【図３】図１の話題情報管理部の内容の一例を示す図。
【図４】図１の不要話題情報消去部のブロック図。
【図５】図４の話題役割テーブルの一例を示す図。
【図６】第１の実施形態の特徴を説明するための対話例を示す図。
【図７】本発明の第２の実施形態における不要話題情報消去部のブロック図。
【図８】図７の消去ルール管理部の内容の一例を示す図。
【図９】本発明の第２の実施形態の特徴を説明するための対話例を示す図。
【図１０】図７の消去ルール管理部の内容の別例を示す図。
【図１１】本発明の第３、第４の実施形態に係る対話装置のブロック図。
【図１２】図１１の話題スタックの内容の一例を示す図。
【図１３】図１１の対話装置の動作を示すフローチャート。
【図１４】本発明の第３の実施形態における不要話題情報消去部のブロック図。
【図１５】図１４の消去順列ルール管理部の内容の一例を示す図。
【図１６】図１１の不要話題情報消去部の動作を説明するための図。
【図１７】本発明の第３の実施形態の特徴を説明するための対話例を示す図。
【図１８】本発明の第４の実施形態における不要話題情報消去部のブロック図。
【図１９】本発明の第４の実施形態に係る対話装置の動作を示すフローチャート。
【図２０】本発明の第４の実施形態に係る対話装置での話題スタックの内容の一例を示す図。
【図２１】本発明の第５の実施形態に係わる対話装置のブロック図。
【図２２】図２２の対話装置の動作を示すフローチャート。
【図２３】各話題の呼び出し関係を木構造で表した手順データベースの例を示す図。
【符号の説明】
【０１５３】
１０１…話題情報管理部、１０２、１１０２、２１０２…対話進行部、１０３、２１０３…次話題情報選択部、１０４、１１０３、２１０４…不要話題情報消去部、４０１、７０１、１４０１、１８０１…消去処理部、４０２…話題役割テーブル、７０２…消去ルール管理部、１００１、１５０１、１５０２…消去ルール、１１０１…話題スタック、１４０２…消去順列ルール管理部。
【図１】
2007018245.tif 000003
【図２】
2007018245.tif 000004
【図３】
2007018245.tif 000005
【図４】
2007018245.tif 000006
【図５】
2007018245.tif 000007
【図６】
2007018245.tif 000008
【図７】
2007018245.tif 000009
【図８】
2007018245.tif 000010
【図９】
2007018245.tif 000011
【図１０】
2007018245.tif 000012
【図１１】
2007018245.tif 000013
【図１２】
2007018245.tif 000014
【図１３】
2007018245.tif 000015
【図１４】
2007018245.tif 000016
【図１５】
2007018245.tif 000017
【図１６】
2007018245.tif 000018
【図１７】
2007018245.tif 000019
【図１８】
2007018245.tif 000020
【図１９】
2007018245.tif 000021
【図２０】
2007018245.tif 000022
【図２１】
2007018245.tif 000023
【図２２】
2007018245.tif 000024
【図２３】
2007018245.tif 000025