(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-08
(45)【発行日】2023-12-18
(54)【発明の名称】多次元対話行為選択のための強化学習エージェント
(51)【国際特許分類】
G06N 20/00 20190101AFI20231211BHJP
【FI】
G06N20/00
【外国語出願】
(21)【出願番号】P 2022136157
(22)【出願日】2022-08-29
【審査請求日】2022-08-31
(32)【優先日】2021-11-17
(33)【優先権主張国・地域又は機関】GB
(73)【特許権者】
【識別番号】000003078
【氏名又は名称】株式会社東芝
(74)【代理人】
【識別番号】110003708
【氏名又は名称】弁理士法人鈴榮特許綜合事務所
(72)【発明者】
【氏名】サイモン カイゼル
(72)【発明者】
【氏名】スベトラーナ ストヤンシェヴ
(72)【発明者】
【氏名】ラマ サナンド ドディパトラ
【審査官】武田 広太郎
(56)【参考文献】
【文献】特開2020-118842(JP,A)
【文献】特許第6224857(JP,B1)
【文献】米国特許出願公開第2020/0125997(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 20/00
(57)【特許請求の範囲】
【請求項1】
対話システム内で応答を生成するためのコンピュータ実装方法であって、前記対話システムが、ユーザとの対話を行うためのものであり、前記方法が、
ユーザから発声を受け取ることと、
前記発声に基づいて対話状態を更新することと、
前記対話状態を識別する情報を生成することと、
第1の対話行為エージェントによって、第1の機械学習モデルと前記対話状態を識別する前記情報とを使用して、行動候補の第1のセットから第1の行動候補を選択することと、ここにおいて、前記行動候補の第1のセットが、第1の対話次元と関連づけられる、
第2の対話行為エージェントによって、第2の機械学習モデルと前記対話状態を識別する前記情報とを使用して、行動候補の第2のセットから第2の行動候補を選択することと、ここにおいて、前記行動候補の第2のセットが、第2の対話次元と関連づけられる、
評価エージェントによって、第3の機械学習モデルと、前記第1の行動候補と、前記第2の行動候補とを使用して、出力行動を選択することと、ここにおいて、前記出力行動が、前記第1の行動候補および/または前記第2の行動候補の組み合わせを備える、
前記出力行動に基づいてシステム応答を生成することと
を備える、コンピュータ実装方法。
【請求項2】
前記出力行動を選択することが、
前記第1の行動候補および/または前記第2の行動候補の各組み合わせに対して、前記対話状態ならば前記システム応答とし
てそれぞれの組み合わせを選択することと関連づけられた推定累積報酬の標識を備える値のベクトルを生成することと、
前記値のベクトルに基づいて前記出力行動を選択することと
を備える、請求項1に記載のコンピュータ実装方法。
【請求項3】
前記値のベクトルが、訓練可能な重みの第1のセットによってパラメータ化される関数を使用して生成され、ここにおいて、前記関数への入力が、前記対話状態を識別する前記情報であり、前記関数の出力が、各組み合わせに対する前記推定累積報酬である、請求項2に記載のコンピュータ実装方法。
【請求項4】
前記関数が、一次関数である、請求項3に記載のコンピュータ実装方法。
【請求項5】
前記値のベクトルに基づいて前記出力行動を選択することが、
行動確率のベクトルを生成するために前記値のベクトルを確率分布に変換することと、
前記行動確率のベクトルに基づいて前記出力行動を選択することと
を備える、請求項2から4のいずれかに記載のコンピュータ実装方法。
【請求項6】
前記行動確率のベクトルを生成するために前記値のベクトルを前記確率分布に変換することが、
前記値のベクトルを、変換された行動値のベクトルに変換することと、ここにおいて、前記変換された行動値のベクトルが、ゼロ以上の値を備える、
所定の基準に基づいて、前記変換された行動値のベクトル中の第1の行動値をゼロに等しく設定することによって、マスクされた変換された行動値のベクトルを形成することと、
前記行動確率のベクトルを形成するように前記マスクされた変換された行動値のベクトルを正規化することと
を備える、請求項5に記載のコンピュータ実装方法。
【請求項7】
前記第1の対話次元が、前記第2の対話次元と異なる、請求項1に記載のコンピュータ実装方法。
【請求項8】
対話システムを訓練するためのコンピュータ実装方法であって、
請求項1に記載の方法によりシステム応答を生成することと、
前記システム応答を前記ユーザに提供することと、
強化学習を使用して、前記第1の機械学習モデルと、前記第2の機械学習モデルと、前記第3の機械学習モデルとを訓練することと
を備える、コンピュータ実装方法。
【請求項9】
強化学習を使用して、前記第1の機械学習モデルと、前記第2の機械学習モデルと、前記第3の機械学習モデルとを訓練することが、
累積報酬を決定することと、
前記累積報酬に基づいて、前記第1の機械学習モデルと、前記第2の機械学習モデルと、前記第3の機械学習モデルとを訓練することと
を備える、請求項8に記載のコンピュータ実装方法。
【請求項10】
前記第1の機械学習モデルが、訓練可能な重みの第1のセットによってパラメータ化された第1の関数に基づいて、前記第1
の行動候補のための第1の推定累積報酬を推定するように構成され、およびここにおいて、
前記累積報酬に基づいて前記第1の機械学習モデルを訓練することが、
前記累積報酬と前記第1の推定累積報酬との差を決定することと、
前記差に基づいて、前記訓練可能な重みの第1のセットを更新することと
を備える、請求項9に記載のコンピュータ実装方法。
【請求項11】
前記第3の機械学習モデルが、訓練可能な重みの第2のセットによってパラメータ化された第2の関数に基づいて、前記出力行動のための第2の推定累積報酬を推定するように構成され、およびここにおいて、
前記累積報酬に基づいて前記第3の機械学習モデルを訓練することが、
前記累積報酬と前記第2の推定累積報酬との差を決定することと、
前記差に基づいて、前記訓練可能な重みの第2のセットを更新することと
を備える、請求項10に記載のコンピュータ実装方法。
【請求項12】
前記累積報酬が、報酬の合計に基づき、前記報酬の合計が、前記システム応答を提供するために生成される第1の報酬を備える、請求項9または10に記載のコンピュータ実装方法。
【請求項13】
前記システム応答を提供することに応答して第2の発声を受け取ることと、
請求項1に記載の方法により第2のシステム応答を生成することと、ここにおいて、請求項1に記載の方法における前記発声が、前記第2の発声であり、請求項1に記載の方法によって生成される前記システム応答が、前記第2のシステム応答である、
前記第2のシステム応答に基づいて第2の報酬を生成することと、
前記第1の報酬と前記第2の報酬との合計に基づいて前記累積報酬を計算することとをさらに備える、請求項12に記載のコンピュータ実装方法。
【請求項14】
前記対話システムが、前記第1の機械学習モデルによって実施された第1の対話ポリシー、前記第2の機械学習モデルによって実施された第2の対話ポリシー、および前記第3の機械学習モデルによって実施された第3の対話ポリシーの探索の
レベルを制御するように構成された第1のハイパーパラメータを備え、ならびにここにおいて、
前記第1のハイパーパラメータが、第1の対話中に第1の値を有し、前記第1の対話が、前記発声と、前記システム応答とを備え、前記方法が、
前記第1の対話が完了したかどうかを決定することと、前記第1の対話が完了したと決定することに応答して、
状態-行動空間内の前記第1の対話ポリシー、前記第2の対話ポリシー、および前記第3の対話ポリシーの探索の前記
レベルが前記第1の対話中
の探索のレベルよりも小さいように、前記第1のハイパーパラメータ
である前記第1の値を修正することと、
第2の対話を用いて前記対話システムを再訓練することと
をさらに備える、請求項8に記載のコンピュータ実装方法。
【請求項15】
対話システム内で応答を生成するためのデバイスであって、ここにおいて、前記対話システムが、ユーザとの対話を行うためのものであり、前記デバイスが、
ユーザから発声を受け取り、
前記発声に基づいて対話状態を更新し、
前記対話状態を識別する情報を生成し、
第1の対話行為エージェントによって、第1の機械学習モデルと前記対話状態を識別する前記情報とを使用して、行動候補の第1のセットから第1の行動候補を選択し、ここにおいて、前記行動候補の第1のセットが、第1の対話次元と関連づけられる、
第2の対話行為エージェントによって、第2の機械学習モデルと前記対話状態を識別する前記情報とを使用して、行動候補の第2のセットから第2の行動候補を選択し、ここにおいて、前記行動候補の第2のセットが、第2の対話次元と関連づけられる、
評価エージェントによって、第3の機械学習モデルと、前記第1の行動候補と、前記第2の行動候補とを使用して、出力行動を選択し、ここにおいて、前記出力行動が、前記第1の行動候補および/または前記第2の行動候補の組み合わせを備える、
前記出力行動に基づいてシステム応答を生成する
ように構成される、デバイス。
【請求項16】
前記デバイスが、前記出力行動を選択するとき、
前記第1の行動候補および/または前記第2の行動候補の各組み合わせに対して、前記対話状態ならば前記システム応答とし
てそれぞれの組み合わせを選択することと関連づけられた推定累積報酬の標識を備える値のベクトルを生成し、
前記値のベクトルに基づいて前記出力行動を選択する
ようにさらに構成される、請求項15に記載のデバイス。
【請求項17】
前記デバイスが、訓練可能な重みの第1のセットによってパラメータ化される関数を使用して前記値のベクトルを生成するようにさらに構成され、ここにおいて、前記関数への入力が、前記対話状態を識別する前記情報であり、前記関数の出力が、各組み合わせに対する前記推定累積報酬である、請求項16に記載のデバイス。
【請求項18】
前記関数が、一次関数である、請求項17に記載のデバイス。
【請求項19】
前記デバイスが、前記値のベクトルに基づいて前記出力行動を選択するとき、
行動確率のベクトルを生成するために前記値のベクトルを確率分布に変換し、
前記行動確率のベクトルに基づいて前記出力行動を選択する
ようにさらに構成される、請求項16から18のいずれかに記載のデバイス。
【請求項20】
前記デバイスが、前記値のベクトルを変換するとき、
前記値のベクトルを、変換された行動値のベクトルに変換し、ここにおいて、前記変換された行動値のベクトルが、ゼロ以上の値を備える、
所定の基準に基づいて、前記変換された行動値のベクトル中の第1の行動値をゼロに等しく設定することによって、マスクされた変換された行動値のベクトルを形成し、
前記行動確率のベクトルを形成するように前記マスクされた変換された行動値のベクトルを正規化する
ようにさらに構成される、請求項19に記載のデバイス。
【請求項21】
前記第1の対話次元が、前記第2の対話次元と異なる、請求項15に記載のデバイス。
【請求項22】
対話システムを訓練するための訓練システムであって、請求項15に記載のデバイスを備え、
請求項15に記載のデバイスを使用してシステム応答を生成し、
前記システム応答を前記ユーザに提供し、
強化学習を使用して、前記第1の機械学習モデルと、前記第2の機械学習モデルと、前記第3の機械学習モデルとを訓練する
ように構成された、訓練システム。
【請求項23】
前記訓練システムが、強化学習を使用して、前記第1の機械学習モデルと、前記第2の機械学習モデルと、前記第3の機械学習モデルとを訓練するとき、
累積報酬を決定し、
前記累積報酬に基づいて、前記第1の機械学習モデルと、前記第2の機械学習モデルと、前記第3の機械学習モデルとを訓練する
ようにさらに構成される、請求項22に記載の訓練システム。
【請求項24】
前記第1の機械学習モデルが、訓練可能な重みの第1のセットによってパラメータ化された第1の関数に基づいて、前記第1
の行動候補のための第1の推定累積報酬を推定するように構成され、およびここにおいて、前記訓練システムが、前記累積報酬に基づいて前記第1の機械学習モデルを訓練するとき、
前記累積報酬と前記第1の推定累積報酬との差を決定し、
前記差に基づいて、前記訓練可能な重みの第1のセットを更新する
ようにさらに構成される、請求項23に記載の訓練システム。
【請求項25】
プロセッサによる実行に適したコンピュータプログラム命令を備える非一時的なコンピュータ可読媒体であって、前記命令が、前記プロセッサによって実行されるとき、請求項1に記載の方法を前記プロセッサに行わせるように構成される、非一時的なコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書において説明される実施形態は、一般に、対話システムにおいて応答を生成するための方法およびデバイスに関する。
【背景技術】
【0002】
対話システム、たとえばタスク指向型音声対話システム(SDS)は、発話の使用を通じて人間がタスクを達成するのを助けるために人間と連続的に相互作用することができるシステムを含む。これらのタスクは、情報検索と、顧客サポートと、電子商取引と、物理環境制御と、人間とロボットの相互作用とを含むことができる。
【0003】
対話システムは、現在のユーザ入力および以前のユーザ入力(すなわち、ユーザターン)ならびにシステム出力(すなわち、システムターン)に関する情報を「対話状態」に組み込むことによって、対話で何が起こったのかを追跡する構成要素を含むことができる。
【0004】
対話システムの行動選択構成要素は、対話ポリシーおよび対話状態に基づいて、行動の固定されたセットから行動を選択する。
【0005】
対話内の発声は、多くの場合、複数の通信機能を有する。たとえば、タスクを先に移動させること、フィードバックを与え、フィードバックを引き出すこと、および誰が話す権利を有するかを管理すること(すなわち、ターン管理)である。複数の通信機能を用いた発声は、多機能発声と呼ばれる。ISO24617-2アノテーション規格は、多機能発声をサポートし、各次元が対話プロセスの異なる態様に専用である複数の次元を備えるアノテーション方式を規定するように設計される。
【0006】
1つではなくいくつかの対話ポリシーによって意志決定プロセスが駆動される多次元対話システムが開発されてきた。この手法は、人間対話挙動の多機能性を反映する。この場合、各対話行為(DA)エージェントは、行動セットをもつそれ自体の対話ポリシーを有し、各対話行為(DA)エージェントは、多くても1つの対話行為候補を生成する。
【発明の概要】
【0007】
多機能発声は、いくつかの異なる次元から対話行為の組み合わせを必要とする。しかしながら、いくつかの次元は、十分に独立していると考えられることはできない。たとえば、異なる次元からのいくつかの対話行為は、それらのうちの1つのみが出力されるべきであるように、互いと矛盾することがある。したがって、評価エージェント(EA)は、対話行為の最終的な組み合わせ候補を選択するために必要とされる。
【0008】
配置は、単なる例となされ、図面と併せて取り上げられる、以下の詳細な説明から、より十分に理解および諒解されるであろう。
【図面の簡単な説明】
【0009】
【
図2】一例による多次元行動選択構成要素を示す図。
【
図3A】強化学習(RL)機械学習モデルの例示的な実装形態を示す図。
【
図3B】強化学習(RL)機械学習モデルの第2の例示的な実装形態を示す図。
【
図4A】一例による評価エージェント205の一実装形態を示す図。
【
図4B】一例による行動確率のベクトルの表現を示す図。
【
図4C】第2の例による評価エージェント205の一実装形態を示す図。
【
図5】一例によるシステム発声を生成する方法を示す図。
【
図6】一例による多次元行動選択構成要素を訓練する方法を示す図。
【
図7】本明細書において説明される例による、ハードコーディングされた評価エージェントと評価エージェントとを使用して多次元システムのための対話成功率の比較を示す図。
【
図8A】一例による、多次元行動選択構成要素を使用する転移学習の方法を示す図。
【
図8B】第2の例による、多次元行動選択構成要素を使用する転移学習の方法を示す図。
【
図9】実施形態による方法を実施するために使用可能であるハードウェアの概略図。
【発明を実施するための形態】
【0010】
第1の態様によれば、対話システム内の応答を生成するためのコンピュータ実装方法であって、対話システムは、ユーザとの対話を行うためのものである、コンピュータ実装方法が提供される。この方法は、ユーザから発声を受け取ることと、この発声に基づいて対話状態を更新することと、この対話状態を識別する情報を生成することと、第1の対話行為エージェントによって、第1の機械学習モデルと対話状態を識別する情報とを使用して、行動候補の第1のセットから第1の行動候補を選択することであって、行動候補の第1のセットは第1の対話次元と関連づけられる、選択することと、第2の対話行為エージェントによって、第2の機械学習モデルと対話状態を識別する情報とを使用して、行動候補の第2のセットから第2の行動候補を選択することであって、行動候補の第2のセットは第2の対話次元と関連づけられる、選択することと、評価エージェントによって、第3の機械学習モデルと、第1の行動候補と、第2の行動候補とを使用して、出力行動を選択することであって、この出力行動は、第1の行動候補および/または第2の行動候補の組み合わせを備える、選択することと、出力行動に基づいてシステム応答を生成することとを備える。
【0011】
一実施形態では、対話システムは、発声を受け取るためのマイクロホンを備える。
【0012】
一実施形態では、対話システムはスピーカを備え、方法は、スピーカを介してシステム応答を出力することをさらに備える。
【0013】
一実施形態では、出力行動は、第1の行動候補と、第2の行動候補とを備える。
【0014】
一実施形態では、出力行動は、第1の行動候補または第2の行動候補を備える。
【0015】
一実施形態では、出力行動は、第1の行動候補と、第2の行動候補のどちらも備えず、好ましくは、出力行動は、応答が生成可能でないことを示す。
【0016】
一実施形態では、第1の機械学習モデル、第2の機械学習モデルおよび第3の機械学習モデルは、単一の、同じ、報酬信号を使用して独立して訓練される。
【0017】
一実施形態では、第1の機械学習モデルは第1の対話ポリシーを実施し、第2の機械学習モデルは第2の対話ポリシーを実施し、第3の機械学習モデルは第3の対話ポリシーを実施する。
【0018】
一実施形態では、自然言語生成器は、テンプレートベースの自然言語生成器である。
【0019】
一実施形態では、対話状態は、対話中にシステムとユーザとの間で言及されている項目を備えるデータ構造を備える。
【0020】
一実施形態では、各対話次元は、対話プロセスの異なる態様と関連づけられ、対話プロセスの前記態様に応答するための複数の行動と関連づけられる。
【0021】
一実施形態では、対話次元は、ISO25617-2アノテーション規格に従って規定された次元を備える。
【0022】
一実施形態では、対話状態を識別する情報は、対話状態である。
【0023】
一実施形態では、対話状態を識別する情報は、対話状態から抽出された特徴セットである。
【0024】
一実施形態では、対話状態を識別する情報を生成することは、対話状態を識別する情報の第1のインスタンスを生成することと、対話状態を識別する情報の第2のインスタンスを生成することとを備え、第1の行動候補は、対話状態を識別する情報の第1のインスタンスに基づいて選択され、第2の行動候補は、対話状態を識別する情報の第2のインスタンスに基づいて選択される。
【0025】
一実施形態では、対話状態を識別する情報の第1のインスタンスと、対話状態を識別する情報の第2のインスタンスは、対話状態特徴の異なるセットを備える。
【0026】
一実施形態では、システム応答は、自然言語生成器によって生成される。
【0027】
一実施形態では、システム応答は発声である。
【0028】
一実施形態では、出力行動を選択することは、第1の行動候補および/または第2の行動候補の各組み合わせに対して、対話状態ならばシステム応答としてそれぞれの組み合わせを選択することと関連づけられた推定累積報酬の標識を備える値のベクトルを生成することと、この値のベクトルに基づいて、出力行動を選択することとを備える。
【0029】
一実施形態では、値のベクトルは、訓練可能な重みの第1のセットによってパラメータ化される関数を使用して生成され、関数への入力は、対話状態を識別する情報であり、関数の出力は、各組み合わせに対する推定累積報酬である。
【0030】
一実施形態では、関数は一次関数である。
【0031】
一実施形態では、第3の機械学習モデルは、一次関数を実施するように構成された線形層を備える。
【0032】
一実施形態では、線形層は、(人工)ニューラルネットワークを使用して実施される。
【0033】
一実施形態では、値のベクトルに基づいて出力行動を選択することは、行動確率のベクトルを生成するために値のベクトルを確率分布に変換することと、行動確率のベクトルに基づいて出力行動を選択することとを備える。
【0034】
一実施形態では、値のベクトルは、値のベクトルにソフトマックス関数を適用することによって、確率分布に変換される。
【0035】
一実施形態では、確率分布は、正規化された確率分布である。
【0036】
一実施形態では、行動確率のベクトルを生成するために値のベクトルを確率分布に変換することは、値のベクトルを、変換された行動値のベクトルに変換することであって、この変換された行動値のベクトルは、ゼロ以上の値を備える、変換することと、所定の基準に基づいて、変換された行動値のベクトル中の第1の行動値をゼロに等しく設定することによって、マスクされた変換された行動値のベクトルを形成することと、行動確率のベクトルを形成するように、マスクされた変換された行動値のベクトルを正規化することとを備える。
【0037】
一実施形態では、変換された行動値のみのベクトルは、ゼロ以上の値を含む。
【0038】
一実施形態では、マスクされた確率のベクトルは、変換された行動値のベクトルを入力としてみなし、マスクされた確率のベクトルを出力として提供するように構成されたマスキング層によって形成される。
【0039】
一実施形態では、所定の基準は、無意味な組み合わせのリスト、および/または自然言語生成器などの下流構成要素によってサポートされない組み合わせのリストの少なくとも1つを備える。
【0040】
一実施形態では、第1の行動値をゼロに等しく設定することは、第1の行動候補および/または第2の行動候補の組み合わせを不可能にする。
【0041】
一実施形態では、第1の対話次元は、第2の対話次元と異なる。
【0042】
一実施形態では、ユーザは、人間のユーザである。
【0043】
一実施形態では、対話システムは、マイクロホンを備え、ユーザから発声を受け取ることは、マイクロホンを介して受け取られる人間の発話の表現を生成することを備える。
【0044】
一実施形態では、対話状態は、発声および対話状態の以前のインスタンスに基づいて更新される。
【0045】
一実施形態では、対話システムは、スピーカを備え、方法は、システム応答がユーザによって聞かれ得るように、スピーカを介して、システム応答を出力することをさらに備える。
【0046】
第2の態様によれば、対話システムを訓練するためのコンピュータ実装方法であって、上記で説明された方法によりシステム応答を生成することと、このシステム応答をユーザに提供することと、強化学習を使用して、第1の機械学習モデルと、第2の機械学習モデルと、第3の機械学習モデルとを訓練することとを備える方法が提供される。
【0047】
一実施形態では、ユーザは、模擬ユーザである。
【0048】
一実施形態では、強化学習を使用して、第1の機械学習モデルと、第2の機械学習モデルと、第3の機械学習モデルとを訓練することは、累積報酬を決定することと、この累積報酬に基づいて、第1の機械学習モデルと、第2の機械学習モデルと、第3の機械学習モデルとを訓練することとを備える。
【0049】
一実施形態では、第1の機械学習モデル、第2の機械学習モデル、および第3の機械学習モデルは、線形値関数近似とともにモンテカルロ制御を使用して訓練される。
【0050】
一実施形態では、第1の機械学習モデル、第2の機械学習モデル、および第3の機械学習モデルは、別個に訓練される。
【0051】
一実施形態では、累積報酬は、システム応答を提供することと対話を終了することとの間に取得される個々の報酬の合計である。
【0052】
一実施形態では、第1の機械学習モデルは、訓練可能な重みの第1のセットによってパラメータ化される第1の関数に基づいて、第1の出力行動候補のための第1の推定累積報酬を推定するように構成され、累積報酬に基づいて第1の機械学習モデルを訓練することは、累積報酬と第1の推定累積報酬との差を決定することと、この差に基づいて、訓練可能な重みの第1のセットを更新することとを備える。
【0053】
一実施形態では、差は、平均二乗誤差である。
【0054】
一実施形態では、訓練可能な重みの第1のセットを更新することは、勾配降下法を使用して、差に基づいて、重みの第1のセット内の各重みに対する重み変化を決定することを備える。
【0055】
一実施形態では、訓練可能な重みの第1のセットは、累積報酬(すなわち、「真の」累積報酬)と第1の推定累積報酬との差を最小にするように更新される。
【0056】
一実施形態では、第3の機械学習モデルは、訓練可能な重みの第2のセットによってパラメータ化された第2の関数に基づいて、出力行動のための第2の推定累積報酬を推定するように構成され、累積報酬に基づいて第3の機械学習モデルを訓練することは、累積報酬と第2の推定累積報酬との差を決定することと、この差に基づいて、訓練可能な重みの第2のセットを更新することとを備える。
【0057】
一実施形態では、累積報酬は、報酬の合計に基づき、この報酬の合計は、システム応答を提供するために生成される第1の報酬を備える。
【0058】
一実施形態では、第1の報酬は、第1の構成要素と第2の構成要素との合計を備え、第1の構成要素は、長い対話を阻止する罰を提供し、第2の構成要素は、あらかじめ規定された目標を完了するための報酬を提供する。
【0059】
一実施形態では、方法は、システム応答を提供することに応答して第2の発声を受け取ることと、対話システムで応答を生成するための方法により第2のシステム応答を生成することであって、対話システムで応答を生成するための方法における発声は第2の発声であり、対話システムで応答を生成するための方法によって生成されるシステム応答は第2のシステム応答である、生成することと、第2のシステム応答に基づいて第2の報酬を生成することと、第1の報酬と第2の報酬との合計に基づいて累積報酬を計算することとをさらに備える。
【0060】
一実施形態では、第1の報酬と第2の報酬との合計は、合計における第2の報酬の値が割引係数によって減少されるような、割引合計である。
【0061】
一実施形態では、対話システムは、第1の機械学習モデルによって実施された第1の対話ポリシー、第2の機械学習モデルによって実施された第2の対話ポリシー、および第3の機械学習モデルによって実施された第3の対話ポリシーの探索の量を制御するように構成された第1のハイパーパラメータを備え、第1のハイパーパラメータは第1の対話中に第1の値を有し、第1の対話は、発声と、システム応答とを備え、方法が、第1の対話が完了したかどうかを決定することと、第1の対話が完了したと決定することに応答して、状態-行動空間内の第1の対話ポリシー、第2の対話ポリシー、および第3の対話ポリシーの探索の量が第1の対話中よりも小さいように、第1のハイパーパラメータを修正することと、第2の対話を用いて対話システムを再訓練することとをさらに備える。
【0062】
一実施形態では、第1の機械学習モデル、第2の機械学習モデル、および第3の機械学習モデルの各々は、行動値のベクトルを、変換された行動値のベクトルに変換するように構成された変換層を備え、この変換層は、温度ハイパーパラメータに従って制御され、第1のハイパーパラメータ修正することは、温度ハイパーパラメータの値を、1により近くなるように減少させることを備える。
【0063】
一実施形態では、第1の機械学習モデルの出力は、ワンホットエンコーディングを使用して表される。
【0064】
一実施形態では、第1の機械学習モデルの出力は第1のベクトルを備え、この第1のベクトルは複数のエントリを備え、各エントリは、行動の第1のセットとは異なる行動と関連づけられ、第1の行動候補と関連づけられたエントリは、行動候補が第1の機械学習モデルによって選択されていることを示す情報を備え、複数のエントリ中の他のエントリは、他のエントリと関連づけられる行動候補は第1の機械学習モデルによって選択されていないことを示す情報を備える。
【0065】
第3の態様によれば、対話システム内の応答を生成するためのデバイスであって、この対話システムは、ユーザとの対話を行うためのものであり、デバイスは、ユーザから発声を受け取ることと、この発声に基づいて対話状態を更新することと、対話状態を識別する情報を生成することと、第1の対話行為エージェントによって、第1の機械学習モデルと対話状態を識別する情報とを使用して、行動候補の第1のセットから第1の行動候補を選択することであって、行動候補の第1のセットは第1の対話次元と関連づけられる、選択することと、第2の対話行為エージェントによって、第2の機械学習モデルと対話状態を識別する情報とを使用して、行動候補の第2のセットから第2の行動候補を選択することであって、行動候補の第2のセットは第2の対話次元と関連づけられる、選択することと、評価エージェントによって、第3の機械学習モデルと、第1の行動候補と、第2の行動候補とを使用して、出力行動を選択することであって、出力行動は、第1の行動候補および/または第2の行動候補の組み合わせを備える、選択することと、出力行動に基づいてシステム応答を生成することとを行うように構成される、デバイスが提供される。
【0066】
一実施形態では、デバイスは、出力行動を選択するとき、第1の行動候補および/または第2の行動候補の各組み合わせに対して、対話状態ならばシステム応答としてそれぞれの組み合わせを選択することと関連づけられた推定累積報酬の標識を備える値のベクトルを生成し、値のベクトルに基づいて出力行動を選択するようにさらに構成される。
【0067】
一実施形態では、デバイスは、訓練可能な重みの第1のセットによってパラメータ化される関数を使用して値のベクトルを生成するようにさらに構成され、関数への入力は、対話状態を識別する情報であり、関数の出力は、各組み合わせに対する推定累積報酬である。
【0068】
一実施形態では、関数は一次関数である。
【0069】
一実施形態では、デバイスは、値のベクトルに基づいて出力行動を選択するとき、行動確率のベクトルを生成するために値のベクトルを確率分布に変換し、行動確率のベクトルに基づいて出力行動を選択するようにさらに構成される。
【0070】
一実施形態では、デバイスは、値のベクトルを変換するとき、値のベクトルを、変換された行動値のベクトルに変換することであって、この変換された行動値のベクトルは、ゼロ以上の値を備える、変換することと、所定の基準に基づいて、変換された行動値のベクトル中の第1の行動値をゼロに等しく設定することによって、マスクされた変換された行動値のベクトルを形成することと、行動確率のベクトルを形成するように、マスクされた変換された行動値のベクトルを正規化することとを行うようにさらに構成される。
【0071】
一実施形態では、第1の対話次元は、第2の対話次元と異なる。
【0072】
第4の態様によれば、対話システムを訓練するための訓練システムであって、上記で論じられた対話システム内で応答を生成するためのデバイスを備え、上記で論じられた対話システム内で応答を生成するためのデバイスを使用してシステム応答を生成し、このシステム応答をユーザに提供し、強化学習を使用して、第1の機械学習モデルと、第2の機械学習モデルと、第3の機械学習モデルとを訓練するように構成された訓練システムが提供される。
【0073】
一実施形態では、訓練システムは、強化学習を使用して、第1の機械学習モデルと、第2の機械学習モデルと、第3の機械学習モデルとを訓練するとき、累積報酬を決定し、この累積報酬に基づいて、第1の機械学習モデルと、第2の機械学習モデルと、第3の機械学習モデルとを訓練するようにさらに構成される。
【0074】
一実施形態では、第1の機械学習モデルは、訓練可能な重みの第1のセットによってパラメータ化された第1の関数に基づいて、第1の出力行動候補のための第1の推定累積報酬を推定するように構成され、訓練システムは、累積報酬に基づいて第1の機械学習モデルを訓練するとき、累積報酬と第1の推定累積報酬との差を決定し、この差に基づいて、訓練可能な重みの第1のセットを更新するようにさらに構成される。
【0075】
一実施形態では、第3の機械学習モデルは、訓練可能な重みの第2のセットによってパラメータ化された第2の関数に基づいて、出力行動のための第2の推定累積報酬を推定するように構成され、訓練システムは、累積報酬に基づいて第3の機械学習モデルを訓練するとき、累積報酬と第2の推定累積報酬との差を決定し、この差に基づいて、訓練可能な重みの第2のセットを更新するようにさらに構成される。
【0076】
一実施形態では、累積報酬は、報酬の合計に基づき、この報酬の合計は、システム応答を提供するために生成される第1の報酬を備える。
【0077】
一実施形態では、訓練システムは、システム応答を提供することに応答して第2の発声を受け取ることと、上記で論じられた対話システム内で応答を生成するためのデバイスを使用して第2のシステム応答を生成することであって、デバイスによって受け取られる発声は第2の発声であり、デバイスによって生成されるシステム応答は第2のシステム応答である、生成することと、第2のシステム応答に基づいて第2の報酬を生成することと、第1の報酬と第2の報酬との合計に基づいて累積報酬を計算することとを行うようにさらに構成される。
【0078】
一実施形態では、対話システムは、第1の機械学習モデルによって実施された第1の対話ポリシー、第2の機械学習モデルによって実施された第2の対話ポリシー、および第3の機械学習モデルによって実施された第3の対話ポリシーの探索の量を制御するように構成された第1のハイパーパラメータを備え、第1のハイパーパラメータは第1の対話中に第1の値を有し、第1の対話は、発声と、システム応答とを備え、訓練システムは、第1の対話が完了したかどうかを決定し、第1の対話が完了したと決定することに応答して、状態-行動空間内の第1の対話ポリシー、第2の対話ポリシー、および第3の対話ポリシーの探索の量が第1の対話中よりも小さいように、第1のハイパーパラメータを修正し、第2の対話を用いて対話システムを再訓練するようにさらに構成される。
【0079】
第5の態様によれば、プロセッサによる実行に適したコンピュータプログラム命令を備える非一時的なコンピュータ可読媒体であって、命令は、プロセッサによって実行されるとき、上記で論じられた方法をプロセッサに行わせるように構成される、非一時的なコンピュータ可読媒体が提供される。
【0080】
図1は、一例による対話システムを示す。対話システムは、対話行為タグ付け器構成要素100と、対話状態追跡構成要素101と、行動選択構成要素102と、自然言語生成器103とを備える。
【0081】
対話行為タグ付け器構成要素100は、ユーザ入力、任意選択で音声ユーザ入力(たとえば、マイクロホンを介して受け取られる)を識別する情報を取得するように構成される。代替的に、ユーザ入力は、テキストの形であることがある。
【0082】
音声ユーザ入力がマイクロホンを介して受け取られる例では、自動発話認識(ASR)は、ユーザの発話を認識して、それをテキストに変換するために、自動発話認識構成要素(図示せず)によって行われる。一例では、自動発話認識構成要素は、Google(登録商標)ウェブ発話APIを使用して実施される。
【0083】
対話行為タグ付け器構成要素100への入力は、ユーザ入力テキストである。対話行為タグ付け器構成要素100は、ユーザ入力テキストに基づいて1つまたは複数の対話行為タグを識別し、識別された対話行為タグを対話状態追跡構成要素101に出力するように構成される。対話行為タグ付け器構成要素100はまた、ユーザ入力テキストを対話状態追跡構成要素101に出力するように構成される。対話行為タグ付け器構成要素は、行動選択構成要素102によって必要とされる、挨拶および感謝のようなドメイン非依存対話行為を認識するために使用される。任意選択で、対話行為タグ付け器構成要素100は、汎用対話行為タグ付け器である。
【0084】
対話状態追跡構成要素101は、各受け取られた発声の後で対話状態を生成および更新するように構成される。一例では、対話状態追跡構成要素101は、ユーザテキストと、認識された対話行為タグと(両方とも、対話行為タグ付け器100によって出力される)を入力とみなし、更新された対話状態を生じさせ、これは、認識された対話行為タグを含む。一例では、対話状態追跡器構成要素101は、ユーザ発声(対話行為タグ付け器構成要素100によって伝えられる)および現在の対話状態(以前のターンから記憶される)ならばユーザの目標に対する更新を認識するように構成される。
【0085】
一例では、対話状態の表現は、システムとユーザとの間の対話中に言及された項目を備えるデータ構造の形をとる。さらなる例では、対話状態101の表現は、ユーザ目標などの、これまでのところの対話についての構造化された情報を備える。
【0086】
別の例では、対話状態は、スロットを提供することによって情報を記憶する。対話システムがレストラン検索ドメイン内で使用される特定の例では、対話状態は、3つのスロット、すなわち、食品、地域、および価格範囲(たとえば、安価、中程度、または高価)、によって表される「目標」制約を備える。対話の開始時、各スロットは空であり、スロットは、より多くの情報がユーザから収集されると、対話状態追跡構成要素101によってデータが投入される。
【0087】
別の例では、対話状態追跡に関する対話状態追跡構成要素101行動状態更新モデルが、参照により本明細書に組み込まれる「Svetlana Stoyanchev、Simon Keizer、およびRamaDoddipatla、「Action state update approach to dialogue management」、ICASSP2021-2021 IEEE International Conference on Acoustics, Speech and Signal Processing(ICASSP)、2021年、ページ7398~7402」に記載されている。
【0088】
より一般的に言えば、対話状態追跡構成要素101によって維持される対話状態は、ユーザ目標についてのシステムの考えを識別する情報と、任意選択で、以前に論じられた項目を含む対話履歴とを備える。
【0089】
対話状態追跡構成要素101は、対話状態の表現を行動選択構成要素102に出力するように構成される。
【0090】
行動選択構成要素102は、対話状態の表現を受け取り、行動選択構成要素の対話ポリシーおよび対話状態の受け取られた表現に基づいてシステム応答を示す情報を生成するように構成される。一例では、行動選択構成要素102は、以下で説明される多次元行動選択構成要素の例に従って実施される。行動選択構成要素102は、システム応答を形成することが可能である対話行為を識別する情報を出力するように構成される。以下でより詳細に論じられるように、システム応答は、多機能発声の形をとり得る。
【0091】
自然言語生成器103は、行動選択構成要素102の出力情報(すなわち、システム応答を形成することができる対話行為を識別する情報)を受け取るように構成され、発声の形でシステム応答を生成するように構成される。
【0092】
任意選択で、自然言語生成器103は、テンプレートベースの自然言語生成器(NLG)である。一例では、テンプレートベースの自然言語生成器103は、「Reiter,E.,&Dale,R.(2000)、Building Natural Language Generation Systems(Studies in Natural Language Processing)、Cambridge:Cambridge University Press」に記載されるように実施される。
【0093】
一例では、自然言語システム応答(すなわち、生成された発声)は、システム応答が人間のユーザによって受け取られ得るように、オーディオ波形の形でスピーカを介して出力される。任意選択で、自然言語生成器103の出力がテキスト形式での発声自然言語であるとき、自然言語生成器103の出力は、スピーカを介して出力される前に、任意選択でGoogle(登録商標)ウェブ発話APIを使用して、テキストから発話に変換される。
【0094】
図1に示される例では、対話システムは、レストラン検索ドメインにおいて使用され、「安いレストランを探しています」という入力発声を受け取る。対話状態追跡構成要素101、行動選択構成要素102、および自然言語生成器103の機能を使用して、対話システムは、レストランを推薦する応答をユーザに提供する(たとえば、対話システムは、「Prezzoは人気のあるイタリアンレストランです」というシステム応答を提供する)。
【0095】
対話システムは、上記でレストラン検索ドメインに関連して論じられているが、対話システムは多くの使用に適合可能であることが強調される。1つの可能な使用は、情報取り出しである。しかしながら、他の使用も可能である。たとえば、情報集め、トラブルシューティング、顧客サポート、電子商取引、物理環境制御、および人間-ロボット相互作用である。
【0096】
図2は、一例による多次元行動選択構成要素を示す。
図2に示される多次元行動選択構成要素は、対話状態201を識別する情報(たとえば、対話状態追跡構成要素101から受け取られた)を備える。上記で論じられたように、対話状態201を識別する情報は、ユーザ目標についてのシステムの考えと、以前に論じられた項目(たとえば、以前のユーザおよびシステム発声)を含む対話履歴とを備える。
【0097】
さらなる例では、対話状態201を識別する情報は、フル対話状態から抽出された特徴のセットである。この文脈では、特徴は、フル対話状態の性質または特性である。
【0098】
さらなる例では、対話状態201を識別する情報は、複数の特徴セット(たとえば、第1の特徴セット、第2の特徴セット、および第3の特徴セット)を備え、特徴の各セットは、(以下でより詳細に論じられるように)異なる対話行為(DA)エージェントと関連づけられる。任意選択で、複数の特徴セットにおける特徴セットが重複することがある。すなわち、複数の特徴セットにおける2つの特徴セットは、共通の特徴を含むことがある。
【0099】
多次元行動選択構成要素は、第1の対話行為(DA)エージェント202と、第2の対話行為(DA)エージェント203と、第3の対話行為(DA)エージェント204とをさらに備える。
【0100】
第1の対話行為(DA)エージェント202、第2の対話行為(DA)エージェント203、および第3の対話行為(DA)エージェント204の各々は、上記で論じられたようにそれぞれの対話行為(DA)エージェントと一意に関連づけられるフル対話状態から抽出された特徴セットを含む対話状態201を識別する情報にアクセスするように構成される。
【0101】
第1の対話行為(DA)エージェント202、第2の対話行為(DA)エージェント203、および第3の対話行為(DA)エージェント204の各々は、ISO24617-2アノテーション規格に記載される対話行為分類法とは異なる次元とも関連づけられる。規格の短い紹介は以下で提供される。しかしながら、より包括的な説明は、参照により本明細書に組み込まれる「Bunt、Harry&Petukhova、Volha&Traum、David&Alexandersson、1月(2017年)、Dialogue Act Annotation with the ISO 24617-2 Standard. 10.1007/978-3-319-42816-1_6」でも提供される。
【0102】
ISO24617-2アノテーション規格は、対話を構成する対話行為についての情報をもつ音声、記述された、およびマルチモーダル対話のアノテーションのために設計されている。対話行為は、ある通信機能と意味内容とを有すると解釈される、対話参加者の通信アクティビティとして規定される。上記で論じられたように、対話中の発声は、多くの場合、複数の通信機能を有する。対話プロセスの異なる態様を捉えるために、ISO24617-2アノテーション規格は、「次元」の概念を規定する。
【0103】
ISO24617-2アノテーション規格において指定される次元には、限定するものではないが、タスク次元、自動フィードバック次元、および社会的責任管理(SOM)次元がある。他の次元には、ターンテイキングおよびタスク管理がある。
【0104】
タスク次元は、対話を動機づけするタスクまたはアクティビティを先に移動させる対話行為に関係する。たとえば、多次元行動選択構成要素がレストラン検索ドメイン内で使用されるとき、タスク次元は、レストランを推薦することを担当する。より一般的には、タスク次元は、基礎となるタスクまたはアクティビティ(たとえば、情報ナビゲーション、個別指導、交渉など)に重点を置いた行動に関係する。
【0105】
自動フィードバック次元は、現在の話者の処理および名宛人の以前の発声(たとえば、処理問題の後に以前の入力を繰り返す/言い直すようにユーザに求める)についての情報を提供するまたは引き出す対話行為に関係する。自動フィードバック次元は、発話認識構成要素(多次元行動選択構成要素から上流)が何の結果も返さないとき、ユーザ入力の不理解を示すために使用されてよい。自動フィードバック次元で行動から生成された例示的な出力は、「あまり良くわかりませんでした。繰り返していただけますか?」であってよい。自動フィードバック次元における行動は、システムがユーザの入力についてあやふやなとき、明示的または暗黙的な確認の形で明瞭なフィードバックを提供するためにも使用されてよい。この場合の例示的な出力は、「高価と仰いましたか?」であってよい。
【0106】
社会的責任管理(SOM)次元は、挨拶、自己紹介、謝罪、および感謝などの社会慣習を扱うための対話行為に関係する。
【0107】
図2のシステムでは、各次元は、可能なサマリー行動(全体を通して行動と呼ばれる)の行動セットと関連づけられる。サマリー行動は、対話状態からの追加情報が十分に指定された対話行為にマップされることを必要とすることがある、仕様があいまいな(underspecified)対話行為である。たとえば、「REQUEST」というサマリー行動は、対話状態に基づいて、どのスロットが要求された、たとえば、request(area)を決定することによって、「要求」というタイプの対話行為にマップされる。同様に、「OFFER」というサマリー行動は、どの場が提供されるべきかを決定することによって、フル対話行為にマップされる。サマリー行動の対話行為へのマッピングは、対話行為(DA)エージェントによって行われる。一例では、サマリー行動は、固定されたヒューリスティクスを使用して(たとえば、所定のマッピングを使用して)対話行為にマップされる。対話行為(DA)エージェントによって生成される対話行為は、システム発声を生成するために、自然言語生成器103によって使用される。
【0108】
上記で論じられたように、各対話行為(DA)エージェントは、選択された行動に基づいて、任意選択で対話状態からの追加情報を使用して、対話行為を生成する。場合によっては、対話行為(DA)エージェントのポリシーは、場合によっては対話行為に直接的に対応する行動を選択する(必要とされる追加情報なしで、たとえばACCEPT_THANKING)。他の場合には、対話行為(DA)エージェントは、完全な対話行為を形成するために追加情報を必要とするサマリー行動を選択する(たとえば、REQUEST)。
【0109】
有利には、十分に指定された対話行為の代わりにサマリー行動を使用することは、対話行為(DA)エージェントのポリシーによって使用される行動セットの大きさを減少させ、したがって、対話行為(DA)エージェントを訓練する簡単さおよびスピードを改善する。
【0110】
一例では、システムによって実施される対話行為は、ISO24617-2などの何らかの規格に少なくとも部分的に基づく。しかしながら、これらの規格は、対話行為タイプ/通信機能のみに重点を置き、ドメインとは無関係であることを目指す傾向がある。その結果、さらなる例では、システムは、システムが使用されるドメインに固有である対話行為を実施する。一例では、システムによって実施される対話行為は、任意選択でスロット-値ペア(食物=中華料理、地域=都市中心部など)のリストとして表される、意味内容を必要とする。一例では、スロット-値ペアの範囲は、ドメインオントロジーにおいて説明される。システムによって実施される特定の対話行為は、いくつかの対話システム構成要素が、対話行為のこのセット、たとえば、自然言語理解および生成のための構成要素、ならびに状態追跡および行動選択(ポリシー)構成要素をサポートしなければならないので、システム設計にとっての問題である。
【0111】
特定の例では、タスク次元は、「OFFER」行動と、「ANSWER」行動と、「REQUEST」行動と、「NONE」行動とを備える行動セットと関連づけられ、自動フィードバック次元は、「IMPL-CONFIRM」行動と、「EXPL-CONFIRM」行動と、「AUTO_NEGATIVE」行動と、「NONE」行動とを備える行動セットと関連づけられ、社会的責任管理(SOM)次元は、「ACCEPT_THANKING」と、「RETURN_GOODBYE」と、「NONE」とを備える行動セットと関連づけられる。
【0112】
この例では、「OFFER」行動は、目標を満たすための提供を備える出力発声を生成することがある(たとえば、多次元行動選択構成要素がレストラン検索ドメイン内で使用される場合、「OFFER」行動は、「Rice Boatはどうですか?」という出力発声をもたらすことができ、「Rice Boat」はレストランの名前である)。「ANSWER」行動は、質問に対する答え(たとえば、「Rice Boatの住所は…です」)を備える出力発声を生成し得る。「REQUEST」行動は、より多くの情報を要求する出力発声(たとえば、「どの価格範囲をお考えですか?」)を生成し得る。「IMPL-CONFIRM」行動は、システムが入力を理解したことを暗黙的に確認する出力発声(たとえば、「承知しました。インド料理…」、入力要求がインド料理に関係することをシステムが理解したことを暗黙的に確認する)を生成するために使用され得る。「EXPL-CONFIRM」行動は、システムがユーザ入力を理解したことを明示的に確認する出力発声(たとえば、「インド料理をご希望ですね、合っていますか?」)を生成するために使用され得る。「AUTO_NEGATIVE」行動は、システムがユーザの入力についてあやふやであることを伝達する出力発声(たとえば、「よく聞こえませんでした。言い直していただけますか?」)を生成するために使用され得る。「ACCEPT_THANKING」行動および「RETURN_GOODBYE」行動は、説明を要しない。「ACCEPT_THANKING」行動に基づく例示的な発声は、「ようこそ」を含んでよく、「RETURN_GOODBYE」に基づく例示的な発声は、「良い一日を」を含んでよい。一例では、「NONE」行動は、所定の対話行為の選択を引き起こす(たとえば、一例では、「NONE」行動は、対話システムに「autoNegative」対話行為を選択させる)。
【0113】
上記の特定の例では、行動セットは、特定の行動を備える。しかしながら、いかなる疑いも回避するために、それぞれの行動セットは、上記で明示的に論じられていない他の行動を備えてよいことが強調される。
【0114】
図2の多次元行動選択構成要素では、第1の対話行為(DA)エージェント202は「タスク」次元と関連づけられ、第2の対話行為(DA)エージェント203は「自動フィードバック」次元と関連づけられ、第3の対話行為(DA)エージェント204は「社会的責任管理(SOM)」次元と関連づけられる。有利には、これらの3つのエージェント(3つの次元に対応する)は、タスク指向型多次元対話システムに必要とされる最小と考えられる。
図2では3つの対話行為(DA)エージェントが示されているが、1つよりも多い任意の数の対話行為(DA)エージェントが提供されてよいことが強調される。
【0115】
第1の対話行為(DA)エージェント202について、より詳細に考える。第1の対話行為(DA)エージェント202は、「タスク」次元と関連づけられ、対話状態201を識別する情報および第1の対話行為(DA)エージェント202によって実施されている対話ポリシーに基づいて、行動候補を生成するように構成される。第1の対話行為(DA)エージェント202と関連づけられる対話ポリシーは、対話状態201を識別する入力情報に基づいて可能な行動のセットから行動候補を選択するために使用される。
【0116】
上記で論じられたように、可能な行動のセットは、複数のサマリー行動を備える。サマリー行動は、対話状態からの追加情報が十分に指定された対話行為にマップされることを必要とすることがある仕様があいまいな対話行為である。一例では、行動は、対話状態からの追加情報を使用して、フル対話行為にマップされる。さらなる例では、可能な行動のセット内の行動は、ISO24617-2アノテーション規格からの通信機能に対応する。
【0117】
第1の対話行為(DA)エージェント202は、強化学習(RL)機械学習モデル、すなわち言い換えれば、強化学習(RL)を使用して訓練される機械学習モデルを備える。当技術分野で知られているように、強化学習(RL)は、以前のエピソードのために生成される報酬(強化とも呼ばれる)から機械学習モデルのポリシー(すなわち、所与の状態であるとき、どの行動が選択されるか)が学習される機械学習の1つのタイプである。
【0118】
対話行為(DA)エージェント内で機械学習モデルの各々を訓練することは、以下でより詳細に論じられる。しかしながら、手短に言えば、訓練中、第1の対話行為(DA)エージェント202は、状態S(対話状態201を識別する情報に対応する)で開始し、特定の次元(すなわち、「タスク」次元)のための可能な行動のセットから出力行動を選択するとき、取得される累積報酬を推定する行動値関数を学習するように構成される。以下でより詳細に論じられるように、第1の対話行為(DA)エージェント202の強化学習(RL)機械学習モデルは、所与の状態から行動を取ることと関連づけられた累積報酬をより良く推定するために、行動値関数のパラメータを訓練するために報酬信号(たとえば、(シミュレートされた)ユーザとの相互作用に基づいて生成される)を使用する。
【0119】
推論中、第1の対話行為(DA)エージェント202は、入力対話状態201および学習された対話ポリシーに基づいて、「タスク次元」と関連づけられた可能な行動のセットから出力行動候補を生成するように構成される。特に、第1の対話行為(DA)エージェント202の機械学習モデルは、現在の状態S(対話状態201を識別する情報に対応する)ならば行動セット内の行動の各々を選択することと関連づけられた累積報酬を決定するように構成される。機械学習モデルは、推定累積報酬に基づいて、タスク次元のための(単一の)行動候補を選択するようにさらに構成される。
【0120】
第1の強化学習(RL)機械学習モデル(第1の機械学習モデルとも呼ばれる)の例示的な実装形態は、
図3Aに関連してより詳細に論じられる。
【0121】
図3Aは、強化学習(RL)機械学習モデルの例示的な実装形態を示す。
【0122】
一例では、第1の対話行為(DA)エージェント202の強化学習(RL)機械学習モデルは、いくつかのステージを含んでよい。一例では、第1の対話行為(DA)エージェント202の機械学習モデルは、訓練可能パラメータの線形層302を備える。
【0123】
線形層302への入力は、対話状態301を識別する情報(たとえば、フル対話状態を表す特徴のセット、任意選択で、第1の対話行為(DA)エージェント202と一意に関連づけられるフル対話状態を表す特徴のセット)を備える。
【0124】
線形層302は、現在の状態ならば(すなわち、現在の対話状態ならば)行動セットから行動を選択することと関連づけられる予想長期累積報酬を生成するように構成される。この場合、線形層302は、行動値関数を実施する。一例では、線形層は、(人工)ニューラルネットワークを使用して実施される。一例では、線形層は、単一の隠れ層をもつニューラルネットワークである。さらなる例では、線形層は、複数の隠れ層を使用して実施される。
【0125】
線形層302の出力は、値303のベクトル(行動値のベクトルとも呼ばれる)を備え、各値は、行動(関連のある次元と関連づけられる行動のセットからの)が長期累積報酬を最大にする程度を示す。任意選択で、値は、各行動を取ることと関連づけられる長期累積報酬を示す。
【0126】
以下でより詳細に論じられるように、強化学習(RL)機械学習モデルの訓練中、報酬信号は、予想リターン(すなわち、累積報酬)が、受け取られる実際のリターンにより近いように、線形層の訓練可能パラメータを更新するために使用される。
【0127】
一例では、第1の対話行為(DA)エージェント202の機械学習モデルは、変換層304も備える。線形層302の出力(すなわち、行動値303のベクトル)は、変換層304への入力である。
【0128】
変換層304は、行動値のベクトルを変換するように構成され、各値は、負の無限大と正の無限大との間の値を、0以上の任意の値をとる変換された行動値305のベクトルにしてよい。一例では、変換層304は、行動値303のベクトル内の各入力行動値yiのためのeyiを計算する。実際、すべての行動値がゼロ以上の値に変換される。
【0129】
一実施形態では、変換層304は、行動値303のベクトルにおける各入力行動値yiのための
【0130】
【0131】
を計算し、ここで、τは温度ハイパーパラメータである。当技術分野で知られているように、ハイパーパラメータは、学習プロセスを制御するために選ばれるパラメータである。特に、温度ハイパーパラメータは、強化学習(RL)機械学習モデルによって実施される対話ポリシーの訓練中に探索のレベルを制御するために使用される。高温は、訓練の初期ステージ中に使用され、行動(次元と関連づけられる可能な行動のセットからの)をよりランダムに選択させる。ところが、訓練の後期ステージ中では、より低い温度が使用され、推定値をより密接にたどらせる(すなわち、より高い確率をもつ高値行動を選ばせる)。したがって、温度ハイパーパラメータは、対話ポリシーの探索対活用を制御する。
【0132】
上記の式では、eは標準的な指数関数であり、τは、0と無限大との間の値を取る温度ハイパーパラメータである。温度ハイパーパラメータが無限大に近づくにつれて、確率分布は一様分布になる。以下でより詳細に論じられるように、具体的には多次元行動選択構成要素の訓練を論じるとき、温度ハイパーパラメータは、訓練全体を通じて変化してよい。一例では、温度ハイパーパラメータは、推論中、任意選択で1に、固定される。
【0133】
変換層の出力304は、変換された行動値305でのベクトルある。変換された行動値305のベクトルは、マスキング層306に入力される。
【0134】
マスキング層306は、変換層304の出力に結合される。マスキング層306は、マスクされた変換された行動値307のベクトルを生成するために、(たとえば、関連づけられた値をゼロに設定することによって)変換された行動値305のベクトル内の行動を不可能にするように構成される。一例では、必要とされる情報がフル対話状態で欠落しているまたは出力行動が下流構成要素(たとえば、自然言語生成器103)によってサポートされないので、第1の対話行為(DA)エージェント内のマスキング層306は、たとえば、選択されたサマリー行動が、フル対話行為にマップ不可能である場合、行動を不可能にする。マスキング層306の出力は、正規化層308の入力に結合される。
【0135】
正規化層308は、マスクされた変換された行動値307のベクトルを受け取るように構成される。正規化層308は、確率の合計が1に等しい行動確率のベクトルを生成するために、マスクされた変換された行動値307のベクトル内の値を正規化するように構成される。言い換えれば、マスクされた変換された行動値307(ゼロ以上の任意の値を取ることができる)は、マスクされた行動が確率ゼロを有する確率分布に正規化される。
【0136】
一例では、マスクされた変換された行動値307のベクトル内の値を正規化することは、マスクされた変換された行動値307のベクトル内の各行動値を、マスクされた変換された行動値307のベクトル内の行動値の合計によって除算することを備える。正規化層308の出力は、行動確率のベクトルである。
【0137】
第1の対話行為(DA)エージェント202は、行動確率のベクトルに基づいて、行動のセットから出力行動候補を選択するようにさらに構成される。
【0138】
一例では、第1の対話行為(DA)エージェント202の出力は、可能な行動のセットからの選択された行動を示すワンホット表現を備える(たとえば、バイナリ「1」は、選択された行動を示し、バイナリ「0」は、選択されていない行動を示す場合)。行動は、(たとえば、最も高い確率と関連づけられる行動を選択することによって、または行動確率のベクトル内の確率分布に基づいて行動をサンプリングすることによって)の行動確率のベクトル内の値に基づいて選択されてよい。
【0139】
図3Aに関連して論じられる例は、マスキング層306を備える機械学習モデルを示す。しかしながら、マスキング層306は任意選択であることが強調される。この場合、変換された行動値305のベクトルは、正規化層308に入力される。任意選択で、マスキング層が存在しないとき、変換層304と正規化層308の機能は、ソフトマックス層内で組み合わせ可能である。
【0140】
当技術分野で知られているように、ソフトマックス関数は、K個の実数値のベクトルを、合計で1になるK個の実数値のベクトルにする関数である。入力値は、正、負、ゼロ、または1よりも大きくすることができるが、ソフトマックスは、それらが確率として解釈可能であるように、それらを0から1の間の値に変える。この場合、ソフトマックス層は、長期累積報酬(すなわち、行動値303のベクトル)を示す行動値を正規化された確率分布に変換するように構成される。ソフトマックス層の出力は、行動確率のベクトルを備え、各確率は、可能な行動のセット内の異なる行動と関連づけられ、各確率は、所与の行動が長期累積報酬を最大化する可能性を示す。
【0141】
一例では、ソフトマックス層は、ソフトマックス式
【0142】
【0143】
を実施し、ここで、σはソフトマックス関数であり、yは入力ベクトル(すなわち、行動値303のベクトル)であり、nは入力ベクトルの大きさであり、eは標準的な指数関数である。一例では、温度ハイパーパラメータは、上記で論じられたように使用され、この場合、ソフトマックス層は、
【0144】
【0145】
を実施し、ここで、τは、0から無限大の間の値を取る温度ハイパーパラメータである。
【0146】
さらなる例では、マスキング層306が存在する場合、変換層304(すなわち、行動値をゼロ以上の数に変換すること)およびマスキング層306の機能は、1つの層内で組み合わされる。
【0147】
図3Bは、強化学習(RL)機械学習モデルの第2の例示的な実装形態を示す。
図3Bでは、
図3Aと同じ参照番号は、同じ構成要素を示すために使用される。
図3Bは、修正されたマスキング層350をさらに備える。修正されたマスキング層350は、状態sで行動aを行うために推定累積報酬Q(s,a)を備える行動値303のベクトルを受け取るように構成される。最初に、exp(Q(s,a)/τ)値が、すべての行動に対して算出される(ここで、τは温度ハイパーパラメータであり、「exp」は指数関数である)。次いで、マスク(mask(s,a))が適用され(すなわち、mask(s,a)*exp(Q(s,a)/τ))、これらの値のうちのいくつかはゼロに設定され、それによって、行動値352の第2のベクトルを生成する。最後に、結果として生じる値(すなわち、行動値352の第2のベクトルにおける値)は、上記で論じられたように、正規化層308によって確率分布(ここで、マスクされた行動が確率ゼロを有する)に正規化される。
【0148】
図2の例では、第1の対話行為(DA)エージェントの強化学習(RL)機械学習モデルの出力は、「OFFER」サマリー行動が、対話状態201を識別する情報に応答して、「タスク」次元において、システム応答として可能な行動のセットから選択されているという標識を備える。言い換えれば、第1の対話行為(DA)エージェント202の出力は、「タスク」次元のための行動は「OFFER」サマリー行動であるという標識を備える。
【0149】
選択された行動候補の標識を出力することに加えて、第1の対話行為(DA)エージェント202は、選択された行動候補と関連づけられた対話行為候補を出力するようにも構成される。一例では、第1の対話行為(DA)エージェント202は、選択された行動候補および対話状態201を識別する情報に基づいて、対話行為候補を生成する。
【0150】
上記で論じられたように、
図1の多次元対話システムは、第2の対話行為(DA)エージェント103と、第3の対話行為(DA)エージェント104も備える。
【0151】
第2の対話行為(DA)エージェント103、第3の対話行為(DA)エージェント104は、上記で第1の対話行為(DA)エージェント102に関連して論じられた類似の強化学習(RL)機械学習モデルを備える。しかしながら、対話行為(DA)エージェントの各々はISO24617-2アノテーション規格の異なる次元と関連づけられ、したがって、可能な行動の異なるセットから行動候補を選択するので、行動は行動の異なるセットから選択されることは、諒解されるであろう。そのうえ、各対話行為(DA)エージェントが、対話状態から抽出された異なる特徴セットを使用する場合、各対話行為(DA)エージェントのための対話状態101を識別する情報が異なる特徴セットである(任意選択で、重複する特徴をもつ)ことが諒解されるであろう。
【0152】
第2の対話行為(DA)エージェント203について、より詳細に考える。
【0153】
第2の対話行為(DA)エージェント203を訓練することは、状態S(対話状態201を識別する情報に対応する)で開始し、特定の次元(すなわち、「自動フィードバック」次元)のための可能な行動のセットから出力行動を選択するとき、取得される累積報酬を推定する行動値関数を学習することを備える。以下でより詳細に論じられるように、第2の対話行為(DA)エージェント203の強化学習(RL)機械学習モデルは、報酬信号(すなわち、第1の対話行為(DA)エージェント202と同じ報酬信号)を使用して、行動値関数を実施する線形層のパラメータを訓練する。第2の対話行為(DA)エージェント203を訓練することは、共通報酬信号に基づくが、訓練は独立していることが強調される。
【0154】
推論中、第2の対話行為(DA)エージェント203は、対話状態201を識別する入力情報および学習された対話ポリシーに基づいて、「自動フィードバック」次元と関連づけられた可能な行動のセットから出力行動候補を生成するように構成される。特に、第2の対話行為(DA)エージェント203の機械学習モデルは、現在の状態S(対話状態201を識別する情報に対応する)ならば行動内の行動の各々を選択することと関連づけられた累積報酬を決定するように構成される。機械学習モデルは、推定された累積報酬に基づいて、「自動フィードバック」次元のための(単一の)行動候補を選択するようにさらに構成される。
【0155】
図2の例では、第2の対話行為(DA)エージェント203の出力は、「IMPL-CONFIRM」(すなわち、暗示された確認)行動が、対話状態201を識別する情報に応答して、「自動フィードバック」次元において、システム応答として選択されているという標識を備える。第2の対話行為(DA)203エージェントによって選択されるサマリー行動は、この行動候補が最終になるかどうかを決定する評価エージェント205に出力される。上記で論じられたように、第2の対話行為(DA)エージェント202は、
図2の例では「IMPL-CONFIRM」行動である行動候補と、対話状態201を識別する情報に基づいて、対話行為候補を生成および出力するようにも構成される。
【0156】
第3の対話行為(DA)エージェント204は、第1の対話行為(DA)エージェント202および第2の対話行為(DA)エージェント203と類似の様式で構成されるが、代わりに、「社会的責任管理(SOM)」次元と関連づけられる。
【0157】
図2の例では、第3の対話行為(DA)エージェント204の出力は、「ACCEPT_THANKING」行動が、対話状態201を識別する情報に応答して、「社会的責任管理(SOM)」次元において、システム応答として選択されているという標識を備える。第3の対話行為(DA)204エージェントによって選択されるサマリー行動は、この行動候補が最終になるかどうかを決定する評価エージェント205に出力される。第3の対話行為(DA)エージェント204は、
図2の例では「ACCEPT_THANKING」行動である行動候補と、対話状態201を識別する情報に基づいて、対話行為候補を出力するようにも構成される。
【0158】
図2の多次元行動選択構成要素は、評価エージェント205も備える。評価エージェント205は、対話行為(DA)エージェント(すなわち、第1の対話行為(DA)エージェント202、第2の対話行為(DA)エージェント203、および第3の対話行為(DA)エージェント204)によって提案される行動の組み合わせを選択するように構成される。行動候補を選択し、行動を組み合わせる手段を提供することによって、
図2のシステムは、多機能システム発声(すなわち、複数の対話行為を伝達する発声)を生成し、それによって、システム応答の自然さと有効性の両方を改善することが可能である。
【0159】
図2では、対話行為(DA)エージェントの各々によって選択される行動候補を識別する情報は、評価エージェント205への入力として提供される。一例では、各対話行為(DA)エージェントは、あらゆるターンにおいて多くても1つの行動候補を生成するように構成される。評価エージェント205は、これらの行動候補の組み合わせをシステム出力として生成するように構成される。
【0160】
図4Aは、一例による評価エージェント205の一実装形態を示す。評価エージェント205は、線形層402と変換層404とマスキング層406と正規化層408とを備える第4の強化学習(RL)機械学習モデルを備える。評価エージェント205は、各対話行為(DA)エージェント(すなわち、第1の対話行為(DA)エージェント202、第2の対話行為(DA)エージェント203、および第3の対話行為(DA)エージェント204)の出力に通信可能に結合される。
【0161】
各対話行為(DA)エージェントの出力は、1ホットエンコーディングを使用して、可能な行動のセットからのどの行動(対話行為(DA)エージェントの次元と関連づけられる)が行動候補として選択されているかを示すベクトルを備える。この場合、特定の対話行為(DA)エージェントからの出力ベクトルの大きさは、関連づけられた次元のための可能な行動のセット内の行動の数に対応する。評価エージェント205は、入力ベクトル401を形成するために対話行為(DA)エージェントの各々からの出力ベクトルを連結するように構成される。
【0162】
3つの対話行為(DA)エージェントがある
図1の例では、入力ベクトル401は、3つの連結されたワンホットベクトルを備える。この場合、評価エージェント205の出力として選択されてよい2
3=8の可能な対話組み合わせがある。
【0163】
評価エージェント205の第4の強化学習(RL)機械学習モデルは、上記で対話行為(DA)エージェントの機械学習モデルに関連して論じられたような類似の構造を有する。特に、第4の強化学習(RL)機械学習モデルは、入力ベクトル401を入力対話行為候補の各可能な組み合わせのための長期累積報酬を推定する行動値403のベクトルに変える訓練可能パラメータの線形層402を備える。行動値403のベクトルは、変換層404への入力である。
【0164】
線形層402の出力(すなわち、行動値403のベクトルを備える)は、変換層404へ入力される。変換層404は、負の無限大から正の無限大の間の任意の値を取り得る行動値403のベクトルにおける行動値を、ゼロ以上の値を備える変換された行動値405のベクトルに変換するように構成される。変換層404の出力(すなわち、変換された行動値405のベクトル)は、マスキング層406の入力に結合される(すなわち、マスキング層406は、変換された行動値405のベクトルを受け取るように構成される)。変換層404は、
図3Aの変換層304に関連して論じられたのと同じ変換を実施してよい。
【0165】
マスキング層406は、いくつかの出力行動候補組み合わせを、マスクされた変換された行動値407のベクトルを生成するためにそれらの値をゼロに設定することによって不可能にするように構成される。一例では、マスキング層は、矛盾をもたらす行動候補組み合わせを不可能にするように構成される。たとえば、質問をして、さよならを告げることは理に適わないであろう。したがって、行動のいくつかの組み合わせは、無意味であると決定され、したがって、通常の話し方の慣習に基づいて矛盾を表す。一例では、マスキング層によって不可能にされる行動の組み合わせは、あらかじめ決定されているおよび/またはハードコーディングされる。
【0166】
別の例では、マスキング層は、単一の対話行為または(「自動フィードバック」次元)の「IMPL-CONFIRM」の「OFFER」行動もしくは「REQUEST」行動(「タスク」次元の)との組み合わせのみを許可することを評価エージェント205が保証するように構成される。以下の表は、この具体的な例に従ってマスキング層406によって許可される具体的な組み合わせを示す。行動の組み合わせに基づいて生成され得る発声の一例も提供される。
【0167】
【0168】
上記の表は、異なる次元からの行動の具体的な組み合わせを示しているが、他の行動の他の組み合わせも許可されてよいことが強調される。さらなる例では、「社会的責任管理(SOM)」次元と関連づけられる行動のセットは、「APOLOGY」行動を含み、許可される組み合わせは、「APOLOGY」+「AUTO_NEGATIVE」を含み、これは、「申し訳ありませんが、あまりよくわかりませんでした」という発声を引き起こし得る。
【0169】
評価エージェント205のマスキング層406は、たとえば自然言語生成器103などの下流構成要素の入力要件に合致するようにエージェントが選択することができる対話組み合わせの範囲を制限する洗練された様式を表す。そのうえ、多次元行動選択構成要素は、矛盾する組み合わせ(たとえば、無意味な組み合わせ)を学習する必要はないので、マスキング層は、構成要素の訓練を高速化することもできる。
【0170】
マスキング層の出力406は、マスクされた変換された行動値407のベクトルである。マスキング層406の出力は、正規化層408に結合される。正規化層408は、合計が1に等しいように、マスクされた変換された行動値407のベクトル内に存在する行動値を正規化し、したがって、長期累積報酬を最大にする行動の確率を提示するように構成される。正規化層408の出力は、行動確率の出力ベクトルである。
【0171】
図4Bは、一例によるアクション確率の出力ベクトルの表現を示す。
図2に関連して論じられるように、対話行為候補が生成される3つの次元には、「タスク」、「自動フィードバック」、および「社会的責任管理(SOM)」がある。
図4Bは、それぞれの次元の各々のための行動候補の組み合わせと関連づけられた確率を示す。たとえば、
図4Bは、「タスク」次元のための行動候補(すなわち「OFFER」)と「自動フィードバック」次元と関連づけられた行動候補(すなわち「IMPL-CONFIRM」)の組み合わせは、長期累積報酬を最大にする最も高い確率と関連づけられることを示す。
【0172】
図4Bは、ブランク状態と関連づけられたエントリ(すなわち「---」)も示す。これは、行動候補の選択なしと関連づけられた確率である。これは、応答を生成しないことに類似している。最後に、
図4Bは、マスキング層406により確率なし(すなわち「0」)と関連づけられる複数の行動組み合わせ(たとえば、「自動フィードバック」+「SOM」)も示す。
【0173】
図3Aに関連して論じられたように、マスキング層406は任意選択である。この場合、変換層404および正規化層408の機能は、温度ハイパーパラメータを任意選択で実施するソフトマックス層内で組み合わせ可能である。代替的に、マスキング層が存在する場合、変換層404およびマスキング層406の機能は、修正されたマスキング層内で組み合わせ可能である。
【0174】
図4Cは、第2の例による評価エージェント205の一実装形態を示す。
図4Cでは、
図4Aと同じ参照番号は、同じ構成要素を示すために使用される。
図4Cは、修正されたマスキング層450をさらに備える。修正されたマスキング層450は、状態sで行動aを行うために推定累積報酬Q(s,a)を備える行動値403のベクトルを受け取るように構成される。最初に、exp(Q(s,a)/τ)値が、すべての行動に対して算出される(ここで、τ(タウ)は温度ハイパーパラメータであり、「exp」は指数関数である)。次いで、マスク(mask(s,a))が適用され(すなわち、mask(s,a)*exp(Q(s,a)/τ))、これらの値のうちのいくつかはゼロに設定され、それによって、行動値452の第2のベクトルを生成する。最後に、結果として生じる値(すなわち、行動値452の第2のベクトル)は、上記で論じられたように、正規化層408によって確率分布(マスクされた行動が確率ゼロを有する)に正規化される。
【0175】
行動確率の出力ベクトルを生成した後、評価エージェント205は、結果として生じる確率分布(すなわち、出力ベクトルの確率分布)からサンプリングすることによって、1つまたは複数の行動候補の組み合わせを選択するように構成される。
【0176】
図2の例を考慮すると、これは、評価エージェント205が、「タスク」次元からの行動「OFFER」と「自動フィードバック」次元からの「IMPL-CONFIRM」の組み合わせを出力行動として選択するが、「社会的責任管理(SOM)」次元から「ACCEPT_THANKING」行動は選択しないことをもたらす。
【0177】
行動候補の組み合わせを選択した後、評価エージェント205は、評価エージェント205によって生成される行動の最終的な組み合わせを形成する行動と関連づけられる対話行為(DA)エージェントによって生成された対話行為を取り出すことによって、対話行為の組み合わせを生成するように構成される。
図2の例では、行動候補の組み合わせは、「タスク」次元からの「OFFER」と「自動フィードバック」次元からの「IMPL-CONFIRM」である。この場合、評価エージェント205は、第2の対話行為(DA)エージェント203(「IMPL-CONFIRM」行動と関連づけられる)によって出力される対話行為候補とともに第1の対話行為(DA)エージェント202(「OFFER」行動と関連づけられる)によって出力される対話行為候補を取り出し組み合わせることによって対話行為の組み合わせを生成するように構成される。対話行為の組み合わせは、評価エージェント205によって出力される。
【0178】
評価エージェント205の出力は、評価エージェント205によって選択および出力される1つまたは複数の対話行為の組み合わせに基づいて多機能システム発声を生成するように構成される自然言語生成器(たとえば、自然言語生成器103)に結合される。
【0179】
たとえば、自然言語生成(NLG)モジュールによって生成される多機能発声は、「安いイタリアンレストランを探しています」というユーザ入力に応答して「Prezzoは人気のあるイタリアンレストランです」であってよい。この場合、システムによって生成される発声は、「OFFER」対話行為(すなわち「Prezzo」)と「IMPL-CONFIRM」対話行為(対話システムが、ユーザがイタリア料理を希望していることを理解したことをユーザに対して暗黙的に確認する「…は人気のあるイタリアンレストランです」)の両方を含む。
【0180】
上記で論じられた様に、他の強化学習(RL)機械学習モデルの各々と同様に、第4の強化学習(RL)機械学習モデルは、訓練可能モデルパラメータの線形層402を備える。以下でより詳細に論じられるように、対話行為エージェントの各々および評価エージェント205に対する強化学習(RL)機械学習モデルのモデルパラメータは、(シミュレートされた)ユーザをもつオンライン相互作用に基づいて最適化される。特に、強化学習(RL)機械学習モデルの各々のモデルパラメータは、(シミュレートされた)ユーザから取得された共通報酬信号に基づいて最適化される。(シミュレートされた)ユーザとの相互作用中、4つのエージェント(すなわち、第1の対話行為(DA)エージェント202、第2の対話行為(DA)エージェント203、第3の対話行為(DA)エージェント204、および評価エージェント205)は、同じ共有報酬を受け取り、最大長期累積報酬を達成するポリシーを取得する目標をもつ報酬に基づいてパラメータ(すなわち、線形層のためのモデルパラメータ)を更新する。そのうえ、他の強化学習(RL)機械学習モデルの各々と同様に、第4の強化学習(RL)機械学習モデルは、温度ハイパーパラメータと関連づけられる変換層404を備える。一例では、エージェントの各々(すなわち、第1の対話行為(DA)エージェント202、第2の対話行為(DA)エージェント203、第3の対話行為(DA)エージェント204、および評価エージェント205は、それぞれの変換層において温度ハイパーパラメータの同じ値を使用する。
【0181】
図5は、一例によるシステム発声を生成する方法を示す。方法は、ステップ501において、ユーザ発声を受け取ることによって始まる。一例では、発声は、人間のユーザからであり、マイクロホンを介して捕らえられる。この場合、自動発話認識は、ユーザの発話を認識し、それをテキストに変換するために、ユーザ入力に対して行われる。一例では、Google(登録商標)ウェブ発話APIが、自動発話認識に使用される。
【0182】
ステップ502では、対話状態が、ステップ501において受け取られたユーザ発声に基づいて更新される。一例では、対話状態は、対話状態追跡構成要素101によって更新される。
【0183】
ステップ503では、第1の次元における第1の行動候補が生成される。一例では、第1の行動候補は、上記で論じられたように、第1の対話行為(DA)エージェント202によって生成される。
【0184】
ステップ504では、第2の次元における第2の行動候補が生成される。一例では、第2の行動候補は、上記で論じられたように、第2の対話行為(DA)エージェント203によって生成される。
【0185】
ステップ505では、第3の次元における第3の行動候補が生成される。一例では、第3の行動候補は、上記で論じられたように、第3の対話行為(DA)エージェント204によって生成される。
【0186】
図5の方法は、第1の行動候補、第2の行動候補、および第3の行動候補が並列に生成されることを示す。これは、各行動候補の生成が独立していることを示す。しかしながら、疑いを回避するために、ステップ503、504、505は直列にまたは並列に実施されてよいことが強調される。
【0187】
ステップ506では、1つまたは複数の最終対話行為が、第1の行動候補、第2の行動候補、および第3の行動候補の組み合わせを選択することによって生成される。いかなる疑いも回避するために、これらの行動の1つの組み合わせは、行動候補のどれも含まない。一例では、最終対話行為が、上記で論じられたように、評価エージェント205によって選択される。特に、行動候補の組み合わせが選択され、1つまたは複数の最終対話行為の組み合わせが、選択された行動と関連づけられた対話行為に基づいて生成される。
【0188】
上記で論じられたように、第1の対話行為(DA)エージェント202、第2の対話行為(DA)エージェント203、第3の対話行為(DA)エージェント204、および評価エージェント205の各々は、訓練可能パラメータをもつ機械学習モデルを備える。
図5に示される方法は、推論フェーズに関係する。したがって、機械学習モデルのパラメータは固定される(すなわち、使用中に変化しない)。一例では、
図5に示される推論フェーズは、(以下でより詳細に論じられるように)さまざまな機械学習モデルを訓練した後で起こる。別の例では、訓練可能パラメータは記憶域から取り出され、記憶域には、訓練フェーズの後に(異なる時間に)訓練可能パラメータが記憶された。
【0189】
ステップ507では、システム応答が、ステップ506において選択された最終対話行為に基づいて生成される。一例では、最終対話行為は、自然言語生成器103を使用して自然言語システム応答に変換される。
【0190】
ステップ508では、自然言語応答が出力される。一例では、自然言語生成器103の出力はテキスト形式であり、任意選択でGoogle(登録商標)ウェブ発話APIを使用して、テキストから発話に変換される。その後、システム応答がスピーカを介して出力される。
【0191】
上記の例では、第1の対話行為(DA)エージェント202、第2の対話行為(DA)エージェント203、第3の対話行為(DA)エージェント204、および評価エージェント205の機械学習モデルは、あらかじめ訓練される。すなわち、機械学習モデルの訓練可能パラメータは、訓練フェーズ中に(任意選択で異なる時間に)取得され、推論のために機械学習モデルによって使用される。多次元行動選択構成要素の訓練可能パラメータを訓練することは、次に詳細に論じられる
第1の対話行為(DA)エージェント202、第2の対話行為(DA)エージェント203、第3の対話行為(DA)エージェント204、および評価エージェント(EA)205の各々は、強化学習を使用して訓練される。
【0192】
手短に言えば、強化学習(RL)は、エージェントが最適化プロセスとして逐次的意志決定について推理することを可能にするフレームワークである。問題は、状態Sおよびエージェント行動のセットAを用いてマルコフ決定プロセス(MDP)として公式化される。基本的な強化学習(RL)エージェントは、不連続な時間ステップでその環境と相互作用する。各時間tでは、エージェントは、現在の状態stと、報酬rtとを受け取る。次いで、ポリシーは、利用可能な行動のセットから、行動atを選び、行動atは、環境に送られる。環境は、新しい状態st+1に移動し、transition(st,at,st+1)と関連づけられた報酬rt+1が決定される。強化学習(RL)エージェントの目標は、予想累積報酬を最大にする、ポリシーπ:A×S→[0,1],π(a,s)=Pr(at=a|st=s)を学習することである。強化学習のより詳細な議論は、参照により本明細書に組み込まれる「Richard S Sutton and Andrew G Barto、Reinforcement learning: An introduction、MIT press、2018年」に提供されている。
【0193】
上記で論じられたように、対話行為(DA)エージェントの各々および評価エージェントは、線形層を備える。一例では、線形層は、(人工)ニューロンの単一層であり、入力の線形結合に基づいて出力を生成するように構成される。線形層は、状態S(すなわち、機械学習モデルへの入力)から始まり、現在のポリシーπに続き、行動aを取るときの、各行動に対する、予想リターン(すなわち、累積報酬)の標識を生成するように構成される。
【0194】
対話行為(DA)エージェントに対して、状態Sは、システムの対話状態(すなわち、対話状態追跡構成要素101によって維持される対話状態)に対応し、行動は、特定の次元(すなわち、機械学習モデルが行動候補を提供するように構成される次元)のための行動セット内の行動候補である。さらなる例では、状態S(すなわち、機械学習モデルへの入力)は、対話状態追跡構成要素101によって維持されるフル対話状態から抽出された特徴のセットである。
【0195】
評価エージェントの場合、状態Sは、対話行為(DA)エージェントによって選択された行動候補に対応し、行動は、行動候補の組み合わせである。
【0196】
線形層は、行動値関数のための値を生成するように構成される。言い換えれば、線形層は、入力状態に基づいて、行動セット内の各行動と関連づけられた予想リターン(すなわち、累積報酬)を生成するように構成される。
【0197】
したがって、線形層の出力は、行動セット内の各行動に対して、その行動を取るための予想リターン(すなわち、累積報酬)を示す値を備える。たとえば、「タスク」次元と関連づけられた、第1の対話行為(DA)エージェント202内の線形層の場合、線形層の出力は、「OFFER」行動、「ANSWER」行動、「REQUEST」行動、「NONE」行動の各々に関する行動値関数の値(すなわち、行動を取ることと関連づけられる予想リターン/累積報酬)を備える。
【0198】
上記で論じられたように、対話行為(DA)エージェントの各々および評価エージェント(EA)は、温度ハイパーパラメータによって制御される変換層(またはソフトマックス層)も備える。一例では、行動候補は、少なくとも(任意選択で、行動値をマスクした後で)変換された行動値を正規化することによって生成される確率分布をサンプリングすることによって生成され、確率分布は、行動セット内の各行動が長期累積報酬を最大化する可能性を示す。
【0199】
強化学習では、活用と探索との間にトレードオフがある(すなわち、機械学習モデルが、したことを引き続きするかどうか、または機械学習モデルが、状態で新しい行動を試行し、それによって、状態-行動空間を探索するかどうか)。一例では、対話行為(DA)エージェントおよび評価エージェントの機械学習モデルは、ボルツマン探索を使用する。
【0200】
ボルツマン探索では、行動は、行動値関数の推定値に適用されるソフトマックス分布からサンプリングされる。上記で論じられた様に、変換層は、温度ハイパーパラメータによって制御される。高温は、訓練の初期ステージ中に使用され、行動(次元と関連づけられる可能な行動のセットからの)をよりランダムに選択させる。ところが、訓練の後期ステージ中では、より低い温度が使用され、推定値をより密接にたどらせる(すなわち、より高い確率をもつ高値行動を選ばせる)。一例では、温度ハイパーパラメータは、線形的に低下し、(強化学習機械学習モデルの)ポリシーが最も高い予想リターンをもつ(すなわち、最も高い推定累積報酬と関連づけられた)行動のみを選択するまで探索のレベルを徐々に減少させる。
【0201】
図6は、一例による多次元アクション選択構成要素を訓練する方法を示す。
【0202】
一例では、機械学習モデルの訓練可能な重み(具体的には、各対話行為(DA)エージェントおよび評価エージェントのための線形層の重み)は、任意選択でランダムな値を用いて初期化される。
【0203】
ステップ601では、対話が開始される。一例では、対話は、システムと、模擬ユーザとの間で開始される。模擬ユーザは、目標に基づいて発声および/または対話行為を生成するように構成される。
【0204】
一例では、ステップ601において対話を開始することは、ドメインオントロジーからユーザ目標をランダムに初期化することと、模擬ユーザにユーザ目標を提供することとを備える。たとえば、レストラン検索ドメインでは、ユーザ目標は、安いイタリアンレストランを見つけ、その電話番号を得ることであってよい。一般に、ユーザ目標は、制約(たとえば、スロット-値ペア)と、要求(たとえば、値を得るスロット)とを備える。
【0205】
一例では、模擬ユーザは、参照により本明細書に組み込まれる「Jost Schatzmann, Blaise Thomson、Karl Weilhammer、Hui Ye、Steve Young、Human Language Technologies 2007: The Conference of the North American Chapter of the Association for Computational Linguistics: Companion Volume, Short Papers内の「Agenda-Based User Simulation for Bootstrapping a POMDP Dialogue System」、Rochester、New York、2007年4月、ページ149~152、Association for Computational Linguistics」において説明される、アジェンダベースのユーザシミュレータを使用して実施される。
【0206】
ステップ602では、発声は、模擬ユーザによって生成され、生成された発声は、訓練されている対話システムに提供される(すなわち、
図1に関連して論じられる対話システムは、対話状態追跡構成要素101と、行動選択構成要素102(訓練されている多次元行動選択構成要素を使用して実施される)と、自然言語生成器103とを備える)。
【0207】
ステップ603では、対話状態は、模擬ユーザから発声を受け取ることに応答して(たとえば、対話状態追跡構成要素101によって)更新される。
【0208】
一例では、対話行為は、模擬ユーザによって生成され、シミュレートされた対話行為は、ユーザ発声を生成するために取り出しベースの自然言語生成器に渡され、次いで、対話状態を更新するために行動状態更新モデル(ASU)に渡される。
【0209】
ステップ604では、システム応答が生成される。上記で論じられたように、各対話行為(DA)エージェントは、対話状態を識別する情報(たとえば、完全な対話状態から抽出された特徴セット)を取得し、現在の状態から始まるとき行動セット内の行動の各々を取ることと関連づけられた予想リターン(すなわち、累積報酬)を推定する。予想リターンは、行動値関数を使用して推定される。行動値関数は、行動値関数の出力(すなわち、累積報酬)が入力特徴セットの線形結合に従って生成される線形層(たとえば、人工ニューラルネットワーク)を使用して実施される。線形結合は訓練可能な重みに基づき、第1の訓練反復の場合、初期化された重みである。任意選択で、行動候補と関連づけられた推定累積報酬が、将来の使用のために記憶される。
【0210】
各対話行為エージェントは、行動候補を生成し、評価エージェントは、行動候補の組み合わせを生成する。行動候補の組み合わせを生成した後、評価エージェントは、上記で論じられたように行動候補の組み合わせにおいて各行動と関連づけられた対話行為を組み合わせることによって、対話行為の組み合わせを生成する。
【0211】
第1の例では、ステップ604においてシステム応答を生成することは、発声を生成することを備える。この場合、行動候補の組み合わせと関連づけられた対話行為の組み合わせは、その後、自然言語発声を生成する自然言語生成器(たとえば、自然言語生成器103)に提供される。一例では、システム応答を生成することは、
図5に関連して論じられるステップ503~508を行うことを備える。
【0212】
ステップ605では、ステップ604において生成されるシステム応答が、模擬ユーザに提供される。
【0213】
ステップ606では、報酬信号が計算され、状態sから始まり、行動a(たとえば、行動セットから行動候補を選択すること)を行うときに生成される報酬が、任意選択で記憶域内に、記憶される。この報酬値は、その後、対話のための累積報酬を決定するために使用される。
【0214】
報酬信号は、システムの各ターンの後で(すなわち、システムが模擬ユーザに応答して発声を生成するたびにその後で)計算される。強化学習では一般的であるように、生成された報酬は、機械学習モデルを訓練するために(すなわち、機械学習モデルのある挙動を促進/阻止するために)使用される。
【0215】
一例では、報酬信号は、2つの構成要素、すなわち、模擬ユーザによって生成される報酬と、内部で生成される報酬とを備える。
【0216】
一例では、模擬ユーザは、タスク完了時に+100の報酬を与える。レストラン検索ドメインでは、これは、対話システムが、ユーザの好み(ステップ601において模擬ユーザに提供されるユーザ目標において指定される)に合致するレストランを推薦し、このレストランについてのすべての要求された情報を提供したときである。
【0217】
さらに、ユーザは、システムが感謝行動に応答するのに失敗したとき、罰を発行する、または求められなかったとき、社会的行為を挿入する(発生のたびに-5)。これは、システムに基本的な反応性社会的挙動を強制的に学習させるためである。さらなる例では、より洗練された社会的パターンが、報酬信号の設計を通じて促進されてよい。
【0218】
報酬信号の第2の構成要素は、内部的に生成される報酬である。内部では、-1の罰が、(より短い対話を促進するために)各ターンに適用され、-25の罰は、「処理問題」が遭遇され、このことをシステムがフィードバック行為でユーザに知らせないときに適用される。処理問題は、発話認識または自然言語理解が失敗した、すなわち、結果を返さないとき、対話状態に記録される。訓練中、そのような処理問題は、ユーザターンの5%でランダムにシミュレートされ、元の模擬ユーザ行為は破棄される。
【0219】
各ターン(すなわち、状態sの行動aを選択するとき)における報酬信号は、ユーザにより生成された報酬と内部報酬を合計することによって計算される。
【0220】
ステップ607では、対話が終了したかどうかが決定される。強化学習用語では、対話は、エピソード(すなわち、終点状態で終わる、状態、行動、および報酬のシーケンス)を表す。一例では、対話は、模擬ユーザが「さようなら」を言い、システムが「returnGoodbye」対話行為で応答したとき、終了される。一例では、模擬ユーザは、目標が完了したときに「さようなら」を言うように構成される。任意選択で、システムに最初に感謝した後である。
【0221】
別の例では、対話は、ユーザが「ハングアップ」したとき、終了される。多次元行動選択構成要素が、電話ベースのアプリケーションを使用して訓練される場合、ユーザは、通話を終えることによって(すなわち、ユーザからシステムへの通信リンクを切断するとき)「ハングアップ」する。代替的に、多次元行動選択構成要素がソフトウェアシステム内で訓練される場合、ユーザは、ユーザインターフェース上のボタンをクリックするまたはタイプされたコマンド(たとえば、「<hangup>」)をインターフェースに入力することによって、「ハングアップ」する。
【0222】
対話が終了した場合、方法はステップ608に進む。ステップ608では、多次元行動選択構成要素の学習可能な重みが訓練される。
【0223】
線形層(行動値関数を実施する)の重みは、対話全体を通じて受け取られる報酬信号に基づいて、あらゆる対話/エピソードの後で更新される。ポリシー(各機械学習モデルの)は、共有報酬を通じて間接的にのみ行動を協調させる、すなわち、各ポリシーは、他のポリシーとの直接的な通信なしに独立して動作する。言い換えれば、対話行為(DA)エージェントの各々および評価エージェント(EA)は、共通報酬信号に基づいて、個々に訓練される。
【0224】
一例では、対話行為(DA)エージェントと評価エージェント(EA)は、線形値関数近似とともにモンテカルロ制御強化学習を使用して同時に訓練される。モンテカルロ制御強化学習は、参照により本明細書に組み込まれる「Richard S Sutton and Andrew G Barto、Reinforcement Learning: An introduction、the MIT Press、第2版、2018年」に記載されている。
【0225】
手短に言えば、モンテカルロ制御強化学習は、モンテカルロ法を使用する(すなわち、繰り返されるランダムサンプリングを使用して、数値推定値を取得する)。モンテカルロ制御強化学習では、エピソードに出現する各状態行動ペア(s,a)に対して、リターン(すなわち、累積報酬)が計算される。この状態行動のための累積報酬は、同じ状態行動ペアのための累積報酬のリストに加えられる(すなわち、エピソードが同じ状態行動ペアを2回生成する場合、累積報酬の2つの値を備えるリストがある)。次いで、状態sの行動aを取ることと関連づけられた「真の」累積報酬を取得するために、累積報酬が平均化される。
【0226】
上記で論じられたように、ステップ606では、計算および記憶されるのは、報酬信号の瞬時値のみである。その結果、ステップ608の間、累積報酬は、対話(自然言語処理用語では)、または同等にこの例では、エピソード(強化学習用語では)が終わると、各状態-行動ペアに対して生成される。
【0227】
これを行うために、シーケンス内でそれぞれの状態行動ペアとおよび終点状態との間で受け取られた報酬の合計が計算される。任意選択で、割り引かれた報酬式が、割引係数が累積報酬の値に対する将来報酬の影響を減少させるために(たとえば、無限累積報酬を防止するために)適用される場合に使用される。
【0228】
次いで、報酬信号に基づく状態行動ペアのための累積報酬が、対話行為(DA)エージェントおよび評価エージェント(EA)の訓練可能パラメータを更新するために使用される。
【0229】
わかりやすくするために、2つの用語を規定する。「真の」累積報酬とは、模擬ユーザとの対話/エピソード中に取得される累積報酬である。「推定」累積報酬とは、線形層によって実施される行動-値関数によって推定される累積報酬である。
【0230】
上記で論じられたように、機械学習モデル(具体的には、線形層)は、所与の状態から所与の行動を行うための累積報酬の推定値を生成するように構成される。一例では、一次関数(訓練可能な重みによって指定される)は、入力状態ならば各行動に対する行動値を生成するために使用される。
【0231】
「真の」累積リターンを計算した後、損失値(すなわち、「真の」累積報酬と「推定」累積報酬との差)を取得することが可能である。次いで、損失は、機械学習モデルの訓練可能パラメータ(具体的には、線形層の重み)を更新するために使用される。
【0232】
一例では、各対話行為(DA)エージェントおよび評価エージェント(EA)の機械学習モデルを訓練することは、「真の」累積報酬と「推定」累積報酬との間の平均二乗誤差を最小化することを備える。この例では、平均二乗誤差はステップ608において計算され、機械学習モデル(具体的には、線形層)の訓練可能な重みは、確率的な勾配降下を使用して更新される。
【0233】
図2に示される例を考え、
図2は、訓練フェーズ中の対話を表すと仮定する。この例では、第1の対話行為(DA)エージェント202(「タスク」次元と関連づけられた)によって生成される行動は、「OFFER」である。第2の対話行為(DA)エージェント203(「自動フィードバック」次元と関連づけられた)によって生成される行動は、「IMPL-CONFIRM」である。第3の対話行為(DA)エージェント204(「社会的責任管理(SOM)」次元と関連づけられた)によって生成される行動は、「ACCEPT_THANKING」である。評価エージェント205によって生成される行動の組み合わせは、「OFFER」+「IMPL-CONFIRM」である。
【0234】
訓練中、「真の」累積報酬が、1)瞬時報酬(「OFFER」+「IMPL-CONFIRM」に応答して模擬ユーザによって生成される)と、2)対話の終点まで対話内の他の発声のために受け取られるその後の瞬時報酬に基づいて生成される。
【0235】
対話行為(DA)エージェントの各々および評価エージェント(EA)は、共通報酬信号に基づいて別個に訓練される(すなわち、エージェントの各々は、同じ「真の」累積報酬を使用して訓練される)。
【0236】
第1の対話行為(DA)エージェント202について考える。第1の対話行為(DA)エージェント202の機械学習モデル(具体的には、線形層)は、線形層の訓練可能な重みに従って入力状態(たとえば、フル対話状態から抽出された特徴)ならば、「OFFER」行動のための累積報酬を推定した。機械学習モデルの重み(「推定」累積報酬を生成するので、「推定」行動値関数を表す)が、その後、入力状態ならば「OFFER」行動のために計算された以前に生成された「推定」累積報酬と上記で計算された「真の」累積報酬との差に従って訓練される。
【0237】
第3の対話行為(DA)エージェント204について考える。第3の対話行為(DA)エージェント204の機械学習モデル(具体的には、線形層)は、一次関数の訓練可能な重みに従って入力状態(たとえば、フル対話状態から抽出された特徴)に基づいて、「ACCEPT_THANKING」行動のための累積報酬を推定した。
【0238】
第3の対話行為(DA)エージェント204の観点から、対話行為(DA)エージェントは、上記で計算された「真の」累積報酬は「ACCEPT_THANKING」行動のために生成されたと「思う」(すなわち、評価エージェント205が「ACCEPT_THANKING」行動を選択しなかったことに気づかない)。その結果、第3の対話行為(DA)エージェント内の機械学習モデルの重み(「社会的責任管理(SOM)」次元のための「近似」行動値関数を表す)は、その後、「真の」累積報酬と「ACCEPT_THANKING」行動のために推定される「推定」累積報酬との差に基づいて訓練される。
【0239】
評価エージェント(EA)205について考える。評価エージェント(EA)205は、対話行為(DA)エージェントのいずれかと異なる状態を有する(各々が、特徴の異なるセットを入力として有するが、すべて、上記で論じられたように共通のフル対話状態表現から導き出されることがある)。特に、評価エージェント(EA)205のための状態は、さまざまな対話行為(DA)エージェント(たとえば、第1の対話行為(DA)エージェント202、第2の対話行為(DA)エージェント203、および第3の対話行為(DA)エージェント204)によって出力される行動候補に基づく。
【0240】
したがって、評価エージェント(EA)の機械学習モデルは、状態{「OFFER」・「IMPL-CONFIRM」・「ACCEPT_THANKING」}および行動{「OFFER」+「IMPL-CONFIRM」}のための「推定」累積報酬を生成するように構成される。行動の組み合わせ(すなわち、「OFFER」+「IMPL-CONFIRM」)が、その後、上記で論じられた対話行為の組み合わせを生成するために使用され、次いで、報酬を生成するために使用されることが留意される。上記で生成された、この「推定」累積報酬と「真の」累積報酬との差は、評価エージェント(EA)205内の行動値関数を近似する一次関数の学習可能重みを訓練するために使用される。
【0241】
上記を要約すると、この例では、上記で生成された「真の」累積報酬は、以下の(状態,行動)ペア、すなわち、(対話状態を識別する情報_1,「OFFER」)-第1の対話行為(DA)エージェント202の場合、(対話状態を識別する情報_2,「IMPL-CONFIRM」)-第2の対話行為(DA)エージェント203の場合、(対話状態を識別する情報_3,「ACCEPT_THANKING」)-第3の対話行為(DA)エージェント204の場合、および(「OFFER」・「IMPL-CONFIRM」・「ACCEPT_THANKING」,「OFFER+IMPL-CONFIRM」)-評価エージェント205の場合、と関連づけられる。
【0242】
上記で論じられたように、対話状態を識別する情報は、一例では、ラベル1、2、および3によって示されるように、共通(すなわち、同じ)フル対話状態表現から抽出された特徴の異なるセットであってよい。
【0243】
重み更新は、対話行為(DA)エージェントの各々および評価エージェント(EA)によって生成される、(共通)「真の」累積報酬と「推定」累積報酬との差に基づいて、機械学習モデル内の、各対話行為(DA)エージェントおよび評価エージェント(EA)の各重みに対して生成される。上記で論じられたように、各線形層の重みは、「真の」累積報酬と「推定」累積報酬との間の平均二乗誤差を最小にするように更新される。任意選択で、各重みに対する、各線形層の重み更新は、確率的な勾配降下を使用して計算される。
【0244】
ステップ608では、対話行為(DA)エージェントおよび評価エージェント(EA)の各々における各線形層の重みは、計算された重み更新に従って更新される。次いで、方法は、ステップ609に進む。
【0245】
ステップ609では、温度ハイパーパラメータが制御される。上記で論じられたように、一例では、各変換層(たとえば、第1の対話行為(DA)エージェント202の変換層、第2の対話行為(DA)エージェント203の変換層、第3の対話行為(DA)エージェント204の変換層、および評価エージェント(EA)205の変換層)の温度ハイパーパラメータは、線形的に減衰し、対話(または同等に、強化学習用語ではエピソード)が増加するにつれて探索のレベルの数を徐々に減少させる。
【0246】
一例では、重みは、所与の決定された誤差から生じる重みに対する変化の量を制御する学習率ハイパーパラメータに基づいて、(ステップ608において)更新される。この場合、ステップ609は、対話の数が増加するにつれて学習率ハイパーパラメータの値を徐々に減少させることも備える。
【0247】
一例では、両方のハイパーパラメータ(すなわち、温度ハイパーパラメータおよび学習率ハイパーパラメータ)は、最小レベルに到達するように対話を訓練するたびにその後で減衰される。
【0248】
ハイパーパラメータを調整した後、方法は、ステップ610に進む。
【0249】
ステップ610では、対話を訓練する回数が、対話を訓練する最大数に等しいかどうかが決定される。本質的には、ステップ610は、訓練フェーズが完了したかどうかを決定することを備える。一例では、対話を訓練する最大数は、あらかじめ決定されている(すなわち、
図6の方法を始める前に設定される)。
【0250】
ステップ610において、対話の数が、対話を訓練する最大数に等しいことが決定された場合、訓練は、ステップ611によって示されるように、終了される/完了する。任意選択で、訓練が完了すると、各対話行為(DA)エージェントおよび評価エージェント(EA)の訓練可能な重みが、将来の使用のために記憶される。以下でさらに説明されるように、各対話行為(DA)エージェントの訓練可能な重みは、どの次元のために生成されたかという標識とともに記憶され、それによって、さまざまな次元のためのあらかじめ生成された重みが再使用される場合にモジュラーシステムが生成されることが可能になり得る。
【0251】
ステップ610において、対話の数が、対話の最大数に等しくないことが決定された場合、方法は、新しい対話が模擬ユーザと開始されるステップ601に進む。一例では、ステップ601は、対話を訓練する回数の値を増分することをさらに備える。
【0252】
上記で論じられた訓練する方法では、ステップ601(対話を開始する)、ステップ602(ユーザ発声を生成する)、およびステップ603(対話状態を更新する)は、ユーザ発声/テキストを対話システムに渡すことと、次いで、行動状態更新モデルの使用を行うこととを伴う。同様に、上記で論じられた例では、ステップ604は、発声の形でシステム応答を生成することを備える。
【0253】
別の例では、多次元行動選択構成要素は、ルールベースの状態更新モデルを使用して、対話システムにユーザ対話行為を渡す(シミュレートする)ことによって訓練される。
【0254】
この場合、ステップ601および602では、(模擬)ユーザはユーザ対話行為を生成し、ステップ603では、対話状態は、ルールベースの状態更新モデルに従って、ユーザ対話行為に基づいて更新される。一例では、模擬ユーザは対話行為を生成し、この対話行為は、意味論的誤りモデルを使用して信頼スコアをもつ対話行為仮説にされる。対話状態は、その後、手動で作られた(hand-crafted)ルールに基づいてトップ仮説を用いて更新される。
【0255】
一例では、模擬ユーザは、対話行為を入力とみなす。したがって、ステップ604においてシステム応答を生成することは、行動候補の組み合わせと関連づけられた対話行為の組み合わせを(すなわち、対話行為の組み合わせに基づいて発声を生成することなく)模擬ユーザに提供することを備える。この場合、自然言語生成器の機能は、訓練する方法の一部として必要とされない。
【0256】
直接的に(すなわち、発声を生成および/または処理することなく)対話行為を使用することは、多次元行動選択構成要素の訓練を高速化し、行動状態更新モデル、または自然言語生成器構成要素を必要としないことによって、より少ないリソースを訓練に使用することができる。
【0257】
上記で論じられた訓練する方法は模擬ユーザを使用したが、いかなる疑いも回避するために、多次元行動選択構成要素は、代わりに、物理的ユーザ(すなわち、実際の人間)との対話または人間ユーザ間の相互作用を表す情報(たとえば、データのコーパス)に基づいて訓練されてよいことが強調される。しかしながら、有利には、模擬ユーザを使用することは、訓練プロセスを高速化する。
【0258】
そのうえ、上記で論じられた訓練の方法は、強化学習に対する特定の手法(すなわち、線形値関数近似を用いたモンテカルロ制御)を使用するが、いかなる疑いも回避するために、強化学習モデルを訓練する他の強化学習手法が使用されてよいことが強調される。これらのうちのいくつかは、参照により本明細書に組み込まれる「Richard S Sutton and Andrew G Barto、Reinforcement learning:An introduction、MIT press、2018年」に説明されている。たとえば、機械学習モデルは、状態-行動-報酬-状態行動(SARSA)アルゴリズムを使用して訓練されてよい。特に、多次元行動選択構成要素は、ガウス過程状態-行動-報酬-状態行動(GP-SARSA)などの他の強化学習(RL)技法および/または深層Q学習(DQN)を使用して訓練されてよい。
【0259】
最後に、上記で論じられた訓練の方法では、特定の報酬関数(すなわち、報酬信号を生成する)が使用された。他の報酬関数も使用されてよい。
【0260】
図7は、本明細書において説明される例による、ハンドコーディングされた評価エージェントと評価エージェントとを使用して多次元システムのための対話成功率の比較を示す。
【0261】
テストは、訓練可能評価エージェント(本明細書において説明されるものなど)が(全体的なシステムの)全体的な対話ポリシー最適化プロセスに対して有し得る影響を評価するために行われた。テストは、対話ポリシーの10セットを訓練すること(すなわち、10回の訓練稼働を完了すること)を伴った。各訓練稼働は、ハンドコーディングされた評価エージェント(すなわち、第1の対話行為(DA)エージェント202、第2の対話行為(DA)エージェント203、および第3の対話行為(DA)エージェント204のポリシー)を使用するシステム内の3つのポリシーと、本明細書において説明される例による評価エージェントを使用するシステム内の4つのポリシー(すなわち、第1の対話行為(DA)エージェント202、第2の対話行為(DA)エージェント203、第3の対話行為(DA)エージェント204、および評価エージェント205のポリシー)とを訓練することを伴った。
図7は、両方のシステムのための40000の模擬訓練対話ポリシー最適化のための学習曲線を示す。各曲線は、10の訓練稼働にわたって平均化された、訓練中の過去100の対話にわたってのスライディングウィンドウ成功率を示す。
【0262】
図7から注意されるように、両方のシステムは、約95%の平均成功率の比較可能な性能レベルに収束する。しかしながら、5000から15000の間の対話では、訓練可能評価エージェントを使用するバージョン(すなわち、本明細書において説明される実施形態)の性能レベルは、かなり良い。
【0263】
3000のテスト対話にわたって十分に訓練されたポリシー(たとえば、40000の訓練対話の後)を評価した結果が、以下の表に示されており、この表は、訓練された評価エージェント(たとえば、本明細書において説明される実施形態と同様に)をもつシステムは、ハンドコーディングされた評価エージェントをもつシステムよりも良い成功率を得ることを示す。
【0264】
【0265】
訓練された評価エージェントをもつシステム(すなわち、本明細書において例示され説明されるのと同様に)は、クラウドソーシングされた人間ユーザ評価において音声対話システムの一部としてテストされた。十分に訓練されたシステム(訓練された評価エージェントを含む)のための結果が以下に示されており、主観的な部分的および全面的な完了率(%)、ならびに知覚された理解のための平均スコア(1~6)、発話認識、システム応答の適切さ、および自然さが、各対話の後に被験者が記述するように求められた質問紙から取得される。
【0266】
【0267】
上記から諒解されるように、本明細書において説明される例は、ハンドコーディングされた評価エージェントをもつシステムよりも良い性能を提供する。そのうえ、本明細書において説明される例により実施される行動選択構成要素は、たとえば、追加次元をサポートするためにより多くの対話行為(DA)エージェントを含むことにより、または多次元システム内の個々の対話行為(DA)エージェントの行動セットを拡張することによって、対話システムがより複雑になるにつれて、訓練するのがより容易であるという利点を有する。本明細書において説明される例とは対照的に、それは、ますます退屈になり、ハンドコーディングされた/ルールベースの評価エージェントをスケーリングするために対話行為分類法の増加しつつあるより深い知識を必要とする。オンライン相互作用から、システム内の対話行為(DA)エージェントと共同で、自動的に訓練可能である評価エージェント(EA)を使用することは、多次元システムを構築するための、よりスケーラブルで信頼性の高い方法を提供する。したがって、組み合わせプロセス(本明細書において説明される)を自動的に学習するための一般的な方法は、長い稼働で好ましい。
【0268】
そのうえ、ハンドコーディングされた評価エージェントが1次元/対話行為(DA)エージェントから単一の対話行為候補のみを選択する(すなわち、いくつかのハンドコーディングされた評価エージェントは、異なる次元から行動の組み合わせを選択するように構成されない)ことは一般的である。したがって、これらのハンドコーディングされた評価エージェントは、ISO24617-2アノテーション規格が提供する原則に基づいた様式で多機能発声(すなわち、複数の対話行為を伝達する発声)を生成せず、自然さと有効性の両方に関してシステム応答を制限する。反対に、本明細書において説明される実施形態は、強化学習(RL)を使用して学習されたポリシーに基づいて1つまたは複数の対話行為の組み合わせを選択する。そのうえ、本明細書において説明されるマスキング機構は、可能な組み合わせの範囲を制御するために、特に下流構成要素に対応するために使用される。
【0269】
有利には、本明細書において説明される評価エージェント(EA)は、対話相互作用から直接的に、対話行為組み合わせを選択するという戦略的で様式的な側面を学習する機会を開く。より一般的には、本明細書において説明される実施形態は、ISO24617-2規格に準拠する共同利用可能な対話システム構成要素を開発するためのアジェンダを押す助けとなり、このことは、広範囲の適用例のための対話システムの生産を合理化することができる。
【0270】
要約すると、多次元ポリシーモデルは、単一のポリシーモデルを使用することとは反対に、対話において行動選択を行うように複数のポリシー/エージェントを訓練することを容易にする。そのようなモデルは、対話行為の組み合わせの出力を容易にし、複数のエージェントは、対話のさまざまな側面を扱うように訓練される。上記で説明された例では、共通報酬信号に基づいて次の行動を決定するように複数の対話行為(DA)エージェントとともに訓練される訓練可能な評価エージェント(EA)が提供される。この選択された行動は、単一の対話行為(DA)エージェントによって決定される行動、または多次元システム内の複数の対話行為(DA)エージェントからの行動の組み合わせとすることができる。本明細書において説明される例では、評価エージェント(EA)は、手動で作られる/ハンドコーディングされるのとは反対に、訓練される。上記で提供された実験結果から分かるように、訓練可能な評価エージェント(EA)は、複雑さを減少させ、手動で作られた評価エージェントと比較したときに対話成功を改善する助けとなる。
【0271】
以前の対話システムに関する別の問題は、新しいドメインおよびアプリケーションに対するスケーラビリティである。ドメインが、新しいスロットとともに拡張される(すなわち、新しい情報が対話状態によって追跡される)と、および新しいタスク固有システム行動を必要とする新しいアプリケーションが出現すると、以前の対話システムは、一般に、スケーリングするのが貧弱である。これは、部分的には、ドメイン内のアノテーション付与されたデータセットの利用可能性の欠如によるものである。
【0272】
この問題を解決する1つの手法は、転移学習技法を使用して、ターゲットドメイン内に限られたデータをもつまたはデータの無い新しいドメインのための対話システムを効率的に開発することである。
【0273】
有利には、本明細書において提示される多次元行動選択構成要素は、転移学習に特に良く適している。特に、本明細書において提示される例による多次元行動選択構成要素は、新しいタスクおよびドメインへの対話マネージャの効率的な適合の機会を開く。
【0274】
たとえば、自動フィードバック次元および社会的責任管理(SOM)次元は、ドメインおよびタスクから独立していると考えられ、したがって、これらの次元のための対話ポリシーは転移され(以前に訓練されたモデルを形成し)、ターゲットドメイン内でゼロから訓練されることになる「タスク」次元のためのポリシーのみを残し得る。
【0275】
図8Aは、一例による、多次元行動選択構成要素を使用する転移学習の方法を示す。
【0276】
図8Aの方法は、ドメイン内での(たとえば、レストラン検索ドメイン内での)新しい使用事例に多次元行動選択構成要素を適合させることに関連して論じられる。特に、
図8Aの方法は、「タスク」エージェントの行動セットがスロット固有行動を含むように拡張される例に関連して論じられる。しかしながら、転移学習の手法が新しいドメインに(たとえば、ホテル検索ドメインからレストラン検索ドメインに)多次元行動選択構成要素を適合させるために使用されてよいことが強調される。そのうえ、以下で論じられる転移学習の手法は、システムの挙動を拡張する新しい行動を追加するとき(たとえば、レストラン検索システムをレストラン予約システムに拡張するとき)に使用されてよい。
【0277】
一例では、「タスク」エージェントの行動セットは、対話状態のスロットを要求するためのサマリー行動「REQUEST」を各スロットに対する別個の要求行動に置き換えることによって、拡張される。対話状態が食物のタイプ(TYPE)、価格範囲(PRICERANGE)、および検索する地域(AREA)のためのスロットを備える一例では、行動セットは、「REQUEST-AREA」と、「REQUEST-FOOD」と、「REQUEST-PRICERANGE」とを含むように拡張される。
【0278】
理解しやすくするため、以下の用語を定義する。ソースシナリオは、多次元行動選択構成要素の訓練可能な重みが元々生成されたシナリオ(たとえば、ドメイン内の使用事例、またはドメイン自体)である。ターゲットシナリオは、多次元行動選択構成要素が使用されている新しいシナリオ(すなわち、新しいドメインまたは新しい使用事例)である。
【0279】
ソースシナリオでは、ポリシーがREQUESTサマリー行動を選択してよく、その後、ヒューリスティクスが、どのスロットが要求されているかを決定するが、一例によるターゲットシナリオでは、対話ポリシーは、特定のスロットに対する要求行動を選択してよく、たとえば、地域スロットについてのより多くの情報を要求するために「REQUEST-AREA」行動を選択してよい。したがって、拡張された行動セットを伴うターゲットシナリオでは、システムは、ソースシナリオと同様にヒューリスティクスに依拠するのではなく、どのスロットを要求するべきかを自動的に学習する。
【0280】
上記で論じられたように、レストラン検索ドメイン内では、これは、「REQUEST」サマリー行動が、食物、地域、および価格範囲というスロットに対応する、3つのスロット固有要求行動(すなわち、「REQUEST-AREA」、「REQUEST-FOOD」、「REQUEST-PRICERANGE」)によって置き換えられることを意味する。
【0281】
上記で論じられた表で概説された元の行動セットに戻ると、「タスク」エージェントの行動セットは、したがって、4つの行動(OFFER、REQUEST、ANSWER、NONE)から6つの行動(OFFER、REQUEST-FOOD、REQUEST-AREA、REQUEST-PRICERANGE、ANSWER、NONE)に増え、評価エージェント(EA)のためのセット入力特徴も、「タスク」エージェントの新しい行動セットを包含するように拡張される。
【0282】
したがって、「タスク」エージェントと評価エージェント(EA)の両方は、特に、「タスク」次元において利用可能な新しい行動を説明するために、ターゲットシナリオのために再訓練されなければならない。
【0283】
ステップ801では、多次元行動選択構成要素が生成される。このステップは、ソフトウェア内で多次元行動選択構成要素を開始することを含んでよい。
【0284】
ステップ802では、対話行為(DA)エージェントの訓練可能な重みが取得される。一例では、対話行為(DA)エージェントは、ソースシナリオ固有でない次元と関連づけられる(たとえば、次元は、ドメインから独立している)。上記で論じられたように、ドメイン非依存次元は、「自動フィードバック」次元と、「社会的責任管理(SOM)」次元とを含んでよい。任意選択で、これらのエージェントの訓練可能な重みは、機械学習モデルがソースシナリオのために訓練されたとき、記憶域から取り出される。
【0285】
別の例では、対話行為(DA)エージェントのためのあらかじめ訓練される重みを取得することは、ソースシナリオのための多次元システムを(たとえば、
図6に従って)訓練することを備える。この場合、「タスク」対話行為(DA)エージェントは、スロットを要求するためにサマリー行動(すなわち、「REQUEST」)を使用する。これは、3つの会話次元プラス評価エージェントに対応する、4つの訓練されたポリシーを生じさせる。これらのうち、「自動フィードバック」および「SOM」のためのドメイン非依存対話ポリシーは、その後、ターゲットシナリオに再使用される。
【0286】
ステップ803では、多次元行動選択構成要素が、ターゲットシナリオのために訓練される。この場合、タスクエージェントは、拡張行動セット(「REQUEST-AREA」、「REQUEST-FOOD」、「REQUEST-PRICERANGE」を備える)を使用する。システムが「タスク」次元において拡張行動セットを使用するように、ドメイン/使用事例非依存次元のための対話ポリシーは再使用され、多次元行動選択構成要素は(たとえば、
図6に従って)再訓練される。
【0287】
このようにしてポリシーを再使用することによって、多次元行動選択構成要素は、訓練スピードを増加させる(すなわち、より少ない数の訓練対話においてより高い変換成功率を取得する)ことができることが観察されている。
【0288】
図8Bは、第2の例による、多次元行動選択構成要素を使用する転移学習の方法を示す。ステップ850は、ソースシナリオのために多次元行動選択構成要素を訓練することを備える。ステップ851は、ターゲットシナリオに転移可能な訓練されたポリシーを記憶することを備える。ステップ852は、ターゲットシナリオのために多次元行動選択構成要素を訓練し、再使用し、あらかじめ訓練された転移可能なポリシーを適合させることを備える。
【0289】
図9は、実施形態による方法を実施するために使用可能であるハードウェアの概略図を示す。このハードウェアは、コンピューティングシステム900を備える。この特定の例では、システムの構成要素は、併せて説明される。しかしながら、構成要素は必ずしも共同設置されるとは限らないことが理解されるであろう。
【0290】
コンピューティングシステム900の構成要素は、限定するものではないが、処理ユニット913(他の場合には「プロセッサ」と呼ばれる中央処理ユニットすなわちCPUなど)と、システムメモリ901と、システムメモリ901を含むさまざまなシステム構成要素を処理ユニット913に結合するシステムバス911とを含む。システムバス911は、メモリバスまたはメモリコントローラと、周辺バスと、さまざまなバスアーキテクチャのいずれかを使用するローカルバスなどを含む、いくつかのタイプのバス構造のいずれかであってよい。コンピューティングシステム900は、システムバス911に接続されたメモリ915も備えてよい。メモリ915は、外部メモリであってよい。
【0291】
システムメモリ901は、読み出し専用メモリ(ROM)などの揮発性/または不揮発性メモリの形をしたコンピュータ記憶媒体を備える。システムメモリ901は、処理ユニット913(たとえば、プロセッサ)によって実行されるとき、処理ユニット913(「プロセッサ」とも呼ばれる)に本明細書において説明される機能を実施させる、特に、
図1に関連して論じられたシステム、
図2に関連して説明された多次元行動選択構成要素、
図5の方法(推論)、
図6の方法(訓練)、および/または
図8Aもしくは
図8Bの方法(転移学習)、のうちの少なくとも1つを実施させるコンピュータ可読命令を記憶する。
【0292】
システムメモリ901は、オペレーティングシステム905と、アプリケーションプログラム907と、処理ユニット913によって使用中であるプログラムデータ909も備えてよい。一実施形態では、システムメモリ901は、典型的にはスタートアップ中にシステムメモリ901内に記憶されるなど、コンピュータ内の要素間で情報を転移させる助けとなるルーチンを含む基本入出力システム(BIOS)903も備える。
【0293】
コンピューティングシステムは、システムバス911に通信可能に接続されるインターフェース925をさらに備える。一実施形態では、インターフェース925は、具体的には他のデバイスから情報を受信し、他のデバイスに情報を送信するために、ワイヤード接続および/またはワイヤレス接続を介して通信する機能を備える。追加的にまたは代替的に、インターフェース925は、ユーザ入力(たとえば、発声)を受信するためのオーディオ入力(たとえば、マイクロホン)と、ユーザにシステム応答を提供するためのオーディオ出力(たとえば、スピーカ)とを備える。追加的にまた代替的に、インターフェース925は、テキストデータを生成するように構成されたデバイス(たとえば、キーボード)からテキスト入力データを受信するための手段を備える。別の実施形態では、インターフェース925は、たとえば、コマンドおよび/または質問を生成し、応答を受け取ることによって、ユーザがシステムと相互作用することを可能にするさまざまな形をしたユーザインターフェースであってよい。
【0294】
図9の例では、ビデオインターフェース917が提供される。ビデオインターフェース917は、グラフィックス処理メモリ921に通信可能に接続されるグラフィックス処理ユニット(GPU)919を備える。
【0295】
グラフィックス処理ユニット(GPU)919は、データ並列演算へのその適合により、ニューラルネットワーク訓練などの機械学習モデルの訓練に特に良く適している。したがって、一実施形態では、機械学習モデルを訓練するための処理は、CPU913とGPU919との間で分割されることがある。
【0296】
いくつかの実施形態では、異なるハードウェアが、機械学習モデルを訓練するため、および状態更新を行うために使用されてよいことが留意されるべきである。たとえば、機械学習モデルの訓練は、1つまたは複数のローカルデスクトップまたはワークステーションコンピュータ上で行われてもよいし、クラウドコンピューティングシステムのデバイス上で行われてもよく、これらは、1つまたは複数のディスクリートデスクトップまたはワークステーションGPU、1つまたは複数のディスクリートデスクトップまたはワークステーションCPU、たとえば、PC指向アーキテクチャと、かなりの量の揮発性システムメモリ、たとえば16GB以上とを有するプロセッサを含んでよい。たとえば、対話の遂行は、システムオンチップ(SoC)の一部としてモバイルGPUを含んでもよいしGPUを含まなくてもよいモバイルハードウェアまたは組み込みハードウェアを使用してもよいし、1つまたは複数のモバイルCPUまたは組み込みCPU、たとえば、モバイル指向アーキテクチャ、またはマイクロコントローラ指向アーキテクチャと、より少ない量の揮発性メモリ、たとえば、1GB未満とを有するプロセッサを使用してもよい。たとえば、対話を行うハードウェアは、スマートスピーカ、または仮想アシスタントを含む携帯電話などの、音声支援システム120であってよい。
【0297】
対話行為(DA)エージェントおよび評価エージェントの機械学習モデルを訓練するために使用されるハードウェアは、著しく大きい演算能力を有することがあり、たとえば、エージェントを使用してタスクを行うために使用されるハードウェアよりも多くの演算を1秒当たり行うことが可能であり、より多いメモリを有してよい。
【0298】
コンピューティングシステム900は、仮想アシスタントを備える携帯電話、スマートスピーカ、組み込みデバイス、デスクトップコンピュータ、ラップトップコンピュータ、またはサーバの一部として実現されてよい。
【0299】
図9は、本明細書において説明される方法を実施するために使用可能であるハードウェアの具体的な例を示しているが、これは一例にすぎず、他の配置も使用されてよいことが理解されるであろう。
【0300】
いくつかの配置が説明されてきたが、配置は、例として提示されているにすぎず、保護の範囲を限定することを意図したものではない。本明細書において説明される本発明の概念は、さまざまな他の形で実施されてよい。さらに、本明細書において説明される特定の実装形態に対するさまざまな省略、置き換え、変更は、以下の特許請求の範囲において規定される保護の範囲から逸脱することなく、なされてよい。