JP2008243048A - 対話装置、対話方法及びプログラム - Google Patents
対話装置、対話方法及びプログラム Download PDFInfo
- Publication number
- JP2008243048A JP2008243048A JP2007085710A JP2007085710A JP2008243048A JP 2008243048 A JP2008243048 A JP 2008243048A JP 2007085710 A JP2007085710 A JP 2007085710A JP 2007085710 A JP2007085710 A JP 2007085710A JP 2008243048 A JP2008243048 A JP 2008243048A
- Authority
- JP
- Japan
- Prior art keywords
- topic
- information
- dialogue
- response
- main
- 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.)
- Pending
Links
Images
Landscapes
- Machine Translation (AREA)
Abstract
【課題】メイン話題の情報を含めた応答を生成することにより、ユーザが大局的な話題を認識しながら対話を行える対話装置を提供する。
【解決手段】複数の話題のそれぞれに対応し、当該話題をユーザとの対話により解決するための応答手続きを含む複数の対話シナリオを記憶する対話シナリオ記憶手段を備え、ユーザ発話に基づき導入された未解決の各話題の対話進行状況を示す話題情報を、導入された順に時系列に話題情報記憶手段に記憶し、前記話題情報記憶手段に記憶されている最新の話題情報に対応する前記対話シナリオに含まれる前記応答手続きに基づき、前記最新の話題情報よりも古い話題情報と該古い話題情報に対応する前記対話シナリオのうち、前記最新話題情報に対応する話題をサブ話題とするメイン話題の話題情報あるいは対話シナリオから、ユーザへの応答を生成する際に用いる情報を取得し、該情報を用いて前記応答を生成し、出力する。
【選択図】 図1
【解決手段】複数の話題のそれぞれに対応し、当該話題をユーザとの対話により解決するための応答手続きを含む複数の対話シナリオを記憶する対話シナリオ記憶手段を備え、ユーザ発話に基づき導入された未解決の各話題の対話進行状況を示す話題情報を、導入された順に時系列に話題情報記憶手段に記憶し、前記話題情報記憶手段に記憶されている最新の話題情報に対応する前記対話シナリオに含まれる前記応答手続きに基づき、前記最新の話題情報よりも古い話題情報と該古い話題情報に対応する前記対話シナリオのうち、前記最新話題情報に対応する話題をサブ話題とするメイン話題の話題情報あるいは対話シナリオから、ユーザへの応答を生成する際に用いる情報を取得し、該情報を用いて前記応答を生成し、出力する。
【選択図】 図1
Description
本発明は、ユーザ発話を受けて応答を返す対話装置に関する。
近年、音声や自然言語入力を可能とするインタフェースに関する研究が盛んである。また、そのようなインタフェースを用いるエキスパートシステムなどが多数開発され、入力された音声やテキストなどを受理する装置が一般向けにも利用可能となっている。自然言語による入力を行う場合にはユーザはシステムが必要とする全ての条件を一度に入力することは少なく、ユーザとシステムとの間でのやりとりが必要となる。例えばユーザの入力内容に不備がある場合には、システムは、その足りない条件をユーザに問い合わせ、その問い合わせに対するユーザの回答を統合するなどの処理が必要となる。このような処理を行うためにユーザとシステムとの対話処理技術が不可欠である。
このような自然言語入力は、人間にとって普段から慣れている入力方法であるため、特に操作が複雑で大規模なシステムのインタフェースでの利用が望まれている。こういった大規模なシステムでは、全体の目的を達成するために複数の副目的を達成するといった対話が必要となる。このため、対話処理技術ではそれぞれの目的に対応した複数の話題を取り扱う必要があり、同時にこれらの話題を連携させるべく対話進行状況に応じて適切に話題を遷移させる必要がある。
従来の対話技術においては、目的―副目的の呼び出し関係に対応したメイン話題―サブ話題の階層的な話題構造を定義し、対話システムの動作を定める対話シナリオをこの話題構造を考慮して予め定義する方法が提案されている(例えば特許文献1を参照)。この方式では、メイン話題の対話進行中に対話システムが話題構造におけるサブ話題の対話を呼び出し、そのサブ話題の対話結果をメイン話題で利用することが可能となっている。
音声や自然言語による入力は、ボタン等の画面入力とは異なり、ユーザが自由に入力内容を指定することができる。例えば、ユーザによる対話中の翻意や、現在の話題とは無関係な話題の対話を開始するといったことも入力できうる。このような入力に対応するためには、システムが望む情報に関するユーザ入力のみを受理するのではなく、ユーザから自由に対話したい話題を指定でき、かつユーザによって対話に導入された様々な話題を統合して全体の目的を達成するような対話が可能であることが望ましい。
しかしながら、特許文献1の方法では、予め定められた対話シナリオに沿って動作するので、ユーザによる自由な話題の指定に対応するためには対話シナリオの拡充が必要となる。対話シナリオの拡充のためにはユーザによる話題指定を予測しなければならないが、この予測は困難である。
ユーザによる話題の指定に対応できる対話方式として、特許文献2の方法がある。この方法では、メイン話題―サブ話題の階層構造によらず各話題で独立に対話シナリオを定義する。ユーザにより対話する話題が指定された場合は、指定された話題の対話シナリオをシステムが参照して、その話題の対話を割り込ませる。各話題の対話が終了した時には、システムが対話を中断していた話題からその話題の対話結果を利用できる話題を探索し、その探索結果をメイン話題として終了した話題の対話結果を反映させる。この探索処理によって各話題で独立に定義された対話シナリオを連携させた対話進行が可能となっている。
特許第3423296号公報
特開2004−212664号公報
従来は、特許文献2のように、ユーザによる自由な話題の指定に対応し、関連する話題の対話を割り込ませるために各話題で独立の対話シナリオを作成していた。しかしながら、この方式では各話題で独立の対話シナリオを参照して応答を生成するため、応答の内容は各話題に限られた内容となってしまう。例えば、サブ話題の対話中にはメイン話題に関する情報を出力することができなくなる。
メイン話題の情報を含めた応答生成は、ユーザに対して現在の進行状況を伝える重要な情報となりうる。例えば、カーナビゲーションシステムにおける目的地設定の話題の進行方法として、住所による指定(住所検索)を目的地設定のサブ話題として対話する場合を考える。従来方式では、住所検索の話題の対話を開始する段階で、住所検索の対話シナリオのみを参照して応答を出力するため、「住所検索を開始します。」という応答を出力することになる。この応答ではユーザに対して住所検索のメイン話題が何であるかを提示することができない。例えば住所検索をサブ話題としうるメイン話題として経由地設定も存在する場合は、上記のような応答では目的地設定の住所検索なのか経由地設定の住所検索なのかをユーザが把握することは困難である。従って「目的地の住所検索を開始します」や「経由地の住所検索を開始します」といったメイン話題の情報を含めた応答を出力する必要がある。
一方、メイン話題の情報を含めた応答生成をするために、サブ話題の対話シナリオにメイン話題の情報を埋め込んだ対話シナリオを作成すると、メイン話題の個数分だけサブ話題の対話シナリオを作成する必要がある。例えば「目的地設定用の住所検索」「経由地設定用の住所検索」の対話シナリオが必要となる。しかしながら、この対話シナリオは話題のメイン話題―サブ話題の階層構造を予め定めた対話シナリオであり、上述のようにユーザによる自由な話題の指定に対応することが困難となってしまう。
そこで、本発明は上記問題点に鑑み、メイン話題の情報を含めた応答を生成することにより、現在の話題よりも大局的な話題を認識しながら対話が行える対話装置を提供することを目的とする。
対話装置は、複数の話題のそれぞれに対応し、当該話題をユーザとの対話により解決するための応答手続きを含む複数の対話シナリオを記憶する対話シナリオ記憶手段と、前記複数の話題のうち、ユーザ発話に基づき導入された未解決の各話題の対話進行状況を示す話題情報を、導入された順に時系列に記憶する話題情報記憶手段と、前記話題情報記憶手段に記憶されている最新の話題情報に対応する前記対話シナリオに含まれる前記応答手続きに基づき、前記最新の話題情報よりも古い話題情報と該古い話題情報に対応する前記対話シナリオのうち、前記最新話題情報に対応する話題をサブ話題とするメイン話題の話題情報あるいは対話シナリオから、ユーザへの応答を生成する際に用いる情報を取得し、該情報を用いて前記応答を生成する応答手続き実行手段と、前記応答手続き実行手段で生成された応答を出力する出力手段と、を含む。
本発明によれば、ユーザが大局的な話題を認識しながら対話を行える。
以下、本発明の一実施形態について図面を参照しながら説明する。
本実施形態に係る対話装置は、何らかのアプリケーションのユーザインタフェースとなるものであり、アプリケーションにある機能を有効に動作させることを目的とするものである。特に本発明による対話装置は、アプリケーションによる1つ以上の種類の機能を取り扱うために1つ以上の目的を取り扱うものであり、個々の目的を達成するためにそれぞれの目的と対応付けた話題についてユーザとの対話を行うものである。
(第1の実施形態)
図1は、第1の実施形態に係る対話装置の構成例を示すブロック図である。図1の対話装置は、対話状態管理部101、対話シナリオ管理部102、対話進行部103、手続き実行部104からなる。
図1は、第1の実施形態に係る対話装置の構成例を示すブロック図である。図1の対話装置は、対話状態管理部101、対話シナリオ管理部102、対話進行部103、手続き実行部104からなる。
対話状態管理部101は、ユーザとの対話の進行状態(対話状態)として対話中に現れた話題情報を時系列順に記憶するリストからなっている。本説明では話題情報を新たに記憶する際にはリストの後ろに追加するものとする。話題情報は話題の種類と、その話題に関する対話の進行状況を含む情報である。対話状態管理部101の最後に記憶された話題情報が対話進行部103においてユーザとの対話対象となる話題情報(現在の話題情報)である。
対話シナリオ管理部102は、対話装置で取り扱う話題に関する対話シナリオを話題別に管理する。各対話シナリオには対応する話題の対話進行手順が指定されている。対話シナリオにはその話題の対話の進行状況を1状態とし、対話の進行手順で進みうる状態を状態遷移図形式で記述するものや、その話題の目的を達成するために取得すべき情報のリストを指定するものなど、既存のものを利用することができる。
対話進行部103は、対話状態管理部101に記憶されている現在の話題情報を対象としてユーザとの対話を行い、現在の話題情報の話題(現在の話題)の目的をユーザとの対話によって達成する(話題を解決する)。
対話進行部103は、ユーザとの対話の際には、ユーザ入力を値や話題情報に対応付けるなどといった入力解釈や、プロンプトの出力や画面制御といった応答生成などの対話進行処理を行う。対話進行部103は決定した動作に基づき応答生成手続きの実行を手続き実行部104に依頼する。ユーザに対して出力する送出プロンプトは音声信号やテキスト表示等で提示される。
対話進行部103における入力解釈では、ユーザから入力される音声や自然言語を解釈し、ユーザ入力を何らかの話題情報か或いは値に変換する。例えば、ユーザが話題の名称を入力した場合には対話進行状況が初期状態の話題情報に変換したり、ユーザが動作条件としての値を指定した場合には、その値の種類の情報(例えば品詞情報など)を付与したりする。また、話題名称を省略した入力であっても、話題を特定できる場合はある条件を指定された対話進行状況の話題情報に変換することもある。このような自然言語解釈方式は既存のものが使用できる。
対話進行部103は、現在の話題とは別の話題の導入を検出した時には、導入された話題に関する話題情報を対話状態管理部101に新たに記憶させる。新たに記憶された話題情報は現在の話題情報となり、以後の対話進行の対象となる。別の話題の導入は、ユーザ入力により話題情報が入力された場合や、対話シナリオによって導入を指定されていた場合などに検出することができる。
対話進行部103は、現在の話題を解決した場合は解決時の話題情報の内容でアプリケーションの動作を実行させ、対話状態管理部101から現在の話題情報を消去する。更に対話進行部103は現在の話題に関する対話結果を対話状態管理部103に反映させる。対話結果の反映方法には、例えば特許文献:特開2004−212664のように対話結果の値を利用することができる話題情報を対話状態管理部101から探索し、探索結果の話題情報にその値を通知するなどの方法が適用できる。
対話進行部103は現在の話題情報にある対話進行状況と、その話題の対話シナリオを参照して対話を行う。対話シナリオが終了した時に対話進行部103はその話題を解決したと判断する。このような1つの話題に関する対話処理は、状態遷移図形式のシナリオを参照する場合であれば、ユーザ入力等によって現在の対話進行状況を状態遷移によって更新し、終了まで遷移すれば終了とみなす方法や、話題解決のために必要な情報のリストの対話シナリオを参照する場合であれば、不足している情報を検出して、その情報の入力をユーザに要求し、不足している情報がなくなれば話題の解決とみなす方法など、既存の方法を利用することができる。
対話進行部103はユーザとの対話において、対話シナリオと対話進行状況から応答生成手続きを決定し、決定した応答生成手続きの実行を手続き実行部104に依頼する。
手続き実行部104は対話進行部103から指定された応答生成手続きを実行する。前述のように対話シナリオ管理部102には話題別に独立した対話シナリオが管理されている。従って対話シナリオのみを参照しても現在の話題のメイン話題となりうる話題に関する情報を含めた応答を出力することはできない。
手続き実行部104は現在の話題のメイン話題を対話状態管理部101から特定するメイン話題の解決処理を実行し、その結果を参照して応答生成手続きを実行する。
前述のように対話状態管理部101には、現在の話題より前に対話を開始し、未解決な話題が時系列順に蓄積されている。未解決なメイン話題を解決するためにサブ話題の対話を開始すると、対話進行部103は現在の話題としてサブ話題の話題情報を対話状態管理部101に記憶させる。この時、現在の話題(サブ話題)のメイン話題は現在の話題より前に対話状態管理部101に記憶されている話題情報の話題であると言える。手続き実行部104は、現在の話題より前に対話状態管理部101に記憶された話題情報から、メイン話題を探索する。手続き実行部104におけるメイン話題の解釈処理については後に詳述する。
次に、図1の対話装置の処理動作について、図2に示すフローチャートを参照して説明する。
対話装置は所定の話題についてユーザとの対話を行うものである。ユーザ或いは対話装置によって対話を開始した段階が図2に示した「Start」に相当し、対話を継続する必要性がなくなったときに対話を終了する。すなわち、図2に示す「End」で対話を終了する。
対話装置はユーザとの対話を開始すると、対話進行部103が対話のための入力を待つ(ステップS201)。この入力にはユーザからの入力や、タイマイベント等の対話装置内部からのイベントを含む。何らかの入力があれば(ステップS201Yes)、対話進行部103はその入力に応じた動作を決定する(ステップS202)。入力がなければ(ステップS201No)、対話進行部103は引き続き入力待ちを行う(ステップS201)。
ステップS202における対話進行部103の動作決定は、入力等により現在の話題の対話進行状況が更新された時に実行される。動作決定では、その更新の内容が新規話題の導入か、現在の話題の終了か、現在の話題の対話継続かを判定する。
対話進行部103は、入力により現在の話題とは別の話題の対話が開始された場合や、現在の話題の対話シナリオで別の話題の対話を開始すると指定されている場合に、新規話題の導入と判定する。また、対話進行部103は、現在の話題を解決し、対話を終了した場合に現在の話題の終了と判定する。対話進行部103は、新規話題の導入、現在の話題の終了のいずれにも該当しない場合は現在の話題の対話継続と判定する。
対話進行部103の動作決定結果が新規話題の導入であった場合(ステップS203Yes)、対話進行部103は、導入された新たな話題を対話状態管理部101に記憶させる(ステップS204)。この処理により現在の話題が更新されるので、対話進行部103は動作決定処理を行う(ステップS202)。
対話進行部103の動作決定結果が現在の話題の終了であった場合(ステップS203No、ステップS205Yes)、対話進行部103は、現在の話題情報を対話状態管理部101から取り除き、対話結果の情報を対話状態管理部101に反映させる(ステップS206)。更に、現在の話題情報を対話状態管理部101から取り除くことにより、対話状態管理部101が空になった場合にはユーザとの対話が終了したと判定する(ステップS207Yes、End)。ステップS207において、終了していなければ(ステップS207No)、現在の話題情報が更新されたので、ステップS202へ戻り、対話進行部103は動作決定処理を行う(ステップS202)。
対話進行部103の動作決定結果が現在の話題の対話継続であった場合(ステップS203No、ステップS205No)、応答手続き実行処理を行う(ステップS208)。
応答手続き実行処理(ステップS208)では、対話進行部103が現在の話題の対話シナリオと現在の話題情報の対話進行状況から、実行する応答生成手続きを決定し、手続き実行部104は、対話進行部103が決定した応答生成手続きを実行する。
応答手続き実行処理(ステップS208)において、例えば実行した応答手続きが「ユーザに対して情報入力を促し、返答を待つ」であった場合など、新たな入力を待って次の動作をすると判定した場合(ステップS209Yes)は、対話進行部103は次の入力を待つ(ステップS201)。入力を待たないと判定した場合(ステップS209No)は、応答手続きにより現在の話題の対話進行状況が更新される場合があるため、対話進行部103は再度動作決定処理を実行する(ステップS202)。
次に、対話状態管理部101に格納される話題情報の具体例について図3を参照して説明する。図3は対話状態管理部101とこれに格納される話題情報の例を示す。図3において、話題「目的地設定」、「住所検索」の順に対話が進行した場合の対話状態管理部101での話題情報の登録状態を示している。この場合は、最初に話題「目的地設定」に関する話題情報302が記憶され、その次に話題「住所検索」に関する話題情報301が対話状態管理部101に記憶される。最後に記憶された話題情報301が現在の話題情報となっている。
本実施形態では、図3に示したように新しい話題に関する話題情報を図面の上側に配置する。
話題情報は、少なくとも話題の種類と各話題の対話進行状況に関する情報を含む情報である。対話進行状況に関する情報は各話題に関する対話手順の指定方法に依存する。例えば状態遷移図によるシナリオ指定の場合は対話によって遷移したノードに相当し、話題を解決するために必要な情報を要求する対話処理の場合は、解決に必要な情報のリストなどが挙げられる。
ここで本実施形態の説明に使用する話題の定義、話題情報、及びそれぞれの表記について図3、図4を用いて説明する。
話題の定義の例を図4に示す。話題の定義(話題定義)は、話題の種類を表す情報である話題の名称311と引数定義情報312を含む。名称311は、図4に示すように、“[”の左側に表記する。「目的地設定」や「住所検索」が名称311に相当する。引数定義情報312は、対話装置が対話によって取得すべき引数の情報の属性であり、“[ ]”の内部に表記される。引数の数は話題によって異なり、表記上では各引数定義情報を“、”によって区切る。各引数定義は、引数とする情報の種類を表す型と、その引数の呼び名である属性名との組み合わせで定義され、これを(型):(属性名)と表記する。
図3において、話題情報301、302は、話題の名称303の他、各話題の対話進行状況として、図4に示す話題の定義の引数に関する値の代入状況304と、対話進行で参照する引数以外の変数の代入状況305を含む情報である。
図3では、引数の代入状況303の表記は話題名称の右側にある“( )”の内部である。各引数の表記は属性名と、実際の対話によって指定された値である属性名の組み合わせで表し、(属性名):(属性値)と表記する。対話の進行状況において属性値を取得していない場合は“φ”を(属性値)に格納する。例えば図3における話題情報301は[話題「住所検索」において都道府県名として「神奈川県」という値をユーザから取得した]状態であることを意味する。話題情報302は属性値を取得していないことを示している。
対話進行で参照する引数以外の変数は、ここでは、単に「変数」と表記している。話題情報301、302共に変数として「解決中の属性名」を利用している。すなわち、ここでは、変数「解決中の属性名」として、当該話題情報で解決中の属性名を記憶するようになっている。尚、詳細な属性や変数の表記が必要ではない場合は、話題情報を単に話題の名称のみや変数を省略した形式で表記する。
次に、図3に示した話題情報を用いた対話進行部103における個々の話題に対する対話処理方法の例について説明する。話題情報の属性には話題解決のために値の取得が必須である必須属性と必須ではない属性がある。対話進行部103は属性値が取得されていない必須属性が現在の話題情報の中にあれば、対話処理としてその必須属性に代入する属性値を取得するように動作する。一方、単純なコマンドの場合などには話題情報の属性数が0個の場合もあるが、そのような話題の場合は、全必須属性が取得されているものとみなせる。そして、話題情報において不足している必須属性すなわち属性値が無くなると、その話題は解決したと判定する。尚、以下では表記を簡単にするために断りがない限り各話題情報における属性は全て必須属性とし、全必須属性が取得されればその話題を解決したものとして説明する。
動作内容として定められる応答手続きは、その話題情報と対話シナリオを参照して対話進行部103が決定し、手続き実行部104がその応答手続きを実行する。応答手続きとしては、例えば必須属性の値を入力するようにユーザに要求し、ユーザ入力を各属性に対応付ける。また、ユーザに問い合わす必要がない情報であれば(現在時刻など)ユーザに要求せずに暗黙的に取得する。また、ユーザに情報を要求する過程において、情報を要求するための手続きとして別の話題の対話を行う必要があれば、その話題の話題情報を導入して対話を行い、導入した話題情報に関する対話の結果を属性値として使用する。
ここで対話シナリオ管理部102について、図5、図6を参照して説明する。図5は対話シナリオ管理部102の例である。対話シナリオ管理部102は話題定義データベース(話題定義DB)501と対話シナリオデータベース(対話シナリオDB)502を含む。
話題定義DB501は、対話装置が扱う話題の定義の記憶、更新、検索等の管理を行うデータベースである。図5の話題定義DB501には話題「住所検索」「ジャンル検索」「目的地設定」「経由地設定」の4種類の話題定義が登録されている。
対話シナリオDB502の詳細を図6に示す。対話シナリオDB502は話題定義DB501に記録されている話題に関する対話シナリオの記憶、更新、検索等の管理を行うデータベースである。図6では、話題「住所検索」の対話シナリオ601、話題「ジャンル検索」の対話シナリオ602、話題「目的地設定」の対話シナリオ603、話題「経由地設定」の対話シナリオ604が登録されている。
図6に示す各話題の対話シナリオには、その話題の対話進行状況と対応する応答手続きが(対話進行状況)―(応答手続き)の形式で指定されている。例えば話題「住所検索」の対話シナリオ601では、対話進行状況が「初期状態」では応答手続き「関数「初期応答」を実行」を行い、その後の対話進行においては、対話進行状況が「住所検索の属性「都道府県名」が空」となった場合(φの場合)、「変数「解決中の属性名」="都道府県名"として関数「問合せ」を実行」という応答手続きを行うと指定している。そして、「全属性を得た」という対話進行状況になった時に、「住所で場所を検索し、検索結果を出力(話題終了)」という応答手続きを行う。この(話題終了)指定がある応答手続きを実行すると、話題「住所検索」の対話が終了する。本来はそれぞれの手続きは何らかの式やプログラミング言語で記述されると思われるが、ここでは、説明の簡単のために文で記述している。
対話進行部103は、図2のステップS208において、現在の話題情報の対話進行状況と、この対話シナリオの対話進行状況を照合し、該当した対話進行状況の応答手続きを実行する応答手続きとして選択する。そして、手続き実行部104に選択結果の応答手続きの実行を依頼する。
図6に示す対話シナリオ601の関数「初期応答」や対話シナリオ602の関数「問い合わせ」には、「メイン話題の変数「解決中の属性名」を取得」と指定されている箇所がある。この「メイン話題の変数…」の指定がある場合、手続き実行部104がメイン話題を特定し、その結果の話題情報の情報(この例では変数「解決中の属性名」の値)を取得し、応答生成に利用するという処理を行う。この動作の詳細は後述する。
この「メイン話題の…」という指定が特定の話題を指し示していないことに注意されたい。不特定のメイン話題という指定をサブ話題の対話シナリオに指定することで、サブ話題の対話シナリオをメイン話題のものと独立に定義できる。例えば図6において、話題「住所検索」は話題「目的地設定」、話題「経由地設定」のサブ話題となりうるが、話題「住所検索」の対話シナリオには話題「目的地設定」、話題「経由地設定」を示す内容は存在しない。従って、話題「住所検索」をサブ話題とすることができる新たな話題の対話シナリオを追加しても、話題「住所検索」の対話シナリオには影響を与えることはない。
続いて、手続き実行部104について詳細に説明する。手続き実行部104は、対話進行部103から指定された応答手続きを指定通りに実行するものである。例えば、図6の応答手続きにある日本語文の指定通りに動作する。
手続き実行部104の特徴は、上記の「メイン話題の変数「解決中の属性名」を取得」のようなメイン話題からの情報取得処理を実行し、その結果として得られる情報を応答生成に利用することにある。
前述のように対話状態管理部101には、現在の話題より前に対話を開始し、未解決な話題が時系列順に蓄積されている。未解決なメイン話題を解決するためにサブ話題の対話を開始すると、対話進行部103は現在の話題としてサブ話題の話題情報を対話状態管理部101に記憶させる。従って、現在の話題(サブ話題)のメイン話題は現在の話題より前に対話状態管理部101に記憶されている話題であると言える。また、応答生成手続きによっては意図的に直接的なメイン話題の情報ではなく、更に上位のメイン話題の情報を取得する場合も考えられる。従って、サブ話題の話題情報での応答生成手続きで、メイン話題から取得することを指定されている情報(取得指定情報)を含む話題情報を情報取得対象となるメイン話題としなければならない。
以上のことより、手続き実行部104で行うメイン話題からの情報取得処理(メイン話題から取得指定情報を取得する処理)では、現在の話題より前に対話状態管理部101に記憶され話題情報から、当該取得指定情報を含む話題情報を探索する処理となる。
図7は手続き実行部104で行うメイン話題からの情報取得処理を説明するためのフローチャートである。この処理は、現在の話題情報にて実行中の応答手続きの中に「メイン話題の変数「○○」を取得」や「メイン話題の関数「△△」を実行」等、メイン話題の話題情報を参照する指定がある場合に実行されるものである。尚、このような指定の場合、取得指定情報は変数「○○」、関数「△△」に相当する。
手続き実行部104は、対話状態管理部101を現在の話題情報から古い話題情報に向けてメイン話題となりうる話題情報を探索し、応答手続きに必要な情報を取得する。まず、処理対象を現在の話題情報とし(ステップS301)、これが最も古い話題情報である場合には、メイン話題からの情報取得処理に失敗したと判定する(ステップS302Yes、ステップS306)。ステップS302において、当該処理対象が最も古い話題情報でない場合には、ステップS303へ進み、処理対象を現在の処理対象である話題情報よりも1つ古い話題情報に変更し(ステップS303)、ステップS304へ進む。
ステップS304では、手続き実行部104は、この新たな処理対象の話題情報から、応答手続きで指定された取得指定情報を探索する。当該処理対象の話題情報に、上記取得指定情報として指定されている変数や関数が含まれている場合には、当該処理対象から、当該取得指定情報として指定されている変数や関数を取得し、メイン話題からの情報取得処理を終了する(ステップS305Yes)。ステップS304で、当該処理対象の話題情報に上記取得指定情報として指定されている変数や関数が含まれていない場合には(ステップS305No)、ステップS302へ戻り、当該処理対象が対話状態管理部101において最も古い話題情報であれば(ステップS302Yes)、メイン話題からの情報取得処理に失敗したと判定する(ステップS306)。ステップS302において、対話状態管理部101に当該処理対象の話題情報よりも最も古い話題情報が記憶されている場合には(ステップS302No)、ステップS303へ進み、上記同様、処理対象を現在の処理対象である話題情報よりも1つ古い話題情報に変更し、上記同様の処理を繰り返す。
次に、カーナビゲーションシステムに図1の対話装置を適用した場合を例にとり、より具体的に説明する。
このシステムでは、住所で場所を検索する「住所検索」と、ジャンルで施設の場所を検索する「施設検索」と、1つの施設を目的地に設定する「目的地設定」と、1つの施設を経由地に設定する「経由地設定」の4つの話題に関する対話が可能である。対話シナリオ管理部102は図5の話題定義DB501と、図6の対話シナリオを記憶する対話シナリオDB502を含む。
[対話例1]
図8の対話例1を例に説明する。この例では、図2に示した対話全体の流れ(図2)に沿った動作説明の後、応答生成手続きに沿った説明を行う。尚、以下の対話例では、「USR」はユーザ発話を表し、「SYS」はシステム応答を表す識別子である。
図8の対話例1を例に説明する。この例では、図2に示した対話全体の流れ(図2)に沿った動作説明の後、応答生成手続きに沿った説明を行う。尚、以下の対話例では、「USR」はユーザ発話を表し、「SYS」はシステム応答を表す識別子である。
ユーザ発話「USR8−1」によって対話が開始される。「USR8−1」で新たな入力を受け付けたので(ステップS201Yes)、対話進行部103は動作の決定処理(ステップS202)を実行する。対話進行部103における入力解釈により、「USR8−1」はユーザにより話題「目的地設定(目的地:φ)」が指定されたと解釈されたとする。初期状態では対話状態管理部101が管理する話題情報は空なので、現在の話題とは異なる話題が指定されたと解釈でき(ステップS203Yes)、新たな話題情報「目的地設定(目的地:φ)」を対話状態管理部101に記憶する(ステップS204)。
現在の話題情報は「目的地設定」に更新されたので、対話進行部103は動作決定処理(ステップS202)を実行する。今回は新規話題の導入でも話題の終了でもないので、応答生成手続き実行と判定する(ステップS203No、ステップS205No、ステップS208)。現在の話題情報が導入された直後なので、対話進行部103は、対話シナリオ603における対話進行状況「初期化」の応答生成手続き「変数「解決中の属性名」=“目的地”として、話題「住所検索」を呼び出す」を実行すると決定し、手続き実行部104はこの処理を実行する。
話題「住所検索」を呼び出す処理によって、手続き実行部104は新規話題「住所検索(都道府県名:φ、市区町村名:φ)」を導入する。この処理はユーザの入力を待つ処理ではないので(ステップS209No)、対話進行部103は動作決定処理(ステップS202)を実行する。今回は手続き実行部104による話題の導入なので新規話題の導入と判定し(ステップS203Yes)、導入された話題情報「住所検索(都道府県名:φ、市区町村名:φ)」を対話状態管理部101に記憶する(ステップS204)。このときの対話状態管理部101の状態が図9のようになる。
現在の話題情報が「住所検索」に更新されたので、対話進行部103は動作決定処理(ステップS202)を実行する。今回は新規話題の導入でも話題の終了でもないので、応答生成手続き実行と判定する(ステップS203No、ステップS205No、ステップS208)。現在の話題情報が導入された直後なので、対話進行部103は、対話シナリオ601における対話進行状況「初期化」の応答生成手続き「関数「初期応答」を実行」を実行すると決定する。
手続き実行部104は決定された応答生成手続きを実行する。このとき、関数「初期応答」には、取得指定情報として、変数「解決中の属性名」が指定されているので、手続き実行部104は、図7に示したようなメイン話題からの情報取得処理を実行する。詳細は後述する。その結果「SYS8−2」を出力し、更にユーザの入力を待たないので(ステップS209No)対話進行部103は動作決定処理(ステップS202)を実行する。今回も応答生成手続きであると判定し(ステップS203No、ステップS205No、ステップS208)、話題「住所検索」の対話進行状況が「初期」ではなく、属性「都道府県名」が指定されていない(空)ので、「変数「解決中の属性名」=“都道府県名”として関数「問合せ」を実行」を実行すると決定する。関数「問合わせ」には、取得指定情報として、変数「解決中の属性名」が指定されているので、手続き実行部104は、図7に示したようなメイン話題からの情報取得処理を実行する。この実行結果として「SYS8−3」を出力し、ユーザの入力を待つ(ステップS209Yes)。
「SYS8−2」、「SYS8−3」を出力する応答手続き実行中に、手続き実行部104はメイン話題の話題情報から変数「解決中の属性名」を取得する、メイン話題からの情報取得処理を行っている。ここでは「SYS8−2」を出力する話題「住所検索」における関数「初期応答」の例について説明するが、「SYS8−3」の出力時点でも対話状態管理部101において話題情報の追加等の変更は無く、メイン話題からの情報取得処理は同様に行うことができる。
手続き実行部104が話題「住所検索」の関数「初期応答」を実行する時点での対話状態管理部101の状態は図9である。関数「初期応答」において、取得指定情報として、変数「解決中の属性名」が指定されているので、手続き実行部104は、図7に示したようなメイン話題からの情報取得処理を実行する。
まず、処理対象の話題情報を現在の話題情報より1つ古い話題情報に設定する(ステップS301、ステップS302No、ステップS303)。図9の例では話題情報「目的地設定」701が処理対象の話題情報となる。続いて手続き実行部104は、話題情報701から取得指定情報である変数「解決中の属性名」を探索する(ステップS304)。話題情報701には変数「解決中の属性名」として“目的地”が指定されているので、これを取得する(ステップS305Yes、End)。
手続き実行部104はメイン話題からの情報取得処理で得た変数「解決中の属性名」=“目的地”を取得した。この結果を利用して応答手続きを継続する。すなわち、話題「住所検索」の関数「初期応答」は、「取得結果の文字列に“の住所検索を開始します”を連結して出力」と指定されているので、取得結果の文字列として“目的地”を適用すると“目的地の住所検索を開始します”という応答「SYS8−2」の出力が可能となる。
以上のように話題「住所指定」の応答手続きにおいて、手続き実行部104がそのときの対話進行状況である対話状態管理部101を参照し、メイン話題である「目的地設定」の変数を取得することが可能となっている。従って、サブ話題となる話題「住所指定」の対話シナリオ601には具体的なメイン話題を指定せず、メイン話題と独立な対話シナリオであっても、応答にはメイン話題の変数「解決中の属性名」=“目的地”を組み込んで、ユーザに対してメイン話題が何であるかを含めた応答を出力することが可能となっている。
[対話例2]
図10の対話例2を例に説明する。対話例2が対話例1と異なる点は初期のユーザ入力が「目的地設定」から「経由地設定」になった点である。この入力で導入される話題情報は「経由地設定(経由地:φ)」である。[対話例1]と同様に話題情報「経由地設定」の初期化時の応答手続きで話題情報「住所検索」を呼び出す。この時点の対話状態管理部101の状態を図11に示す。話題情報「住所検索」の初期化時の応答手続き(関数「初期応答」)で「SYS10−2」を出力し、都道府県名が空の時の応答手続き(関数「問合せ」)で「SYS10−3」を出力する。
図10の対話例2を例に説明する。対話例2が対話例1と異なる点は初期のユーザ入力が「目的地設定」から「経由地設定」になった点である。この入力で導入される話題情報は「経由地設定(経由地:φ)」である。[対話例1]と同様に話題情報「経由地設定」の初期化時の応答手続きで話題情報「住所検索」を呼び出す。この時点の対話状態管理部101の状態を図11に示す。話題情報「住所検索」の初期化時の応答手続き(関数「初期応答」)で「SYS10−2」を出力し、都道府県名が空の時の応答手続き(関数「問合せ」)で「SYS10−3」を出力する。
「SYS10−2」、「SYS10−3」を出力する応答手続き実行中に、手続き実行部104は、メイン話題の変数「解決中の属性名」を取得するメイン話題からの情報取得処理を行っている。図11は、このメイン話題からの情報取得処理を実行する時の対話状態管理部101の状態であり、対話例1で説明した、メイン話題からの情報取得処理と同様にして、話題情報704より古い話題情報である話題情報703を処理対象とし、これから取得指定情報である変数「解決中の属性名」を取得することを試みる(ステップS304)。話題情報703には変数「解決中の属性名」=“経由地”と指定されているので、手続き実行部104はこれを取得する。結果として例えば関数「初期応答」においては、「経由地の住所検索を開始します」という応答「SYS10−2」を出力することが可能となる。
以上のように話題「住所指定」の応答手続きにおいて、手続き実行部104が対話状態管理部101を参照してメイン話題の「解決中の属性名」を取得するので、メイン話題が「経由地設定」となったときには、「経由地設定」の変数「解決中の属性名」を取得することができる。この枠組みにより対話進行状況に応じたメイン話題の情報を組み込んだ応答を出力することが可能である。
[対話例3]
続いて図12に示す対話例3の場合について説明する。この例では、初期のユーザ入力が「住所検索」であり、この入力で導入される話題情報は「住所検索(都道府県名:φ、市区町村名:φ)」である。この対話例は話題情報「住所検索」のメイン話題となる話題情報が対話状態管理部101に登録されない場合に相当する。そして話題情報「住所検索」の初期化時の応答手続き(関数「初期応答」)で「SYS12−2」を出力し、都道府県名が空の時の応答手続き(関数「問合せ」)で「SYS12−3」を出力する。応答「SYS12−2」、「SYS12−3」を出力する際の対話状態管理部101の状態を図13に示す。
続いて図12に示す対話例3の場合について説明する。この例では、初期のユーザ入力が「住所検索」であり、この入力で導入される話題情報は「住所検索(都道府県名:φ、市区町村名:φ)」である。この対話例は話題情報「住所検索」のメイン話題となる話題情報が対話状態管理部101に登録されない場合に相当する。そして話題情報「住所検索」の初期化時の応答手続き(関数「初期応答」)で「SYS12−2」を出力し、都道府県名が空の時の応答手続き(関数「問合せ」)で「SYS12−3」を出力する。応答「SYS12−2」、「SYS12−3」を出力する際の対話状態管理部101の状態を図13に示す。
「SYS12−2」、「SYS12−3」を出力する応答手続き実行中に、手続き実行部104はメイン話題の変数「解決中の属性名」を取得する、メイン話題からの情報取得処理を行っている。図13は、このメイン話題からの情報取得処理を実行するときの対話状態管理部101の状態を示している。現在の話題情報が最も古い話題情報であるので(ステップS302Yes)、メイン話題からの情報取得処理は失敗したと判定する(ステップS306、End)。手続き実行部104は、メイン話題からの情報取得処理に失敗した時の動作として、話題「住所検索」の関数「初期応答」で、情報取得処理に失敗した時の動作として指定されている、「住所検索を開始します」という応答「SYS12−2」を出力する。
以上のように話題「住所検索」の応答手続きにおいて、手続き実行部104がメイン話題の有無を検出することができるので、メイン話題が存在しないときは単に「住所検索」というシンプルな応答を出力することができる。
このように、上記第1の実施形態では、対話状態管理部101が、現在の話題までの未解決の各話題に対応する1または複数の話題情報を時系列に記憶することにより対話の進行状況を管理する。各話題情報には、解決中の属性名などを含む。そして、現在の話題での応答手続きに、現在の話題の上位の話題(すなわち、メイン話題)の話題情報や対話シナリオから取得すべき情報として変数名(属性名)あるいは関数名が指定された、該情報を取得する手続きが含まれている場合、手続き実行部104は、対話状態管理部101に記憶されている時系列な話題情報を、最も新しいものから順に探索して、該時系列な話題情報のなかから該指定された変数名あるいは関数名を含むメイン話題の話題情報を検出する。このメイン話題の話題情報から、該指定された変数名あるいは関数名の情報を取得して、該取得した情報を含む応答を生成し、出力する。
すなわち、上記第1の実施形態では、現在の話題をサブ話題として実行する際の応答手続き実行時に応答に必要なメイン話題の情報を取得し、応答にメイン話題の情報を含めることが可能となる。
メイン話題の情報を含めた応答生成は、ユーザに対して現在の進行状況を伝える重要な情報となりうる。例えば、上述の対話例においてメイン話題の変数「解決中の属性名」を出力しない場合を考えてみると、ユーザの「目的地設定」という入力に対してシステムは「住所検索を開始します。都道府県名をどうぞ。」という応答を出力する。特に音声入力のような誤りがのる可能性がある入力方法では、このような応答内容ではユーザが最初の「目的地設定」という内容が正しく受け付けられたかを把握することは困難となる。
話題毎に対話シナリオを独立に定義することができれば、話題の追加・削除の処理がコストを抑制できる。追加の際は、それぞれの話題に関する対話シナリオを対話シナリオ管理部102に追加すれば良い。削除の際は、対話シナリオ603、604のように、当該話題から呼び出す別の話題、すなわち、サブ話題を明示的に指定している場合、そのサブ話題を削除したときには、当該サブ話題のメイン話題となるこれら対話シナリオ603,604を修正する必要があるが、メイン話題の削除がサブ話題の対話シナリオに対して影響をあたえることはない。また、対話シナリオ603、604において話題「住所検索」をサブ話題として呼び出している応答手続きで、話題「住所検索」の呼び出しを省略することも可能である。例えば、「目的地の場所を入力してください」といった応答を出力し、次のユーザ入力で「住所検索」などといった場所を検索する話題情報の入力を待つようにすれば、話題「住所検索」の削除でメイン話題に与える影響はなくなる。
メイン話題の情報は、上述のような応答文に埋め込むテキスト情報だけではなく、「目的地設定」モードと「経由地設定」モードで画面表示を切り替えるといった、メイン話題に応じた画面制御関数の呼び出しをする場合や、施設の検索結果のリストを提示する順序をメイン話題で切り替える場合などに利用することができる。
この場合、現在の話題(サブ話題)の手続き中には、呼び出すべき関数名が指定されているので、図7に示す手順に従って、現在の話題よりも古い話題のなかから、該指定されている関数名の関数を含む対話シナリオの話題を検索する。そのような話題があれば、それが現在の話題のメイン話題である。
サブ話題での手続きで、メイン話題の画面制御関数呼び出す場合を図14〜図17を参照して説明する。図14及び図15は、メイン話題が「目的地設定」で、サブ話題が「住所検索」の場合を示し、図16及び図17は、メイン話題が「経由地設定」で、サブ話題が「住所検索」の場合を示している。
図14に示すように、サブ話題である「住所検索」で使用される、該サブ話題に対応する対話シナリオに含まれる関数「初期画面設定」から、メイン話題(ここでは「目的地設定」)に対応する対話シナリオに含まれる関数「モード画面指定」を呼び出すことで、図15に示すように、対話進行部103では、画面の背景色711をメイン話題に対応する色「白」に設定し、画面の左上に配置する動作モードを示すテキスト712として「目的地設定モード」を出力する。
また、図16に示すように、サブ話題である「住所検索」で使用される、該サブ話題に対応する対話シナリオに含まれる関数「初期画面設定」から、メイン話題(ここでは「経由地設定」)に対応する対話シナリオに含まれる関数「モード画面指定」を呼び出すことで、図17に示すように、対話進行部103では、画面の背景色721をメイン話題に対応する色「黒」に設定し、画面の左上に配置する動作モードを示すテキスト722として「経由地設定モード」を出力する。
このように、画面の背景色や、画面の左上に配置する動作モードを示すテキストといった応答出力内容をメイン話題に応じて変更することが可能となる。
以上説明したように、上記第1の実施形態によれば、話題毎に独立に対話シナリオを定義しておき、対話を終了していない話題の話題情報を現れた順に対話進行状況として記憶し、応答生成手続きにおいて、応答内容に含めるメイン話題の情報を持つ話題情報を、対話進行状況にある新しい話題情報から順に探索し、探索結果の話題情報から、指定された情報を取得して応答内容に含めてユーザに提示する。すなわち、話題毎に独立した対話シナリオを用いてユーザと対話を行う対話装置では、話題の応答手続き中で、図7に示すように、メイン話題から取得すべき情報が変数名や関数名で指定された情報取得処理を実行することで、現在の話題よりも古い話題のなかから、該指定されている変数名や関数名を有するメイン話題を検索し、該メイン話題から取得した当該指定された変数や関数を用いて応答を生成し出力する。この結果、ユーザは、現在の話題よりも大局的な話題を認識しながら対話装置との対話が行える。
尚、上述の例では、図7に示したメイン話題からの情報取得処理において、メイン話題が検出された段階で処理を終了している(ステップS305Yes)ように記述しているが、本実施形態はそのような構成に限定されるものではない。例えば、複数のメイン話題の情報を取得することも考えられる。この場合は、手続き実行部104は対話状態管理部101の全ての話題情報を対象として、指定された変数名・関数名を有するメイン話題の情報を取得するか、一定個数のメイン話題の情報を取得し、取得結果をリストで出力する。そして、その後の手続きにおいて、応答内容に含める情報を選択する。
複数のメイン話題の情報を利用した応答内容の例として、上述の対話例のように変数「解決中の属性名」を取得するような場合は、「ルート条件の目的地の…」などのように取得した複数の情報を連結して出力することが考えられる。また、図14〜図17に示した画面出力関数の例では、動作モードを示すテキスト712、722を「ルート条件―目的地―…」といった形式で出力することも考えられる。
また、上述の例では、メイン話題からの情報取得処理(図7)において、メイン話題の情報を取得できなければ、対話状態管理部101に記憶されている最も古い話題情報までを処理対象として処理を継続するように記述しているが、本実施形態はそのような構成に限定されるものではない。例えば、現在対話中の話題からかけ離れた話題の情報を出力しないように、メイン話題からの情報取得処理においては、処理対象の話題情報を遡る回数を一定の回数以内に限定し、それ以上の話題情報はメイン話題の候補として適していないと判定しても良い。或いは、対話の開始が古すぎる話題の情報を出力しないように、対話状態管理部101の各話題情報には対話開始時点の時刻情報を記憶させ、メイン話題の解決処理においては、現在の時刻との差分が一定の時間を超えている話題情報は、メイン話題の候補として適していないと判定し、一定の時間内で現れた話題情報のみを処理対象としても良い。
また、上述の例では対話シナリオDB(図6)に登録する対話シナリオには、応答手続きを明示的に記述している。しかし、汎用な手続きを採用して対話シナリオを明示的に記述しなくとも、汎用な手続きが個別の話題の対話進行方法となっている場合は、そのような手続きは応答手続きであるとみなすことができる。
(第2の実施形態)
第1の実施形態で説明した、メイン話題からの情報取得処理では、対話状態管理部101が管理する話題情報の順序を利用した比較的簡単な方法でメイン話題を検出している。しかしながら、ある話題の対話中にユーザが別の話題を指定する場合がある。このようなシステムが意図しない話題が導入された場合、第1の実施形態では正確にメイン話題を検出することができない。
第1の実施形態で説明した、メイン話題からの情報取得処理では、対話状態管理部101が管理する話題情報の順序を利用した比較的簡単な方法でメイン話題を検出している。しかしながら、ある話題の対話中にユーザが別の話題を指定する場合がある。このようなシステムが意図しない話題が導入された場合、第1の実施形態では正確にメイン話題を検出することができない。
例えば、図18に示すような対話例では、ユーザ入力「USR15−1」で話題「目的地設定」を導入し、以後図6の対話シナリオを参照して前述の対話例1と同様にして「SYS15−2」、「SYS15−3」を出力した。このときにユーザ入力「USR15−4」によって検索方法を変更する意図で話題「ジャンル検索」を新たに指定した。
対話進行部103は、ユーザ入力「USR15−4」を受けて、図19に示すように、新たな話題情報801を対話状態管理部101に記憶する。このような場合、話題情報「住所検索」702とは無関係に導入された話題情報「ジャンル検索」801は、話題情報「住所検索」702のサブ話題とは言えない。
第2の実施形態では、対話シナリオ管理部102に登録されている話題定義を利用し、より厳密にメイン話題を検出できる、メイン話題からの情報取得処理について説明する。
第2の実施形態と第1の実施形態とで異なる点は、対話シナリオ管理部102の話題定義DB501の内容、ならびに手続き実行部104におけるメイン話題からの情報取得処理である。従って、第2の実施形態に係る対話装置の構成例及びその全体の処理動作は図1、図2と同様である。
第2の実施形態に係る話題定義DB501には、図20に示すように、引数定義情報テーブル811と出力型定義情報テーブル812を含む。引数定義情報テーブル811に記憶される情報は、第1の実施形態における話題定義DBの内容と同様である。
出力型定義情報テーブル812は、各話題の出力型定義情報を記憶する。出力型定義情報とは各話題の対話が終了した時に得られる情報の型、すなわち話題が解決したときに得られる情報の種類を表す情報である。例えば、何らかの検索を行うことを目的とする話題であれば、出力型定義情報には検索結果として得る情報の型を指定する。図20の出力型定義情報テーブルでは、話題「住所検索」、「ジャンル検索」はいずれも対話結果として場所を取得する話題なので出力型に「場所」を指定している。また、話題「目的地設定」「経由地設定」については出力する情報がないので、空(φ)を指定している。
第2の実施形態におけるメイン話題からの情報取得処理を図21に示す。なお、図21において、図7と同一部分には同一符号を付している。図21において、図7と異なる点は、ステップS304の取得指定情報を含む処理対象の話題情報から、当該取得指定情報(例えば変数「解決中の属性名」等)を取得する処理の前に、当該処理対象の話題情報に対応する話題がメイン話題として適しているかどうかを確認する処理(ステップS402)が挿入され、これに伴いステップS401、ステップS403が追加されている。
まず、ステップS402について説明する。ステップS402では、サブ話題の出力型定義情報とメイン話題の引数定義情報を照合して、処理対象の話題情報の話題がメイン話題として適しているかを判定する。前述したように、メイン話題は、その引数の情報を取得するためにサブ話題を呼び出すので、サブ話題の対話結果はメイン話題に利用されることになる。従って、現在の話題のメイン話題は、現在の話題の出力を引数に利用できる情報であると言える。
そこで、ステップS402では、処理対象の話題情報の話題がサブ話題の出力型定義情報が示す出力型と同じの型の引数を持つ場合は、当該処理対象の話題情報がメイン話題として適していると判定する。例えば、話題「住所検索」の出力型は「場所」であるので、そのメイン話題としては、同じ「場所」型の引数を持つ話題「目的地設定」「経由地設定」が適していると判定する。
ステップS402において、当該処理対象の話題情報がメイン話題として適している場合には、ステップS304へ進み、当該処理対象の話題情報から取得指定情報を取得する。ステップS402において、当該処理対象の話題情報がメイン話題として適していなければ、ステップS302へ戻り、処理対象の話題情報を更新する。尚、ステップS402において、サブ話題の出力型定義情報が空の場合は、その話題の対話結果が利用されることがないので、どの話題もメイン話題として適していないと判定する。
ステップS402では、サブ話題の出力型定義情報を参照して、処理対象の話題情報の話題がメイン話題として適しているかを判定する。手続き実行部104では、この判定で使用する出力型定義情報の記憶領域として「サブ話題出力情報」を利用する。そこで、図21のステップS401では、まず、「サブ話題出力情報」に現在の話題の出力型を示す出力型定義情報をセットする。
処理対象の話題がメイン話題として適している場合(ステップS402Yes)、ステップS304へ進み、当該処理対象から、取得指定情報を取得できたときには(ステップS305Yes)、処理を終了する。一方、ステップS304で、当該処理対象から、取得指定情報を取得できなかったときには(ステップS305No)、ステップS403へ進み、「サブ話題出力情報」を当該処理対象の出力定義情報に更新する。すなわち、ステップS305において、メイン話題として適した話題情報が検出されても、当該話題情報から取得指定情報を取得できなかった場合は、更にメイン話題を探索することになる。この時、次に探索すべきメイン話題は「メイン話題のメイン話題」であり、現在の処理対象の話題をサブ話題とする話題情報を対話状態管理部101から探索する必要がある。従って、ステップS403で、「サブ話題出力情報」を現在の処理対象の話題の出力型定義情報に更新している。その後、ステップS302へ進み、処理対象が最も古い話題情報でなければ、ステップS303へ進み、処理対象を更新して、前述同様の処理を繰り返す。
次に、カーナビゲーションシステムに、第2の実施形態に係る対話装置を適用した場合を例にとり、より具体的に説明する。このシステムでは、住所で場所を検索する「住所検索」と、ジャンルで施設の場所を検索する「施設検索」と、1つの施設を目的地に設定する「目的地設定」と、1つの施設を経由地に設定する「経由地設定」の4つの話題に関する対話が可能である。対話シナリオ管理部102は、図20の話題定義DB501と、図6の対話シナリオDB502を含む。
ここでは、対話状態管理部101が図19に示す状態のときに、話題「ジャンル検索」の対話シナリオ602における関数「初期応答」を実行する場合を例にとり、手続き実行部104におけるメイン話題からの情報取得処理について、図21のフローチャートに従って説明する。
図6の対話シナリオ602に含まれる関数「初期応答」の中には「メイン話題の変数「解決中の属性名」」を取得することを指定している。手続き実行部104は、この指定を受け、図21のメイン話題からの情報取得処理を実行する。
まず、「サブ話題出力情報」に現在の話題の出力型定義情報をセットする(ステップS401)。また、処理対象を、現在の話題情報より1つ古い話題情報とする(ステップS301、ステップS302No、ステップS303)。この結果、「サブ話題出力情報」は現在の話題情報である「ジャンル検索」の出力型定義情報「場所」(図20を参照)、処理対象は図19の話題情報702となる。
手続き実行部104は、処理対象である話題情報702が現在の話題のメイン話題として適しているかを判定する(ステップS402)。話題情報702の話題は「住所検索」で、話題定義DB501の引数定義情報テーブル811を確認すると、「サブ話題出力情報」にセットされておいる出力型「場所」と同じ型の引数は、「住所検索」には存在しない。従って、話題情報702の話題はメイン話題として適していないと判定する(ステップS402No)。
手続き実行部104は、処理対象を話題情報702から、それより1つ古い話題情報701に更新する(ステップS302No、ステップS303)。
手続き実行部104は、新たな処理対象の話題情報701が現在の話題のメイン話題として適しているかを判定する(ステップS402)。話題情報701の話題は「目的地設定」で、話題定義DB501の引数定義情報テーブル811を確認すると、「サブ話題出力情報」にセットされている出力型「場所」と同じ型をもつ引数が「目的地設定」に存在するので、話題情報701はメイン話題として適していると判定する(ステップS402Yes)。
話題情報701がメイン話題として適していると判定されたので、手続き実行部104は取得指定情報である「変数「解決中の属性名」」を話題情報701から取得する。その結果“目的地”を得る(ステップS304)。取得指定情報を取得できたので、メイン話題からの情報取得処理を終了する(ステップS305Yes、End)。
手続き実行部104は、メイン話題の変数「解決中の属性名」=“目的地”を利用して関数「初期応答」の処理を継続する。その結果、ユーザに対して「目的地のジャンル検索を開始します」という応答を出力する。
このように第2の実施形態では、話題定義DB501に登録されている引数定義情報テーブル811と、出力型定義情報テーブル812とを参照し、対話状態管理部101に記憶されている各話題情報がメイン話題として適している話題情報のみを利用し、応答にメイン話題の情報を含めることが可能となる。
例えば、上述の例でステップS402の処理が欠落している場合を検討する。この場合、話題情報702に対して取得指定情報を取得する(ステップS304)。話題情報702には変数「解決中の属性名」として“都道府県名”が登録されているため、これを取得することになる(ステップS305Yes、End)。この結果、メイン話題の変数「解決中の属性名」=“都道府県名”となり、これを利用した応答文は「都道府県名のジャンル検索を開始します」と誤った応答を出力してしまう。
この例のように、ユーザが対話の流れを無視して無関係な新規話題の導入をした箇所では、対話状態管理部101における順序関係とメイン話題―サブ話題の関係が成立しない場合がある。このような例外を扱うためには、話題の意味的な情報を利用したメイン話題―サブ話題の判定が必要である。第2の実施形態は、話題定義DBを利用したメイン話題―サブ話題判定を導入するものである。
以上のように第2の実施形態に係る対話装置は、メイン話題からの情報取得処理において、話題の対話結果として取得する情報を表す出力型定義情報と、話題の解決に必要な情報群である引数定義情報を加味して、メイン話題として適した話題を判定し、メイン話題として適した話題から情報を取得する。この結果、ユーザにより対話進行とは無関係な話題情報を導入された場合でも、メイン話題―サブ話題の関係が成立する話題情報を選択することが可能であり、メイン話題として適切な話題情報から取得した情報を含めた応答生成を行うことが可能となっている。
尚、上述の例では、メイン話題からの情報取得処理の度に、各話題情報がメイン話題として適切であるかどうかの処理を確認することになるが、例えば、ステップS402において、対話状態管理部101の各話題情報について、メイン話題として適切な話題情報を記憶しておく。以後、この記憶されている話題情報をメイン話題として適切な話題情報として採用することができる。
(第3の実施形態)
次に、第3の実施形態として、メイン話題からの情報取得処理のさらに他の例について説明する。第3の実施形態に係るメイン話題からの情報取得処理では、第2の実施形態と同様に、対話状態管理部101の順序情報のみだけではなく、メイン話題に適しているかを判定した上で取得指定情報を取得する。第2の実施形態と異なる点は、図21のステップS402の処理である。
次に、第3の実施形態として、メイン話題からの情報取得処理のさらに他の例について説明する。第3の実施形態に係るメイン話題からの情報取得処理では、第2の実施形態と同様に、対話状態管理部101の順序情報のみだけではなく、メイン話題に適しているかを判定した上で取得指定情報を取得する。第2の実施形態と異なる点は、図21のステップS402の処理である。
第3の実施形態に係る対話装置の構成例及びその全体の処理動作は図1、図2と同様である。
図22は、第3の実施形態に係るメイン話題からの情報取得処理を示すフローチャートである。図22では、図21のステップS402がステップS402´に置き換わっている。以下、第3の実施形態について、主に、第1及び第2の実施形態と異なる点について説明する。
図22のステップS402´では、対話シナリオ管理部102における対話シナリオ(図6)を利用し、メイン話題として適した話題情報を選別する。
各対話シナリオには、対話進行状況として入力を受けた時の動作を指定する応答生成手続きが指定されている。例えば図6の対話シナリオ601では、対話進行状況が「都道府県型の値が入力された」であるときの応答手続きとして「属性「都道府県名」に入力された値を代入」が指定されている。この応答手続きは、話題「住所検索」が都道府県型の情報を受け取って、何らかの応答手続きを実行することができることを示している。
サブ話題の対話結果は、サブ話題に関するユーザ入力内容を統合した結果であるとみなすことができ、これもまた1つの入力であるとみなすことができる。この対話結果を入力として受け取り、応答生成手続きを実行できる話題はメイン話題として適していると言える。
従って、ステップS402´では、処理対象の話題情報が「サブ話題出力情報」にセットされている出力型の情報を入力として受け取って応答手続きを実行することができる話題のものであれば、メイン話題として適していると判定する。
次に、カーナビゲーションシステムに、第3の実施形態に係る対話装置を適用した場合を例により、より具体的に説明する。このシステムでは、住所で場所を検索する「住所検索」と、ジャンルで施設の場所を検索する「施設検索」と、1つの施設を目的地に設定する「目的地設定」と、1つの施設を経由地に設定する「経由地設定」の4つの話題に関する対話が可能である。対話シナリオ管理部102は、図20の話題定義DB501と、図6の対話シナリオDB502を含む。
ここでは、対話状態管理部101が図19に示す状態のときに、話題「ジャンル検索」の対話シナリオ602における関数「初期応答」を実行する場合を例にとり、手続き実行部104におけるメイン話題からの情報取得処理について、図22のフローチャートに従って説明する。
図6の対話シナリオ602に含まれる関数「初期応答」の中には「メイン話題の変数「解決中の属性名」」を取得することを指定している。手続き実行部104は、この指定を受け、図22のメイン話題からの情報取得処理を実行する。
まず、「サブ話題出力情報」に現在の話題の出力型定義情報をセットする(ステップS401)。また、処理対象を現在の話題情報より1つ古い話題情報とする(ステップS301、ステップS302No、ステップS303)。この結果、「サブ話題出力情報」は現在の話題情報である「ジャンル検索」の出力型定義情報「場所」(図20を参照)、処理対象は図19の話題情報は702となる。
手続き実行部104は、処理対象の話題情報702が現在の話題のメイン話題として適しているかを判定する(ステップS402´)。話題情報702の話題「住所検索」の対話シナリオは601には、図6に示すように、「サブ話題出力情報」にセットされている出力型「場所」の情報を入力として受け取って動作する応答手続きが存在しないので話題情報702はメイン話題として適していないと判定する(ステップS402´No)。
手続き実行部104は、処理対象を話題情報702から、それよる1つ古い話題情報701に更新する(ステップS302No、ステップS303)。
手続き実行部104は、新たな処理対象の話題情報701が現在の話題のメイン話題として適しているかを判定する(ステップS402´)。話題情報701の話題「目的地設定」の対話シナリオ603には、「サブ話題出力情報」にセットされている出力型「場所」の情報を入力として受け取ってときに動作する応答手続き、すなわち、「場所型の値が入力された―属性「目的地」に代入し、次の動作を決定」が存在する。従って、話題情報701はメイン話題として適していると判定する(ステップS402´Yes)。
話題情報701がメイン話題として適していると判定されたので、手続き実行部104は取得指定情報である「変数「解決中の属性名」」を話題情報701から取得する。その結果“目的地”を得る(ステップS304)。取得指定情報を取得できたのでメイン話題からの情報取得処理を終了する(ステップS305Yes、End)。
手続き実行部104は、メイン話題の変数「解決中の属性名」=“目的地”を利用して関数「初期応答」の処理を継続する。その結果、ユーザに対して「目的地のジャンル検索を開始します」という応答を出力する。
このように第3の実施形態では、対話状態管理部101に記憶されている話題情報の話題のうち、対話シナリオに、サブ話題の出力型と同じ型の情報を入力として受付ける手続きが含まれている話題のみをメイン話題として利用し、応答に当該メイン話題の情報を含めることが可能となる。
尚、上述の例では、メイン話題からの情報取得処理の度に、各話題情報がメイン話題として適切であるかどうかの処理を確認することになるが、例えば、ステップS402´において、対話状態管理部101の各話題情報について、メイン話題として適切な話題情報を記憶しておけば、この記憶されている話題情報をメイン話題として適切な話題情報として採用することができる。
上述の例ではステップS402´において、「サブ話題出力情報」にセットされているサブ話題の出力型と、図6に示す対話シナリオにおける入力の型とを比較するかのように記述しているが、出力型定義情報の型のダミー情報を作成し、各対話シナリオが作成したダミー情報を入力として受け付けられるか否かを確認しても良い。
以上説明したように、第3の実施形態に係る対話装置は、メイン話題からの情報取得処理において、対話シナリオに、サブ話題の出力型と同じ型の情報を受け取る手続きが含まれている話題をメイン話題とし、該メイン話題から情報を取得する。この結果、ユーザにより対話進行とは無関係な話題情報を導入された場合でも、メイン話題―サブ話題の関係が成立する話題情報を選択することが可能であり、メイン話題として適切な話題情報から取得した情報を含めた応答生成を行うことが可能となっている。
なお、上記第1乃至第3の実施形態で説明した対話装置は、アプリケーションの機能を含有する対話装置であってもよい。例えばユーザに提示する情報を記憶するデータベースを保持し、ユーザの要求する条件に基づいてそのデータベースを検索する機能を含有する対話装置の場合について考える。このような対話装置において、ユーザとの対話によってデータベース検索条件を取得し、取得した検索条件に基づいてそのデータベースを検索し、ユーザに対して回答を返す動作をする場合は、そのようなデータベース検索機能は本発明におけるアプリケーションの機能であり、データベース検索条件を取得することが本発明における話題に相当する。
また、データベース検索の他に種々の機能を保有する対話装置であっても、ユーザと対話をして各種機能の動作条件を決定しそれに基づいて各種機能を動作させる場合は、その機能は全て本発明におけるアプリケーションの機能と同一とみなせる。例えばユーザとの対話によって指定された条件で各種機能を動作させる構成や、対話装置から動作条件を提示してユーザからの承諾を得ることで各種機能を動作させる構成であっても、動作させる各種機能は本発明におけるアプリケーションの機能であると言える。
また、上記第1乃至第3の実施形態は、複数のアプリケーションの機能を利用することも可能である。複数のアプリケーションに含まれる個々の機能を実行させることを個別の目的として、それぞれを個別の話題として取り扱うことが可能である。
また、各実施形態の説明においてはアプリケーションの機能を実行させることを話題解決時の一回だけ行うかのように記述しているが、話題は「アプリケーションにある機能を有効に動作させる」ことを目的とするものであり、その実行結果が有意なものでなければ(検索結果の件数が0件や多すぎる場合、コマンドの実行失敗など)話題を解決していないとみなし、再度その機能の実行条件の変更を行いアプリケーションの機能を複数回実行しても良い。実行条件はユーザから対話的に変更することも、対話装置から自動的に変更することも可能である。或いはある話題の対話中の途中経過において、ユーザとの対話進行のための手順として必要な機能を実行しても良い。
また、第1乃至第3の実施形態では、カーナビゲーションシステムを対象とした例で説明しているが、情報検索端末や、ビデオ等の家電操作等、様々なアプリケーションに適用することが可能である。
本発明の実施の形態に記載した本発明の手法は、コンピュータに実行させることのできるプログラムとして、(すなわち、コンピュータを対話状態管理部101、対話シナリオ管理部102、対話進行部103、手続き実行部104として機能させるためのプログラムとして、)磁気ディスク(フレキシブルディスク、ハードディスクなど)、光ディスク(CD−ROM、DVDなど)、半導体メモリなどの記録媒体に格納して頒布することもできる。
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
101…対話状態管理部
102…対話シナリオ管理部
103…対話進行部
104…手続き実行部
102…対話シナリオ管理部
103…対話進行部
104…手続き実行部
Claims (14)
- 複数の話題のそれぞれに対応し、当該話題をユーザとの対話により解決するための応答手続きを含む複数の対話シナリオを記憶する対話シナリオ記憶手段と、
前記複数の話題のうち、ユーザ発話に基づき導入された未解決の各話題の対話進行状況を示す話題情報を、導入された順に時系列に記憶する話題情報記憶手段と、
前記話題情報記憶手段に記憶されている最新の話題情報に対応する前記対話シナリオに含まれる前記応答手続きに基づき、前記最新の話題情報よりも古い話題情報と該古い話題情報に対応する前記対話シナリオのうち、前記最新話題情報に対応する話題をサブ話題とするメイン話題の話題情報あるいは対話シナリオから、ユーザへの応答を生成する際に用いる情報を取得し、該情報を用いて前記応答を生成する応答手続き実行手段と、
前記応答手続き実行手段で生成された応答を出力する出力手段と、
を具備したことを特徴とする対話装置。 - 前記最新の話題情報に対応する前記対話シナリオに含まれる前記応答手続きは、前記メイン話題から取得する情報の識別情報と、該情報を用いて前記応答を生成するための応答手続きを含み、
前記応答手続き実行手段は、前記識別情報をもつ情報を有する話題情報あるいは対話シナリオから、該識別情報をもつ情報を取得することを特徴とする請求項1記載の対話装置。 - 前記応答手続き実行手段は、前記話題情報記憶手段に記憶されている時系列の複数の話題情報を前記最新の話題情報から1つずつ古い話題情報へ遡りながら、前記メイン話題の話題情報を検出することを特徴とする請求項1記載の対話装置。
- 前記応答手続き実行手段は、前記最新の話題情報に対応する話題を解決したときに得られる情報と同じ種類の情報を引数として定義されている話題を前記メイン話題として検出することを特徴とする請求項3記載の対話装置。
- 前記複数の話題のそれぞれの、当該話題を解決するために引数として取得すべき情報の種類と、当該話題を解決したときに得られる情報の種類を示す出力型とを記憶する記憶手段をさらに具備したことを特徴とする請求項4記載の対話装置。
- 前記応答手続き実行手段は、前記最新の話題情報に対応する話題を解決したときに得られる情報と同じ種類の情報が得られたときの応答手続きを含む対話シナリオの話題を前記メイン話題として検出することを特徴とする請求項3記載の対話装置。
- 前記応答手続き実行手段は、取得された情報を含む応答を生成することを特徴とする請求項1記載の対話装置。
- 前記応答手続き実行手段は、前記話題情報記憶手段に記憶されている最新の話題情報から予め定められた範囲内の話題情報を前記最新の話題情報から1つずつ古い話題情報へ遡りながら、前記メイン話題の話題情報を検出することを特徴とする請求項3記載の対話装置。
- 複数の話題のそれぞれに対応し、当該話題をユーザとの対話により解決するための応答手続きを含む複数の対話シナリオを記憶する対話シナリオ記憶手段を備えた対話装置における対話方法であって、
前記複数の話題のうち、ユーザ発話に基づき導入された未解決の各話題の対話進行状況を示す話題情報を、導入された順に時系列に話題情報記憶手段に記憶するステップと、
前記話題情報記憶手段に記憶されている最新の話題情報に対応する前記対話シナリオに含まれる前記応答手続きに基づき、前記最新の話題情報よりも古い話題情報と該古い話題情報に対応する前記対話シナリオのうち、前記最新話題情報に対応する話題をサブ話題とするメイン話題の話題情報あるいは対話シナリオから、ユーザへの応答を生成する際に用いる情報を取得し、該情報を用いて前記応答を生成する応答手続き実行ステップと、
生成された応答を出力する出力ステップと、
を含む対話方法。 - 前記最新の話題情報に対応する前記対話シナリオに含まれる前記応答手続きは、前記メイン話題から取得する情報の識別情報と、該情報を用いて前記応答を生成するための応答手続きを含み、
前記応答手続き実行ステップは、前記識別情報をもつ情報を有する話題情報あるいは対話シナリオから、該識別情報をもつ情報を取得することを特徴とする請求項9記載の対話方法。 - 前記応答手続き実行ステップは、前記話題情報記憶手段に記憶されている時系列の複数の話題情報を前記最新の話題情報から1つずつ古い話題情報へ遡りながら、前記メイン話題の話題情報を検出することを特徴とする請求項9記載の対話方法。
- 前記応答手続き実行ステップは、前記最新の話題情報に対応する話題を解決したときに得られる情報と同じ種類の情報を引数として定義されている話題を前記メイン話題として検出することを特徴とする請求項11記載の対話方法。
- 前記応答手続き実行ステップは、前記最新の話題情報に対応する話題を解決したときに得られる情報と同じ種類の情報が得られたときの応答手続きを含む対話シナリオの話題を前記メイン話題として検出することを特徴とする請求項11記載の対話方法。
- コンピュータを、
複数の話題のそれぞれに対応し、当該話題をユーザとの対話により解決するための応答手続きを含む複数の対話シナリオを記憶する対話シナリオ記憶手段、
前記複数の話題のうち、ユーザ発話に基づき導入された未解決の各話題の対話進行状況を示す話題情報を、導入された順に時系列に記憶する話題情報記憶手段、
前記話題情報記憶手段に記憶されている最新の話題情報に対応する前記対話シナリオに含まれる前記応答手続きに基づき、前記最新の話題情報よりも古い話題情報と該古い話題情報に対応する前記対話シナリオのうち、前記最新話題情報に対応する話題をサブ話題とするメイン話題の話題情報あるいは対話シナリオから、ユーザへの応答を生成する際に用いる情報を取得し、該情報を用いて前記応答を生成する応答手続き実行手段、
前記応答手続き実行手段で生成された応答を出力する出力手段、
として機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007085710A JP2008243048A (ja) | 2007-03-28 | 2007-03-28 | 対話装置、対話方法及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007085710A JP2008243048A (ja) | 2007-03-28 | 2007-03-28 | 対話装置、対話方法及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008243048A true JP2008243048A (ja) | 2008-10-09 |
Family
ID=39914273
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007085710A Pending JP2008243048A (ja) | 2007-03-28 | 2007-03-28 | 対話装置、対話方法及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008243048A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015081971A (ja) * | 2013-10-22 | 2015-04-27 | 株式会社Nttドコモ | 機能実行指示システム及び機能実行指示方法 |
JP2015155936A (ja) * | 2014-02-19 | 2015-08-27 | シャープ株式会社 | 情報処理装置、音声対話装置、および制御プログラム |
-
2007
- 2007-03-28 JP JP2007085710A patent/JP2008243048A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015081971A (ja) * | 2013-10-22 | 2015-04-27 | 株式会社Nttドコモ | 機能実行指示システム及び機能実行指示方法 |
JP2015155936A (ja) * | 2014-02-19 | 2015-08-27 | シャープ株式会社 | 情報処理装置、音声対話装置、および制御プログラム |
WO2015125560A1 (ja) * | 2014-02-19 | 2015-08-27 | シャープ株式会社 | 情報処理装置、音声対話装置、および制御プログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102444709B1 (ko) | 디바이스들 간의 상태 상호작용의 캡슐화 및 동기화 | |
EP3491533B1 (en) | Providing command bundle suggestions for an automated assistant | |
JP4728905B2 (ja) | 音声対話装置および音声対話プログラム | |
CN108369580B (zh) | 针对屏幕上项目选择的基于语言和域独立模型的方法 | |
US20200285353A1 (en) | Apparatus for vision and language-assisted smartphone task automation and method thereof | |
US10248383B2 (en) | Dialogue histories to estimate user intention for updating display information | |
JP4322907B2 (ja) | 対話装置、対話方法及びコンピュータプログラム | |
JP2008203559A (ja) | 対話装置及び方法 | |
WO2015147702A1 (ru) | Способ и система голосового интерфейса | |
JP2008083100A (ja) | 音声対話装置及びその方法 | |
CN118865965A (zh) | 用户、自动化助理和其它计算服务之间的多模态交互 | |
JP2011100355A (ja) | 発言記録装置、発言記録方法、プログラム及び記録媒体 | |
CN111949240A (zh) | 交互方法、存储介质、服务程序和设备 | |
JP2007264198A (ja) | 対話装置、対話方法、対話システム、コンピュータプログラム及び対話シナリオ生成装置 | |
JP2020042826A (ja) | パーソナルアシスタントモジュールとの会話への選択可能アプリケーションリンクの組込み | |
JP2003263188A (ja) | 対話フォーカス追跡機能を有する音声命令解釈装置及びその方法並びにその方法を記録したコンピュータで読込み可能な記録媒体 | |
US11615788B2 (en) | Method for executing function based on voice and electronic device supporting the same | |
WO2015192447A1 (zh) | 一种数据处理方法、装置和终端 | |
JP5327737B2 (ja) | 対話装置、重み情報学習装置、対話方法、重み情報学習方法、およびプログラム | |
JPWO2019155717A1 (ja) | 情報処理装置、情報処理システム、および情報処理方法、並びにプログラム | |
JP2008145769A (ja) | 対話シナリオ生成システム,その方法およびプログラム | |
JP2013077159A (ja) | テスト自動化システム | |
JP2006277519A (ja) | 対話装置、対話シナリオ編集装置、対話方法及びプログラム | |
JP2008243048A (ja) | 対話装置、対話方法及びプログラム | |
JP2003030187A (ja) | 自動通訳システム、会話学習装置、自動通訳装置及びその方法並びにそのプログラム |