(57)【要約】【課題】ユーザが操作履歴を意識することなく、ユーザによる自然な対話内容に動的に対応して円滑な対話を実現する対話制御システム及び方法を提供する。【解決手段】ユーザにより入力された入力情報を解釈し、入力情報に対応する応答を行う複数の対話エージェントを識別し、入力情報を対話エージェントに送信して応答を依頼し、対話エージェントからの応答を出力する対話制御システムであって、複数の対話エージェントに対して処理可能情報を問い合わせ、入力情報と処理可能情報を照合して、入力情報を処理できる対話エージェントを選択し、選択された対話エージェントに対して入力情報を送信して応答を受信する。【選択図】  図３
2004288018.tif 000002
【特許請求の範囲】
【請求項１】
ユーザにより入力された入力情報を解釈する入力部と、
前記入力情報に対応する応答を行う対話エージェントと、
前記対話エージェントと前記入力部の間で、複数の前記対話エージェントを識別し、前記入力情報を前記対話エージェントに送信して応答を依頼し、前記対話エージェントからの応答を出力部に送る対話制御部を有する対話制御システムであって、
前記対話制御部が、
前記入力情報が入力されると、複数の前記対話エージェントに対して処理可能情報を問い合わせ、前記処理可能情報を記憶し、前記入力情報と前記処理可能情報を照合して、前記入力情報を処理できる前記対話エージェントを選択し、選択された前記対話エージェントに対して前記入力情報を送信して応答を受信することを特徴とする対話制御システム。
【請求項２】
前記対話制御部において、予め前記対話エージェントの識別情報と前記対話エージェントの選択優先度を対応付けて格納し、前記入力情報と前記処理可能情報の照会を行う際に、前記選択優先度の高い前記対話エージェントから順に照会を行い、最初に選択された前記対話エージェントに対して、前記入力情報を送信して応答を依頼する請求項１に記載の対話制御システム。
【請求項３】
前記対話制御部において、前記入力情報の送信先として選択された前記対話エージェントの識別情報を蓄積し、次の前記対話エージェントを選択する際に、最初に記憶されている前記対話エージェントを照会し、記憶されている前記対話エージェントが前記入力情報を処理可能であれば、記憶されている前記対話エージェントに前記入力情報を送信し応答の依頼を行い、記憶されている前記対話エージェントが前記入力情報を処理できない場合は、前記選択優先度の高い前記対話エージェントから順に照会を行う請求項２に記載の対話制御システム。
【請求項４】
前記対話エージェントの前記選択優先度が利用頻度に応じて自動更新される請求項２又は３に記載の対話制御システム。
【請求項５】
前記対話制御部において、前記入力情報の内容に応じて照会する前記対話エージェントを絞り込み、絞り込まれた前記対話エージェントに対して前記選択優先度の高い順に照会を行う請求項２から４のいずれか一項に記載の対話制御システム。
【請求項６】
前記対話制御部において、前記対話エージェントごとの前記処理可能情報に基づいて利用可能であると判定された前記対話エージェントの識別情報を記憶し、前記対話処理部が、利用可能であると判定された前記対話エージェントにのみ前記処理可能情報を問い合わせる請求項１に記載の対話制御システム。
【請求項７】
前記対話制御部において、ユーザを識別する情報を入力するユーザ情報入力部と、入力された前記ユーザを識別する情報と、ユーザごとに前記選択優先度を含む前記対話エージェントを用いた状態に関する情報を記憶し、ユーザごとの前記選択優先度に応じた処理を行う請求項２から６のいずれか一項に記載の対話制御システム。
【請求項８】
ユーザにより入力された入力情報を解釈する工程と、
前記入力情報に対応する応答を行う複数の対話エージェントを識別し、前記入力情報を前記対話エージェントに送信して応答を依頼し、前記対話エージェントからの応答を出力する工程を有する対話制御方法であって、
前記入力情報が入力されると、複数の前記対話エージェントに対して、処理可能情報を問い合わせ、前記処理可能情報を記憶し、前記入力情報と前記処理可能情報を照合して、前記入力情報を処理できる前記対話エージェントを選択し、選択された前記対話エージェントに対して前記入力情報を送信して応答を受信することを特徴とする対話制御方法。
【請求項９】
ユーザにより入力された入力情報を解釈するステップと、
前記入力情報に対応する応答を行う複数の対話エージェントを識別し、前記入力情報を前記対話エージェントに送信して応答を依頼し、前記対話エージェントからの応答を出力するステップを有する対話制御方法を具現化するコンピュータ実行可能なプログラムであって、
前記入力情報が入力されると、複数の前記対話エージェントに対して、処理可能情報を問い合わせ、前記処理可能情報を記憶し、前記入力情報と前記処理可能情報を照合して、前記入力情報を処理できる前記対話エージェントを選択し、選択された前記対話エージェントに対して前記入力情報を送信して応答を受信することを特徴とするコンピュータ実行可能なプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、コンピュータとユーザとの間で情報のやり取りを円滑に行うことができる対話制御システム及び方法に関する。
【０００２】
【従来の技術】
近年のコンピュータによる処理能力の急速な向上、及びインターネット等の通信環境の広範囲にわたる普及によって、ユーザがコンピュータを通じて情報を取得したり、情報を通知したりする機会が急増している。かかるコンピュータを用いた情報サービスは幅広い分野で提供されており、コンピュータに精通しているユーザのみならず、例えばコンピュータに詳しくない、あるいは不慣れなユーザが、このような情報サービスを利用する機会も増えてきている。さらに、今後、インターネット環境においてはブロードバンド化が急速に進むことが予想されており、より大量の情報を提供する情報サービスが増えるものと考えられている。
【０００３】
かかる状況下において、システムとの対話を前提とした対話サービスにおいては、ユーザに事前に想定されている認識用文法に沿った入力を要求すること自体が困難な状況になりつつある。すなわち、認識用文法想定時には考えが及んでいない内容が入力されることも考えられる。あるいは、１つの対話エージェント内では収束せず、複数の対話エージェントにまたがった対話を行うことも多く、このような場合でも対話として成立させることに対する要望が強くなっている。
【０００４】
そこで、ユーザがシステムと自然な対話を行いながら、上述したような情報サービスを享受することができるユーザインタフェース技術が、様々な側面から開発されてきている。
【０００５】
例えば、ＶｏｉｃｅＸＭＬやＳＡＬＴのようなミドルウェアを用いて、音声インタフェースを利用した情報サービスアプリケーションを構築する技術も開発されている。図１に、ミドルウェアを用いた場合の対話システムの構成図を示す。
【０００６】
図１に示すように、入力部１０１から入力されるユーザの入力情報、及びユーザの入力情報に対するコンピュータの処理や、出力部１０２に対して出力される画面や音声の処理を対話アプリケーション１０４に記述しておくことにより、入力情報に対応する出力情報を生成する処理をミドルウェア１０３で行うことができ、対話システムを円滑に運用することが可能となる。このようにすることで、銀行の窓口業務、企業の電話受付等のサービスをコンピュータによって代替することが可能となっている。
【０００７】
また、ユーザが当該対話システムを用いて円滑な対話を行う方法を知るために、他のユーザが行った対話内容を知ることができるようにして、どのような入力によって欲しい情報を得ることができるか学習することができるようにすることも考えられる。
【０００８】
例えば、（特許文献１）においては、ユーザが任意の対話エージェントを用いてシステムと対話し、第三者である他のユーザに対して、当該対話エージェントを介して行った対話内容を公開する技術が開示されている。
【０００９】
一方では、ユーザの入力内容を解析して、入力内容に対応している対話エージェントを選択できるようにすることで、ユーザがどのような内容を入力してきても対応できるようにすることも考えられる。
【００１０】
例えば、（特許文献２）においては、対話エージェントとの仲介を行うヘルプエージェントを用いて、ユーザの入力内容に適した対話エージェントとの対話を仲介する技術が開示されている。
【００１１】
【特許文献１】
特開平１１−１５６６６号公報
【００１２】
【特許文献２】
特開２００１−３３７８２７号公報
【００１３】
【発明が解決しようとする課題】
しかし、上述したようなユーザインタフェースは、例えば銀行窓口で引き落としの手続き等を行う際に利用される等、単一の作業においては効果的であるものの、様々な手続きや作業を行う場合においては、ユーザインタフェースが画一的であるがために、ユーザにとって自然な対話を行うことが困難になるという問題点があった。
【００１４】
例えば、マイクロソフト社のＷｉｎｄｏｗｓ（Ｒ）等のＧＵＩを用いる場合、複数のアプリケーションについて同時に作業を行うには、マウスやキーボード等を用いて、明示的にアプリケーションを切り替えて操作を行う必要がある。また、音声ポータルなどで提供されるサービスなども、異なる機能やサービスは、ユーザが明示的に音声を用いて切り替える必要がある。特に、長時間に渡り複数のサービスや機能を何度も切り替える場合、ユーザが過去にどのようにサービスや機能を利用したかを記憶しておく必要があり、ユーザに負担を強いることになる。
【００１５】
また、複数のサービスや機能が存在する場合、図２に示すようなメニューツリーを用いてサービス等の提供パスを設ける場合が多い。そして、ユーザが利用するたびに、メニューツリーのルートツリーであるメインページから辿るような利用形態の場合は特に問題は生じない。しかし、一度ルートツリーから内部ツリーへと入り込んで当該サービス等を利用している途中に、別のツリーへ移動する必要がある場合等においては、当該メニューツリーのルートツリーに戻る作業や、移動先の別のツリーから再度元のメニューツリーに戻る作業等が必要となり、ユーザの操作負荷が大きくなるという問題点があった。
【００１６】
例えば、図２において、「ニュース情報」から「スポーツ」を利用してその中の記事を読んでいる途中で、「天気情報」の「週間予報」が気になった場合、一度、メインページまで戻って「天気情報」、「週間予報」と順番にメニューを遷移させる必要が生じる。さらにその後、再度「スポーツ」に戻る場合、同様の作業を繰り返し行う必要がある。
【００１７】
かかる問題点を解消するべく、個々のメニューから他のメニューへと直接移動できる経路を加えることも考えられているが、メニューの数が多くなればなるほど、あるいはメニュー階層が増えれば増えるほど、このような経路の数も指数級数的に増大し、それに対応するＧＵＩの表示や音声入力における認識対象の語彙も増大し、現実的な解決策とはなり得ない。
【００１８】
また、（特許文献２）においては、ユーザによる各対話エージェントにおける対話内容を記録しておき、対話が終了していない対話エージェントについては、他の対話エージェント使用時であっても、対話が終了していない対話エージェントにおける入力ガイダンスをシステム応答として行うことができるようにしているが、相当数の対話エージェントが同時に使用される場合、繰り返し出力されるシステム応答も複数になり、また特に音声で回答される場合には、時間が経過すればするほど前の内容を思い出すことが困難であることから、ユーザにとって自然対話感覚とはほど遠い実用性のないユーザインタフェースとなってしまうという問題点もあった。
【００１９】
さらに、任意の対話入力に応答するためには、すべての対話エージェントがあらゆる入力音声に対応可能な認識用文法を準備しておく必要があるが、ディスク等の記憶装置の容量等の物理的な制約が有る以上、すべての対話エージェントがそのような認識用文法を準備することは現実的に困難である。
【００２０】
本発明は、上記問題点を解決するために、ユーザが操作履歴を意識することなく、ユーザによる自然な対話内容に動的に対応して円滑な対話を実現する対話制御システム及び方法を提供することを目的とする。
【００２１】
【課題を解決するための手段】
上記目的を達成するために本発明にかかる対話制御システムは、ユーザにより入力された入力情報を解釈する入力部と、入力情報に対応する応答を行う対話エージェントと、対話エージェントと入力部の間で、複数の対話エージェントを識別し、入力情報を対話エージェントに送信して応答を依頼し、対話エージェントからの応答を出力部に送る対話制御部を有する対話制御システムであって、対話制御部が、入力情報が入力されると、複数の対話エージェントに対して処理可能情報を問い合わせ、処理可能情報を記憶し、入力情報と処理可能情報を照合して、入力情報を処理できる対話エージェントを選択し、選択された対話エージェントに対して入力情報を送信して応答を受信することを特徴とする。
【００２２】
かかる構成により、入力情報に対応可能な対話エージェントを確実に選択することができるとともに、入力されるごとに対話エージェントを変更することもできることから、入力情報のカテゴリが頻繁に変化する自然な対話に近い状態で、円滑な対話を行うことが可能となる。
【００２３】
また、本発明にかかる対話制御システムは、対話制御部において、予め対話エージェントの識別情報と対話エージェントの選択優先度を対応付けて格納し、入力情報と処理可能情報の照会を行う際に、選択優先度の高い対話エージェントから順に照会を行い、最初に選択された対話エージェントに対して、入力情報を送信して応答を依頼することが好ましい。
【００２４】
また、本発明にかかる対話制御システムは、対話制御部において、入力情報の送信先として選択された対話エージェントの識別情報を蓄積し、次の対話エージェントを選択する際に、最初に記憶されている対話エージェントを照会し、記憶されている対話エージェントが入力情報を処理可能であれば、記憶されている対話エージェントに入力情報を送信し応答の依頼を行い、記憶されている対話エージェントが入力情報を処理できない場合は、選択優先度の高い対話エージェントから順に照会を行うことが好ましい。前回の入力に対して対話を行った対話エージェントを継続して用いる可能性が最も高いからである。
【００２５】
さらに、本発明にかかる対話制御システムは、対話エージェントの選択優先度が利用頻度に応じて自動更新されることが好ましい。
【００２６】
また、本発明にかかる対話制御システムは、対話制御部において、入力情報の内容に応じて照会する対話エージェントを絞り込み、絞り込まれた対話エージェントに対して選択優先度の高い順に照会を行うことが好ましい。さらに、本発明にかかる対話制御システムは、対話制御部において、対話エージェントごとの処理可能情報に基づいて利用可能であると判定された対話エージェントの識別情報を記憶し、対話処理部が、利用可能であると判定された対話エージェントにのみ処理可能情報を問い合わせることが好ましい。無用な照会処理を未然に回避することで、計算機資源の無駄遣いを未然に防止することができるからである。
【００２７】
また、本発明にかかる対話制御システムは、対話制御部において、ユーザを識別する情報を入力するユーザ情報入力部と、入力されたユーザを識別する情報と、ユーザごとに選択優先度を含む対話エージェントを用いた状態に関する情報を記憶し、ユーザごとの選択優先度に応じた処理を行うことが好ましい。ユーザごとに対話状況を記憶しておくことで、連続して対話を行わない場合であっても、容易にもとの対話状況に復帰することができるからである。
【００２８】
また、本発明は、上記のような対話制御システムの機能をコンピュータの処理ステップとして実行するソフトウェアを特徴とするものであり、具体的には、ユーザにより入力された入力情報を解釈する工程と、入力情報に対応する応答を行う複数の対話エージェントを識別し、入力情報を対話エージェントに送信して応答を依頼し、対話エージェントからの応答を出力する工程を有する対話制御方法であって、入力情報が入力されると、複数の対話エージェントに対して、処理可能情報を問い合わせ、処理可能情報を記憶し、入力情報と処理可能情報を照合して、入力情報を処理できる対話エージェントを選択し、選択された対話エージェントに対して入力情報を送信して応答を受信する対話制御方法並びにそのような工程を具現化するコンピュータ実行可能なプログラムであることを特徴とする。
【００２９】
かかる構成により、コンピュータ上へ当該プログラムをロードさせ実行することで、入力情報に対応可能な対話エージェントを確実に選択することができるとともに、入力されるごとに対話エージェントを変更することもできることから、入力情報のカテゴリが頻繁に変化する自然な対話に近い状態で、円滑な対話を行うことができる対話制御システムを実現することが可能となる。
【００３０】
【発明の実施の形態】
以下、本発明の実施の形態にかかる対話制御システムについて、図面を参照しながら説明する。図３は本発明の実施の形態にかかる対話制御システムの構成図である。図３において、入力部３０１からは、ユーザによる入力情報としてユーザ発話やテキストデータ等が入力される。なお、入力部３０１は、例えばユーザ発話のような音声データが入力された場合には、対話制御部３０３で使用できるように音声認識を行って、テキストデータ等のデジタルデータへと変換する機能も包含するものとする。
【００３１】
そして、入力部３０１において入力された情報は、対話制御部３０３に渡される。対話制御部３０３は、事前に登録されている複数の対話エージェント３０４を管理しており、これらの中から入力された情報を処理することができる対話エージェントを選択して、当該選択された対話エージェント３０４に対して応答処理を依頼する。そして、選択された対話エージェント３０４における応答処理結果を出力部３０２に通知し、ユーザへの出力処理を行う。
【００３２】
また、入力部３０１及び出力部３０２と対話制御部３０３との間に、入出力を取りまとめたり、タイマー等のイベント処理を行うミドルウェアを配置することも考えられる。このようにすることで、ＶｏｉｃｅＸＭＬやＳＡＬＴ等のような既存の対話ミドルウェアを有効に利用することも可能となる。
【００３３】
次に、図４に本発明の実施の形態にかかる対話制御システムにおける対話制御部３０３の構成図を示す。マイクやキーボード等の入力デバイス、あるいは対話ミドルウェアといった入力部３０１から通知される入力情報を受け取り、入力情報に対応する出力情報を生成するまでの手続きを管理するスケジューリング部４０１と、スケジューリング部４０１からの依頼によって個々の対話エージェント３０４に対して処理可能か否かに関する応答を依頼し、処理可能であると判断された対話エージェント４０２を選択し、選択された対話エージェント４０２から出力される応答情報を出力部３０２に通知するエージェント管理部４０２とで構成されている。
【００３４】
なお、出力部３０２において、エージェント管理部４０２から通知される応答情報を蓄積し、スケジューリング部４０１からの出力要求に基づいて出力情報を生成するものとする。
【００３５】
スケジューリング部４０１における処理の流れは、以下のようになる。図５に本発明の実施の形態にかかる対話制御システムにおけるスケジューリング部４０１の処理の流れ図を示す。
【００３６】
図５において、まず、スケジューリング部４０１は、入力部３０１においてユーザから入力がなされるごとに送信されてくる、出力情報の生成依頼情報を含む入力情報とともに受信する（ステップＳ５０１）。
【００３７】
スケジューリング部４０１は、当該出力情報の生成依頼情報を受信すると、エージェント管理部４０２に対して入力情報を送信する（ステップＳ５０２）。次に、同じくエージェント管理部４０２に対して、提供した入力情報に基づいた応答依頼情報を送信し（ステップＳ５０３）、応答したすべての対話エージェント３０４の処理可能情報を登録するよう登録依頼情報を送信する（ステップＳ５０４）。
【００３８】
最後に、スケジューリング部４０１は、エージェント管理部４０２から、対話エージェント３０４からの応答を受信し、出力部３０２に応答を出力した旨の通知を受信すると（ステップＳ５０５）、出力部３０２に対して当該応答に関する出力依頼情報を送信する（ステップＳ５０６）。
【００３９】
ここで処理可能情報とは、入力情報を用いて対話エージェントが応答を生成するために必要な情報を意味しており、例えば入力情報がユーザ発話情報であった場合には、音声認識用文法がこれに該当する。
【００４０】
次に、図６に本発明の実施の形態にかかる対話制御システムにおけるエージェント管理部４０２の構成図を示す。図６において、まずエージェント管理部４０２は、処理部６０１においてスケジューリング部４０１からの応答依頼情報を受信するとともに入力情報を受信する。
【００４１】
次にエージェント管理部４０２は、エージェントアクセサ６０４を介して、処理部６０１が受信した入力情報に基づいて処理を依頼する対話エージェント３０４を選択する。すなわち、ユーザが利用した対話エージェント３０４の識別情報と利用回数や最終利用日時、対話エージェント３０４の選択優先度に関する情報等を格納する対話エージェント情報格納部６０５と、対話エージェント３０４で用いるための認識用文法等を格納する処理可能情報格納部６０６を参照して、対話可能な対話エージェント３０４を選択する。この際、エージェント管理部４０２は、すべての対話エージェント３０４に対して処理可能情報格納部６０６に格納されている認識用文法等を登録し、対話エージェントから受け取った応答の内容に応じて処理が可能な対話エージェントであるか否かを判断する。
【００４２】
また、カレントコンテキストエージェント推定部６０３は、現在ユーザが対話を通じて利用していると考えられるサービスや機能を提供する対話エージェント３０４に関する情報を格納するものである。したがって、ユーザに対して最後に応答を行った対話エージェント３０４に関する情報として、識別番号や、現在のメニュー遷移等の情報を保存しておくことになる。
【００４３】
また、処理部６０１には、ユーザの入力を処理した対話エージェントの識別情報を一時的に格納する処理対象対話エージェント識別情報格納部６０２を有する。このようにすることで、現時点においてユーザの入力情報について処理を行っている対話エージェントを容易に特定することができ、当該対話エージェントの選択優先度を高める等の処理を行うことによって、対話を円滑に行うことが可能となる。
【００４４】
次に、エージェント管理部４０２における処理の流れについて説明する。図７は、本発明の実施の形態にかかる対話制御システムにおけるエージェント管理部４０２での入力情報処理の流れ図である。
【００４５】
図７において、まず処理部６０１内部の処理対象対話エージェント識別情報格納部６０２に保存されている情報をすべて消去する（ステップＳ７０１）。その後、カレントコンテキストエージェント推定部６０３から、現在ユーザが対話を行っている対話エージェント（以下、「カレントコンテキストエージェント」という。）を選択する（ステップＳ７０２）。
【００４６】
カレントコンテキストエージェント推定部６０３から、対話を行っている対話エージェントの識別情報を受信すると、選択した対話エージェント、すなわちカレントコンテキストエージェントが、提供された入力情報を処理できるか否かについて、対話エージェントの識別情報をキー情報としてエージェントアクセサ６０４に問い合わせる（ステップＳ７０３）。
【００４７】
カレントコンテキストエージェントが提供された入力情報を処理できる場合には（ステップＳ７０３：Ｙｅｓ）、エージェントアクセサ６０４を通じて選択された対話エージェント（カレントコンテキストエージェント）に対して入力情報を送信して処理を依頼する（ステップＳ７０４）。
【００４８】
カレントコンテキストエージェントが提供された入力情報を処理できない場合には（ステップＳ７０３：Ｎｏ）、エージェントアクセサ６０４に対して、カレントコンテキストエージェント以外の対話エージェントを選択するべく、対話エージェント情報格納部６０５を参照しながら、優先度順に対話エージェントを検索する（ステップＳ７０５）。
【００４９】
処理可能な対話エージェントが見つからなかった場合には（ステップＳ７０６：Ｎｏ）、そのまま処理を終了する。処理可能な対話エージェントが見つかった場合には（ステップＳ７０６：Ｙｅｓ）、当該対話エージェントに対して入力情報を送信して処理を依頼する（ステップＳ７０７）。
【００５０】
当該対話エージェント内で入力情報を正しく評価できなかった場合等、当該対話エージェントから処理の失敗が通知されると（ステップＳ７０８：Ｎｏ）、再度、エージェントアクセサ６０４に対して、次に優先度の高い対話エージェントの検索を行う（ステップＳ７０５）。
【００５１】
処理が成功した場合（ステップＳ７０８：Ｙｅｓ）、処理を行った対話エージェントの識別情報を処理対象対話エージェント識別情報格納部６０２に格納して処理を終了する（ステップＳ７０９）。
【００５２】
次に、図８は、本発明の実施の形態にかかる対話制御システムにおけるエージェント管理部４０２での応答依頼処理の流れ図である。
【００５３】
図８において、エージェント管理部４０２は、まず処理部６０１において、処理対象対話エージェント識別情報格納部６０２に入力情報を処理した対話エージェントの識別情報が格納されているか否かを確認する（ステップＳ８０１）。入力情報を処理した対話エージェントの識別情報が格納されている場合には（ステップＳ８０１：Ｙｅｓ）、当該識別情報に対応する対話エージェントに対して、エージェントアクセサ６０４を通じて応答処理を依頼する（ステップＳ８０２）。
【００５４】
次に、エージェント管理部４０２は、応答処理を依頼された対話エージェントから通知される処理結果が正しいか否かを判断する（ステップＳ８０３）。
【００５５】
入力情報を処理した対話エージェントの識別情報が格納されていない場合（ステップＳ８０１：Ｎｏ）、あるいは応答処理の処理結果が正しくないと判断された場合には（ステップＳ８０３：Ｎｏ）、カレントコンテキストエージェント推定部６０３に対して、処理対象対話エージェント識別情報格納部６０２に格納されている対話エージェントの識別情報と、既に処理依頼を行った、入力情報を処理した対話エージェントの識別情報とが一致しているか否かを問い合わせる（ステップＳ８０４）。
【００５６】
処理対象対話エージェント識別情報格納部６０２に格納されている対話エージェントの識別情報と、カレントコンテキストエージェント推定部６０３に格納されている対話エージェントの識別情報とが異なっている場合には（ステップＳ８０４：Ｎｏ）、カレントコンテキストエージェント推定部６０３に格納されている対話エージェントが当該入力情報に対して入力処理を行っていない対話エージェントであると判断し、当該対話エージェントの識別情報を用いて、エージェントアクセサ６０４を通じて応答処理を依頼する（ステップＳ８０５）。
【００５７】
処理対象対話エージェント識別情報格納部６０２に格納されている対話エージェントの識別情報と、カレントコンテキストエージェント推定部６０３に格納されている対話エージェントの識別情報とが一致し（ステップＳ８０４：Ｙｅｓ）、当該応答処理の結果が正しくないと判断された場合（ステップＳ８０６：Ｎｏ）、エージェントアクセサ６０４において対話エージェント情報格納部６０５を参照しながら、優先度が高い順に応答処理を行うことができる対話エージェントを検索する（ステップＳ８０７）。このとき、既に発話処理が依頼されている対話エージェントについては検索の対象から外すことによって、処理の重複を避けることができる。
【００５８】
エージェントアクセサ６０４において、処理可能な対話エージェントが選択されたら（ステップＳ８０８：Ｙｅｓ）、当該選択された対話エージェントに対して応答処理を依頼する（ステップＳ８０９）。
【００５９】
次に、当該対話エージェントにおける応答処理の結果を評価し（ステップＳ８１０）、応答処理が失敗していると判断された場合（ステップＳ８１０：Ｎｏ）、再度、エージェントアクセサ６０４において、次に優先度の高い対話エージェントの検索を行う（ステップＳ８０７）。
【００６０】
全ての対話エージェントを検索対象としても選択対象となるべき対話エージェントが見つからない場合には、処理部６０１における応答処理は終了する。一方、対話エージェントに対する応答処理が成功していると判断された場合には（ステップＳ８０３：Ｙｅｓ、ステップＳ８０６：Ｙｅｓ、ステップＳ８１０：Ｙｅｓ）、対話エージェントにおける応答処理の結果を出力部３０２に出力する（ステップＳ８１１）。
【００６１】
その後、カレントコンテキストエージェント推定部６０３に対して、応答処理を行った対話エージェントの識別情報を保存する（ステップＳ８１２）。このようにすることで、現在ユーザと対話を行っている対話エージェントがどの対話エージェントであるのかについて、カレントコンテキストエージェント推定部６０３を照会することで判断することが可能となる。通常、新しく登録された対話エージェントがカレントコンテキストの対話エージェントと判断される。
【００６２】
上述した応答処理を行った後に、エージェントアクセサ６０４が対話エージェント情報格納部６０５に格納されている対話エージェントの優先度に関する情報を更新することも考えられる。具体的には、応答した対話エージェントの優先度を増加させることが考えられる。これは、利用頻度の高い対話エージェントの優先度を高く設定することを意味している。このようにすることで、ユーザの入力をより簡略化することが可能となる。
【００６３】
例えば、「天気予報」のサービスを行う対話エージェントと、「経路探索」のサービスを行う対話エージェントが存在し、その両方が「神戸」や「川崎」といった地名の情報を入力情報として処理可能である場合を考える。この場合、ユーザが「天気予報」をよく利用すると、「天気予報」のサービスを行う対話エージェントの方が優先度が高く設定されるようになることから、ユーザが「神戸」と入力するだけで、「天気予報」のサービスを行う対話エージェントが応答することが可能になる。
【００６４】
次に、エージェント管理部４０２における処理可能情報の登録処理について説明する。図９は、本発明の実施の形態にかかる対話制御システムにおけるエージェント管理部４０２での処理可能情報の登録処理の流れ図である。
【００６５】
図９において、処理部６０１は、エージェントアクセサ６０４に対して対話エージェントの順次選択を依頼する（ステップＳ９０１）。エージェントアクセサ６０４において対話エージェントが選択されると、エージェントアクセサ６０４に対して処理可能情報の登録処理を依頼する（ステップＳ９０２）。
【００６６】
登録処理が依頼されると、それぞれの対話エージェントは、次回の入力情報処理を行う際に処理可能な情報あるいは情報の種類をエージェントアクセサ６０４を介して登録する（ステップＳ９０３）。登録される処理可能な情報は、エージェントアクセサ６０４によって処理可能情報を格納する処理可能情報格納部６０６に格納される。当該処理可能情報の登録処理は、すべての対話エージェントに対して実行される（ステップＳ９０４）。
【００６７】
また、処理可能情報の登録処理において、エージェントアクセサ６０４が対話エージェントを順次選択する処理を行う際、処理可能入力情報格納部６０６を参照しながら、格納されている情報の量や種類に合わせて、選択する対話エージェントに制限を加えることも考えられる。
【００６８】
このようにすることで、例えば音声認識を行う場合には、認識対象とする認識語彙に制限を加えることができ、その結果、認識対象とする認識語彙が増えると認識率が低下するという問題に的確に対応することが可能となる。また、画面表示等を行う場合においても、画面表示面積に物理的な限界がある端末等で用いる場合に、入力対象とする情報が多すぎると表示が煩雑になり操作しにくくなるが、入力対象とする情報を対話エージェントの優先度に合わせて減らすことによって、ユーザにとって見やすい画面表示を行うことが可能となる。
【００６９】
図１０に、利用する対話エージェント３０４を変更する機能を有する対話制御システムの構成図を示す。図１０において、対話制御部３０３は、利用エージェント管理部１００１を通じて、利用可能対話エージェント識別情報格納部１００２に保存されている利用可能な対話エージェントに関する識別情報に対して、エージェント管理部４０２のエージェントアクセサ６０４からアクセスできるようにする。このようにすることで、すべての対話エージェント３０４を対象として検索するのではなく、利用可能対話エージェント識別情報格納部１００２に保存されている利用可能な対話エージェントのみに絞り込んで検索することができ、利用可能対話エージェント識別情報格納部１００２に保存されている利用可能な対話エージェントの内容を更新することで、容易に検索対象となる対話エージェントを変更することが可能になる。よって、ユーザの状況や目的等に合わせて、検索対象となる対話エージェントを変更することが可能となる。
【００７０】
次に、図１１に、利用者別に制御情報を外部に格納する場合の対話制御システムの構成図を示す。図１１において、入力部３０１から対話の最初にユーザの識別情報を含むユーザに関する情報が入力される。もちろん、ユーザに関する情報を入力するユーザ情報入力部（図示せず）を別途設ける構成であっても良いし、あるいは入力された音声データに基づいて話者認識するものであっても良い。そして、入力されたユーザに関する情報に基づいて、対話制御部３０３は、ユーザ情報管理部１１０１を通じて利用者別対話制御情報格納部１１０２から利用しているユーザに関係する対話制御情報を取得する。
【００７１】
ここで「対話制御情報」とは、図６における対話エージェント情報や、図１０における利用可能対話エージェント識別情報を意味している。かかる構成とすることによって、対話エージェントの選択優先度に関する情報を継続的に利用することができ、ユーザが異なるタイミングで対話制御システムを利用した場合であっても、前回と同じ対話エージェントを用いて、同じ要領で対話を行うことが可能となる。
【００７２】
以上のように本実施の形態によれば、ユーザは、入力情報に対応可能な対話エージェントを確実に選択することができるとともに、入力されるごとに対話エージェントを変更することもできることから、入力情報のカテゴリが頻繁に変化する自然な対話に近い状態で、円滑な対話を行うことができる対話制御システムを実現することが可能となる。
【００７３】
なお、本実施の形態にかかる対話制御システムにおいては、音声による対話に限定されるものではなく、例えばチャットシステムのようなテキストデータによる対話等、ユーザとシステム間で対話を行うことができる形態で有れば何でも良い。
【００７４】
以下、本発明の実施例にかかる対話制御システムについて説明する。図１２に示すように、本実施例においては、音声を使って天気予報を知ったり、電子メールの送受信、スケジュールの確認を行ったりすることができる音声対話システムに適用した例について説明する。
【００７５】
図１２において、入力部としては、一般的なマイクロホンから人間の話した言葉を認識して計算機で扱えるシンボル情報に変換する音声認識部１２０１を有する。音声認識部１２０１における認識エンジンとしては、特に限定されるものではなく、汎用的に利用されているものであれば何でも良い。
【００７６】
出力部としては、スピーカへの出力を行うためにテキストから音声データに変換する音声合成部１２０２を有する。音声合成部１２０２についても、音声認識部１２０１と同様、特に形式が限定されるものではなく、既に汎用的に利用されているものであれば何でも良い。
【００７７】
そして、音声認識部１２０１及び音声合成部１２０２の情報をまとめて制御するための音声ミドルウェア１２０３を有する。音声ミドルウェア１２０３についても、ＶｏｉｃｅＸＭＬ等の汎用的な技術が利用可能である。
【００７８】
当該音声ミドルウェア１２０３が、対話制御部１２０４に対して音声認識部１２０１で認識された入力情報を通知し、逆に対話制御部１２０４からの出力情報を音声合成部１２０２へ出力する。対話制御部は１２０４、天気エージェント１２０５、メールエージェント１２０６、カレンダーエージェント１２０７という複数の対話エージェントの制御を行うものと想定する。
【００７９】
音声ミドルウェア１２０３から対話制御部１２０４へ伝えられる入力情報は、入力情報の種類を表す入力スロットと情報の実際の値を示す入力値から構成される。図１３に本実施例で用いられる入力情報の例示図を示す。
【００８０】
図１３において、実際にユーザが発話した内容がユーザ発話である。それに対応する入力スロットと入力値の組合せを表形式で示している。例えば、「神戸」や「川崎」といった、ともに地名を表すものは同じ入力スロット名「ＣｉｔｙＮａｍｅ」に分類され、それぞれ異なる入力値である“ｋｏｂｅ”及び“ｋａｗａｓａｋｉ”が与えられている。
【００８１】
対話エージェントは、ユーザの入力に合わせて状態が変化し、変化に合わせて発話処理を行う。図１４に、天気予報を行う「天気エージェント」の動作を例示する。
【００８２】
例えば図１４に示すような「天気エージェント」の場合、まず天気トップページ１４０１から動作が始まる。この状態に対してユーザが「今日の天気」というと今日の予報１４０２に状態が遷移し、発話処理として「どこの天気ですか？」というシステム出力を行う。さらにユーザが「神戸」と答えると、状態が神戸１４０３に移り、システムが「神戸の今日の天気は晴れです」と出力する。その後、ユーザが「結構」と入力すると、再度今日の予報１４０２に状態が遷移する。
【００８３】
対話制御部１２０４は、ユーザの入力情報を対話エージェントに伝えるが、その際、対話エージェント側から通知される入力可能情報に基づいて、対話エージェントに入力情報を伝える。例えば、天気エージェント１２０５が「どこの天気ですか？」という状態にある時、ユーザからは「川崎」、「神戸」、「結構」という入力を受け付けることができる。これは図１３に示す入力情報例において、入力スロット「ＣｉｔｙＮａｍｅ」に対応する入力値を処理可能であることを意味している。
【００８４】
したがって、この場合、対話制御部１２０４からの処理可能情報登録処理に対して、天気エージェント１２０５は「ＣｉｔｙＮａｍｅ」を処理可能情報として通知する。次回、ユーザからの入力が「神戸」であった場合、対話制御部１２０４は本方式により、天気エージェントが処理可能であると判断し、天気エージェント１２０５に入力情報の処理依頼を行い、天気エージェント１２０５が状態遷移を行うとそのまま対話制御部１２０４に成功したことが通知され、次の発話処理が依頼されることになる。
【００８５】
次に、図１５は、カーナビエージェント１２０７における動作の一部を示す。図１５において、ユーザが目的地設定を行っている場合には、目的位置設定１５０２の状態に存在し、ユーザから「川崎」、「神戸」といった地名、あるいは「結構」といった操作の入力情報で状態が遷移する。ユーザが「神戸」と言うと、システムが「神戸のどこに行きたいですか？」という発話を行う。前述の天気サービス１２０５とカーナビエージェント１２０７を同時に利用している場合、カーナビエージェント１２０７は「ＣｉｔｙＮａｍｅ」という入力スロットと「Ｏｐｅｒａｔｉｏｎ」という入力スロットの入力情報を処理可能情報として対話制御部に通知する。一方、天気エージェント１２０５は、最初に天気トップページ１４０１の状態にあるので「今日の天気」や「週間予報」といった「ＷｅａｔｈｅｒＷｈｅｎ」という入力スロットの入力情報を処理可能情報、すなわち音声認識用文法として対話制御部１２０４に通知する。
【００８６】
この目的位置設定を行っている最中に、ユーザが「晴れている場所に行きたい」と考えて天気エージェント１２０５に今日の天気を尋ねる場合、ユーザが「今日の天気」と発話すると、音声認識部１２０１における認識結果は音声ミドルウェア１２０３を通じて、対話制御部１２０４に対して、「ＷｅａｔｈｅｒＷｈｅｎ」入力スロットが“ｔｏｄａｙ”という一対の入力情報を通知して出力処理を依頼する。
【００８７】
対話制御部１２０４のスケジューリング部４０１は、エージェント管理部４０２へ入力情報の処理依頼を行うと、エージェント管理部４０２の処理部６０１は、エージェントアクセサ６０４を通じて、処理可能情報格納部６０６に登録されている情報から「ＷｅａｔｈｅｒＷｈｅｎ」入力スロットを登録した天気エージェント１２０５を検索し、対話エージェント情報格納部６０５に天気エージェント１２０５の識別情報を登録する。
【００８８】
次に、スケジューリング部４０１から発話処理依頼が行われると、エージェント管理部４０２は、対話エージェント情報格納部６０５に天気エージェント１２０５が格納されていると判断し、天気エージェント１２０５に対して発話処理を依頼する。
【００８９】
天気エージェント１２０５は、「今日の天気」という入力情報から「今日の予報」に状態を遷移させ「どこの天気ですか？」という発話処理を行う。さらに、処理部６０１は、カレントコンテキストエージェント推定部６０３に対して天気エージェント１２０５が発話をしたことを通知し、カレントコンテキストエージェント推定部６０３は、カレントコンテキストに登録されている対話エージェントを天気エージェント１２０５に変更する。
【００９０】
この後、天気エージェント１２０５やカーナビエージェント１２０７には、スケジューリング部４０１からの処理可能情報の登録依頼が行われる。天気エージェント１２０５は状態が遷移しているので、処理可能情報の登録を新たに行う。ここでは、「今日の予報」１４０２の状態においては、「神戸」や「川崎」という「ＣｉｔｙＮａｍｅ」に対応する入力情報と、「結構」という「Ｏｐｅｒａｔｉｏｎ」に対応する入力情報を処理可能とする。
【００９１】
カーナビエージェント１２０７に関しては、前回の目的位置設定という状態から遷移していないので、前回と同じ「ＣｉｔｙＮａｍｅ」と「Ｏｐｅｒａｔｉｏｎ」に対応する入力情報が処理可能となる。つまり、この段階では、天気エージェント１２０５もカーナビエージェント１２０７も同じ入力スロットの入力情報が処理可能でるとして、対話制御部１２０４に通知している。
【００９２】
そして、「どこの天気ですか？」に対して、ユーザが「神戸」と入力した場合、スケジューリング部４０１から入力情報の処理依頼を受けたエージェント管理部４０２は、処理部６０１がカレントコンテキストエージェント推定部６０３から対話エージェントとしてカレントコンテキストエージェントを選択すると天気エージェント１２０５が選ばれることから、入力情報の処理は、エージェントアクセサ６０４を介して天気エージェント１２０５に依頼されることになる。これにより、処理部６０１の処理対象対話エージェント識別情報格納部６０２に格納する対話エージェントが天気エージェント１２０５となり、発話処理依頼も天気エージェント１２０５に対して行われる。
【００９３】
このように、複数の対話エージェントで同じ入力情報を処理できる場合であっても、前回の対話結果に基づいて、ユーザは継続的に天気エージェント１２０５と対話を行うことができる。さらに、もう一度「神戸」というと、今度は「神戸」の入力情報を処理できるのはカーナビエージェント１２０７のみであることから、カーナビエージェント１２０７に入力情報の処理の依頼が行われる。
【００９４】
なお、本発明の実施の形態にかかる対話制御システムを実現するプログラムは、図１７に示すように、ＣＤ−ＲＯＭ１７２−１やフレキシブルディスク１７２−２等の可搬型記録媒体１７２だけでなく、通信回線の先に備えられた他の記憶装置１７１や、コンピュータ１７３のハードディスクやＲＡＭ等の記録媒体１７４のいずれに記憶されるものであっても良く、プログラム実行時には、プログラムはローディングされ、主メモリ上で実行される。
【００９５】
また、本発明の実施の形態にかかる対話制御システムにより生成された処理可能情報等のデータについても、図１７に示すように、ＣＤ−ＲＯＭ１７２−１やフレキシブルディスク１７２−２等の可搬型記録媒体１７２だけでなく、通信回線の先に備えられた他の記憶装置１７１や、コンピュータ１７３のハードディスクやＲＡＭ等の記録媒体１７４のいずれに記憶されるものであっても良く、例えば本発明にかかる対話制御システムを利用する際にコンピュータ１７３により読み取られる。
【００９６】
【発明の効果】
以上のように本発明にかかる対話制御システムによれば、入力情報に対応可能な対話エージェントを確実に選択することができるとともに、入力されるごとに対話エージェントを変更することもできることから、入力情報のカテゴリが頻繁に変化する自然な対話に近い状態で、円滑な対話を行うことができる対話制御システムを実現することが可能となる。
【図面の簡単な説明】
【図１】従来の対話システムの構成図
【図２】従来の対話システムにおけるメニュー構成の例示図
【図３】本発明の実施の形態にかかる対話制御システムの構成図
【図４】本発明の実施の形態にかかる対話制御システムにおける対話制御部の構成図
【図５】本発明の実施の形態にかかる対話制御システムにおける対話制御部の処理の流れ図
【図６】本発明の実施の形態にかかる対話制御システムにおけるエージェント管理部の構成図
【図７】本発明の実施の形態にかかる対話制御システムにおけるエージェント管理部の入力情報処理の流れ図
【図８】本発明の実施の形態にかかる対話制御システムにおけるエージェント管理部の応答依頼処理の流れ図
【図９】本発明の実施の形態にかかる対話制御システムにおけるエージェント管理部の処理可能情報登録依頼処理の流れ図
【図１０】本発明の実施の形態にかかる対話制御システムの他の構成図
【図１１】本発明の実施の形態にかかる対話制御システムの他の構成図
【図１２】本発明の実施例にかかる対話制御システムの構成図
【図１３】本発明の実施例にかかる対話制御システムにおける入力情報の例示図
【図１４】本発明の実施例にかかる対話制御システムにおける天気エージェントの状態遷移の例示図
【図１５】本発明の実施例にかかる対話制御システムにおけるカーナビエージェントの状態遷移の例示図
【図１６】本発明の実施例にかかる対話制御システムにおける対話結果の例示図
【図１７】コンピュータ環境の例示図
【符号の説明】
１０１、３０１  入力部
１０２、３０２  出力部
１０３  ミドルウェア
１０４  対話アプリケーション
３０３、１２０４  対話制御部
３０４  対話エージェント
４０１  スケジューリング部
４０２  エージェント管理部
６０１  処理部
６０２  処理対象対話エージェント識別情報格納部
６０３  カレントコンテキストエージェント推定部
６０４  エージェントアクセサ
６０５  対話エージェント情報格納部
６０６  処理可能情報格納部
１００１  利用可能対話エージェント管理部
１００２  利用可能対話エージェント識別情報格納部
１１０１  ユーザ情報管理部
１１０２  ユーザ別対話制御情報格納部
１２０１  音声認識部
１２０２  音声合成部
１２０３  音声ミドルウェア
１２０５  天気エージェント
１２０６  メールエージェント
１２０７  カーナビエージェント
１７１  回線先の記憶装置
１７２  ＣＤ−ＲＯＭやフレキシブルディスク等の可搬型記録媒体
１７２−１  ＣＤ−ＲＯＭ
１７２−２  フレキシブルディスク
１７３  コンピュータ
１７４  コンピュータ上のＲＡＭ／ハードディスク等の記録媒体
【図１】
2004288018.tif 000003
【図２】
2004288018.tif 000004
【図３】
2004288018.tif 000005
【図４】
2004288018.tif 000006
【図５】
2004288018.tif 000007
【図６】
2004288018.tif 000008
【図７】
2004288018.tif 000009
【図８】
2004288018.tif 000010
【図９】
2004288018.tif 000011
【図１０】
2004288018.tif 000012
【図１１】
2004288018.tif 000013
【図１２】
2004288018.tif 000014
【図１３】
2004288018.tif 000015
【図１４】
2004288018.tif 000016
【図１５】
2004288018.tif 000017
【図１６】
2004288018.tif 000018
【図１７】
2004288018.tif 000019