(57)【要約】  意図推定重み決定部９は、意図階層グラフデータ８と、活性化している意図を元に意図推定重みを決定する。遷移ノード決定部１０は、意図推定重みに従って意図推定結果を修正した上で、新たに遷移して活性化する意図を決定する。対話ターン生成部１３は、活性化した意図から対話のターンを生成する。対話制御部２は、対話のターンにより新たな入力が与えられた場合、意図推定部７、意図推定重み決定部９、遷移ノード決定部１０および対話ターン生成部１３のうち、少なくともいずれかの処理を制御し、これを繰り返すことにより、最終的に、設定されたコマンドを実行する。
2015075975.tif 000002
【特許請求の範囲】
【請求項１】
自然言語による入力を形態素列に変換したデータに基づいて当該入力の意図を推定する意図推定部と、
意図を階層構造としたデータと対象とする時点で活性化している意図とを元に、前記意図推定部で推定された意図の意図推定重みを決定する意図推定重み決定部と、
前記意図推定重み決定部で決定された前記意図推定重みに従って前記意図推定部の推定結果を修正した上で、新たに遷移して活性化する意図を決定する遷移ノード決定部と、
前記遷移ノード決定部で活性化した１つまたは複数の意図から対話のターンを生成する対話ターン生成部と、
前記対話ターン生成部で生成された対話のターンにより新たな自然言語による入力が与えられた場合、前記意図推定部、前記意図推定重み決定部、前記遷移ノード決定部および前記対話ターン生成部が行う処理のうち、少なくともいずれかの処理を制御し、当該制御を繰り返すことにより、最終的に、設定されたコマンドを実行する対話制御部とを備えたことを特徴とする対話制御装置。
【請求項２】
対話ターン生成部に代えて、前記遷移ノード決定部で活性化した１つまたは複数の意図から対話のターンを生成すると共に、前記対話の結果として実行したコマンドを記録しておき、かつ、コマンド実行履歴中の選択肢意図のうち実行意図とならなかった意図が一定時間以内に実行された場合に登録されるリストを用いて対話のターンを生成する履歴考慮対話ターン生成部を備えたことを特徴とする請求項１記載の対話制御装置。
【請求項３】
履歴考慮対話ターン生成部は、コマンド実行履歴中の選択肢意図のうち実行意図とならなかった意図が一定時間以内に実行された場合に確認を行う対話ターンを生成し、当該対話ターンの生成後、前記リストに存在する選択肢意図のうち、前記実行意図とならなかった意図が一定時間以内に実行されることがなく、かつ、これが設定回数繰り返された場合は当該リストを削除すると共に、前記確認を行う対話ターンの生成を停止することを特徴とする請求項２記載の対話制御装置。
【請求項４】
遷移ノード決定部で決定した意図が、意図階層で定義されたリンクで無い想定外意図への遷移であった場合に遷移元から遷移先のリンク情報を追加する遷移制御部を有し、
前記遷移ノード決定部は、前記遷移制御部で追加されたリンクを通常リンクと同様に扱って遷移する意図を決定することを特徴とする請求項１記載の対話制御装置。
【請求項５】
前記遷移リンク制御部は、前記想定外意図への遷移が複数あり、かつ、当該複数の想定外意図が共通の意図を親ノードとして持つ場合、前記想定外意図への遷移を前記親ノードへの遷移に置き換えること特徴とする請求項４記載の対話制御装置。
【請求項６】
自然言語による入力の意図を推定して対話を行い、その結果として設定されたコマンドを実行する対話制御装置を用い、
前記自然言語による入力を形態素列に変換したデータに基づいて当該入力の意図を推定する意図推定ステップと、
意図を階層構造としたデータと対象とする時点で活性化している意図とを元に、前記意図推定ステップで推定された意図の意図推定重みを決定する意図推定重み決定ステップと、
前記意図推定重み決定ステップで決定された前記意図推定重みに従って前記意図推定ステップの推定結果を修正した上で、新たに遷移して活性化する意図を決定する遷移ノード決定ステップと、
前記遷移ノード決定ステップで活性化した１つまたは複数の意図から対話のターンを生成する対話ターン生成ステップと、
前記対話ターン生成ステップで生成された対話のターンにより新たな自然言語による入力が与えられた場合、前記意図推定ステップ、前記意図推定重み決定ステップ、前記遷移ノード決定ステップおよび前記対話ターン生成ステップのうち、少なくともいずれかのステップを制御し、当該制御を繰り返すことにより、最終的に、設定されたコマンドを実行する対話制御ステップとを備えたことを特徴とする対話制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、入力された自然言語に基づいて対話を行い、ユーザの意図に応じたコマンドを実行する対話制御装置および対話制御方法に関するものである。
【背景技術】
【０００２】
近年、人間が話す言葉を音声入力し、その認識結果を用いて、操作を実行する方法が注目されている。この技術は、携帯電話やカーナビなどの音声インタフェースとして利用されているが、基本的な方法としては、予めシステムが想定した音声認識結果と操作を対応付け、音声認識結果が想定したものの場合には、操作を実行するというものである。この方法は、従来の手操作と比べると、音声の発話によって直接操作が行えるため、ショートカット機能として有効に働く。一方で、ユーザは操作を実行するためにシステムが待ち受けている言葉を発話する必要があり、システムが扱う機能が増えていくと、憶えておかなくてはならない言葉が増えていく。また、一般には、取り扱い説明書を十分に理解した上で使用するユーザは少なく、結果的に操作のために何をどう言えばいいのかが分からないため、実際には憶えている機能以外、音声で操作できないという問題がある。【０００３】
そこで、それを改良した従来の技術として、ユーザが目的を達成するためのコマンドを憶えていなくても目的を達成するための方法として、対話によってシステムが誘導して目的を達成に導く方法が開示されている。その実現の方法の１つに、予め対話シナリオを木構造に構成しておき、木構造のルートから中間ノードを辿っていき（以後、木構造上を遷移することをノードが活性化するという）、末端ノードに到達した時点で、ユーザが目的を達成する方法があった。対話シナリオの木構造のどれを辿っていくかは、木構造の各ノードが保持しているキーワードを、その時点で活性化している意図の遷移先をユーザの発話中にどのキーワードが含まれるかで決定する。【０００４】
さらに、例えば、特許文献１に記載されたような技術では、そのようなシナリオを複数持ち、各シナリオがそのシナリオを特徴付ける複数のキーワードを保持することで、最初のユーザの発話からどのシナリオを選択して対話を進めるかを決定する。また、ユーザが発話した内容が現在進行中のシナリオの木構造の遷移先に一致するものが無かった場合に、複数のシナリオに付与された複数のキーワードを元に別のシナリオを選択してルートから対話を進めることで、話題を替える方法が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−１７０８１７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
従来の対話制御装置は上記のように構成されていたので、遷移が不可能であった場合に新たなシナリオを選択するということは可能である。しかしながら、例えばシステムの機能設計を元に作成された木構造のシナリオとユーザが想定する機能を表す表現が異なった場合に、あるシナリオが選択されて木構造のシナリオを利用した対話中にユーザが発話した内容がシナリオ想定外の発話だった場合には、別のシナリオの可能性があるとして、発話内容から尤もらしいシナリオを選択することになる。発話の内容が曖昧な場合には、進行中のシナリオの選択が優先されるため、別シナリオのほうがより尤もらしい場合でも遷移が行われないという課題があった。また、従来の方法はシナリオ自体を動的に変更することは出来ないため、システムの機能設計を元に作成された木構造のシナリオが、ユーザが想定する機能構造と異なったときや、ユーザが機能を誤解していたときに、木構造のシナリオをカスタマイズすることが出来ないという課題があった。【０００７】
この発明は上記のような課題を解決するためになされたもので、想定外の入力に対しても適切な遷移を行い、適切なコマンドを実行することのできる対話制御装置を得ることを目的とする。
【課題を解決するための手段】
【０００８】
この発明に係る対話制御装置は、自然言語による入力を形態素列に変換したデータに基づいて入力の意図を推定する意図推定部と、意図を階層構造としたデータと対象とする時点で活性化している意図とを元に、意図推定部で推定された意図の意図推定重みを決定する意図推定重み決定部と、意図推定重み決定部で決定された意図推定重みに従って意図推定部の推定結果を修正した上で、新たに遷移して活性化する意図を決定する遷移ノード決定部と、遷移ノード決定部で活性化した１つまたは複数の意図から対話のターンを生成する対話ターン生成部と、対話ターン生成部で生成された対話のターンにより新たな自然言語による入力が与えられた場合、意図推定部、意図推定重み決定部、遷移ノード決定部および対話ターン生成部が行う処理のうち、少なくともいずれかの処理を制御し、この制御を繰り返すことにより、最終的に、設定されたコマンドを実行する対話制御部とを備えたものである。
【発明の効果】
【０００９】
この発明の対話制御装置は、推定された意図の意図推定重みを決定し、この意図推定重みに従って意図の推定結果を修正した上で、新たに遷移して活性化する意図を決定するようにしたので、想定外の入力に対しても適切な遷移が行われ、適切なコマンドを実行することができる。
【図面の簡単な説明】
【００１０】
【図１】この発明の実施の形態１による対話制御装置を示す構成図である。
【図２】この発明の実施の形態１による対話制御装置の意図階層データの一例を示す説明図である。
【図３】この発明の実施の形態１による対話制御装置の対話例を示す説明図である。
【図４】この発明の実施の形態１による対話制御装置の対話での意図遷移を示す説明図である。
【図５】この発明の実施の形態１による対話制御装置の意図推定結果を示す説明図である。
【図６】この発明の実施の形態１による対話制御装置の対話シナリオデータを示す説明図である。
【図７】この発明の実施の形態１による対話制御装置の対話履歴データを示す説明図である。
【図８】この発明の実施の形態１による対話制御装置の対話の流れを示すフローチャートである。
【図９】この発明の実施の形態１による対話制御装置の対話ターンの生成処理の流れを示すフローチャートである。
【図１０】この発明の実施の形態２による対話制御装置を示す構成図である。
【図１１】この発明の実施の形態２による対話制御装置の対話例を示す説明図である。
【図１２】この発明の実施の形態２による対話制御装置の意図推定結果を示す説明図である。
【図１３】この発明の実施の形態２による対話制御装置のコマンド履歴データを示す説明図である。
【図１４】この発明の実施の形態２による対話制御装置のコマンド履歴データへの追加処理の流れを示すフローチャートである。
【図１５】この発明の実施の形態２による対話制御装置のユーザへの確認を行うか否かを判定する処理の流れを示すフローチャートである。
【図１６】この発明の実施の形態３による対話制御装置を示す構成図である。
【図１７】この発明の実施の形態３による対話制御装置の対話例を示す説明図である。
【図１８】この発明の実施の形態３による対話制御装置の意図推定結果を示す説明図である。
【図１９】この発明の実施の形態３による対話制御装置の追加遷移リンクデータを示す説明図である。
【図２０】この発明の実施の形態３による対話制御装置の追加遷移リンクの変更処理の流れを示すフローチャートである。
【図２１】この発明の実施の形態３による対話制御装置の変更後の意図階層データデータを示す説明図である。
【発明を実施するための形態】
【００１１】
以下、この発明をより詳細に説明するために、この発明を実施するための形態について、添付の図面に従って説明する。
実施の形態１．
図１は、この発明の実施の形態１による対話制御装置を示す構成図である。
図１に示す対話制御装置は、音声入力部１、対話制御部２、音声出力部３、音声認識部４、形態素解析部５、意図推定モデル６、意図推定部７、意図階層グラフデータ８、意図推定重み決定部９、遷移ノード決定部１０、対話シナリオデータ１１、対話履歴データ１２、対話ターン生成部１３、音声合成部１４を備えている。
【００１２】
音声入力部１は、対話制御装置で音声入力を受け付ける入力部である。対話制御部２は、音声認識部４〜音声合成部１４を制御して対話を進行し、最終的に意図に割り付けられたコマンドを実行する制御部である。音声出力部３は、対話制御装置で音声出力を行う出力部である。音声認識部４は、音声入力部１から入力した音声を認識してテキストに変換する処理部である。形態素解析部５は、音声認識部４で認識した認識結果を形態素に分割する処理部である。意図推定モデル６は、形態素解析部５で解析した形態素解析結果を使い意図を推定するための意図推定モデルのデータである。意図推定部７は、形態素解析部５で解析した形態素解析結果を入力として、意図推定モデル６を使って意図推定結果を出力する処理部であり、意図とその意図の尤もらしさを表すスコアの組のリストを出力する。
【００１３】
例えば、意図は「＜主意図＞［＜スロット名＞＝＜スロット値＞，…］」のような形で表現される。例としては、「目的地設定［施設＝？］」や「目的地設定［施設＝＄施設＄（＝○○ラーメン）］」のように表現できる。「目的地設定［施設＝？］」は目的地を設定したいが具体的な施設名が決定していない状態を示し、「目的地設定［施設＝＄施設＄（＝○○ラーメン）］」は「○○ラーメン」という具体的な施設を目的地に設定したい状態を示す。
【００１４】
ここで、意図推定部７での意図推定方式は、例えば最大エントロピー法などの方法が利用できる。具体的には、「目的地を設定したい」という発話に対して、形態素解析結果から「目的地、設定」という自立語単語（以下、素性と呼ぶ）を抽出したものと、正解意図「目的地設定［施設＝？］」の組を与えておき、大量に収集した素性と意図との組から統計的手法によって入力素性のリストに対して、どの意図がどれだけ尤もらしいかを推定する方法が利用できる。以下では最大エントロピー法を利用した意図推定を行うものとして説明する。
【００１５】
意図階層グラフデータ８は、意図を階層的に表現したものである。例えば、「目的地設定［施設＝？］」、「目的地設定［施設＝＄施設＄（＝○○ラーメン）］」のような形で表現される２つの意図は、上位により抽象的な意図「目的地設定［施設＝？］」が階層の上位に存在し、その下に具体的スロットが埋まった「目的地設定［施設＝＄施設＄（＝○○ラーメン）］」が位置づけられる。また、対話制御部２で推定した現在活性化中の意図が何かも保持している。
【００１６】
意図推定重み決定部９は、意図階層グラフデータ８の意図の階層情報と活性化した意図の情報から、意図推定部７で推定した意図のスコアにつける重みを決定する処理部である。遷移ノード決定部１０は、意図推定部７で推定した意図と意図のスコアのリストを、意図推定重み決定部９で決定した重みによって再評価することで、次に活性化するべき意図（複数の場合も含む）を選択する処理部である。
【００１７】
対話シナリオデータ１１は、遷移ノード決定部１０によって選択された１つまたは複数の意図が、次に何を実行すべきかを記述した対話シナリオのデータである。また、対話履歴データ１２は、対話の状態を記憶しておく対話履歴のデータである。対話履歴データ１２は、直前の状態に応じて、動作を変更したり、確認対話を行ったときにユーザが否定を行ったりした場合に直前の状態に戻るための情報を保持している。対話ターン生成部１３は、遷移ノード決定部１０によって選択された１つまたは複数の意図を入力として、対話シナリオデータ１１、対話履歴データ１２などを利用して、システム応答の生成、実行する操作の決定、ユーザからの次の入力の待ち受けなどのシナリオを生成する対話ターンの生成部である。音声合成部１４は、対話ターン生成部１３で生成したシステム応答を入力として合成音声を生成する処理部である。
【００１８】
図２はカーナビゲーションを想定した意図階層データの例である。図中、ノード２１〜３０，８６は、意図階層の意図を表す意図ノードである。意図ノード２１は意図階層の一番上のルートノードで、その下には、ナビゲーション機能のまとまりを表す意図ノード２２がぶら下がる。意図８１は、遷移リンクの間に設定される特殊意図の例である。意図８２，８３は、対話時にユーザに対して確認を要求した場合の特殊意図である。意図８４は、対話状態を一つ戻るための特殊意図、意図８５は、対話を中止するための特殊意図である。
【００１９】
図３は、実施の形態１における対話の例である。行頭の「Ｕ：」は、ユーザの発話を表している。「Ｓ：」はシステムからの応答を表している。３１，３３，３５，３７，３９はシステム応答、３２，３４，３６，３８はユーザ発話であり、順番に対話が進んでいることを示している。
【００２０】
図４は、図３の対話が進むに従って、どのような意図ノードの遷移が起こるかを示した遷移の例である。２８はユーザ発話３２にて活性化した意図、２５はユーザ発話３４で活性化しなおした意図、２６はユーザ発話３８によって活性化した意図、４１は意図ノード２８が活性化したときに優先的に意図推定される優先意図推定範囲である。４２は、遷移したリンクを示している。
【００２１】
図５は、意図推定結果の例と、対話状態によって意図推定結果を修正する式の例とを示した説明図である。式５１は意図推定結果のスコア修正式を示し、５２〜５６は意図推定結果である。
図６は対話シナリオデータ１１に格納されている対話シナリオの図である。活性化した意図ノードに対して、どのようなシステム応答を行うか、また対話制御装置が操作する機器にどのようなコマンド実行を行うかが記述されている。６１〜６７は意図ノードに対する対話シナリオである。一方、６８，６９は、複数の意図ノードが活性化している場合に、選択をさせるためのシステム応答を記述したい場合に登録しておく対話シナリオである。一般には、複数の意図ノードが活性化した場合は、それぞれの意図ノードの対話シナリオの実行前応答プロンプトを使って接続する。
図７は、対話履歴データ１２であり、７１〜７７は、各意図に対するバックトラックポイントを示している。
【００２２】
図８は実施の形態１における対話の流れを示すフローチャートである。ステップＳＴ１１からステップＳＴ１７までのステップに従うことで、対話が実行される。
図９は実施の形態１における対話ターン生成の流れを示すフローチャートである。ステップＳＴ２１からステップＳＴ２９までのステップに従うことで、意図ノードが１つだけ活性化した場合の対話ターンが生成される。一方、意図ノードが複数活性化した場合は、ステップＳＴ３０において、活性化意図ノード選択のためのシステム応答を対話ターンに追加する。
【００２３】
次に、実施の形態１の対話制御装置の動作について説明する。本実施の形態では、入力（１つまたは複数のキーワードや文での入力）は自然言語の音声であるとして以下の動作を説明する。また、本発明では、音声に関する誤認識は関係しないので、以降、ユーザの発話は誤認識無く正しく認識されるものとして説明する。実施の形態１では、明示しない発話開始ボタンを使い、対話が開始されるものとする。また、対話を開始する前は、図２の意図階層グラフの意図ノードはどれも活性化していない状態にある。
【００２４】
最初にユーザが発話開始ボタンを押すと、対話が開始されシステムが対話開始を促すシステム応答と共にビープ音を出力する。例えば、発話開始ボタンを押すと、システム応答３１「ピッと鳴ったらお話ください」とシステム応答し、ビープ音が鳴ると共に音声認識部４が認識可能状態となる。ステップＳＴ１１に移ると、そこでユーザは発話３２「ルートを変更したい」と発話したとすると、音声入力部１から音声が入力され、音声認識部４でテキストに変換される。ここでは、正しく認識されたとする。音声認識が終了すると、ステップＳＴ１２に処理を移し、「ルートを変更したい」が形態素解析部５に渡される。形態素解析部５は、認識結果を解析して、「ルート／名詞、を／助詞、変更／名詞（サ変接続）、し／動詞、たい／助動詞」のように形態素解析を行う。
【００２５】
続いて、ステップＳＴ１３に処理を移し、形態素解析された結果は意図推定部７に渡され、意図推定モデル６を使って意図推定を行う。意図推定部７では、形態素解析形跡結果から意図推定に使う素性を抽出する。先ず、ステップＳＴ１３では、発話例３２の認識結果の形態素解析結果からは「ルート、設定」という素性のリストが抽出され、その素性を元に意図推定部７で意図推定が行われる。このとき、意図推定の結果は、意図推定結果５２のようになり、意図「ルート選択［タイプ＝？］」のスコア０．９７２が得られる（実際には、それ以外の意図にもスコアが振られている）。
【００２６】
意図推定結果が得られると、ステップＳＴ１４に処理を移し、意図推定部７で推定した意図とスコアの組のリストは、遷移ノード決定部１０に渡され、スコアの修正を行った上で、ステップＳＴ１５に処理を移し、活性化させる遷移ノードを決定する。スコアの修正は例えばスコア修正式５１のような形のものを使う。式中、ｉは意図を表し、ｓｉは意図ｉのスコアを表す。関数Ｉ（ｓｉ）は、意図ｉが活性化した意図の下位階層に位置する優先意図推定範囲ならば１．０を、優先意図推定範囲外ならばα（０≦α≦１）を返すような関数として定義する。なお、実施の形態１ではα＝０．０１とする。すなわち、活性化した意図から遷移できない意図の場合には、スコアを落としてスコアの総和が１となるように修正する。「ルートを変更したい」の発話が行われた状況では、意図階層グラフでどのノードも活性化した状態に無いため全ての意図スコアが０．０１倍され総和で割るので、結局修正後のスコアは元のスコアとなる。
【００２７】
次に、ステップＳＴ１５では、遷移ノード決定部１０で活性化意図セットを決定する。遷移ノード決定部１０の動作としては、例えば次のような意図ノードの決定方法がある。
（ａ）最大スコアが０．６以上の場合は、最大スコアのノードを１つだけ活性化
（ｂ）最大スコアが０．６未満の場合は、スコアが０．１以上のノードを複数活性化
（ｃ）最大スコアが０．１未満の場合は、意図理解できなかったとして活性化しない
実施の形態１の場合、「ルートを変更したい」の発話が行われた状況では、最大スコアが０．９７２となるので、意図「ルート選択［タイプ＝？］」だけが遷移ノード決定部１０で活性化する。
【００２８】
遷移ノード決定部１０で、意図ノード２８が活性化すると、ステップＳＴ１６に処理を移し、対話ターン生成部１３にて対話シナリオデータ１１に書かれた内容を元に次のターンの処理リストを生成する。具体的には図９の処理フローとなる。先ず、図９のステップＳＴ２１において、活性化している意図ノードは意図ノード２８だけなので、ステップＳＴ２２に処理を移す。意図ノード２８の対話シナリオ６１には、ＤＢ検索条件が無いので、ステップＳＴ２８に処理を移す。対話シナリオ６１にはコマンドも定義されていないので、ステップＳＴ２７に処理を移し、意図ノード２８の下位意図ノード２９，３０などを選択するためのシステム応答を生成する。応答は、対話シナリオ６１が選択され、実行前プロンプトの「ルートを変更します。有料優先、一般優先などが選べます。」がシステム応答として対話ターンに追加され、図９のフローは終了する。ステップＳＴ１６では、対話制御部２は対話ターンを受け取り、対話ターンに追加された処理を順番に処理する。システム応答３３の音声を音声合成部１４で作成し、音声出力部３から出力する。対話ターンの実行が終了すると、ステップＳＴ１７に処理を移す。対話ターンにはコマンドがなかったので、処理をステップＳＴ１１に移して、ユーザの入力待ちとなる。
【００２９】
音声入力待ちとなった時点で１つの対話ターンが完了し、対話制御部２で処理を継続する。以下、図８のフローが繰り返されるので詳細な記述は省く。ユーザ発話３４「近くのラーメン屋を探して」が入力されて、音声認識部４で正しく認識され、形態素解析部５で形態素解析され、その形態素解析結果を元に、意図推定部７で意図推定した結果が、意図推定結果５３，５４のように得られたとする。次に、遷移ノード決定部１０では、この時点で、意図ノード２８だけが活性化しているため、優先意図推定範囲４１の意図推定結果５４はそのままで、優先意図推定範囲外の意図推定結果５３はα倍して、スコア修正式５１に従って、スコアを再計算する。再計算の結果は意図推定結果５５，５６のようになり、重みを付けた上でも、意図推定結果５５をユーザの発話の意図とすべきと決定し活性化ノードを意図ノード２５とする。
【００３０】
対話ターン生成部１３は、活性化意図ノードが遷移したことと、遷移元からのリンクが無いことを踏まえて、対話ターンを生成する。遷移がないところに移動するので、確認のうえ実行することとする。まず、対話シナリオ６７が選択されると、実行前プロンプトの「現在地近くの＄ジャンル＄を検索します。」が選択され、意図推定結果の「＄ジャンル＄（＝ラーメン屋）」の情報から、「＄ジャンル＄」を「ラーメン屋」で置き換え、システム応答「現在地近くのラーメン屋を検索します。」を生成する。さらに、確認応答を追加して「現在地近くのラーメン屋を検索します。よろしいですか」をシステム応答とする。そしてコマンドが定義されていないので、対話が継続するとして、ユーザ入力待ちとなる。
【００３１】
ここでユーザが、ユーザ発話３６「はい。」のように発話すれば、音声認識部４、形態素解析部５、意図推定部７で確認用の特殊意図「確認［値＝ＹＥＳ］」が生成される。遷移ノード決定部１０の処理は、有効な特殊意図８２「確認［値＝ＹＥＳ］」選択され、意図ノード２５への遷移が確定する（遷移リンク４２で示す）。なお、ここで、ユーザが「いいえ」のように、否定する発話を行った場合は、意図推定部７で特殊意図「確認［値＝ＮＯ］」が高スコアの意図推定結果として推定され、遷移ノード決定部１０の処理は、特殊意図８３「確認［値＝ＮＯ］」が有効であることから、図７に示す対話履歴データ１２を元に直前のバックトラックポイントまで戻り、新たな入力をユーザに促す対話を続けることとなる。
【００３２】
次に、意図ノード２５の状態が確定すると、対話ターン生成部１３で対話シナリオ６７を使って、実行後プロンプト「現在地近くの＄ジャンル＄を検索しました」の「＄ジャンル＄」を「ラーメン屋」で置換して、「現在地近くのラーメン屋を検索しました」とシステム対話応答を生成する。次に、対話シナリオ６７にＤＢ検索条件があるため、ＤＢ検索「ＳｅａｒｃｈＤＢ（現在地、ラーメン屋）」を実行するよう対話ターンに追加、その結果を受けて、「リストから選択してください」をシステム応答として対話ターンに追加して次の処理に移る（図９におけるステップＳＴ２２→ステップＳＴ２３→ステップＳＴ２４→ステップＳＴ２５）。なお、ＤＢ検索の結果検索結果が１件しかなかった場合は、ステップＳＴ２６に処理を移して検索結果が１件であったことを知らせるシステム応答を対話ターンに追加してステップＳＴ２７に処理を移す。
【００３３】
対話制御部２は受け取った対話ターンに従って、システム応答３７「現在地近くのラーメン屋を検索しました。リストから選択してください。」と音声出力し、データベース検索したラーメン店のリストを表示し、ユーザの発話待ちの状態になる。ユーザがユーザ発話３８「○○ラーメンに立ち寄って」を発話し、正しく音声認識、形態素解析、意図理解がされると、意図「経由地設定［施設＝＄施設＄］」が意図推定され、意図「経由地設定［施設＝＄施設＄］」は、意図ノード２５の下位であることから意図ノード２６への遷移が実行される。
結果として、意図ノード２６「経由地設定［施設＝＄施設＄］」の対話シナリオ６３が選択され、コマンド「Ａｄｄ（経由地，○○ラーメン）」を対話ターンに追加する。続いて、システム応答３９「○○ラーメンを経由地にしました」を対話ターンに追加する（図９におけるステップＳＴ２２→ステップＳＴ２８→ステップＳＴ２９→ステップＳＴ２７）。
【００３４】
最後に、対話制御部２は、受け取った対話ターンを順番に実行する。すなわち、経由地の追加を実行して、さらに「○○ラーメンを経由地にしました」と合成音で出力する。この対話ターンには、コマンド実行が含まれているので、対話を終了して、最初の発話開始待ち状態に戻る。
【００３５】
以上説明したように、実施の形態１の対話制御装置によれば、自然言語による入力を形態素列に変換したデータに基づいて入力の意図を推定する意図推定部と、意図を階層構造としたデータと対象とする時点で活性化している意図とを元に、意図推定部で推定された意図の意図推定重みを決定する意図推定重み決定部と、意図推定重み決定部で決定された意図推定重みに従って意図推定部の推定結果を修正した上で、新たに遷移して活性化する意図を決定する遷移ノード決定部と、遷移ノード決定部で活性化した１つまたは複数の意図から対話のターンを生成する対話ターン生成部と、対話ターン生成部で生成された対話のターンにより新たな自然言語による入力が与えられた場合、意図推定部、意図推定重み決定部、遷移ノード決定部および対話ターン生成部が行う処理のうち、少なくともいずれかの処理を制御し、この制御を繰り返すことにより、最終的に、設定されたコマンドを実行する対話制御部とを備えたので、想定外の入力に対しても適切な遷移が行われ、ユーザの要求に合った処理を行うことができる。
【００３６】
また、実施の形態１の対話制御方法によれば、自然言語による入力の意図を推定して対話を行い、その結果として設定されたコマンドを実行する対話制御装置を用い、自然言語による入力を形態素列に変換したデータに基づいて入力の意図を推定する意図推定ステップと、意図を階層構造としたデータと対象とする時点で活性化している意図とを元に、意図推定ステップで推定された意図の意図推定重みを決定する意図推定重み決定ステップと、意図推定重み決定ステップで決定された意図推定重みに従って意図推定ステップの推定結果を修正した上で、新たに遷移して活性化する意図を決定する遷移ノード決定ステップと、遷移ノード決定ステップで活性化した１つまたは複数の意図から対話のターンを生成する対話ターン生成ステップと、対話ターン生成ステップで生成された対話のターンにより新たな自然言語による入力が与えられた場合、意図推定ステップ、意図推定重み決定ステップ、遷移ノード決定ステップおよび対話ターン生成ステップのうち、少なくともいずれかのステップを制御し、この制御を繰り返すことにより、最終的に、設定されたコマンドを実行する対話制御ステップとを備えたので、想定外の入力に対しても適切な遷移が行われ、ユーザの要求に合った処理を行うことができる。
【００３７】
実施の形態２．
図１０は、実施の形態２の対話制御装置を示す構成図である。図中、音声入力部１〜対話履歴データ１２及び音声合成部１４は実施の形態１と同様であるため、対応する部分に同一符号を付してその説明を省略する。
コマンド履歴データ１５は、これまで実行したコマンドを実行時刻と共に記憶しておくデータである。また、履歴考慮対話ターン生成部１６は、対話シナリオデータ１１、対話履歴データ１２を用いる実施の形態１の対話ターン生成部１３の機能に加えて、コマンド履歴データ１５を用いて対話ターンを生成する処理部である。
【００３８】
図１１は、実施の形態２における対話の例である。実施の形態１における図３と同様に、１０１，１０３，１０５，１０６，１０８，１０９，１１１，１１３，１１５はシステム応答、１０２，１０４，１０７，１１０，１１２，１１４はユーザ発話であり、順番に対話が進んでいることを示している。図１２は意図推定結果の例を示した図である。１２１〜１２４は意図推定結果である。
【００３９】
図１３は、コマンド履歴データ１５の例である。コマンド履歴データ１５は、コマンド実行履歴リスト１５ａとコマンド誤解可能性リスト１５ｂから構成される。コマンド実行履歴リスト１５ａにおけるコマンド実行履歴はコマンドが実行された結果を時間と共に記録しておく。また、コマンド誤解可能性リスト１５ｂはコマンド実行履歴中の選択肢意図のうち実行意図とならなかった意図が一定時間以内に実行された場合に登録されるリストである。
図１４は、実施の形態２における履歴考慮対話ターン生成部１６でターンを生成したときのコマンド履歴データ１５へのデータ追加処理のフローチャートである。また、図１５は履歴考慮対話ターン生成部１６でコマンド実行予定意図が決まったときに、ユーザに確認を取るかどうかについての処理を示すフローチャートである。
【００４０】
次に、実施の形態２の対話制御装置の動作について説明する。実施の形態２での基本的な動作は実施の形態１と同様であるが、実施の形態１との違いは、対話ターン生成部１３の動作が、コマンド履歴データ１５を加えて動作する履歴考慮対話ターン生成部１６の動作となっていることである。すなわち、実施の形態１との相違点としては、システム応答にて誤解可能性意図が最終的にコマンド定義のある意図として選択された場合に、直接実行するシナリオを生成するのではなく、確認をとる対話ターンを生成することである。
【００４１】
実施の形態２における対話は、ユーザがアプリケーションをよく理解しておらず、目的地を設定するつもりで登録地を追加してしまい、後に、気がついて、改めて目的地に設定した場合を示す。対話全体の流れは、実施の形態１と同様で、図８のフローに従うため、実施の形態１と同様の動作についてはその説明を省略する。また、対話ターンの生成についても図９のフローと同様である。
【００４２】
以下、図１１の対話内容に従って説明する。ユーザが発話開始ボタンを押下すると、対話が開始され、システム応答１０１「ピッと鳴ったらお話ください」が音声出力される。そこで、ユーザ発話１０２「○×駅」と発話されたとする。ユーザ発話１０２が発話されると、音声認識部４、形態素解析部５、意図推定部７を通して、意図推定結果１２１，１２２，１２３が得られる。この状態では、活性化している意図ノードは無い状態なので、遷移ノード決定部１０で意図推定結果の修正後の値は意図推定結果１２１，１２２，１２３の値そのものとなる。遷移ノード決定部１０は意図推定結果に基づき活性化する意図ノードを決定する。ここで、実施の形態１と同じ条件で、活性化する意図ノードを決定すると、（ｂ）になり、意図ノード２６、２７、８６が活性化されることとなる。ただし、アプリケーションの状態によっては選択できないものがある場合は、その意図ノードは活性化しない。例えば、目的地が未設定ならば経由地は設定できないため意図ノード２６は活性化しない。ここでは目的地未設定として、意図ノード２６が活性化していない状態を想定する。
【００４３】
活性化しているのは、意図ノード２７、８６なので、対話シナリオ６８が選択され、システム応答として「○×駅を目的地にしますか、登録地にしますか」がシナリオに追加される（図９におけるステップＳＴ２１→ステップＳＴ３０）。最後に出来上がったシナリオは対話制御部２に渡され、システム応答１０３が出力され、ユーザの発話待ちとなる。ここで、ユーザ発話１０４「登録地」が発話されると、同様に音声認識、意図推定され、意図ノード８６が意図推定結果として選択され、対話シナリオ６５が選択されて、コマンド「Ａｄｄ（登録地，○×駅）」が対話ターンに登録され、システム応答「○×駅を登録地に追加しました」が対話ターンに追加される（図９におけるステップＳＴ２１→ステップＳＴ２２→ステップＳＴ２８→ステップＳＴ２９→ステップＳＴ２７）。次に、履歴考慮対話ターン生成部１６は、図１４のフローに従って、コマンド実行履歴に登録するかどうかを判断する。
【００４４】
先ず、ステップＳＴ３１において、コマンド実行した直前意図数は０か１かを判定する。ここで、コマンド実行した直前の意図は「登録地設定［施設＝＄施設＄（＝○×駅）］」と「目的地設定［施設＝＄施設＄（＝○×駅）］」の２つであるため、ステップＳＴ３４に進む。ステップＳＴ３４では、選択肢意図を「登録地設定［施設＝＄施設＄（＝○×駅）］」と「目的地設定［施設＝＄施設＄（＝○×駅）］」にする。そしてステップＳＴ３６でコマンド実行履歴リストにコマンド実行履歴１３１を追加する。さらにステップＳＴ３７では、一定時間内に選択肢意図のうちで実行されなかったものが実行された場合にコマンド誤解可能性リスト１５ｂに登録することとなるが、コマンド実行履歴１３１を登録した時点では、コマンド実行履歴１３２は存在しないので何もせず終了する。
【００４５】
次に、しばらくしても、ユーザが設定したつもりの「○×駅」へのルート案内が始まらないため、ユーザはやりたかったことがうまくいっていないことに気がつく。そこで新たな対話を始める。そこで、ユーザがユーザ発話１０６のように「○×駅に行きたい」と発話すれば、意図推定結果１２４が得られ、目的地を設定することとなる。次に、ステップＳＴ３１に処理を移し、直前意図は無いのでステップＳＴ３２に処理を移す。ステップＳＴ３２では直前意図自体が無いので、ステップＳＴ３３に処理を移し、さらにステップＳＴ３６でコマンド実行履歴１３２が登録される。
【００４６】
コマンド実行履歴が登録されると、ステップＳＴ３７で、一定時間内（例えば１０分）に、曖昧性を持つ選択肢意図のうち選択されなかった意図が選択された場合は、ユーザの勘違いの可能性があるとして、ステップＳＴ３８に処理を移し、コマンド誤解可能性リスト１５ｂに登録する。コマンド実行履歴１３１，１３２から、目的地設定を登録地設定と勘違いした可能性があるため、コマンド誤解可能性１３３を追加し、それぞれ確認回数、正解意図実行回数を１とする。
【００４７】
後日、ユーザが、目的地を設定しようとして、同じ間違いをしたとする。例えば、ユーザ発話１１０「△△センター」と発話したとすると、最初の発話と同様に意図理解され、システム応答１１１「△△センターを目的地にしますか、登録地にしますか」を生成して、ユーザの発話を待つ。ユーザが前と同じく間違ってユーザ発話１１２「登録地」のように発話すると、意図推定結果は「登録地設定［施設＝＄施設＄（＝△△センター）］」となる。そこで、履歴考慮対話ターン生成部１６は、ステップＳＴ４１に処理を移し、「登録地設定［施設＝＄施設＄］」のデータがコマンド誤解可能性リスト１５ｂに存在するのでステップＳＴ４２に処理を移す。ステップＳＴ４２では確認を促すシステム応答１１３「△△センターを目的地ではなく、登録地にします。よろしいですか。」を生成する。次にステップＳＴ４３に処理を移し、確認回数を１追加して処理を終了する。一方、ステップＳＴ４１において、実行予定意図がコマンド誤解可能性リスト１５ｂに存在しなかった場合はステップＳＴ４４に処理を移して実行予定意図を実行する。
【００４８】
対話制御部２は、システム応答１１３を出力したあと、ユーザ発話を待ち、ユーザ応答１１４「あ、間違い、目的地にして」がされると、「目的地設定［施設＝＄施設＄（＝△△センター）］」が選択され実行される。
【００４９】
その後、ユーザが「登録地」の「目的地」の違いを理解してくると、「登録地」という言葉を使うことなく目的地を設定するようになり、確認回数は増えることなく、正解意図実行回数が増加していくことになる。すなわち、コマンド誤解可能性リスト１５ｂに存在する誤解可能性意図のうち、実行意図とならなかった意図が一定時間以内に実行されることが無くなっていく。
正解実行回数／確認回数が、例えば２を超えた時点でコマンド誤解可能性リストのデータを削除して確認をやめるようにすることで、対話を円滑に進めることが出来る。
【００５０】
以上説明したように、実施の形態２の対話制御装置によれば、対話ターン生成部に代えて、遷移ノード決定部で活性化した１つまたは複数の意図から対話のターンを生成すると共に、対話の結果として実行したコマンドを記録しておき、かつ、コマンド実行履歴中の選択肢意図のうち実行意図とならなかった意図が一定時間以内に実行された場合に登録されるリストを用いて対話のターンを生成する履歴考慮対話ターン生成部を備えたので、ユーザがコマンドを勘違いした可能性がある場合でも適切な遷移が行われ、適切なコマンドを実行することができる。
【００５１】
また、実施の形態２の対話制御装置によれば、履歴考慮対話ターン生成部は、コマンド実行履歴中の選択肢意図のうち実行意図とならなかった意図が一定時間以内に実行された場合に確認を行う対話ターンを生成し、対話ターンの生成後、リストに存在する選択肢意図のうち、実行意図とならなかった意図が一定時間以内に実行されることがなく、かつ、これが設定回数繰り返された場合はリストを削除すると共に、確認を行う対話ターンの生成を停止するようにしたので、ユーザが適切なコマンドを理解していない場合はこれに対する適切な対処が行え、一方、ユーザが適切なコマンドを理解した場合に無駄な確認を行うといったことを防止することができる。
【００５２】
実施の形態３．
図１６は、実施の形態３の対話制御装置を示す構成図である。図示の対話制御装置は音声入力部１〜音声合成部１４に加えて追加遷移リンクデータ１７と遷移リンク制御部１８とを備えている。音声入力部１〜音声合成部１４の構成は実施の形態１と同様であるため、ここでの説明は省略する。追加遷移リンクデータ１７は、想定外遷移を実行した場合の遷移リンクを記録したデータである。また、遷移リンク制御部１８は、追加遷移リンクデータ１７へのデータの追加や、追加遷移リンクデータ１７に基づく意図階層データの変更を行う制御部である。
【００５３】
図１７は、実施の形態３における対話の例である。図１７の発話は図３の発話が行われ、コマンドが実行された後、別のときに実行された対話例である。図３と同様に、１７１，１７３，１７５，１７７，１７８，１８０，１８２，１８４，１８６はシステム応答、１７２，１７４，１７６，１７９，１８１，１８３，１８５はユーザ発話であり、順番に対話が進んでいることを示している。
【００５４】
図１８は、実施の形態３における意図推定結果の例である。１９１〜１９５は意図推定結果である。
図１９は、追加遷移リンクデータ１７の例である。２０１，２０２，２０３は追加遷移リンクである。
図２０は、遷移リンク制御部１８で、遷移リンクの統合処理を行う場合の処理を示すフローチャートである。
図２１は、統合後の意図階層データ例である。
【００５５】
次に、実施の形態３の対話制御装置の動作について説明する。
実施の形態３における最初の対話は、図３の対話内容であり、システム応答３９により「経由地設定［施設＝＄施設＄］」決定されコマンドが実行されるが、そこまでの対話の中で図４のリンク４２の遷移が選択される。ここで、遷移ノード決定部１０で遷移先が決定された時点で、意図推定重み決定部９と遷移リンク制御部１８を介して意図推定結果１９１を、追加遷移リンクデータ１７の追加遷移リンクのデータとして追加する。
【００５６】
続いて図１７の対話が続くものとする。システム応答１７１により対話が開始され、ユーザは図３の対話と同様、ユーザ発話１７２「ルートを変更したい」と発話する。結果として意図推定部７は、図５の意図推定結果５２を生成し、意図ノード２８が選択され、図３の対話と同様にシステム応答１７３を出力してユーザの発話を待つ。ここでユーザがユーザ発話１７４「近くに焼肉屋はない」と発話すると、意図推定結果１９２，１９３を得る。
【００５７】
ここで、追加遷移リンク２０１が存在するので、遷移リンク４２が存在するとして、遷移意図を計算して、意図推定結果１９４，１９５を得る。遷移ノード決定部１０では、遷移ノードとして意図ノード２５だけを活性化する。対話ターン生成部１３は遷移リンク４２が存在するものとして処理を進めるので、ユーザに確認を取ることなく、システム応答１７５をシナリオに追加して、対話制御部２に処理を移す。対話制御部２では、対話を進め、システム応答１７５を出力してユーザ発話１７６に基づき意図ノード２６「経由地設定［施設＝＄施設＄（＝×□カルビ）］」へ遷移する。結果、対話シナリオ６３が選択され、コマンドがあるのでコマンドを実行して終了するが、対話の遷移の中に遷移リンク４２が存在するので、追加遷移リンク２０１の遷移回数に１加える。
【００５８】
追加遷移リンクの遷移回数が更新されると、図２０のフローに従って、意図階層の上位意図にリンクを張り替えることで出来るかを判定し、張り替え可能なら張り替えを行う。ステップＳＴ５１では追加遷移リンク２０１の遷移回数が１増えたので、追加遷移リンク２０１の遷移元が一致する遷移先を抽出する。ここではまだ追加遷移リンク２０２がない状態なので、追加遷移リンク２０１しか存在しない。従ってＮ＝２となる。ここで、ステップＳＴ５１のＮの条件を３とすると、ステップＳＴ５２で該当する上位階層意図は存在しないため「ＹＥＳ」となり処理を終了する。
【００５９】
さらに別のとき、図１７の続きの対話を進めたとする。ユーザ発話１８１が発話されると、「周辺検索［基準＝＄ＰＯＩ＄，ジャンル＝＄ジャンル＄］」が意図推定結果となる。この意図は、この時点では追加遷移リンクデータ１７の追加遷移リンクのデータとして登録されていないので、図３の対話内容と同じように、システム応答１８２を出力して確認を行う。最終的には、ユーザ発話１８５に従って目的地設定の意図が選択され、コマンドが実行されて目的地が「ホットカレー□□」になる。このとき、追加遷移リンク２０２を追加する。
【００６０】
追加遷移リンクのデータが追加されると、再度図２０のフローに従って、意図階層の上位意図にリンクを張り替えることで出来るかを判定し、張り替え可能なら張り替えを行う。ステップＳＴ５１では追加遷移リンク２０１の遷移回数が２、追加遷移リンク２０２の遷移回数が１なので、Ｎ＝３となり条件を満たす上位階層意図として「周辺検索［基準＝？，ジャンル＝？］」が抽出される。処理はステップＳＴ５２に移り、「ＮＯ」なのでステップＳＴ５３に処理を移す。上位階層意図の主意図は「周辺検索」で共通なので、「ＹＥＳ」となる。ステップＳＴ５４に処理を移すと、追加遷移リンク２０３のように上位階層の意図遷移先を変更したデータで置き換える。
【００６１】
このように、遷移先を置き換えることで、追加遷移リンク２０３の意図遷移先は図２１に示す意図ノード２１１に変更されていることとなる。従って、ユーザがその後、「ルート選択［タイプ＝？］」の意図の発話をした後で、意図ノード２１３にあたる発話（たとえば、「行き先近くでお店を探す」）を行った場合、対話制御装置は確認をすることなく、意図ノード２１３への遷移を実施するので、無駄な対話を行わずにコマンドにたどり着くことが出来る。
【００６２】
以上説明したように、実施の形態３の対話制御装置によれば、遷移ノード決定部で決定した意図が、意図階層で定義されたリンクで無い想定外意図への遷移であった場合に遷移元から遷移先のリンク情報を追加する遷移制御部を有し、遷移ノード決定部は、遷移制御部で追加されたリンクを通常リンクと同様に扱って意図を決定するようにしたので、想定外の入力に対しても適切な遷移が行われ、適切なコマンドを実行することができる。
【００６３】
また、実施の形態３の対話制御装置によれば、遷移リンク制御部は、想定外意図への遷移が複数あり、かつ、複数の想定外意図が共通の意図を親ノードとして持つ場合、想定外意図への遷移を親ノードへの遷移に置き換えるようにしたので、少ない対話でユーザが所望するコマンドを実行することができる。
【００６４】
なお、上記実施の形態１〜３では、日本語において説明を行ったが、意図推定に関する素性抽出方法をそれぞれの言語ごとに変更することで、英語、ドイツ語、および中国語など様々な言語に対して適用することが可能である。
【００６５】
また、単語が特定のシンボル（スペースなど）で区切られる言語の場合に、言語的な構造を解析することが難しい場合には、入力の自然言語テキストに対してパターンマッチのような方法で、＄施設＄、＄住所＄などの抽出処理を行ったあと、直接意図推定処理を実行する形をとることも可能である。
【００６６】
さらに、実施の形態１〜３では、入力を音声入力として説明を行ったが、入力手段として音声認識を用いず、キーボードなど入力手段によるテキスト入力の場合でも同様の効果が期待できる。
【００６７】
さらに、実施の形態１〜３では、音声認識結果のテキストを形態素解析部で処理することで意図推定を行ったが、音声認識エンジン結果自体が形態素解析結果を含む場合は、その情報を直接使って意図推定を行うことが出来る。
【００６８】
さらに、実施の形態１〜３では意図推定の方法として、最大エントロピー法による学習モデルを想定した例で説明したが、意図推定の方法を限定するものではない。
【００６９】
なお、本願発明はその発明の範囲内において、各実施の形態の自由な組み合わせ、あるいは各実施の形態の任意の構成要素の変形、もしくは各実施の形態において任意の構成要素の省略が可能である。
【産業上の利用可能性】
【００７０】
以上のように、この発明に係る対話制御装置及び対話制御方法は、予め木構造に構成した対話シナリオを複数用意し、ユーザとの対話に基づいてある木構造のシナリオから他の木構造のシナリオへの遷移を行う構成に関するものであり、携帯電話やカーナビの音声インタフェースとして用いるのに適している。
【符号の説明】
【００７１】
１  音声入力部、２  対話制御部、３  音声出力部、４  音声認識部、５  形態素解析部、６  意図推定モデル、７  意図推定部、８  意図階層グラフデータ、９  意図推定重み決定部、１０  遷移ノード決定部、１１  対話シナリオデータ、１２  対話履歴データ、１３  対話ターン生成部、１４  音声合成部、１５  コマンド履歴データ、１６  履歴考慮対話ターン生成部、１７  追加遷移リンクデータ、１８  遷移リンク制御部。
【図１】
2015075975.tif 000003
【図２】
2015075975.tif 000004
【図３】
2015075975.tif 000005
【図４】
2015075975.tif 000006
【図５】
2015075975.tif 000007
【図６】
2015075975.tif 000008
【図７】
2015075975.tif 000009
【図８】
2015075975.tif 000010
【図９】
2015075975.tif 000011
【図１０】
2015075975.tif 000012
【図１１】
2015075975.tif 000013
【図１２】
2015075975.tif 000014
【図１３】
2015075975.tif 000015
【図１４】
2015075975.tif 000016
【図１５】
2015075975.tif 000017
【図１６】
2015075975.tif 000018
【図１７】
2015075975.tif 000019
【図１８】
2015075975.tif 000020
【図１９】
2015075975.tif 000021
【図２０】
2015075975.tif 000022
【図２１】
2015075975.tif 000023
【手続補正書】
【提出日】平成27年10月21日(2015.10.21)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】０００８
【補正方法】変更
【補正の内容】
【０００８】
この発明に係る対話制御装置は、自然言語による入力を形態素列に変換したデータに基づいて入力の意図を推定する意図推定部と、意図を階層構造としたデータと対象とする時点で活性化している意図とを元に、意図推定部で推定された意図の意図推定重みを決定する意図推定重み決定部と、意図推定重み決定部で決定された意図推定重みに従って意図推定部の推定結果を修正した上で、新たに遷移して活性化する意図を決定する遷移ノード決定部と、遷移ノード決定部で活性化した１つまたは複数の意図から対話のターンを生成すると共に、対話の結果として実行したコマンドを記録しておき、かつ、コマンド実行履歴中の選択肢意図のうち実行意図とならなかった意図が一定時間以内に実行された場合に登録されるリストを用いて対話のターンを生成する履歴考慮対話ターン生成部と、履歴考慮対話ターン生成部で生成された対話のターンにより新たな自然言語による入力が与えられた場合、意図推定部、意図推定重み決定部、遷移ノード決定部および履歴考慮対話ターン生成部が行う処理のうち、少なくともいずれかの処理を制御し、この制御を繰り返すことにより、最終的に、設定されたコマンドを実行する対話制御部とを備えたものである。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００６２
【補正方法】変更
【補正の内容】
【００６２】
以上説明したように、実施の形態３の対話制御装置によれば、遷移ノード決定部で決定した意図が、意図階層で定義されたリンクで無い想定外意図への遷移であった場合に遷移元から遷移先のリンク情報を追加する遷移リンク制御部を有し、遷移ノード決定部は、遷移リンク制御部で追加されたリンクを通常リンクと同様に扱って意図を決定するようにしたので、想定外の入力に対しても適切な遷移が行われ、適切なコマンドを実行することができる。
【手続補正３】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
自然言語による入力を形態素列に変換したデータに基づいて当該入力の意図を推定する意図推定部と、
意図を階層構造としたデータと対象とする時点で活性化している意図とを元に、前記意図推定部で推定された意図の意図推定重みを決定する意図推定重み決定部と、
前記意図推定重み決定部で決定された前記意図推定重みに従って前記意図推定部の推定結果を修正した上で、新たに遷移して活性化する意図を決定する遷移ノード決定部と、
前記遷移ノード決定部で活性化した１つまたは複数の意図から対話のターンを生成すると共に、前記対話の結果として実行したコマンドを記録しておき、かつ、コマンド実行履歴中の選択肢意図のうち実行意図とならなかった意図が一定時間以内に実行された場合に登録されるリストを用いて対話のターンを生成する履歴考慮対話ターン生成部と、
前記履歴考慮対話ターン生成部で生成された対話のターンにより新たな自然言語による入力が与えられた場合、前記意図推定部、前記意図推定重み決定部、前記遷移ノード決定部および前記履歴考慮対話ターン生成部が行う処理のうち、少なくともいずれかの処理を制御し、当該制御を繰り返すことにより、最終的に、設定されたコマンドを実行する対話制御部とを備えたことを特徴とする対話制御装置。
【請求項２】
前記履歴考慮対話ターン生成部は、コマンド実行履歴中の選択肢意図のうち実行意図とならなかった意図が一定時間以内に実行された場合に確認を行う対話ターンを生成し、当該対話ターンの生成後、前記リストに存在する選択肢意図のうち、前記実行意図とならなかった意図が一定時間以内に実行されることがなく、かつ、これが設定回数繰り返された場合は当該リストを削除すると共に、前記確認を行う対話ターンの生成を停止することを特徴とする請求項１記載の対話制御装置。
【請求項３】
前記遷移ノード決定部で決定した意図が、意図階層で定義されたリンクで無い想定外意図への遷移であった場合に遷移元から遷移先のリンク情報を追加する遷移リンク制御部を有し、
前記遷移ノード決定部は、前記遷移リンク制御部で追加されたリンクを通常リンクと同様に扱って遷移する意図を決定することを特徴とする請求項１記載の対話制御装置。
【請求項４】
前記遷移リンク制御部は、前記想定外意図への遷移が複数あり、かつ、当該複数の想定外意図が共通の意図を親ノードとして持つ場合、前記想定外意図への遷移を前記親ノードへの遷移に置き換えること特徴とする請求項３記載の対話制御装置。
【請求項５】
自然言語による入力の意図を推定して対話を行い、その結果として設定されたコマンドを実行する対話制御装置を用い、
前記自然言語による入力を形態素列に変換したデータに基づいて当該入力の意図を推定する意図推定ステップと、
意図を階層構造としたデータと対象とする時点で活性化している意図とを元に、前記意図推定ステップで推定された意図の意図推定重みを決定する意図推定重み決定ステップと、
前記意図推定重み決定ステップで決定された前記意図推定重みに従って前記意図推定ステップの推定結果を修正した上で、新たに遷移して活性化する意図を決定する遷移ノード決定ステップと、
前記遷移ノード決定ステップで活性化した１つまたは複数の意図から対話のターンを生成すると共に、前記対話の結果として実行したコマンドを記録しておき、かつ、コマンド実行履歴中の選択肢意図のうち実行意図とならなかった意図が一定時間以内に実行された場合に登録されるリストを用いて対話のターンを生成する履歴考慮対話ターン生成ステップと、
前記履歴考慮対話ターン生成ステップで生成された対話のターンにより新たな自然言語による入力が与えられた場合、前記意図推定ステップ、前記意図推定重み決定ステップ、前記遷移ノード決定ステップおよび前記履歴考慮対話ターン生成ステップのうち、少なくともいずれかのステップを制御し、当該制御を繰り返すことにより、最終的に、設定されたコマンドを実行する対話制御ステップとを備えたことを特徴とする対話制御方法。
【国際調査報告】
2015075975.tif 000024
2015075975.tif 000025