(57)【要約】      （修正有）【課題】対話マネージャーのためのコントローラを提供する。【解決手段】対話マネージャーはユーザからの入力発言の表象を受け取り、ユーザとの会話のフローを制御するように構成される。コントローラは、対話マネージャーの振る舞いを定義するためのパラメータ化されたポリシーを実装する。パラメータ化されたポリシーは、オントロジー独立なパラメータを入力として作用する。コントローラは、パラメータ化されたポリシーがエンドユーザ・オントロジーに対する対話マネージャーの振る舞いを定義できるように、エンドユーザ・オントロジーをパラメータ化するためのプロセッサを持つ。プロセッサは、エンドユーザ・オントロジーのスロットがパラメータ化されたポリシーへの入力として用いられるのに適するように、オントロジー独立なパラメータのうち少なくとも１つによって当該スロットを定義するように構成される。【選択図】図３
2016212405.tif 000002
【特許請求の範囲】
【請求項１】
ユーザからの入力発言の表象を受け取り、前記ユーザとの会話のフローを制御するように構成される対話マネージャーのためのコントローラであって、
前記コントローラは、対話マネージャーの振る舞いを定義するためのパラメータ化されたポリシーを実装するように構成され、
前記パラメータ化されたポリシーは、オントロジー独立なパラメータを入力として作用するように構成され、
前記コントローラは、前記パラメータ化されたポリシーがエンドユーザ・オントロジーに対する対話マネージャーの振る舞いを定義できるように、当該エンドユーザ・オントロジーをパラメータ化するためのプロセッサを具備し、
前記プロセッサは、前記エンドユーザのスロットが前記パラメータ化されたポリシーへの入力として用いられるのに適するように、当該スロットを前記オントロジー独立なパラメータのうち少なくとも１つによって定義するように構成される、
コントローラ。
【請求項２】
前記パラメータ化されたポリシーは、第１のオントロジーに最適化され、
ポリシーを最適化することは、成功率または平均報酬のうち少なくとも１つを適応されていないポリシーについての値よりも増加させるように、特定のオントロジーにポリシーを適応させることを含む、
請求項１記載のコントローラ。
【請求項３】
前記第１のオントロジーは、前記エンドユーザ・オントロジーと異なる、請求項２記載のコントローラ。
【請求項４】
オントロジー独立なパラメータは、前記エンドユーザ・オントロジーのスロットについての可能性のある値の数によって決定される、請求項１記載のコントローラ。
【請求項５】
オントロジー独立なパラメータは、前記パラメータ化されたポリシーがユーザの要求を満足するために前記エンドユーザ・オントロジーのスロットが満たされなければならないかどうかによって決定される、請求項１記載のコントローラ。
【請求項６】
オントロジー独立なパラメータは、前記エンドユーザ・オントロジーの優先権によって決定される、請求項１記載のコントローラ。
【請求項７】
前記プロセッサは、データベースからのデータを受け取るように構成され、
前記オントロジー独立なパラメータの決定は、前記データベースからのデータに依存する、
請求項１記載のコントローラ。
【請求項８】
前記データベースからのデータは、前記エンドユーザ・オントロジーのスロットについての値の分布のエントロピーを含み、
オントロジー独立なパラメータは、前記スロットについての値の分布のエントロピーによって決定される、
請求項７記載のコントローラ。
【請求項９】
ポリシーは、結果の閾数以下の数の結果がユーザの基準を満足すると識別するように構成され、
前記データベースからのデータは、選択された場合に、結果の閾数以下の数の結果が前記ユーザの基準を満足すると識別されるであろう、スロットについての値の割合を含み、
オントロジー独立なパラメータは、このデータによって決定される、
請求項７記載のコントローラ。
【請求項１０】
前記プロセッサは、パラメータ化されたポリシーがエンドユーザ・オントロジーに対する対話マネージャーの前記振る舞いを定義できるように、前記エンドユーザ・オントロジーおよび対話状態をパラメータ化するためのものであって、
前記プロセッサは、対話状態が前記パラメータ化されたポリシーへの入力として用いられるのに適するように、前記オントロジー独立なパラメータのうち少なくとも１つによって対話状態を定義するようにさらに構成される、
請求項１記載のコントローラ。
【請求項１１】
前記プロセッサは、前記エンドユーザ・オントロジーを持つドメインにおいて稼働している対話マネージャーの振る舞いを定義するように、前記パラメータ化されたポリシーを適用するようにさらに構成され、
前記対話マネージャーは、ユーザからの入力発言の表象を受け取り、前記ユーザとの会話のフローを制御するように構成される、
請求項１記載のコントローラ。
【請求項１２】
前記プロセッサは、データドリブンなポリシー適応処理を用いて、エンドユーザ・ドメインに対して前記パラメータ化されたポリシーを改良するようにさらに構成され、
データドリブンなポリシー適応処理は、少なくとも１人のユーザまたはシミュレートされたユーザに対して前記エンドユーザ・オントロジーを持つドメインにおいて稼働している前記対話マネージャーを使用することと、タスク成功率および平均報酬のうち少なくとも１つを増加させるように前記パラメータ化されたポリシーを適応させることとを含む、
請求項１１記載のコントローラ。
【請求項１３】
ユーザからの入力発言の表象を受け取り、前記ユーザとの会話のフローを制御するように構成された対話マネージャーのために、最適化された、オントロジー独立なポリシーを準備するための方法であって、
前記方法は、対話マネージャーの振る舞いを定義するためのパラメータ化されたポリシーを準備することを含み、
前記パラメータ化されたポリシーは、オントロジー独立なパラメータを入力として作用するように構成され、
前記方法は、第１のオントロジーに前記パラメータ化されたポリシーを最適化することを含み、
前記第１のオントロジーのスロットは、当該スロットが前記パラメータ化されたポリシーへの入力として用いられるのに適するように、前記オントロジー独立なパラメータのうち少なくとも１つによって定義され、
前記パラメータ化されたポリシーを最適化することは、成功率または平均報酬の少なくとも１つを適応されていないポリシーについての値よりも増加させるように、特定のオントロジーに対して前記パラメータ化されたポリシーを適応させることを含む、
方法。
【請求項１４】
前記方法は、エンドユーザ・オントロジーをパラメータ化することをさらに含み、
エンドユーザ・オントロジーをパラメータ化することは、エンドユーザ・オントロジーのスロットが前記パラメータ化されたポリシーへの入力として用いられるのに適するように、前記オントロジー独立なパラメータのうち少なくとも１つによって当該スロットを定義することを含む、
請求項１３記載の方法。
【請求項１５】
前記方法は、前記エンドユーザ・オントロジーを持つドメインにおいて稼働している対話マネージャーの振る舞いを定義するために前記パラメータ化されたポリシーを適用することをさらに含み、
前記対話マネージャーは、ユーザからの入力発言の表象を受け取り、前記ユーザとの会話のフローを制御するように構成され、
前記方法は、データドリブンなポリシー適応処理を用いてエンドユーザ・ドメインに対してポリシーを改良することをさらに含み、
データドリブンなポリシー適応処理は、少なくとも１人のユーザまたはシミュレートされたユーザに対して前記エンドユーザ・オントロジーを持つドメインにおいて稼働している前記対話マネージャーを用いることと、タスク成功率、平均報酬または２つの平均のうち少なくとも１つを増加させるように前記パラメータ化されたポリシーを適応させることとを含む、
請求項１４記載の方法。
【請求項１６】
前記方法は、
オントロジー独立なパラメータを入力として作用するように構成されたさらなるパラメータ化されたポリシーを準備することと、
第２のオントロジーに前記さらなるパラメータ化されたポリシーを最適化させることと
をさらに含み、
前記第２のオントロジーのスロットは、当該スロットが前記さらなるパラメータ化されたポリシーへの入力として用いられるのに適するように、前記オントロジー独立なパラメータのうち少なくとも１つによって定義され、
前記さらなるパラメータ化されたポリシーを最適化することは、成功率および平均報酬のうち少なくとも１つを適応されていないポリシーについての値よりも増加するように、特定のオントロジーに対して前記パラメータ化されたポリシーを適応させることを含み、
前記方法は、エンドユーザ・オントロジーに最適なパラメータ化されたポリシーを識別するために、当該エンドユーザ・オントロジーに対して対話マネージャーにおいて前記パラメータ化されたポリシーおよび前記さらなるパラメータ化されたポリシーをテストすることを含み、
前記対話マネージャーは、ユーザからの入力発言の表象を受け取り、前記ユーザとの会話のフローを制御するように構成され、
前記最適なパラメータ化されたポリシーは、最高の成功率、平均報酬または２つの平均を持つポリシーである、
請求項１３記載の方法。
【請求項１７】
オントロジーをオントロジー独立なポリシーと両立できるようにする方法であって、
オントロジー独立なポリシーは、オントロジー独立なパラメータを入力として作用するように構成され、複数のオントロジーに対する対話マネージャーの振る舞いを定義するためのものであって、
前記対話マネージャーは、ユーザからの入力発言の表象を受け取り、前記ユーザとの会話のフローを制御するように構成され、
前記方法は、オントロジーをパラメータ化することを含み、
オントロジーをパラメータ化することは、少なくとも１つのオントロジー独立なパラメータによって前記オントロジーのスロットを定義することを含む、
方法。
【請求項１８】
前記方法は、対話状態をパラメータ化することをさらに含み、
対話状態をパラメータ化することは、対話状態がパラメータ化されたポリシーへの入力として用いられるのに適するように、前記オントロジー独立なパラメータのうち少なくとも１つによって当該対話状態を定義することを含む、
請求項１７記載の方法。
【請求項１９】
ユーザからの入力発言の表象を受け取り、前記ユーザとの会話のフローを制御するように構成され、
請求項１記載のコントローラを含む、
対話マネージャー。
【請求項２０】
プロセッサでの実行時に、当該プロセッサに請求項１３に記載の方法を実行させるコンピュータ可読命令を記憶しているコンピュータ可読記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
ここに記述された実施形態は、音声対話システム（ＳＤＳ）に一般的に関する。
【背景技術】
【０００２】
音声対話システムは、口頭で人間と対話するように意図されており、特にモバイルアプリケーションおよびウェアラブル音声インターフェイスデバイスにおいて、ますます普及しつつある。
【０００３】
音声対話システムは、一般的には、例えば、人間のユーザの音声を変換し、意味的な情報を識別および照合し、タスクを完了させるために必要な情報を取得するために会話のフローを制御し、必要なテキストを生成し、そして、音声を合成するための多数のコンポーネントを備える。対話マネージャーは、しばしば、音声対話システムとユーザとの間の会話の状態およびフローに責任がある。
【０００４】
対話マネージャーは、従来、特定のドメインにおける作業に適応させられる。ドメインは、一般的には、例えばある基準にマッチする多数のレストランをユーザに提供するシステム、または、買い手に適したラップトップを識別するシステムなど、音声対話システムのタイプおよび目的に特有となるであろう。
【０００５】
ドメインは、しばしば、当該ドメインに特有のエンティティのタイプ、プロパティおよび相互関係を備えるドメイン特有オントロジーを持つであろう。多くのタスク指向の音声対話システムにおいて、オントロジーは、複数の可能性のある値のうちの１つ（または複数）で満たされる複数のスロットを指定するであろう。対話マネージャーは、一般的には、タスクを完了させるために値でスロットを満たすように会話のフローを制御するために設計されたポリシーを備える。
【０００６】
音声対話システムの効率および有効性を向上させるために、ポリシーは当該ポリシーが機能するドメインおよびオントロジーに対して最適化されるであろう。これは、しばしば、データドリブンなポリシー適応処理を用いて、（例えば、音声対話システムをユーザまたはシミュレートされたユーザに対して用いて、成功率または平均報酬の少なくとも一方を適応されていないポリシーについての値よりも増加させるようにポリシーを適応させて）、なされる。これは、時間がかかり、かつ、高価な処理である。さらに、多くのケースでは、データ収集手順が開始可能となるよりも前に、基本的な（ルールベースの）作業ＳＤＳが必要とされるであろう。新たなドメインのために初期システムを発達させることは、かなりの量の人間の専門的技術を必要とする。
【０００７】
オントロジーが一般的にはドメイン依存であるから、第１のドメインのために最適化されたポリシーは、従来、第２のドメインと両立できないか、第２のドメインに対して最適化されない。これは、ポリシーが、全ドメインに対して独立に最適化されなければならないことを意味する。これは、高価で、かつ、時間のかかる課題となり得るし、ドメインの特有のオントロジーに対話マネージャーを最適化するためにかなりの量の時間と金銭を最初に費やさなければ、最適化された対話マネージャーを当該ドメインのために準備することができないことを意味する。
【発明の概要】
【０００８】
（関連出願の相互参照）  
この出願は、２０１５年４月３０日に提出された英国特許出願第１５０７４０３．２号に基づいていて、かつ、この優先権の利益を主張するものであって、その全内容が参照によってここに組み込まれる。
【図面の簡単な説明】
【０００９】
非制限の実施形態に従う方法及びデバイスが、以下の添付図面を参照してこれから説明されることになる。
【図１】図１は、ＳＤＳシステムを概略的に図示するフローチャート。
【図２】図２は、部分観測マルコフ決定過程の音声対話システム（ＰＯＭＤＰ−ＳＤＳ）についてのフローチャートである。
【図３】図３は、実施形態に従う、部分観測マルコフ決定過程の音声対話システム（ＰＯＭＤＰ−ＳＤＳ）についてのフローチャートである。
【図４】図４は、実施形態に従うコントローラの一例である。
【図５】図５は、オントロジーをオントロジー独立なポリシーと両立できるようにさせるための方法を図示するフローチャートである。
【図６】図６は、オントロジーをオントロジー独立なポリシーと両立できるようにさせるための方法を図示するさらなるフローチャートである。
【図７】図７は、実施形態に従う、最適化されたオントロジー独立なポリシーを準備するための方法を図示するフローチャートである。
【図８】図８は、実施形態に従う、最適化されたオントロジー独立なポリシーを準備および改良するための方法を図示するフローチャートである。
【図９】図９は、実施形態に従う、対話ポリシーを移すための方法を図示するフローチャートである。
【発明を実施するための形態】
【００１０】
実施形態において、対話マネージャーのためのコントローラが提供され、対話マネージャーは、ユーザからの入力発言の表象を受け取り、当該ユーザとの会話のフローを制御する。コントローラは、対話マネージャーの振る舞いを定義するためのパラメータ化されたポリシーを実装するように構成される。パラメータ化されたポリシーは、オントロジー独立なパラメータを入力として動作するように構成される。コントローラは、パラメータ化されたポリシーがエンドユーザ・オントロジーについて対話マネージャーの振る舞いを定義することができるように、当該エンドユーザ・オントロジーをパラメータ化するプロセッサを含む。プロセッサは、エンドユーザ・オントロジーのスロットがパラメータ化されたポリシーの入力として使用されるのに適するように、オントロジー独立なパラメータの少なくとも１つによって当該スロットを定義するように構成される。
【００１１】
対話マネージャーのためのコントローラは、対話マネージャーの振る舞いを命令するように構成され得る。ＳＤＳは、対話マネージャーを含むかもしれず、対話マネージャーは、ＳＤＳによって講じられることになるアクションを決定するために、ポリシーを実装し得る。対話マネージャーは、入力を含み得る。対話マネージャーは、出力を含み得る。対話マネージャーは、入力として、人間の発言の表象を受け取り得る。これは、人間の発言の意味表現、または、人間の発言から抽出される情報を表現するデータのコレクションであり得る。対話マネージャーは、この表象を意味的なデコーダから受け取り得る。対話マネージャーは、どのアクションが講じられることになるかに関して命令を出力し得る。アクションは、対話におけるＳＤＳの次ターンに当該ＳＤＳが何をするかを記述する。どのアクションを講じるかの選択は、例えば、最終観測、完全な対話履歴、さらにコンテキストなどの、多数の要素に依存し得る。対話マネージャーの出力は、意味表現であり得る。対話マネージャーは、その命令を自然言語生成ユニットへと出力し得る。
【００１２】
対話マネージャーまたはコントローラは、パラメータ化されたポリシーを実装するように構成され得る。対話マネージャーまたはコントローラは、パラメータ化されたポリシーを実装するように構成されるプロセッサを含み得る。対話マネージャーは、メモリーユニットを含み得る。対話マネージャーまたはコントローラは、パラメータポリシーを含むか、メモリーユニットに格納し得る。
【００１３】
ポリシーは、コントローラ、そして、対話マネージャーの振る舞いを定義し得る。ポリシーは、対話マネージャーによってどのアクションが講じられるべきかを選択することに責任がある。ポリシーは、どのアクションが講じられる可能性があるかの確率分布を定義することにより、これをなし得る。
【００１４】
オントロジーは、ドメインの様々なエンティティおよび相互関係を定義する。ドメインは、関連のある特定の領域または話題を定義する。オントロジーは、それ故に、ドメイン依存であり、異なるドメインが異なるオントロジーを持つ。多くのタスク指向の音声対話システムにおいて、オントロジーは一連のスロットを含み、これはデータベースに格納されたどの結果がユーザの基準を満足するかを識別するために値で満たされる必要がある。オントロジーは、複数のスロットを含み得る。
【００１５】
オントロジーのスロットは、従来的に、ポリシーにおいて入力として使用され、ポリシーがどのアクションが講じられるべきかを決定することを可能にする。従って、ポリシーは、オントロジーそしてドメインに、適応され、かつ、依存する。
【００１６】
実施形態に従うポリシーは、オントロジーそしてドメイン独立であり得る。実施形態に従うポリシーは、オントロジー独立なパラメータに作用するように構成される。実施形態に従うポリシーにおいて、ポリシーは、ドメインに一意な入力の代わりに、単一または複数のオントロジー独立なパラメータを受け取って作用するように構成され得る。実施形態に従うポリシーにおいて、ポリシーは、スロットの代わりに、単一または複数のオントロジー独立なパラメータを受け取って作用するように構成され得る。実施形態に従うポリシーにおいて、ポリシーは、完全な対話状態またはドメイン依存な要約された対話状態の代わりに、単一または複数のオントロジー独立なパラメータを受け取って作用するように構成され得る。オントロジー独立なパラメータは、数値パラメータであり得る。ポリシーによって作用されるオントロジー独立なパラメータは、あるオントロジー独立なパラメータを表す一連の数、数列または数の行列であり得る。
【００１７】
オントロジー独立なパラメータは、定義または数式を含み得る。スロットまたは対話状態に適用される場合には、パラメータは、数、ベクトルまたは分布であり得る。この数、ベクトルまたは分布は、パラメータ化されたポリシーに対する入力として用いられ得る。
【００１８】
パラメータによって定義されたスロットまたは対話状態は、１つまたは複数のパラメータ量を含み得る。例えば、スロットがとることのできる可能性のある値の数Ｎによって決定され得る。パラメータは、Ｎをオペランドとして用いる数式であり得る。スロットに適用される場合に、Ｎは値を作り出すために用いられるであろう。この値はパラメータ量であるかもしれず、当該パラメータ量は数、ベクトルまたは分布であり得る。パラメータ化されたポリシーは、その入力としてパラメータ量に作用するように構成され得る。
【００１９】
オントロジー独立なパラメータは、あるオントロジーのスロットが異なるオントロジーのスロットとオントロジー独立な空間を介して効果的に比較されることを可能にする。オントロジー独立な空間は、複数の異なるオントロジーに属する複数の異なるスロットについて測定、計算、決定または推定することができるスロットの特性であり得る。
【００２０】
オントロジー独立なパラメータは、異なるオントロジーのスロット間の類似性を量的に測定可能とし得る。オントロジー独立なポリシーがデータドリブンなアプローチを用いてあるドメインにおいて最適化されたならば、得られるポリシー（すなわち、学習済みのモデルパラメータ）は、同一のポリシーおよび同一のオントロジーパラメータ化が新たなオントロジーに対して用いられるという条件で、異なるオントロジーを持つ異なるドメインにおいてポリシーに対して事前知識（または数学的事前分布）を提供することができる。
【００２１】
同様のオントロジー独立なパラメータは、ポリシーおよびエンドユーザ・ポリシーを最適化するために用いられるオントロジーをパラメータ化するために用いられ得る。
【００２２】
オントロジー独立なパラメータに作用するように構成されたポリシーは、当該ポリシーが機能するオントロジーに特有でなく依存もしない入力に基づいて、対話マネージャーの振る舞いを定義することができるかもしれない。パラメータ化されたポリシーは、パラメータに作用するように構成されたポリシーかもしれない。パラメータ化されたポリシーは、パラメータによって定義されたスロットおよび／または対話状態の表現を入力として受け取るように構成され得る。従って、特定のパラメータ値は、１つのまたは各パラメータ（およびオプションでスロット毎に）に対して決定されてよく、パラメータ化されたポリシーはこれらの特有のパラメータ値に作用するように構成され得る。
【００２３】
パラメータ化されたポリシーはオントロジー独立なパラメータを入力として作用するように構成されるが、パラメータ化されたポリシーは複数のパラメータを入力として作用するように構成されてもよいことを理解されたい。オントロジーのスロットまたは対話状態は、複数のオントロジー独立なパラメータによって定義され得る。
【００２４】
コントローラは、プロセッサを含み得る。プロセッサは、オントロジーがパラメータ化されたポリシーと両立できるようにするために、または、パラメータ化されたポリシーに入力を提供するために、エンドユーザ・オントロジーを処理するためのものであり得る。エンドユーザ・オントロジーは、対話マネージャーが機能することを意図されるオントロジー（すなわち、ポリシーがセットアップされるオントロジー）であり得る。エンドユーザ・オントロジーは、ＳＤＳが稼働することになるドメインのオントロジーである。
【００２５】
プロセッサは、オントロジーのスロットをオントロジー独立なパラメータによって定義する「パラメータライザー」として働き得る。オントロジーのスロットをパラメータによって定義することは、スロットをオントロジー独立なパラメータへと変換することと、スロットをオントロジー独立なパラメータによって表現することとを含むと解釈され得る。プロセッサは、対話状態に対しても「パラメータライザー」として働き得る。
【００２６】
エンドユーザ・オントロジーは、それ自体、少しも修正または変更されないかもしれない。プロセッサは、エンドユーザ・オントロジーの特定のスロットについてのパラメータに適切な値を計算または決定するかもしれず、これはポリシーに対する入力または入力の一部として用いられるかもしれない。
【００２７】
コントローラは、メモリーユニットを含み得る。メモリーユニットは、オントロジー独立なパラメータの定義を格納し得る。メモリーユニットは、音声対話システムの対話状態に関するデータを格納し得る。
【００２８】
プロセッサは、エンドユーザ・オントロジーの１つ、複数または各スロットをオントロジー独立なパラメータによって定義するように構成され得る。
【００２９】
パラメータ化されたポリシーは、第１のオントロジーに対して最適化され得る。ポリシーを最適化することは、成功率または平均報酬の少なくとも一方を適応されていないポリシーについての値よりも増加させるようにポリシーをオントロジーに対して適応させることを含む。
【００３０】
第１のオントロジーは、エンドユーザ・オントロジーと異なり得る。
【００３１】
パラメータ化されたポリシーは、第１のオントロジーに対して最適化され得る。パラメータ化されたポリシーは、第１のオントロジーに関するデータドリブンなポリシー適応処理を用いることによって、最適化され得る。
【００３２】
ポリシーを第１のオントロジーに対して最適化するために、第１のオントロジーのスロットがパラメータ化されたポリシーへの入力として使用されるのに適するように、当該スロットがオントロジー独立なパラメータのうち少なくとも１つによって定義され得る。第１のオントロジーのスロットの各々は、オントロジー独立なパラメータのうち少なくとも１つによって定義され得る。
【００３３】
パラメータ化されたポリシーは、エンドユーザ・オントロジーと共に用いられる前に、ポリシーに対して最適化され得る。ポリシーは、エンドユーザ・オントロジーと共に用いられるためのコントローラ、対話マネージャーまたはＳＤＳにおいて実装または配備されるよりも前に、最適化され得る。
【００３４】
パラメータ化されたポリシーは、パラメータを入力として用いる。パラメータは、パラメータ「空間」（ここでは、異なるオントロジーのスロットが客観的にマッピングまたは比較され得る）を定義するために用いられるかもしれない。従って、第１のオントロジーに対して最適化されたポリシーは、それにより、エンドユーザ・オントロジーに対しても最適化され得る。
【００３５】
第１のオントロジーに対して、または、第１のオントロジーを用いて、ポリシーを最適化するときに、ポリシーは、オントロジー独立なパラメータに対して最適化され得る。第１のオントロジーを用いて、または、第１のオントロジーに対して、ポリシーを最適化するときに、ポリシーは、オントロジー独立なパラメータを入力として用いるために最適化され得る。
【００３６】
ポリシーを最適化することは、この特定のドメインおよびオントロジーについてのある性能インジケータを最大化すること、または、性能インジケータを初期値よりも増加させること、を含み得る。ポリシーを最適化することは、成功率または平均報酬を増加させるようにポリシーを適応させることを含み得る。ポリシーを最適化することは、上記インジケータの平均または組み合わせが最大化されるようにポリシーを適応させることを含み得る。
【００３７】
最適化過程は、関数近似手続きであり得る。
【００３８】
最適化過程は、人間またはシミュレートされた人間との対話中に動作するポリシーを含みまたはこれを実装する対話マネージャーを繰り返し用いることを含み得る。人間またはシミュレートされた人間との対話と組み合わせてまたはこれに応じて、ポリシーは上述のような性能インジケータを増加させるように適応させられ得る。ポリシーは多くの回数（典型的には数千回）用いられる必要があるので、これは高価でかつ時間のかかる課題である。
【００３９】
対話ポリシー最適化は、最大の期待報酬を持つアクションを各対話ターンにおいて選択することができるように、システム状態または対話状態で実行されているシステムアクションについて長期報酬の期待値の推定を目指すかもしれない。
【００４０】
完全なシステムアクションは、ａ（）、ａ（ｓ）、ａ（ｓ＝ｖ）、ａ（ｓ＝ｖ１，ｓ＝ｖ２）、ａ（ｓ＝ｖ１，ｓ＝ｖ２，・・・）の形式のうち１つで定義され、ここでａはドメインおよびオントロジー独立なコミュニケーション関数であって、ｓｉおよびｖｉはドメイン・オントロジーによって定義されるスロット値ペアである。実際には、完全なシステムアクションの数は指数関数的に大きくなり得るので（全ての可能性のあるスロット値の組み合わせを含む）、ＳＤＳにおける共通戦略は、完全なシステムアクションをいわゆる要約アクションへと単純化することであり、ここで、（１）アクションがただ１つのスロット値ペアをそのオペランドとしてとるならば、実際の値は除去され、アクションはａ（ｓ＝＜スロットｓにおける現在／最高の値の仮説＞）として要約され、（２）アクションが共通のスロットを共有する２組の値のペアをそのオペランドとしてとるならば、当該アクションはａ（ｓ＝＜スロットｓにおける現在の／最高の値の仮説＞，ｓ＝＜スロットｓにおける最後から２番目の／２番目に有望な値の仮説＞）として要約され、（３）アクションがスロット値のリストをそのオペランドとしてとるならば、当該アクションはａ（ｓ＝＜現在の／最高の結合のスロット値の仮説＞（すなわち、現在（決定的状態が使用されるならば、すなわち、マルコフ決定過程ＳＤＳにおいて）または最高の状態（対話状態が用いられるならば、例えば、部分観測マルコフ決定過程のＳＤＳにおいて）の仮説（または、必要があれば、最新若しくは上位２つの仮説）が上記＜＞へ代入される）。
【００４１】
最適化過程の一例は、ＧＰＴＤ（Ｇａｕｓｓｉａｎ  Ｐｒｏｃｅｓｓ  Ｔｅｍｐｏｒａｌ  Ｄｉｆｆｅｒｅｎｃｅ）である。最適化過程は、本開示の実施形態と共に使用され得る。
【００４２】
ポリシー学習、すなわち、ポリシーの最適化は、アクションａ毎にパラメータθａ（例えば、線形モデルの場合なら重みベクトル）を割り当てることである。この特定の論述では、ａは完全なアクションを示すために用いられ、ａ（ｓ）をａから一意に導出される要約アクションを示すために使用し、ここでａはアクションタイプ（これは、正式には、コミュニケーション関数と呼ばれ、例えば、「通知」、「要求」、「確認」など）であり、ｓはａが依存するスロットである（ａがいかなるスロット値の引数も持たないならば、または、ａが結合の状態に依存しているのでいかなる特定のスロットにも依存しないならば、ｓはヌルであり得る）。
【００４３】
従来の方法では、（ａ，ｓ）の有効な組み合わせ毎に、個々のθａ，ｓが学習および格納される必要がある。しかし、提案される方法では、スロットｓはポリシーモデルの入力としてパラメータ化されるので、コミュニケーション関数毎にポリシーモデルパラメータ（重み）θａを学習および格納することが必要とされるに過ぎない。換言すれば、同一のａを持つが異なるｓを持つ以前のａ（ｓ）全てが、同一のポリシーモデルパラメータ（重み）θａを共有するであろう。従って、本開示のポリシー最適化技法の出力は、かなり異なるデータ構造（より少数のモデルパラメータ）を持つ。
【００４４】
コントローラは、パラメータ化されたポリシーがエンドユーザ・オントロジーに対する対話マネージャーの振る舞いを定義できるようにエンドユーザ・オントロジーをパラメータ化するためのオントロジー・パラメータライザーを含み得る。オントロジー・パラメータライザーは、プロセッサを含み得る。オントロジー・パラメータライザーまたはプロセッサは、エンドユーザ・オントロジーのスロットがパラメータ化されたポリシーへの入力として用いられるのに適するように、オントロジー独立なパラメータのうち少なくとも１つによって当該スロットを定義するように構成され得る。
【００４５】
コントローラは、パラメータ化されたポリシーがエンドユーザ・オントロジーに対する対話マネージャーの振る舞いを定義できるように対話状態をパラメータ化するための状態パラメータライザーを含み得る。状態パラメータライザーは、プロセッサを含み得る。オントロジー・パラメータライザーまたはプロセッサは、対話状態がパラメータ化されたポリシーへの入力として用いられるのに適するように、オントロジー独立なパラメータのうち少なくとも１つによって当該対話状態を定義するように構成され得る。
【００４６】
オントロジー独立なパラメータは、数のエンティティであり得る。オントロジー独立なパラメータは、変数、分布またはベクトルであり得る。
【００４７】
パラメータがエンティティによって決定されることになると言われている場合には、当該エンティティは入力としてパラメータ化されたポリシーへと入力するためのパラメータ量を決定するためにオペランドとして使用され得る。
【００４８】
値は、対話マネージャーがスロットに関連して認識することのできる、可能性のある有効な応答である。例えば、レストランのドメインでは、スロットは価格であるかもしれず、可能性のある値は低、中および高であり得る。
【００４９】
オントロジー独立なパラメータの定義は、各スロットが基本となるタスクを完了するのにどれだけ関連しているかによって決定され、または、これに関連し得る。
【００５０】
オントロジー独立なパラメータは、エンドユーザ・オントロジーのスロットについての可能性のある値の数によって決定され得る。
【００５１】
オントロジー独立なポリシーへ入力するための入力は、エンドユーザ・オントロジーのスロットについての可能性のある数によって決定され得る。上記例について、レストランのドメインにおける価格のスロットについての可能性のある値の数は、３である。
【００５２】
オントロジー独立なパラメータは、エンドユーザ・オントロジーのスロットについての可能性のある値の数に依存し得る。
【００５３】
オントロジー独立なポリシーへ入力するための入力は、エンドユーザ・オントロジーのスロットについての可能性のある値の数に対して比例または反比例であり得る。
【００５４】
オントロジー独立なパラメータは、パラメータ化されたポリシーがユーザの要求を満足するためにエンドユーザ・オントロジーのスロットが満たされなければならないかどうかによって決定され得る。
【００５５】
オントロジー独立なポリシーへ入力するための入力は、それぞれのスロットについての値を得ることがタスクを完了する（例えば、ユーザの基準を満足するレストランのリストをユーザに返す）ために必須であるかどうかによって決定される（例えば、これに依存して特定の値をとる）かもしれない。
【００５６】
オントロジー独立なパラメータは、エンドユーザ・オントロジーのスロットの優先権によって決定され得る。
【００５７】
オントロジー独立なパラメータは、対話においてスロットがユーザによって要求または参照されそうな時点によって決定され得る。
【００５８】
オントロジー独立なポリシーへ入力するための入力は、特定のスロットに割り当てられる重要性を表すかもしれない。プロセッサがこの重要性を決定するように構成され得るし、重要性はユーザによって定義され得る。
【００５９】
コントローラはデータベースを含み、代替的に若しくは追加的に、プロセッサはデータベースからデータを受け取るように構成され得る。データベースは、対話状態、オントロジースロット、オントロジー値またはオントロジーについての結果に関するデータを格納し得る。
【００６０】
結果は、クライアントの要求を満足すると対話マネージャーによって識別されたエンティティ（例えば、町の中心にある低価格の中国料理のレストラン）であり得る。ポリシーは、ユーザへ出力する結果の数を識別するように構成され得る。コントローラ、対話マネージャーおよび音声対話システムは、ユーザへ出力する結果の数を識別するように構成され得る。結果の数は、結果の閾数未満である必要があり得る。この閾は、ポリシーによって決定され得るし、ユーザによって設定され得る。結果は、オントロジーのスロットまたはオントロジーのスロットについての値として具体化され得る。
【００６１】
プロセッサは、データベースからデータを受け取るように構成され得る。オントロジー独立なパラメータの決定は、データベースからのデータに依存し得る。
【００６２】
プロセッサは、データベースからデータを受信するように構成され得る。オントロジー独立なパラメータの決定は、データベースからのデータによって決定され得る。
【００６３】
コントローラはデータベースからデータを受け取るための入力を含むかもしれず、プロセッサはデータベースからデータを受け取るように構成され得る。データベースは、メモリーユニットであり得る。コントローラは、メモリーユニットまたはデータベースを含み得る。データベースは、例えばスロット、スロット毎の値およびスロットに関する情報など、オントロジー特有のデータを含み得る。データベースは、対話の一部として、または、これに応じて出力され得る、可能性のある結果に関するデータ（例えば、ユーザの基準を満足するレストラン）を含み得る。
【００６４】
オントロジー独立なポリシーへ入力するための入力は、データベースから受け取られるデータによって決定され、または、影響されてもよい。
【００６５】
データベースからのデータは、エンドユーザ・オントロジーのスロットについての値の分布のエントロピーを含み得る。オントロジー独立なパラメータは、スロットについての値の分布のエントロピーによって決定され得る。
【００６６】
オントロジー独立なポリシーへ入力するための入力は、スロットについての値の分布のエントロピーを表すかもしれない。
【００６７】
オントロジー独立なパラメータは、それぞれのスロットについての値の分布のエントロピーに比例または反比例であり得る。それぞれのスロットについての値の分布のエントロピーは、オントロジー独立なパラメータを決定するために、エントロピー範囲のビンの複数のうちの１つに割り当てられるかもしれない。
【００６８】
ポリシーは、結果の閾数以下の数の結果がユーザの基準を満足すると識別するように構成され得る。データベースからのデータは、選択された場合にユーザの基準を満足すると識別される結果の数が閾数以下となるであろう、スロットについての値の割合を含み得る。オントロジー独立なパラメータは、このデータによって決定され得る。
【００６９】
オントロジー独立なパラメータが決定されるデータは、選択された場合に結果の数が閾数以下となるであろう、スロットについての値の割合であり得る。
【００７０】
ここに記述される任意の実施形態に従うポリシーは、結果の閾数以下の数の結果がユーザの基準を満足すると識別するように構成され得る。
【００７１】
オントロジー独立なパラメータは、現在の対話状態によって決定され得る。
【００７２】
パラメータがエンティティによって決定されることになると言われている場合に、当該エンティティはパラメータを決定するときに影響を与える要素の唯一のオペランドではないかもしれないことを、理解されたい。従って、「によって決定される」は、〜によって単独で決定されることを必ずしも意味しない。パラメータがエンティティによって決定されると言われている場合に、パラメータは、当該エンティティに依存し得るし、比例し得るし、反比例し得るし、違ったふうに関連し得る。
【００７３】
見込みのあるオントロジー独立なパラメータの例は、次のものを含む。  
・  １／Ｎ（ここで、Ｎはスロットが持つ（すなわち、とることができる）値の数である）  
・  ｍｉｎ｛ｉｎｔ［ｌｏｇ２（Ｎ）］，６｝に従う６個のバイナリビンの１つの割り当て（ここで、Ｎはスロットが持つ値の数であり、例えば、Ｎ＝８のスロットは［０，０，１，０，０，０］のパラメータに割り当てられる）  
・  タスクを完了させ、または、ユーザの基準を十分に満足させるために、スロットが満たされなければならないかどうかのバイナリ表示（０＝ｎｏ、１＝ｙｅｓ）  
・  スロットがオプションかどうかのバイナリ表示（０＝ｎｏ、１＝ｙｅｓ）  
・  ｛［１，０，０］，［０，１，０］，［０，０，１］｝へとマッピングされる｛１，２，３｝のスケールの、スロットの優先権の表示  
・  スロットについてのデータベースにおける値の分布のエントロピー  
○例えば、ＤＢ（ｓ＝ｖ）は属性ｓ＝ｖを持つ、データベースにおけるエンティティの集合を表し、｜ＤＢ（ｓ＝ｖ）｜および｜ＤＢ｜は、上記集合およびデータベースのサイズをそれぞれ表し、スロットｓの可能性のある値ｖ毎に｜ＤＢ（ｓ＝ｖ）｜／｜ＤＢ｜を計算することは、離散分布（正規化ヒストグラム）を作り出す。エントロピーは、この正規化ヒストグラムについて計算され得る。
【００７４】
・  スロットが満たされるならば、現在の最高の結合仮説と併せて以下のもの  
○  データベースにおいて閾数を越える結果が得られることになるスロット値の割合  
○  データベースにおいて閾数未満の結果が得られることになるスロット値の割合  
○  データベースにおいてユーザの基準を満たす結果がなしとなる結果が得られるスロット値の割合  
このパラメータは、状態の点で現在の最高の仮説がヌルであるスロットについて、換言すれば、システムが当該スロットについていかなる制約も未だ観察していないと確信する場合に、非零となるに過ぎないであろう。
【００７５】
ポリシーは、スロットまたは対話状態毎に、複数のオントロジー独立なパラメータを受け取るように構成され得る。従って、スロットまたは対話状態は、複数のオントロジー独立なパラメータによって定義され得る。スロットまたは対話状態は、５個、１０個または１０個を越えるオントロジー独立なパラメータによって定義され得る。スロットまたは対話状態は、上記オントロジー独立なパラメータの全てによって定義され得る。
【００７６】
プロセッサは、パラメータ化されたポリシーがエンドユーザ・オントロジーに対する対話マネージャーの振る舞いを定義することができるように、エンドユーザ・オントロジーおよび対話状態をパラメータ化するものであり得る。プロセッサは、対話状態がパラメータ化されたポリシーへの入力として用いられるのに適するように、オントロジー独立なパラメータのうち少なくとも１つによって対話状態を定義するように構成され得る。
【００７７】
対話状態は、複数のパラメータによって定義され得る。
【００７８】
オントロジー独立なパラメータは、対話状態およびオントロジーのスロットがパラメータ化されたポリシーに対する入力として使用することができるように、当該対話状態およびオントロジーのスロットを定義するためのものであり得る。パラメータ化されたポリシーは、オントロジーのスロットまたは対話状態を定義するパラメータを受信できるように構成され得る。
【００７９】
オントロジー独立なパラメータによって対話状態を定義することは、完全な対話状態と比べて次元数を減少させるかもしれない。オントロジー独立なパラメータによって対話状態を定義することは、対話状態をより次元数の少ない形式へと変換し得る。オントロジー独立なパラメータによって対話状態を定義することは、対話状態をドメイン独立にする。
【００８０】
対話状態は、対話シーケンスにおけるシステムの観測の全てを含み得るし、表すかもしれない。ここで、観測は、システムへの入力である。従って、対話状態は、対話シーケンスにおいてユーザによってなされたシステムへの過去の入力の全てを追跡または含み得るし、これによって決定され得る。それ故に、対話状態は、完全な対話履歴およびコンテキストを提供し得る。
【００８１】
対話状態は、対話状態トラッカーから受け取られるかもしれない。対話状態は、コントローラ内のメモリーユニットに格納され得る。プロセッサは、対話状態を受け取るように構成され得る。オントロジー独立なパラメータによる対話状態の定義は、コントローラ内のメモリーユニットに格納され得る。
【００８２】
対話状態は、離散分布であり得る。対話状態は、新たな観測がシステムによってなされる毎に更新または作成され得る。プロセッサは、対話状態が更新される毎にオントロジー独立なパラメータ（または複数のオントロジー独立なパラメータ）によって対話状態を定義するように構成され得る。プロセッサは、対話状態が更新される毎に、対話状態の定義を更新するように構成され得る。
【００８３】
オントロジーのスロットを定義するためのオントロジー独立なパラメータの第１のセットと、対話状態を定義するためのオントロジー独立なパラメータの第２のセットとがあり得る。第１のセットは、第２のセットと異なり得る。第１および第２のセットは、相互に排他的であり得る。
【００８４】
パラメータ化されたポリシーは、第１のオントロジー独立なパラメータまたはオントロジー独立なパラメータの第１のセットと、第２のオントロジー独立なパラメータまたはオントロジー独立なパラメータの第２のセットとに作用するように構成され得る。第１のパラメータまたはパラメータのセットは、オントロジーのスロットを定義するためのものであり得る。第２のパラメータまたはパラメータのセットは、対話状態を定義するためのものであり得る。
【００８５】
対話状態を定義するためのオントロジー独立なパラメータは、対話状態における最大の確率（すなわち、最高の仮説に対応する確率）によって決定され得る。
【００８６】
対話状態を定義するためのオントロジー独立なパラメータは、分布のエントロピーによって決定され得る。
【００８７】
対話状態を定義するためのオントロジー独立なパラメータは、上位２つの仮説の間の確率差（実装例では、この値は区間サイズが０．２の５個のビンに離散化された）によって決定され得る。
【００８８】
対話状態を定義するためのオントロジー独立なパラメータは、非零の比率（例えば、対話状態において非零の確率を持つ要素の割合）によって決定され得る。
【００８９】
パラメータがエンティティによって決定されることになると言われている場合に、当該エンティティはパラメータを決定するときに影響を与える要素の唯一のオペランドではないかもしれないことを、理解されたい。従って、「によって決定される」は、〜によって単独で決定されることを必ずしも意味しない。
【００９０】
パラメータがエンティティによって決定されると言われている場合には、パラメータは当該エンティティに依存し得るし、比例し得るし、反比例し得るし、違ったふうに関連し得る。
【００９１】
プロセッサは、エンドユーザ・オントロジーを持つドメインにおいて稼働する対話マネージャーの振る舞いを定義するためにパラメータ化されたポリシーを適用するようにさらに構成され得る。対話マネージャーは、ユーザからの入力発言の表象を受け取り、ユーザとの会話のフローを制御するように構成され得る。
【００９２】
プロセッサは、データドリブンなポリシー適応処理を用いて、エンドユーザ・ドメインに対してパラメータ化されたポリシーを改良するようにさらに構成され得る。ここで、データドリブンな適応処理は、エンドユーザ・オントロジーを持つドメインにおいて稼働する対話マネージャーを少なくとも１人のユーザまたはシミュレートされたユーザに対して使用することと、タスク成功率または平均報酬のうちの少なくとも１つを増加させるようにパラメータ化されたポリシーを適応させることとを含み得る。
【００９３】
パラメータ化されたポリシーを改良することは、成功率または平均報酬のうちの少なくとも１つを改良前のポリシーについての値よりも増加させるようにパラメータ化されたポリシーを適応させることを含み得る。
【００９４】
ポリシーは、ポリシーを最適化することに関連して上述される方法を用いて改良され得る。ポリシーを改良することおよびポリシーを最適化することは、同一の処理を使用し得る。選択されたポリシーを改良するために、当該ポリシーは、さらなる無関係のオントロジーではなく、エンドユーザ・オントロジーと共に繰り返し用いられる。改良されているポリシーは既に最適化されているので、ユーザまたはコンピュータシミュレートされたユーザとの対話の反復回数は、係る場合において最適化されていないポリシーに比べてかなり減少し得る。
【００９５】
ドメイン独立な対話状態トラッカー（ＤＳＴ）と共に用いられる場合には、提案方法はドメイン独立な対話マネージャーをもたらすかもしれない。
【００９６】
実施形態に従う方法は、実施形態に従うコントローラまたはプロセッサが試みるように構成されるアクションのいずれかを含み得る。
【００９７】
実施形態によれば、実施形態は、ユーザからの入力発言の表象を受け取り、ユーザとの会話のフローを制御するように構成された対話マネージャーのために、最適化された、オントロジー独立なポリシーを準備するための方法である。方法は、対話マネージャーの振る舞いを定義するためのパラメータ化されたポリシー（パラメータ化されたポリシーは、オントロジー独立なパラメータを入力として作用するように構成される）を提供することと、パラメータ化されたポリシーを第１のオントロジーに対して最適化することとを含み、第１のオントロジーのスロットは、当該スロットがパラメータ化されたポリシーへの入力として用いられるのに適するようにオントロジー独立なパラメータのうち少なくとも１つによって定義され、パラメータ化されたポリシーを最適化することは、成功率または平均報酬のうち少なくとも１つを適応されていないポリシーについての値よりも増加させるように、パラメータ化されたポリシーを特定のオントロジーに適応させることを含む。方法は、ポリシーを最適化するためのものであり得る。
【００９８】
対話状態は、オントロジー独立なパラメータによって定義され得る。
【００９９】
実施形態に従う方法において、第１のオントロジーに対する音声対話システムの対話状態は、当該対話状態がパラメータ化されたポリシーへの入力として用いられるのに適するようにオントロジー独立なパラメータのうち少なくとも１つによって定義され得る。
【０１００】
さらなる実施形態によれば、ポリシーを最適化するための方法は、パラメータ化されたポリシーを第１のオントロジーに対して最適化することを含み得る。ここで、パラメータ化されたポリシーは、オントロジー独立なパラメータを入力として作用するように構成され、第１のオントロジーのスロットは、当該スロットがパラメータ化されたポリシーへの入力として用いられるのに適するようにオントロジー独立なパラメータのうち少なくとも１つによって定義され、パラメータ化されたポリシーを最適化することは、成功率または平均報酬のうち少なくとも１つを適応されていないポリシーについての値よりも増加させるように特定のオントロジーにパラメータ化されたポリシーを適応させることを含む。対話状態は、オントロジー独立なパラメータによって定義され得る。
【０１０１】
方法は、対話マネージャーの振る舞いを定義するためのパラメータ化されたポリシーを準備することを含むかもしれず、パラメータ化されたポリシーは、オントロジー独立なパラメータを入力として作用するように構成される。
【０１０２】
方法は、エンドユーザ・オントロジーをパラメータ化することをさらに含み得る。エンドユーザ・オントロジーをパラメータ化することは、エンドユーザ・オントロジーのスロットがパラメータ化されたポリシーへの入力として用いられるのに適するようにオントロジー独立なパラメータのうち少なくとも１つによって当該スロットを定義することを含む。
【０１０３】
方法は、エンドユーザ・オントロジーを持つドメインにおいて稼働する対話マネージャーの振る舞いを定義するためにパラメータ化されたポリシーを適応させることをさらに含むかもしれず、対話マネージャーは、ユーザからの入力発言の表象を受け取り、ユーザとの会話のフローを制御するように構成される。方法は、データドリブンなポリシー適応処理を用いてエンドユーザ・ドメインに対してパラメータ化されたポリシーを最適化することをさらに含み、データドリブンなポリシー適応処理は、少なくとも１人のユーザまたはシミュレートされたユーザに対してエンドユーザ・オントロジーを持つドメインにおいて稼働中の対話マネージャーを用いることと、タスク成功率、平均報酬または２つの平均のうちの少なくとも１つを増加させるようにパラメータ化されたポリシーを適応させることとを含む。
【０１０４】
方法は、オントロジー独立なパラメータを入力として作用するように構成されるさらなるパラメータ化されたポリシーを準備することと、さらなるパラメータポリシーを第２のオントロジーに最適化することとを含むかもしれず、第２のオントロジーのスロットは、当該スロットがさらなるパラメータ化されたポリシーへの入力として用いられるのに適するようにオントロジー独立なパラメータのうち少なくとも１つによって定義され、さらなるパラメータポリシーを第２のオントロジーに最適化することは、成功率または平均報酬のうち少なくとも１つを適応されていないポリシーについての値よりも増加するように特定のオントロジーにパラメータ化されたポリシーを適応させることを含み、方法は、エンドユーザ・オントロジーに最適なパラメータ化されたポリシーを識別するために、エンドユーザ・オントロジーに対して対話マネージャーにおいてパラメータ化されたポリシーおよびさらなるパラメータ化されたポリシーを試すことをさらに含み、対話マネージャーは、ユーザからの入力発言の表象を受け取り、ユーザとの会話のフローを制御するように構成され、最適なパラメータ化されたポリシーは、最高の成功率、平均報酬値または２つの平均を持つポリシーである。
【０１０５】
パラメータ化されたポリシーおよびさらなるパラメータ化されたポリシーは、エンドユーザ・オントロジーと共に、若しくは、これを用いてテストされ、または、これに適応させられ得る。
【０１０６】
方法は、複数のさらなるポリシーを準備することと、最適化することと、テストすることとを含み得る。
【０１０７】
エンドユーザ・オントロジーと共に使用され得る複数のポリシーを準備するために、さらなるパラメータ化されたポリシーが準備され得る。準備されたポリシーの全てが、オントロジーに関して、または、これについて、最適化され得る。準備されたポリシーが最適化されるオントロジーは、全て同じであり得、異なり得る。準備されたポリシーが最適化されるオントロジーは、エンドユーザ・オントロジーではないかもしれない。次に、最適または最良なオントロジーが、エンドユーザ・オントロジーとの使用のために選択され得る。
【０１０８】
コントローラまたはプロセッサがとるように構成されるアクションに関する論述は、必要な変更を加えて、実施形態に従う同等の方法ステップに関連する。従って、類似の特徴および方法ステップに関連する論述は、本開示の全ての実施形態、すなわち、装置および方法の両方に、等しく適用される。
【０１０９】
実施形態によれば、オントロジーをオントロジー独立なポリシーと両立できるようにする方法であり、オントロジー独立なポリシーは、オントロジー独立なパラメータを入力として作用するように構成され、複数のオントロジーに対する対話マネージャーの振る舞いを定義するためのものであって、対話マネージャーは、ユーザからの入力発言の表象を受け取り、ユーザとの会話のフローを制御するように構成され、方法は、オントロジーをパラメータ化することを含み、オントロジーをパラメータ化することは、少なくとも１つのオントロジー独立なパラメータによってオントロジーのスロットを定義することを含む。
【０１１０】
方法は、対話状態をパラメータ化することをさらに含むかもしれず、対話状態をパラメータ化することは、対話状態がパラメータ化されたポリシーへの入力として用いられるのに適するようにオントロジー独立なパラメータのうち少なくとも１つによって当該対話状態を定義することを含む。
【０１１１】
方法は、上述のようにオントロジー独立なオントロジーを準備することをさらに含み得る。
【０１１２】
実施形態によれば、対話マネージャーの振る舞いを定義するためのポリシーであって、対話マネージャーは、ユーザからの入力発言の表象を受け取り、ユーザとの会話のフローを制御するように構成され、ポリシーは、オントロジー独立なパラメータを入力として作用するように構成される。
【０１１３】
ポリシーは、第１のオントロジーに最適化されるかもしれず、ポリシーは、成功率または平均報酬のうち少なくとも１つを適応されていないポリシーについての値よりも増加させるように、特定のオントロジーに当該ポリシーを適応させることによって最適化される。特定のオントロジーの１つまたはそれぞれのスロットは、オントロジー独立なパラメータによって定義され得る。
【０１１４】
実施形態によれば、ユーザからの入力発言の表象を受け取り、ユーザとの会話のフローを制御するように構成され、実施形態に従うコントローラを含む対話マネージャーが提供される。
【０１１５】
対話マネージャーは、ドメイン独立な対話状態トラッカーを含み得る。
【０１１６】
実施形態によれば、プロセッサでの実行時に、当該プロセッサに実施形態に従う方法を実行させるコンピュータ実行可能命令を搬送するコンピュータ可読伝送媒体である。
【０１１７】
本実施形態は、部分観測マルコフ決定過程のＳＤＳ（ＰＯＭＤＰ−ＳＤＳ）における使用のためのものであり得る。ＰＯＭＤＰは、長期的な累積報酬を最大化するようにポリシーを最適化することによる、不確実性の下での逐次的意思決定問題をモデル化するための強力なツールである。
【０１１８】
ＰＯＭＤＰ−ＳＤＳは、一般的には、次のように機能する。各ターンにおいて、信頼スコア付きの自動音声認識（ＡＳＲ）仮説のリスト（ＡＳＲのn個の尤もらしい候補リストと呼ばれる）が観測され、これらは通常はn個の尤もらしい意味表現候補（別名は対話行為）のリストを得るために音声言語理解（ＳＬＵ）ユニットによって分析される。この後に、対話状態と呼ばれる、（ユーザの目的および対話履歴を含む）対話状態の分布的な表現が、対話マネージャーによって維持され、対話マネージャーは、ＳＬＵ出力および過去のシステムアクションに基づいて対話の各ターンにおいて状態を更新するための対話状態トラッキングモデルを持つ。
【０１１９】
対話ポリシーは、ＤＭの一部として、意味表現で次のシステムアクションを決定し、これは、次に、自然言語生成（ＮＬＧ）モジュールによって実現され、テキスト／音声（ＴＴＳ）合成器によってユーザに読み聞かせられる。
【０１２０】
以下の論述は、複数の異なるスロットおよび値を持つオントロジーを含む２つの類例となるドメイン（レストランおよびラップトップ）にしばしば言及する。これらのドメインは、例に過ぎず、論じられる方法は、異なるオントロジーを持つ広範なドメインへ適用可能であることを理解されたい。
【０１２１】
ＳＤＳにおける意味表現は、通常は、コミュニケーション関数（例えば、通知、否定、確認など）および（オプションで）スロット値ペアのリスト（例えば、食べ物＝中国料理、価格帯＝高価、など）の２つの部分からなる。特定のドメインにおけるスロットと当該スロットの可能性のある値とを定義する事前知識は、ドメイン・オントロジーと呼ばれる。対話ポリシー最適化は、強化学習（ＲＬ）を介して解決することができ、目標は、ｂおよびａの各々について、対話状態ｂにてアクションａを行うシステムの累積報酬の期待値を反映する量Ｑ（ｂ，ａ）を推定することである。ＳＤＳが招く可能性のある指数関数的に膨大な状態−アクション空間のために、関数近似が必要となり、次のものが仮定される。  
【０１２２】
【数１】
2016212405.tif 000003
【０１２３】
ここで、θは学習するためのモデルパラメータであり、φ（．）は（ｂ，ａ）をパラメータ・ベクトルへとマッピングするパラメトリック関数である。
【０１２４】
数式（１）においてＱ（ｂ，ａ）を計算するために、次元削減のためにオリジナルのｂをパラメータ化する要約された対話状態を使用する、或いは、カーネル法が使用されるならば完全な状態を適用することができる。しかし、どちらの場合にも、アクションａは、扱いやすい計算を達成するために要約アクションとなるであろう。典型的には、要約アクションは、マスターアクションａに由来する意味表現を単純化し、いくつかの事前定義された規則に基づいてマスターアクションへとマッピングし戻すことができる。アクション要約についてのより詳細な説明が以下に与えられる。
【０１２５】
今度は要約アクションがそれらの対応するマスターアクションからどのように導出することができるのかを見ると、システムアクションは、そのコミュニケーション関数に一致する仮定すれば、次の形式のうち１つをとることができる。ａ（）（例えば、さらに要求（），やあ（），ありがとう（）など）、ａ（ｓ）（例えば、要求（食べ物））、ａ（ｓ＝ｖ）（例えば、確認（エリア＝北）など）、ａ（ｓ＝ｖ１，ｓ＝ｖ２）（例えば、選択（食べ物＝中国料理，食べ物＝和食））、および、ａ（ｓ１＝ｖ１，ｓ２＝ｖ２，・・・，ｓｎ＝ｖｎ）（例えば、提案（名称＝「ペキンレストラン」，食べ物＝中国料理，エリア＝中央））であり、ここで、ａは、コミュニケーション関数を意味し、ｓｘおよびｖｘはスロットおよび値をそれぞれ表す。通常、システムが状態において最高の仮説（または、「選択」の場合には上位２つの仮説）に比べて信用できない仮説を扱うことが不要であることを想像することができる。それ故に、システムアクションにおける実際の値は、以下のように要約することができる。  
【０１２６】
【数２】
2016212405.tif 000004
【０１２７】
ここで、ｂｓは、スロットｓに関しての周辺状態(状態の和集合)（ｍａｒｇｉｎａｌ  ｂｅｌｉｅｆ）を表し、ｂｊｏｉｎｔは、複数のスロット値仮説からなる結合状態（ｊｏｉｎｔ  ｂｅｌｉｅｆ）を意味し、ｂｔｏｐおよびｂｓｅｃｏｎｄは、所与のｂｘの最高および第２位の仮説をそれぞれ表す。この要約の後に、要約アクションはａｓ（ｓに依存するアクションについて）およびａ（いかなる引数も持たないアクション、または、その引数として結合仮説をとる、すなわちいかなる特定のスロットとも独立なアクションについて）として定義することができる。さらに、それぞれの状態において最高の（および必要であれば第２位の）仮説を対応するスロットへと代入することにより、係る要約アクションをそれらのマスターアクションへと一意にマッピングし戻すことができる。
【０１２８】
上記定義に基づいて、マスターアクションａはａｓとして書き換えることができ、ここでｓは要約時にａが依存するスロットを表す。ここで、ｓは、ａから完全に導出され、ヌルであり得る（ａの要約アクションが単なるａであるとき）。φの従来の形式は、以下のように表現することができる。  
【０１２９】
【数３】
2016212405.tif 000005
【０１３０】
ここで、δはクロネッカーのデルタであり、ψ（．）は、対話状態をパラメータ化し、以下はテンソル積を表す。  
【０１３１】
【数４】
2016212405.tif 000006
【０１３２】
一般性を失わずに、コミュニケーション関数ａがドメイン独立であると仮定することができる。しかしながら、スロットｓはドメインに特有である（オントロジーによって定義される）から、ａｓおよびｂはドメイン依存となるであろう。
【０１３３】
ψ（ｂ）をドメイン独立にすることは、自明（ｔｒｉｖｉａｌ）であり得る。ｂが、｛ｂｊｏｉｎｔ，ｂｏ｝∪｛ｂｓ｝ｓ∈Ｓとして表される（ここで、ｂｏはいかなるスロットとも独立な対話状態の一部分（例えば、コミュニケーション法、対話履歴などについての状態）を表し、Ｓはドメイン・オントロジーにおいて定義される（通知可能な）スロットの集合を意味する）、個別の状態ベクトルの集合からなると仮定してみよう（これは、対話状態を実際に維持するためにＳＤＳにおいて普通に用いられる戦略である）。以下のパラメトリック関数を構築することが可能である。  
【０１３４】
【数５】
2016212405.tif 000007
【０１３５】
そして、次のようにしてみよう。  
【０１３６】
【数６】
2016212405.tif 000008
【０１３７】
ここで、以下のものは、２つのベクトルを連結するオペレーターを意味する。  
【０１３８】
【数７】
2016212405.tif 000009
【０１３９】
この後に、各ψｘにおいてそのオペランドｂｘをパラメータ化する機構は、ドメイン独立であり得る（例えば以下を参照）ので、結果として生じる全体のパラメータ・ベクトルはドメイン一般的となるであろう。
【０１４０】
要約アクションａｓは、今や数式（２）において唯一のドメイン依存な要素である。各スロットｓは、以下を定義することで、ドメイン一般的なやり方でパラメータ化することができる。  
【０１４１】
【数８】
2016212405.tif 000010
【０１４２】
そして、パラメトリック関数φ全体のドメイン依存は除去されるであろう。ここで、定義をより一般的にするために、ａ毎に異なるパラメータ化が適応することができるようにパラメトリック関数φａおよびψａがａに依存することが仮定されることに注意されたい。
φａ（ｓ）を構築する方法を見つけ出すために、各スロットが基本となるタスクを完了することにどれだけ関連付けられるかが調査される。より具体的には、例えば、基本となるタスクが、システムが適切な候補（例えば、開催地、製品など）を検索するようにデータベース（ＤＢ）に指図できるように各スロットについてユーザの制約を得ることであるならば、スロット・パラメータは、このスロットが満たされる場合に検索結果を改良する（適切な候補の数を減らす）スロットの潜在的可能性を記述すべきである。別の例に関して、タスクが、各スロットの値の数が無限であり得る場合に、システムコマンド（例えば、リマインダを設定する、ルートを計画する）を実行するために必要な情報およびオプションの情報を収集することであるならば、スロット・パラメータは、スロットが必要とされているかオプションであるかを示す必要がある。加えて、スロットは、対話において人々に当該スロットを違ったように扱わせるいくつかの特有の特徴を持つかもしれない。例えば、ラップトップの購入時に、おそらく人はバッテリー定格よりも価格について最初に話すだろう。それ故に、各スロットの優先権を記述するパラメータも、自然な対話をもたらすために必要である。類例のパラメータリストがここに提供される。
【０１４３】
【表１】
2016212405.tif 000011
【０１４４】
テーブル１は、レストラン検索およびラップトップ販売のドメインについてのオントロジー定義を図示する。通知可能スロットは、ユーザが当該スロットについての値を提供できることを意味し、要求可能スロットは、ユーザが当該スロットについての情報を尋ねることができることを意味する。
【０１４５】
上記問題の両方の基本となるタスクは、ＤＢ検索とみなすことができる。テーブル１は、２つのドメインの詳細なオントロジー定義を与える。２つのドメイン例におけるスロットがどのように共通の表現へとパラメータ化することができるかを説明する前に、参照の便宜のために以下の表記が最初に紹介される。Ｖｓは、スロットｓがとることのできる値の集合を表すこととし、｜Ｖｓ｜はＶｓのサイズである。ｈ＝（ｓ１＝ｖ１∧ｓ２＝ｖ２・・・ｓｎ＝ｖｎ）が、スロット値ペアのセットからなる、ユーザの目標仮説であると仮定しよう。ＤＢ（ｈ）は、ＤＢにおいてｈを満足する候補の集合を表す。加えて、以下のものはｘ以下の最大の整数として定義される。  
【０１４６】
【数９】
2016212405.tif 000012
【０１４７】
テーブル１で定義されるスロットｓ毎に、そのパラメータ化のために以下の量が用いられる。これらの量は、例示に過ぎない。
【０１４８】
・  値の数  
○  例えば、連続的なパラメータ、１／｜Ｖｓ｜（ここで、数値的安定性のために、全てのパラメータが同様の値の範囲を持たせるために正規化量が用いられる）  
○  例えば、以下でインデックス付けされる、｜Ｖｓ｜をＮ個のビンへとマッピングする離散的なパラメータ  
【０１４９】
【数１０】
2016212405.tif 000013
【０１５０】
・  重要性、例えば、スロットが対話において生じるであろう、および、生じないであろう可能性がどのくらいかを記述する２つのパラメータ  
・  優先権、例えば、スロットが対話において１番目、２番目およびそれ以降に扱われるであろう可能性がどのくらいかを表す３つのパラメータ  
・  ＤＢにおける値の分布、例えば、正規化ヒストグラムのエントロピー（｜ＤＢ（ｓ＝ｖ）｜／｜ＤＢ｜）ｖ∈ＶＳ 
・  ＤＢ検索への潜在的な貢献、例えば、現在の最高のユーザ目標仮説ｈ＊および事前定義された閾値τが与えられれば、  
○  ｓを満たすことが、マッチするＤＢ結果の数をτ未満に減らすであろう可能性がどのくらいか、すなわち、  
【０１５１】
【数１１】
2016212405.tif 000014
【０１５２】
○  ｓを満たすことが、マッチするＤＢレコードの数をτ未満に減らさないであろう可能性がどのくらいか、すなわち、  
【０１５３】
【数１２】
2016212405.tif 000015
【０１５４】
○  ｓを満たすことが、ＤＢにおいてマッチするレコードが見つからないという結果になる可能性がどのくらいか、すなわち、  
【０１５５】
【数１３】
2016212405.tif 000016
【０１５６】
重要性および優先権のパラメータは、手動で割り当てられたバイナリ値であり得るが、理想的には、（例えば、オズの魔法使い実験から収集される）ドメイン内の人間対人間の対話例を利用可能とするならば、係るパラメータ値はコーパスに対する単純な統計から導出することができる。加えて、ＤＢ検索への潜在的な貢献のパラメータは、現在の最高のユーザ目標仮説において観測されないスロットへ適用可能であるに過ぎない。
【０１５７】
本開示に従う任意の実施形態と共に使用するための要約された対話状態パラメータについてのパラメータは、以下のように定義される。通知可能なスロット毎に、および、その適用可能なコミュニケーション関数ａの各々について、ψａ（ｂ，ｓ）は最高の周辺仮説ｂｓｔｏｐ、ｂｓのエントロピー、上位２つの周辺仮説の間の確率差（区間サイズが０．２の５個のビンに離散化される）、および、非零の比率（｜ｖ：ｖ∈Ｖｓ，ｂｓ（ｖ）＞０｜／｜Ｖｓ｜）を抽出する。加えて、スロットが要求可能であるならば、当該スロットがユーザによって要求される確率が追加のパラメータとして用いられる。同様のパラメータ化手続き（「要求される」確率を除いて）は、結合状態にも同様に適用され、これから得られるパラメータは全てのコミュニケーション関数に対して用いられる。基本となるタスクの性質を捕らえるために、以下の２つの追加のパラメータが結合状態について定義される。  
【０１５８】
【数１４】
2016212405.tif 000017
【０１５９】
ここで、τは、上で紹介されたようなスロットのパラメータ化に用いられる、同一の事前定義された閾値である。コミュニケーション法についての状態、および、現在のターンにおけるユーザ対話行為タイプ（コミュニケーション関数）の周辺の信頼スコアを含む、全てのアクションタイプに適用される多数のスロット独立なパラメータがさらにある。
【０１６０】
図１は、音声対話システム（ＳＤＳ）を概略的に図示する。ユーザ１２は、口頭で、ＳＤＳを会話に従事させる。ＳＤＳは、特定のタスクを完了させるように設計されている。このタスクは、一般的には、ＳＤＳが従事するドメインに依存するであろう。ＳＤＳのための特定のタスクの具体例は、飛行機の便の予約、旅行情報の提供、ならびに、あるユーザ基準を満たす製品または施設のリストを提供すること、を含む。
【０１６１】
図１のＳＤＳ１０は、自動音声認識システム１４および自然言語プロセッサ１６を用いて、ユーザ１２からの発言を解釈する。対話マネージャー１８は、それから、入力発言の表象を受け取る。対話マネージャー１８は、一般的には、ユーザとの会話のフローを制御することに責任があり、故に、ユーザ１２へ送られる応答またはアクションの選択を担当する。対話マネージャー１８の出力は、対話システムの他の部分への命令のリストである。対話マネージャー２０は、とりわけオントロジー特有の情報を格納するデータベース２０と相互作用する。命令は対話マネージャー１８から自然言語生成器２１へと送られ、自然言語生成器２１は自然言語の表象を生成する。テキスト／音声合成器２２は、それから、選択された応答を合成音声としてユーザ１２へと出力する。
【０１６２】
図２は、部分観測マルコフ決定過程のＳＤＳ（ＰＯＭＤＰ−ＳＤＳ）を概略的に図示する。全ての音声対話システムと同様に、図２に従うＰＯＭＤＰ−ＳＤＳは、あるドメインを備える用途のために特定のユニットにインストールされるだろう。ドメインは、ＳＤＳがインストールされる産業（ｉｎｄｕｓｔｒｙ）、および、ＳＤＳが使用されている目的に依存する。例えば、ドメインは、特定の製品、または、レストラン、または、旅行情報であり得る。ＰＯＭＤＰ−ＳＤＳのいくつかのコンポーネントは、特殊化され、故に、ＳＤＳがユーザに目的にあったサービスを提供するために使用されるドメインに特有であるだろう。
【０１６３】
入力音声は、ＳＤＳに入力され、音声をテキストに変える自動音声認識システム（ＡＳＲ）１４によって処理される。音声言語理解（ＳＬＵ）ユニット２４は、テキストを解釈して意味を識別し、その出力が対話状態トラッカー（ＤＳＴ）に接続される。ＤＳＴ２６（状態トラッカーとしても知られる）は、ユーザの発言から解釈されるように、ユーザの基準および対話の履歴を推定および監視する。ＤＳＴ２６は、この情報をポリシー３０に提供する。いくつかの従来の実施形態では、ＤＳＴ２６は、「対話状態要約器」（図示されない）を備えるか、これに接続される。対話状態要約器は、数的方法を用いて、完全な対話状態（これは数値分布の形式である）を低次元の要約された対話状態へと変換する。要約された対話状態は、完全な対話状態のように、ドメイン依存である。
【０１６４】
ポリシー３０は、対話状態、オントロジー３２、可能なアクションおよび他の要素を考慮してどのアクションが講じられることになるかを選択することによって、対話マネージャー（図２には明示的には図示されていない）の振る舞いを定義する。従って、ポリシー３０は、ＳＤＳの効率および有効性において大きな役割を務める。図２のＳＤＳのポリシー３０は、オントロジー３２と相互作用する。オントロジー３２は、ドメインのエンティティおよび相互関係を指定する。従って、オントロジー３２は、ドメイン依存である。多くのタスク指向の音声対話システムにおいて、オントロジー３２は一連のスロットを備えており、データベース３４に格納されたどの結果がユーザ基準を満足するかを識別するためにこの一連のスロットは値で満たされる必要がある。例えば、レストランのドメインは、価格、ロケーションおよびタイプのスロットを持つかもしれない。これらのスロットは、高、中または低；中央、北または南；フレンチ、中国料理またはインド料理の値（すなわち、各スロットに割り当てられる可能性のある答え）をそれぞれ備えるかもしれない。オントロジー３２のスロットは、ポリシー３０へと入力される。
【０１６５】
図２のＳＤＳのポリシー３０は、オントロジー３２のスロットを入力としてとり、この特定のドメインおよびオントロジー３２についてのある性能インジケータを最大化するために最適化される。ポリシーの最適化は、成功率または平均報酬を増加させるようにポリシーを適応させることを含み得る。最適化は、最大の期待報酬を伴うアクションをそれぞれの対話ターンにおいて選択することができるようにポリシーを適応させることを含み得る。これらの理由のために、先行技術に従う最適化されたポリシー３０は、特定のドメインのオントロジーに対して効果的に機能するに過ぎないから、ドメイン依存である。
【０１６６】
最適化過程は、ポリシーが最適化されるべきオントロジーを備えるドメインにおいて、当該ポリシーを含む対話マネージャーを繰り返し使用することを通常含む。対話マネージャーは、通常、本物のまたはシミュレートされた人間のどちらかに対して繰り返し実行され、ポリシーは、上で論じられた性能インジケータを増加させるように適応させられる。ポリシーは、多くの回数（典型的には数千回）使用される必要があるので、これは高価で時間のかかる課題である。
【０１６７】
最適化過程の一例は、ＧＰＴＤ（Ｇａｕｓｓｉａｎ  Ｐｒｏｃｅｓｓ  Ｔｅｍｐｏｒａｌ  Ｄｉｆｆｅｒｅｎｃｅ）である。この最適化過程は、本開示の実施形態とともに使用されてもよい。
【０１６８】
音声対話システムに共通のタスクは、ユーザの要求にマッチする結果のリストを出力することである。例えば、ドメインがレストランであるならば、ＳＤＳは、価格、ロケーションおよびタイプのスロット中のユーザ基準を満足する適切なレストランのリストを生成するために使用されてもよい。レストランのリスト出力が結果である。結果は、オントロジーのスロットまたはスロットの値として具体化され得る。
【０１６９】
自然言語生成（ＮＬＧ）ユニット３６は、ポリシー３０から命令を受けて、出力のために自然言語のテキストを生み出す。テキスト／音声（ＴＴＳ）ユニット３８は、それから、対話システムから出力される音声を生成する。
【０１７０】
図３は、実施形態に従う部分観測マルコフ決定過程のＳＤＳ（ＰＯＭＤＰ−ＳＤＳ）を概略的に図示する。図３のＡＳＲユニット１４、ＳＬＵユニット２４、ＤＳＴユニット２６、オントロジー３２、データベース３４、ＮＬＧユニット３６およびＴＴＳユニット３８は、図２のものと類似した役割を務めるので、詳細には論じられないであろう。
【０１７１】
図３の音声対話システムは、動作において図２の音声対話システムと類似する。しかしながら、図３の音声対話システムは、ドメイン独立なポリシー４２を持つ。さらに、システムは、オントロジー・パラメータライザー４０および状態パラメータライザー２８を含む。オントロジー・パラメータライザー４０および状態パラメータライザー２８は、コントローラ内のプロセッサによって実装され得る。図３の実施形態のポリシー４２は、図２のものと異なり、ドメイン独立である。従って、ポリシー４２は、異なるオントロジーを備える複数の異なるドメインに対して効果的に機能する。状態パラメータライザー２８は、ＤＳＴ２６とポリシー４２との間で動作する。状態パラメータライザー２８は、オントロジー独立なパラメータが、ポリシーのための入力として使用することができ、または、ポリシーによって作用することができるように、当該パラメータにおける対話状態を定義する。オントロジー・パラメータライザー４０は、ドメイン独立なポリシー４２とドメイン依存のオントロジー３２との間に効果的に位置し、オントロジー３２のスロットをオントロジー独立なパラメータによって定義することによって、両者が相互作用できるようにする。
【０１７２】
状態パラメータライザー２８に関する以下の論考は、本開示に従う任意の実施形態に適用可能である。さらに、ポリシーがオントロジー独立なパラメータを入力として受け取るように構成されるならば、状態パラメータライザーは任意のポリシーと共に実装可能である。
【０１７３】
完全な対話状態は、スロット毎に周辺の（すなわち、スロット方向の（ｓｌｏｔ−ｗｉｓｅ））状態を含むので、それ自体は一般的にはドメイン依存である。完全な対話状態は、３つの部分で表すことができる。結合の（ｊｏｉｎｔ）状態ｂｊｏｉｎｔ、スロット方向の状態のセット｛ｂｓ｝、ならびに、対話履歴、コミュニケーション法などのドメイン独立な要素である他の状態ｂｏである。ここでのそれぞれのｂは、離散分布（非負の正規化されたベクトル）である。加えて、それぞれがスロットがユーザによって要求されている確率を示す（例えば、ユーザ「このラップトップはいくら？」ならば、スロット「価格」が要求されている）、（一次元の）値のセットがあり得る。最終的に、ｂｒｓが、スロットｓが要求されていることの状態確率を示す。
【０１７４】
ｂｏは、ドメイン独立であり、そのまま使用することができる。そして、ｂｏに対するいかなるパラメータ化も、システムのドメイン依存状態に影響を及ぼさないであろう。
【０１７５】
さらに、離散分布ｂ〜があれば、その次元に関わらず、少数の一般的なオントロジー独立なパラメータが当該離散分布ｂ〜を定義するために使用することができる。これらのパラメータは、任意の離散分布に適用可能である。次のものがパラメータ例である。  
（１）  ｂ〜における最大確率（すなわち、最高の仮説に対応する確率）  
（２）  分布のエントロピー  
（３）  上位２つの仮説の間の確率差（一実装では、この値は区間サイズが０．２の５個のビンに離散化された）  
（４）  非零率：ｂ〜において非零の確率を持つ要素の割合
状態パラメータライザー２８は、ｂｊｏｉｎｔに上記パラメータ化を適用し、結合状態用のドメイン独立なパラメータ・ベクトルをもたらす。
【０１７６】
他のドメイン依存の成分はｂｓ（およびｂｒｓ）である。アクションａを実行するかどうかを決定する時に、システムが、他のスロットについて何が起こっているかに関わらず、ａが依存するスロットｓ（ｓはａから一意に導出され得る）を大域的なパラメータ（結合状態パラメータおよび上記の他のパラメータ）と共に考慮することを必要とするに過ぎないならば、全てのａは、その一意に対応するｂｓ（およびｂｒｓ）に対して依存関係を持つに過ぎないであろう。上記パラメータ化は、それから、ｂｓ（ｂｒｓは単なる数であるので、数はパラメータ化されることなく追加のパラメータとして単純に使用することができる）に適用することができる。得られたパラメータは結合状態パラメータおよび「他の」パラメータに連結することができ、今や全体の対話状態のパラメータ化がオントロジー独立である。状態パラメータライザー２８は、対話状態のパラメータ定義を提供するために上記ステップを試みる。これは、ポリシー４２の入力を使用することができる。対話状態のこのパラメータ定義は、対話状態トラッカー２６が対話状態を更新する毎に、更新される。
【０１７７】
含まれるかもしれない「他の」パラメータは、以下のものを含む。  
（１）  ４つのコミュニケーション法「制約（ｂｙｃｏｎｓｔｒａｉｎｔ）」、「指定（ｂｙｎａｍｅ）」、「別候補（ｂｙａｌｔｅｒｎａｔｉｖｅ）」、「終了（ｆｉｎｉｓｈｅｄ）」についての状態確率  
（２）  現在のターンにおいて観察されるユーザコミュニケーション関数についてのマージされた確信スコア
対話状態要約器において用いられる従来法とは異なり、状態パラメータライザー２８はオントロジー独立なパラメータによって対話状態を定義する。任意の実施形態に従う状態パラメータライザーは、さらに、完全な対話状態を低次元形式へと変換し、従って、完全な対話状態から次元数を減らす。状態パラメータライザー２８の出力は、オントロジーおよびドメイン独立である。オントロジー独立なパラメータによって定義された対話状態は、それから、ポリシー４２のための入力として使用することができる。
【０１７８】
オントロジー・パラメータライザー４０は、ドメイン独立なパラメータによってオントロジー３２のスロットを定義する。これらのドメイン独立なパラメータは、オントロジーに特有ではなく、それ故に複数のオントロジー、その結果、ドメインに対して使用することができる。ポリシー４２への入力前にオントロジー・パラメータライザー４０がオントロジー３２のスロットをドメイン独立なパラメータへと翻訳しているので、ポリシーはもはやドメイン依存である必要がない。ポリシー４２は、オントロジー特有のスロットではなくドメイン独立なパラメータを入力として使用するので、図２の実施形態のポリシー４２はドメイン独立である。これは、同一のポリシー４２が複数の異なるオントロジーに対して使用することができることを意味する。従って、ポリシーは、特に単一のオントロジーに最適化される必要がない。換言すれば、第１のオントロジーに最適化されたポリシーは、特に第２のオントロジーにポリシーを最適化せずとも、当該第２のオントロジーに対して使用することができる。これは時間と費用を節約する。
【０１７９】
多くのオントロジー独立なパラメータがオントロジーのスロットを定義するために使用することができ、以下のものはその例である。  
・  １／Ｎ、ここで、Ｎはスロットが持つ（すなわち、とることができる）値の数である。  
・  ｍｉｎ｛ｉｎｔ［ｌｏｇ２（Ｎ）］，６｝に従う６個のバイナリビンの１つの割り当て、ここでＮはスロットが持つ値の数であり、例えば、Ｎ＝８のスロットは［０，０，１，０，０，０］のパラメータに割り当てられる  
・  タスクを完了させ、または、ユーザの基準を十分に満足させるために、スロットが満たされなければならないかどうかのバイナリ表示（０＝ｎｏ、１＝ｙｅｓ）  
・  スロットがオプションかどうかのバイナリ表示（０＝ｎｏ、１＝ｙｅｓ）  
・  ｛［１，０，０］，［０，１，０］，［０，０，１］｝へとマッピングされる｛１，２，３｝のスケールの、スロットの優先権の表示  
・  スロットについてのデータベースにおける値の分布のエントロピー  
・  スロットが満たされるならば、現在の最高の結合仮説と併せて以下のもの  
○  データベースにおいて閾数を越える結果が得られることになるスロット値の割合  
○  データベースにおいて閾数未満の結果が得られることになるスロット値の割合  
○  データベースにおいてユーザの基準を満たす結果がなしとなる結果が得られるスロット値の割合  
このパラメータは、状態の点で現在の最高の仮説がヌルであるスロットについて、換言すれば、システムが当該スロットについていかなる制約も未だ観察していないと確信する場合に、非零となるに過ぎないであろう。
【０１８０】
実施形態は、上記パラメータのうち任意の１つまたは複数を使用し得るし、全く使用しないかもしれない。
【０１８１】
図３の実施形態において、上記パラメータは、ポリシー４２へ入力される前に、オントロジー３２の各スロットを定義するために使用される。従って、上記パラメータは、スロットの代わりに使用される。図３のポリシー４２と図２のものとの主な差異は、図３のポリシー４２はオントロジー（そして、それ故に、ドメイン）独立なパラメータを入力として使用するように構成されるが、他のほとんどの点で図２のポリシーと類似することである。
【０１８２】
図４は、実施形態に従うコントローラ５０を図示する。コントローラ５０は、プロセッサ５２を含む。コントローラは、ユーザとの会話のフローを制御するように構成された対話マネージャーにおいて実装され得る。コントローラ５０は、対話マネージャーの振る舞いを定義するためのパラメータ化されたポリシーを実装するように構成される。パラメータ化されたポリシーは、上述のオントロジー独立なパラメータを入力として動作するように構成される。プロセッサ５２は、エンドユーザ・オントロジーの各スロットを、当該スロットがパラメータ化されたポリシーへの入力として使用されるのに適するように、オントロジー独立なパラメータの少なくとも１つによって定義するように構成される。従って、プロセッサ５２は、エンドユーザ・オントロジーに対する対話マネージャーの振る舞いをパラメータ化されたポリシーが定義できるように、当該エンドユーザ・オントロジーをパラメータ化する。図４のコントローラ５０は、図１に図示されるようなＳＤＳにおいて実装されるのに適している。
【０１８３】
図５および図６は、実施形態に従う方法を図示する。図５および図６は、オントロジーを、オントロジー独立なパラメータを入力として動作するように構成されたオントロジー独立なポリシーと両立できるようにさせるための方法を図示する。図５の方法では、例えば実施形態に従うコントローラによって、オントロジー独立にさせられることになるオントロジーのスロットは、オントロジー独立なパラメータ６０によって定義される。これは、件のスロットについて上で列挙されたパラメータを計算することを含み得る。図６において、オントロジーはｋ個のスロットを含み、オントロジーの各スロットはパラメータによって定義される。オントロジーの第１のスロットは、オントロジー独立なパラメータ７０によって定義され、残りのスロット（第２−第ｋ）は、オントロジー独立なパラメータ７２によって定義される。オントロジー独立なパラメータは上記リストに一致し得るし、他のオントロジー独立なパラメータであり得る。このように、オントロジーの全スロットが、オントロジー独立なパラメータによって定義される。スロットの一部は、上記のパラメータのリストにおいて記述されたような値を計算することによって、オントロジー独立なパラメータによって定義される。
【０１８４】
図７は、最適化された、オントロジー独立なポリシーを対話マネージャーのために準備するための方法を図示する。パラメータ化されたポリシー８０が準備される。実施形態のパラメータ化されたポリシーは、実施形態に従わないポリシーがオントロジーのスロットに作用するであろうやり方と同様のやり方で、オントロジー独立なパラメータに作用するように構成される。従って、パラメータ化されたポリシー８０を準備することは、実際上はスロットの代わりにパラメータを使用するように構成されたポリシーを準備することである。ポリシーは、開発されることにより準備されてもよいし、外部ソースからインストールまたは適用されてもよい。本開示に従うこの実施形態または任意の他の実施形態において、パラメータ化されたポリシーの準備は、省略され得るし、実施形態の一部ではないかもしれない。
【０１８５】
パラメータ化されたポリシーが準備されたならば、パラメータ化されたポリシーは最適化される（８２）。図７の実施形態のポリシーは、特定のオントロジーについて成功率または平均報酬の少なくとも一方を適応されていないポリシーについての値よりも増加させるようにパラメータ化されたポリシーを適応させることによって、最適化される。適応されていないポリシーは、最適化されていない（すなわち、最適化過程を経ていない）ポリシーである。代替の実施形態において、各対話ターンにおいて最大の期待報酬を伴うアクション（アクションは、ある時点で何をするかに関して対話マネージャーによってなされる選択である）を選択することができるようにポリシーは最適化され得る。適応は、通常は、人間のユーザまたは人間のユーザをシミュレートするコンピュータのどちらかに対するポリシーの反復的な使用に応じて、また、組み合わせて、なされる。図７の実施形態は、パラメータ化されたポリシーを最適化するために、ＧＰ−ＳＡＲＳＡとしても知られる、ＧＰＴＤ（Ｇａｕｓｓｉａｎ  Ｐｒｏｃｅｓｓ  Ｔｅｍｐｏｒａｌ  Ｄｉｆｆｅｒｅｎｃｅ）学習を用いる。
【０１８６】
ポリシーを最適化するためにモデルパラメータを更新することに関するコストは高い。この高コストは、２つの主な面に由来する。第１に、統計的なポリシーをトレーニングするために、データが必要である。データは稼働中のシステムで収集されるに過ぎず、この最初期のシステムは通常は手作り（ルールベース）である。係るシステムの構築は高価である。第２に、ポリシー学習過程が開始すると、各対話が成功したか否かを知ることが必要となり得る。これは、ポリシー最適化アルゴリズムが学習するフィードバックである。このフィードバックは、当該フィードバックを提供するユーザに直接尋ねること、または、オフラインでデータに注釈を施す注釈者を雇うこと、のどちらかで取得することができる。これらのオプションはどちらも労務費を招く。
【０１８７】
図７のパラメータ化されたポリシーは、特定のオントロジー８２に対して最適化される。このオントロジーは、必ずしも、ポリシーが最終的に使用されることになるオントロジーではない。本開示に従う実施形態は、ポリシーが、第１のオントロジー（すなわち、第１のドメイン）に対して最適化され、かつ、第２のオントロジーを持つ第２のドメインにおいて実装されることを可能にし、最適化期間中になされる改善は、第１のドメインと同じくらい第２のドメインにおいて同様に効果的である。
【０１８８】
ポリシーが最適化されることになるオントロジーがオントロジー独立なポリシーと共に用いられるために、当該オントロジーの各スロットは、図５および図６に関して上述されたようなオントロジー独立なパラメータによって定義される。スロットがオントロジー独立なパラメータによって定義されたならば、オントロジーはポリシーを最適化するために当該ポリシーと共に使用することができる。
【０１８９】
図８は、最適化されたパラメータ化されたポリシーを対話マネージャーのために準備する方法を概略的に図示するフローチャートである。図８において図示される方法において、ｎ個の異なるパラメータ化されたポリシーが準備される（９０）。パラメータ化されたポリシーは、オントロジー独立なパラメータを入力として受け取るように構成される。パラメータ化されたポリシーは最適化されていない。
【０１９０】
パラメータ化されたポリシー（１乃至ｎ）の各々は、それから最適化される（９２）。ポリシーは、図７に関して論じられた方法を用いて最適化される。ポリシーは、全て同一のオントロジーを持つ同一のドメインによって（若しくは関して）、または、異なるオントロジーを持つ異なるドメインによって、最適化され得る。ポリシーはドメイン独立なので、当該ポリシーが用いられることになるオントロジー（「エンドユーザ」オントロジー）が、当該ポリシーが最適化されたオントロジーと異なるかどうかは問題ではない。オントロジー独立なポリシーを最適化するために使用されるために、最適化が試みられ得る前に、ｍ個のオントロジーの各々は当該オントロジーのスロットをオントロジー独立なパラメータによって定義されなければならない。パラメータは、上述のものであり得る。
【０１９１】
各オントロジーが、当該オントロジーが最適化することになるそれぞれのポリシーとの使用に適しているならば、最適化されたポリシーはエンドユーザ・オントロジー９４（当該ポリシーが最終的に実装されることになるオントロジー）と共に用いられる。それから、エンドユーザ・オントロジーに対して「最適な（ｍｏｓｔ  ｏｐｔｉｍａｌ）」ポリシーが決定される。本実施形態において、最適なポリシーは最高の平均報酬を伴うポリシーである。代替の実施形態では、最適なポリシーは、最高のタスク成功率若しくは２つの値の平均値を伴うポリシーであり得る。それから、エンドユーザ・オントロジーに対して用いられることになる最適なポリシーが選択される（９８）。
【０１９２】
エンドユーザ・オントロジーに対してパラメータ化されたポリシーを用いるために、エンドユーザ・オントロジーがパラメータ化される（１００）。これは、図５および図６に関して説明されたようになすことができる。エンドユーザ・オントロジーがパラメータ化されたならば、ポリシーがエンドユーザ・オントロジー１０２に適用される。それから、エンドユーザ・オントロジーに適用されるポリシーが改良される（１０４）。図８の実施形態において選択されたポリシーを改良するための処理は、ポリシーを最適化するために使用されるのと同様の処理である。もちろん、選択されたポリシーを改良するために、当該ポリシーは更なる無関係なオントロジーにではなくエンドユーザ・オントロジーに対して繰り返し用いられる。エンドユーザ・オントロジーに適用されるポリシーは既に最適化されているので、当該ポリシーは改良過程１０４の開始時には最適化されたポリシーである。従って、最適化過程のための適応と比べると、比較的少量の適応が必要とされる。故に、所要時間および発生費用も比較的小さい。
【０１９３】
図９は、第１のオントロジーを持つ第１のドメインにおいてポリシーを最適化し、エンドユーザ・オントロジーを備えるエンドユーザ・ドメインへとポリシーを移すためのさらなる方法を概略的に図示する。オントロジー独立なポリシーと共に、初期ＳＤＳが配備される（１１０）。このポリシーは、第１のオントロジーを持つ第１のドメインに配備される。第１のオントロジーのスロットはオントロジー独立なパラメータで定義されているので、スロットはポリシーと共に使用することができる。対話例が収集され（１１２）、上述のようにポリシーは最適化される（１１４）。最適化されたポリシーは、それから、第１のオントロジーを持つドメインにおいてＳＤＳの一部として配備することができる（１１６）。配備されたならば、反復ループ１３０が、さらなる対話例を収集し（１１２）、ポリシーをさらに最適化する（１１４）。
【０１９４】
ポリシーが最適化されたならば、当該ポリシーは「良好な」１つまたは複数のポリシーのセットの一部として維持され得る。それから、良好な１つまたは複数のポリシーは、エンドユーザ・オントロジーを持つ新たなドメインにおいて実装することができ、当該ポリシーの性能が評価される（１２０）。複数の「良好な」ポリシーがあるならば、エンドユーザ・オントロジーに最適なものを選択することができる。それから、選択されたポリシー、または、「良好な」ポリシーだけが、エンドユーザ・オントロジーと共に配備される（１２２）。
【０１９５】
配備されたポリシーのために対話例が収集され（１２４）、ポリシーを最適化するための方法と同等の方法を用いてポリシーはさらに改良される（１２６）。代替の実施形態において、ポリシーを最適化するために用いられた方法と異なる方法を用いてポリシーが改良され得る。ポリシーが改良されたならば、当該ポリシーはエンドユーザ・オントロジーを持つドメインにおいてＳＤＳに配備される（１２８）。
【０１９６】
レストラン検索ドメインにおいて最適化された対話ポリシーをラップトップ販売ドメインに直接配備することによって、９８％のタスク成功率および１２．１６の平均報酬が達成された。この性能は、およそ２０００個の対話例に基づいてラップトップ販売ドメインに直接最適化されたポリシーの性能と同等であり、５０００個の対話例に基づいてラップトップ販売ドメインに完全に最適化されたポリシーの性能（９８％の成功率、１２．４６の平均報酬）に非常に近い。
【０１９７】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。確かに、ここで説明された新規な方法、コントローラおよび対話マネージャーは、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これらの変形の形態は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【図１】
2016212405.tif 000018
【図２】
2016212405.tif 000019
【図３】
2016212405.tif 000020
【図４】
2016212405.tif 000021
【図５】
2016212405.tif 000022
【図６】
2016212405.tif 000023
【図７】
2016212405.tif 000024
【図８】
2016212405.tif 000025
【図９】
2016212405.tif 000026
【外国語明細書】
2016212405000001.pdf