(57)【特許請求の範囲】
【請求項１】
ユーザの入力する自然言語から、文意を抽出し入力文の意味表現を生成する文意抽出部と、
タスクにおけるユーザの行動目標を規定し、各行動目標ごとに、行動目標の活性度を変化させる文意と、前記文意によって行動目標の活性度がどの程度変化するかを表す活性値を対応付けた行動目標活性化知識と、
行動目標と、前記行動目標がどの程度活性化しているかを表す活性度の組を保持する行動目標活性度記憶部と、
前記文意抽出部から入力される文意に対して活性度が変化する行動目標および活性値を、前記行動目標活性化知識から検索し、前記行動目標活性度記憶部に保持される活性度を更新する行動目標活性度更新部と、
複数の行動目標の活性度の関係からユーザの行動目標を推定する規則である行動目標推定知識と、
前記行動目標活性度記憶部に保持される各行動目標の活性度と、前記行動目標推定知識を参照してユーザの行動目標を推定する行動目標推定部と、
システムの動作目標であるシステムゴールと、システムゴールを達成するために必要なシステムアクションを対応付け、さらに文意とシステムゴールを対応付け、さらにまた行動目標とシステムゴールを対応付けるシステムゴール知識と、前記文意抽出部から入力される文意、前記行動目標推定部から入力される行動目標の少なくとも一つにより、システムゴールを決定するシステムゴール決定部と、
前記システムゴール決定部から出力されるシステムゴールと文意と行動目標を保持するゴール記憶部と、
前記システムゴール知識と、前記ゴール記憶部に保持されるシステムゴールおよび文意を参照し、システムゴールを達成するために必要なシステムアクションを生成し、実行可能であれば外部アプリケーションに出力し、実行不可能であれば新たなシステムゴールの生成指令を前記システムゴール決定部に出力するゴール管理部と、を備え
前記外部アプリケーションは、前記ゴール管理部から出力されたシステムアクションを入力して駆動し、アクションの実行結果を出力することを特徴とする対話管理システム。
【請求項２】
前記行動目標活性度更新部は、文意抽出部から入力される文意に対して活性度が変化する行動目標および活性値を、前記行動目標活性化知識から検索し、さらに検索された行動目標の現在の活性度を行動目標活性度記憶部から検索して、得られた活性値と現在の活性度に応じて行動目標活性度記憶部に保持される活性度を更新することを特徴とする請求項１記載の対話管理システム。
【請求項３】
前記システムゴール決定部は、更に前記文意抽出部から入力される文意、前記行動目標推定部から入力される行動目標、前記ゴール管理部から入力されるシステムゴール生成指令の少なくとも一つにより、前記システムゴール知識と必要であれば前記ゴール記憶部に保持される内容を参照してシステムゴールを決定することを特徴とする請求項１記載の対話管理システム。
【請求項４】
前記ゴール管理部は、更に必要であれば前記外部アプリケーションの実行結果を用いて、システムゴールを達成するために必要なシステムアクションを生成し、実行可能であれば前記外部アプリケーションに出力し、実行不可能であれば新たなシステムゴールの生成指令をシステムゴール決定部に出力することを特徴とする請求項１記載の対話管理システム。
【請求項５】
更に、ユーザの行動目標の関係を規定する行動目標関係知識を有し、
前記行動目標活性度記憶部は、前記行動目標関係知識を参照することにより、行動目標の関係を表現する構造で行動目標と活性度の組を保持し、
前記行動目標活性度更新部は、文意抽出部から入力される文意に対して活性度が変化する行動目標および活性値を、前記行動目標活性化知識から検索し、さらに検索された行動目標に関連付けられた行動目標の活性度を前記行動目標活性度記憶部から検索して、得られた活性値と、関連付けられた行動目標の活性度に応じて前記行動目標活性度記憶部に保持される活性度を更新することを特徴とする請求項１〜請求項４のいずれか１項に記載の対話管理システム。
【請求項６】
行動目標の関係を表現する構造としては、行動目標を節点とし、行動目標同士を枝で結んだネットワーク構造を特徴とする請求項５に記載の対話管理システム。
【請求項７】
前記行動目標活性度更新部は、文意抽出部から入力される文意に対して活性度の変化が対応付けられていない行動目標に対しても、行動目標活性度記憶部に保持される活性度を更新することを特徴とする請求項１〜請求項６のいずれか１項に記載の対話管理システム。
【請求項８】
前記行動目標活性度記憶部は、行動目標と、前記行動目標がどの程度活性化しているかを表す活性度と、前記行動目標活性度更新部によって活性度が変化した時刻の組を保持し、
前記行動目標更新部は、行動目標活性度記憶部に保持される活性度を時間の関数で更新することを特徴とする請求項１〜請求項７のいずれか１項に記載の対話管理システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、自然言語によるマン・マシン・インタフェースに用いられる対話管理システムに関するものである。
【０００２】
【従来の技術】
図２６は、例えば特開平７−１３４６５２公報に示された従来の対話処理方法である。
このように構成された従来の対話処理方法では、入力部１から入力された発話に対して、言語解析部２とモーダル解析部３において意味解析とモーダル解析がなされる。推論部４は、利用者の発話の意味解析結果に基づき推論を行い、利用者との対話を行うために利用者の発話に対する応答を作成し利用者に対し出力する。この時、推論部４は対話履歴を参照して推論処理を行い、利用者の発話と対話履歴とに矛盾がある場合にも、モーダル解析結果に基づき矛盾を生じさせていると考えられる利用者の発話部分を対話履歴において特定し、該発話部分を無視して推論を行うことで、矛盾を検出しても対話処理を停止させることなく円滑に対話を進めることができる。
【０００３】
【発明が解決しようとする課題】
自然言語を用いた対話型のマンマシンインタフェースにおいては、ユーザの入力に対してシステムが応答し、それに対してユーザが応答する、という対話を繰り返すことによりユーザは目的を達成する。したがって、このような対話型のインタフェースにおいて、ユーザとシステムがより円滑で効率のよい対話を行なうためには、ユーザの入力に対して最も適切に動作・応答を行う対話管理システムが必要である。
ユーザはシステムに対して自然言語で入力を行うが、入力の自然言語表現が表層的には同じであっても、ユーザが何をしたくてその入力を行ったかという、その入力の背景となるユーザの行動目標が異なる場合がある。例えば、「鎌倉ホテルはどこにあるのですか」というユーザ入力は、『鎌倉ホテルに行きたい』という行動目標の下になされる場合があり、また『ホテルを予約したい』という行動目標の下になされる場合もある。
このように入力の背景となるユーザの行動目標が異なる場合、一入力の文意だけでなく、ユーザの行動目標も考慮する対話管理を行うことにより、より円滑で効率のよい対話が可能である。例えば、「鎌倉ホテルはどこにあるのですか」という入力が、『ホテルを予約したい』という行動目標の下になされたと推定できれば、鎌倉ホテルの場所を答えるだけでなく、例えば「鎌倉駅から徒歩２分です。予約なさいますか？」と応答したり、あるいは『対象物についての詳細な情報を得たい』という行動目標が推定されれば、例えば「鎌倉駅から徒歩２分です。地図をご覧になりますか？」と応答することにより効率のよい対話が行える。しかしながら、上記のような従来の自然言語対話処理制御方式では、システムの応答をユーザの一入力の意図と対話履歴のみに基づいて生成して対話の流れを制御するので、入力の背景となるユーザの行動目標を推定することができず、行動目標に応じて適切な動作・応答を生成することができないという課題があった。
【０００４】
また、入力の背景となるユーザの行動目標は対話を重ねるうちに徐々に明らかになるものである。
例えば、対話の開始時に「鎌倉ホテルはどこにあるのですか」という入力があった場合、その入力を行った背景となるユーザの行動目標が、『ホテルを予約したい』、『鎌倉ホテルに行きたい』、『対象物についての詳細な情報を得たい』などいずれかであるかは、この入力のみから決定できず、対話の流れの中で次第に明らかになるものである。
したがって、上述のように入力の背景となるユーザの行動目標が明確でない場合、ユーザの行動目標を明確にするように対話を制御して行動目標を特定することができれば、対話はユーザの目的を達するために円滑で効率の良いものとなる。
このために対話システムには、ユーザとのインタラクションを重ね、対話が進行するにつれ、徐々にユーザの行動目標を推定・管理する機構が必要となる。
しかしながら、上記のような対話処理装置では、ユーザの一入力の意図と対話履歴のみに基づいてシステムの応答を生成し対話の流れを制御するので、対話の流れの中のユーザの大局的な行動目標を管理し、さらにユーザとのインタラクションを重ねることによって徐々にユーザの行動目標を推定するような対話制御ができないという問題点があった。
【０００５】
この発明は、上述のような課題を解決するためになされたもので、ユーザとのインタラクションを重ね、対話が進行するにつれ、ユーザの入力の背景となるの行動目標を推定・管理し、さらに、ユーザの行動目標に応じて最も適切な動作・応答を生成する対話管理システムを得ることを目的とするものである。
【０００６】
【課題を解決するための手段】
この発明に係る対話管理システムは、以下の特徴を有する。
（１）ユーザの入力する自然言語から、文意を抽出し入力文の意味表現を生成する文意抽出部と、
タスクにおけるユーザの行動目標を規定し、各行動目標ごとに、行動目標の活性度を変化させる文意と、前記文意によって行動目標の活性度がどの程度変化するかを表す活性値を対応付けた行動目標活性化知識と、
行動目標と、前記行動目標がどの程度活性化しているかを表す活性度の組を保持する行動目標活性度記憶部と、
前記文意抽出部から入力される文意に対して活性度が変化する行動目標および活性値を、前記行動目標活性化知識から検索し、前記行動目標活性度記憶部に保持される活性度を更新する行動目標活性度更新部と、
複数の行動目標の活性度の関係からユーザの行動目標を推定する規則である行動目標推定知識と、
前記行動目標活性度記憶部に保持される各行動目標の活性度と、前記行動目標推定知識を参照してユーザの行動目標を推定する行動目標推定部と、
システムの動作目標であるシステムゴールと、システムゴールを達成するために必要なシステムアクションを対応付け、さらに文意とシステムゴールを対応付け、さらにまた行動目標とシステムゴールを対応付けるシステムゴール知識と、
前記文意抽出部から入力される文意、前記行動目標推定部から入力される行動目標、後述するゴール管理部から入力されるシステムゴール生成指令の少なくとも一つにより、前記システムゴール知識と必要であれば後述するゴール記憶部に保持される内容を参照してシステムゴールを決定するシステムゴール決定部と、
前記システムゴール決定部から出力されるシステムゴールと文意と行動目標を保持するゴール記憶部と、
前記システムゴール知識と、前記ゴール記憶部に保持されるシステムゴールおよび文意を参照し、必要であれば後述する外部アプリケーションの実行結果を用いて、システムゴールを達成するために必要なシステムアクションを生成し、実行可能であれば後述の外部アプリケーションに出力し、実行不可能であれば新たなシステムゴールの生成指令をシステムゴール決定部に出力するゴール管理部と、 前記ゴール管理部から出力されたシステムアクションを入力して駆動され、アクションの実行結果を出力する外部アプリケーションと、を備えたものである。
【０００７】
したがって、上記のように構成された対話管理システムにおいては、文意抽出部の出力するユーザの文意に対して、行動目標活性度更新部が行動目標活性度記憶部に保持された各行動目標の活性度を更新し、行動目標推定部が行動目標推定知識に基づき行動目標活性度記憶部に保持された活性度からユーザの行動目標を推定を行うため、ユーザの行動目標の推定・管理が可能になる。さらに、システムゴール決定部が、システムゴール知識に基づき、文意抽出部から入力された文意と、行動目標推定部から入力されたユーザの行動目標に応じてシステムのゴールを決定するため、ユーザの行動目標に応じて最も適切な動作・応答の生成を行う対話管理が可能になる。
【０００８】
（２）また、文意抽出部から入力される文意に対して活性度が変化する行動目標および活性値を、前記行動目標活性化知識から検索し、さらに検索された行動目標の現在の活性度を行動目標活性度記憶部から検索して、得られた活性値と現在の活性度に応じて行動目標活性度記憶部に保持される活性度を更新する行動目標活性度更新部を備えたものである。
【０００９】
したがって、行動目標活性度更新部は、文意抽出部から入力される文意に対して活性度が変化する行動目標および活性値を、前記行動目標活性化知識から検索し、さらに検索された行動目標の現在の活性度を行動目標活性度記憶部から検索して、得られた活性値と現在の活性度に応じて行動目標活性度記憶部に保持される活性度を更新するため、現在のユーザの行動目標を考慮したユーザの行動目標の推定・管理が行えるようになる。
【００１０】
（３）さらにまた、ユーザの行動目標の関係を規定する行動目標関係知識と、
前記行動目標関係知識を参照することにより、行動目標の関係を表現する構造で行動目標と活性度の組を保持する行動目標活性度記憶部と、
文意抽出部から入力される文意に対して活性度が変化する行動目標および活性値を、前記行目標活性化知識から検索し、さらに検索された行動目標に関連付けられた行動目標の活性度を前記行動目標活性度記憶部から検索して、得られた活性値と、関連付けられた行動目標の活性度に応じて前記行動目標活性度記憶部に保持される活性度を更新する行動目標活性度更新部と、を備えたものである。
【００１１】
したがって、ユーザの行動目標の関係を行動目標関係知識として規定し、行動目標活性度記憶部において、前記行動目標関係知識を参照することにより、行動目標の関係を表現する構造で行動目標と活性度の組を保持することができる。また、行動目標活性度更新部は、文意抽出部から入力される文意に対して活性度が変化する行動目標および活性値を、前記行動目標活性化知識から検索し、さらに検索された行動目標に関連付けられた行動目標の活性度を前記行動目標活性度記憶部から検索して、得られた活性値と、関連付けられた行動目標の活性度に応じて前記行動目標活性度記憶部に保持される活性度を更新するため、複数の行動目標相互の活性度を考慮したユーザの行動目標の推定・管理が行えるようになる。
【００１２】
（４）また、行動目標を節点とし、行動目標同士を枝で結んだネットワーク構造で行動目標の関係を表現する行動目標関係知識を備えたものである。
【００１３】
したがって、行動目標を節点とし行動目標同士を枝で結んだネットワーク構造で行動目標の関係を表現するので、複数の行動目標相互の活性度を考慮したユーザの行動目標の推定・管理が行えるようになる。
【００１４】
（５）また、文意抽出部から入力される文意に対して活性度の変化が対応付けられていない行動目標に対しても、行動目標活性度記憶部に保持される活性度を更新する行動目標活性度更新部を備えたものである。
【００１５】
したがって、行動目標活性度更新部において、文意抽出部から入力される文意に対して活性度の変化が対応付けられていない行動目標に対しても、行動目標活性度記憶部に保持される活性度を更新するので、ユーザの行動目標の推定・管理が適切に行えるようになる。
【００１６】
（６）さらにまた、行動目標と、前記行動目標がどの程度活性化しているかを表す活性度と、前記行動目標活性度更新部によって活性度が変化した時刻の組を保持する行動目標活性度記憶部と、
行動目標活性度記憶部に保持される活性度を時間の関数で更新する行動目標更新部と、を備えたものである。
【００１７】
したがって、行動目標活性度記憶部において、行動目標と、前記行動目標がどの程度活性化しているかを表す活性度と、前記行動目標活性度更新部によって活性度が変化した時刻の組を保持し、行動目標更新部において、行動目標活性度記憶部に保持される活性度を時間の関数で更新するので、ユーザの行動目標の推定・管理が適切に行えるようになる。
【００１８】
【発明の実施の形態】
第１実施形態．
図１は，請求項１及び請求項３、４を含む一実施形態である対話管理システムを示すものである。図１に示すように、文意抽出部１２は、ユーザの入力する自然言語から、文意を抽出し入力文の意味表現を生成する。行動目標活性化知識１３は、タスクにおけるユーザの行動目標を規定し、各行動目標ごとに、行動目標の活性度を変化させる文意と、前記文意によって行動目標の活性度がどの程度変化するかを表す活性値を対応付けた知識を有する。
行動目標活性度記憶部１４は、行動目標と、前記行動目標がどの程度活性化しているかを表す活性度の組を保持する。行動目標活性度更新部１５は、文意抽出部１２から入力される文意に対して活性度が変化する行動目標および活性値を、行動目標活性化知識１３から検索し、行動目標活性度記憶部１４に保持される活性度を更新する。行動目標推定知識１６は、複数の行動目標の活性度の関係からユーザの行動目標を推定する規則を有する。行動目標推定部１７は、行動目標活性度記憶部１４に保持される各行動目標の活性度と、行動目標推定知識１６を参照してユーザの行動目標を推定する。
システムゴール知識１８は、システムの動作目標であるシステムゴールと、システムゴールを達成するために必要なシステムアクションを対応付け、さらに文意とシステムゴールを対応付け、さらにまた行動目標とシステムゴールを対応付ける。システムゴール決定部１９は、文意抽出部１２から入力される文意、行動目標推定部１７から入力される行動目標、後述するゴール管理部２１から入力されるシステムゴール生成指令の少なくとも一つにより、システムゴール知識１８と必要であれば後述するゴール記憶部２０に保持される内容を参照してシステムゴールを決定する。
ゴール記憶部２０は、システムゴール決定部１９から出力されるシステムゴールと文意と行動目標を保持する。ゴール管理部２１は、システムゴール知識１８と、ゴール記憶部２０に保持されるシステムゴールおよび文意を参照し、必要であれば後述する外部アプリケーション２２の実行結果を用いて、システムゴールを達成するために必要なシステムアクションを生成し、実行可能であれば後述の外部アプリケーション２２に出力し、実行不可能であれば新たなシステムゴールの生成指令をシステムゴール決定部に出力する。外部アプリケーション２２は、ゴール管理部から出力されたシステムアクションを入力して駆動し、アクションの実行結果を出力するのである。
【００１９】
文意抽出部１２は、例えばユーザの入力する自然言語発話「鎌倉で有名なところってなにがあるんですか。」に対して構文解析および意味解析を行い、例えば図３に示すような文意の意味表現を生成し、行動目標活性度更新部１５とシステムゴール決定部１９に出力する。
【００２０】
図４は、行動目標活性化知識１３の一例を示すものであり、行動目標「観光場所決定」の活性度を変化させる文意として「retrieve(X, object p(X))」や「retrieve(X, category (X,神社仏閣))」が対応付けられて、さらに、前者に対しては活性値１が付与され、後者に対しては活性値０．８が付与されている。
【００２１】
図５は、行動目標活性度記憶部１４の一例を示すものであり、行動目標「観光場所決定」の現在の活性度は initNumであり、行動目標「神社仏閣決定」の活性度も initNumである。対話の開始時には各行動目標には初期活性度 initNumが与えられており、これらの活性度は対話が進行するにつれ行動目標活性度更新部１５によって更新される。
【００２２】
文意抽出部１２から文意が入力されると、行動目標活性度更新部１５は入力された文意に対して活性度が変化する行動目標を行動目標活性化知識１３から選択し、行動目標活性度記憶部１４に保持された、前記選択した行動目標に対する活性度を、行動目標活性化知識１３に規定された活性値を用いて更新する。
例えば、図３に示す文意が入力される直前に、行動目標活性度記憶部１４の内容が図５の場合について説明する。図３の文意が入力されると行動目標活性度更新部１５は、この文意によって活性度が変化する行動目標「観光場所決定」、「神社仏閣決定」、「飲食店決定」、「ホテル決定」、「ホテル予約」を行動目標活性化知識１３から選択し、行動目標活性度記憶部１４に保持された行動目標「観光場所決定」の活性度 initNumを１．０に更新する。同様に他の行動目標に対する活性度の更新を行い、活性度の更新がすべて終了した直後の行動目標活性度記憶部１４の内容を図６に示す。
【００２３】
また、例えば、行動目標活性度記憶部１４の内容が図６であるとき、文意 retrieve( X, category( X,神社仏閣))が入力されると、行動目標活性度更新部１５は、この文意によって活性度が変化する行動目標「観光場所決定」、「神社仏閣決定」、「飲食店決定」、「ホテル決定」、「ホテル予約」を行動目標活性化知識１３から選択し、行動目標活性度記憶部１４に保持された行動目標「観光場所決定」の活性度１．０に行動目標活性化知識１３から得られる活性値０．８を加えて１．８に更新する。同様に他の行動目標に対する活性度の更新を行い、活性度の更新がすべて終了した直後の行動目標活性度記憶部１４の内容を図７に示す。
【００２４】
行動目標推定知識１６には、例えば「最も活性度が高い行動目標が一つある場合それを推定結果とする」、「活性度が閾値以上で共に等しい行動目標が複数あり、その個数がある範囲内にある場合、それらすべてを推定結果とする」などの、活性度から行動目標を推定する規則が記述される。
【００２５】
行動目標推定部１７は、行動目標活性度記憶部１４に保持された各行動目標の活性度と、行動目標推定知識１６から、現在のユーザの行動目標を推定する。
例えば、行動目標活性度記憶部１４の内容が図６の時、例えば行動目標推定知識１６に「最も活性度が高い行動目標が一つある場合それを推定結果とする」という規則がある場合、ユーザの行動目標を「観光場所決定」と推定し、システムゴール決定部１９に出力する。
【００２６】
また、例えば行動目標活性度記憶部１４の内容が図８であり、例えば行動目標推定知識１６に「活性度が１．０以上で共に等しい行動目標が複数あり、その個数が３つ以内である場合、それらすべてを推定結果とする」いう規則がある場合、ユーザの行動目標を「神社仏閣決定」および「飲食店決定」と推定し、これら複数の推定結果ををシステムゴール決定部１９に出力する。
【００２７】
システムゴール知識１８には、
１．システムの動作目標であるシステムゴールを達成するために、後述する外部アプリケーション２２に出力されるシステムアクションの宣言、
２．システムゴールとシステムアクションの対応付け、
３．文意に対するシステムゴールの対応付け、
４．後述するゴール管理部２１から入力されるシステムゴール生成指令、および行動目標に対するシステムゴールの対応付け、を記述する。
図９は、システムゴール知識１８の一例を示す図で、１行目〜４行目まではシステムのアクションが宣言されている。例えば、アクション retrieve_recordは引数 <CATEGORY> を持つアクションである。アクションの実行に必須の引数は引数の名前の前に記号！を付与し定義する。５行目以降では、例えばシステムゴール GIVE_RECORDに対するゴール知識の記述である。actionSequence以降にシステムゴールを達成するために必要なアクションの系列が定義されており、最初に起動されるアクションが retrieve_recordであり、その実行結果が NONE ならば次のアクションが inform_none、ONE ならば inform_recordと定義されている。
更に詳説すると、現在の行動目標が「観光場所決定」であれば、後述する外部アプリケーション２２は、観光案内データベース（図示せず）からデータ検索を行い、検索の結果、該当するデータが得られない場合にはNONEを、一方該当するデータが一つ得られた場合にはONEをアクション実行結果としてゴール管理部２１に出力する。また、同様に、後述する外部アプリケーション２２は、観光案内データベース（図示せず）からデータ検索を行い、検索結果、該当するデータ数が規定値以下かつ複数の場合UNDER_THRESHOLDを、一方該当するデータ数が規定値以上の場合OVER_THRESHOLDを、アクションの実行結果としてゴール管理部２１に出力する。
１２行目以降で、例えば文意 retrieve() に対してシステムゴール GIVE_RECORDが、文意 reserve()に対してシステムゴール RESERVEが対応付けられている。
さらに、14行目以降で、例えばシステムゴール生成指令 GET_CATEGORY に対して、現在の行動目標が「観光場所決定」であればシステムゴール SUGEST_PLACE_1が、「神社仏閣決定」および「飲食店決定」であればシステムゴール ASK_PREFERENCEが対応付けられている。
【００２８】
ゴール記憶部２０は、後述するシステムゴール決定部１９から出力されるシステムゴールと文意と行動目標を、例えば図１０に示すようなスタックに保持する。
【００２９】
システムゴール決定部１９は、システムゴール知識１８を参照することにより、文意抽出部１２から入力される文意と行動目標推定部１７から入力される行動目標に応じたシステムゴールを決定し、文意と決定したシステムゴールをゴール記憶部２０に出力する。
例えば、文意 retrieve(X, category(神社仏閣), famous)と行動目標「観光場所決定」が入力された場合、図９のシステムゴール知識１８を参照することでシステムゴールを GIVE RECORDに決定し、ゴール記憶部２０に出力する。ゴール記憶部２０には図１２に示す内容が保持される。
【００３０】
また、例えば、文意 retrieve(X, object p(X))と複数の行動目標「神社仏閣決定」および「飲食店決定」が入力された場合、図９のシステムゴール知識１８を参照することでシステムゴールを GIVE RECORDに決定し、ゴール記憶部２０に出力する。ゴール記憶部２０には図１２に示す内容が保持される。
【００３１】
あるいはまた、システムゴール決定部１９は、後述するゴール管理部２１においてシステムアクションが実行できないときにゴール管理部２１から入力されるシステムゴール生成指令により、システムゴール知識１８およびゴール記憶部２０に保持された内容を参照してシステムゴールを決定する。
例えば、ゴール記憶部２０が図１１に示す内容であるとき、「ユーザに検索対象物のカテゴリを質問する」というシステムゴール生成指令 GET CATEGORYがゴール管理部２１から入力される場合、ゴール記憶部２０に保持される行動目標「観光場所決定」とシステムゴール知識１８から、「ユーザに検索可能な観光場所の案内をする」というシステムゴール SUGEST PLACE １を決定して出力する。
【００３２】
あるいは、例えば、ゴール記憶部２０が図１２に示す内容において、システムゴール生成指令 GET CATEGORYがゴール管理部２１から入力される場合、ゴール記憶部２０には複数の行動目標「神社仏閣決定」および「飲食店決定」が保持されており、ユーザの行動目標に曖昧性がある。したがって、システムゴール決定部１９は、曖昧性を解消するためのシステムゴール ASK PREFERENCEをシステムゴール知識１８から決定して出力する。
【００３３】
ゴール管理部２１は、ゴール記憶部２０に保持されたシステムゴールを達成するために必要なシステムアクションを、システムゴール知識１８を参照することにより決定し、さらにシステムアクションの引数をゴール記憶部２０に保持された文意を用いて決定する。
例えば、ゴール記憶部２０の内容が図１０の場合、ゴール管理部２１は図９のシステムゴール知識１８を参照することにより、システムアクションとして retrieve recordを決定し、ゴール記憶部２０に保持された文意から必須引数 <CATEGORY> を category(神社仏閣)と決定する。さらに文意より famousを引数に加え、最終的にシステムアクション retrieve record(category(神社仏閣), famous)を生成する。
上記の例では必須引数が文意から得られシステムアクションが実行可能であるので、システムアクションは外部アプリケーション２２に出力される。
【００３４】
あるいは、例えばゴール記憶部２０の内容が図１１の場合、ゴール管理部２１は図９のシステムゴール知識を参照することにより、システムアクションとして retrieve recordを決定するが、必須引数である <CATEGORY> が文意から得られず前記システムアクションの実行が不可能であるので、システムゴール生成指令をシステムゴール決定部１９に出力する。
【００３５】
外部アプリケーション２２は、例えばデータベースからの情報検索システム、ホテル予約システム、航空券予約システムであり、ゴール管理部２１から出力されるシステムアクションを実行し実行結果を出力するものである。
例えば、システムアクション retrieve_record(category(神社仏閣), famous)が入力されると、外部アプリケーション２２は、観光案内データベースからデータ検索を行い、検索の結果該当するデータが得られない場合NONEを、該当するデータが一つ得られた場合ONEを、該当するデータ数が規定値以下かつ複数の場合UNDER_THRESHOLDを、該当するデータ数が規定値以上の場合 OVER_THRESHOLDを、アクション実行結果として出力する。また、外部アプリケーション２２は、例えば検索結果、予約状況をユーザに対して、合成音声、ＧＵＩで提示する。
【００３６】
第２実施形態．
請求項２の一実施形態である、図１の行動目標活性度更新部１５の動作について説明する。なお、第２実施形態において図１の符号１２〜１３、および符号１４〜２２の動作は第１実施形態と同じなので省略する。
【００３７】
行動目標活性度更新部１５は、1)入力された文意によって活性化される行動目標と活性値を行動目標活性化知識１３から検索し、2)検索された行動目標の現在の活性度を行動目標活性度記憶部１４から検索し、前述の1)によって得られた活性値と、2)によって得られた活性度を用いて行動目標活性度記憶部１４に保持される活性度を更新する。
例えば、行動目標活性度記憶部１４の内容が図６であるときに、文意 retrieve( X, category (X,神社仏閣))が入力された場合について説明する。行動目標活性度更新部１５は、前述の文意によって活性度が変化する行動目標「観光場所決定」、「神社仏閣決定」、「飲食店決定」、「ホテル決定」、「ホテル予約」を行動目標活性化知識１３から選択し、例えば行動目標「観光場所決定」の活性値として０．８を得る。さらに、行動目標活性度更新部１５は前記選択した行動目標の現在の活性度を行動目標活性度記憶部１４から検索することで、例えば行動目標「観光場所決定」の現在の活性度として１．０を得る。
【００３８】
行動目標活性度更新部１５は、前記得られた現在の活性度に基づき、前記得られた活性値を例えば図１３に示すように変更し、変更した活性値を用いて行動目標活性度記憶部１４に保持された活性度を更新する。
例えば、前記得られた現在の活性度が１．０であるので、図１３に従い前記得られた活性値０．８に＋１．０を加え１．８に変更する。そして、前記得られた現在の活性度１．０に前記変更した活性値１．８を加え、現在の活性度を２．８に更新する。同様に他の行動目標に対する活性度の更新を行い、活性度の更新がすべて終了した直後の行動目標活性度記憶部１４の内容を図１４に示す。
【００３９】
第３実施形態．
請求項５および請求項６の一実施形態である、図２の行動目標関係知識２３、行動目標活性度更新部１５、および行動目標活性度記憶部１４の動作について説明する。なお、第３実施形態において図２の符号１２〜１３および符号１６〜２２の動作は第１実施形態と同じなので省略する。
【００４０】
図１５は、行動目標関係知識２３の一例を示すものであり、例えば行動目標「観光場所決定」に対しては４つの行動目標「神社仏閣決定」、「美術館決定」、「ホテル決定」、「飲食店決定」が関係付けられている。
【００４１】
図１６は、行動目標活性度記憶知識の一例を示すものであり、前記行動目標関係知識２３を参照することにより、例えば、行動目標「観光場所決定」とその活性度１．０の組（観光場所決定，１．０）に対して、４つの行動目標と活性度の組（神社仏閣決定，０．５）、（美術館決定，０．５）、（ホテル決定，０．３）、（飲食店決定，０．５）が関係付けられて保持されている。
【００４２】
例えば、行動目標活性度記憶部１４の内容が図１６であるときに、文意 retrieve( X, category( X,神社仏閣))が入力された場合について説明する。行動目標活性度更新部１５は、前述の文意によって活性度が変化する行動目標「観光場所決定」、「神社仏閣決定」、「飲食店決定」、「ホテル決定」、「ホテル予約」を行動目標活性化知識１３から選択し、例えば行動目標「観光場所決定」の活性値として０．８を得る。さらに、行動目標活性度更新部１５は、前記選択した行動目標に関係付けられた行動目標の現在の活性度を行動目標活性度記憶部１４から検索し、活性度の総和を得る。例えば行動目標「観光場所決定」に関係付けられた４つの行動目標「神社仏閣決定」、「美術館決定」、「ホテル決定」、「飲食店決定」のそれぞれの現在の活性度の総和として１．３を得る。
【００４３】
行動目標活性度更新部１５は、前記得られた活性度の総和に基づき、前記得られた活性値を例えば図１７に示すように変更し、変更した活性値を用いて行動目標活性度記憶部１４に保持された活性度を更新する。
例えば、前記得られた活性度の総和が１．８であるので、図１７に従い前記得られた活性値０．８に＋２．０を加え２．８に変更する。そして、前記得られた現在の活性度１．０に前記変更した活性値２．８を加え、現在の活性度を３．８に更新する。同様に他の行動目標に対する活性度の更新を行い、活性度の更新がすべて終了した直後の行動目標活性度記憶部１４の内容を図１８に示す。
【００４４】
なお、活性度の総和を求めるために参照する各行動目標の活性度は、上記の動作により更新される前の値を用いる。
【００４５】
なお、行動目標活性度記憶部１４における行動目標の関係を表現する構造として、例えば図１９に示すような行動目標を節点とし、行動目標同士を枝で結んだネットワーク構造を用いることにより表現効率を高めることができる。
【００４６】
第４実施形態．
請求項７の一実施形態である図１の行動目標活性度更新部１５の動作について説明する。なお、第４実施形態において図１の符号１２〜１３および符号１４〜２２の動作は第１実施形態と同じなので省略する。
【００４７】
例えば、行動目標活性度記憶部１４の内容が図６であるときに、文意 responce( X, duration(X))が入力された場合について説明する。
行動目標活性度更新部１５は、前述の文意によって活性度が変化する行動目標として「ホテル予約」、その活性値として２．０を行動目標活性化知識１３から得る。そして、得られた活性値２．０を行動目標活性度記憶部１４に保持された行動目標「ホテル予約」の現在の活性度０．３に加え２．３に更新する。さらに、文意 responce( X, duration(X))によって活性度が変化しない行動目標「観光場所決定」、「神社仏閣決定」、「飲食店決定」、「ホテル決定」の、行動目標活性度記憶部１４に保持された活性度に対して、例えば−１．０を加えることにより活性度の更新を行う。以上の動作によって、行動目標活性度記憶部１４の内容は図２０に示すように更新される。
【００４８】
第５実施形態．
請求項８の一実施形態である図１の行動目標活性度記憶部１４および行動目標活性度更新部１５の動作について説明する。なお、第４実施形態において図１の符号１２〜１３および符号１６〜２２の動作は第１実施形態と同じなので省略する。
【００４９】
図２１は、行動目標活性度記憶部１４の一例を示すものであり、（行動目標、活性度、活性度が変化した時刻）の組がそれぞれの行動目標に対して保持されている。例えば、行動目標「ホテル予約」の現在の活性度は０．２であり、活性度が変化した時刻が１．０である。
【００５０】
行動目標活性度更新部１５は、文意が入力されると、例えば図２２に示すような時間ｔの関数で定まるΔを用いて、行動目標活性度記憶部１４に保持された行動目標の活性度を更新する。ここで図中のＮおよびεは定数、ｔactivateは以前に活性度が変化した時刻である。
例えば図２２の関数での定数Ｎ，εがそれぞれＮ＝２．０，ε＝０．３であり、時刻ｔ＝５．０に行動目標活性度記憶部１４の内容が図２１であるときに、例えば文意 responce( X,duration(X)) が入力された場合の、行動目標「観光場所決定」および「ホテル予約」の活性度の更新について説明する。
まず、行動目標「観光場所決定」の、以前に活性度が変化した時刻ｔactivateとして、図２１に示す行動目標活性度記憶部１４からｔactivate＝３．０が得られる。したがって、図２２の関数は具体的には図２３に示すものとなる。
現在の時刻がｔ＝５．０であるので、図２３の関数よりΔは０と定まり、この値を行動目標活性度記憶部１４に保持される現在の活性度０．８に加えることにより、行動目標「観光場所決定」の活性度を０．８に更新する。この場合活性度は変化しないので、行動目標活性度記憶部１４中の活性度が変化した時刻は更新されない。
【００５１】
さらに、行動目標「ホテル予約」の、以前に活性度が変化した時刻ｔactivateとして、図２１に示す行動目標活性度記憶部１４からｔactivate＝１．０が得られる。したがって、図２２の関数は具体的には図２４に示すものとなる。
現在の時刻がｔ＝５．０であるので、図２４の関数よりΔは−０．６と定まり、この値を行動目標活性度記憶部１４に保持される現在の活性度０．２に加えることにより、行動目標「ホテル予約」の活性度を−０．４に更新する。活性度が変化したので、行動目標活性度記憶部１４中の活性度が変化した時刻を５．０に更新する。
【００５２】
さらに、行動目標活性度更新部１５は、前述の文意によって活性度が変化する行動目標として「ホテル予約」、その活性値として２．０を行動目標活性化知識１３から得る。そして、得られた活性値２．０を加えることにより行動目標活性度記憶部１４に保持された現在の活性度−０．４を、１．６に更新する。さらに、活性度が変化したので、行動目標活性度記憶部１４中の活性度が変化した時刻を５．０に更新する。
同様に他の行動目標に対する活性度の更新が行われ、最終的に行動目標活性度記憶部１４の内容は図２５に示すように更新される。
【００５３】
【発明の効果】
この発明は、以上説明したように構成されているので、以下に示すような効果を奏する。
【００５４】
文意抽出部の出力するユーザの文意に対して、行動目標活性度更新部が行動目標活性度記憶部に保持された各行動目標の活性度を更新し、行動目標推定部が行動目標推定知識に基づき行動目標活性度記憶部に保持された活性度からユーザの行動目標を推定するため、ユーザの行動目標の推定・管理が行える。
さらに、システムゴール決定部が、システムゴール知識に基づき、文意抽出部から入力された文意と、行動目標推定部から入力されたユーザの行動目標に応じてシステムのゴールを決定するため、ユーザの行動目標に応じて最も適切な動作・応答の生成が行える。
【００５５】
また、行動目標活性度更新部において、文意抽出部から入力される文意に対して活性度が変化する行動目標および活性値を、前記行動目標活性化知識から検索し、さらに検索された行動目標の現在の活性度を行動目標活性度記憶部から検索して、得られた活性値と現在の活性度に応じて行動目標活性度記憶部に保持される活性度を更新するため、現在のユーザの行動目標を考慮したユーザの行動目標の推定・管理が行える。
【００５６】
さらに、ユーザの行動目標の関係を行動目標関係知識として規定し、行動目標活性度記憶部において、前記行動目標関係知識を参照することにより、行動目標の関係を表現する構造で行動目標と活性度の組を保持し、行動目標活性度更新部において、文意抽出部から入力される文意に対して活性度が変化する行動目標および活性値を、前記行動目標活性化知識から検索し、さらに検索された行動目標に関連付けられた行動目標の活性度を前記行動目標活性度記憶部から検索して、得られた活性値と、関連付けられた行動目標の活性度に応じて前記行動目標活性度記憶部に保持される活性度を更新するため、複数の行動目標相互の活性度を考慮したユーザの行動目標の推定・管理が行なえる。
【００５７】
さらにまた、行動目標を節点とし行動目標同士を枝で結んだネットワーク構造で行動目標の関係を表現するので、複数の行動目標相互の活性度を考慮したユーザの行動目標の推定・管理が行える
【００５８】
また、行動目標活性度更新部において、文意抽出部から入力される文意に対して活性度の変化が対応付けられていない行動目標に対しても、行動目標活性度記憶部に保持される活性度を更新するので、ユーザの行動目標の推定・管理が適切に行える。
【００５９】
さらに、行動目標活性度記憶部において、行動目標と、前記行動目標がどの程度活性化しているかを表す活性度と、前記行動目標活性度更新部によって活性度が変化した時刻の組を保持し、行動目標更新部において、行動目標活性度記憶部に保持される活性度を時間の関数で更新するので、ユーザの行動目標の推定・管理が適切に行える。
【図面の簡単な説明】
【図１】  本発明の一実施形態を示す対話管理システムの機能ブロック構成図である。
【図２】  本発明の一実施形態を示す対話管理システムの機能ブロック構成図である。
【図３】  本発明の第１実施形態における文意抽出部によって抽出される文意の一形態を示す図である。
【図４】  本発明の第１実施形態における行動目標活性化知識の一形態を示す図である。
【図５】  本発明の第１実施形態における行動目標活性度記憶部の一形態を示す図である。
【図６】  本発明の第１実施形態における行動目標活性度記憶部の別の一形態を示す図である。
【図７】  本発明の第１実施形態における行動目標活性度記憶部の別の一形態を示す図である。
【図８】  本発明の第１実施形態における行動目標活性度記憶部の別の一形態を示す図である。
【図９】  本発明の第１実施形態におけるシステムゴール知識の一形態を示す図である。
【図１０】  本発明の第１実施形態におけるゴール記憶部の一形態を示す図である。
【図１１】  本発明の第１実施形態におけるゴール記憶部の別の一形態を示す図である。
【図１２】  本発明の第１実施形態におけるゴール記憶部のさらに別の一形態を示す図である。
【図１３】  本発明の第２実施形態における行動目標活性度更新部での活性値変更規則の一形態を示す図である。
【図１４】  本発明の第２実施形態における行動目標活性度記憶部の別の一形態を示す図である。
【図１５】  本発明の第３実施形態における行動目標関係知識の一形態を示す図である。
【図１６】  本発明の第３実施形態における行動目標活性度記憶部の一形態を示す図である。
【図１７】  本発明の第３実施形態における行動目標活性度更新部での活性値変更規則の一形態を示す図である。
【図１８】  本発明の第３実施形態における行動目標活性度記憶部の別の一形態を示す図である。
【図１９】  本発明の第３実施形態における行動目標活性度記憶部の別の一形態を示す図である。
【図２０】  本発明の第４実施形態における行動目標活性度記憶部の一形態を示す図である。
【図２１】  本発明の第５実施形態における行動目標活性度記憶部の一形態を示す図である。
【図２２】  本発明の第５実施形態における関数の一形態を示す図である。
【図２３】  本発明の第５実施形態における関数の別の一形態を示す図である。
【図２４】  本発明の第５実施形態における関数の別の一形態を示す図である。
【図２５】  本発明の第５実施形態における行動目標活性度記憶部の別の一形態を示す図である。
【図２６】  従来の対話処理方法を示す図である。
【符号の説明】
１  入力部、２  言語解析部、３  モーダル解析部、４  推論部、５  出力部、６  対話履歴管理部、７  矛盾検出部、８  矛盾条件特定部、９  モーダル情報テーブル、１０  知識ベース、１１  対話履歴バッファ、１２  文意抽出部、１３  行動目標活性化知識、１４  行動目標活性度記憶部、１５  行動目標活性度更新部、１６  行動目標推定知識、１７  行動目標推定部、１８  システムゴール知識、１９  システムゴール決定部、２０  ゴール記憶部、２１  ゴール管理部、２２  外部アプリケーション、２３  行動目標関係知識。
【図１】
0003770667.tif 000002
【図２】
0003770667.tif 000003
【図３】
0003770667.tif 000004
【図４】
0003770667.tif 000005
【図５】
0003770667.tif 000006
【図６】
0003770667.tif 000007
【図７】
0003770667.tif 000008
【図８】
0003770667.tif 000009
【図９】
0003770667.tif 000010
【図１０】
0003770667.tif 000011
【図１１】
0003770667.tif 000012
【図１２】
0003770667.tif 000013
【図１３】
0003770667.tif 000014
【図１４】
0003770667.tif 000015
【図１５】
0003770667.tif 000016
【図１６】
0003770667.tif 000017
【図１７】
0003770667.tif 000018
【図１８】
0003770667.tif 000019
【図１９】
0003770667.tif 000020
【図２０】
0003770667.tif 000021
【図２１】
0003770667.tif 000022
【図２２】
0003770667.tif 000023
【図２３】
0003770667.tif 000024
【図２４】
0003770667.tif 000025
【図２５】
0003770667.tif 000026
【図２６】
0003770667.tif 000027