(57)【要約】ユーザが話した言葉に応じて、対話システム内で行動を実行する。ユーザの意図の複数の思考状態を複数の行動の図にする変換処理を読み出すか生成する。思考状態は、話した言葉に基づいて決定され、行動は、前記決定された思考状態および変換処理に基づいて選択される。前記行動を実行するが、一実施形態では、行動は、話した言葉の明瞭化をユーザに要求することを含む。変換処理の生成は、複数のユーザ入力と対話システムとのやりとりをシミュレートすることと、変換処理閾値が満たされるまで複数の変換処理パラメータを繰り返し修正することとを含んでもよい。一実施形態では、話した言葉をテキストに変換し、確率的オントロジーツリー（ＰＯＴ）内の複数のノードに対応する１または複数の対話スロットにテキストを割り当て、ＰＯＴ内の複数の確率分布テーブルおよび対話スロット割り当てに基づいて１つの結合確率を決定することで、思考状態を決定する。【選択図】図１
2013542484.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータを使って、対話システムにおいて行動を実行する方法であって、
ユーザの意図の複数の思考状態を複数の行動の図にする変換処理を読み出すステップと、
ユーザが話した言葉を受信するステップと、
前記話した言葉に基づいて、前記ユーザの意図の思考状態を決定するステップと、
前記決定された思考状態および前記読み出された変換処理に基づいて、実行する行動を選択するステップと、
前記選択する行動を実行するステップと、を含む
ことを特徴とする方法。
【請求項２】
前記選択する行動は、前記ユーザにさらなるフィードバックを要求する行動を含む
ことを特徴とする請求項１に記載の方法。
【請求項３】
前記選択する行動は、前記ユーザに前記話した言葉の全部または一部を明瞭化する要求を含む
ことを特徴とする請求項２に記載の方法。
【請求項４】
前記選択する行動は、前記ユーザに前記話した言葉の全部または一部を確認する要求を含む
ことを特徴とする請求項２に記載の方法。
【請求項５】
前記選択する行動は、前記ユーザが要求した情報を前記ユーザに通知することを含む
ことを特徴とする請求項１に記載の方法。
【請求項６】
変換処理を読み出すステップは、変換処理を生成するステップ、を含む
ことを特徴とする請求項１に記載の方法。
【請求項７】
変換処理を生成するステップは、
複数の変換処理パラメータを生成するステップと、
所定の目標を有する、シミュレートしたユーザ入力を生成するステップと、
前記生成された、シミュレートしたユーザ入力に基づいて、ユーザの意図の、シミュレートした思考状態を決定するステップと、
前記シミュレートした思考状態および前記複数の変換処理パラメータに基づいて行動を実行するステップと、
前記実行された行動が前記所定の目標を満たすときには、前記複数の変換処理パラメータを出力するステップと、を含む
ことを特徴とする請求項６に記載の方法。
【請求項８】
前記実行された行動が前記所定の目標を満たさないときには、前記実行された行動に基づいて前記シミュレートしたユーザ入力を修正するステップと、
前記修正された、シミュレートしたユーザ入力に基づいて、ユーザの意図の第２のシミュレートした思考状態を決定するステップと、
前記第２のシミュレートした思考状態および前記複数の変換処理パラメータに基づいて第２の行動を実行するステップと、
前記実行された第２の行動が前記所定の目標を満たすときには、前記複数の変換処理パラメータを出力するステップと、をさらに含む
ことを特徴とする請求項７に記載の方法。
【請求項９】
前記実行された複数の行動に基づいて、部分観測マルコフ決定過程（ＰＯＭＤＰ：partially observable Markov decision process）成果スコアを決定するステップと、
前記ＰＯＭＤＰ成果スコアに基づいて変換処理閾値が満たされているという判定に応じて、前記複数の変換処理パラメータを出力するステップと、をさらに含む
ことを特徴とする請求項８に記載の方法。
【請求項１０】
前記ＰＯＭＤＰ成果スコアに基づいて変換処理閾値が満たされていないという判定に応じて、前記シミュレートした思考状態、前記第２のシミュレートした思考状態、前記実行された行動、前記実行された第２の行動、および前記ＰＯＭＤＰ成果スコアのうちの１つまたは複数に基づいて、前記複数の変換処理パラメータを修正するステップと、
所定の目標を有する第２のシミュレートしたユーザ入力を生成するステップと、
前記第２のシミュレートしたユーザ入力に基づいて、ユーザの意図の第３のシミュレートした思考状態を決定するステップと、
前記第３のシミュレートした思考状態および前記修正された複数の変換処理パラメータに基づいて第３の行動を実行するステップと、をさらに含む
ことを特徴とする請求項９に記載の方法。
【請求項１１】
前記決定された思考状態は、前記ユーザの意図の複数の思考状態特徴を備える
ことを特徴とする請求項１に記載の方法。
【請求項１２】
前記話した言葉に基づいて、前記ユーザの意図の思考状態を決定するステップは、
未観測ノードの各々が１つのドメイン概念を表すとともに１つの対話スロットに対応する１つの確率分布テーブルを有する、複数の未観測ノードを備える確率的オントロジー（ＰＯＴ：probabilistic ontology tree）を読み出すステップと、
前記話した言葉をテキストに変換するステップと、
前記テキストと、前記複数の未観測ノードが表す前記複数のドメイン概念との間の関係性に基づいて、複数の未観測ノードに対応する１または複数の対話スロットに前記テキストを割り当てるステップと、
前記テキストが割り当てられる対話スロットの各々に対して、１つの確率分布テーブルを有する１つの観測ノードを前記ＰＯＴ内に生成するステップと、
複数の未観測ノードの複数の確率分布テーブルおよび複数の観測ノードの複数の確率分布テーブルからなる結合確率に基づいて、ユーザの意図の思考状態を決定するステップと、を含む
ことを特徴とする請求項１に記載の方法。
【請求項１３】
ＰＯＴを読み出すステップは、
ノードの各々が１つのドメイン概念を表す複数のノードを備えるオントロジーを読み出すステップと、
ノード種類と、ヌルセマンティクスと、ノード必須性と、前記ノードが表す前記ドメイン概念とに基づいて、オントロジーノードの各々に対して１つの確率分布テーブルを決定するステップと、
前記読み出したオントロジーおよび前記決定された複数の確率分布テーブルに基づいてベイジアンネットワークを生成するステップと、を含む
ことを特徴とする請求項１２に記載の方法。
【請求項１４】
前記話した言葉は、自動音声認識を用いてテキストに変換され、
１または複数の対話スロットに前記テキストを割り当てるステップは、前記テキストが１つの対話テキストに正しく割り当てられた尤度に基づいて、割り当ての各々に対して１つの信頼度スコアを決定するステップ、を含む
ことを特徴とする請求項１２に記載の方法。
【請求項１５】
前記複数の観測ノードの前記複数の確率分布テーブルは、前記信頼度スコアと、前記複数の観測ノードに対応する前記ドメイン概念とに基づいて決定される
ことを特徴とする請求項１４に記載の方法。
【請求項１６】
前記複数の未観測ノードの前記複数の確率分布テーブルおよび前記複数の観測ノードの前記複数の確率分布テーブルからなる前記結合確率は、子ノードが、前記子ノードの親ノードにメッセージを移すメッセージ・パッシングアルゴリズムを用いて決定され、
メッセージの各々は、前記子ノードおよび前記子ノードのすべての派生ノードからなる結合確率分布を有する
ことを特徴とする請求項１２に記載の方法。
【請求項１７】
行動を実行する対話システムであって、
ユーザの意図の複数の思考状態を複数の行動の図にする変換処理を読み出す変換処理モジュールと、
ユーザが話した言葉を受信するマイクロフォンと、
前記話した言葉に基づいてユーザの意図の思考状態を決定する思考追跡モジュールと、
前記決定された思考状態および前記読み出された変換処理に基づいて、実行する行動を選択する変換処理インターフェイスと、
前記選択された行動を実行するシステムインターフェースと、を備える
ことを特徴とする対話システム。
【請求項１８】
行動を実行するための、コンピュータが実行可能なプログラムを有する、一時的でないコンピュータ読み取り可能な記憶媒体であって、
ユーザの意図の複数の思考状態を複数の行動の図にする１つの変換処理を読み出す変換処理モジュールと、
ユーザが話した言葉を受信するマイクロフォンと、
前記話した言葉に基づいてユーザの意図の思考状態を決定する思考追跡モジュールと、
前記決定された思考状態および前記読み出された変換処理に基づいて、実行する行動を選択する変換処理インターフェイスと、
前記選択された行動を実行するシステムインターフェースと、を備える
ことを特徴とする記憶媒体。
【請求項１９】
コンピュータを使って、ユーザの意図の思考状態を決定する方法であって、
ユーザが話した言葉を受信するステップと、
前記話した言葉をテキストに変換するステップと、
未観測ノードの各々が１つのドメイン概念を表すとともに１つの対話スロットに対応する１つの確率分布テーブルを有する、複数の未観測ノードを備える確率的オントロジー（ＰＯＴ）を読み出すステップと、
前記テキストと、前記複数の未観測ノードが表す前記複数のドメイン概念との間の関係性に基づいて、複数の未観測ノードに対応する１または複数の対話スロットに前記テキストを割り当てるステップと、
前記テキストが割り当てられる対話スロットの各々に対して、１つの確率分布テーブルを有する１つの観測ノードを前記ＰＯＴ内に生成するステップと、
複数の未観測ノードの複数の確率分布テーブルおよび複数の観測ノードの複数の確率分布テーブルからなる結合確率に基づいて、ユーザの意図の思考状態を決定するステップと、を含む
ことを特徴とする方法。
【請求項２０】
コンピュータを使って、対話システムにおいて行動を実行する方法であって、
会話属性を行動の図にする変換処理を読み出すステップと、
１または複数の会話属性を有しており、ユーザが話した言葉を受信するステップと、
前記１または複数の会話属性および前記読み出した変換処理に基づいて、実行する行動を選択するステップと、
前記選択された行動を実行することと、を含む
ことを特徴とする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態の一例は、ヒューマンマシン対話システムの分野に関し、より具体的には、行動選択に対してパラメータ化された変換処理を用いる思考追跡対話システムの実装に関する。
【背景技術】
【０００２】
ヒューマンマシン対話システムの中心的な機能は、複数の話された言葉に基づいてユーザの意図を追跡および推定することである（通常、「思考追跡」と称される）。思考追跡システムは、思考追跡システムとユーザとの間で数回にわたるやりとりによって情報を収集できる。ユーザの会話は、自動音声認識（ＡＳＲ：Automatic Speech Recognition）を用いてテキストに変換され、前記変換されたテキストは、テキストの意味を抽出して前記意味を思考追跡システムに渡す自然言語理解システムによって処理される。
ノイズがあるときの観測および他の形式の干渉によって音声認識および音声理解にはエラーが生じる可能性がある場合には、思考追跡に対しては複数の確率論的アプローチが望ましい。前記確率論的アプローチは、複数の概念の間にある条件付き独立性を利用しながら、前記思考追跡システムの思考を、複数の概念の結合確率空間として表現する複数のベイジアンネットワークを利用することができる。前記確率論的アプローチはまた、一般的に、性能を向上させるために、ドメインを、例えばＡＴＩＳ（Air Travel Information Service）に制限する。
【０００３】
ドメイン特化ベイジアンネットワークの設計には、多大な努力と、いつもすぐに利用できるとは限らない専門知識とを必要とする。さらに、実世界のシステムは、大規模な仮定および近似無しでは、推論による解決が困難な大規模ネットワークをしばしば生み出す。ユーザの意図の結合分布を決定することの計算要件を緩和することは、一般的には、複数の概念間の完全な条件付き独立性を仮定することによって実行される。しかしながら、そのような仮定は、複数の概念間の既存の依存性を破ることになるため、結合分布が不正確となってしまう。
【０００４】
思考追跡システムはしばしば、ユーザが決定した意図に基づくさまざまな行動を実行できる対話システムの内部に、または前記対話システムと結びついて実装されている。例えば、携帯電話に実装されている思考追跡システムは、「ビルに電話して」という音声コマンドを受信すると、事前に連絡先の電話番号に自動的に電話をかけることができる。同様に、携帯電話の思考追跡システムは、ユーザの望むものがわからないときは、前記音声コマンドを繰り返すようにユーザに促す。
そのような思考追跡システムは、一実施形態では、実行される行動の集合を、ユーザの意図の思考状態の分布の図にする行動選択変換処理（以下、「変換処理」と称する）を利用する。代替的には、変換処理は、実行されることになる行動の集合を、他の会話属性、例えば、話者の感情状態、話者の言葉遣い、会話の意味内容、または、会話または話者に関係する任意の他の属性の図にすることができる。
【０００５】
多段階対話システムは、複数の部分観測マルコフ決定過程（ＰＯＭＤＰｓ：partially observable Markov decision processes）を利用して、一連の段階に亘ってユーザの意図を追跡し、前記追跡したユーザの意図に基づいて実行する行動を決定する。複数のＰＯＭＤＰは、これまでの観測に基づいて、考えられる思考状態の集合に関する確率分布を保持し、そして前記確率分布に依存しており、後の観測の各々に基づいて前記確率分布を更新する。
各段階において、１つのＰＯＭＤＰは、１つの行動選択変換処理に従って、思考状態の確率分布に基づいて１つの行動を実行する。実行される１つの特定の行動をユーザが探索している対話システムなどの目的指向型環境において、ＰＯＭＤＰは、正しい行動をとると成果を与え、誤った行動をとると罰を与えることによって、前記した特定の行動を実行するのに必要な段階の最小数を最適化するように試行する。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
１つの行動選択変換処理は、所定の思考状態分布に従って実行される行動を指令する複数のパラメータを含むことができる。例えば、そのような変換処理は、複数の思考状態閾値を含んでもよく、対話システムは、思考状態が所定の閾値を満たすときは第１の行動を実行してもよく、思考状態が前記特定の閾値を満たさないときは第２の行動を実行してもよい。変換処理パラメータは、手入力で離散化してもよいが、そうすることは時間がかかり、エラーを招き易くなり、複数の高次元のドメイン概念間にある部分的構造をたびたび無視してしまう。
【課題を解決するための手段】
【０００７】
対話システム内で、話された言葉を受信することに応じた行動の選択および実行が記載されている。ユーザの意図の複数の思考状態を、実行する複数の行動の図にすることを含む変換処理を読み出す、または生成する。一実施形態において、前記変換処理は、複数の思考状態特徴を複数の行動の図にしてもよい。
ユーザの意図の前記思考状態を、前記話された言葉に基づいて決定する。行動は、前記決定された思考状態および前記変換処理に基づいて選択される。前記選択された行動が、前記ユーザにさらなるフィードバックを求める場合には、前記さらなるフィードバックを要求し、処理を繰り返す。前記選択された行動が、前記ユーザにさらなるフィードバックを求めない場合には、前記行動が実行される。
【０００８】
変換処理を生成することは、ＰＯＭＤＰを用いて、複数の特定の思考状態に応じて実行する複数の行動をどれにするかを繰り返し決定することを含んでよい。初期の複数の変換処理パラメータは、手入力の選択によって、事前に生成された複数の変換処理に基づいて、ランダムな選択によって、または任意の他の適切な基準に基づいて決定される。
所定の目標に対応する、シミュレートしたユーザ入力が生成されると、前記シミュレートしたユーザ入力からなる思考状態が決定される。一実施形態では、実際にユーザが話す言葉を受信し、かつ、他の音響ノイズが存在してもよい環境を最良にシミュレートするために、前記シミュレートしたユーザ入力を、ノイズによって故意に不明瞭化する。
行動は、前記決定された思考状態に基づいて、および、前記変換処理パラメータに基づいて実行される。前記行動を実行しても前記目標を達成しないときには、前記シミュレートしたユーザ入力を修正し、前記思考状態を再決定し、行動を再実行する。前記行動を実行することにより前記目標を達成するときには、繰り返しのユーザ入力および行動実行処理に対して、ＰＯＭＤＰによる成果スコアを決定する。もし、変換処理閾値を満たさないときには、前記複数の変換処理パラメータを修正し、前記変換処理閾値が満たされるまで前記処理を継続する。
【０００９】
ユーザの意図の思考状態を決定することは、確率的オントロジーツリー（ＰＯＴ：Probabilistic Ontology Tree）を用いることを含んでよい。一実施形態において、ＰＯＴは、オントロジーに基づいて生成されるが、ＰＯＴを生成するという目的で、既存のままであったりするし、または修正されたりする。
オントロジーノードの各々に対して１つの確率分布テーブルを決定し、前記オントロジーおよび前記決定された複数の確率分布テーブルに基づいて、ベイジアンネットワークを生成する。前記生成された、または読み出されたＰＯＴは、各々の未観測ノードが１つの対応する確率分布テーブルを有する複数の未観測ノードを有する。
話された言葉は、例えば、自動音声認識を用いてテキストに変換され、前記変換されたテキストを、複数のＰＯＴノードに対応する１または複数の対話スロットに割り当てる。複数の観測ノードは、前記割り当てられた対話スロットに基づいてＰＯＴ内で生成され、前記観測ノードのスロット割り当て信頼度およびドメインに基づいて、前記観測ノードに対して確率分布テーブルを生成する。
思考状態は、ＰＯＴの未観測ノードおよび観測ノードの複数の確率分布テーブルの結合確率に基づいて決定される。
【００１０】
本明細書に記載された特徴および効果は包括的ではない。具体的には、図面および明細書を考慮すれば、一当業者にとっては多くの他の特徴および効果があることは明らかである。さらに、明細書に用いられる言語は、主に読み易さおよび教育上の目的から選択されたのであり、発明特定事項を詳しく説明するために、または制限するために選択されたわけではない、ということに留意されたい。
【図面の簡単な説明】
【００１１】
【図１】一実施形態に係る、対話システムにおいて思考追跡および変換処理パラメータ化を実行するための環境を説明する図である。
【図２】一実施形態に係る、複数の確率的オントロジーツリーを用いて、複数のユーザ対話観測に基づいて、ユーザの意図の複数の思考状態の１つの結合確率分布を決定する思考追跡モジュールを説明する図である。
【図３】一実施形態に係る、ユーザの意図の決定に基づいて、実行する行動を決定する変換処理モジュールを説明する図である。
【図４】一実施形態に係る、確率的オントロジーツリーの一例を説明する図である。
【図５】一実施形態に係る、思考追跡によってユーザの意図を決定することを説明するフローチャートである。
【図６】一実施形態に係る、確率的オントロジーツリーの生成を説明するフローチャートである。
【図７】一実施形態に係る、話された質問に応じて対話システムによる行動の実行を説明するフローチャートである。
【図８】一実施形態に係る、変換処理の生成を説明するフローチャートである。
【００１２】
図面は、説明だけのためにさまざまな実施形態を表現している。一当業者であれば、以下の説明から、本明細書に説明される構造および方法の代替的な実施形態が、本明細書に記載されている原理から逸脱することなく採用できることを容易に理解するであろう。
【発明を実施するための形態】
【００１３】
（対話システムの概要）
図１は、一実施形態に係る、対話システム（ＳＤＳ：Spoken Dialog System）において思考追跡および変換処理パラメータ化を実行するための環境を説明する図である。ＳＤＳ１００は、スタンドアロン型のシステムとして実装してもよいし、他のシステムと通信可能に接続してもよいし、または大型システム内のコンポーネントとして実装してもよい。
一実施形態において、ＳＤＳ１００は、車両内に組み入れてもよい。前記実施形態において、ユーザは、ＳＤＳ１００と情報のやり取りをして、前記車両に関する情報にアクセスすることと、店舗、レストラン、サービス、または他のエンティティに関する情報にアクセスすることと、進行方向または他のナビゲーション指示を受信することと、電話をかけることと、媒体を読み出して再生すること、もしくは車両システムに関係する任意の他の機能を行うことと、ができる。
代替的に、ＳＤＳ１００は、携帯電話、コンピュータ、ウェブサイト、または思考追跡および変換処理パラメータ化を利用する任意の他のシステムの内部に実装してもよい。
【００１４】
ＳＤＳ１００は、マイクロフォン１１０と、思考追跡モジュール１２０と、変換処理モジュール１３０と、インターフェイスモジュール１４０とを備える。代替的な実施形態においては、より多くの、またはより少ない構成要素が存在するようにしてもよいし、もしくは２またはそれ以上の構成要素からなる機能を合わせてもよい（例えば、思考追跡モジュール１２０および変換処理モジュール１３０を単一のモジュール内に実装してもよい）。
マイクロフォン１１０は、ユーザが話した言葉を受信する。話した言葉は、コマンド、要求、問い合わせ、明瞭化、システムナビゲーション要求、または１形態をとる、ユーザからの任意の音を含む。マイクロフォン１１０は、ＳＤＳ１００が処理および分析する、話した言葉を記録する。
【００１５】
思考追跡モジュール１２０は、ユーザがから話した言葉の観測に基づいて、ＳＤＳ１００に従ったユーザの意図を決定する。ユーザの意図を決定するために、思考追跡モジュール１２０は、１または複数のＰＯＴを用いて、１または複数のドメイン内の概念の集合に関する１つの確率分布を保持および更新する。
後記するように、ユーザが言葉を発する場合には、思考追跡モジュール１２０は、その言葉をテキストに変換し、続いて、ある程度の信頼度を伴って、前記テキストから複数の観測を抽出する。よって、思考追跡モジュール１２０は、最も確からしいユーザの意図に関する複数の仮説からなる１つの結合確率分布を計算して、ユーザの意図の思考状態を決定する。
【００１６】
変換処理モジュール１３０は、ＳＤＳ１００が実行する、または他のシステムに実行するように要求する行動の集合を、ユーザの意図の思考状態の集合の図にする変換処理を記憶する。一実施形態において、変換処理モジュール１３０は、思考追跡モジュール１２０を用いて、ユーザの意図を決定し、前記決定したユーザの意図に応じて、そして前記記憶された変換処理に基づいて、実行する行動をインターフェイスモジュール１４０に要求する。
変換処理モジュール１３０は、変換処理を生成する、および／または修正する学習機能を、任意に備えることができる。後記するように、変換処理モジュール１３０が実施する変換処理を最適化するために、変換処理モジュール１３０は、ＰＯＭＤＰによる意思決定手段を利用して、学習時に変換処理パラメータを自動的に調整する。
【００１７】
インターフェイスモジュール１４０は、変換処理モジュール１３０が要求する行動を実行するために、ＳＤＳ１００または外部システムのインターフェイスとなる機能を有する。一実施形態において、インターフェイスモジュール１４０は、ＳＤＳ１００に関係する行動を実行する。例えば、インターフェイスモジュール１４０は、ユーザに明瞭化を要求すること、ユーザが話す言葉を確認すること、または、ユーザが要求した情報をユーザに通知することができる。代替的には、インターフェイスモジュール１４０は、ＳＤＳ１００の電源を入れたりまたは消したりして、ユーザとのやりとりを再開したり、またはやりとりを中止したりすることができる。
インターフェイスモジュール１４０は、ユーザが要求する情報を、例えば、インターネット、データベース、またはローカルストレージから読み出すことができる。インターフェイスモジュール１４０は、車両とのインターフェイスとなって複数の車両機能を実行すること、電話とのインターフェイスとなって複数の電話機能を実行すること、ナビゲーションシステムとのインターフェイスとなって複数のナビゲーション機能を実行すること、または、ＳＤＳ１００と通信可能に接続されている任意の他のシステムとのインターフェイスとなることができる。
【００１８】
使用する場合の一例において、ＳＤＳ１００は、マイクロフォン１１０を介してユーザから問い合わせを受信する。思考追跡モジュール１２０は、前記問い合わせとなる言葉をテキストに変換し、後記するように、前記テキストを１または複数の対話スロットに割り当てる。対話スロットに割り当てられたテキスト、言葉からテキストへの変換の信頼度、および対話スロット割り当ての信頼度に基づいて、思考追跡モジュール１２０は、ユーザの意図の思考状態の結合確率分布を決定する。前記結合確率分布に基づいて、変換処理モジュール１３０は、実行する行動を決定し、インターフェイスモジュール１４０は、決定した行動を実行する。
【００１９】
図２は、一実施形態に係る、複数のＰＯＴを用いて、複数のユーザ対話観測に基づいて、ユーザの意図の複数の思考状態の１つの結合確率分布を決定する思考追跡モジュール１２０を説明する図である。図示するように思考追跡モジュール１２０は、計算機用のプロセッサ２００と、メモリ２１０とを備える。他の実施形態においては、思考追跡モジュール１２０は、図２に図示されている特徴以外の他の特徴を含んでもよいことが知られている。
図３は、一実施形態に係る、ユーザの意図の決定に基づいて、実行する行動を決定する変換処理モジュール１３０を説明する図である。図示されている変換処理モジュール１３０は、計算機用のプロセッサ３００と、メモリ３１０とを備える。他の実施形態においては、変換処理モジュール１３０は、図３に図示されている特徴以外の他の特徴を含んでもよいことが知られている。
【００２０】
一実施形態において、思考追跡モジュール１２０および変換処理モジュール１３０は、それぞれの複数のプロセッサおよび複数のメモリで実装されている。代替的には、思考追跡モジュール１２０および変換処理モジュール１３０は、同一のプロセッサおよびメモリで実装してもよい。例えば、メモリ２１０の複数のモジュールおよびメモリ３１０の複数のモジュールは、単一のメモリ内に実装してもよい。一実施形態において、思考追跡モジュール１２０は、思考追跡モジュール３３０内に実装されている。説明を単純化するため、本明細書の説明の残り部分については、思考追跡モジュール１２０および変換処理モジュール１３０は、別々なものとして説明する。
【００２１】
プロセッサ２００およびプロセッサ３００は、複数のデータ信号を処理し、さまざまなコンピュータアーキテクチャを含むことができる。前記コンピュータアーキテクチャは、複数命令セットコンピュータ（ＣＩＳＣ：complex instruction set computer）、縮小命令セットコンピュータ（ＲＩＳＣ：reduced instruction set computer）、または命令セットの組み合わせを実装しているアーキテクチャを含む。図２および図３の各々には、単一のプロセッサのみが図示されているが、複数のプロセッサを含んでもよい。プロセッサ２００、３００は、数値演算ユニット、マイクロプロセッサ、汎用コンピュータ、またはお互いに、並びに、メモリ２１０、３１０、マイクロフォン１１０、およびインターフェイス１４０との間で、電子データ信号の送信、受信、処理をするように具備されているその他のいくつかの情報家電を含む。
【００２２】
メモリ２１０、３１０はそれぞれ、プロセッサ２００、３００が実行できる命令および／またはデータを記憶する。前記命令および／またはデータは、本明細書に記載されている、任意の、および／またはすべての技術を実行するためのコード（つまり、モジュール）を有してもよい。メモリ２１０、３１０は、ＤＲＡＭ（Dynamic Random Access Memory）装置、ＳＲＡＭ（Static Random Access Memory）装置、フラッシュＲＡＭ（不揮発性ストレージ）、上記したものの組み合わせ、または本発明に関する技術分野において既知であるいくつかの他の記憶装置、といった任意の一時的でないコンピュータ読み取り可能な記憶媒体でよい。
【００２３】
図２に示す実施形態において、メモリ２１０は、ＰＯＴモジュール２２０と、意味論的理解モジュール２３０と、観測モジュール２４０と、結合確率モジュール２５０とを含む。図３に示す実施形態において、メモリ３１０は、学習モジュール３２０と、思考追跡モジュール３３０と、変換処理インターフェイス３４０と、システム行動モジュール３５０とを含む。
他の実施形態において、メモリは、本明細書に記載されているすべての機能を実行する、より多くの、またはより少ないモジュールを含んでよいことが知られている。メモリ２１０内に記憶されているすべてのモジュールは、お互いに、およびプロセッサ２００と通信するのに適している。メモリ３１０内に記憶されているすべてのモジュールは、お互いに、およびプロセッサ３００と通信するのに適している。メモリ２１０、３１０のモジュールはまた、マイクロフォン１１０と、インターフェイスモジュール１４０と、ＳＤＳ１００と、ＳＤＳ１００と通信可能に接続されている任意の外部システムと通信するのに適している。
【００２４】
（思考追跡）
思考追跡モジュール１２０は、ユーザの意図の思考追跡の結合確率分布を決定する。思考追跡モジュール１２０が決定する結合確率分布は、ユーザが話す言葉およびＰＯＴモジュール２２０が記憶するＰＯＴに基づいている。ＰＯＴは、ベイジアンネットワークのノード値の確率分布を特定することによってドメインオントロジーを拡張するツリー構造型ベイジアンネットワークである。ＰＯＴモジュール２２０は、任意個数のＰＯＴを記憶することができる。
図４は、一実施形態に係る、ＰＯＴの一例を説明する図である。例えば、図４のＰＯＴは、車両ナビゲーションシステム内に実装することができる。ＰＯＴノードの各々は、ドメイン内にある特定の概念または下位概念を表す。
図４のＰＯＴは、行動ノード４００、場所ノード４０２、コマンドノード４０４などを含む。行動ノード４００は、ユーザが実行する可能性のある行動、具体的にいえば、（場所ノード４０２に対応する）場所を見つけること、（コマンドノード４０４に対応する）ＳＤＳ用のコマンドを発すること、を表す。図中の確率テーブルは、いくつかのノードに対してのみ示されているが、ノードの各々は、対応する１つの確率テーブルを有することが知られている。さらに、典型的なＰＯＴは、数百またはそれ以上のノードを有してもよいことを強調しておく。
【００２５】
ＰＯＴノードには、（ＩＳ−Ａ関係を表す）特化ノードと、（ＨＡＳ−Ａ関係を表す）構成ノードという２種類が存在する。２つのノードが「ＩＳ−Ａ」関係にあるときは、１番目のノードは、２番目のノードが表す概念の部分集合となる概念を表す。例えば、場所ノード４０２は、ユーザが探すと考えられる場所、具体的にいえば、（レストランノード４０６に対応する）レストラン、（店舗ノード４０８に対応する）店舗、（サービスノード４１０に対応する）サービスを表す。前記例において、レストランノード４０６、店舗ノード４０８、サービスノード４１０は、「場所」という概念の部分集合を表しており、特化ノードである。
２つのノードが「ＨＡＳ−Ａ」関係にあるときは、これらのノードのうち１番目のノードは、２番目のノードが表す概念の特性となる概念を表す。例えば、場所ノード４０２はまた、（通りノード４１２に対応する、）場所が位置づけられている通りなどの、考えられる場所の特性も表す。前記例において、通りノード４１２は、構成ノードであり、場所ノード４０２の子ノードである。
【００２６】
一実施形態において、複数の特化ノードは、ただ１つの親ノードを有しており、共通する代表親ノードを持つ特化ノードの集合に対応する下位概念の集合は、互いに素である。図４の実施形態において、行動ノード４００、場所ノード４０２、コマンドノード４０４、レストランノード４０６、店舗ノード４０８、サービスノード４１０、開始ノード４１４、および取り消しノード４１６は、特化ノードである。
一実施形態において、構成ノードは、１または複数の親ノードを有してもよいが、すべての親ノードが特化ノードであり、共通する親ノードを順繰りに有する場合には、構成ノードは、複数の親ノードを有することしかできない。図４の実施形態において、通りノード４１２、料理ノード４１８、時間ノード４２０、価格ノード４２２、店舗種類ノード４２４およびサービス種類ノード４２６は、構成ノードである。
【００２７】
ＰＯＴは、ユーザが話す言葉とは独立した概念を表している複数のノード（「未観測ノード」）と、ユーザが話す言葉の中に観測される概念を表しているノード（「観測ノード」）を含む。未観測ノードは、ＰＯＴによって表される、ドメイン概念およびドメイン下位概念の各々に対して存在する。観測ノードは、思考追跡モジュール１２０が決定しており、ユーザが話す言葉に対応している複数のドメイン概念および複数のドメイン下位概念に対して存在する。動作中は、思考追跡モジュール１２０は、ＰＯＴモジュール２２０から１つのＰＯＴを読み出し、ユーザが話す言葉に基づいて、複数の観測ノードを前記読み出したＰＯＴに追加する。観測ノードについては、観測モジュール２４０に関して説明するときに後記する。
【００２８】
ＰＯＴノードの各々は、１つの対応する確率分布を有する。ＰＯＴルートノードは、未観測ノードが表す概念が、とり得る値をとる確率を表す確率分布を有する。図４の例では、行動ノード４００は、「場所」という値をとる可能性が６０％であり、「コマンド」という値をとる可能性が４０％であることを示している、対応する確率分布を有する。一実施形態において、ＰＯＴの各々は、ただ１つのルートノードを有する。
【００２９】
非ルート未観測ノードは、前記非ルート未観測ノードの親ノードの値を与えたときに、非ルート未観測ノードが表す概念がとり得る値をとる確率を表す確率分布を有する。さらに、非ルート未観測ノードの確率分布は、前記非ルート未観測ノードの親ノードの値を与えたときに、非ルート未観測ノードの概念があてはまらない場合に用いられるヌル要素を含む。
図４の例では、場所ノード４０２が「レストラン」という値をとるときには、店舗ノード４０８は、４０％の可能性で「ボブ」という値をとり、６０％の可能性で「ヌル」値をとる。同様にして、場所ノード４０２が「店舗」という値をとるときには、店舗ノード４０８は、４０％の可能性で「アル」という値をとり、２０％の可能性で「ボブ」という値をとり、５０％の可能性で「カール」という値をとる。最後に、場所ノード４０２の値が「サービス」であるときには、店舗ノード４０８は、１００％の可能性で「ヌル」値をとる。
前記した確率分布は、例えば、３つの考えられる店舗（アルの店舗、ボブの店舗、カールの店舗）が存在すること、ボブは、レストランおよび店舗の両方を所有していること、アル、ボブ、カールのいずれも、サービスノード４１０に関するサービスを提供しないこと、を示している。
【００３０】
観測ノードは、目的とするノードおよび目的とするノード値に対応する言葉をユーザが話し、かつ、ＳＤＳ１００が前記目的とするノード値を正しくおよび誤って特定する確からしさを表す、１つの対応する確率分布を有する。また、観測ノードに対応する確率分布は、目的としないノードおよび目的とするノード値に対応する言葉をユーザが話し、かつ、ＳＤＳが前記目的とするノード値を正しくおよび誤って特定する確からしさを表す。複数の観測ノードに対応する確率分布については、観測ノード２４０に関して説明するときに詳細に後記する。
【００３１】
ＰＯＴモジュール２２０が記憶する複数のＰＯＴは、ＳＤＳ１００が事前に生成してもよい。複数のＰＯＴは、１または複数のオントロジーに基づいて生成される。一実施形態において、ＰＯＴは、確立しているオントロジーに基づいて生成される。代替的には、ＰＯＴを生成するためにオントロジーを生成、修正、カスタマイズすることができる。一旦、オントロジーを選択すると、前記オントロジーに基づいて、前記オントロジーと同じ図形構造を有するベイジアンネットワークを生成する。その後、前記ベイジアンネットワークのノードの各々に対して、確率分布テーブルを生成する。
【００３２】
確率分布テーブルの入力値は、専門知識、学術データ、または任意の他の適切な手段に基づいているとよい。オントロジーのつじつまの合わないインスタンス化が、ＰＯＴ内でゼロという確率をとることを保証するために、ヌルセマンティクスを確率分布テーブルに適用する。上記したように、特化ノードに対する確率分布テーブルの入力値は、前記特化ノードの親ノードの値に従うことがある。同様にして、構成ノードに対する確率分布テーブルの入力値は、１または複数の前記構成ノードの親ノードの値に従うことがある。
一実施形態において、親ノードの値がヌルであるときには、子ノードの値がヌルである確率は１である。構成ノードの親ノードがとる非ヌル値に対して、構成ノードの値を非ヌル値としようとするときには、構成ノードは、必須ノードとなる。一実施形態において、必須ノードの親ノードが非ヌル値をとるときには、必須ノードがヌル値をとる確率は、０である。
【００３３】
ＰＯＴは、マイクロフォン１１０を介して話された言葉を受信することに応じて、ＰＯＴモジュール２２０から読み出される。ＰＯＴのノードの各々は、１つの対話スロットに対応する。意味論的理解モジュール２３０は、ＡＳＲ（自動音声認識）を用いて、話された言葉をテキストに変換する。ＡＳＲが話された言葉をテキストに正しく変換したときの信頼度に基づいて、話された言葉からテキストに変換される単語の各々に対して、単語信頼度スコアが割り当てられる。
次に、意味論的理解モジュール２３０は、複数の単語信頼度スコアおよび複数の文法規則に基づいて、テキストを複数の対話スロットに割り当てる。スロット信頼度スコアは、観測の確実性の程度に基づいて、前記割り当てられた対話スロットに割り当てられる。同一となる１つのまたは複数の単語からなるテキストは、多重対話スロットに割り当てることができ、対話スロットへのテキストの割り当ての各々に対して、同じスロット信頼度スコアが割り当てられる。
【００３４】
意味論的理解モジュール２３０は、テキストが割り当てられる複数の対話スロットに基づいて、１または複数の仮説を生成する。一実施形態において、テキストの単語の各々が一度にただ１つの対話スロットに割り当てられるように、複数の対話スロットへのテキストの複数の割り当ての固有の組み合わせの各々に対して、１つの仮説を生成する。仮説信頼度スコアは、仮説の各々に割り当てられており、対話スロットが適合する個数、単語信頼度スコア、スロット信頼度スコア、複数の割り当てられたスロット間の依存性および関係性、または任意の他の適切な要素に基づいていてもよい。
【００３５】
一実施形態において、意味論的理解モジュール２３０は、最高の仮説信頼度スコアをとる仮説を選択する。次に、意味論的理解モジュール２３０は、決定された仮説に係るすべての対話スロットに対応するすべてのノードを特定する。
観測モジュール２４０は、前記特定したノードに基づいて、ＰＯＴモジュール２２０から読み出したＰＯＴ内にすべての観測ノードを生成し、前記生成した観測ノードの各々に対する複数の確率分布テーブルを生成する。観測ノードの各々は、ＰＯＴ内の、対応する未観測ノードの子ノードとして生成される。
図４の例では、仮説は、価格ノード４２２および店舗種類ノード４２４に対応する複数の対話スロット割り当てを含む。結果として、価格ノード４３０が、価格ノード４２２の子ノードとして生成され、店舗種類ノード４３２が、店舗種類ノード４２４の子ノードとして生成される。ここで、前記価格ノード４３０および前記店舗種類ノード４３２の両方は、観測ノードである。観測ノードに対する確率分布テーブルの入力値は、選択された仮説の信頼度スコアと、ＰＯＴノードのとり得る値と、話された言葉内にあってユーザが意図しているＰＯＴノードの値とに基づいてよい。
【００３６】
2013542484.tif 000003
【００３７】
一実施形態において、ユーザに、仮説を承認するか拒否するかという選択肢を与えてもよい。その実施形態において、観測モジュール２４０は、ユーザが仮説を承認するまでは、観測ノードを生成しなくてもよいし、または観測ノードを生成してもよいが、ユーザが仮説を承認するまでは、観測ノードをＰＯＴに追加しないようにしてもよい。
同様にして、もし、ユーザが仮説を拒否するときには、観測モジュール２４０は、仮説を破棄してもよいし、仮説に対応する観測ノードをＰＯＴから排除してもよい。
【００３８】
一旦、仮説が選択されて、読み出されたＰＯＴに複数の観測ノードが追加されると、結合確率モジュール２５０は、複数の観測変数に従って、ＰＯＴノードの各々に対応するすべての確率分布テーブルを用いて、複数のＰＯＴノード値の複数の組み合わせに対する１つの結合確率分布を計算する。最も確からしい結合確率が結果として得られるＰＯＴノード値の組み合わせを、結合確率モジュール２５０は、ユーザの意図の最も可能性の高い解釈として出力する。
結合確率モジュール２５０は、複数のＰＯＴノード値のあらゆる組み合わせに対する結合確率を計算できるが、前記計算は、非常に膨大な記憶容量、処理能力、および時間を必要とする。前記した要件は、読み出されたＰＯＴ内のノードの数およびノードごとの、とり得る値の数によって直接的に影響を受ける。
【００３９】
複数のノード値のすべての組み合わせに対する結合確率分布を隈なく決定することの要件を緩和するために、結合確率モジュール２５０は、メッセージ・パッシングアルゴリズムを利用して、ユーザの意図に関する最も可能性の高い解釈を決定する。メッセージ・パッシングアルゴリズムは、ＰＯＴのリーフノードを起点として開始し、逆位相順序で、ノードレベルの複数の結合確率を決定する。
一旦、１つの特定のノードに対して結合確率分布が決定されると、上位ｍ個の結合確率は、メッセージ形式をとって前記特定のノードの親ノードへ渡される。ｍ個の最大の結合確率が特化のいたるところで同じであることを、ＰＯＴの設計によって確実にすること、および任意の結合確率において、１つのノードにつき、１つの、および１つの特化ノードの値のみを適用できることが知られている。
【００４０】
１つのノードがそのノードの親ノードにメッセージを送信する前に、メッセージ・パッシングアルゴリズムは、そのノードに対して、そのノードのすべての子ノードからメッセージを受信するように要求する。メッセージ・パッシングアルゴリズムは、リーフノードから親ノードへ移ったメッセージを、単位ベクトルとして定義する。
非リーフノードに関しては、親ノードに移ったメッセージは、すべての子ノードについて、つまり、複数の子ノードメッセージから受信した複数の上位ｍ個の結合確率によって表される複数の派生ノード（子ノード、孫ノードなど）の組み合わせの各々について、子ノードの確率分布テーブルの値によって重み付けされた子ノードメッセージから受信した、上位ｍ個の結合確率の乗算で表されるベクトルである。一旦、結合確率を計算すると、非リーフノードは、上位ｍ個の結合確率を前記非リーフノードの親ノードに渡す。
【００４１】
2013542484.tif 000004
【００４２】
メッセージ・パッシングアルゴリズムは、ＰＯＴのルートノードに対する上位ｍ個の結合確率が決定されるまで、ＰＯＴの階層レベルを次々と上げて繰り返される。ルートノードの最大結合確率は、最も可能性の高いユーザの意図を表すノード値の集合に対応する。結合確率モジュール２５０は、ノード値の集合を、最も可能性の高いユーザの意図に関する仮説として出力する。
図４の例において、行動ノード４００での最大結合確率が、｛店舗，アル，＄＄＄，・・・｝という値に対応しているときには、結合確率モジュール２５０が出力する仮説は、対話スロット形式内にあるユーザの意図の思考状態を表しており、（場所＝店舗、店舗＝アル、価格＝＄＄＄）などとなるであろう。一実施形態では、結合確率モジュール２５０は、複数の仮説を出力し、（もし、仮説があれば）どの仮説が正しいのかを、ユーザが選択する。
【００４３】
（変換処理のパラメータ化）
変換処理モジュール１３０は、決定された思考状態および記憶された変換処理に基づいて実行することになる行動を決定し、そして、前記決定した行動を実行する。変換処理モジュール１３０はまた、後で使用する変換処理を学習する機能を含んでもよい。前記したように、変換処理は、行動の集合を、ユーザの意図の思考状態の集合の図にする関数である。例えば、変換処理は、ユーザの意図の、不確かまたは信頼性のない思考状態を、「より多くの情報を要求する」という行動の図にすることができる。
一実施形態において、変換処理が複数の思考状態の図にする行動の集合は、ユーザに明瞭化を要求すること、１または複数の対話スロットを確認すること、またはユーザに通知すること、に限定される。代替的な実施形態では、上記したように、前記行動の集合は、他の行動を含んでもよい。
【００４４】
学習モジュール３２０は、ユーザが所望するユーザの行動または目標が前もって知られている、シミュレートしたユーザとのやりとりに基づいて、変換処理を生成する。シミュレートしたユーザとのやりとりは、シミュレートしたユーザの話す言葉を受信すること、前記言葉に基づいてユーザの意図の思考状態を決定すること、前記思考状態に基づいて行動を実行すること、といった段階を各々含む、ユーザとマシンとの間の一連の段階を含む。他の音響ノイズが存在する環境の中でマイクロフォンを介して実際にユーザが話す言葉を受信することを最良にシミュレートするために、前記シミュレートしたユーザの話す言葉は、ノイズによって故意に不明瞭にしてもよい。
学習モジュール３２０は、ＰＤＭＤＰ意思決定手段を利用して、シミュレートしたユーザとのやりとりに対する成果スコアを管理することによって、複数の変換処理パラメータを更新する。上記したように、目標指向環境において、ＰＤＭＤＰは、成果／罰システムを用いることで、ユーザ所望の行動を実行するのに必要な段階の数を最小化しようと試みる。
前記所望の行動以外の行動が実行されるたびに、成果スコアに対して罰が適用される。例えば、成果スコアを１つ減らすとよい。ユーザ所望の行動を実行するのに必要な段階の数を最小化するために、変換処理パラメータを修正すること、ユーザとのやりとりを再シミュレートすること、結果として最大成果スコアをもたらす変換処理パラメータを選択すること、を繰り返すことによって、成果スコアを最適化する。
【００４５】
2013542484.tif 000005
【００４６】
2013542484.tif 000006
【００４７】
2013542484.tif 000007
【００４８】
2013542484.tif 000008
【００４９】
自然勾配は、パラメータ空間上の最急方向を指している。一旦、自然勾配を決定すると、学習モジュール３２０は、前記最急勾配が示すように変換処理パラメータを調整することによって、最急方向に１ステップ進み、１つの収束距離関数を満たすまでこのような処理を繰り返すことができる。一実施形態においては、シミュレートの間、特定の成果スコアが一貫して達成される場合に、前記収束距離関数を満たす。代替的な実施形態においては、パラメータの変化量が所定の閾値を一貫して超えることがなかった場合に、前記収束距離関数を満たす。
代替的に、学習モジュール３２０は、収束距離関数を満たすのではなく、ある閾値数だけ繰り返してユーザとのやりとりをシミュレートしてもよい。学習モジュール３２０が収束距離関数または繰り返しの閾値を満たした後、複数の変換処理パラメータは、行動−思考変換処理として記憶される。
【００５０】
2013542484.tif 000009
【００５１】
2013542484.tif 000010
【００５２】
2013542484.tif 000011
【００５３】
2013542484.tif 000012
【００５４】
2013542484.tif 000013
【００５５】
2013542484.tif 000014
【００５６】
2013542484.tif 000015
【００５７】
2013542484.tif 000016
【００５８】
2013542484.tif 000017
【００５９】
変換処理インターフェイス３４０は、１つの思考状態または複数の思考特徴を１つの行動の図にする変換処理を読み出し、思考追跡モジュール３３０から１つの思考状態または複数の思考特徴を読み出す。変換処理インターフェイスモジュール３４０は、前記読み出された変換処理の複数の変換処理パラメータ、およびユーザが話す言葉からなる、前記思考状態または複数の思考特徴に基づいて、行動の集合内にある、可能性のある行動の各々を投票することによって、前記読み出した変換処理をユーザが話した言葉に適用する。前記行動の集合に関する投票の分布は、前記行動の集合の確率分布によって表すことができる。
【００６０】
2013542484.tif 000018
【００６１】
一実施形態において、変換処理インターフェイス３４０は、システム行動モジュール３５０に、前記行動の集合に関する投票を出力する。代替的には、変換処理インターフェイス３４０は、システム行動モジュール３５０に対して、前記行動の集合に対する確率分布を出力する。
システム行動モジュール３５０は、変換処理インターフェイス３４０から受信した出力に基づいて、実行する行動を選択する。一実施形態において、システム行動モジュール３５０は、実行するために最もよく投票された行動、または最も可能性の高い行動を選択する。
【００６２】
システム行動モジュール３５０は、インターフェイスモジュール１４０を用いて行動を実行することができる。システム行動モジュール３５０が実行できる行動の完備集合が、ユーザに明瞭化を要求すること、ユーザが話す言葉を確認すること、および、ユーザが要求した情報をユーザに通知すること、から構成される実施形態において、システム行動モジュール３５０は、インターフェイスモジュール１４０のスピーチ機能を用いて、選択された行動を実行できる。
例えば、選択された行動が、１または複数の対話スロットの明瞭化をユーザに要求することを含む場合には、インターフェイスモジュール１４０は、複数の音響信号を用いて、前記１または複数の対話スロットを明瞭化することをユーザに促してもよいし、または、ディスプレイ上の画像信号を用いて、前記１または複数の対話スロットを明瞭化することをユーザに促してもよい。
同様にして、選択された行動が、ユーザが要求した情報をユーザに通知することを含む場合には、インターフェイスモジュール１４０は、複数の音響信号を用いて、ユーザが要求した情報をユーザに通知してもよいし、または、ディスプレイ上の画像信号を用いて、要求された情報をユーザに提示してもよい。
もし、ユーザに、明瞭化または確認を要求すれば、ＳＤＳ１００は、ユーザが話した他の言葉を受信し、変換処理モジュール１３０は、新たに実行する行動を、前記ユーザが話した他の言葉に基づいて決定することができる。前記したような循環は、変換処理モジュール１３０が１つの通知行動を選択するまで繰り返すことができる。
【００６３】
システム行動モジュール３５０は、明瞭化を要求すること、要求を確認すること、またはユーザに通知すること、からなる内容以外の行動を選択できる。一実施形態において、ＳＤＳを車両内に実装し、システム行動モジュール３５０は、部分ソース（車両コンピュータまたは複数の他の車両システムなど）または外部ソース（例えば、ＷｉＦｉ，３Ｇ，４Ｇ，ＬＴＥ，ＷｉＭａｘまたは任意の他の無線プロトコルのような無線通信技術を用いてインターネット上）から情報を読み出すことができる。
一実施形態において、システム行動モジュール３５０は、ユーザが要求するときに電話をかける、ユーザまたは車両の電話システムを用いる。システム行動モジュール３５０はまた、ヘッドライトおよび／またはワイパを作動または停止すること、ラジオまたはメディアシステムを作動、停止、または調整すること、再生するメディアコンテンツの一部を選択すること、ナビゲーションを作動または停止したり、ナビゲーションとのインターフェイスとなったりすること、または任意の他の車両の機能など、といった複数の車両の機能を実装することができる。
【００６４】
（対話システムの動作）
図５は、一実施形態に係る、思考追跡によってユーザの意図を決定することを説明するフローチャートである。思考追跡によってユーザの意図を決定する処理は、選択的に１または複数のＰＯＴを構築することを含む（ステップ５００）。代替的には、既存のＰＯＴを読み出してもよい。前記生成した、または読み出したＰＯＴは、１つの対応する確率分布を各々が有している複数の未観測ノードを有する。
ユーザが話した言葉を受信する（ステップ５１０）。話した言葉は、自動音声認識、または話した言葉をテキストに変換できる任意の他の技術を用いてテキストに変換される（ステップ５２０）。
【００６５】
変換されたテキストは、意味論的理解を用いて複数のＰＯＴノードに対応する１または複数の対話スロットに割り当てる（ステップ５３０）。意味論的理解に基づいて、話された言葉が正しくテキストに変換されたという信頼度と、テキストが１または複数の対話スロットと関係しているという信頼度とを求めることができる。一実施形態において、前記変換されたテキストは、複数の対話スロットからなる複数の組み合わせに割り当てられ、前記組み合わせのうち最大の割り当て信頼度を持つものが選択される。
割り当てられた対話スロットに基づいて、ＰＯＴ内に複数の観測ノードを生成する（ステップ５４０）。対話スロットの割り当て信頼度および複数の観測ノードのドメインに基づいて、複数の観測ノードに対して、複数の確率分布テーブルが生成される。ＰＯＴの複数の未観測ノードの確率分布およびＰＯＴの複数の観測ノードの確率分布からなる結合確率に基づいて、思考状態を決定する（ステップ５５０）。
【００６６】
図６は、一実施形態に係る、確率的オントロジーツリーの生成を説明するフローチャートである。オントロジーを読み出す（ステップ６００）。一実施形態において、オントロジーは、生成してもよいし、または、読み出したオントロジーを、ＰＯＴの構築の前に修正してもよい。
ノード種類による制約と、ヌルセマンティクスによる制約と、ノード必須性とによる制約を考慮して、各オントロジーノードの確率分布テーブルを決定する（ステップ６１０）。
前記オントロジーおよび前記決定された確率分布テーブルに基づいてベイジアンネットワークを生成する（ステップ６２０）。
【００６７】
図７は、一実施形態に係る、話された質問に応じて対話システムによる行動の実行を説明するフローチャートである。ＰＯＭＤＰを用いて、複数の思考状態を複数の行動の図にする変換処理を任意的に生成する（ステップ７００）。一実施形態では、事前に生成した変換処理を読み出す。一実施形態では、変換処理は、複数の思考状態特徴を複数の行動の図にしてもよい。
ユーザが話した言葉を受信する（ステップ７１０）。話した言葉に基づいて思考状態を決定する（ステップ７２０）。一実施形態においては、思考状態に代えて、または思考状態に加えて、複数の思考状態特徴を決定する。決定した思考状態および読み出した変換処理に基づいて行動を選択する（ステップ７３０）。選択された行動が、ユーザにさらなるフィードバックを要求する場合には（ステップ７４０）、さらなるフィードバックを要求して（ステップ７５０）、本フローチャートの処理を繰り返す。選択された行動が、ユーザにさらなるフィードバックを要求しない場合には、前記選択された行動を実行する（ステップ７６０）。
【００６８】
図８は、一実施形態に係る、変換処理の生成を説明するフローチャートである。複数の初期の変換処理パラメータを生成する（ステップ８００）。一実施形態においては、初期の変換処理パラメータは、手入力で選択してもよいし、予め生成された変換処理に基づいて選択してもよいし、またはランダムに選択してもよい。
事前に決定されている目標に対応する、シミュレートしたユーザ入力を生成する（ステップ８１０）。シミュレートしたユーザ入力に基づいて思考状態を決定する（ステップ８２０）。一実施形態においては、実際にユーザが話す言葉が受信され、かつ、他の音響ノイズが存在してもよい環境を最良にシミュレートするために、シミュレートしたユーザ入力は、ノイズによって故意に不明瞭にする。
【００６９】
決定された思考状態および初期の変換処理パラメータに基づいて行動を実行する（ステップ８３０）。もし、行動の実行により目標が達成されないときには（ステップ８４０）、シミュレートしたユーザ入力を修正し（ステップ８５０）、思考状態を再決定し（ステップ８２０）、行動を再実行する（ステップ８３０）。もし、行動の実行により目標が達成されたときには（ステップ８４０）、繰り返されるユーザ入力の修正および繰り返される行動実行処理に対するＰＯＭＤＰ成果スコアを決定する（ステップ８６０）。
【００７０】
ＰＯＭＤＰ成果スコアを決定した後、変換処理閾値を満たさないと判断されるときには（ステップ８７０）、決定された思考状態と、実行された行動と、実行された行動の数と、決定された成果スコアとに基づいて、変換処理パラメータを修正する（ステップ８８０）。変換処理閾値の例は、実行される行動の所定数と、決定したＰＯＭＤＰスコアに近い所定数の成果スコア閾値への収束と、変換処理パラメータの修正の収束とを含む。
ＰＯＭＤＰ成果スコアを決定した後、変換処理閾値を満たすと判断されるときには（ステップ８７０）、複数の最終的な変換処理パラメータに基づいて変換処理を生成する（ステップ８９０）。生成された変換処理は、対話システムが記憶して、後に使用する。
【００７１】
（さらなる考察）
本明細書において、“一実施形態”又は“ある実施形態”と言う場合は、本発明の少なくとも１つの実施形態に、その実施形態に関連して記述される１つの特徴又は構造が含まれていることを意味する。本明細書のあちこちに“ある実施形態では”という語が出現しても、必ずしも同一の実施形態を指しているわけではない。
【００７２】
後記する詳細説明のいくつかの部分は、アルゴリズム用語や、コンピュータメモリ内のデータビット作業を示す象徴的な表現による。これらのアルゴリズム的な説明や表現は、情報処理分野の当業者が、自らの業績の要旨を、同分野の他の当業者に最も効率的に伝えるために用いる手段である。アルゴリズムとは、ここでは、そして一般的にも、ある所望の結果に至る複数のステップ（命令）の首尾一貫したシーケンスのことを言う。ステップとは、物理量に対する物理的操作を要求するステップのことである。通常、必ずしも必要条件ではないが、それらの物理量は、記憶され、送信され、合成され、比較されかつ操作され得る、電子的、磁気的又は光学的信号の形を取る。これらの信号のことを、ビット、値、要素、シンボル、文字、語又は番号等と呼ぶことが主として用語の共通化の理由から便宜である。さらに、物理的操作、物理量の変換、または物理量の表現を要求するステップの配列のうちいくつかのものは、一般性を失うことなく、モジュール又はコードデバイスと呼ぶことが便宜である。
【００７３】
しかしながら、このような用語の全ては適当な物理量と結びついており、これらの物理量に付された単なる便宜的なラベルに過ぎない。特段の説明がない限り、さもなければ後記の説明から明らかであるが、明細書本文全体を通じて、“処理”、“計算”、“算出”、“決定”又は“表示”等の用語を用いた説明は、コンピュータシステムのメモリ、レジスタ又は他の情報ストレージ装置、伝送装置または表示装置の内部で、（電子的な）物理量としてのデータを操作かつ変形するコンピュータシステムや同様の電子的コンピューティングデバイス（例えば、専用計算機）の動作や処理のことを言う。
【００７４】
本実施形態のいくつかの側面は、アルゴリズムの形になったプロセスステップや命令を含む。本実施形態のプロセスステップや命令は、ソフトウエア、ファームウエア又はハードウェア内で具体化でき、ソフトウエア内で具体化される場合は、ダウンロードして記憶できたり、そして、多様なオペレーティングシステムが用いる別のプラットフォームから操作できたりすることに留意されたい。本実施形態はまた、コンピュータシステム上で実行可能なコンピュータプログラム製品内に導入できる。
【００７５】
本実施形態は、操作を実行する装置にも関する。この装置は、所与の目的を達成する車両内専用装置などであってもよいし、車両内に配置できるコンピュータ内に記憶されたコンピュータプログラムによって選択的に動作したり、または再構成されたりする汎用コンピュータであってもよい。このようなコンピュータプログラムは、コンピュータが読取り可能な媒体に記憶され得る。その媒体とは、コンピュータシステムバスに接続可能な、フロッピーディスク（登録商標）、光ディスク、ＣＤ−ＲＯＭ、電磁光学的ディスク、ＲＯＭ、ＲＡＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、電磁的又は光学的カード、ＡＳＩＣ又は電子的命令を記憶し得るあらゆる媒体を含むが、これらに限定されない。メモリは、情報、データ、プログラムを記憶できる前記した装置および／または他の装置のうち任意の装置を含むことができる。さらに、本明細書で言うコンピュータは、単体のプロセッサを含んでもよいし、コンピュータ能力を増加させるために複数のプロセッサを用いたアーキテクチャであってもよい。
【００７６】
ここでいうアルゴリズムやディスプレイは、もともと任意の特定のコンピュータにも他の装置にも関係している訳ではない。ここで教示される内容に従って、プログラムとともに多様な一般目的システムが使用され得る。又は、さらに特化した装置を生成して、方法ステップを実行することも便宜であることがわかっている。これらのさまざまなシステムに必要となる構造は、後記する明細書本文から明らかになる。さらには、本実施形態は、任意の特定のプログラム言語を参照して記載されるものではない。本明細書に記載されている本実施形態の教示を実施するために、多様なプログラム言語が使用され得る。後記において特定の言語に言及した場合、それは本発明の実施可能性及びベストモードを開示するためである。
【００７７】
さらに、本明細書で使用される言語は、主として意味の取りやすさ及び教示目的から選択されているのであって、発明特定事項を明確にするためや限定するために選択されているのではない。従って、本実施形態の開示は、特許請求の範囲にて記述されている本実施形態の範囲を例示するものであるが限定するものではない。
【００７８】
本発明の具体的な実施形態および応用が説明され、記述されていてもその一方で、本発明が本明細書に開示されている、まさにその創作物および構成要素には限定されないこと、そして発明の精神および範囲から逸脱することなくさまざまな修正、変更、バリエーションが、本発明の方法および装置の設定、演算および詳細においてなされること、が理解されるであろう。
【符号の説明】
【００７９】
１００      ＳＤＳ（対話システム）
１１０      マイクロフォン
１２０      思考追跡モジュール（思考追跡）
１３０      変換処理モジュール（変換処理）
１４０      インターフェイスモジュール（インターフェイス）
２００      プロセッサ
２１０      メモリ
２２０      ＰＯＴモジュール（確率的オントロジーツリー、ＰＯＴ）
２３０      意味論的理解モジュール（意味論的理解）
２４０      観測モジュール（観測）
２５０      結合確率モジュール（結合確率）
３００      プロセッサ
３１０      メモリ
３２０      学習モジュール（学習）
３３０      思考追跡モジュール（思考追跡）
３４０      変換処理インターフェイスモジュール（変換処理インターフェイス）
３５０      システム行動モジュール（システム行動）
【図１】
2013542484.tif 000019
【図２】
2013542484.tif 000020
【図３】
2013542484.tif 000021
【図４】
2013542484.tif 000022
【図５】
2013542484.tif 000023
【図６】
2013542484.tif 000024
【図７】
2013542484.tif 000025
【図８】
2013542484.tif 000026
【国際調査報告】
2013542484.tif 000027