JP2004212664A - Method and device for interaction and program - Google Patents
Method and device for interaction and program Download PDFInfo
- Publication number
- JP2004212664A JP2004212664A JP2002382382A JP2002382382A JP2004212664A JP 2004212664 A JP2004212664 A JP 2004212664A JP 2002382382 A JP2002382382 A JP 2002382382A JP 2002382382 A JP2002382382 A JP 2002382382A JP 2004212664 A JP2004212664 A JP 2004212664A
- Authority
- JP
- Japan
- Prior art keywords
- task
- information
- unresolved
- stored
- stack
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Abstract
Description
【0001】
【発明の属する技術分野】
本発明は、所定の目的を達成するために、ユーザと自然言語で対話する対話方法、それを用いた対話装置、およびプログラムに関する。
【0002】
【従来の技術】
近年、音声や自然言語入力による文章入力を受理するインターフェースに関する研究が盛んである。また、そのようなインターフェースを用いるエキスパートシステムなどが多数開発され、音声やテキストなどによる入力を受理する装置が一般向けにも利用可能となっている。特に音声による入力はユーザにとって利用しやすいものと位置付けられ、音声認識技術を利用し音声入力を受理するシステムが開発されている。
【0003】
音声による自然言語入力の場合、ユーザはシステムに入力する全ての条件を一度に発話することは少なく、ユーザとシステムとの音声によるやりとりが必要となる。例えばユーザの入力に不備がある場合には、その足りない条件を問い合わせ、それに対するユーザの回答を統合するなどの処理が必要となる。この統合処理のためには今現在行われている対話内容をシステムが把握することが不可欠である。
【0004】
従来の対話管理技術として、話題をスタック構造で管理し、スタックの操作はユーザの入力が「入力が現在の話題を進める」、「現在の話題の中断」などの話題推移を求めているという判定結果に基づき行う、というものがある(例えば、非特許文献1参照)。
【0005】
この手法では、話題推移の発生の可能性をデータベース検索結果の候補の多さに基づいた対話状況に応じて分類しており、その対話状況では発生し得ない話題推移を求めた場合は話題の中断であると判定している。話題の中断の発話入力がなされたと判断された時には、その時の話題にマークをつけ、スタックに新たな話題をプッシュすることでその話題を割り込ませる。割り込んだ話題が終了した時には、マークをつけた話題にまで戻ることで元の対話に戻ることが可能である。
【0006】
しかし従来方式では話題の中断であると判定された時にあらかじめ復帰先の話題にマークを付与し、割り込んだ話題が終了した時にマーク箇所に復帰するために、割り込んだ話題が元々の話題に寄与する場合の対話制御が困難であるという問題点があった。
【0007】
例えば、カーナビゲーションシステムでのシステム(S)とユーザ(U)との次のような対話を例にあげる。
【0008】
S(1):「目的地を決定します。場所を指定してください」
U(1):「目的地の住所は、神奈川県」
S(2):「市区町村名をどうぞ」
U(2):「やっぱり登録名称で」
S(3):「登録名称をどうぞ」
U(3):「山下公園」
ここで従来方式では、ユーザの2番目の発言U(2)をきっかけに、「住所決定対話」にマークをつけ、「登録名称で検索対話」をプッシュすることになる。このため、ユーザの3番目の発言U(3)で登録名称で検索対話が完了すると、マークをつけた住所決定対話に復帰するため、応答は次のようになる。
【0009】
S(4):「山下公園はこちらです(地図表示を伴う)。市区町村名をどうぞ」このように、ユーザは目的地として山下公園を選択していたという対話意図のずれが発生する。このため満足な対話が進められず、ユーザに対して多大な負担を与えることになる。
【0010】
また、従来は、自然言語解釈の曖昧性については考慮されていなかった。特に音声入力を伴う場合、音声認識結果には認識の曖昧性から、複数の認識候補が出現するのが現状である。このような音声認識の曖昧性に鑑み、その時の対話状況を加味して、複数の候補から対話に用いる認識結果を選択する必要がある。この対策が十分でなければ誤認識に基づき対話を進めてしまうため、満足な対話ができずユーザに多大な負担を与えることになる。
【0011】
【非特許文献1】
情報処理学会論文誌 vol29、No.9、「自然言語インタフェースシステムにおける意図の把握と話題の管理」
【0012】
【発明が解決しようとする課題】
このように従来は、所定の目的を達成するために、予め定められた複数の話題に従って対話を行う場合、現在の話題を中断して、新たな話題に移る場合には、中断した元の話題を復帰先として予め定めた後に、新たな話題へ移行し、再び復帰先として予め定められた話題に戻っていたため、新たな話題で対話した結果、目的が達成したとしても、また同じ目的のために別の話題で対話しなければならないという不都合が生じていた。
【0013】
すなわち、従来は、所定の目的を達成するための予め定められた複数の話題(課題)に従って対話を行う場合、ある話題を中断して新たな話題に移行したときには、その新たな話題が終了したときの次の話題を、新たな話題で対話した結果に応じて、柔軟に決定することができないという問題点があった。
【0014】
また、従来は、音声認識の結果を、その時の対話状況に関わりなく採用していたため、満足な対話ができずユーザに多大な負担を与えるという問題点があった。
【0015】
そこで、本発明は、上記問題点に鑑み、所定の目的を達成するための予め定められた複数の話題(課題)に従って対話を行う場合、ある話題(課題)を中断して新たな話題(課題)に移行したときには、その新たな話題(課題)で対話した結果に応じて、次の話題(課題)を柔軟に決定することができる対話方法および装置を提供することを目的とする。
【0016】
また、音声認識の結果得られる複数の候補の中から、その時の対話状況に応じて最適な候補を選択することにより、高精度の音声対話が行える対話方法および装置を提供することを目的とする。
【0017】
【課題を解決するための手段】
(1)本発明は、所定の目的を達成するための複数の課題を解決すべくユーザとの対話を行うものであって、前記複数の課題のうち、ユーザとの対話目的に選択した未解決課題を選択順に記憶手段に記憶し、前記記憶手段に最後に記憶された未解決課題を対話目的に使用して、第1の情報を得、前記第1の情報により前記記憶手段に記憶された第1の未解決課題を解決して、第2の情報を得、解決された前記第1の未解決課題を前記記憶手段から削除し、前記記憶手段に記憶された、前記第2の情報に関連する第2の未解決課題を前記第2のステップで次の前記対話目的に使用するために、前記第2の未解決課題の後に対話目的に選択した未解決課題を前記記憶手段から削除することにより、ある課題を中断して新たな課題に移行したときには、その新たな課題で対話した結果に応じて(解決された課題のタスク出力情報に関連する課題を次の対話目的とすることにより)、次の課題を柔軟に決定することができる。
【0018】
(2)前記第2の情報に関連する第2の未解決課題は、前記第2の情報が、前記第2の未解決課題が解決されたと判断するための条件を少なくとも1つ満足する。
【0019】
(3)前記第2の情報に関連する前記第2の未解決課題が前記記憶手段に記憶されていないとき、前記記憶手段に記憶された未解決課題のうち、前記第1の未解決課題が対話目的に選択される直前に対話目的に選択された未解決課題を、次の前記対話目的に使用する。
【0020】
(4)前記記憶手段は、ユーザとの対話目的に選択した未解決課題を選択順に記憶するスタックである。
【0021】
(5)前記記憶手段に、前記第1の情報により解決される前記第1の未解決課題が記憶されていないとき、前記第1の情報に関連する第3の未解決課題を次の前記対話目的に使用するために、前記第3の未解決課題の後に対話目的に選択した未解決課題を前記記憶手段から削除し、前記記憶手段に、前記第1の情報に関連する第3の未解決課題が記憶されていないとき、前記複数の課題のうちの前記第1の情報に関連する新たな課題を前記未解決課題として、次の前記対話目的に使用するために前記記憶手段に記憶する。
【0022】
(6)ユーザの入力から推定される前記第1の情報の候補が複数与えられた場合に、当該複数の候補のうち、前記記憶手段に記憶された未解決課題のうちの前記対話目的に使用した使用順が後にある未解決課題に関連する候補を優先して、前記第1の情報として選択する。
【0023】
【発明の実施の形態】
以下、本発明の実施形態について図面を参照して説明する。
【0024】
(第1の実施形態)
本発明は、話題(対話目的)の変更であると判定した場合にもあらかじめ復帰先の話題を決定することなく話題の中断処理を行い、話題が元々の話題に寄与するような場合においても適切に元の話題に復帰することができ、ユーザの入力時の対話状況を加味した候補選択を実行する機能を持つ対話システムを提供するものであり、以下、図面を参照して本発明の詳細につき説明する。
【0025】
図1は、本発明の実施形態に係る対話装置を含む対話システムの概略構成図で、例えば、カーナビゲーションシステムなどに用いられる対話システムの構成例を示したものである。図1に示すように、対話システムは、自然言語解釈装置1と対話装置100と、応答出力装置2とから構成されている。
【0026】
対話装置100は、候補選択部101、対話スタック操作部102、対話情報記憶部103、プラン記憶部104から構成されている。
【0027】
自然言語解釈装置1は、例えば、ユーザからの自然言語による入力を解析し、解析結果を対話装置100へ出力する。自然言語解釈装置1への入力は、テキスト、音声などの形式を問わず、その解釈方法はその種類に応じた既存の方法が使用できる。解析に曖昧性が発声した場合は、その候補と尤もらしさを組にして出力する。ここでは、ユーザの音声入力(発言)を音声認識する場合について説明する。音声認識により、通常、複数の認識候補が得られるが、ここでは、各認識候補と、その尤もらしさとして入力音声との類似度を対にして対話装置100へ出力するものとする。
【0028】
対話装置100は、所定の目的を達成するための予め定められた複数の話題に従ってユーザと対話を行うものである。例えば、ここでは、上記所定の目的として、カーナビゲーションシステムでの「目的地設定」である場合を例にとり説明する。すなわち、対話装置100は、目的地設定のために、図2に示すような、複数の話題からなる上記目的を達成するためのプランをプラン記憶部104に記憶する。
【0029】
各話題は、上記目的を達成するために解決すべき課題に対応する。各課題には、当該課題を解決するための条件(当該課題が解決されたと判断するために満足すべき条件)と、当該条件を満たすための動作と、全ての条件を満たしたときの動作(全条件達成時動作)と、課題を解決したときにタスク出力情報として出力される出力内容とが予め定められている。すなわち、各課題には、当該課題を解決するための少なくとも1つの条件と、各条件を満たすための動作と、全条件達成時動作と、課題を解決したときの出力内容を含むタスクが対応付けられている。ここでは、各課題に対応するタスクに含まれる条件と、動作と、全条件達成時動作と、課題を解決したときの出力内容とを記述したものをタスク情報と呼ぶ。
【0030】
「目的地設定」のための主な課題は、タスク情報T1に記述されている。
【0031】
タスク情報T1で表されている課題は、対話目的としての「目的地設定」である(「名称」フィールドに記述されている)。この課題を解決するための条件として、「目的地承認済みの場所」を得ることが必要であり(「条件」フィールドに記述されている)、そのための動作として、タスク情報T2に記述された処理動作を行い(タスク情報T2に記述された課題を解決し)、その後に、タスク情報T3の処理動作に遷移し、当該タスク情報T3に記述された処理動作を行う(タスク情報T3に記述された課題を解決する)。その結果、上記条件を満たしたときには、「全条件達成時動作」フィールドに記述されている動作(ここでは、「指定された場所までのルートを計算する」)を行い、その結果をタスク出力情報として出力するようになっている。
【0032】
なお、以下の説明において、タスク情報の記述に基づく処理動作を単にタスクと呼ぶ。例えば、タスク情報T2の記述に基づく処理動作をタスクT2と呼ぶ。
【0033】
タスク情報T2は、「場所検索」を課題とする処理動作で、この課題を解決するために、まず、「検索方法指定」を解決すべき課題とするタスク情報T5を呼び出し、当該タスク情報T5に記述されている処理動作を行うようになっている。
【0034】
タスク情報T5に記述された処理動作は、「住所と登録名称のどちらで検索しますか?」という発話を行い(「動作」フィールドに記述されている)、それに応じてユーザから入力される発言内容からユーザにより指定された検索方法を取得し(「条件」フィールドに記述されている)、「全条件達成時動作」フィールドに記述されているように、この指定された検索方法に対応する検索を行うタスク情報を呼び出す(タスクをロードする)。ここでは、住所で検索する方法が指定されたときには、タスク情報T6が読み出され、登録名称で検索する方法が指定されたときには、タスク情報T7が読み出される。
【0035】
タスク情報T6に記述された処理動作は、「住所で場所検索」を課題とするもので、3つの条件のそれぞれに対応する「動作」フィールドに記述されているよに、ユーザに住所を入力してもらうための発話を行い、その結果、住所が得られると(「条件」フィールドに記述されている)、「全条件達成時動作」フィールドに記述されているように、「指定された住所に対応する場所を検索」を行い、検索結果をタスク出力情報として出力する。
【0036】
タスク情報T7に記述された処理動作は、「登録名称で場所検索」を課題とするもので、「動作」フィールドに記述されているように、ユーザに登録名称を入力してもらうための発話を行い、その結果、登録名称が得られると(「条件」フィールドに記述されている)、「全条件達成時動作」フィールドに記述されているように、「指定された登録名称に対応する場所を検索」を行い、検索結果をタスク出力情報として出力する。
【0037】
タスクT6あるいはタスクT7により、タスク出力情報として検索結果が通知されると、タスク情報T4の「条件」フィールドに記述された条件「検索済みの場所」が満たされることになる。タスク情報T4には、「全条件達成時動作」は記述されていないので、この場合、タスクT4を呼び出した(ロードした)タスクT2に戻る。タスクT4からは、タスクT6あるいはタスクT7から出力された「検索済みの場所」がタスク出力情報「検索結果の場所」として出力されるので、これがタスクT2への通知される情報となる。
【0038】
タスクT2では、当該入力情報により、「条件」フィールドに記述された「場所を取得」という条件が満たされたので、「全条件達成時動作」フィールドに記述された動作、すなわち、タスクT3へ遷移するとともに、「検索結果の場所」を出力し、これがタスクT3への入力情報となる。
【0039】
タスクT3では、当該入力情報としての「検索結果の場所」に対し、ユーザから承認をもらうことを課題としているので、そのための動作を行い、承認が得られたら、当該場所に承認済みフラグを与え、目的地として承認済みの場所をタスク出力情報として出力する。
【0040】
以上の処理動作により、承認済みの場所が得られたので(タスク情報T1の「条件」フィールドの条件を満たすので)、タスク情報T1の「全条件達成時動作」フィールドに記述されているように、目的として指定された場所までのルートを計算し、その結果をタスク出力情報として出力する。
【0041】
このように、1つのタスクが他のタスクを階層的に(入れ子状に)包含している場合(タスクT1とT2、タスクT2とT4、タスクT4とタスクT5等の関係に対応)に、他のタスクを読み出すときには、当該他のタスクをロードすると呼ぶ。また、1つのタスクに複数のタスクが並列的に含まれている場合(例えば、タスクT1内のタスクT2とタスクT3の関係)、タスクT2終了後タスクT3へ移行することを遷移と呼ぶ。
【0042】
ここで、各タスク情報の記述において、「出力」フィールドには、全条件が達成したときの出力内容が記述される。この出力内容がタスク出力情報に対応する。
【0043】
また、「条件」フィールドには、タスクの課題を解決するための条件(あるいは、課題が解決されたと判断するために満足すべき条件)を記述され、各「条件」フィールドに対応する「動作」フィールドには、当該条件を満たすための必要な処理動作(手順)が記述されている。ある条件を達成してから次のタスクへと進行することを記述する場合には、タスク情報T1のように「動作」フィールド内部に入れ子状に別のタスクを格納させる。
【0044】
対話装置100の候補選択部101は、自然言語解釈装置1から出力された、複数の認識候補の中から、対話情報記憶部103に記憶されている対話情報に基づく現在の対話状況あるいは過去の対話状況から最適のものを選択し、それを入力情報として、対話スタック操作部102へ出力する。
【0045】
対話情報記憶部103は、候補選択部101から入力する入力情報に応じて、現在までの対話状況を管理するための対話情報を記憶する。ここでは、対話状況を管理するために、ユーザとの対話目的として過去に用いた未解決の課題および現在の(未解決の)課題のそれぞれに対応する対話情報を対話情報記憶部103に記憶する。
【0046】
各対話情報には、対話目的として過去あるいは現在用いている課題(タスク情報)と、当該タスク情報中の条件のうちの、注目している条件(注目条件)と、意図情報を含む。
【0047】
対話情報記憶部103は、対話情報をLIFO(Last In First Out)方式で記憶するスタックである。
【0048】
対話スタック操作部102は、対話目的として用いた課題の順に、当該課題に対応する対話情報を対話情報記憶部103(スタック)に記憶する(プッシュ)。このスタックに記憶された対話情報のうち最後に記憶された対話情報(すなわち、スタックトップに記憶されている対話情報)に対応する課題が現在の対話目的となり、当該対話目的としての課題が解決されれば、当該スタックから当該対話情報が取り出される(ポップ)。
【0049】
対話スタック操作部102は、スタック操作(プッシュ、ポップ)することで、対話情報を管理する。すなわち、ある時点における対話状況は、その時のスタックの先頭アドレスで示された対話情報(スタックトップ)に記述されている。
【0050】
例えば、図1に示した対話システムを起動させて、ユーザが、「目的地を設定する」という発言を行ったとする。このとき、自然言語解釈装置1で解釈した結果、「目的地設定」が対話装置100の候補選択部101により選択され、対話スタック操作部102に入力情報として入力したとする。この入力情報に対応する(関連する)課題は、タスクT1であるので(タスク情報の課題(名称)が「目的地設定」であるので)、対話スタック操作部102では、当該課題(タスクT1)を入力情報「目的地設定」に対応付けた対話情報E1(図6参照)を生成し、スタックにプッシュする(書き込む)。そして、このタスクT1を実行するわけであるが、この場合、当該タスクT1の課題を解決するための条件「目的地承認済みの場所」がまだ得られていないので、この条件を満足すべく、当該条件を満たすための動作、すなわち、タスク情報T2をロードし、このタスクT2の課題を解決するための条件「場所を取得」を、当該対話情報の注目条件として設定する。このときの対話情報を図7に示す。
【0051】
なお、タスクT2はタスクT1からロードされる、すなわち、タスクT2はタスクT1に(入れ子状に)包含される関係にあるため、図9に示すように、この関係を表すため、タスクT2の名称「目的地場所設定」と条件「場所を取得」は、タスクT1の名称、条件にハイフン「−」で接続して表している。
【0052】
このようにある課題(課題x)を解決するためのある条件を満たすために、他の課題(課題y)を解決する必要がある場合、課題yは課題xに包含される関係にあるといえるが、この場合、課題yを解決するための条件も課題xを解決するための条件ともいえる。
【0053】
課題xと課題yのように包含関係にある場合、課題yに対応する対話情報は、課題xに対応する対話情報の名称や条件にハイフンで接続して記述され、課題xに対応する対話情報に包含されることもある。
【0054】
さて、スタックが図7に示した状態のときには、タスク情報T2に記述されている条件を満たすための動作が実行されるわけであるが、この場合、タスクT2がロードされる。タスクT2がロードされると、当該タスクT2の名称「場所検索」を意図情報とし、これとタスクT2とを対応付けて新たな対話情報E2を生成し、スタックにプッシュする(図8参照)。
【0055】
対話情報の意図情報とは、当該対話情報に対応する課題を対話目的としているときに、主に、ユーザと対話により得られた、ユーザの意図を表した情報を意味する。なお、この実施形態では、後述するように、タスク出力情報もユーザの意図と同様に扱い、対話情報に意図情報として対応付ける。
【0056】
対話がプランどおりに(例えば、中断されることなく)進行すると、上記のように、対話情報がスタックにプッシュダウンされ、各対話情報に対応するタスクの処理動作が終了する(当該タスクの課題が解決する)とスタックトップの対話情報から順にポップされ(取出し)、全ての対話情報がなくなった時点が、対話の目的が達成されたことになる。
【0057】
本実施形態にかかる対話装置では、ユーザの発話内容を表した発言情報やタスク出力情報のうちのいずれか一方である入力情報が入力されると、当該入力情報と、スタック中の全ての対話情報とを照合し、当該入力情報に関連する課題、すなわち、現在および過去の対話情報の中に、当該入力情報で少なくとも1つの条件が満足するような課題に対応する対話情報、当該入力情報と同じ種類の情報が意図情報として記録されている対話情報があるかを探索し、そのよう対話情報がある場合には、当該対話情報をスタックトップとして、当該対話情報に対応する課題を対話目的とする。
【0058】
対話目的としての課題の全ての条件を満足したときには、当該課題に対応する対話情報をスタックから削除するとともに、当該課題のタスクから出力される情報(「出力」フィールドに記述されている出力内容)と、スタック中の全ての対話情報とを照合し、過去の対話情報の中に、当該タスクの出力内容で少なくとも1つの条件が満足するような課題に対応する対話情報、当該出力内容と同じ種類の情報が意図情報として記録されている対話情報があるかを探索する。そのよう対話情報がある場合には、当該対話情報をスタックトップとなるようにスタック操作が行われる。なお、この新たにスタックトップとなった対話情報に対応する課題が、当該出力内容により全ての条件を満足し、解決されているときには当該対話情報もスタックから取り出される。
【0059】
対話目的とは、スタックトップにある対話情報に対応する課題であるが、より具体的には、当該対話情報の注目条件として設定されている、当該課題を解決するために満たすべき条件(そのような条件が複数あるときはそのうちの1つ)である。
【0060】
対話スタック操作部102は、スタック操作として、プッシュ/ポップの他に、ロード、遷移、クリア、達成条件選択、を実行する。
【0061】
ロードは、新たなタスクを呼び出す際に使用される手続き(操作)であり、当該新たなタスクに対応する対話情報をスタックにプッシュする。ある課題(課題x)を解決するためのある条件を満たすために、他の課題(課題y)を解決する必要がある場合、課題yのタスクを呼び出すときの操作である。
【0062】
遷移も新たなタスクを呼び出す際の手続きであるが、課題を順序だてて解決する場合に、ある課題xが解決したとき別の課題yへ移行する場合に、当該課題yを呼び出す手続きである。
【0063】
クリアは、ある課題xを対話目的とするために、当該課題xに対応する対話情報がスタックに格納された後に格納された対話情報をスタックから取出し、当該課題xに対応する対話情報をスタックトップとする手続きである。
【0064】
達成条件選択は、スタックトップの対話情報に対応する課題の注目条件が満たされたときなどに、注目条件を当該課題を解決するための他の条件を選択する手続きである。選択された条件に対応するタスク情報中の「動作」フィールドに、他の課題(タスク)が入れ子になっている場合は、そのタスクに対して再帰的に達成条件選択を進め、その経路を全て対話情報中の「注目条件」フィールドに書き込む。
【0065】
タスクT5のように、ある条件を満たすための動作として、「住所と登録名称のどちらで検索しますか?」という発話を対話システムが行う場合には、この発話内容を表した応答情報が応答出力装置2へ出力される。
【0066】
応答出力装置2は、対話スタック操作部102から出力された応答情報を、所定の形式で、例えば音声、テキスト等でユーザに出力する。なお、応答出力装置2の詳細は、本発明の要旨ではないので説明は省略するが、本実施形態では、説明の簡単のため、タスク情報中の動作として記述されている発話内容をそのまま音声あるいはテキストで出力するものとする。なお、これ以外にも意図情報からテンプレートを使用して文章を出力するなど既存のものを使用することができる。
【0067】
次に、図3〜図5に示すフローチャートを参照して、図1の対話システムの対話スタック操作部102の処理動作について説明する。
【0068】
図3は、対話スタック操作部102の処理動作全体を説明するためのフローチャートであり、この処理動作は、候補選択部101から対話スタック操作部102へユーザの発言から得られた情報(以下、発言情報)が入力したとき(ステップS0)に呼び出される。図4、図5は、図3のステップS2における通知先探索処理動作を説明するためのフローチャートであり、図3のステップS0で入力した上記発言情報や、スタックに対話情報として記憶されている課題が解決したときに、当該課題のタスクから出力される情報(タスク出力情報)の通知先としてのタスクをスタック中の対話情報を基に探索する処理動作を示している。ここで、通知先としてのタスクとは、スタック中に対話情報として格納されている課題のうちの1つであって、例えば、上記発言情報やタスク出力情報が、当該課題が解決されたと判断するための1つまたは複数の条件のうちの少なくとも1つを満足する課題に対応するタスク、あるいは、当該課題を解決するための他のタスクである。
【0069】
まず、図3を参照して、対話スタック操作部102の処理動作について説明する。
【0070】
ここでは、入力した発言情報やタスクから出力されたタスク出力情報を一時的に格納するバッファとしてバッファBF1と、当該バッファBF1に現在格納されているものが、候補選択部101から入力した発言情報であるとき「1」がセットされる新規フラグを使用する。
【0071】
ます、ステップS0で発言情報が入力すると、当該発言情報はバッファBF1に格納され、新規フラグに「1」がセットされる(ステップS1)。次に、ステップS2へ進み、バッファBF1に格納されている情報の通知先としてのタスクをスタック中の対話情報を基に探索する。その詳細は、後述する。
【0072】
ステップS2で通知先としてのタスクが探索されたときには、ステップS4へ進み、通知先としてのタスクが存在しないときには、ステップS13へ進む(ステップS3)。
【0073】
ステップS4では、通知先としてのタスクに対応する対話情報がスタックトップとするようにクリア操作を実行すると共に、当該対話情報の「意図情報」フィールドに、バッファBF1に格納されている発言情報を通知する。この場合の「通知」とはタスク内の同じ条件に対応する情報を上書きし、異なる条件に対する情報は追加する動作のことを云う。
【0074】
そして、当該対話情報の「意図情報」フィールドに現在記録されている情報、すなわち、意図情報が、当該対話情報に対応する課題を解決するための全ての条件を満たしているか否かをチェックする(ステップS5)。意図情報が、課題を解決するための全ての条件を満たしているときには、ステップS6へ進み、意図情報が、1つでも満たしていない条件があるときは、ステップS9へ進む。
【0075】
ステップS6では、スタックトップの対話情報に対応するタスク(全ての条件が達成し解決された課題に対応するタスク)の「全条件達成時動作」フィールドに指定されている手続きを実行し、その結果として、当該タスクの「出力」フィールドの記述に従ってタスク出力情報をバッファBF1に格納する(ステップS7a)。バッファBF1には、現在、タスク出力情報が格納されているので、ステップS7では、新規フラグをクリアし、「0」とする(ステップS7b)。
【0076】
更に、当該タスクの課題は達成されたので(当該課題を解決するための対話を続ける必要が無いので)スタックから、当該対話情報を削除する。この時、当該対話情報が他の対話情報に包含されていないものであれば、当該対話情報(これをスタック要素とも呼ぶ)はスタックからポップされる。
【0077】
次に、ステップS8へ進み、ステップS6での全条件達成時動作の実行中に他のタスクのロード、遷移を行っているか否かを確認する。全条件達成時動作として、他のタスクのロード、遷移動作を行っている(タスク情報にて他のタスクをロード、遷移が指定されている)場合には、ロードあるいは遷移したタスクに対応する対話情報がスタックトップに格納されている。そこで、この対話情報に対応するタスクを通知先とすべく、ステップS4へ戻る。一方、全条件達成時動作として、他のタスクのロードや遷移動作を行っていなければ、ステップS2へ戻り、バッファBF1に格納されているタスク出力情報の通知先としてのタスクを探索する。
【0078】
ステップS9では、スタックトップに対して達成条件選択操作を実行する。すなわち、スタックトップの対話情報に対応する課題を解決するための他の条件を選択して、それを注目条件として「注目条件」フィールドに書き込む。そして、ステップS10へ進み、現在の注目条件を満たすような情報を得るための動作を実行する。この動作において、他のタスクをロードする場合には(ステップS11)、ロードあるいは遷移したタスクに対応する対話情報がスタックトップに格納されている。そこで、当該タスクの名称をバッファBF1に格納し(ステップS12a)、その通知先のタスクを、当該対話情報に対応するタスクを通知先とすべく、新規フラグを「0」にした後(ステップS12b)、ステップS4へ戻る。
【0079】
注目条件に対応する動作の実行に際し、タスク情報に他のタスクのロード、遷移が指定されていないときには(ステップS11)、ここで処理が終了する。
【0080】
ステップS3において、バッファBF1に格納された発言情報あるいはタスク出力情報の通知先としてのタスクが現在までのスタックに格納されている対話情報からは求めることができなかったときには、ステップS13へ進む。
【0081】
ステップS13において、新規フラグが「1」であるときは、現在バッファBF1に格納されているものは、ユーザからの発言内容から得られた発言情報であるので、ステップS14へ進み、当該発言情報に対応する新たなタスクを求めて(例えば、当該発言情報に一致する名称のタスクをロードして)、当該新たなタスクに対応する対話情報をスタックに格納する。一方、ステップS13において、新規フラグが「0」のときは、現在バッファBF1に格納されているものは、タスク出力情報であり、このタスク出力情報により解決される課題や、解決されたと判断するための複数の条件のうちの少なくとも1つでも満足させるような課題がスタックには存在しないので、ここで処理を終了する。
【0082】
なお、このとき、スタック中に対話情報が残っている場合には、残っている対話情報を解決すべくスタックトップにある対話情報の注目条件に対応する動作を再度実行してもよい。
【0083】
次に、図4〜図5を参照して、図3のステップS2における通知先探索処理動作を説明する。
【0084】
ここでは、現在の探索対象となるスタック中の対話情報を格納するためにバッファBF2を用い、このバッファBF2に格納されている対話情報を「対象スタック」と呼ぶ。また、現在の探索対象となるタスク情報を格納するために、バッファBF3を用い、このバッファBF3に格納されているタスク情報(タスク)を「対象タスク」と呼ぶ。いずれも初期段階では空(NULL)である(ステップS100)。
【0085】
通知先探索処理が起動されると(バッファBF1に格納された発言情報あるいはタスク出力情報の通知先の探索が開始されると)、バッファBF1は、スタックトップの対話情報から順に(スタックの先頭から順に)下位に格納されている対話情報が1つづつ格納され(ステップS102)、スタック中の全ての対話情報についての探索が終了するまで、以下の通知先探索処理を繰り返すようになっている(ステップS101)。
【0086】
まず、ステップS103では、スタックトップの対話情報をバッファBF2に格納し、この「対象スタック」に設定された対話情報に対応するタスク情報がバッファBF3に格納される(「対象タスク」に設定する)。
【0087】
バッファBF1に格納された発言情報あるいはタスク出力情報を、この通知先探索処理では、入力情報と呼ぶ。
【0088】
まず、図5のステップS104へ進み、入力情報が「対象スタック」の注目条件を満たすかどうかチェックする。満たすときは、ステップS108へ進み、現在の「対象タスク」を通知先のタスクとして出力し、満たさないときは、ステップS105へ進む。
【0089】
ステップS105では、入力情報が「対象タスク」の全条件を満たすかどうかをチェックする。満たせば、ステップS108へ進み、現在の「対象タスク」を通知先のタスクとして出力し、満たさないときは、ステップS106へ進む。
【0090】
ステップS106では、入力情報が「対象スタック」の注目条件の動作の中に入れ子状に包含されているタスクの中で全条件を満たすものがあるかどうかを調べる。そのようなタスクがある場合にはステップS107へ進み当該タスクを「対象タスク」に設定し、そのようなタスクがない場合にはステップS109へ進む。
【0091】
ここで、ステップS104、ステップS106において、「対象スタック」の注目条件が入れ子のタスクの条件になっている場合は、「対象タスク」に定義されている条件を選択する。例えば、図7において注目条件が入れ子のタスクT2の「承認済みの場所−場所を取得」になっているが、「対象タスク」がT1であれば、「承認済みの場所」を注目条件として採用する。
【0092】
ステップS109では、入力情報と、「対象スタック」の「意図情報」フィールドに記述されている意図情報とを比較し、それらが同じ種類の情報であるかどうかチェックする。同じ種類の情報であるときは、ステップS108へ進み、現在の「対象タスク」を通知先のタスクとして出力し、異なるときには、ステップS110へ進む。
【0093】
ステップS110では、現在の「対象タスク」を入れ子状に包含するタスクがあるかどうかチェックする。「対象タスク」を包含するタスクがあるときは、ステップS111へ進み、当該タスクを「対象タスク」に設定し、ステップS104へ戻る。一方、「対象タスク」を包含するタスクがないときには、ステップS101へ戻り、スタック中の次の対話情報を対象スタックとして通知先探索処理を繰り返す。
【0094】
スタック中の全ての対話情報を基に、上記のような通知先を探索した結果、通知先としてのタスクが得られなかったときには(ステップS101)、ステップS112へ進み、「通知先なし」を出力する。
【0095】
通知先探索処理は、「ユーザが協調的であれば今現在の対話に関連する応答をする」ことを前提とし、現在の対話内容であるスタックトップから順に過去に遡って、入力情報を通知できるスタック、タスクを探索するものとなっている。
【0096】
続いて、候補選択部101の処理動作について説明する。候補選択部101も図4〜図5の通知先探索処理に基づき動作する。自然言語解釈装置1から入力された発言情報群の中から、よりスタックの上位に通知でき、同じスタック要素の場合は現在注目している対話により近いものに通知できる候補を優先するように尤度(スコア)を編集する。
【0097】
具体的にはスタックの上位(スタックの上位にある対話情報に対応するタスク)に通知するためには、図4のステップS101の通過回数を少なくする必要があり、現在注目している対話に近いものに通知するためには、図5のステップS104、ステップS105、ステップS106、ステップS109の通過回数を少なくするような候補を優先させる。
【0098】
例えばステップS101、ステップS104、ステップS105、ステップS106、ステップS109を通過するたびにその候補のスコアを下げるように動作させればよい。これによりその時点での対話に適する内容の発話を優先的に選択することができる。
【0099】
ここでカーナビゲーションシステムに適用された対話システムを例にとり、対話装置の処理動作をより具体的に説明する。
【0100】
カーナビゲーションシステムに入力されるユーザの意図は、例えば、目的地設定、場所検索、住所で場所検索、登録名称で場所検索の4種類であるとする。これらは、目的地を設定するための解決すべき複数の課題であるともいえる。各課題に対応するタスク情報を、図2に示した。
【0101】
初期状態のスタックは空であるものとする。ここでは簡単のために、対話装置100に入力するユーザの発言の認識結果として得られた情報には曖昧性がないものとし、自然言語解釈装置1による解釈結果が発言情報として直接対話スタック操作部102に通知されるものとする。候補選択部101の詳細動作については後述する。
【0102】
(1)第1の発言:「目的地を設定する」が自然言語解釈装置1に入力されたとする。
【0103】
自然言語解釈装置1の解釈結果は「目的地設定」であったとする。これが対話スタック操作部102に発言情報として通知されると、図3のフローチャートに従って、以下のように動作する。
【0104】
まず、バッファBF1には「目的地設定」が格納され、新規フラグが「1」に設定される(ステップS0、ステップS1)。ステップS2では通知先が探索されるが、スタックが空であるので通知先は無しと判定され(図4のステップS101、ステップS112)、しかも新規フラグが「1」であるため、ステップS14に進み、当該発言情報「目的地設定」に対応するタスク、すなわち、発言情報「目的地設定」を名称とするタスクT1をプラン記憶部104から選択し、ロードする。このとき、対話スタック操作部102は、当該タスクT1に対応する対話情報E1(図6参照)を生成し、スタックにプッシュする。
【0105】
タスクT1は、発言情報「目的地設定」を受けて呼び出されたので、現在のユーザの対話目的は「目的地設定」であり、これが意図情報として、図6に示すように対話情報E1に書き込まれる(ステップS4)。
【0106】
このときのスタックは図6に示したように、対話情報E1のみが格納されている状態である。
【0107】
タスクT1の条件は1つのみで、「承認済みの場所」であるが、まだ、図6のスタックの状態では、この条件を満たす情報は得られていない(ステップS5)。従って、注目条件として、「承認済みの場所」を選択する(ステップS9)。この条件「承認済みの場所」に対応する動作には、「目的地場所設定」というタスクT2が包含されている(入れ子になっている)ので、このタスクT2の条件、すなわち、「場所を取得」も選択する。その結果、対話情報E1は、図7に示すように、当該タスクの包含関係に対応して、名称が「目的地設定―目的地場所設定」、注目条件は「承認済みの場所―場所を取得」となる(ステップS9)。
【0108】
続いて、対話情報E1に設定された注目条件「場所を取得」に対応する動作を実行する(ステップS10)。この動作には、「場所検索」というタスクT4をロードするものであるので、この指定によりタスクT4をロードし(ステップS11)、このバッファBF1に(このタスクT4の呼び出しは、ユーザの発言によるのではなく、当該指定によるという意味で)、当該タスクT4の名称「場所検索」を格納し、新規フラグは「0」に設定する(ステップS12a、ステップS12b)。
【0109】
タスクT4がロードされて、スタックには、図8に示すように、タスクT4に対応する対話情報E2がプッシュされる(対話情報E2は、対話情報E1の上に積み上げられる)。タスクT4には、バッファBF1に格納された「場所検索」が通知されるので、対話情報E2の意図情報としては、「場所検索」が書き込まれる(ステップS4)。図8に示すように、現在、対話情報E2がスタックトップとなっており、このタスクT4に対応する課題が現在の対話目的である。
【0110】
タスクT4の条件は、1つのみで「検索済みの場所」であるが、まだ、図8のスタックの状態では、この条件を満たす情報は得られていない(ステップS5)。従って、注目条件として、「検索済みの場所」を選択する(ステップS9)。この条件「検索済みの場所」に対応する動作には、「検索方法指定」というタスクT5が包含されている(入れ子になっている)ので、このタスクT5の条件、すなわち、「検索方法を取得」も選択する。その結果、対話情報E2は、図9に示すように、当該タスクの包含関係に対応して、名称が「場所検索―検索方法指定」、注目条件は「検索済みの場所―検索方法を取得」となる(ステップS9)。
【0111】
続いて、対話情報E2に設定された注目条件「検索方法を取得」に対応する動作を実行する(ステップS10)。この動作はユーザに文を提示するものなので、その内容を表す応答情報を応答出力装置2に出力する。ここでとりあえず、図3に示した処理が終了する。このときのスタックの状態を図9に示す。
【0112】
応答出力装置2からは、上記動作により「住所と登録名称のどちらで検索しますか?」という応答文が出力される。その結果、ユーザからの発言があったときには(ユーザの発言内容から得られた発言情報が入力したときに)、再び、図3のステップS0から処理が開始される。
【0113】
(2)第2の発言:「住所で検索」が自然言語解釈装置1に入力されたとする。
【0114】
自然言語解釈装置1の解釈結果は「住所で場所検索」であったとする。これが対話スタック操作部102に通知されると、図3のフローチャートに従って、以下のように動作する。
【0115】
まず、バッファBF1には「住所で場所検索」が格納され、新規フラグが「1」に設定される(ステップS0、ステップS1)。ステップS2では通知先が探索される。ここでは、当該発言情報が、図9の対話情報E2の注目条件を満たしているので(図5のステップS104)、当該発言情報の通知先のタスクは、タスクT5となる。従って、図10に示すように、タスクT5に対応する対話情報E2の意図情報に、さらに「住所で場所検索」が追加される(ステップS4)。
【0116】
これにより、スタックトップの対話情報にE2に対応するタスクT5は、必要な条件を全て満たしたことになるので(ステップS5)、タスクT5に予め定められている全条件達成時動作を実行する(ステップS6)。なお、タスクT5の課題は達成されたので、当該入れ子のタスクT5に対応する対話情報は、スタックから削除する。例えば、この場合、対話情報E2の名称、注目条件から「検索方法の指定」、「検索方法を取得」をそれぞれ削除する。
【0117】
この全条件達成時動作には、対応する検索をロードするものであるから、この指定により、「住所で場所検索」というタスクT6をロードし(ステップS11)、このバッファBF1に、このタスクT6を呼び出す意図は、当該指定によるという意味で、当該タスクT6の名称「住所で場所検索」を格納し、新規フラグは「0」に設定する(ステップS12a、ステップS12b)。
【0118】
タスクT6がロードされて、スタックには、図11に示すように、タスクT6に対応する対話情報E3がプッシュされる(対話情報E3は、対話情報E2の上に積み上げられる)。タスクT6には、バッファBF1に格納された「住所で場所検索」が通知されるので、対話情報E3の意図情報としては、「住所で場所検索」が書き込まれる(ステップS4)。図11に示すように、現在、対話情報E3がスタックトップとなっており、このタスクT6に対応する課題が現在の対話目的である。
【0119】
以後前述同様にして処理が進められ、ステップS9では、注目条件として「都道府県名を取得」が選択されると、ステップS10では、当該注目条件に対応する動作として、「都道府県名をどうぞ」がユーザに提示される。この動作には他のタスクをロードする操作はないので、この時点で図3に示す処理は一時終了する。この時点におけるスタックの状態を図12に示す。
【0120】
(3)第3の発言:「神奈川県」が自然言語解釈装置1に入力されたとする。
【0121】
自然言語解釈装置1の解釈結果は、現在のスタックトップの対話情報の意図情報「住所で場所検索」を含めて、「住所で場所検索:神奈川県」であったとする。これが対話スタック操作部102に通知されると、図3のフローチャートに従って、以下のように動作する。
【0122】
まず、バッファBF1には、発言情報「住所で場所検索:神奈川県」が格納され、新規フラグが「1」に設定される(ステップS0、ステップS1)。ステップS2では通知先が探索される。ここでは、当該発言情報が、図12のスタックトップの対話情報E3の注目条件を満たしているので(図5のステップS104)、当該対話情報の通知先のタスクは、タスクT6となる。従って、タスクT6に対応する対話情報E3の意図情報に、「住所で場所検索:神奈川県」が書き込まれる(ステップS4)。タスクT6の課題を達成するための全ての条件はまだ満たされていないので(ステップS5)、残る条件の中から注目条件として「市区町村名を取得」が選択される(ステップS9)。当該注目条件に予め定められた動作を実行することにより、「市区町村名をどうぞ」と応答出力装置2から出力される。このときのスタックの状態を図13に示す。この動作には他のタスクをロードする操作はないので、この時点で図3に示す処理は一時終了する。
【0123】
(4)第4の発言:「やっぱり登録名称で」が自然言語解釈装置1に入力されたとする。
【0124】
自然言語解釈装置1の解釈結果は、現在のスタックトップの対話情報を基に、「登録名称で場所検索」であったとする。これが対話スタック操作部102に通知されると、図3のフローチャートに従って、以下のように動作する。
【0125】
まず、バッファBF1には、発言情報「登録名称で場所検索」が格納され、新規フラグが「1」に設定される(ステップS0、ステップS1)。ステップS2では通知先が探索されるが、発言情報「登録名称で場所検索」により、課題を解決するための全ての条件あるいは複数の条件のうちの少なくとも1つを満たすようなタスク、意図情報と同じ種類の対話情報が存在しない(ステップS104〜ステップS106、ステップS109)。従って、スタック中に最終的に通知先としてのタスクは存在しない。この場合、新規フラグは「1」であるから(ステップS13)、当該発言情報に対応する対応するタスク、すなわち、発言情報「登録名称で場所検索」を名称とするタスクT7をプラン記憶部104から選択し、ロードする。このとき、対話スタック操作部102は、当該タスクT7に対応する対話情報E4(図14参照)を生成し、対話情報E4がプッシュされる(対話情報E4は、対話情報E3の上に積み上げられる)。
【0126】
タスクT7は、発言情報「登録名称で場所検索」を受けて呼び出されたので、現在のユーザの対話目的は「登録名称で場所検索」であり、これが意図情報としての図6に示すように対話情報E4に書き込まれる(ステップS4)。
【0127】
このときのスタックを図14に示す。
【0128】
注目条件として、タスクT7の唯1つの条件「登録名称指定を取得」が選択され、当該注目条件に対応する動作を実行することにより「登録名称をどうぞ」がユーザに提示される。このときのスタックの状態を図15に示す。スタックトップの対話情報に対応する課題はタスクT7の登録名称で場所検索となっている。
【0129】
(5)第5の発言:「みなとみらい」が自然言語解釈装置1に入力されたとする。
【0130】
自然言語解釈装置1の解釈結果は、現在のスタックトップの対話情報の意図情報「登録名称で場所検索」を含めて、「登録名称で場所検索:みなとみらい」であったとする。これが対話スタック操作部102に通知されると、図3のフローチャートに従って、以下のように動作する。
【0131】
まず、バッファBF1には、発言情報「登録名称で場所検索:みなとみらい」が格納され、新規フラグが「1」に設定される(ステップS0、ステップS1)。ステップS2では通知先が探索される。ここでは、当該発言情報が図15のスタックトップの対話情報E4の注目条件を満たしているので(図5のステップS104)、当該対話情報の通知先のタスクは、タスクT7となる。従って、タスクT7に対応する対話情報E4の意図情報に、「登録名称で場所検索:みなとみらい」が書き込まれる(ステップS4)。この意図情報により、タスクT7の課題を達成するための全ての条件が満たされたので、すなわち、登録名称が取得されたので(ステップS5)、タスクT7に予め定められている全条件達成時動作を実行する(ステップS6)。この全条件達成時動作を実行すると、「みなとみらい」の登録名称を持つ場所(これをここでは、「minatomirai」と表す)が検索される。当該タスクT7に予め定められたタスク出力情報は、「検索結果の場所」であるから、この全条件達成時動作の検索結果である「minatomirai」がタスク出力情報としてバッファBF1に格納され、新規フラグは「0」に設定する(ステップS7a、ステップS7b)。
【0132】
なお、タスクT7の課題は達成されたので、タスクT7に対応する対話情報を、スタックから削除する。例えば、この場合、対話情報E4を削除する。このときのスタックの状態を図16に示す。すなわち、現在のスタックトップは、対話情報E3となっている。
【0133】
次に、ステップS2において、現在バッファBF1に格納されているタスク出力情報「minatomirai」の通知先を探索する。
【0134】
当該タスク出力情報は、図16に示したスタック中の対話情報E2の注目条件「検索済みの場所」を満足する情報であるので(図5のステップS104)、通知先は対話情報E2に対応するタスクT4となる(ステップS3)。
【0135】
この場合、対話情報E2がスタックトップとなるように、クリア操作を行う。すなわち、スタックから対話情報E3をポップする。そして、バッファBF1に格納されているタスク出力情報が対話情報E2に対応するタスクT4に通知されるので、対話情報E2の意図情報には、「minatomirai」が追加される。このときのスタックの状態を図17に示す。
【0136】
バッファBF1に格納されているタスク出力情報が通知されると、タスクT4の全ての条件が満足することとなる(ステップS5)。タスクT4には、全条件達成時動作がないので、タスクT4に予め定められたタスク出力情報、すなわち、「検索結果の場所」として、「minatomirai」がバッファBF1に格納されるとともに、新規フラグは「0」と設定される(ステップS7a、7b)。タスクT4に対応する課題は達成されたので、タスクT4に対応する対話情報、すなわち、対話情報E2もポップされる。スタックトップは対話情報E1となる。
【0137】
次に、ステップS2において、現在バッファBF1に格納されているタスク出力情報の通知先を探索する。当該タスク出力情報は、図18に示したスタック中の対話情報E1の注目条件「場所を取得」を満足する情報であるので(図5のステップS104)、通知先は、スタックトップの対話情報E1に対応するタスクT2となる(ステップS3)。
【0138】
バッファBF1に格納されているタスク出力情報が対話情報E1に対応するタスクT2に通知されるので、対話情報E1の意図情報には、「minatomirai」が追加される。
【0139】
バッファBF1に格納されているタスク出力情報が通知されると、タスクT2の全ての条件が満足することとなる(ステップS5)。従って、タスクT1に包含されているタスクT2の対話情報を対話情報E1から削除する。例えば、この場合、対話情報E1の名称、注目条件から「目的地場所」、「場所を取得」をそれぞれ削除する。このときのスタックの状態を図19に示す。
【0140】
タスクT2には、全条件達成時動作として、タスクT3への遷移が予め定められているので、タスクT3に遷移する(ステップS6)。そして、タスクT4に予め定められたタスク出力情報、すなわち、「検索結果の場所」として、「minatomirai」がバッファBF1に格納されるとともに、新規フラグは「0」と設定される(ステップS7a、7b)。
【0141】
タスクT3は、タスクT1に包含されるタスクであるので、タスクT3に遷移すると(ステップS8)、対話情報E1の名称には、タスクT3の名称である「目的地承認」が追加される(ステップS4)。タスクT3の課題を達成するための条件「検索された場所に対する承諾」、すなわち、検索された場所に対するユーザの承諾はまだ得られていないので(ステップS5)、対話情報E1の注目条件に、タスクT3の条件「検索された場所に対する承諾」を設定する(ステップS9)。そして、当該注目条件に対応する動作を実行する(ステップS10)。この動作を実行することにより、ユーザには「こちらを目的地に設定しますか?」が出力されると共に、「minatomirai」の位置が地図に表示される。「動作」フィールドには、ロード処理が無かったのでここで処理を終了してユーザの入力を待つ。この時点でのスタックの状態を図20に示す。
【0142】
(6)第6の発言:「はい」が自然言語解釈装置1に入力されたとする。
【0143】
自然言語解釈装置2の解釈結果は「許諾」であったとする。これが対話スタック操作部102に通知されると、図3のフローチャートに従って、以下のように動作する。
【0144】
まず、バッファBF1には、発言情報「許諾」が格納され、新規フラグが「1」に設定される(ステップS0、ステップS1)。ステップS2では通知先が探索される。ここでは、当該発言情報が図20のスタックトップの対話情報E1の注目条件を満たしているので(図5のステップS104)、当該対話情報の通知先のタスクは、タスクT3となる。従って、タスクT3に対応する対話情報E1の意図情報に、バッファBF1に格納されている発言情報「承諾」が書き込まれる(ステップS4)。この意図情報により、タスクT3の課題を達成するための全ての条件が満たされたので、すなわち、検索された場所に対する承諾が得られたので(ステップS5)、タスクT3に予め定められている全条件達成時動作を実行する(ステップS6)。この全条件達成時動作を実行すると、承諾された場所に承諾済みフラグ(これを「destOK」と表す)を与えられる。当該タスクT3に予め定められたタスク出力情報は、「検索結果の場所」であるから、この全条件達成時動作の結果である承諾済みフラグの与えられた承諾された場所、すなわち、「minatomirai(destOK)」がタスク出力情報としてバッファBF1に格納され、新規フラグは「0」に設定する(ステップS7a、ステップS7b)。タスクT3の課題は達成されたので、当該タスクT3に対応する対話情報をスタックから削除する。例えば、この場合、対話情報E1の名称、注目情報から「目的地承認」、「検索された場所に対する承諾」をそれぞれ削除する。この全条件達成時動作では、ロード処理がなかったので、ステップS2へ進む。このときのスタックの状態を図21に示す。
【0145】
現在バッファBF1に格納されている情報は、タスクT3のタスク出力情報である、承諾済みフラグの与えられた承諾された場所、すなわち、「minatomirai(destOK)」である。このタスク出力情報は、図21に示したスタック中の対話情報E1の注目条件「目的地承認済みの場所」を満足する情報であるので(図5のステップS104)、通知先は対話情報E1に対応するタスクT1となる(ステップS3)。バッファBF1に格納されているタスク出力情報が対話情報E1に対応するタスクT1に通知されるので、対話情報E1の意図情報には、「minatomirai(destOK)」が追加される。このときのスタックの状態を図22に示す。
【0146】
バッファBF1に格納されているタスク出力情報が通知されると、タスクT1の全ての条件が満足するので(ステップS5)、タスクT1に予め定められている全条件達成時動作を実行する(ステップS6)。この全条件達成時動作を実行すると、承諾済みの場所「minatomirai」までのルート計算が実施される。当該タスクT1に予め定められたタスク出力情報は、「ルート情報」であるから、この全条件達成時動作の計算結果である「minatomirai」までのルート情報がタスク出力情報としてバッファBF1に格納され、新規フラグは「0」に設定する(ステップS7a、ステップS7b)。なお、タスクT1の課題は達成されたので、タスクT1に対応する対話情報E1をスタックからポップする。この場合、スタックは空となる。
【0147】
タスクT1の全条件達成時動作には、ロード処理はないので、ステップS2へ進むが、ここでは、スタックが空であるので(図4のステップS101)、通知先なしと判定される。また、新規フラグは「0」であるから(ステップS13)、ユーザの入力待ち状態になる。
【0148】
(7)スタックが図20に示すような状態において、「こちらを目的地に設定しますか?」が出力されたとき、上記第6の発言:「はい」ではなく、ユーザが場所を変更することを意図して、第7の発言:「山下公園で」と発言し、これが、自然言語解釈装置1に入力されたとする。
【0149】
自然言語解釈装置2の解釈結果は、例えば、プラン記憶部104に記憶されているプランの各課題の条件などを参照することにより、「登録名称で場所検索:山下公園」であったとする。これが対話スタック操作部102に通知されると、図3のフローチャートに従って、以下のように動作する。
【0150】
まず、バッファBF1には、発言情報「登録名称で場所検索:山下公園」が格納され、新規フラグが「1」に設定される(ステップS0、ステップS1)。ステップS2では通知先が探索されるが、発言情報「登録名称で場所検索:山下公園」により、課題を解決するための全ての条件あるいは複数の条件のうちの少なくとも1つを満たすようなタスク、意図情報と同じ種類の対話情報が存在しない(ステップS104〜ステップS106、ステップS109)。従って、スタック中に最終的に通知先としてのタスクは存在しない。この場合、新規フラグは「1」であるから(ステップS13)、当該発言情報に対応する対応するタスク、すなわち、発言情報に含まれる情報「登録名称で場所検索」を名称とするタスクT7をプラン記憶部104から選択し、ロードする。このとき、対話スタック操作部102は、当該タスクT7に対応する対話情報E5を生成し、対話情報E5がプッシュされる(対話情報E5は、対話情報E1の上に積み上げられる)。
【0151】
タスクT7は、発言情報「登録名称で場所検索:山下公園」を受けて呼び出されたので、現在のユーザの対話目的は「山下公園という登録名称で場所検索」であり、これが意図情報として、図23に示すように対話情報E5に書き込まれる(ステップS4)。このときのスタックを図23に示す。
【0152】
ここでは、対話情報E5に意図情報として書き込まれた発言情報がタスクT7の課題を解決すべき全条件を満たすので、すなわち、登録名称が取得されたので(ステップS5)、タスクT7に予め定められている全条件達成時動作を実行する(ステップS6)。この全条件達成時動作を実行すると、「山下公園」の登録名称を持つ場所(これをここでは、「yamashita−park」と表す)が検索される。当該タスクT7に予め定められたタスク出力情報は、「検索結果の場所」であるから、この全条件達成時動作の検索結果である「yamashita−park」がタスク出力情報としてバッファBF1に格納され、新規フラグは「0」に設定する(ステップS7a、ステップS7b)。タスクT7の課題は達成されたので、タスクT7に対応する対話情報E5をスタックからポップする。
【0153】
次に、ステップS2において、現在バッファBF1に格納されているタスク出力情報「yamashita−park」の通知先を探索する。ステップS2の処理において、「対象タスク」が、対話情報E1に対応するタスクT3であるとき、このタスク出力情報は、タスクT3の条件を満たすようなユーザの許諾を表すものではなく、同種の意図でもないので(図5のステップS104〜ステップS106,ステップS109)、図5のステップS110へ進む。タスクT3を包含するタスクT1を「対象タスク」とする。ステップS104,S105を経由して、ステップS106へ進む。ここで対話情報E1の注目条件中のタスクT1に対応する条件「承認済みの場所」に関する動作に含まれるタスクT2、T3の全条件を調べる。
【0154】
すると、当該タスク出力情報は、タスクT2の全条件「場所を取得」を満たすので、「対象タスク」にタスクT2を設定し(ステップS107)、通知先をタスクT2と決定する(ステップS108)。
【0155】
この場合、対話情報E1の名称は、「目的地設定−目的地場所設定」となり、バッファBF1に格納されているタスク出力情報が対話情報E1に対応するタスクT2に通知されるので、対話情報E1の意図情報には、「minatomirai」ではなく、「yamashita−park」に書き換えられる。バッファBF1に格納されている対話情報E1に対応するタスクT2にタスク出力情報が通知されると、タスクT2の全ての条件が満足することとなる(ステップS5)。従って、タスクT1に包含されているタスクT2の対話情報を対話情報E1から削除する。例えば、この場合、対話情報E1の名称から「目的地場所」を削除する。このときのスタックの状態を図24に示す。この段階で、検索結果の場所として「yamashita−park」が得られた。
【0156】
図24に示すスタックの状態は、図19に示したスタックの状態と同じである。その後の処理動作も前述同様にして、タスクT3へ遷移して、当該検索結果の場所に対し承諾を得て、タスクT1に戻り、ルート計算を行い、その結果を出力する。
【0157】
続いて候補選択部101の詳細動作について、スタックが図13に示す状態のときを例にとり、図4、図5を用いて説明する。この例での候補選択部101のスコア編集方針は、ステップS101を通過し、下層のスタック要素を探索するようになる度にスコアを「−30」、ステップS104、ステップS105,ステップS106,ステップS109を通過するたびにスコアを「−10」、また、通知先が見つからなかった場合は探索中の減点を無視して一律スコアを「−50」とする。
【0158】
スタックが図13の状態のとき、第8の発言:「川崎市」が自然言語解釈装置1に入力されたとする。この入力は、応答出力装置2から出力される応答文「市区町村名をどうぞ」に対するユーザの回答の例である。この入力に対して、自然言語解釈装置1では、音声認識により、以下のような候補群が得られる。
「許諾(はい)」(920)
「香川県」(900)
「川崎市」(880)
なお、「( )」内はその候補に与えられた(音声認識時に求まる)スコアである。
【0159】
まず候補「許諾」について検討すると、ステップS103で「対象スタック」は対話情報E4が設定され、「対象タスク」にはタスクT6が設定される。ステップS104、ステップS105,ステップS106,ステップS109のいずれにおいても「住所で場所検索」というタスクにのもつ条件は「許諾」により満たされないのでステップS110へ進む。
【0160】
タスク「住所で場所検索」を包含するタスクは、対話情報E3には存在しないので、ステップS101に進み、「対象スタック」に対話情報E2を設定する。これも同様にタスク「場所検索」には「許諾」により満たされるような条件はなく、再びステップS101に進み、「対象スタック」に対話情報E1を設定する。この場合、ステップS103で「対象タスク」には最初タスクT2の「目的地場所設定」が設定されるが、このタスクには、「許諾」により満たされるような条件はないので、ステップS110まで進む。タスクT2は、タスクT1に包含されているので、「対象タスク」にタスクT1「目的地設定」を設定して、ステップS104へ進む。ステップS104からステップS105を経由して、ステップS106へ進む。
【0161】
ステップS106では、タスクT1に関連する注目条件「承認済みの場所」に関する動作に含まれるタスクT2、T3の全条件を調べる。すると、タスクT3「目的地承認」がユーザの許諾を待っているが、解決済みの場所が通知されていないので満たされず、最終的には「許諾」の通知先は見つからない。よって候補「許諾」のスコアは「870」となる。あるいは「許諾」に対応するタスクが定義されていない場合は新規タスクをロードできないので棄却される。
【0162】
候補「香川県」について検討すると、ステップS101で、「対象スタック」には、対話情報E3が設定される。ステップS104での判定では、こ当該候補は、注目条件「市区町村名を取得」を満たしていないので、ステップS105へ進む。ステップS105でも「香川県」は都道府県のみの情報なので全条件を満たしていないと判定されるので、ステップS106へ進む。ステップS106では条件「市区町村名を取得」に対応する動作には入れ子のタスクが存在しないので、満たすタスクも存在せず、従って、ステップS109へ進む。ステップS1009では、候補「香川県」と対象スタックの意図情報「神奈川県」は、同じ種類の情報、すなわち、同じ住所指定の意図であると判定されるので、通知先は、対話情報E3に対応するタスクT6と決定される。このとき自然言語解釈装置1で求めたスコアから30点減点されて「香川県」のスコアは870点となる。
【0163】
続いて、候補「川崎市」については、ステップS101で、「対象スタック」に対話情報E3が設定される。ステップS104の判定で、「川崎市」は注目条件「市区町村名を取得」を満たすので、通知先は、対話情報E3に対応するタスクT6と決定される。このとき、自然言語解釈装置1で求めたスコアから減点なしで「川崎市」のスコアは880点のままである。
【0164】
このようにしてスタックへの通知先を加味してスコアを再計算した結果、ユーザの入力として候補「川崎市」を発言情報として採用することになる。これはシステムが「市区町村名」を問い合わせているという状況を加味した選択であると言える。このように候補選択部101ではその時の対話スタック状態を加味してスコアを編集するので、その時の対話状態に応じた動的な候補選択が可能となる。
【0165】
かくしてこのように構成された対話管理装置100によれば、話題変更であると判定した場合にもあらかじめ復帰先の話題を決定することなく話題の中断処理を行い、話題が元々の話題に寄与するような場合においても適切に元の話題に復帰することが可能となる。また、本発明によれば、ユーザの入力時の対話状況を加味した候補選択を実行することが可能となる。
【0166】
尚、本発明は上述の実現形態に限定されるものではない。対話スタック管理部103で管理するプランで、タスクを入れ子にして記述できるように例示しているが、入れ子になっているタスクを新たな対話情報としてプッシュするように記述しても良い。この場合図3の判定操作のステップS106、ステップS107も省略されるだろう。
【0167】
尚、上述の例では、カーナビゲーションシステムの形式で実現しているように記述しているが、これらの対話管理方式については上述の実現形態に限定されるものではない。本発明の実現形態はこれに限定されるものではなく、例えば、観光案内システム等で実現することも可能であり、そのような実現形態も本発明の趣旨の範囲内である。以上のように、本発明の実現形態には上述の例に対して種々の変形が可能であり、それらも趣旨に反しない限り本発明の実施形態の範囲内である。
【0168】
このように、上記実施形態によれば、ユーザとの対話で得られた発言情報により解決する課題をスタックから削除するとともに、当該課題を解決した結果得られるタスク出力情報を得ると、スタックに記憶された、タスク出力情報に関連する課題(ここでは、第1の課題と呼ぶ)を次の対話目的として使用する(設定する)ために、第1の課題がスタックに記憶された後にスタックに記憶された課題はスタックから削除して、第1の課題をスタックトップとする。すなわち、対話により1つの課題が解決されたとき、その課題が解決された結果、対話目的とする必要のなくなった無用な課題を当該解決された課題のタスク出力情報を基に探索して、スタックから削除する。従って、1つの課題が解決された後は、当該課題と関連する、あるいは同様の課題を対話目的として対話することがなくなるため、冗長で不自然な対話を避けることができる。
【0169】
また、ユーザとの対話で得られた発言情報により、スタックに記憶された課題のうちの1つ(ここでは、第1の課題と呼ぶ)が解決されたと判断するための条件を少なくとも1つ満足するとき、当該第1の課題は前記発言情報に関連する課題であると判断して、当該第1の課題より後にスタックに記憶された課題をスタックから削除し、当該第1の課題を対話目的に設定することにより、ユーザの意図で対話目的を変更する場合も、違和感なく、対話目的を変更でき、その後に過去に用いた同様な対話目的で対話することもなくなり、冗長で不自然な対話を避けることができる。
【0170】
(第2の実施形態)
上記第1の実施形態では、課題を達成してからその課題の出力(タスク出力情報)の通知先を探索して対話を進めていたが、この場合に限らず、新たなタスクが呼び出されたときに、そのタスクのタスク出力情報の通知先を予め予測しておくようにしてもよい。そこで、第2の実施形態として、新たな課題に対応する対話情報をスタックに格納する際に、その課題に対応付けられているタスク出力情報を基に、スタック中に対話情報として記録されているタスクの中から当該新たな課題が達成したときの当該新たな課題のタスク出力情報の通知先を予め検索(予測)する対話装置について説明する。
【0171】
なお、第2の実施形態に係る対話装置の構成は、第1の実施形態にかかる対話装置の構成(図1参照)と同一であり、対話スタック操作部102の動作が異なる。また、新たな対話情報をスタックに記憶する際に、上記のように、当該新たな対話情報に対応する課題が解決されたときに出力されるタスク出力情報の通知先を予め予測するので、この予測結果としての通知先を記録しておくために、対話情報には、被通知可能性フィールドが追加されている。
【0172】
以上の2点が第1の実施形態の場合と異なり、以下、この異なる点を重点的に説明する。
【0173】
図26は第2の実施形態におけるスタックの状態の一例を示したもので、これは、第1の実施形態の図13に示したスタックの状態に対応する。
【0174】
図26に示したように、各対話情報には、前述同様、対話スタック操作部102によって対話に使用しているタスクが対応し、ある時点の対話内容はその時のスタックトップ(スタック内の一番上にある要素)に対応するタスクに関するものとなっている。
【0175】
図26の各対話情報には、新たに「被通知可能性」フィールドが追加されている。
【0176】
各対話情報の「被通知可能性」フィールドは、その上段にある対話情報の出力(タスク出力情報)の通知先として可能性があると推定されたときに、当該タスク出力情報を出力するタスクを列挙するフィールドである。
【0177】
図26に示すスタックでは、対話情報E2の「被通知可能性」フィールドの記述によれば、対話情報E2の「場所検索」タスクT4には、対話情報E3に対応する「住所で場所検索」タスクT6のタスク出力情報が通知されると推定されていることがわかる。また、対話情報E1の「被通知可能性」フィールドの記述によれば、対話情報E1の「目的地場所設定」タスクT2には、対話情報E2に対応する「場所検索」タスクT4のタスク出力情報が通知されると推定されていることがわかる。一方、対話情報E3には、その上段に対話情報が存在しないため、「被通知可能性」フィールドは空になっている。上段に複数対話情報が存在し,それらが同じ対話情報に通知する場合は「被通知可能性」フィールドには複数の対話情報が列挙される。
【0178】
対話スタック操作部102は、タスクをロードする際には、ロード元のタスクの対話情報の「被通知可能性」フィールドに、今回ロードしたタスク情報の名称を追加する。ユーザの発言内容から得られた発言情報から新規にタスクをロードする場合は、ロードするタスクの一番外側のタスク出力情報を利用して、図4、図5の通知先探索処理を実行し、その結果、通知先のタスク(に対応する対話情報)が存在した場合は,その対話情報の「被通知可能性」フィールドに今回新たにロードするタスク情報を通知する。ロードは、前述同様、対話においてより詳細な話題に進む場合、別の話題をはじめる場合に呼び出される手続きである。
【0179】
遷移も、前述同様、新たなタスクを呼び出す際の手続きであるが、現在の対話目的で使用しているタスクを変更するように新たなタスクをロードする。下段の対話情報の「被通知可能性」フィールドに、遷移元のタスクの名称が書き込まれている場合は、その対話情報の「被通知可能性」フィールドに遷移さきのタスクの名称を追加する。現在のタスクが通知されている場合は、その対話情報に現在のタスクを通知する。対話が順序だてて進む場合に話題が次に進む場合などに呼び出される手続きである。
【0180】
図25は、第2の実施形態にかかる対話スタック操作部102の処理動作全体を説明するためのフローチャートである。なお、図25において、図3と同一部分には同一符号を付し、異なる部分についてのみ説明する。すなわち、図3では、あるタスクの課題が達成されて当該タスクのタスク出力情報が実際に出力された時点でその通知先のタスクを探索するようになっていたが、これに代わり、図25では、あるタスクに対応する対話情報をスタックに記憶する際に(新たな課題が発言情報により呼び出されたときには図25のステップS14において、それ以外のタスクのロード・遷移の場合にはステップS6、ステップS10において)、当該タスクの課題が達成したときに当該タスクから出力されるタスク出力情報の通知先を予め推定しておく。当該タスクの課題が達成したときには、ステップS301において、当該タスクのタスク出力情報の通知先として予め推定されたタスクがあるかを各対話情報の「被通知可能性」フィールドを参照して探し、あれば、その通知先として推定されたタスクに対し、当該タスク出力情報を通知するようになっている。
【0181】
ステップS2では、バッファBF1に格納された発言情報の通知先を探索する。なお、この通知先探索処理は、図4〜図5と同様である。
【0182】
ステップS301では、バッファBF1に格納された発言情報あるいはタスク出力情報の通知先があるかどうかを確認する。ステップS2で得られた通知先があるか、あるいは、タスク出力情報の出力元のタスクに対応する対話情報より下に、当該タスク出力情報の出力元のタスクの名称が記述されている「被通知可能性」フィールドを持つ対話情報があるか探索する。通知先がある場合はステップS4へ進み、ない場合は、ステップS13へ進む。
【0183】
次に、第2の実施形態の具体例として、第1の実施形態の具体例と異なる部分について説明する。
【0184】
(1)第1の発言:「目的地を設定する」が自然言語解釈装置1に入力されたとき、対話スタック操作部102には発言情報「目的地設定」が通知され、ステップS14において、当該発言情報「目的地設定」に対応するタスク、すなわち、発言情報「目的地設定」を名称とするタスクT1をロードし、対話スタック操作部102は、当該タスクT1に対応する対話情報E1を生成し、スタックにプッシュする。このとき、対話情報E1より下に格納されている対話情報(対話情報E1がスタックに格納される以前にスタックに格納された対話情報)は存在しないので、当該タスクT1達成時にタスク出力情報の通知先の探索は行わない。このときのスタックの状態を図27に示す。
【0185】
前述同様にして、タスクT2からタスクT4が呼び出され(ロードされ)、タスクT4に対応する対話情報E2がスタックに格納される(ステップS10)。このとき、タスクT4は、対話情報E1に対応するタスクT2から呼び出されたので、タスクT4のタスク出力情報は、対話情報E1に対応するタスクT2に通知される。従って、対話情報E1の「被通知可能性」フィールドに、タスクT4の「場所検索」タスクが追加される。タスクT4には、バッファBF1に格納された「場所検索」が通知されるので、対話情報E2の意図情報としては、「場所検索」が書き込まれる(ステップS4)。この段階でのスタックの状態を図28に示す。その後、前述同様にして、注目条件の選択、当該注目条件に対応する動作を実行する。このときのスタックの状態を図29に示す。
【0186】
(2)スタックが図29に示した状態のときに、第2の発言:「住所で検索」が自然言語解釈装置1に入力されたとする。自然言語解釈装置1の解釈結果は「住所で場所検索」であったとする。これが対話スタック操作部102に通知されると、当該発言情報は、図29の対話情報E2の注目条件を満たしているので、現在対話目的となっているタスクT5の全条件達成時動作を実行する(ステップS6)。なお、前述同様、対話情報E2からはタスクT5に対応する対話情報は削除する。
【0187】
この全条件達成時動作で「住所で場所検索」タスクT6がロードされて、スタックには、図30に示すように、タスクT6に対応する対話情報E3がプッシュされる(対話情報E3は、対話情報E2の上に積み上げられる)。このとき、タスクT6は、対話情報E2からロードされたので、対話情報E2の「被通知可能性」フィールドに、「住所で場所検索」タスクT6が追加される。
【0188】
(3)以降、前述同様にして、第3の入力:「神奈川県」が入力がされて、スタックが図31に示すような状態になったとする。
【0189】
(4)スタックが図31の状態のときに、第4の発言:「やっぱり登録名称で」が自然言語解釈装置1に入力されたとする。すると、図32に示すように、スタックには、対話情報E4が格納され、この対話情報E4に対応する「登録名称で場所検索」タスクT7のタスク出力情報「検索済みの場所」の通知先を探索するために、図4,図5に示す通知先探索処理を行う。その結果、当該タスク出力情報は、「場所検索」タスクT4の条件を満たすので、当該タスクT4に対応する対話情報E2の「被通知可能性」フィールドに、「登録名称で場所検索」タスクT7を追加する(図32の対話情報E2参照)。
【0190】
(5)第5の発言:「みなとみらい」が自然言語解釈装置1に入力されたとする。この発言に対応する発言情報「登録名称で場所検索:みなとみらい」が対話装置100に入力すると、当該発言情報により、前述したように、対話情報E4に対応するタスクT7の課題が解決される(ステップS5)。このタスクT7の全条件達成時動作を実行し、「minatomirai」がタスク出力情報として出力される。そこで、ステップS301へ進み、このタスク出力情報の通知先をスタック中の対話情報の「被通知可能性」フィールドを参照して探索すると、「登録名称で場所検索」タスクT7が指定されている対話情報E2が見つかる。そこで、この対話情報E2に対応する「場所検索」タスクT4に、バッファBF1に格納されているタスク出力情報を「minatomirai」が通知される。
【0191】
対話情報E2に対応する「場所検索」タスクT4に、タスク出力情報「minatomirai」が通知されると、対話情報E3はクリアにより、スタックからポップされる。さらに、これにより「場所検索」タスクT4の条件を満たしているので、全条件達成時動作を実行し、「minatomirai」がタスク出力情報として出力される。ステップS301で、この通知先を探索すると、対話情報E1の「被通知可能性」フィールドに「場所検索」タスクT2が追加されているので、対話情報E1のタスクT2に、当該タスク出力情報が通知される。すると、タスクT2の課題は解決されて、タスクT2の全条件達成時動作を実行する。また、このようにして課題の解決されたタスクT2に対応する対話情報は、前述同様にして、スタックから削除される。このときのスタックの状態を図33に示す。
【0192】
全条件達成時動作として、タスクT3への遷移が予め定められているので、「目的地承認」タスクT3をロードする。タスクT3のタスク出力情報は、検索された承認済みの場所である。このタスク出力情報の通知先を図4,図5に示した通知先探索処理に従って探索すると、当該タスク出力情報は、対話情報E1の「目的地設定」タスクT1の条件を満たすことわかるので、対話情報E1の「被通知可能性」フィールドに、「目的地承認」タスクT3を追加する。このときのスタックの状態を図34に示す。
【0193】
(6)第6の発言:「はい」が入力すると、前述同様にして、タスクT3の課題が解決するので、タスクT3の全条件達成時動作を実行した結果をタスク出力情報として、そのタスク出力情報の通知先として予め推定されたタスクT1に通知する。また、タスクT3に対応する対話情報も前述同様削除される。タスクT1の課題も達成されたので、タスクT1に対応する対話情報E1はポップされるが、これにより、スタックは空となる。従って、タスクT1のタスク出力情報の通知先は存在しないので、ここで入力待ちとなる。このときのスタックの状態を図35に示す。
【0194】
(7))スタックが図34に示すような状態において、「こちらを目的地に設定しますか?」が出力されたとき、上記第6の発言:「はい」ではなく、ユーザが場所を変更することを意図して、第7の発言:「山下公園で」と発言し、これが、自然言語解釈装置1に入力されたとする。
【0195】
自然言語解釈装置2の解釈結果は、例えば、プラン記憶部104に記憶されているプランの各課題の条件などを参照することにより、「登録名称で場所検索:山下公園」であったとする。これが発言情報として対話スタック操作部102に通知されると、ステップS2では通知先が探索されるが、発言情報「登録名称で場所検索:山下公園」により、課題を解決するための全ての条件あるいは複数の条件のうちの少なくとも1つを満たすようなタスク、意図情報と同じ種類の対話情報が存在しない(ステップS104〜ステップS106、ステップS109)。従って、スタック中に最終的に通知先としてのタスクは存在しない。この場合、新規フラグは「1」であるから(ステップS13)、当該発言情報に対応するタスク、すなわち、発言情報に含まれる情報「登録名称で場所検索」を名称とするタスクT7をプラン記憶部104から選択し、ロードする。このとき、対話スタック操作部102は、当該タスクT7に対応する対話情報E5を生成し、対話情報E5がプッシュされる(対話情報E5は、対話情報E1の上に積み上げられる)。
【0196】
このとき、タスクT7のタスク出力情報の通知先を探索する。図4,図5に示した処理により、通知先として、対話情報E1に対応するタスクT1に包含されるタスクT2の「目的地場所設定」が得られる。そこで、対話情報の「被通知可能性」フィールドに、タスクT7の「登録名称で場所検索」を追加する。対話情報E5の意図情報には、先ほどの発言情報が書き込まれるのは前述同様である。このときのスタックの状態を図36に示す。
【0197】
さて、対話情報E5に意図情報として書き込まれた発言情報がタスクT7の課題を解決すべき全条件を満たすので、すなわち、登録名称が取得されたので(ステップS5)、タスクT7に予め定められている全条件達成時動作を実行する(ステップS6)。この全条件達成時動作を実行すると、「山下公園」の登録名称を持つ場所(これをここでは、「yamashita−park」と表す)が検索される。当該タスクT7に予め定められたタスク出力情報は、「検索結果の場所」であるから、この全条件達成時動作の検索結果である「yamashita−park」がタスク出力情報として出力される。このタスク出力情報の通知先は、「被通知可能性」フィールドの記述から対話情報E1である。より具体的には、タスクT1に包含されるタスクT2である。
【0198】
すなわち、通知先として、タスクT2が存在するので、対話情報E1の名称は、「目的地設定−目的地場所設定」となり、バッファBF1に格納されているタスク出力情報が対話情報E1に対応するタスクT2に通知されるので、対話情報E1の意図情報には、「minatomirai」ではなく、「yamashita−park」に書き換えられる。バッファBF1に格納されている対話情報E1に対応するタスクT2にタスク出力情報が通知されると、タスクT2の全ての条件が満足することとなる(ステップS5)。従って、タスクT1に包含されているタスクT2に関する情報を対話情報E1から削除する。すなわち、この場合、対話情報E1の名称から「目的地場所」を削除する。このときのスタックの状態を図37に示す。この段階で、検索結果の場所として「yamashita−park」が得られた。
【0199】
このように、上記第2の実施形態によれば、スタックに新たなタスク(課題)に対応する対話情報を格納する際に、当該新たなタスクのタスク出力情報の通知先をスタックに対話情報として格納されているタスクの中から探索しておく。そして、実際に当該新たな課題が解決したときには、そのタスク出力情報を先に探索されたタスクへ通知して、当該タスクを対話目的とすることにより、前述の第1の実施形態と同様の効果を奏する。第1の実施形態との違いは、タスク出力情報の通知先をいつ探索するかであり、第1の実施形態の場合は、実際にタスク出力情報が出力されるときであり、第2の実施形態の場合は、タスクが呼び出されて、対話情報をスタックに格納するときである。
【0200】
尚、上記第2の実施形態では、タスク出力情報を受け取る側に、受け取るタスク出力情報の出力元のタスクを被通知先フィールドに書き込むようにしているが、この場合に限らない。例えば、各対話情報に「通知先フィールド」を設け、通知する側から通知先を管理しても,被通知側・通知側の両方にのタスクを格納してもよく,タスクをロードする際にその出力を考慮して通知先を動的に判定するものであれば如何なる手法でも構わない。
【0201】
以上説明したように、上記第1および第2の実施形態によれば、ある課題を中断して新たな課題に移行したときの復帰先を、新たな課題を対話目的として用いて対話した結果に応じて(解決された課題のタスク出力情報に関連する課題に復帰することにより)、柔軟に決定することができる。
【0202】
ユーザの意図により、ある1つの課題を対話目的として用いた対話を(課題を解決することなく)中断して、別の課題に変更した場合でも、当該別の課題が解決された後は、当該別の課題と関連する、あるいは同様の課題を対話目的として対話することがなくなるため、冗長で不自然な対話を避けることができる。
【0203】
話題変更であると判定した場合にもあらかじめ復帰先の話題を決定することなく話題の中断処理を行い、話題が元々の話題に寄与するような場合においても適切に元の話題に復帰することができる。また、ユーザの入力時の対話状況を加味した候補選択を実行することが可能となる、等の実用上多大な効果が奏せられる。
【0204】
本発明の実施の形態に記載した本発明の手法は、コンピュータに実行させることのできるプログラムとして、磁気ディスク(フロッピーディスク、ハードディスクなど)、光ディスク(CD−ROM、DVDなど)、半導体メモリなどの記録媒体に格納して頒布することもできる。
【0205】
なお、本発明は、上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。さらに、上記実施形態には種々の段階の発明は含まれており、開示される複数の構成用件における適宜な組み合わせにより、種々の発明が抽出され得る。例えば、実施形態に示される全構成要件から幾つかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題(の少なくとも1つ)が解決でき、発明の効果の欄で述べられている効果(のなくとも1つ)が得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
【0206】
【発明の効果】
以上説明したように、本発明によれば、所定の目的を達成するための予め定められた複数の課題に従って対話を行う場合、ある課題を中断して新たな(別の)課題に移行したときには、その新たな課題で対話した結果に応じて、次の課題を柔軟に決定することができる。
【図面の簡単な説明】
【図1】本発明の実施形態にかかる対話装置の構成例を示した図。
【図2】プラン記憶部に記憶されるプランについて説明するための図。
【図3】対話スタック操作部の処理動作を説明するためのフローチャート。
【図4】対話スタック操作部の処理動作のうち、通知先探索処理動作を説明するためのフローチャート。
【図5】対話スタック操作部の処理動作のうち、通知先探索処理動作を説明するためのフローチャート。
【図6】スタックの状態を示した図。
【図7】スタックの状態を示した図。
【図8】スタックの状態を示した図。
【図9】スタックの状態を示した図。
【図10】スタックの状態を示した図。
【図11】スタックの状態を示した図。
【図12】スタックの状態を示した図。
【図13】スタックの状態を示した図。
【図14】スタックの状態を示した図。
【図15】スタックの状態を示した図。
【図16】スタックの状態を示した図。
【図17】スタックの状態を示した図。
【図18】スタックの状態を示した図。
【図19】スタックの状態を示した図。
【図20】スタックの状態を示した図。
【図21】スタックの状態を示した図。
【図22】スタックの状態を示した図。
【図23】スタックの状態を示した図。
【図24】スタックの状態を示した図。
【図25】対話スタック操作部の他の処理動作を説明するためのフローチャート。
【図26】対話情報として記憶される情報を説明するための図。
【図27】スタックの状態を示した図。
【図28】スタックの状態を示した図。
【図29】スタックの状態を示した図。
【図30】スタックの状態を示した図。
【図31】スタックの状態を示した図。
【図32】スタックの状態を示した図。
【図33】スタックの状態を示した図。
【図34】スタックの状態を示した図。
【図35】スタックの状態を示した図。
【図36】スタックの状態を示した図。
【図37】スタックの状態を示した図。
【符号の説明】
1…自然言語解釈装置、2…応答出力装置、100…対話装置、101…候補選択部、102…対話スタック操作部、103…対話情報記憶部、104…プラン記憶部[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to an interaction method for interacting with a user in a natural language to achieve a predetermined object, an interaction device using the same, and a program.
[0002]
[Prior art]
2. Description of the Related Art In recent years, research on an interface that accepts text input by voice or natural language input has been actively conducted. In addition, many expert systems and the like using such an interface have been developed, and a device that accepts input by voice, text, or the like has become available for the general public. In particular, voice input is considered to be easy for the user to use, and a system that accepts voice input using voice recognition technology has been developed.
[0003]
In the case of natural language input by voice, the user rarely speaks all the conditions to be input to the system at once, and requires voice communication between the user and the system. For example, when there is a defect in the user's input, it is necessary to perform a process such as inquiring about the missing condition and integrating the user's answer to it. For this integration process, it is indispensable for the system to grasp the contents of the dialogue currently being performed.
[0004]
As a conventional dialogue management technology, topics are managed in a stack structure, and stack operations are determined to require topic transitions such as "input advances the current topic" or "interruption of the current topic". There is a method of performing based on a result (for example, see Non-Patent Document 1).
[0005]
In this method, the possibility of topic transition is classified according to the dialogue situation based on the number of database search result candidates, and if a topic transition that cannot occur in that dialogue situation is found, the topic It has been determined that the interruption has occurred. When it is determined that an utterance input of a topic has been interrupted, the topic at that time is marked and a new topic is pushed onto the stack to interrupt the topic. When the interrupted topic ends, it is possible to return to the original conversation by returning to the marked topic.
[0006]
However, in the conventional method, when the topic is determined to be interrupted, a mark is added to the topic of the return destination in advance, and when the interrupted topic ends, the mark returns to the mark location, so the interrupted topic contributes to the original topic There is a problem that it is difficult to control the dialogue in such a case.
[0007]
For example, the following dialogue between the system (S) and the user (U) in the car navigation system will be described as an example.
[0008]
S (1): "Determine the destination. Please specify the location."
U (1): "The destination address is Kanagawa Prefecture."
S (2): "Please take your municipal name"
U (2): "After all, by registered name"
S (3): "Please enter your registered name"
U (3): "Yamashita Park"
Here, in the conventional method, the “address determination dialogue” is marked and the “search dialogue by registered name” is pushed in response to the user's second utterance U (2). For this reason, when the search dialogue is completed with the registered name in the third utterance U (3) of the user, the response is as follows to return to the marked address determination dialogue.
[0009]
S (4): “Yamashita Park is here (with map display). Please enter the name of city, town, and village.” As described above, there is a shift in the dialogue intention that the user has selected Yamashita Park as the destination. As a result, satisfactory dialogue cannot be carried out, which imposes a heavy burden on the user.
[0010]
Conventionally, the ambiguity of natural language interpretation has not been considered. In particular, when a voice input is involved, a plurality of recognition candidates appear in the voice recognition result due to ambiguity of recognition. In view of such ambiguity of speech recognition, it is necessary to select a recognition result to be used for a dialog from a plurality of candidates in consideration of the dialog situation at that time. If this countermeasure is not sufficient, the dialogue is advanced on the basis of erroneous recognition, so that a satisfactory dialogue cannot be performed and a great burden is imposed on the user.
[0011]
[Non-patent document 1]
IPSJ Transactions Vol. 9. “Understanding intentions and managing topics in natural language interface systems”
[0012]
[Problems to be solved by the invention]
As described above, conventionally, in order to achieve a predetermined purpose, when a conversation is performed according to a plurality of predetermined topics, the current topic is interrupted, and when a new topic is started, the interrupted original topic is used. After returning to the predetermined topic as the return destination, the user returned to the predetermined topic as the return destination, so even if the goal was achieved as a result of the dialogue with the new topic, Had to talk on another topic.
[0013]
That is, conventionally, when a conversation is performed according to a plurality of predetermined topics (tasks) for achieving a predetermined purpose, when a certain topic is interrupted and shifted to a new topic, the new topic ends. There is a problem that the next topic at that time cannot be flexibly determined according to the result of the conversation with the new topic.
[0014]
Conventionally, the result of voice recognition has been adopted regardless of the dialogue state at that time, and there has been a problem that a satisfactory dialogue cannot be performed and a great burden is imposed on the user.
[0015]
Therefore, in view of the above problems, the present invention interrupts a certain topic (task) and performs a new topic (task) when the dialogue is performed according to a plurality of predetermined topics (tasks) for achieving a predetermined purpose. It is an object of the present invention to provide a dialogue method and apparatus that can flexibly determine the next topic (task) according to the result of a dialogue with the new topic (task) when the process is shifted to ()).
[0016]
It is another object of the present invention to provide a dialogue method and apparatus capable of performing a highly accurate voice dialogue by selecting an optimum candidate from a plurality of candidates obtained as a result of voice recognition according to a dialogue state at that time. .
[0017]
[Means for Solving the Problems]
(1) The present invention is to perform a dialogue with a user to solve a plurality of problems for achieving a predetermined object. The tasks are stored in the storage means in the order of selection, and the unresolved tasks stored last in the storage means are used for the purpose of dialogue, first information is obtained, and the first information is stored in the storage means by the first information. Resolving a first unresolved issue, obtaining second information, deleting the resolved first unresolved issue from the storage means, and rewriting the second information stored in the storage means. In order to use the related second unresolved task in the second step for the next dialogue purpose, delete the unresolved task selected for the dialogue purpose after the second unresolved task from the storage means. As a result, when an issue is interrupted and shifted to a new issue, (By the problems associated with the issues resolved the task output information and following interactive purposes) in accordance with a result of dialogue with the new challenges, it is possible to flexibly determine the next challenge.
[0018]
(2) The second unresolved issue related to the second information satisfies at least one condition for determining that the second information has solved the second unresolved issue.
[0019]
(3) When the second unresolved problem related to the second information is not stored in the storage unit, the first unresolved problem among the unresolved problems stored in the storage unit is The unresolved task selected for the conversation purpose immediately before the selection for the conversation purpose is used for the next said conversation purpose.
[0020]
(4) The storage means is a stack for storing unsolved tasks selected for the purpose of dialogue with the user in the order of selection.
[0021]
(5) When the first unresolved problem solved by the first information is not stored in the storage unit, a third unresolved problem related to the first information is transmitted to the next dialogue. An unresolved issue selected for interactive purposes after the third unresolved issue is deleted from the storage means for use in the purpose, and the storage means stores a third unresolved issue associated with the first information. When the assignment is not stored, a new assignment related to the first information of the plurality of assignments is stored in the storage unit as the unresolved assignment for use in the next conversational purpose.
[0022]
(6) When a plurality of candidates for the first information estimated from the user's input are given, use of the plurality of candidates for the purpose of the dialogue among the unresolved issues stored in the storage means. The candidate related to the unresolved issue that comes later in the use order given priority is selected as the first information.
[0023]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
[0024]
(1st Embodiment)
According to the present invention, even when it is determined that the topic (dialogue purpose) is changed, the topic is interrupted without previously determining the return destination topic, and the present invention is suitable even when the topic contributes to the original topic. The present invention provides a dialogue system having a function of executing a candidate selection in consideration of a dialogue situation at the time of input by a user. explain.
[0025]
FIG. 1 is a schematic configuration diagram of a dialogue system including a dialogue device according to an embodiment of the present invention, and shows a configuration example of a dialogue system used for a car navigation system, for example. As shown in FIG. 1, the interactive system includes a natural
[0026]
The
[0027]
The natural
[0028]
The
[0029]
Each topic corresponds to a problem to be solved to achieve the above purpose. Each task has a condition for solving the problem (a condition that should be satisfied for determining that the problem has been solved), an operation for satisfying the condition, and an operation for satisfying all conditions ( The operation when all conditions are achieved) and the output content output as task output information when solving the problem are predetermined. That is, each task is associated with at least one condition for solving the problem, an operation for satisfying each condition, an operation when all conditions are achieved, and a task including output contents when the problem is solved. Have been. Here, a description of a condition included in a task corresponding to each task, an operation, an operation when all conditions are achieved, and an output content when the task is solved is referred to as task information.
[0030]
A main task for “destination setting” is described in the task information T1.
[0031]
The task represented by the task information T1 is "destination setting" as the purpose of the dialog (described in the "name" field). As a condition for solving this problem, it is necessary to obtain a “destination approved place” (described in the “condition” field), and as an operation for that, a process described in the task information T2 is performed. Performs the operation (solves the problem described in the task information T2), and then transitions to the processing operation of the task information T3, and performs the processing operation described in the task information T3 (the processing described in the task information T3). Solve the problem). As a result, when the above condition is satisfied, the operation described in the “operation when all conditions are achieved” field (here, “calculate the route to the designated place”) is performed, and the result is output to the task output information. Output.
[0032]
In the following description, a processing operation based on the description of task information is simply called a task. For example, a processing operation based on the description of the task information T2 is called a task T2.
[0033]
The task information T2 is a processing operation for “location search”. In order to solve this problem, first, task information T5 for which “search method designation” is to be solved is called, and The described processing operation is performed.
[0034]
The processing operation described in the task information T5 utters “Which address or registered name do you want to search for?” (Described in the “operation” field), and the utterance input by the user accordingly. The search method specified by the user is obtained from the content (described in the “condition” field), and the search corresponding to the specified search method is described as described in the “operation when all conditions are achieved” field. Call task information to do (load task). Here, the task information T6 is read when the search method by the address is specified, and the task information T7 is read when the search method by the registered name is specified.
[0035]
The processing operation described in the task information T6 has a task of “searching for a place by an address”. The user inputs an address as described in the “operation” fields corresponding to each of the three conditions. When the user speaks for the address, and the address is obtained (described in the "condition" field), as described in the "action when all conditions are achieved" field, the "address specified" Search for corresponding location "and output the search result as task output information.
[0036]
The processing operation described in the task information T7 has a task of “searching for a place by a registered name”, and as described in the “operation” field, gives an utterance for the user to input the registered name. As a result, when the registered name is obtained (described in the “condition” field), as described in the “operation when all conditions are achieved” field, the “location corresponding to the specified registered name is determined. Search ”and output the search result as task output information.
[0037]
When the search result is notified as task output information by the task T6 or the task T7, the condition “searched place” described in the “condition” field of the task information T4 is satisfied. Since the task information T4 does not describe "operation when all conditions are achieved", in this case, the process returns to the task T2 that called (loaded) the task T4. From the task T4, the “searched place” output from the task T6 or the task T7 is output as the task output information “search result place”, and this is information to be notified to the task T2.
[0038]
In the task T2, since the condition of “acquire a place” described in the “condition” field is satisfied by the input information, the operation described in the “operation when all conditions are achieved” field, that is, transition to the task T3 is performed. At the same time, the “location of the search result” is output, and this is input information to the task T3.
[0039]
In task T3, the task is to obtain approval from the user for the "location of search result" as the input information. Therefore, an operation for that is performed, and if approval is obtained, an approved flag is given to the location. Then, a place approved as a destination is output as task output information.
[0040]
Since the approved place is obtained by the above processing operation (since the condition of the “condition” field of the task information T1 is satisfied), as described in the “operation when all conditions are achieved” field of the task information T1. Calculate the route to the place specified as the purpose, and output the result as task output information.
[0041]
As described above, when one task includes another task hierarchically (nested) (corresponding to the relationship between tasks T1 and T2, tasks T2 and T4, task T4 and task T5, etc.), When reading out a task, the task is called to load the other task. When one task includes a plurality of tasks in parallel (for example, the relationship between task T2 and task T3 in task T1), transition to task T3 after task T2 ends is referred to as transition.
[0042]
Here, in the description of each task information, the output content when all the conditions are achieved is described in the “output” field. This output content corresponds to the task output information.
[0043]
In the “condition” field, a condition for solving the task of the task (or a condition to be satisfied for determining that the task is solved) is described, and “operation” corresponding to each “condition” field is described. In the field, a processing operation (procedure) required to satisfy the condition is described. To describe progressing to the next task after achieving a certain condition, another task is nested inside the “operation” field as in the task information T1.
[0044]
The
[0045]
The dialogue
[0046]
Each piece of conversation information includes a task (task information) used in the past or the present as a conversation purpose, a focused condition (attention condition) among conditions in the task information, and intention information.
[0047]
The conversation
[0048]
The dialog
[0049]
The conversation
[0050]
For example, suppose that the dialogue system shown in FIG. 1 was started, and the user made a statement “set a destination”. At this time, it is assumed that “destination setting” is selected by the
[0051]
Note that the task T2 is loaded from the task T1, that is, since the task T2 is in a relationship nested (nested) in the task T1, as shown in FIG. The "destination location setting" and the condition "acquire location" are represented by connecting the name and condition of the task T1 with a hyphen "-".
[0052]
As described above, when it is necessary to solve another problem (issue y) in order to satisfy a certain condition for solving a certain problem (issue x), it can be said that the problem y is in a relationship included in the problem x. However, in this case, the condition for solving the problem y can also be said to be the condition for solving the problem x.
[0053]
When there is an inclusion relationship between the task x and the task y, the dialog information corresponding to the task y is described by connecting the name and condition of the dialog information corresponding to the task x with a hyphen, and the dialog information corresponding to the task x May be included.
[0054]
By the way, when the stack is in the state shown in FIG. 7, an operation for satisfying the condition described in the task information T2 is executed. In this case, the task T2 is loaded. When the task T2 is loaded, new interaction information E2 is generated by associating the task T2 with the name "location search" of the name of the task T2 as intention information, and is pushed onto the stack (see FIG. 8).
[0055]
The intention information of the dialog information means information that mainly represents the user's intention obtained through the dialog with the user when the task corresponding to the dialog information is intended for the dialog. In this embodiment, as described later, the task output information is handled in the same manner as the user's intention, and is associated with the dialog information as the intention information.
[0056]
When the dialogue proceeds according to the plan (for example, without interruption), as described above, the dialogue information is pushed down to the stack, and the processing operation of the task corresponding to each piece of the dialogue information ends (the task of the task is determined as follows). To be solved) and pop-up (take-out) in order from the conversation information at the top of the stack, and when all the conversation information is gone, the purpose of the conversation is achieved.
[0057]
In the interactive device according to the present embodiment, when input information that is one of utterance information or task output information representing the utterance content of the user is input, the input information and all the interactive information in the stack are input. Is compared with the input information, that is, the dialog information corresponding to the task in which at least one condition is satisfied with the input information in the current and past dialog information, and the same as the input information. A search is performed to determine whether or not there is dialog information in which the type of information is recorded as intention information. If such dialog information exists, the dialog information is set as a stack top, and a task corresponding to the dialog information is set as a dialog purpose. .
[0058]
When all the conditions of the task as the conversation purpose are satisfied, the conversation information corresponding to the task is deleted from the stack, and information output from the task of the task (output content described in the “output” field) And all the conversation information in the stack, and in the past conversation information, conversation information corresponding to a task that satisfies at least one condition in the output content of the task, the same type as the output content Is searched for dialog information in which the information of the above is recorded as intention information. When there is such conversation information, a stack operation is performed so that the conversation information becomes the top of the stack. It should be noted that when the problem corresponding to the newly-topped dialogue information satisfies all the conditions by the output contents, and the problem is solved, the dialogue information is also extracted from the stack.
[0059]
The dialogue purpose is a problem corresponding to the dialogue information at the top of the stack. More specifically, a condition which is set as a noticeable condition of the dialogue information and which must be satisfied in order to solve the problem (such as When there are a plurality of conditions, one of them).
[0060]
The conversation
[0061]
The load is a procedure (operation) used when calling a new task, and pushes conversation information corresponding to the new task onto a stack. This is an operation for calling the task of the task y when it is necessary to solve another task (the task y) in order to satisfy a certain condition for solving the certain task (the task x).
[0062]
The transition is also a procedure for calling a new task, but is a procedure for calling a task y when solving a task in order and moving to another task y when a certain task x is solved. .
[0063]
In order to clear a task x as a conversation purpose, clearing removes the conversation information stored in the stack after the conversation information corresponding to the task x is stored in the stack, and stores the conversation information corresponding to the task x in the stack top. The procedure is as follows.
[0064]
The achievement condition selection is a procedure for selecting another condition for solving the task, such as when the attention condition of the task corresponding to the conversation information at the top of the stack is satisfied. If another task (task) is nested in the "action" field in the task information corresponding to the selected condition, the achievement condition selection is recursively advanced for that task, and Write into the "attention condition" field in the dialog information.
[0065]
As an operation for satisfying a certain condition, as in task T5, when the dialogue system utters “Which address or registered name is to be searched?”, The response information representing the utterance content is a response. Output to the
[0066]
The
[0067]
Next, the processing operation of the dialog
[0068]
FIG. 3 is a flowchart for explaining the entire processing operation of the dialog
[0069]
First, the processing operation of the dialog
[0070]
Here, the buffer BF1 as a buffer for temporarily storing the input utterance information and the task output information output from the task, and the buffer currently stored in the buffer BF1 are the utterance information input from the
[0071]
First, when the utterance information is input in step S0, the utterance information is stored in the buffer BF1, and "1" is set in the new flag (step S1). Next, the process proceeds to step S2, and a task as a notification destination of the information stored in the buffer BF1 is searched based on the conversation information in the stack. The details will be described later.
[0072]
When a task as a notification destination is found in step S2, the process proceeds to step S4, and when there is no task as a notification destination, the process proceeds to step S13 (step S3).
[0073]
In step S4, a clear operation is performed so that the conversation information corresponding to the task as the notification destination is at the top of the stack, and the statement information stored in the buffer BF1 is reported in the "intention information" field of the conversation information. I do. In this case, "notification" refers to an operation of overwriting information corresponding to the same condition in a task and adding information corresponding to a different condition.
[0074]
Then, it is checked whether or not the information currently recorded in the “intention information” field of the dialog information, that is, the intention information satisfies all the conditions for solving the problem corresponding to the dialog information ( Step S5). When the intention information satisfies all the conditions for solving the problem, the process proceeds to step S6, and when there is at least one condition that the intention information does not satisfy, the process proceeds to step S9.
[0075]
In step S6, the procedure specified in the "operation when all conditions are achieved" field of the task corresponding to the conversation information at the top of the stack (the task corresponding to the task in which all conditions have been achieved and solved) is executed. Then, the task output information is stored in the buffer BF1 according to the description of the "output" field of the task (step S7a). Since the task output information is currently stored in the buffer BF1, the new flag is cleared to “0” in step S7 (step S7b).
[0076]
Further, since the task of the task has been achieved (since there is no need to continue the dialogue to solve the task), the conversation information is deleted from the stack. At this time, if the conversation information is not included in other conversation information, the conversation information (also called a stack element) is popped from the stack.
[0077]
Next, the process proceeds to step S8, and it is confirmed whether or not another task is being loaded and transitioned during the execution of the operation when all conditions are satisfied in step S6. If all tasks are loaded and transitioned as tasks when all conditions are achieved (other tasks are loaded and transitions are specified in the task information), the dialog corresponding to the loaded or transitioned task is performed. Information is stored at the top of the stack. Then, the process returns to step S4 in order to set the task corresponding to the conversation information as the notification destination. On the other hand, if no other task is loaded or transitioned as an operation when all conditions are achieved, the process returns to step S2 to search for a task as a notification destination of the task output information stored in the buffer BF1.
[0078]
In step S9, an achievement condition selection operation is performed on the stack top. That is, another condition for solving the problem corresponding to the conversation information at the top of the stack is selected, and the selected condition is written in the “attention condition” field as the attention condition. Then, the process proceeds to step S10 to execute an operation for obtaining information that satisfies the current attention condition. In this operation, when another task is loaded (step S11), the conversation information corresponding to the loaded or transitioned task is stored in the stack top. Therefore, the name of the task is stored in the buffer BF1 (step S12a), and the task of the notification destination is set to a new flag “0” in order to set the task corresponding to the dialog information to the notification destination (step S12b). ), And return to step S4.
[0079]
At the time of executing the operation corresponding to the attention condition, if the loading or transition of another task is not specified in the task information (step S11), the process ends here.
[0080]
In step S3, when the task as the notification destination of the utterance information or the task output information stored in the buffer BF1 cannot be obtained from the conversation information stored in the stack up to the present, the process proceeds to step S13.
[0081]
If the new flag is "1" in step S13, since what is currently stored in the buffer BF1 is the utterance information obtained from the utterance content from the user, the process proceeds to step S14, where the utterance information is stored. A corresponding new task is obtained (for example, a task having a name that matches the utterance information is loaded), and conversation information corresponding to the new task is stored in the stack. On the other hand, when the new flag is “0” in step S13, what is currently stored in the buffer BF1 is the task output information, which is used to determine the problem solved by the task output information and the fact that the task has been solved. Since there is no problem in the stack that satisfies at least one of the plurality of conditions, the process ends here.
[0082]
At this time, if the conversation information remains in the stack, the operation corresponding to the attention condition of the conversation information at the top of the stack may be executed again to solve the remaining conversation information.
[0083]
Next, the notification destination search processing operation in step S2 in FIG. 3 will be described with reference to FIGS.
[0084]
Here, a buffer BF2 is used to store the conversation information in the current stack to be searched, and the conversation information stored in the buffer BF2 is referred to as a “target stack”. In addition, a buffer BF3 is used to store task information to be searched at present, and the task information (task) stored in the buffer BF3 is referred to as a “target task”. Both are empty (NULL) at the initial stage (step S100).
[0085]
When the notification destination search process is started (when the search for the notification destination of the utterance information or the task output information stored in the buffer BF1 is started), the buffer BF1 sequentially starts from the conversation information at the top of the stack (from the top of the stack). The dialog information stored in the lower order is stored one by one (step S102), and the following notification destination search processing is repeated until the search for all the dialog information in the stack is completed (step S102). Step S101).
[0086]
First, in step S103, the conversation information at the top of the stack is stored in the buffer BF2, and the task information corresponding to the conversation information set in the “target stack” is stored in the buffer BF3 (set as the “target task”). .
[0087]
The utterance information or task output information stored in the buffer BF1 is referred to as input information in the notification destination search processing.
[0088]
First, the process proceeds to step S104 in FIG. 5, and it is checked whether the input information satisfies the target condition of the “target stack”. If the condition is satisfied, the process proceeds to step S108, and the current “target task” is output as the task to be notified. If the condition is not satisfied, the process proceeds to step S105.
[0089]
In step S105, it is checked whether the input information satisfies all the conditions of the “target task”. If it satisfies, the process proceeds to step S108, and outputs the current “target task” as the task to be notified. If it does not, the process proceeds to step S106.
[0090]
In step S <b> 106, it is determined whether or not there is a task whose input information satisfies all conditions among the tasks nested in the operation of the target condition of the “target stack”. When there is such a task, the process proceeds to step S107, and the task is set as a “target task”. When there is no such task, the process proceeds to step S109.
[0091]
Here, in step S104 and step S106, when the target condition of the “target stack” is the condition of the nested task, the condition defined in the “target task” is selected. For example, in FIG. 7, the attention condition is “accepted place−acquired place” of the nested task T2, but if the “target task” is T1, the “accepted place” is adopted as the attention condition. I do.
[0092]
In step S109, the input information is compared with the intention information described in the “intention information” field of the “target stack”, and it is checked whether or not they are the same type of information. If the information is of the same type, the process proceeds to step S108, and the current “target task” is output as the task to be notified. If the information is different, the process proceeds to step S110.
[0093]
In step S110, it is checked whether there is any task that includes the current “target task” in a nested manner. If there is a task including the “target task”, the process proceeds to step S111, the task is set as the “target task”, and the process returns to step S104. On the other hand, when there is no task including the “target task”, the process returns to step S101, and the notification destination search process is repeated with the next conversation information in the stack as the target stack.
[0094]
As a result of searching for a notification destination as described above based on all the conversation information in the stack, if a task as a notification destination is not obtained (step S101), the process proceeds to step S112, and “no notification destination” is output. I do.
[0095]
The notification destination search processing is based on the premise that "if the user is cooperative, a response related to the current conversation is made", and the input information can be reported retrospectively from the top of the stack, which is the current conversation contents. Stacks and tasks are to be searched.
[0096]
Subsequently, the processing operation of the
[0097]
More specifically, in order to notify the top of the stack (the task corresponding to the dialog information at the top of the stack), it is necessary to reduce the number of passes in step S101 in FIG. In order to notify the candidate, priority is given to a candidate that reduces the number of passes in steps S104, S105, S106, and S109 in FIG.
[0098]
For example, the operation may be performed so as to lower the score of the candidate each time the candidate passes through steps S101, S104, S105, S106, and S109. Thereby, it is possible to preferentially select an utterance having contents suitable for the dialog at that time.
[0099]
Here, the processing operation of the dialogue device will be described more specifically taking a dialogue system applied to a car navigation system as an example.
[0100]
It is assumed that the user's intentions input to the car navigation system are, for example, four types: destination setting, location search, location search by address, and location search by registered name. These can be said to be a plurality of problems to be solved for setting a destination. FIG. 2 shows task information corresponding to each task.
[0101]
The stack in the initial state is assumed to be empty. Here, for the sake of simplicity, it is assumed that information obtained as a recognition result of a user's utterance input to the
[0102]
(1) First remark: It is assumed that “set a destination” is input to the natural
[0103]
It is assumed that the interpretation result of the natural
[0104]
First, "destination setting" is stored in the buffer BF1, and the new flag is set to "1" (step S0, step S1). In step S2, the notification destination is searched. However, since the stack is empty, it is determined that there is no notification destination (steps S101 and S112 in FIG. 4), and since the new flag is "1", the process proceeds to step S14. The task corresponding to the utterance information “destination setting”, that is, the task T1 having the name of the utterance information “destination setting” is selected from the
[0105]
Since the task T1 is called in response to the comment information “destination setting”, the current conversation purpose of the user is “destination setting”, which is written in the conversation information E1 as intention information as shown in FIG. (Step S4).
[0106]
At this time, the stack is in a state where only the conversation information E1 is stored as shown in FIG.
[0107]
The task T1 has only one condition and is “approved place”, but in the state of the stack in FIG. 6, information satisfying this condition has not been obtained yet (step S5). Therefore, “approved place” is selected as the attention condition (step S9). Since the operation corresponding to the condition “approved place” includes the task T2 “destination place setting” (nested), the condition of the task T2, that is, “acquire the place” Is also selected. As a result, as shown in FIG. 7, the dialogue information E1 has the name “destination setting—destination location setting” and the attention condition “accepted location—acquisition of location,” as shown in FIG. (Step S9).
[0108]
Subsequently, an operation corresponding to the attention condition “acquire a place” set in the interaction information E1 is executed (step S10). In this operation, the task T4 of “location search” is loaded. Therefore, the task T4 is loaded by this designation (step S11), and the call to the buffer BF1 is made according to the user's statement. Instead, the name “location search” of the task T4 is stored, and the new flag is set to “0” (step S12a, step S12b).
[0109]
As shown in FIG. 8, the task T4 is loaded, and the conversation information E2 corresponding to the task T4 is pushed onto the stack (the conversation information E2 is stacked on the conversation information E1). Since the task T4 is notified of "location search" stored in the buffer BF1, "location search" is written as the intention information of the dialog information E2 (step S4). As shown in FIG. 8, the conversation information E2 is currently at the top of the stack, and the task corresponding to the task T4 is the current conversation purpose.
[0110]
The condition of the task T4 is only one “searched place”, but information satisfying this condition has not been obtained yet in the state of the stack in FIG. 8 (step S5). Therefore, “searched place” is selected as the attention condition (step S9). Since the operation corresponding to the condition “searched place” includes the task T5 “designation of search method” (nested), the condition of this task T5, that is, “acquire search method” Is also selected. As a result, as shown in FIG. 9, the name of the conversation information E2 is “place search—designation of search method”, and the attention condition is “acquired place—acquire search method”, as shown in FIG. (Step S9).
[0111]
Subsequently, an operation corresponding to the attention condition “acquire search method” set in the interaction information E2 is executed (step S10). Since this operation is to present a sentence to the user, response information indicating the content is output to the
[0112]
The
[0113]
(2) Second remark: It is assumed that "search by address" is input to the natural
[0114]
It is assumed that the interpretation result of the natural
[0115]
First, "location search by address" is stored in the buffer BF1, and the new flag is set to "1" (step S0, step S1). In step S2, a notification destination is searched. Here, since the statement information satisfies the attention condition of the dialog information E2 in FIG. 9 (step S104 in FIG. 5), the task to which the statement information is notified is the task T5. Therefore, as shown in FIG. 10, “location search by address” is further added to the intention information of the conversation information E2 corresponding to the task T5 (step S4).
[0116]
As a result, the task T5 corresponding to E2 in the conversation information at the top of the stack satisfies all necessary conditions (step S5), and executes the operation at the time of achieving all the conditions predetermined for the task T5 (step S5). Step S6). Since the task of task T5 has been achieved, the conversation information corresponding to the nested task T5 is deleted from the stack. For example, in this case, “designation of search method” and “acquisition of search method” are deleted from the name and attention condition of the interaction information E2.
[0117]
Since the corresponding search is loaded in the operation at the time of achieving all the conditions, the task T6 of “location search by address” is loaded by this designation (step S11), and the task T6 is loaded into the buffer BF1. The intention of calling is that the name is “search by address” in the task T6, and the new flag is set to “0” (step S12a, step S12b).
[0118]
As shown in FIG. 11, the task T6 is loaded, and the conversation information E3 corresponding to the task T6 is pushed onto the stack (the conversation information E3 is stacked on the conversation information E2). Since the task T6 is notified of the "location search by address" stored in the buffer BF1, "location search by address" is written as the intention information of the dialogue information E3 (step S4). As shown in FIG. 11, the conversation information E3 is currently the top of the stack, and the task corresponding to the task T6 is the current conversation purpose.
[0119]
Thereafter, the process proceeds in the same manner as described above, and in step S9, if "obtain prefecture name" is selected as the attention condition, in step S10, the operation corresponding to the attention condition is "Please enter the prefecture name." Is presented to the user. Since there is no operation to load another task in this operation, the process shown in FIG. 3 is temporarily terminated at this point. FIG. 12 shows the state of the stack at this point.
[0120]
(3) Third remark: "Kanagawa prefecture" is input to the natural
[0121]
It is assumed that the interpretation result of the natural
[0122]
First, in the buffer BF1, utterance information "location search by address: Kanagawa" is stored, and a new flag is set to "1" (step S0, step S1). In step S2, a notification destination is searched. Here, since the statement information satisfies the attention condition of the conversation information E3 at the top of the stack in FIG. 12 (step S104 in FIG. 5), the task to which the conversation information is notified is the task T6. Accordingly, "location search by address: Kanagawa" is written in the intention information of the dialog information E3 corresponding to the task T6 (step S4). Since all the conditions for achieving the task of task T6 have not been satisfied yet (step S5), "obtain municipalities" is selected as the attention condition from the remaining conditions (step S9). By executing an operation predetermined for the attention condition, the
[0123]
(4) Fourth remark: It is assumed that “after all, with the registered name” is input to the natural
[0124]
It is assumed that the interpretation result of the natural
[0125]
First, the utterance information “location search by registered name” is stored in the buffer BF1, and the new flag is set to “1” (step S0, step S1). In step S2, a notification destination is searched. However, task information and intention information satisfying at least one of all conditions or a plurality of conditions for solving the problem are obtained by the statement information “location search by registered name”. The same type of conversation information does not exist (step S104 to step S106, step S109). Therefore, there is no task as a notification destination in the stack. In this case, since the new flag is “1” (step S13), the task corresponding to the statement information, that is, the task T7 having the name of the statement information “location search by registered name” is stored in the
[0126]
Since the task T7 is called upon receiving the comment information “location search by registered name”, the current user's dialogue purpose is “location search by registered name”, which is the dialogue as shown in FIG. The information is written in the information E4 (step S4).
[0127]
FIG. 14 shows the stack at this time.
[0128]
As the attention condition, only one condition “acquire registered name designation” of task T7 is selected, and by executing an operation corresponding to the attention condition, “please enter registered name” is presented to the user. FIG. 15 shows the state of the stack at this time. The task corresponding to the conversation information at the top of the stack is a location search using the registered name of task T7.
[0129]
(5) Fifth remark: It is assumed that "Minato Mirai" is input to the natural
[0130]
It is assumed that the interpretation result of the natural
[0131]
First, in the buffer BF1, utterance information "location search by registered name: Minato Mirai" is stored, and the new flag is set to "1" (step S0, step S1). In step S2, a notification destination is searched. Here, since the statement information satisfies the attention condition of the conversation information E4 at the top of the stack in FIG. 15 (step S104 in FIG. 5), the task to which the conversation information is notified is the task T7. Therefore, “location search by registered name: Minato Mirai” is written in the intention information of the conversation information E4 corresponding to the task T7 (step S4). Since all the conditions for achieving the task of the task T7 are satisfied by this intention information, that is, since the registered name has been obtained (step S5), the operation at the time of achieving all the conditions predetermined for the task T7 Is executed (step S6). When the operation at the time of achieving all the conditions is executed, a place having a registered name of “Minatomirai” (here, this is represented as “minatomirai”) is searched. Since the task output information predetermined for the task T7 is “location of search result”, “minatomirai” which is the search result of the operation when all the conditions are achieved is stored in the buffer BF1 as task output information, and a new flag is set. Is set to "0" (step S7a, step S7b).
[0132]
Since the task of the task T7 has been achieved, the conversation information corresponding to the task T7 is deleted from the stack. For example, in this case, the conversation information E4 is deleted. FIG. 16 shows the state of the stack at this time. That is, the current stack top is the conversation information E3.
[0133]
Next, in step S2, the notification destination of the task output information “minatomirai” currently stored in the buffer BF1 is searched.
[0134]
Since the task output information is information that satisfies the attention condition “searched place” of the conversation information E2 in the stack shown in FIG. 16 (step S104 in FIG. 5), the notification destination corresponds to the conversation information E2. It becomes task T4 (step S3).
[0135]
In this case, a clear operation is performed so that the conversation information E2 is at the top of the stack. That is, the dialog information E3 is popped from the stack. Then, the task output information stored in the buffer BF1 is notified to the task T4 corresponding to the dialog information E2, and thus "minatomirai" is added to the intention information of the dialog information E2. FIG. 17 shows the state of the stack at this time.
[0136]
When the task output information stored in the buffer BF1 is notified, all the conditions of the task T4 are satisfied (step S5). Since the task T4 does not have an operation when all the conditions are achieved, the task output information predetermined for the task T4, that is, “minatomirai” is stored in the buffer BF1 as the “location of the search result”, and the new flag is set. "0" is set (steps S7a, 7b). Since the task corresponding to the task T4 has been achieved, the dialog information corresponding to the task T4, that is, the dialog information E2 is also popped. The stack top is the conversation information E1.
[0137]
Next, in step S2, a notification destination of the task output information currently stored in the buffer BF1 is searched. Since the task output information is information that satisfies the attention condition “acquire a place” of the conversation information E1 in the stack shown in FIG. 18 (step S104 in FIG. 5), the notification destination is the conversation information E1 on the stack top. (Step S3).
[0138]
Since the task output information stored in the buffer BF1 is notified to the task T2 corresponding to the conversation information E1, "minatomirai" is added to the intention information of the conversation information E1.
[0139]
When the task output information stored in the buffer BF1 is notified, all the conditions of the task T2 are satisfied (step S5). Therefore, the dialog information of the task T2 included in the task T1 is deleted from the dialog information E1. For example, in this case, “destination location” and “acquire location” are deleted from the name and attention condition of the conversation information E1. FIG. 19 shows the state of the stack at this time.
[0140]
Since the transition to the task T3 is determined in advance in the task T2 as the operation when all conditions are achieved, the task T2 transitions to the task T3 (step S6). Then, the task output information predetermined in the task T4, that is, “minatomirai” is stored in the buffer BF1 as the “location of the search result”, and the new flag is set to “0” (steps S7a and 7b). ).
[0141]
Since the task T3 is a task included in the task T1, when transitioning to the task T3 (step S8), "destination approval" which is the name of the task T3 is added to the name of the conversation information E1 (step S8). S4). Since the condition "consent to the searched place" for achieving the task of task T3, that is, the user's consent to the searched place has not been obtained yet (step S5), the attention condition of the conversation information E1 includes the task The condition of T3, "Consent to the searched place" is set (step S9). Then, an operation corresponding to the attention condition is executed (step S10). By executing this operation, "Do you want to set this as a destination?" Is output to the user, and the position of "minatomirai" is displayed on the map. Since there is no load processing in the "operation" field, the processing is terminated here and the input from the user is waited. FIG. 20 shows the state of the stack at this point.
[0142]
(6) Sixth remark: It is assumed that "yes" is input to the natural
[0143]
It is assumed that the interpretation result of the natural
[0144]
First, the utterance information "permission" is stored in the buffer BF1, and the new flag is set to "1" (step S0, step S1). In step S2, a notification destination is searched. Here, since the comment information satisfies the attention condition of the conversation information E1 at the top of the stack in FIG. 20 (step S104 in FIG. 5), the task to which the conversation information is notified is the task T3. Therefore, the statement information “consent” stored in the buffer BF1 is written in the intention information of the conversation information E1 corresponding to the task T3 (step S4). Since all the conditions for achieving the task of the task T3 are satisfied by this intention information, that is, the consent to the searched place has been obtained (step S5), all of the predetermined tasks T3 have been set. The operation at the time of condition achievement is executed (step S6). Executing this all-conditions-fulfilled action will give the accepted location an accepted flag (designated "destOK"). Since the task output information predetermined for the task T3 is the “location of the search result”, the accepted location provided with the accepted flag, which is the result of the operation when all the conditions are achieved, that is, “minatomirai ( "destOK)" is stored in the buffer BF1 as task output information, and the new flag is set to "0" (steps S7a and S7b). Since the task of the task T3 has been achieved, the conversation information corresponding to the task T3 is deleted from the stack. For example, in this case, “destination approval” and “acceptance for the searched place” are deleted from the name and attention information of the conversation information E1. In the operation at the time of achieving all the conditions, since there is no load process, the process proceeds to step S2. FIG. 21 shows the state of the stack at this time.
[0145]
The information currently stored in the buffer BF1 is the accepted location given the accepted flag, which is the task output information of the task T3, that is, “minatomirai (destOK)”. Since this task output information is information that satisfies the attention condition “destination approved place” of the conversation information E1 in the stack shown in FIG. 21 (step S104 in FIG. 5), the notification destination is the conversation information E1. The task becomes the corresponding task T1 (step S3). Since the task output information stored in the buffer BF1 is notified to the task T1 corresponding to the dialog information E1, "minatomirai (destOK)" is added to the intention information of the dialog information E1. FIG. 22 shows the state of the stack at this time.
[0146]
When the task output information stored in the buffer BF1 is notified, all the conditions of the task T1 are satisfied (step S5), and the operation at the time of achieving all the conditions predetermined for the task T1 is executed (step S6). ). When the operation at the time of achieving all the conditions is executed, the route calculation to the accepted location “minatomirai” is performed. Since the task output information predetermined for the task T1 is “route information”, the route information up to “minatomirai”, which is the calculation result of the operation when all conditions are achieved, is stored in the buffer BF1 as task output information. The new flag is set to "0" (step S7a, step S7b). Since the task of the task T1 has been achieved, the conversation information E1 corresponding to the task T1 is popped from the stack. In this case, the stack is empty.
[0147]
Since the load operation is not performed in the operation when all the conditions of the task T1 are satisfied, the process proceeds to step S2. However, since the stack is empty (step S101 in FIG. 4), it is determined that there is no notification destination. Further, since the new flag is "0" (step S13), the input wait state for the user is entered.
[0148]
(7) In the state where the stack is as shown in FIG. 20, when "Do you want to set this as the destination?" Is output, the sixth remark: the user changes the place instead of "Yes". For this purpose, it is assumed that a seventh statement: "At Yamashita Park" is stated, and this is input to the natural
[0149]
It is assumed that the interpretation result of the natural
[0150]
First, in the buffer BF1, utterance information "location search by registered name: Yamashita Park" is stored, and a new flag is set to "1" (step S0, step S1). In step S2, a notification destination is searched for. A task that satisfies at least one of all conditions or a plurality of conditions for solving the problem by using the statement information “location search by registered name: Yamashita Park” There is no dialog information of the same type as the intention information (step S104 to step S106, step S109). Therefore, there is no task as a notification destination in the stack. In this case, since the new flag is “1” (step S13), the task corresponding to the statement information, that is, the task T7 having the name “location search by registered name” included in the statement information is planned. Select from the
[0151]
Since the task T7 is called in response to the comment information “location search by registered name: Yamashita Park”, the current purpose of the dialogue of the user is “location search by registered name of Yamashita Park”. As shown in FIG. 23, the information is written in the conversation information E5 (step S4). FIG. 23 shows the stack at this time.
[0152]
Here, since the statement information written as the intention information in the conversation information E5 satisfies all the conditions for solving the task of the task T7, that is, since the registered name has been acquired (step S5), it is determined in advance in the task T7. The operation at the time of achieving all the conditions is executed (step S6). When the operation at the time of achieving all the conditions is executed, a location having a registered name of “Yamashita Park” (here, expressed as “yamashita-park”) is searched. Since the task output information predetermined for the task T7 is “location of search result”, “yamashita-park” which is the search result of the operation when all conditions are achieved is stored in the buffer BF1 as task output information. The new flag is set to "0" (step S7a, step S7b). Since the task of the task T7 has been achieved, the conversation information E5 corresponding to the task T7 is popped from the stack.
[0153]
Next, in step S2, a search is made for a notification destination of the task output information “yamashita-park” currently stored in the buffer BF1. In the process of step S2, when the "target task" is the task T3 corresponding to the dialogue information E1, the task output information does not indicate the permission of the user to satisfy the condition of the task T3, but has the same kind of intention. Since this is not the case (steps S104 to S106 and S109 in FIG. 5), the process proceeds to step S110 in FIG. The task T1 including the task T3 is referred to as a “target task”. The process proceeds to step S106 via steps S104 and S105. Here, all the conditions of the tasks T2 and T3 included in the operation related to the condition “approved place” corresponding to the task T1 in the attention condition of the conversation information E1 are checked.
[0154]
Then, since the task output information satisfies all the conditions “acquire a place” of the task T2, the task T2 is set as the “target task” (step S107), and the notification destination is determined to be the task T2 (step S108).
[0155]
In this case, the name of the dialogue information E1 is "destination setting-destination location setting", and the task output information stored in the buffer BF1 is notified to the task T2 corresponding to the dialogue information E1. Is rewritten to “yamashita-park” instead of “minatomirai”. When the task output information is notified to the task T2 corresponding to the dialog information E1 stored in the buffer BF1, all the conditions of the task T2 are satisfied (step S5). Therefore, the dialog information of the task T2 included in the task T1 is deleted from the dialog information E1. For example, in this case, "destination location" is deleted from the name of the conversation information E1. FIG. 24 shows the state of the stack at this time. At this stage, “yamashita-park” was obtained as the location of the search result.
[0156]
The state of the stack shown in FIG. 24 is the same as the state of the stack shown in FIG. In the same manner as described above, the subsequent processing operation transits to task T3, obtains consent for the location of the search result, returns to task T1, performs route calculation, and outputs the result.
[0157]
Next, the detailed operation of the
[0158]
When the stack is in the state shown in FIG. 13, it is assumed that the eighth statement: “Kawasaki City” is input to the natural
"Permission (Yes)" (920)
"Kagawa Prefecture" (900)
"Kawasaki City" (880)
Note that “()” is a score given to the candidate (determined at the time of speech recognition).
[0159]
First, considering the candidate "permission", in step S103, the dialog information E4 is set for the "target stack", and the task T6 is set for the "target task". In any of step S104, step S105, step S106, and step S109, since the condition of the task "location search by address" is not satisfied by "permission", the process proceeds to step S110.
[0160]
Since the task including the task “location search by address” does not exist in the conversation information E3, the process proceeds to step S101, and the conversation information E2 is set in the “target stack”. Similarly, the task “location search” has no condition that is satisfied by “permission”, and the process proceeds to step S101 again to set the dialog information E1 in the “target stack”. In this case, “destination location setting” of the task T2 is initially set as the “target task” in step S103, but since there is no condition that is satisfied by “permission” in this task, the process proceeds to step S110. . Since the task T2 is included in the task T1, the task T1 “destination setting” is set as the “target task”, and the process proceeds to step S104. The process proceeds from step S104 to step S106 via step S105.
[0161]
In step S106, all the conditions of the tasks T2 and T3 included in the operation related to the attention condition “approved place” related to the task T1 are checked. Then, the task T3 “destination approval” is waiting for the user's permission, but is not satisfied because the resolved place has not been notified, and finally, the notification destination of “permission” cannot be found. Therefore, the score of the candidate “permitted” is “870”. Alternatively, if the task corresponding to “permission” is not defined, the new task cannot be loaded and is rejected.
[0162]
When the candidate “Kagawa Prefecture” is examined, in step S101, the conversation information E3 is set in the “target stack”. In the determination in step S104, since this candidate does not satisfy the attention condition “acquire municipalities”, the process proceeds to step S105. Also in step S105, since "Kagawa prefecture" is information of only prefectures, it is determined that all the conditions are not satisfied, so the process proceeds to step S106. In step S106, since there is no nested task in the operation corresponding to the condition "acquire municipalities", there is no task that satisfies the nested task. Therefore, the process proceeds to step S109. In step S1009, the candidate “Kagawa Prefecture” and the intention information “Kanagawa Prefecture” of the target stack are determined to be the same type of information, that is, the same address designation intention, so the notification destination corresponds to the dialog information E3. Task T6 to be performed. At this time, 30 points are subtracted from the score obtained by the natural
[0163]
Subsequently, for the candidate “Kawasaki City”, the dialog information E3 is set in the “target stack” in step S101. In the determination in step S104, since “Kawasaki City” satisfies the attention condition “acquire municipalities”, the notification destination is determined to be the task T6 corresponding to the conversation information E3. At this time, the score of "Kawasaki City" remains at 880 points without deduction from the score obtained by the natural
[0164]
As a result of recalculating the score in consideration of the notification destination to the stack in this manner, the candidate “Kawasaki City” is adopted as the speech information as the user input. This can be said to be a selection that takes into account the situation where the system is inquiring about "city name". As described above, since the
[0165]
Thus, according to the
[0166]
Note that the present invention is not limited to the above embodiments. Although the plan managed by the dialog
[0167]
Note that, in the above-described example, the description is made as if implemented in the form of a car navigation system. However, these dialogue management methods are not limited to the above-described embodiment. The embodiment of the present invention is not limited to this. For example, the embodiment can be implemented by a tourist guide system or the like, and such an embodiment is also within the scope of the present invention. As described above, the embodiments of the present invention can be variously modified from the above-described examples, and they are also within the scope of the embodiments of the present invention unless they are contrary to the gist.
[0168]
As described above, according to the embodiment, when a task to be solved by the statement information obtained in the dialogue with the user is deleted from the stack, and task output information obtained as a result of solving the task is obtained, the task output information is stored in the stack. After the first task is stored in the stack, the task related to the task output information (herein referred to as the first task) is used (set) for the next conversation purpose. The assigned task is deleted from the stack, and the first task is set as the stack top. That is, when one problem is solved by the dialogue, as a result of the solution of the problem, the unnecessary problem which is no longer required as the purpose of the dialogue is searched based on the task output information of the solved problem, and the stack is searched. Remove from. Therefore, after one problem is solved, there is no longer a need to interact with a similar problem or a similar problem for the purpose of conversation, so that redundant and unnatural conversation can be avoided.
[0169]
Also, at least one condition for determining that one of the tasks stored in the stack (herein referred to as a first task) has been solved by the statement information obtained in the dialogue with the user. Then, it is determined that the first task is a task related to the utterance information, the task stored in the stack after the first task is deleted from the stack, and the first task is set to the conversation purpose. By setting to, when the purpose of the dialogue is changed by the user's intention, the purpose of the dialogue can be changed without a sense of incongruity. Can be avoided.
[0170]
(Second embodiment)
In the first embodiment, after the task is achieved, the destination of the output of the task (task output information) is searched for and the dialogue is advanced. However, the present invention is not limited to this case, and a new task is called. At this time, the notification destination of the task output information of the task may be predicted in advance. Therefore, as a second embodiment, when dialog information corresponding to a new task is stored in the stack, the dialog information is recorded in the stack based on task output information associated with the task. An interactive device that searches (predicts) a notification destination of task output information of a new task when a new task has been achieved from among tasks will be described.
[0171]
The configuration of the dialogue device according to the second embodiment is the same as the configuration of the dialogue device according to the first embodiment (see FIG. 1), and the operation of the dialogue
[0172]
The above two points are different from those of the first embodiment, and the different points will be mainly described below.
[0173]
FIG. 26 shows an example of the state of the stack according to the second embodiment, which corresponds to the state of the stack shown in FIG. 13 of the first embodiment.
[0174]
As shown in FIG. 26, each dialogue information corresponds to the task used for the dialogue by the dialogue
[0175]
A "notification possibility" field is newly added to each piece of dialog information in FIG.
[0176]
The “notifiability” field of each piece of dialog information indicates a task that outputs the task output information when it is estimated that there is a possibility of a notification destination of the output of the dialog information (task output information) at the upper level. The fields to enumerate.
[0177]
In the stack shown in FIG. 26, according to the description of the “notifiability” field of the conversation information E2, the “location search” task T4 of the conversation information E2 includes the “location search by address” task corresponding to the conversation information E3. It is understood that it is estimated that the task output information of T6 is notified. Further, according to the description of the “notifiability” field of the dialog information E1, the “destination and place setting” task T2 of the dialog information E1 includes the task output information of the “location search” task T4 corresponding to the dialog information E2. It is understood that it is estimated that is notified. On the other hand, in the dialogue information E3, since there is no dialogue information in the upper stage, the “notifiability” field is empty. When multiple pieces of conversation information exist in the upper row and they are notified to the same conversation information, the plurality of pieces of conversation information are listed in the “possibility of notification” field.
[0178]
When loading a task, the dialog
[0179]
The transition is also a procedure for calling a new task, as described above. However, a new task is loaded so as to change the task used for the current conversation purpose. When the task name of the transition source is written in the “notifiability” field of the lower dialog information, the name of the task before the transition is added to the “notifiability” field of the dialog information. If the current task has been notified, the current task is notified to the conversation information. This is a procedure that is called when the conversation goes on in the order and the topic goes on next.
[0180]
FIG. 25 is a flowchart for explaining the entire processing operation of the dialog
[0181]
In step S2, a search is made for a notification destination of the utterance information stored in the buffer BF1. This notification destination search processing is the same as in FIGS.
[0182]
In step S301, it is checked whether there is a notification destination of the utterance information or the task output information stored in the buffer BF1. If there is a notification destination obtained in step S2 or the name of the task at the output source of the task output information is described below the conversation information corresponding to the task at the output source of the task output information, Search for dialogue information with a "possible" field. If there is a notification destination, the process proceeds to step S4; otherwise, the process proceeds to step S13.
[0183]
Next, as a specific example of the second embodiment, portions different from the specific example of the first embodiment will be described.
[0184]
(1) First remark: When “set a destination” is input to the natural
[0185]
In the same manner as described above, the task T4 is called (loaded) from the task T2, and the conversation information E2 corresponding to the task T4 is stored in the stack (Step S10). At this time, since the task T4 is called from the task T2 corresponding to the conversation information E1, the task output information of the task T4 is notified to the task T2 corresponding to the conversation information E1. Therefore, the “location search” task of the task T4 is added to the “notifiability” field of the interaction information E1. Since the task T4 is notified of "location search" stored in the buffer BF1, "location search" is written as the intention information of the dialog information E2 (step S4). FIG. 28 shows the state of the stack at this stage. Thereafter, in the same manner as described above, the target condition is selected, and the operation corresponding to the target condition is executed. FIG. 29 shows the state of the stack at this time.
[0186]
(2) When the stack is in the state shown in FIG. 29, it is assumed that a second statement: “search by address” is input to the natural
[0187]
In the operation when all the conditions are achieved, the "location search by address" task T6 is loaded, and as shown in FIG. 30, the conversation information E3 corresponding to the task T6 is pushed onto the stack (the conversation information E3 is the conversation information E3). Stacked on the information E2). At this time, since the task T6 has been loaded from the conversation information E2, the “location search by address” task T6 is added to the “notifiability” field of the conversation information E2.
[0188]
(3) Thereafter, in the same manner as described above, it is assumed that the third input: “Kanagawa Prefecture” is input and the stack is in a state as shown in FIG.
[0189]
(4) When the stack is in the state of FIG. 31, it is assumed that a fourth statement: “After all, with a registered name” is input to the natural
[0190]
(5) Fifth remark: It is assumed that "Minato Mirai" is input to the natural
[0191]
When the task output information “minatomirai” is notified to the “location search” task T4 corresponding to the conversation information E2, the conversation information E3 is popped from the stack by clearing. Further, since the condition of the “location search” task T4 is satisfied, the operation when all the conditions are achieved is executed, and “minatomirai” is output as the task output information. When this notification destination is searched in step S301, the "location search" task T2 has been added to the "notifiability" field of the dialog information E1, so that the task output information is notified to the task T2 of the dialog information E1. Is done. Then, the task of the task T2 is solved, and the operation at the time of achieving all the conditions of the task T2 is executed. Further, the conversation information corresponding to the task T2 whose problem has been solved in this way is deleted from the stack in the same manner as described above. FIG. 33 shows the state of the stack at this time.
[0192]
Since the transition to the task T3 is predetermined as the operation when all the conditions are achieved, the “destination approval” task T3 is loaded. The task output information of the task T3 is the searched and approved place. When the notification destination of the task output information is searched according to the notification destination search processing shown in FIGS. 4 and 5, the task output information satisfies the condition of the “destination setting” task T1 of the dialog information E1. A "destination approval" task T3 is added to the "notification possibility" field of the information E1. FIG. 34 shows the state of the stack at this time.
[0193]
(6) Sixth remark: When "yes" is input, the task of task T3 is solved in the same manner as described above. It notifies the task T1 estimated in advance as the information notification destination. Further, the dialog information corresponding to the task T3 is also deleted as described above. Since the task of the task T1 has also been achieved, the conversation information E1 corresponding to the task T1 is popped, but the stack becomes empty. Therefore, since there is no notification destination of the task output information of the task T1, the input waits here. FIG. 35 shows the state of the stack at this time.
[0194]
(7)) In the state where the stack is as shown in FIG. 34, when "Do you want to set this as the destination?" Is output, the sixth remark: the user changes the location instead of "Yes" It is assumed that a seventh statement: “At Yamashita Park” is intended to be performed, and this is input to the natural
[0195]
It is assumed that the interpretation result of the natural
[0196]
At this time, the notification destination of the task output information of the task T7 is searched. 4 and 5, “destination location setting” of task T2 included in task T1 corresponding to interaction information E1 is obtained as a notification destination. Therefore, “location search by registered name” of task T7 is added to the “notifiability” field of the dialog information. It is the same as described above that the utterance information is written in the intention information of the conversation information E5. FIG. 36 shows the state of the stack at this time.
[0197]
Now, since the statement information written as the intention information in the dialogue information E5 satisfies all the conditions for solving the task of the task T7, that is, since the registered name has been acquired (step S5), it is determined in advance in the task T7. The operation at the time of achieving all the conditions is executed (step S6). When the operation at the time of achieving all the conditions is executed, a location having a registered name of “Yamashita Park” (here, expressed as “yamashita-park”) is searched. Since the task output information predetermined for the task T7 is “location of search result”, “yamashita-park” which is a search result of the operation when all the conditions are achieved is output as task output information. The notification destination of this task output information is the conversation information E1 from the description in the “possibility of notification” field. More specifically, the task T2 is included in the task T1.
[0198]
That is, since the task T2 exists as the notification destination, the name of the dialogue information E1 is "destination setting-destination location setting", and the task output information stored in the buffer BF1 corresponds to the task corresponding to the dialogue information E1. Since T2 is notified, the intention information of the dialog information E1 is rewritten to "yamashita-park" instead of "minatomirai". When the task output information is notified to the task T2 corresponding to the dialog information E1 stored in the buffer BF1, all the conditions of the task T2 are satisfied (step S5). Therefore, information about the task T2 included in the task T1 is deleted from the conversation information E1. That is, in this case, "destination location" is deleted from the name of the conversation information E1. FIG. 37 shows the state of the stack at this time. At this stage, “yamashita-park” was obtained as the location of the search result.
[0199]
As described above, according to the second embodiment, when the conversation information corresponding to the new task (task) is stored in the stack, the notification destination of the task output information of the new task is set as the conversation information in the stack. Search from stored tasks. Then, when the new problem is actually solved, the task output information is notified to the previously searched task, and the task is used for the purpose of dialogue, thereby achieving the same effect as in the first embodiment. Play. The difference from the first embodiment is when to search for a notification destination of task output information. In the case of the first embodiment, the task output information is actually output. In the case of the form, it is when the task is called and the interaction information is stored on the stack.
[0200]
In the second embodiment, the task that outputs the received task output information is written in the notified destination field on the task output information receiving side. However, the present invention is not limited to this. For example, a “notification destination field” may be provided for each piece of conversation information to manage the notification destination from the notifying side, or to store tasks on both the notified side and the notifying side. Any method may be used as long as the notification destination is dynamically determined in consideration of the output.
[0201]
As described above, according to the first and second embodiments, the return destination when a certain task is interrupted and shifted to a new task is set as a result of the dialogue using the new task as a dialogue purpose. In response (by returning to the task associated with the task output information of the solved task), a flexible decision can be made.
[0202]
Even if the dialog using one task as the purpose of the conversation is interrupted (without solving the task) and changed to another task by the user's intention, after the other task is solved, Since a conversation related to another task or a similar task is not performed for the purpose of the conversation, redundant and unnatural conversation can be avoided.
[0203]
Even if it is determined that the topic is changed, the topic can be interrupted without determining the return destination topic in advance, and even if the topic contributes to the original topic, it can be properly restored to the original topic it can. In addition, it is possible to execute a candidate selection in consideration of a dialogue situation at the time of a user's input.
[0204]
The method of the present invention described in the embodiment of the present invention can be implemented as a program that can be executed by a computer, such as recording a magnetic disk (floppy disk, hard disk, etc.), an optical disk (CD-ROM, DVD, etc.), a semiconductor memory, or the like. It can also be stored in a medium and distributed.
[0205]
Note that the present invention is not limited to the above-described embodiment, and can be variously modified in an implementation stage without departing from the gist of the invention. Furthermore, the above embodiments include inventions at various stages, and various inventions can be extracted by appropriate combinations of a plurality of disclosed configuration requirements. For example, even if some components are deleted from all the components shown in the embodiments, at least one of the problems described in the column of the problem to be solved by the invention can be solved, and the effect of the invention can be solved. In the case where the effect described in (1) is obtained (at least one), a configuration from which this component is deleted can be extracted as an invention.
[0206]
【The invention's effect】
As described above, according to the present invention, when a dialogue is performed according to a plurality of predetermined tasks for achieving a predetermined object, when a certain task is interrupted and a new (another) task is transferred, The next task can be flexibly determined according to the result of the dialogue with the new task.
[Brief description of the drawings]
FIG. 1 is an exemplary view showing a configuration example of a dialogue device according to an embodiment of the present invention.
FIG. 2 is a view for explaining plans stored in a plan storage unit.
FIG. 3 is a flowchart illustrating a processing operation of a dialog stack operation unit.
FIG. 4 is a flowchart for explaining a notification destination search processing operation among processing operations of a dialog stack operation unit.
FIG. 5 is a flowchart for explaining a notification destination search processing operation among processing operations of a dialog stack operation unit.
FIG. 6 is a diagram showing a state of a stack.
FIG. 7 is a diagram showing a state of a stack.
FIG. 8 is a diagram showing a state of a stack.
FIG. 9 is a diagram showing a state of a stack.
FIG. 10 is a diagram showing a state of a stack.
FIG. 11 is a diagram showing a state of a stack.
FIG. 12 is a diagram showing a state of a stack.
FIG. 13 is a diagram showing a state of a stack.
FIG. 14 is a diagram showing a state of a stack.
FIG. 15 is a diagram showing a state of a stack.
FIG. 16 is a diagram showing a state of a stack.
FIG. 17 is a diagram showing a state of a stack.
FIG. 18 is a diagram showing a state of a stack.
FIG. 19 is a diagram showing a state of a stack.
FIG. 20 is a diagram showing a state of a stack.
FIG. 21 is a diagram showing a state of a stack.
FIG. 22 is a diagram showing a state of a stack.
FIG. 23 is a diagram showing a state of a stack.
FIG. 24 is a diagram showing a state of a stack.
FIG. 25 is a flowchart for explaining another processing operation of the dialog stack operation unit.
FIG. 26 is a diagram for explaining information stored as conversation information.
FIG. 27 is a diagram showing a state of a stack.
FIG. 28 is a diagram showing a state of a stack.
FIG. 29 is a diagram showing a state of a stack.
FIG. 30 is a diagram showing a state of a stack.
FIG. 31 is a diagram showing a state of a stack.
FIG. 32 is a diagram showing a state of a stack.
FIG. 33 is a diagram showing a state of a stack.
FIG. 34 is a diagram showing a state of a stack.
FIG. 35 is a diagram showing a state of a stack.
FIG. 36 is a diagram showing a state of a stack.
FIG. 37 is a diagram showing a state of a stack.
[Explanation of symbols]
DESCRIPTION OF
Claims (17)
前記複数の課題のうち、ユーザとの対話目的に選択した未解決課題を選択順に記憶手段に記憶する第1のステップと、
前記記憶手段に最後に記憶された未解決課題を対話目的に使用して、第1の情報を得る第2のステップと、
前記第1の情報により前記記憶手段に記憶された第1の未解決課題を解決して、第2の情報を得る第3のステップと、
解決された前記第1の未解決課題を前記記憶手段から削除する第4のステップと、
前記記憶手段に記憶された、前記第2の情報に関連する第2の未解決課題を前記第2のステップで次の前記対話目的に使用するために、前記第2の未解決課題の後に対話目的に選択した未解決課題を前記記憶手段から削除する第5のステップと、
を有することを特徴とする対話方法。An interaction method for interacting with a user to solve a plurality of problems for achieving a predetermined purpose,
A first step of, among the plurality of tasks, storing unresolved tasks selected for the purpose of interacting with the user in the storage unit in the order of selection;
A second step of obtaining the first information by using the unresolved task last stored in the storage means for the purpose of dialogue;
A third step of solving a first unresolved problem stored in the storage means with the first information and obtaining second information;
A fourth step of deleting the solved first unsolved problem from the storage means;
The dialogue after the second unresolved task is used for using the second unresolved task related to the second information stored in the storage means for the next conversational purpose in the second step. A fifth step of deleting the unresolved issues selected for the purpose from the storage means;
An interactive method, comprising:
前記記憶手段に、前記第1の情報に関連する第3の未解決課題が記憶されていないとき、前記複数の課題のうちの前記第1の情報に関連する新たな課題を前記未解決課題として、前記第2のステップで次の前記対話目的に使用するために前記記憶手段に記憶する第7のステップと、
をさらに有したことを特徴とする請求項1記載の対話方法。When the first unresolved problem solved by the first information is not stored in the storage unit, a third unresolved problem related to the first information is stored in the second step. A sixth step of deleting, from the storage means, the unresolved issues selected for the dialogue purpose after the third unresolved task for use for the dialogue purpose of the above;
When a third unresolved issue related to the first information is not stored in the storage unit, a new issue related to the first information among the plurality of issues is set as the unresolved issue. A seventh step of storing in said storage means for use in the second step for the next said interactive purpose;
The interactive method according to claim 1, further comprising:
ユーザの入力から推定される前記第1の情報の候補が複数与えられた場合に、当該複数の候補のうち、前記記憶手段に記憶された未解決課題のうちの前記対話目的に使用した使用順が後にある未解決課題に関連する候補を優先して、前記第1の情報として選択することを特徴とする請求項1記載の対話方法。The second step is
When a plurality of candidates for the first information estimated from the user's input are given, the order of use of the unresolved issues stored in the storage means for the purpose of the dialogue among the plurality of candidates The method according to claim 1, wherein the first information is selected as the first information by giving priority to a candidate relating to an unresolved task that comes after the priority.
前記第5のステップは予め求められた前記第2の未解決課題を前記第2のステップで次の前記対話目的に使用することを特徴とする請求項1記載の対話方法。When the first unresolved task selected for the dialogue purpose in the first step is stored in the storage unit, the second information obtained when the first unresolved task is solved is estimated. An eighth step of previously obtaining the second unresolved issue based on this,
The interactive method according to claim 1, wherein in the fifth step, the second unsolved task obtained in advance is used for the next interactive purpose in the second step.
前記複数の課題のうち、ユーザとの対話目的に選択した未解決課題を選択順に記憶する記憶手段と、
前記記憶手段に最後に記憶された未解決課題を対話目的に使用して、第1の情報を得る第1の手段と、
前記第1の情報により前記記憶手段に記憶された第1の未解決課題を解決して、第2の情報を得る第2の手段と、
解決された前記第1の未解決課題を前記記憶手段から削除する第3の手段と、
前記記憶手段に記憶された、前記第2の情報に関連する第2の未解決課題を前記第1の手段で次の前記対話目的に使用するために、前記第2の未解決課題の後に対話目的に選択した未解決課題を前記記憶手段から削除する第4の手段と、
を具備したことを特徴とする対話装置。A dialogue device for performing a dialogue with a user to solve a plurality of problems for achieving a predetermined purpose,
Storage means for storing, among the plurality of tasks, unresolved tasks selected for the purpose of interacting with the user in the order of selection;
First means for obtaining first information by using the unresolved task lastly stored in the storage means for interactive purposes;
A second means for solving the first unresolved problem stored in the storage means by the first information and obtaining second information;
Third means for deleting the solved first unsolved problem from the storage means;
A dialogue after the second unresolved task, wherein the second unresolved task related to the second information stored in the storage means is used by the first means for the next conversational purpose. Fourth means for deleting the unresolved issues selected for the purpose from the storage means;
An interactive device, comprising:
前記記憶手段に、前記第1の情報に関連する第3の未解決課題が記憶されていないとき、前記複数の課題のうちの前記第1の情報に関連する新たな課題を前記未解決課題として、前記第1の手段で次の前記対話目的に使用するために前記記憶手段に記憶する第6の手段と、
をさらに具備したことを特徴とする請求項9記載の対話装置。When the first unresolved problem solved by the first information is not stored in the storage unit, a third unresolved problem related to the first information is stored in the first unit. Fifth means for deleting, from the storage means, the unresolved issues selected for the dialogue purpose after the third unresolved task for use for the dialogue purpose of
When a third unresolved issue related to the first information is not stored in the storage unit, a new issue related to the first information among the plurality of issues is set as the unresolved issue. Sixth means for storing in said storage means for use by said first means for the next said interaction purpose;
The interactive device according to claim 9, further comprising:
ユーザの入力から推定される前記第1の情報の候補が複数与えられた場合に、当該複数の候補のうち、前記記憶手段に記憶された未解決課題のうちの前記対話目的に使用した使用順が後にある未解決課題に関連する候補を優先して、前記第1の情報として選択することを特徴とする請求項9記載の対話装置。The first means includes:
When a plurality of candidates for the first information estimated from the user's input are given, the order of use of the unresolved tasks stored in the storage unit used for the dialogue purpose among the plurality of candidates 10. The interactive apparatus according to claim 9, wherein a candidate related to an unresolved task that comes after is preferentially selected as the first information.
前記第4の手段は予め求められた前記第2の未解決課題を前記第1の手段で次の前記対話目的に使用することを特徴とする請求項9記載の対話装置。When the first unresolved task selected for the dialogue purpose is stored in the storage unit, the second information obtained when the first unresolved task is solved is estimated, and based on this, Further comprising a seventh means for determining the second unresolved problem,
10. The interactive apparatus according to claim 9, wherein the fourth means uses the second unresolved task obtained in advance for the next interactive purpose by the first means.
コンピュータに、
前記複数の課題のうち、ユーザとの対話目的に選択した未解決課題を選択順に記憶手段に記憶する第1のステップと、
前記記憶手段に最後に記憶された未解決課題を対話目的に使用して、第1の情報を得る第2のステップと、
前記第1の情報により前記記憶手段に記憶された第1の未解決課題を解決して、第2の情報を得る第3のステップと、
解決された前記第1の未解決課題を前記記憶手段から削除する第4のステップと、
前記記憶手段に記憶された、前記第2の情報に関連する第2の未解決課題を前記第2のステップで次の前記対話目的に使用するために、前記第2の未解決課題の後に対話目的に選択した未解決課題を前記記憶手段から削除する第5のステップと、
を実行させるプログラム。A program for interacting with a user to solve a plurality of problems for achieving a predetermined purpose,
On the computer,
A first step of, among the plurality of tasks, storing unresolved tasks selected for the purpose of interacting with the user in the storage unit in the order of selection;
A second step of obtaining the first information by using the unresolved task last stored in the storage means for the purpose of dialogue;
A third step of solving a first unresolved problem stored in the storage means with the first information and obtaining second information;
A fourth step of deleting the solved first unsolved problem from the storage means;
The dialogue after the second unresolved task is used for using the second unresolved task related to the second information stored in the storage means for the next conversational purpose in the second step. A fifth step of deleting the unresolved issues selected for the purpose from the storage means;
A program that executes
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002382382A JP3898640B2 (en) | 2002-12-27 | 2002-12-27 | Dialogue method, dialogue apparatus, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002382382A JP3898640B2 (en) | 2002-12-27 | 2002-12-27 | Dialogue method, dialogue apparatus, and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004212664A true JP2004212664A (en) | 2004-07-29 |
JP3898640B2 JP3898640B2 (en) | 2007-03-28 |
Family
ID=32817957
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002382382A Expired - Fee Related JP3898640B2 (en) | 2002-12-27 | 2002-12-27 | Dialogue method, dialogue apparatus, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3898640B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8041574B2 (en) | 2006-09-29 | 2011-10-18 | Kabushiki Kaisha Toshiba | Dialog apparatus, dialog method, and computer program |
-
2002
- 2002-12-27 JP JP2002382382A patent/JP3898640B2/en not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8041574B2 (en) | 2006-09-29 | 2011-10-18 | Kabushiki Kaisha Toshiba | Dialog apparatus, dialog method, and computer program |
Also Published As
Publication number | Publication date |
---|---|
JP3898640B2 (en) | 2007-03-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9805722B2 (en) | Interactive speech recognition system | |
US20120239399A1 (en) | Voice recognition device | |
JP5697860B2 (en) | Information search device, information search method, and navigation system | |
JPH11249686A (en) | Information analytical method and medium storing information analytical program | |
JP2006004274A (en) | Interactive processing device, interactive processing method, and interactive processing program | |
US10109273B1 (en) | Efficient generation of personalized spoken language understanding models | |
JP2022530284A (en) | Context bias for speech recognition | |
JP2008203559A (en) | Interaction device and method | |
US20080235004A1 (en) | Disambiguating text that is to be converted to speech using configurable lexeme based rules | |
JP5187128B2 (en) | SEARCH DEVICE, SEARCH METHOD, AND PROGRAM | |
US8315869B2 (en) | Speech recognition apparatus, speech recognition method, and recording medium storing speech recognition program | |
JP2001022779A (en) | Interactive information retrieval device, method for interactive information retrieval using computer, and computer-readable medium where program performing interactive information retrieval is recorded | |
JP4724051B2 (en) | Keyword generation method, document search method, topic range estimation method, topic boundary estimation method, apparatus and program thereof, and recording medium thereof | |
JP6896335B2 (en) | Speech recognition device and speech recognition method | |
CN103918027B (en) | Effective gradual modification of the optimum Finite State Transformer (FST) in voice application | |
CN101937451A (en) | Name search device | |
JP3898640B2 (en) | Dialogue method, dialogue apparatus, and program | |
CN110874201B (en) | Interactive method, device, storage medium and operating system | |
JP4486413B2 (en) | Voice dialogue method, voice dialogue apparatus, voice dialogue program, and recording medium recording the same | |
JP2009282835A (en) | Method and device for voice search | |
JP4095577B2 (en) | Dialogue device, voice dialogue device, dialogue program, voice dialogue program, and recording medium | |
JP4223841B2 (en) | Spoken dialogue system and method | |
JP2001101000A (en) | Device and method for natural language conversation | |
US20220115003A1 (en) | Systems and methods for aligning a reference sequence of symbols with hypothesis requiring reduced processing and memory | |
JP2005301138A (en) | Device and program for interaction processing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040609 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060913 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060926 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061127 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20061219 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20061221 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110105 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120105 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130105 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |