(57)【要約】【課題】従来では、ある対話ドメインに対応する対話ポリシーネットワークの対話ポリシーを、別の対話ドメインに対応する対話ポリシーネットワークに移行させるためには、現在の対話ポリシーを大幅に変更する必要があるため、大量の訓練用データ及びコンピューティングリソースを要する。【解決手段】、  訓練済みの第１の対話ドメインに関する対話情報を用いて、未訓練の第２の対話ドメインに対応する第２の対話ポリシーの潜在表現を、第１のドメインに対応する第１の対話ポリシーの潜在表現に同調させることで、訓練済みの第１の対話ポリシーを第１の対話ポリシーネットワークから見訓練の第２の対話ポリシーネットワークへと移行することができる。【選択図】図２
2020190957.tif 000002
【特許請求の範囲】
【請求項１】
対話ポリシーを移行するための対話ポリシー移行装置であって、
少なくとも第１の対話ドメインに関する第１の対話情報と、第２の対話ドメインに関する第２の対話情報とを含む対話データ記憶部と、
前記第１の対話ドメインに対応する第１の対話ポリシーを、第１の対話ポリシーネットワークから、第２の対話ポリシーネットワークへと移行する移行部とを含み、
前記移行部は、前記第１の対話情報を用いて、前記第２の対話ドメインに対応する第２の対話ポリシーの潜在表現を、前記第１の対話ドメインに対応する前記第１の対話ポリシーの潜在表現に同調させることで、
前記第１の対話ポリシーを前記第１の対話ポリシーネットワークから前記第２の対話ポリシーネットワークへと移行する、
ことを特徴とする対話ポリシー移行装置。
【請求項２】
前記第１の対話情報及び前記第２の対話情報はいずれも、
現在の対話状態から、後続の対話状態に移る進行を示す対話状態遷移を含む、
ことを特徴とする、請求項１に記載の対話ポリシー移行装置。
【請求項３】
前記対話状態遷移は、
対話ドメインに関する情報、現在の対話状態に関する情報、発話行為に関する情報、即時報酬に関する情報、及び後続の対話状態に関する情報を含む、
ことを特徴とする、請求項２に記載の対話ポリシー移行装置。
【請求項４】
前記第２の対話ポリシーネットワークは、
前記第２の対話情報に基づいて、前記第２の対話ドメインにおける所定の対話状態に関する予測を示す予測情報を生成し、
所定の損失関数を用いて、前記予測情報の、前記第１の対話情報に対する損失を計算し、
前記損失を最小化させることで、前記第２の対話ドメインに対応する前記第２の対話ポリシーの潜在表現を、前記第１の対話ドメインに対応する前記第１の対話ポリシーの潜在表現に同調させる、
ことを特徴とする、請求項１に記載の対話ポリシー移行装置。
【請求項５】
前記移行部は、
順伝播型ニューラルネットワークを含み、
前記順伝播型ニューラルネットワークは、
前記第１の対話ポリシーネットワーク又は前記第２の対話ポリシーネットワークから、所定の対話状態遷移に基づいて予測された予測情報を受信し、
受信した前記予測情報が前記第１の対話ポリシーネットワークに生成されたものであるか、前記第２の対話ポリシーネットワークに生成されたものであるかを推定し、
当該推定による交差エントロピー損失を計算し、
前記交差エントロピー損失を最小化させることで、前記順伝播型ニューラルネットワークを訓練する、
ことを特徴とする、請求項４に記載の対話ポリシー移行装置。
【請求項６】
前記予測情報は、
後続の対話状態に関する情報、即時報酬に関する情報、及び状態アクション値に関する情報を含む、
ことを特徴とする、請求項５に記載の対話ポリシー移行装置。
【請求項７】
前記所定の損失関数は、
再構築損失関数、報酬損失関数、後続表現損失関数、及び敵対的損失関数の内の少なくとも一つである、
ことを特徴とする、請求項６に記載の対話ポリシー移行装置。
【請求項８】
対話ポリシーを移行するための対話ポリシー移行装置を用いた対話ポリシー移行方法であって、
前記対話ポリシー移行装置は、
少なくとも第１の対話ドメインに関する第１の対話情報を含む対話データ記憶部と、
前記第１の対話ドメインに対応する第１の対話ポリシーを、第１の対話ポリシーネットワークから、第２の対話ポリシーネットワークへと移行する移行部とを含み、
前記対話ポリシー移行方法は、
前記第１の対話情報を用いて、第２の対話ドメインに対応する第２の対話ポリシーの潜在表現を、前記第１の対話ドメインに対応する前記第１の対話ポリシーの潜在表現に同調させることで、
前記第１の対話ポリシーを前記第１の対話ポリシーネットワークから前記第２の対話ポリシーネットワークへと移行する工程、
を含む対話ポリシー移行方法。
【請求項９】
対話ポリシーを移行するための対話ポリシー移行システムであって、
前記対話ポリシー移行システムは、
対話移行サーバと、
第１の対話装置と、
第２の対話装置とを含み、
前記対話移行サーバと、前記第１の対話装置と、前記第２の対話装置とが通信ネットワークを介して相互に接続されており、
第１の対話装置は、第１の対話ドメインに対応する第１の対話ポリシーネットワークを含み、
第２の対話装置は、第２の対話ドメインに対応する第２の対話ポリシーネットワークを含み、
前記対話移行サーバは、
少なくとも第１の対話ドメインに関する第１の対話情報を含む対話データ記憶部と、
前記第１の対話ドメインに対応する第１の対話ポリシーを、前記第１の対話ポリシーネットワークから、前記第２の対話ポリシーネットワークへと移行する移行部とを含み、
前記第１の対話装置からの対話ポリシー移行要求を受信する場合には、
前記移行部は、前記第１の対話情報を用いて、第２の対話ドメインに対応する第２の対話ポリシーの潜在表現を、前記第１の対話ドメインに対応する前記第１の対話ポリシーの潜在表現に同調させることで、
前記第１の対話ポリシーを前記第１の対話ポリシーネットワークから前記第２の対話ポリシーネットワークへと移行する、
ことを特徴とする対話ポリシー移行システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、対話ポリシー移行装置、対話ポリシー移行方法及び対話ポリシー移行システムに関する。
【背景技術】
【０００２】
コンピュータを用いた対話装置は、人間のユーザが自然言語を使用して特定のタスクを実行する際にこれを支援する装置である。例えば、対話装置は、ユーザがレストランの席を予約したり、旅行を計画したり、ホテルの部屋を予約したりすることを支援することができる。
以下、対話装置やシステムが対応する特定のタスクの領域や範囲を対話の「ドメイン」と呼ぶ。
【０００３】
従来の対話装置では、対話装置の「対話ポリシー」、すなわち対話装置があるユーザ発話に対してどのような応答を生成すべきかを定める規則は、特定の対話ドメインに対応するように設計されている。
そのため、ある対話ドメインで有効な対話ポリシーがあるとしても、異なる対話ドメインに対応するためには、新たな対話ポリシーを策定する必要がある。このため、異なる対話ドメイン用に、大量の訓練用データが必要となり、膨大なコストを要する。
【０００４】
新しい対話ドメイン用の対話ポリシーを策定するコストを抑制する手段の一つとして、既存の対話ポリシーの情報を別の対話ポリシーネットワークに移行する対話ポリシー移行手段が知られている。
しかし、移行元と移行先の対話装置の対話ドメインが異なる場合には、対話装置が対応できる対話状態空間及びアクションセットが異なるため、移行元の対話状態及びアクションセットを移行先の対話状態及びアクションセットにマッピングする必要がある。
【０００５】
そして、上記の対話ポリシー移行の課題を解決するためには、いくつかの手段が検討されている。例えば、Ｇａｓｉｃ  ｅｔ  ａｌ（非特許文献１）には、「基礎となる知識グラフに整列したクラス階層でポリシーが組織化されている階層型分散対話アーキテクチャを提案する。これにより、少量の一般的なポリシーをトレーニングするために適度な量のデータを使用してシステムを展開できる。データが収集されるにつれて、一般的なポリシーを適用してドメイン内のパフォーマンスを向上させることができる。」技術が記載されている。
【０００６】
また、Ｗａｎｇ  ｅｔ  ａｌ（非特許文献２）には、「ゼロからやり直すことなくＲＬベースの対話システムを拡張するための実用的な教師勉強フレームワークを提案します。具体的には、「学生」は新しいオントロジーに基づく拡張対話マネージャであり、「教師」は「学生」の学習プロセスを導くために使用される既存のリソースである。新しいダイアログマネージャで保持されている制約を指定することによって、追加のリソースなしで「教師」の知識を「生徒」に移行する。」技術が記載されている。
【先行技術文献】
【非特許文献】
【０００７】
【非特許文献１】Ｇａｓｉｃ  ｅｔ  ａｌ、「Ｄｉｓｔｒｉｂｕｔｅｄ  Ｄｉａｌｏｇｕｅ  Ｐｏｌｉｃｉｅｓ  ｆｏｒ  Ｍｕｌｔｉ−Ｄｏｍａｉｎ  Ｓｔａｔｉｓｔｉｃａｌ  Ｄｉａｌｏｇｕｅ  Ｍａｎａｇｅｍｅｎｔ」、２０１５  ＩＥＥＥ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ａｃｏｕｓｔｉｃｓ，  Ｓｐｅｅｃｈ  ａｎｄ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｉｎｇ  （ＩＣＡＳＳＰ）
【非特許文献２】Ｗａｎｇ  ｅｔ  ａｌ、「Ｌｅａｒｎｉｎｇ  Ｄｏｍａｉｎ−Ｉｎｄｅｐｅｎｄｅｎｔ  Ｄｉａｌｏｇｕｅ  Ｐｏｌｉｃｉｅｓ  ｖｉａ  Ｏｎｔｏｌｏｇｙ  Ｐａｒａｍｅｔｅｒｉｚａｔｉｏｎ」、Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ｔｈｅ  ＳＩＧＤＩＡＬ  ２０１５  Ｃｏｎｆｅｒｅｎｃｅ，  ｐａｇｅｓ  ４１２−４１６，Ｐｒａｇｕｅ，  Ｃｚｅｃｈ  Ｒｅｐｕｂｌｉｃ，  ２−４  Ｓｅｐｔｅｍｂｅｒ  ２０１５．。
【発明の概要】
【発明が解決しようとする課題】
【０００８】
上記の非特許文献１には、２つの異なる対話ドメイン間で、状態マッピング及びアクションマッピングを手動によって指定し、両方の対話ドメインからの情報を用いて対話ポリシーを訓練することが記載されている。また、非特許文献２では、対話ポリシーを対話ドメイン間で移行できるように、対話ドメインのオントロジーを手動でパラメータ化することが記載されている。
しかしながら、上記の非特許文献はいずれも、対話ドメイン間で対話ポリシーを移行させるために、人間の手間がかかり、対話ドメイン間で対話ポリシーを自動的に移行することが考慮されていない。
【０００９】
そこで、本発明は、１つの対話ドメインに対応する対話ポリシーを自動的に別の対話ドメインに対応する対話ポリシーネットワークに移行することを目的とする。
【課題を解決するための手段】
【００１０】
上記の課題を解決するために、代表的な本発明の対話ポリシー移行装置は、第１のドメインに関する第１の対話状態情報と、第２のドメインに関する第２の対話状態情報とを含む対話データ記憶部と、第１のドメインに対応する第１の対話ポリシーを第１の対話ポリシーネットワークから第２の対話ポリシーネットワークへと移行するための移行部とを含み、移行部は、第２のドメインに対応する第２の対話ポリシーの潜在表現を、第１のドメインに対応する第１の対話ポリシーの潜在表現に同調させることで、第１の対話ポリシーを第１の対話ポリシーネットワークから第２の対話ポリシーネットワークへと移行する。
【発明の効果】
【００１１】
本発明によれば、１つの対話ドメインに対応する対話ポリシーを別の対話ドメインに対応する対話ポリシーネットワークに自動的に移行することができる。
上記した以外の課題、構成および効果は、以下の実施の形態における説明により明らかにされる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施形態に係る対話ポリシーを移行元の対話装置から移行先の対話装置に移行するための移行フレームワークの概念を示す図である。
【図２】本発明の実施形態に係る対話装置の機能的構成を示す図である。
【図３】対話ドメインが「宿泊先予約」の場合の発話行為の例を示す図である。
【図４】対話ドメインが「レストラン予約」の場合の発話行為の例を示す図である。
【図５】対話ドメインが「宿泊先予約」の場合の変数及び変数値の例を示す図である
【図６】対話ドメインが「レストラン予約」の場合の変数及び変数値の例を示す図である。
【図７】対話ドメインが「宿泊先予約」の場合の対話状態の例を示す図である。
【図８】対話ドメインが「レストラン予約」の場合の対話状態の例を示す図である。
【図９】本発明の実施形態に係る対話データ記憶部に格納される対話情報テーブルの例を示す図である。
【図１０】本発明の実施形態に係る対話ポリシーネットワークの一例を示す図である。
【図１１】本発明の実施形態に係る対話ポリシーネットワークの機能を示すフローチャートである。
【図１２】本発明の実施形態に係る移行元の対話ドメインにおいて機械発話を生成する処理のフローチャートである。
【図１３】本発明の実施形態に係る対話ポリシーネットワークの訓練方法を示すフローチャートである
【図１４】本発明の実施形態に係る移行フレームワークにおける対話ポリシー移行の例を示す図である。
【図１５】本発明の実施形態に係るポリシー移行学習処理のフローチャートである。
【図１６】本発明の実施形態に係る移行先の対話ドメインにおいて機械発話を生成する処理のフローチャートである。
【図１７】本発明の実施形態に係る敵対的ネットワークを訓練する処理のフローチャートである
【図１８】本発明の実施形態に係る移行先の対話ドメインの対話ポリシー部を訓練する処理のフローチャートである。
【図１９】本発明の実施形態に係るポリシー移行による対話状態の分布の推移を示す図である。
【図２０】本発明の実施形態に係る移行フレームワークの構成の一例を示す図である。
【図２１】本発明の実施形態に係る移行フレームワークの構成の別の一例を示す図である。
【図２２】本発明の実施形態に係る対話ポリシーの移行を実行する際にユーザが行う処理のフローチャートである。
【図２３】本発明の実施形態に係る対話ポリシーの移行を実行するためのＧＵＩの一例を示す図である。
【図２４】本発明の実施形態に係る対話ポリシーの移行を行うためのコンピューティングデバイスの構成を示す図である。
【図２５】本発明の実施形態に係る対話ポリシーの移行システムの構成を示す図である。
【００１３】
以下、図面を参照して、本発明の実施形態について説明する。なお、この実施形態により本発明が限定されるものではない。また、図面の記載において、同一部分には同一の符号を付して示している。
（本発明の概要）
【００１４】
まず、図１を参照して、本発明の概要及び本発明の実施形態に係る移行フレームワークの概念について説明する。
【００１５】
上述したように、本発明では、ある対話ドメインに対応する対話ポリシーを、１つの対話装置の対話ポリシーネットワークから、別の対話ドメインに対応する対話装置の対話ポリシーネットワークに自動的に移行する。そして、対話ポリシーが移行された後、当該対話ポリシーを対象の対話ドメインの仕様に合わせて最適化する。
なお、本明細書では、「対話ポリシー」とは、対話装置があるユーザ発話に対して、どのような応答（機械発話）を生成すべきかを定める規則である。また、「対話ドメイン」とは、対話装置が対応するタスクの目的を定義するものである。この対話ドメインは、例えば、「レストランを予約する」、「宿泊先を予約する」、「銀行の来客に対応する」等、任意の目的に設定することができる。
【００１６】
図１は、本発明の実施形態に係る対話ポリシーを移行元の対話装置（例えば、第１の対話装置）から移行先の対話装置（例えば、第２の対話装置）に移行するための移行フレームワーク１００を示す図である。
移行フレームワーク１００は、本発明の実施形態に係る対話ポリシーの移行が行われる環境であり、第１の対話装置１１０と、第２の対話装置１２０と、対話ポリシー移行部１５０と、各種データを格納するための対話データ記憶部１４０とから構成される。
なお、以下では、第１の対話装置１１０が移行対象の対話ポリシーを含む移行元の対話装置であり、第２の対話装置１２０が当該対話ポリシーを受ける移行先の対話装置である場合を例として説明する。しかし、本発明はこれに限定されず、第２の対話装置１２０の対話ポリシーを第１の対話装置１１０に移行することも可能であることはいうまでもない。
また、以下では、「第１の対話ポリシーネットワーク」や「第１の対話ポリシー」、「第２の対話ポリシーネットワーク」や「第２の対話ポリシー」の用語を用いて本発明の実施形態を説明するが、原則として、ここでは、「第１の〜」とは、移行元の構成要素を指して、「第２の〜」とは、移行先の構成要素を指す意味で用いることとする。
【００１７】
本発明の実施形態に係る対話装置１１０、１２０は、自然言語を用いて、人間のユーザから情報を受信するように構成されているコンピューティングデバイスである。それぞれの対話装置は、ある対話ドメイン（例えば銀行での案内、空港会社でのチェックイン、レストランの予約）に対応する対話ポリシーを含む対話ポリシーネットワーク（図１に例示せず）を含む。具体的には、この対話ポリシーは、後述するように、それぞれの対話装置に含まれる対話ポリシーネットワーク（図１０参照）のレイヤーに埋め込められているものである。
なお、ここでは、第１の対話装置１１０は対話ポリシーが特定の対話ドメインにおいて既に訓練されており、第２の対話装置１２０の対話ポリシーは、まだ訓練されていないものであるとする。
【００１８】
図１には例示しないが、これらの対話装置１１０、１２０は、自然言語理解部と、対話管理部と、自然言語生成部とを更に含む。自然言語理解部は、ユーザの発話を対話装置にとって解釈可能な形式に変換するための機能部である。対話管理部は、変換されたユーザの発話に応じて、適切な応答を、当該対話装置の対話ポリシーに埋め込まれている対話ポリシーに従って判定する機能部である。自然言語生成部は、対話管理部によって判定された応答を自然言語に変換し、機械発話として出力する機能部である。
【００１９】
図１に示すように、対話ポリシー移行部１５０は敵対的ニューラルネットワーク１６０を含む。敵対的ニューラルネットワーク１６０は、第２の対話装置１２０の対話ポリシーの潜在表現を、第１の対話装置１１０の対話ポリシーの潜在表現に同調させることで、１つの対話ドメインに対応する対話ポリシーを、第１の対話装置１１０の対話ポリシーネットワークから、第２の対話ポリシーネットワークに移行することができる。
また、対話ポリシー移行を敵対的ニューラルネットワークを用いて行うことにより、状態マッピング及びアクションマッピングを手動で指定したり、対話ドメインのオントロジーを手動でパラメータ化したりする手間が不要となり、対話ポリシーの移行を自動的に行うことが可能となる。
なお、ここでは、「対話ポリシーを、第１の対話装置１１０の対話ポリシーネットワークから、第２の対話ポリシーネットワークに移行する」との表現は、第２の対話ポリシーネットワークを、第１の対話装置１１０の対話ポリシーネットワークに基づいて訓練することで、第２の対話ポリシーネットワークを第１の対話装置１１０の対話ポリシーネットワークと同様の精度でユーザ発話に対応する機械発話を生成できる状態にすることを意味する。本明細書では、このプロセスを「対話ポリシー移行学習処理」と呼び、この処理の詳細については後述する。
【００２０】
対話データ記憶部１４０は、複数の対話ドメインに関する対話情報を格納するデータ記憶部である。これらの対話履歴は、例えば第１の対話装置１１０及び第２の対話装置１２０によって取得された情報であってもよく、他の対話装置又はビッグデータ等から取得された情報であってもよい。対話データ記憶部１４０が格納する対話状態の詳細については、図９を参照して説明する。この対話データ記憶部１４０は、例えばフラッシュメモリ、ハードディスクドライブ等、任意の記憶媒体に保存されるデータベースであってもよい。
【００２１】
この移行フレームワーク１００においては、ユーザは対話装置１１０、１２０と対話を行う。対話履歴取得部１３０は、ユーザと装置との対話を記録し、対話情報として対話データ記憶部１４０に格納する。対話ポリシー移行部１５０を、対話データベース１４０に格納される対話情報を用いて訓練することで、後述する対話ポリシー移行学習処理の精度を向上させることができる。このように訓練された対話ポリシー移行部１５０は、第１の対話装置１１０の対話ポリシーを第２の対話装置１２０の対話ポリシーネットワークに移行する。その後、第２の対話装置１２０は、対話データ記憶部１４０から取得した対象の対話ドメインの対話情報を用いて、移行された対話ポリシーを対象のドメインにおいて最適化する。
【００２２】
次に、図２を参照して、本発明の実施形態に係る対話装置の機能的構成について説明する。
【００２３】
図２は、本発明の実施形態に係る対話装置（例えば、図１に示す対話装置１１０、１２０）の機能的構成を示す図である。対話装置１１０、１２０は、まず、ユーザからのユーザ発話を受信する。自然言語理解部２１０は、受信したユーザ発話の発話行為を特定する。
【００２４】
ここで、発話行為とは、（ユーザ又は対話装置の）発話の意図を示したものであり、当該発話の内容から発話の意図、目的の種類を定義するものである。例えば、ユーザ発話の発話行為は、「挨拶」や「人数を教える」等であってもよい。異なる対話ドメインにおける発話行為の例は、図３及び図４に示される。
【００２５】
自然言語理解部２１０がユーザ発話の発話行為を特定した後、対話管理部２２０は、特定された発話行為に応じて、ユーザとの対話の進行を示す対話状態を生成する（図９参照）。続いて、対話管理部２２０は、この対話状態に基づいて、ユーザ発話に対する応答となる機械発話の適切な発話行為を判定する。そして、自然言語生成部２３０は、対話管理部２２０によって判定された発話行為を用いて、当該発話行為に沿った自然言語応答を機械発話として生成し、ユーザに出力する。
【００２６】
次に、図３を参照して、対話ドメインが「宿泊先予約」の場合の発話行為について説明する。
【００２７】
図３は、対話ドメインが「宿泊先予約」の場合の発話行為３１０の例を示す図である。図３に示すように、対話ドメインが「宿泊先予約」の場合には、発話行為は「ｈｅｌｌｏ」、「ｒｅｑｕｅｓｔ＿ｋｉｎｄ」、「ｉｎｆｏｒｍ＿ｋｉｎｄ」、「ｒｅｑｕｅｓｔ＿ａｒｅａ」、「ｉｎｆｏｒｍ＿ａｒｅａ」、「ｒｅｑｕｅｓｔ＿ｐｅｏｐｌｅｎｏ」、「ｉｎｆｏｒｍ＿ｐｅｏｐｌｅｎｏ」、「ｒｅｑｕｅｓｔ＿ｓｔａr」、「ｉｎｆｏｒｍ＿ｓｔａｒ」、「ｔｈａｎｋｙｏｕ」等を含んでよいものとする。そして、それぞれの発話行為は次のように定義されたものとする。
【００２８】
「ｈｅｌｌｏ」は、対話を開始する挨拶として機能する発話行為である。「ｒｅｑｕｅｓｔ＿ｋｉｎｄ」は、宿泊先の種類に関する情報（ホテル、ホステル、ゲストハウス等）を要求する発話行為である。「ｉｎｆｏｒｍ＿ｋｉｎｄ」は、宿泊先の種類に関する情報を知らせるための発話行為である。「ｒｅｑｕｅｓｔ＿ａｒｅａ」及び「ｉｎｆｏｒｍ＿ａｒｅａ」は、宿泊先の場所に関する情報を要求又は知らせるための発話行為である。
【００２９】
「ｒｅｑｕｅｓｔ＿ｐｅｏｐｌｅｎｏ」及び「ｉｎｆｏｒｍ＿ｐｅｏｐｌｅｎｏ」は、宿泊先に泊まる人数に関する情報を要求又は知らせるための発話行為である。「ｒｅｑｕｅｓｔ＿ｓｔａr」及び「ｉｎｆｏｒｍ＿ｓｔａｒ」は、宿泊先の評価に関する情報を要求又は知らせるための発話行為である。「ｔｈａｎｋｙｏｕ」は、対話が終了する際のお礼として機能する発話行為である。
【００３０】
なお、図３に示す発話行為はあくまでも例であり、本発明はこれらの発話行為に限定されるものではない。
【００３１】
次に、図４を参照して、対話ドメインが「レストラン予約」の場合の発話行為について説明する。
【００３２】
対話ドメインが「レストラン予約」の場合の発話行為４１０の例を示す図である。図４に示すように、対話ドメインが「レストラン予約」の場合には、発話行為は「ｈｅｌｌｏ」、「ｒｅｑｕｅｓｔ＿ｆｏｏｄ」、「ｉｎｆｏｒｍ＿ｆｏｏｄ」、「ｒｅｑｕｅｓｔ＿ａｒｅａ」、「ｉｎｆｏｒｍ＿ａｒｅａ」、「ｒｅｑｕｅｓｔ＿ｐｒｉｃｅ」、「ｉｎｆｏｒｍ＿ｐｒｉｃｅ」等を含んでもよいものとする。そして、それぞれの発話行為は次のように定義されたものとする。
【００３３】
「ｈｅｌｌｏ」は、対話を開始する挨拶として機能する発話行為である。「ｒｅｑｕｅｓｔ＿ｆｏｏｄ」及び「ｉｎｆｏｒｍ＿ｆｏｏｄ」は、レストランの料理に関する情報を要求又は知らせるための発話行為である。「ｒｅｑｕｅｓｔ＿ａｒｅａ」及び「ｉｎｆｏｒｍ＿ａｒｅａ」は、レストランの場所に関する情報を要求又は知らせるための発話行為である。「ｒｅｑｕｅｓｔ＿ｐｒｉｃｅ」及び「ｉｎｆｏｒｍ＿ｐｒｉｃｅ」は、レストランの価格帯に関する情報を要求又は知らせるための発話行為である。「ｔｈａｎｋｙｏｕ」は、対話が終了する際のお礼として機能する発話行為である。
【００３４】
なお、図４に示す発話行為はあくまでも例であり、本発明はこれらの発話行為に限定されるものではない。
【００３５】
次に、図５を参照して、対話ドメインが「宿泊先予約」の場合の変数及び変数値について説明する。
【００３６】
図５は、対話ドメインが「宿泊先予約」の場合の変数及び変数値の例を示す表５００を示す。図５に示すように、表５００は、変数名５０１及び変数値５０２を含む。変数名５０１は、ユーザと対話装置との対話の進行を追跡するための変数のカテゴリーの例を示し、変数値５０２は、変数名５０１の値の例を示す。対話装置は、ユーザとの対話において変数名５０１に該当する変数値５０２を検出すると、当該変数値に基づいて次の機械発話の発話行為を判定したり、対話の進行を表す対話状態を更新したりしてもよい。
【００３７】
例えば、対話ドメインが「宿泊先予約」の場合には、図５に示すように、変数名５０１は、例えば「ｋｉｎｄ」、「ｎａｍｅ」，「ａｒｅａ」，「ｈａｓｐａｒｋｉｎｇ」、「ｐｅｏｐｌｅｎｏ」、「ｓｔａｒ」等を含んでもよいものとする。そして、それぞれの変数名は次のように定義されたものとする。
【００３８】
「ｋｉｎｄ」は、宿泊先の種類（ホテル、ホステル、ゲストハウス等）を指定するものである。「ｎａｍｅ」は、宿泊先の名称（東京第一ホテル等）を指定するものである。「ａｒｅａ」は、宿泊先の地域や場所（北、南、西、東、中心部）を指定するものである。「ｈａｓｐａｒｋｉｎｇ」は、宿泊先が駐車場を有しているか否かを指定するものである。「ｐｅｏｐｌｅｎｏ」は、宿泊先に泊まる人数を指定するものである。「ｓｔａｒ」は、宿泊先の評価を指定するものである。
【００３９】
なお、図５に示す発話行為はあくまでも例であり、本発明はこれらの発話行為に限定されるものではない。
【００４０】
次に、図６を参照して、対話ドメインが「レストラン予約」の場合の変数及び変数値について説明する。
【００４１】
図６は、対話ドメインが「レストラン予約」の場合の変数及び変数値の例を示す表６００を示す。表６００に示す変数名６０１及び変数値６０２は、図５の表５００の変数名５０１及び変数値５０２と実質的に同様であるため、それぞれの定義の説明は省略する。
【００４２】
図６に示すように、対話ドメインが「レストラン予約」の場合には、変数名６０１は、「fｏｏｄ」、「ｎａｍｅ」、「ａｒｅａ」、「ｐｒｉｃｅ」等を含んでもよい。「fｏｏｄ」は、レストランの料理の種類（和食、中華、イタリアン）を指定するものである。「ｎａｍｅ」は、レストランの名称（東京ステーキハウス、ローマピザ等）を指定するものである。「ａｒｅａ」は、レストランの地域や場所（北、南、西、東、中心部）を指定するものである。「ｐｒｉｃｅ」は、レストランの価格帯を指定するものである。
【００４３】
なお、図６に示す発話行為はあくまでも例であり、本発明はこれらの発話行為に限定されるものではない。
【００４４】
次に、図７を参照して、対話ドメインが「宿泊先予約」の場合の対話状態７００について説明する。
【００４５】
図７は、対話ドメインが「宿泊先予約」の場合の対話状態７００の例を示す。対話状態とは、ユーザと対話装置との間の対話の情報を記録するベクトルである。対話状態７００は、対話における変数の変数値を数値化し、所定のベクトル要素に格納することで、ユーザの目的を果たすための肝心な情報（例えば、対話ドメインが宿泊先予約の場合には、ユーザが望んでいる宿泊先の種類や、宿泊先に泊まる人数等）を管理することができる。
【００４６】
図７に示すように、対話状態７００では、ベクトル要素７０２は宿泊先の種類を表し、ベクトル要素７０４は宿泊先の名称を表し、ベクトル要素７０６は宿泊先の場所を表す。特定の変数に対応するベクトル要素に「１」や「０」のバイナリー値を入れることで、その変数の有無を示すことができる。例えば、宿泊先の種類が「ホテル」で、場所が「ｅａｓｔ」の場合には、これらの変数値に対応するベクトル要素に「１」を表すことで、これらの情報を対話状態７００に記録し、宿泊先予約に関する対話の情報を管理することができる。
【００４７】
次に、図８を参照して、対話ドメインが「レストラン予約」の場合の対話状態８００について説明する。
【００４８】
図８は、対話ドメインが「レストラン予約」の場合の対話状態８００の例を示す。対話状態８００は、図７に示した対話状態７００と実質的に同様であるため、定義の説明は省略する。
【００４９】
図８に示すように、対話状態８００では、ベクトル要素８０２はレストランの料理の種類を表し、ベクトル要素７０４は、レストランの名称を表し、ベクトル要素７０６はレストランの場所を表す。特定の変数に対応するベクトル要素に「１」や「０」のバイナリー値を入れることで、その変数の有無を示すことができる。例えば、レストランの料理の種類が「イタリアン」で、場所が「ｓｏｕｔｈ」の場合には、これらの変数値に対応するベクトル要素に「１」を表すことで、これらの情報を対話状態８００に記録し、レストラン予約に関する対話の情報を管理することができる。
【００５０】
以上説明した図７及び図８では、対話ドメインが「宿泊先予約」又は「レストラン予約」の場合の対話状態を例示したが、本発明はこれに限定されず、対話状態の形式は対話ドメインによって適宜に変更されてもよい。
【００５１】
次に、図９を参照して、本発明の実施形態に係る対話データ記憶部に格納される対話情報テーブルについて説明する。
【００５２】
図９は、本発明の実施形態に係る対話データ記憶部に格納される対話情報テーブル９００の例を示す図である。図９に示すように、対話情報テーブル９００は、対話ＩＤ９０１、ターン９０２、対話ドメイン９０３の現在の対話状態ｓi９０４、発話行為ａ９０５、報酬ｒ９０６、機械発話９０７、ユーザ発話９０８、及び後続の対話状態ｓi＋１９０９を含む。
上述したように、この対話情報テーブル９００は例えば図１に示す対話データ記憶部１４０に格納されてもよく、後述する対話ポリシー移行学習処理の際に対話ポリシー移行部にアクセスされてもよい。
【００５３】
対話ＩＤ９０１は、対話情報テーブル９００に格納される対話のうち、特定の対話を一意に識別する識別子である。ターン９０２は、当該対話において、このターンは何番目のターンであるかを示す情報である。なお、ここでは、１つのターンは、１つのユーザ発話と、１つの機械発話を含む。
【００５４】
対話ドメイン９０３は、当該対話の対話ドメイン（例えば宿泊先予約、レストラン予約等）を示す情報である。現在の対話状態ｓi９０４は、当該ターンが始まった時点での対話状態を示すベクトルである。この対話状態ｓi９０４は、例えば図７又は図８に説明した形式に従って構成されてもよい。
【００５５】
発話行為ａ９０５は、現在の対話状態ｓi９０４に基づいて判定され、次の機械発話の発話行為となるものである。報酬ｒ９０６は、発話行為ａ９０５に基づいた機械発話を発することによって与えられる即時報酬である。この報酬ｒ９０６は、対話装置が実行した行動（例えば発話行為ａ９０５）が直前のユーザ発話に対する適性度を表す尺度である。原則として、対話装置は、一連の行動を通じて報酬が最も多く得られるような対話ポリシーを学習する。
【００５６】
機械発話９０７は、対話装置が発話行為ａ９０５に基づいて生成し、対話装置がユーザに対して発する発話である。ユーザ発話９０８は、ユーザが対話装置に対して発する発話である。後続の対話状態ｓi＋１９０９は、ユーザ発話９０８に基づいて更新され、ターンが終了する時点での対話状態を示すベクトルである。
【００５７】
なお、図９では、対話ドメインが宿泊先予約及びレストラン予約の場合の対話情報を示したが、本発明はそれに限定されず、対話情報テーブル９００は、対話ドメインによって適宜に構成されてもよい。
【００５８】
次に、図１０を参照して、本発明の実施形態に係る対話ポリシーネットワークについて説明する。
【００５９】
図１０は、本発明の実施形態に係る対話ポリシーネットワーク１０００の一例を示す図である。上述したように、対話ポリシーは、対話装置内に実装されており、ユーザ発話に対してどのような応答（機械発話）を生成すべきかを定める規則である。そして、対話ポリシーネットワーク１０００は、対話ポリシーが埋め込められているニューラルネットワークである。対話ポリシーネットワーク１０００は、例えば図１に示す対話装置１１０、１２０内に実装されてもよい。
なお、ここでは一般的な対話ポリシーネットワークの構成を示しているが、本発明の実施形態に係る対話ポリシーネットワークはこれに限定されず、対話ドメイン等に基づいて適宜に構成が変更されてもよい。
【００６０】
図１０に示すように、対話ポリシーネットワーク１０００は、ニューラルレイヤー（以下、「レイヤー」と略称することがある。）１００１、１００２、１００３、１００４、１００５、１００７、１００８、及び１００９を含む。ここでは、これらのニューラルレイヤーは、現在の対話状態ｓi（レイヤー１００１）及び発話行為ａ（レイヤー１００５）に基づいて、後続の対話状態ｓi＋１（１００９）を予測するように構成されているレイヤーである。つまり、ユーザ発話が受信されると、対話ポリシーネットワーク１０００のニューラルレイヤーは、次の対話状態を予測し、この予測した対話状態に基づいた機械発話を生成し、ユーザとの対話を行うことができる。
【００６１】
図１０に示す演算子１００６は、例えば、いわゆるアダマール積を行う演算子であってもよい。レイヤー１００４は、現在の対話状態ｓiの潜在表現Φ（ｓi）を表すレイヤーである。レイヤー１００２及びレイヤー１００３は、現在の対話状態ｓiを表すレイヤー１００１と、当該現在の対話状態ｓiの潜在表現Φ（ｓi）を表すレイヤー１００４との間の隠れ層（ｈｉｄｄｅｎ  ｌａｙｅｒｓ）である。レイヤー１００７及びレイヤー１００８は、潜在表現Φ（ｓi）のレイヤー１００４と、後続の対話状態ｓi＋１のレイヤー１００９との間の隠れ層である。
ここで、潜在表現とは、ニューラルネットワークが観測したデータから抽出した本質的な情報を表すものである。例えば、潜在表現Φ（ｓi）は、対話の現在の対話状態と、後続の対話状態と、状態アクション値を表す情報である。また、状態アクション値（ｓｔａｔｅ  ａｃｔｉｏｎ  ｖａｌｕｅ）とは、ある状態に対して、特定のアクションの適性度を表す値である。例えば、この状態アクション値は、ある対話状態に対して、特定の発話行為の適性度を表す値であってもよい。
なお、ここでは、レイヤー１００１とレイヤー１００４の間、及びレイヤー１００４とレイヤー１００９の間に２つの隠れ層を示しているが、本発明はこれに限定されず、任意の数の隠れ層であってもよい。
【００６２】
現在の対話状態ｓiの潜在表現Φ（ｓi）を表すレイヤー１００４と重み付けベクトルｗ１０１０とを乗算することで、即時報酬ｒ（レイヤー１０１１）を予測することができる。また、レイヤー１００４の潜在表現Φ（ｓi）をレイヤー１０１２及び１０１３の隠れ層に通すことで、状態アクション値の後続表現（ｓｕｃｃｅｓｓｏｒ  ｒｅｐｒｅｓｅｎｔａｔｉｏｎ）Ψ（ｓi、ａ）を予測することができる。
なお、後続表現とは、特定の現在状態に対して、他の出現可能な状態の占有率を予測する関数である。例えば、後続表現Ψ（ｓi、ａ）は、特定の現在の対話状態に対して、他の出現可能な後続の対話状態の占有率を予測する関数である。
【００６３】
なお、上述した対話ポリシーネットワークの隠れ層の数や、レイヤー内のニューロンの数は適宜に選択されてもよい。
【００６４】
次に、図１１を参照して、本発明の実施形態に係る対話ポリシーネットワークの機能について説明する。
【００６５】
図１１は、本発明の実施形態に係る対話ポリシーネットワークの機能を示すフローチャート１１００である。図１１に示す処理は、ステップＳ１１０１で開始し、ステップＳ１１０３で終了する。
上述したように、対話装置は、特定の対話ドメインに対応する対話ポリシーネットワークを用いることで、当該ドメインにおける対話を行うことができる。また、対話の情報を収集して、格納しておくことで、当該情報を用いて対話ポリシーネットワークを訓練することができる。
【００６６】
まず、ステップＳ１２００では、対話ポリシーネットワーク（例えば図１０に示す対話ポリシーネットワーク１０００）は、ユーザからの発話を受信したり、機械発話を生成したりすることでユーザとの対話を行う。また、対話ポリシーネットワークは、ユーザとの対話の対話情報を収集する。ここでは、対話ポリシーネットワークは、例えばユーザとの対話の情報を、図９に示すような対話情報テーブル９００に記録してもよい。
【００６７】
次に、ステップＳ１３００では、対話ポリシーネットワークは、収集した対話情報を用いて訓練される。対話ポリシーネットワークを訓練する処理の詳細については後述する。
【００６８】
次に、ステップＳ１１０２では、対話ポリシーネットワークの訓練を継続するか否かを判定する。この判定は、例えば対話装置の管理者によって行われてもよい。対話ポリシーネットワークの訓練を継続すると判定された場合には、本処理はステップ１２００に戻り、対話ポリシーネットワークの訓練を継続しないと判定された場合には、本処理はステップ１１０３へと進み、訓練が中止する。
【００６９】
次に、図１２を参照して、本発明の実施形態に係る移行元の対話ドメインにおいて機械発話を生成する処理の流れについて説明する。
【００７０】
図１２は、本発明の実施形態に係る移行元の対話ドメインにおいて機械発話を生成する処理１２００の流れを示すフローチャートである。図１２に示す処理は、ステップＳ１２０１で開始し、ステップＳ１２０８で終了する。
図１２に示す機械発話を生成する処理１２００は、図１１のステップ１２００の対話における機械発話を生成するための処理である。移行元の対話ポリシーネットワークは、ユーザ発話に基づいて機械発話を図１２に示す処理フローに従って生成し、出力することで、第１の対話ドメインにおける対話を行うことができる。
【００７１】
ステップＳ１２０２では、対話管理部（例えば図２に示す対話管理部２２０）は、当該対話装置の対話ポリシーネットワークが対応する対話ドメインを判定する。なお、ここでは、対話ドメインｄＡが「宿泊先予約」である場合を一例として説明する。
【００７２】
ステップＳ１２０３では、対話ポリシーネットワークは、ユーザ発話の意味的情報（ｓｅｍａｎｔｉｃ  ｒｅｐｒｅｓｅｎｔａｔｉｏｎ）を自然言語理解部２１０から取得し、直前の対話状態ｓi−１に対して直前の発話行為ai−１を含む機械発話を発することによって与えられる即時報酬ｒiを獲得する。
【００７３】
ステップＳ１２０４では、対話ポリシーネットワークは、ステップＳ１２０３で受信したユーザ発話の意味的情報を用いて、現在の対話状態ｓiを計算する。
【００７４】
ステップＳ１２０５では、対話ポリシーネットワークは、対話の進行を表す対話状態遷移（ｄＡ、ｓi−１、ai−１、ｒi、ｓi）を対話データ記憶部１４０に格納する。この対話状態遷移は、進行中の対話の対話ドメインｄＡ、直前の対話状態ｓi−１、直前の発話行為ai−１、直前の即時報酬ｒi、及び現在の対話状態ｓiからなる。
この対話状態遷移は、ある対話ドメインｄＡにおいて、特定の対話状態ｓi−１が、後続の対話状態ｓiに移るための発話行為ai−１と、この発話行為による報酬ｒiを示す。言い換えれば、対話状態遷移は、現在の対話状態から、後続の対話状態に移る進行を示すものである。この対話状態遷移の情報は、後述する対話ポリシー移行学習処理において、移行先の対話ポリシーネットワークを訓練するために用いられる。
【００７５】
ステップＳ１２０６では、対話ポリシーネットワークは、現在の対話状態ｓiに基づいて、後続表現Ψ（ｓi、ａ）を判定する。その後、対話ポリシーネットワークは、状態アクション値Ψ（ｓi、ａ）・ｗを計算し、所定の状態アクション値基準を満たす発話行為aiを選択する（ただし、ai＝argmaxaΨ（ｓi、ａ）・ｗ）。例えば、ここでは、対話ポリシーネットワークは、最も高い状態アクション値を有する発話行為を選択してもよい。
【００７６】
ステップＳ１２０７では、対話ポリシーネットワークは、選択された発話行為aiを自然言語生成部２３０に送信する。その後、自然言語生成部２３０は、選択された発話行為aiに基づいた発話行為を生成し、ユーザに出力する。
これにより、対話ポリシーネットワークは、あるユーザ発話に対して、適切な機械発話を出力し、ユーザとの対話を行うことができる。
【００７７】
次に、図１３を参照して、本発明の実施形態に係る対話ポリシーネットワークの訓練方法について説明する。
【００７８】
図１３は、本発明の実施形態に係る対話ポリシーネットワークの訓練方法を示すフローチャートである。図１３に示す処理は、ステップＳ１３０１で開始し、ステップＳ１３０７で終了する。
図１３に示す訓練方法は、図１１のステップ１３００に対応する処理である。対話ポリシーネットワークを、図１３に示す訓練方法で訓練させることにより、適切な機械発話を生成する精度を向上させることができる。
【００７９】
ステップＳ１３０２では、対話管理部（例えば図２に示す対話管理部２２０）は、当該対話装置の対話ポリシーネットワークが対応する対話ドメインを判定する。なお、ここでは、対話ドメインｄＡが「宿泊先予約」である場合を一例として説明する。
【００８０】
ステップＳ１３０３では、対話ポリシーネットワークは、少なくとも１つの対話状態遷移｛（ｄＡ、ｓi、ai、ｒi＋１、ｓi＋１）｜ｄ＝ｄＡ｝を、対話データ記憶部１４０から取得する。
【００８１】
ステップＳ１３０４では、対話ポリシーネットワークは、後続の対話状態ｓi＋１、即時報酬ｒi＋１、及び状態アクション値の後続表現Ψ（ｓi、ａ）を予測する。
【００８２】
ステップＳ１３０５では、対話ポリシーネットワークは、この予測による損失を計算する。この予測の全体の損失は、後続の対話状態ｓi＋１の予測による再構築損失Lrec、即時報酬ｒi＋１の予測による報酬損失Lrew、及び後続表現Ψ（ｓi、ａ）の予測による後続表現損失Lsucの３つからなる。原則として、対話ポリシーネットワークは、ここで予測した後続の対話状態ｓi＋１、即時報酬ｒi＋１、及び状態アクション値の後続表現Ψ（ｓi、ａ）を、対話データ記憶部１４０に格納されているグラウンドトゥルースに基づいて、上述した損失を計算する。
具体的には、対話ポリシーネットワークは、後続の対話状態ｓi＋１の予測による再構築損失Lrecを以下の数式１によって計算する。
【数１】
2020190957.tif 000003
ここでは、ｓi＋１は対話データ記憶部に格納されている対話状態であり、Ｓi＋１は対話ポリシーネットワークが予測した後続の対話状態である。
また、対話ポリシーネットワークは、即時報酬ｒi＋１の予測による報酬損失Lrewを以下の数式２によって計算する
【数２】
2020190957.tif 000004
ここでは、ｒiは対話データ記憶部に格納される報酬であり、ｗ・Φ（ｓi）は対話ポリシーネットワークが予測した報酬である。
そして、対話ポリシーネットワークは、後続表現Ψ（ｓi、ａ）の予測による損失Lsucを以下の数式３によって計算する。
【数３】
2020190957.tif 000005
ここでは、ai＋１は上述したａｒｇｍａｘａΨ（ｓi＋１、ａ）・ｗであり、γはディスカウントファクターであり、Ｅは対話ポリシー及び対話状態遷移の分布によって定められる係数である（ただし、０≦γ≦１）。
【００８３】
ステップＳ１３０６では、対話ポリシーネットワークは、レイヤーの重み付けを当該損失に応じて調整する。この重み付けの調整は、例えば再急降下最適化のアルゴリズム（ｇｒａｄｉｅｎｔ  ｄｅｓｃｅｎｔ  ｏｐｔｉｍｉｚａｔｉｏｎ  ａｌｇｏｒｉｔｈｍ）を用いて行われてもよい。
【００８４】
上述した訓練方法で対話ポリシーを訓練させることで、適切な機械発話を生成する精度を向上させることができる。
【００８５】
次に、図１４を参照して、本発明の実施形態に係る移行フレームワークにおけるポリシー移行の例について説明する。
【００８６】
図１４は、本発明の実施形態に係る移行フレームワーク１４００におけるポリシー移行の例を示す図である。上述したように、移行フレームワーク１４００は、移行元の対話装置である第１の対話装置１１０と、移行先の対話装置である第２の対話装置１２０と、対話ポリシー移行部１５０と、各種データを格納するための対話データ記憶部１４０とから構成される。そして、対話ポリシー移行部１５０は、敵対的ニューラルネットワーク１４４０（図１に示す敵対的ニューラルネットワーク１６０に対応）を含む。
【００８７】
上述したように、それぞれの対話装置１１０、１２０は、対話ポリシーネットワークを含んでいる。そして、この対話ポリシーネットワークの構成は、図１０を参照して説明した対話ポリシーネットワーク１０００と実質的に同様であるため、その説明は省略する。
【００８８】
第１の対話装置１１０の対話ポリシーネットワークには、第１の対話ドメインｄＡ（例えば、宿泊先予約）に対応する第１の対話ポリシーが埋め込まれている。この第１の対話ポリシーは、第１の対話ドメインｄＡにおいて訓練済みであり、パラメータが凍結されている。ここで、「凍結」とは、パラメータが固定され、対話ポリシー移行の際に変更されないことを意味する。
【００８９】
第２の対話装置１２０の対話ポリシーネットワークには、第２の対話ドメインｄＢ（例えば、レストラン予約）に対応する第２の対話ポリシーが埋め込まれている。この第２の対話ポリシーは、未訓練であり、パラメータが凍結されていない。そのため、第２の対話装置１２０の対話ポリシーネットワークは、ポリシー移行の際に変更される（すなわち、対話装置１１０の対話ポリシーネットワークの潜在表現に同調するように調整される）。
【００９０】
対話ポリシー移行部１５０の敵対的ニューラルネットワーク１４４０は、対話状態表現の敵対的損失関数（ｄｉａｌｏｇｕｅ  ｓｔａｔｅ  ｒｅｐｒｅｓｅｎｔａｔｉｏｎ  ａｄｖｅｒｓａｒｉａｌ  ｌｏｓｓ  ｆｕｎｃｔｉｏｎ）１４１０、後続表現の敵対的損失関数(ｓｕｃｃｅｓｓｏｒ  ｒｅｐｒｅｓｅｎｔａｔｉｏｎ  ａｄｖｅｒｓａｒｉａｌ  ｌｏｓｓ  ｆｕｎｃｔｉｏｎ)１４２０、及び後続対話状態の敵対的損失関数(ｓｕｃｃｅｓｓｏｒ  ｄｉａｌｏｇｕｅ  ｓｔａｔｅ  ａｄｖｅｒｓａｒｉａｌ  ｌｏｓｓ  ｆｕｎｃｔｉｏｎ)１４３０の複数の損失関数を用いて、第１の対話ポリシーを第２の対話装置１２０の対話ポリシーネットワークに移行させる。以下では、この処理の詳細について説明する。
【００９１】
図１４の敵対的ニューラルネットワーク１４４０は、対話状態表現の敵対的損失関数１４１０を用いて、第１の対話ドメインｄＡに対応する第１の対話ポリシーの状態表現を第２の対話ドメインｄＢに移行する。対話状態表現の敵対的損失関数１４１０の入力となる値は、第１の対話ドメインｄＡ及び第２の対話ドメインｄＢの対話ポリシーネットワークにおいて、レイヤー１００１とレイヤー１００４の間の最後のＮｓｔ個の隠れ層から取得される。例えば、Ｎｓｔ＝２の場合には、対話状態表現の敵対的損失関数１４１０は、第１の対話ドメインｄＡ及び第２の対話ドメインｄＢの対話ポリシーネットワークのレイヤー１００２及びレイヤー１００３から取得する。
【００９２】
次に、敵対的ニューラルネットワーク１４４０は、後続表現の敵対的損失関数１４２０を用いて、第１の対話ドメインｄＡに対応する第１の対話ポリシーの状態アクション値の後続表現を第２の対話ドメインｄＢに移行する。後続表現の敵対的損失関数１４２０の入力となる値は、第１の対話ドメインｄＡ及び第２の対話ドメインｄＢの対話ポリシーネットワークにおいて、レイヤー１００４とレイヤー１０１４の間の最初のＮsucc個の隠れ層から取得される。例えば、Ｎsucc＝２の場合には、後続表現の敵対的損失関数１４２０は、第１の対話ドメインｄＡ及び第２の対話ドメインｄＢの対話ポリシーネットワークのレイヤー１０１２及びレイヤー１０１３から取得する。
【００９３】
更に、敵対的ニューラルネットワーク１４４０は、後続対話状態の敵対的損失関数１４３０を用いて、第１の対話ドメインｄＡに対応する第１の対話ポリシーの後続対話状態の表現を第２の対話ドメインｄＢに移行する。後続対話状態の敵対的損失関数１４３０入力となる値は、第１の対話ドメインｄＡ及び第２の対話ドメインｄＢの対話ポリシーネットワークにおいて、レイヤー１００４とレイヤー１００９の間の最初のＮnext-sｔ個の隠れ層から取得される。例えば、Ｎnext-st＝２の場合には、後続対話状態の敵対的損失関数１４３０は、第１の対話ドメインｄＡ及び第２の対話ドメインｄＢの対話ポリシーネットワークのレイヤー１００７及びレイヤー１００８から取得する。
【００９４】
移行フレームワーク１４００は、例えば図２の処理ステップＳ１２０５に対話データ記憶部１４０に格納された対話状態遷移を適用して、敵対的ニューラルネットワーク１４４０を訓練する。敵対的ニューラルネットワークを訓練する処理の詳細については後述する。
【００９５】
また、対話データ記憶部１４０に格納されている対話状態遷移に関する情報は、対話状態表現の敵対的損失関数１４１０、後続表現の敵対的損失関数１４２０、及び後続対話状態の敵対的損失関数１４３０を計算するために、第１の対話装置１１０及び第２の対話装置１２０の対話ポリシーネットワークに送信される。その後、第２の対話装置１２０の対話ポリシーネットワークは、当該対話状態遷移の情報を用いて、第２の対話ポリシーを訓練することができる。
第２の対話ポリシーを訓練する処理の詳細については後述する。
【００９６】
また、移行フレームワーク１４００では、敵対的ニューラルネットワーク１４４０は、対話状態表現の敵対的損失関数１４１０、後続表現の敵対的損失関数１４２０、及び後続対話状態の敵対的損失関数１４３０によって生成される傾き（ｇｒａｄｉｅｎｔ）を第２の対話装置１２０の対話ポリシーネットワークの隠れ層に送信する。
第２の対話ポリシーネットワークを訓練する際に、これらの傾きは、第２の対話ポリシーネットワークの潜在表現を、第１の対話ポリシーネットワークの潜在表現に同調させるために用いられる。このように、第１の対話ポリシーネットワークを教師として第２の対話ポリシーネットワークを学習させることで、第１の対話ポリシーが第２の対話ポリシーネットワークに移行される。
【００９７】
次に、図１５を参照して、本発明の実施形態に係る対話ポリシー移行学習処理について説明する。
【００９８】
図１５は、本発明の実施形態に係る移行フレームワークを用いた対話ポリシー移行学習処理１５００のフローチャートである。
この対話ポリシー移行学習処理１５００は、第２の対話ドメインｄＢ（例えば、レストラン予約）に対応する第２の対話ポリシーネットワークを訓練するための処理である。この処理を通して、訓練済みの第１の対話ポリシーが、未訓練の第２の対話ポリシーネットワークに移行されることとなる。
【００９９】
まず、ステップ１６００では、移行先の対話ポリシーネットワーク（例えば、図１４に示す第２の対話ポリシーネットワーク）は、ユーザからの発話を受信したり、機械発話を生成したりすることでユーザとの対話を行う。また、この対話ポリシーネットワークは、ユーザとの対話の対話情報を収集する。ここでは、対話ポリシーネットワークは、例えばユーザとの対話の情報を、図９に示すような対話情報テーブルに記録してもよい。
【０１００】
次に、ステップ１７００では、移行フレームワークの敵対的ニューラルネットワーク（例えば図１４に示す移行フレームワーク１４００の敵対的ニューラルネットワーク１４４０）は、対話データ記憶部に格納される第１の対話ドメイン及び第２の対話ドメインの対話情報を用いて訓練される。敵対的ニューラルネットワークを訓練する処理の詳細については後述する。
【０１０１】
次に、ステップＳ１８００では、移行先の対話ポリシーネットワークは、第２の対話ドメインの対話情報及び移行フレームワークの敵対的ニューラルネットワークから生成される傾きを用いて訓練される。移行先の対話ポリシーネットワークを訓練する処理の詳細については後述する。
【０１０２】
次に、ステップＳ１５０２では、敵対的ニューラルネットワーク及び移行先の対話ポリシーネットワークの訓練を継続するか否かを判定する。この判定は、例えば対話装置の管理者によって行われてもよい。敵対的ニューラルネットワーク及び移行先の対話ポリシーネットワークの訓練を継続すると判定された場合には、本処理はステップ１５００に戻り、訓練を継続しないと判定された場合には、本処理はステップ１５０３へと進み、訓練が中止される。
次に、図１６を参照して、第２の対話ドメインにおける機械発話を生成する処理について説明する。
【０１０３】
図１６は、第２の対話ドメインにおける機械発話を生成する処理１６００の流れを示すフローチャートである。
図１６に示す機械発話を生成する処理１６００は、図１５のステップ１６００の対話における機械発話を生成するための処理である。
なお、図１６に示す処理は、図１２における第１の対話ドメインｄＡの代わりに、第２の対話ドメインドメインｄＢを用いる点以外、図１２に示す処理と実質的に同様であるため、その説明は省略する。
【０１０４】
次に、図１７を参照して、本発明の実施形態に係る敵対的ネットワークを訓練する処理について説明する。
【０１０５】
図１７は、本発明の実施形態に係る敵対的ネットワークを訓練する処理１７００を示す図である。
図１７に示す敵対的ニューラルネットワークを訓練する処理１７００は、図１５のステップ１７００に対応する。図１７に示す処理を用いて、移行フレームワークの敵対的ニューラルネットワーク（例えば、図１４に示す移行フレームワーク１４００の敵対的ニューラルネットワーク１４４０）を訓練することにより、第１の対話ポリシーを第２の対話装置１２０の対話ポリシーネットワークに移行する精度を向上させることができる。
【０１０６】
ステップＳ１７０２では、対話ポリシー移行部は、第１の対話ドメインｄＡ及び第２の対話ドメインｄＢにおける対話状態遷移ＴＡ、ＴＢを対話データ記憶部１４０から取得する。
【０１０７】
ステップＳ１７０３では、対話ポリシー移行部は、移行元の対話ポリシーネットワーク及び移行先の対話ポリシーネットワークのうち、いずれか１つをランダムに選択し、ステップＳ１７０２で取得した対話状態遷移を、選択した対話ポリシーネットワークに送信する。その後、当該対話状態遷移を受信した対話ポリシーネットワークは、後続対話状態ｓi＋１、即時報酬ｒi＋１、及び後続表現Ψ（ｓi、ａ）を予測する。
【０１０８】
ステップＳ１７０４では、まず、ステップＳ１７０３において後続対話状態ｓi＋１、即時報酬ｒi＋１、及び後続表現Ψ（ｓi、ａ）を予測した対話ポリシーネットワークの隠れ層の値が、敵対的ニューラルネットワークに送信される。
その後、敵対的ニューラルネットワークは、受信した隠れ層の値が、第１の対話ドメインｄＡ（つまり、移行元）の対話ポリシーネットワークによって生成されたものであるか、第２の対話ドメインｄＢ（つまり、移行先）の対話ポリシーネットワークによって生成されたものであるかを判定する。すなわち、敵対的ニューラルネットワークは、受信した値に対する二項分類処理を行う。
【０１０９】
ステップＳ１７０５では、敵対的ニューラルネットワークがステップＳ１７０４で行った二項分類処理による交差エントロピー損失Ｌadv_discrimを、以下の数式４によって計算する。
【数４】
2020190957.tif 000006
ここでは、ｔＡ（ｔＡ＝ｄＡ，ｓｉ，ａｉ，ｒｉ＋１，ｓｉ＋１）及びｔＢ（ｔＢ＝ｄＢ，ｓｉ，ａｉ，ｒｉ＋１，ｓｉ＋１）は、第１の対話ドメインｄＡ及び第２の対話ドメインｄＢにおける対話状態遷移であり、「Ｄ（）」は敵対的ニューラルネットワークが行う分類関数である。また、「ＥｍｂｅｄｄｉｎｇｓＡ（）」及び「ＥｍｂｅｄｄｉｎｇｓＢ（）」は、それぞれ第１の対話ドメインｄＡの対話ポリシーネットワーク及び第２の対話ドメインｄＢの隠れ層の値を取得するための関数である。
【０１１０】
ステップＳ１７０６では、敵対的ニューラルネットワークは、自分のレイヤーのパラメータを調整して、数式４の損失関数Ｌadv_discrimを最適化（最小化）する。このパラメータ調整は、例えば再急降下最適化のアルゴリズム（ｇｒａｄｉｅｎｔ  ｄｅｓｃｅｎｔ  ｏｐｔｉｍｉｚａｔｉｏｎ  ａｌｇｏｒｉｔｈｍ）を用いて行われてもよい。
【０１１１】
上述した処理に従って、敵対的ニューラルネットワークを訓練することで、対話ポリシーを移行させる精度を向上させることができる。これにより、対話ポリシー移行が要する時間を短縮させ、必要な訓練用データを削減させることができる。
【０１１２】
次に、図１８を参照して、移行先の対話ポリシーネットワークの訓練方法について説明する。
【０１１３】
図１８は、移行先の対話ポリシーネットワークの訓練方法を示すフローチャートである。図１８に示す処理は、ステップＳ１８０１で開始し、ステップＳ１７０７で終了する。
【０１１４】
図１８に示す訓練方法は、図１５のステップ１８００に対応する処理である。移行先の対話ポリシーネットワークを、図１８に示す訓練方法で訓練させることにより、第２の対話ドメインにおいて適切な機械発話を生成する精度を向上させることができる。
なお、図１８に示す処理のステップＳ１８０２〜Ｓ１８０４は、図１３における第１の対話ドメインｄＡの代わりに、第２の対話ドメインドメインｄＢを用いる点以外、図１３に示す処理と実質的に同様であるため、その説明は省略し、ステップＳ１８０５の説明から始める。
【０１１５】
ステップＳ１８０５では、移行先の対話ポリシーネットワークは、上述した後続の対話状態ｓi＋１の予測による再構築損失Lrec、即時報酬ｒi＋１の予測による損失報酬損失Lrew、及び後続表現Ψ（ｓi、ａ）の予測による後続表現損失損失Lsucを数式１〜３を用いて計算する。
【０１１６】
その後、移行先の対話ポリシーネットワークの隠れ層の値は、移行フレームワークの敵対的ニューラルネットワーク（例えば図１４に示す移行フレームワーク１４００の敵対的ニューラルネットワーク１４４０）に送信される。移行先の対話ポリシーネットワークの隠れ層の値を受信した敵対的ニューラルネットワークは、上述した二項分類処理を行い、当該隠れ層の値がどの対話ポリシーネットワーク（移行元のポリシーネットワークか移行先のポリシーネットワークか）によって生成されたかを推定する。
なお、隠れ層の値を受信した敵対的ニューラルネットワークが、その値がどのポリシーネットワークによって生成されたかを判別できないことは、移行元のポリシーネットワークのポリシーが無事に移行先のポリシーネットワークに移行されたことを意味している。そして、敵対的ニューラルネットワークの推定による敵対的損失Ｌadvは、以下の数式５にによって計算することができる。
【数５】
2020190957.tif 000007
なお、移行先の対話ポリシーネットワークによって生成される対話状態遷移ｔＢに適用される損失関数は、数式４に示すＬadv_discrimと実質的に逆である。この敵対的損失Ｌadvを最適化（最小化）することによって、どのポリシーネットワークによって生成されたものであるかが判別できないような隠れ層の値を、移行先のポリシーネットワークに生成させることができる。言い換えれば、移行先の対話ポリシーネットワークが、移行元の対話ポリシーネットワークの出力と判別がつかないような出力を生成することができれば、対話ポリシーの移行が成功したといえる。
【０１１７】
ステップＳ１８０６では、移行先の対話ポリシーネットワークは、自分のレイヤーのパラメータを調整して、上述した損失関数を最適化（最小化）する。このパラメータ調整は、例えば再急降下最適化のアルゴリズム（ｇｒａｄｉｅｎｔ  ｄｅｓｃｅｎｔ  ｏｐｔｉｍｉｚａｔｉｏｎ  ａｌｇｏｒｉｔｈｍ）を用いて行われてもよい。
【０１１８】
次に、図１９を参照して、本発明の実施形態に係るポリシー移行による対話状態の分布の推移について説明する。
【０１１９】
図１９は、本発明の実施形態に係るポリシー移行による対話状態の分布の推移１９００を示す図である。ここでは、対話状態の分布とは、ある対話ドメインにおいて出現する可能性のある対話状態の各々について、当該対話状態が出現する確率を示す範囲を視覚化したものである。
【０１２０】
図１９に示すように、対話状態の分布の推移１９００は、初期分布１９５０と、最終分布１９６０を示している。初期分布１９５０は、対話ポリシー移行学習処理（例えば図１５で説明した対話ポリシー移行学習処理１５００）を行う前の、移行元の対話ドメイン及び移行先の対話ドメインの分布を示す。また、最終分布１９６０は、対話ポリシー移行学習処理１５００を行った後の、移行元の対話ドメイン及び移行先の対話ドメインの分布を示す。
【０１２１】
対話状態分布１９１０は、移行元である第１の対話ドメインにおける対話状態の分布を示すものであり、対話状態分布１９２０は、移行先である第２の対話ドメインにおける対話状態の分布を示すものである。
なお、ここでは、移行元の対話ポリシーネットワークが既に第１の対話ドメインにおいて訓練され、最適化されているため、対話状態分布１９１０は固定されている。そのため、対話状態分布１９１０は対話ポリシー移行学習処理によって変更されない。一方、移行先の対話ポリシーネットワークは未訓練であるため、対話ポリシー移行学習処理を行うことにより、対話状態分布１９２０が対話状態分布１９１０に同調するように変更される。
【０１２２】
一例として、移行元の対話ポリシーネットワークは、ある対話状態１９１１を受信するとする。この場合には、上述したように、移行元の対話ポリシーネットワークは、対話状態１９１１に基づいた発話行為を判定し、この発話行為に応じた機械発話を生成することで、対話状態１９１１は対話状態遷移１９１２を経て後続の対話状態１９１３に移る。
【０１２３】
上述した対話ポリシー移行学習処理を行うことにより、移行先の対話ポリシーネットワークにおいても、特定の対話状態に対して、移行元の対話ポリシーネットワークが行う対話状態遷移と同様の対話状態遷移が行えるようになる。そのため、最終分布１９６０では、上述した対話ポリシー移行学習処理を行うことによって、移行先の対話ポリシーネットワークの対話状態分布１９２０を、対話状態分布１９１０に整合するように変更されている。
【０１２４】
この結果、移行先の対話ポリシーネットワークは、上述した対話状態１９１１と実質的に同様の対話状態１９２１を受信すると、その後、対話状態１９２１に基づいた発話行為を判定し、この発話行為に応じた機械発話を生成することで、対話状態遷移１９２２を経て後続の対話状態１９２３に移ることができる。
【０１２５】
このように、最終分布１９６０においては、移行先の対話ポリシーネットワークが対話状態１９２１に対して行った対話状態遷移１９２２と、当該対話状態遷移１９２２によって予測された対話状態１９２３は、移行元の対話ポリシーネットワークが対話状態１９１１に対して行った対話状態遷移１９１２と、当該対話状態遷移１９１２によって予測された対話状態１９１３に達することと実質的に対応している。
これは、移行先の対話ポリシーネットワークが、ある対話状態に対して、移行元のポリシーネットワークと同様に後続の対話状態を予測できるようになったことを意味する。このことから、対話ポリシーの移行が成功したといえる。
【０１２６】
次に、図２０を参照して、本発明の実施形態に係る移行フレームワークの構成の一例について説明する。
【０１２７】
図２０は、本発明の実施形態に係る移行フレームワーク２０００の構成を示す図である。図２０に示すように、移行フレームワーク２０００は、移行元の対話装置である第１の対話装置１１０と、移行先の対話装置である第２の対話装置１２０と、敵対的ニューラルネットワーク１４４０とを含む。
【０１２８】
敵対的ニューラルネットワーク１４４０は、第１の対話装置１１０及び第２の対話装置１２０の対話ポリシーネットワークの隠れ層１００２、１００３、１０１２、１０１３、１００７、及び１００８からの値を入力する。隠れ層１００２、１００３は、対話ポリシーネットワークにおいて、レイヤー１００１とレイヤー１００４の間の最後の２個（Ｎｓｔ＝２）の隠れ層である。
【０１２９】
隠れ層１０１２、１０１３は、レイヤー１００４とレイヤー１０１４の間の最初の２個（Ｎsucc＝２）の隠れ層である。隠れ層１００７、１００８は、レイヤー１００４とレイヤー１００９の間の最初の２個（Ｎnext-sｔ＝２）の隠れ層である。
なお、上述したように、レイヤー１００２及び１００３は対話状態表現を表し、レイヤー１０１２及び１０１３は状態アクション値の後続表現を表し、レイヤー１００７及び１００８は後続対話状態を表す。
【０１３０】
図２０に示すように、敵対的ニューラルネットワーク１４４０は、複数のレイヤー１４１１、１４１２、１４３１、１４３２、１４２１、１４２２を含む。これらのレイヤーは、第１の対話装置１１０及び第２の対話装置１２０のそれぞれの対話ポリシーネットワークから入力する値が、対話状態表現に対応するレイヤー１４１１、１４１２から、状態アクション値の後続表現に対応するレイヤー１４３１、１４３２へと進み、そして後続対話状態に対応するレイヤー１４２１、１４２２へと順番に進むように配置されている。
このレイヤーの配置は、いわゆる強化学習のレイヤー構造と実質的に同様である（つまり、強化エージェント（ｒｅｉｎｆｏｒｃｅｍｅｎｔ  ａｇｅｎｔ）は初期状態を受信し、状態アクション値に基づいたアクションを実行し、後続状態へと進む）。
【０１３１】
敵対的ニューラルネットワーク１４４０のレイヤー１４１１は、第１の対話装置１１０及び第２の対話装置１２０の対話ポリシーネットワークにおける隠れ層１００２と実質的に同様である。隠れ層１４１２から隠れ層１４２２までの値ｚｉは、以下の数式６によって求めることができる。
【数６】
2020190957.tif 000008
ここでは、ｌｉは、対話ポリシーネットワークにおいて、対象のレイヤーに対応するレイヤー（例えば、対象のレイヤー１４１１に対応するレイヤー１００２）からの値であり、ｗは重み付けベクトルであり、αはディスカウントファクターであり（ただし、０≦α≦１）、＋は要素ごとの和であり、ｈ（）は活性化関数である。
【０１３２】
レイヤー１４４１は、出力のレイヤーである。なお、ここでは、レイヤー１４２２とレイヤー１４４１との間には他のレイヤーが配置されていない構成を一例として示しているが、本発明はこれに限定されず、任意の数のレイヤーを設けてもよい。
【０１３３】
なお、隠れ層の次元（ｄｉｍｅｎｓｉｏｎａｌｉｔｙ）は、対話ドメインの仕様によって設定されてもよい。ただし、いくつかの制約が存在する。例えば、レイヤー１４１１、１４１２、１４３１、１４３２、１４２１、及び１４２２のそれぞれの次元は、第１の対話装置１１０及び第２の対話装置１２０の対話ポリシーネットワークにおけるレイヤー１００２、１００３、１０１２、１０１３、１００７、及び１００８の次元と同じである必要がある。
【０１３４】
続いて、レイヤー１４４１の次元は、「１」である必要がある。これは、レイヤー１４４１は、敵対的ニューラルネットワーク１４４０に入力される値が第１の対話装置１１０の対話ポリシーネットワークによって生成されたものであるか、第２の対話装置１２０の対話ポリシーネットワークによって生成されたものであるかを推定する出力レイヤーであるからである。
【０１３５】
損失関数部１４４２は、第１の対話装置１１０の対話ポリシーネットワーク、第２の対話装置１２０の対話ポリシーネットワーク、及び敵対的ニューラルネットワーク１４４０を最適化するための機能部である。
敵対的ニューラルネットワーク１４４０を最適化するためには、損失関数部１４４２は、上述した交差エントロピー損失Ｌadv_discrimを計算し、傾き（ｇｒａｄｉｅｎｔ）を生成する。これらの傾きを敵対的ニューラルネットワーク１４４０の各レイヤーにフィードバックすることで、敵対的ニューラルネットワーク１４４０を最適化することができる。
また、第１の対話装置１１０の対話ポリシーネットワーク及び第２の対話装置１２０の対話ポリシーネットワークを最適化するためには、損失関数部１４４２は、上述した敵対的損失Ｌadvを計算し、傾きを生成する。これらの傾きを第１の対話装置１１０の対話ポリシーネットワーク及び第２の対話装置１２０の対話ポリシーネットワークの各レイヤーにフィードバックすることで、対象の対話ポリシーネットワークを最適化させることができる。
【０１３６】
次に、図２１を参照して、本発明の実施形態に係る移行フレームワークの構成の別の一例について説明する。
【０１３７】
図２１は、本発明の実施形態に係る移行フレームワーク２１００の構成の別の一例を示す図である。図２１に示す移行フレームワーク２１００では、第１の対話装置１１０及び第２の対話装置１２０のそれぞれの対話ポリシーネットワークから入力する値が、対話状態表現に対応するレイヤー１４１１、１４１２に入力された後、状態アクション値の後続表現に対応するレイヤー１４３１、１４３２と、後続対話状態に対応するレイヤー１４２１、１４２２とによって並列処理する点において、図２０に示す移行フレームワーク２０００と異なる。
第１の対話装置１１０及び第２の対話装置１２０のそれぞれの対話ポリシーネットワークから入力する値をレイヤー１４１１、１４１２と、レイヤー１４３１、１４３２とで並列処理することにより、状態アクション値の後続表現及び後続対話状態を同時に推定することができる。
【０１３８】
また、レイヤー１４４１は、出力のレイヤーである。レイヤー１４４１は、例えば、レイヤー１４３２とレイヤー１４２２から出力される値を連結させ、この値を損失関数部１４４３に転送してもよい。
なお、上記した点以外は、移行フレームワーク２１００は図２０の移行フレームワーク２０００と実質的に同様であるため、その説明は省略する。
【０１３９】
次に、本発明の実施形態に係る対話ポリシー移行を実行する際にユーザが行う処理について説明する。
【０１４０】
図２２は、本発明の実施形態に係る対話ポリシー移行を実行する際にユーザが行う処理２２００のフローチャートである。
【０１４１】
ステップＳ２２０２では、ユーザは、対話ポリシー移行の訓練対象となる対話ドメインを指定する。例えば、第２の対話ドメインｄＢの対話ポリシーネットワークを第１の対話ドメインｄＡに基づいて訓練したい場合には、ユーザは第２の対話ドメインｄＢを選択してもよい。
【０１４２】
ステップＳ２２０３では、ユーザは、特定の対話ドメインで訓練済みの対話ポリシーを指定する。ここで指定された対話ポリシーは、ステップＳ２２０２で指定された対話ドメインの対話ポリシーネットワークが見習う教師となる対話ドメインである。例えば、第２の対話ドメインｄＢの対話ポリシーネットワークを第１の対話ドメインｄＡに基づいて訓練したい場合には、ユーザは第１の対話ドメインｄＡを選択してもよい。
なお、ここでは、ユーザは、教師となる対話ポリシーを、訓練済みの対話ポリシーを示すリスト２２１０の中から選択してもよい。
【０１４３】
ステップＳ２２０４では、上述した対話ポリシー移行学習処理（図１５参照）が適用される。これにより、移行先の対話ポリシーネットワークが訓練され、移行元の対話ポリシーが移行先の対話ポリシーネットワークに移行される。
なお、上述したように、ここでは、対話ポリシー移行学習処理の際に用いられる対話状態遷移が必要に応じて対話データ記憶部１４０から取得されてもよい。
【０１４４】
このように、ユーザは、対話ポリシー移行の初期設定を指定するだけで、対象の対話ポリシーを別の対話ドメインの対話ポリシーネットワークに移行させることができる。これにより、状態マッピング及びアクションマッピングを手動で指定したり、対話ドメインのオントロジーを手動でパラメータ化したりする手間が不要となり、対話ポリシー移行を自動的に行うことが可能となる。
【０１４５】
次に、図２３を参照して、本発明の実施形態に係る対話ポリシー移行を実行するためのＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）について説明する。
【０１４６】
図２３は、本発明の実施形態に係る対話ポリシー移行を実行するためのＧＵＩ２３００の一例を示す図である。ユーザ（例えば対話装置のポリシーの管理者）は、ＧＵＩ２３００を用いて、移行元及び移行先の対話ドメインを指定して、対話ポリシー移行を管理することができる。
【０１４７】
Ｓｏｕｒｃｅ  Ｄｉａｌｏｇｕｅ  Ｄｏｍａｉｎ２３０１は、移行元の対話ドメインを指定するためのプルダウンボタンである。Ｎｕｍｂｅｒ  ｏｆ  ｓｌｏｔｓ２３０３は、指定されている移行元の対話ドメインのスロットの数に関する情報を示す。Ｎｕｍｂｅｒ  ｏｆ  Ａｃｔｉｏｎｓ２３０４は、指定されている移行元の対話ドメインのアクションの数に関する情報を示す。
【０１４８】
Ｔａｒｇｅｔ  Ｄｉａｌｏｇｕｅ  Ｄｏｍａｉｎ  ２３０５は、移行先の対話ドメインを指定するためのプルダウンボタンである。Ｎｕｍｂｅｒ  ｏｆ  ｓｌｏｔｓ２３０７は、指定されている移行先の対話ドメインのスロットの数に関する情報を示す。Ｎｕｍｂｅｒ  ｏｆ  Ａｃｔｉｏｎｓ２３０８は、指定されている移行先の対話ドメインのアクションの数に関する情報を示す。
【０１４９】
ユーザは、対話ドメインのスロット数及びアクション数に基づいて、移行元の対話ドメイン及び移行先の対話ドメインを選択してもよい。例えば、移行元の対話ドメインと移行先の対話ドメインの仕様（例えば、スロット数及びアクション数）が類似している場合には、対話ポリシー移行が効率よくできるため、ユーザは、スロット数及びアクション数が類似している対話ドメインをＳｏｕｒｃｅ  Ｄｉａｌｏｇｕｅ  Ｄｏｍａｉｎ２３０１とＴａｒｇｅｔ  Ｄｉａｌｏｇｕｅ  Ｄｏｍａｉｎ  ２３０５として選択してもよい。
【０１５０】
Ｓｔａｒｔ／Ｓｔｏｐ  Ｌｅａｒｎｉｎｇ２３０９は、対話ポリシー移行を開始したり、中止したりするためのボタンである。ユーザは、Ｓｔａｒｔ／Ｓｔｏｐ  Ｌｅａｒｎｉｎｇ２３０９をクリックすることで対話ポリシー移行を開始してもよく、進行中の対話ポリシーの移行を中止してもよい。
例えば、図２３に示す状態でＳｔａｒｔ／Ｓｔｏｐ  Ｌｅａｒｎｉｎｇ２３０９がクリックされた場合、Ｓｏｕｒｃｅ  Ｄｉａｌｏｇｕｅ  Ｄｏｍａｉｎ２３０１に示されている「Ｈｏｔｅｌ  Ｒｅｓｅｒｖａｔｉｏｎ」の対話ポリシーを、Ｔａｒｇｅｔ  Ｄｉａｌｏｇｕｅ  Ｄｏｍａｉｎ  ２３０５に示す「Ｒｅｓｔａｕｒａｎｔ  Ｒｅｓｅｒｖａｔｉｏｎ」の対話ポリシーネットワークに移行する処理が開始される。
【０１５１】
Ｏｂｓｅｒｖａｔｉｏｎ  Ｍｅｔｒｉｃｓ  Ｐａｎｅｌ２３１０は、対話ポリシー移行に関する観測可能な学習パラメータを示す。Ｒｅｃｏｎｓｔｒｕｃｔｉｏｎ  ＬｏｓｓLrec２３１１、Ｒｅｗａｒｄ  ＬｏｓｓLreｗ２３１２、Ｓｕｃｃｅｓｓｏｒ  Ｒｅｐｒｅｓｅｎｔａｔｉｏｎ  ＬｏｓｓLsuc２３１３、Ａｄｖｅｒｓａｒｉａｌ  ＬｏｓｓLadv２３１４、及びＤｉｓｃｒｉｍｉｎａｔｏｒ  ＬｏｓｓLadv_discrim２３１５はそれぞれ、移行先の対話ポリシーネットワークによる再構築損失Lrec、報酬損失Lreｗ、後続表現損失Lsuc、敵対的損失Ladv、及び交差エントロピー損失Ｌadv_discrimを示す。
これらの学習パラメータを示すことにより、ユーザは対話ポリシー移行の進捗状況を確認することができ、対話ポリシー移行を中止するタイミングを容易に判断することができる（例えば、損失が特定の値に達したことなどを認識できる）。
【０１５２】
なお、図２３に示されるＧＵＩ２３００はあくまでも一例であり、本発明の実施形態に係る対話ポリシー移行を管理するためのインターフェースはこれに限定されない。
【０１５３】
次に、図２４を参照して、本発明の実施形態に係る対話ポリシー移行を行うためのコンピューティングデバイスについて説明する。
【０１５４】
図２４は、本発明の実施形態に係る対話ポリシー移行を行うためのコンピューティングデバイス２４００の構成を示す図である。図２４に示すコンピューティングデバイス２４００は、例えば図１に示す対話装置１１０、１２０又は対話ポリシー移行部１５０として機能し、上述した実施形態の機能を実現してもよい。
【０１５５】
図２５に示すように、コンピューティングデバイス２４００は、プロセッサ２４０１、メモリ２４０２、入力インターフェース２４０４、出力インターフェース２４０５、及び記憶部２４０６を含む。これらの装置は、システムバス２４０３を介して、通信可能に相互に接続されてもよい。
【０１５６】
メモリ２４０２は、データ及びプログラムを記憶するためのランダムアクセス半導体メモリ、記憶装置、又は記憶媒体（揮発性又は不揮発性のいずれか）を含んでもよい。メモリ２４０２は、本明細書で説明する機能を実施するプログラム、モジュール、及びデータ構造のすべて又は一部を格納してもよい。
例えば、メモリ２４０２は、対話ポリシー移行管理アプリケーションを格納していてもよい。この対話ポリシー移行管理アプリケーションは、上述した機能をプロセッサ３０２上で実行する命令又は記述を含んでもよい。
【０１５７】
プロセッサ２４０１は、メモリ２４０２に格納された命令を実行する汎用プログラマブル中央処理装置（ＣＰＵ）である。なお、図２４では、１つのプロセッサが例示されているが、本発明はそれに限定されず、複数のプロセッサを有する構成であってもよい。
【０１５８】
入力インターフェース２４０４は、外部からの情報を受け付ける機能部である。入力インターフェース２４０４は、例えばキーボード、マウス、キーパッド、タッチパッド、トラックボール、ボタン、ライトペン、又は他のポインティングデバイス等の入力を介して入力された情報を受信し、当該情報をメモリ２４０２やプロセッサ２４０１等に転送してもよい。
【０１５９】
出力インターフェース２４０５は、コンピューティングデバイス２４００に生成される情報をユーザに提示するための機能部である。出力インターフェース２４０５は、例えば表示装置、スピーカー、プリンター等であってもよい。
【０１６０】
記憶部２４０６は、上述した処理に用いられる各種データ（対話情報、対話状態遷移等）を格納するストレージデバイスである。この記憶部２４０６は、例えば上述した対話データ記憶部を格納してもよい。記憶部２４０６は、例えばフラッシュメモリ、ハードディスクドライブ等、任意の記憶媒体に保存されるデータベースであってもよい。
【０１６１】
以上説明した対話ポリシー移行により、ある対話ドメインで訓練済みの対話ポリーネットワークの対話ポリシーを、別の対話ドメインの対話ポリシーネットワークに移行することができる。これにより、移行先の対話ポリシーネットワークを訓練する時間を短縮し、必要な訓練用データの量を減らすことができる。
【０１６２】
次に、図２５を参照して、本発明の実施形態に係る対話ポリシー移行システムについて説明する。
【０１６３】
図２５は、本発明の実施形態に係る対話ポリシー移行システム２５００の構成を示す図である。図２５に示すように、対話ポリシー移行システム２５００は、第１の対話装置１１０、第２の対話装置１２０、及び対話移行サーバ２５１０を含む。第１の対話装置１１０、第２の対話装置１２０、及び対話移行サーバ２５１０は、インターネットやＬＡＮなどの通信ネットワーク２５３０を介して接続されてもよい。
【０１６４】
以上説明した対話ポリシー移行は、いわゆるサーバクライアントシステムで実現されてもよい。この場合には、上述した対話ポリシー移行部１５０、敵対的ニューラルネットワーク１６０、及び対話データ記憶部１４０は、対話移行サーバ２５１０に配置され、通信ネットワーク２５３０を介して第１の対話装置１１０及び第２の対話装置１２０に接続されてもよい。
【０１６５】
対話移行サーバ２５１０の通信部２５１５は、外部の装置（例えば、第１の対話装置１１０及び第２の対話装置１２０）との通信を行うための装置である。通信部２５１５は、対話装置から、特定の対話ポリシーを、別の対話装置の対話ポリシーネットワークに移行する要求を受信してもよい。
例えば、通信部２５１５は、第１の対話装置１１０の対話ポリシーネットワークの対話ポリシーを、第２の対話装置１２０の対話ポリシーネットワークに移行する要求を受信してもよい。この場合には、対話ポリシー移行部１５０は、上述した対話ポリシー移行学習処理に従って、通信ネットワーク２５３０を介して、第１の対話装置１１０の対話ポリシーネットワークの対話ポリシーを、第２の対話装置１２０の対話ポリシーネットワークに移行してもよい。
これにより、対話ポリシー移行を例えばサービスとして提供することが可能となる
【０１６６】
以上、本発明の実施の形態について説明したが、本発明は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【符号の説明】
【０１６７】
１００      移行フレームワーク
１１０      第１の対話装置
１２０      第２の対話装置
１３０      対話履歴取得部
１４０      対話データ記憶部
１５０      対話ポリシー移行部
１６０      敵対的ニューラルネットワーク
【図１】
2020190957.tif 000009
【図２】
2020190957.tif 000010
【図３】
2020190957.tif 000011
【図４】
2020190957.tif 000012
【図５】
2020190957.tif 000013
【図６】
2020190957.tif 000014
【図７】
2020190957.tif 000015
【図８】
2020190957.tif 000016
【図９】
2020190957.tif 000017
【図１０】
2020190957.tif 000018
【図１１】
2020190957.tif 000019
【図１２】
2020190957.tif 000020
【図１３】
2020190957.tif 000021
【図１４】
2020190957.tif 000022
【図１５】
2020190957.tif 000023
【図１６】
2020190957.tif 000024
【図１７】
2020190957.tif 000025
【図１８】
2020190957.tif 000026
【図１９】
2020190957.tif 000027
【図２０】
2020190957.tif 000028
【図２１】
2020190957.tif 000029
【図２２】
2020190957.tif 000030
【図２３】
2020190957.tif 000031
【図２４】
2020190957.tif 000032
【図２５】
2020190957.tif 000033