(57)【要約】  ユーザとコンピュータとの間の対話に対する応答を生成するシステム及び対応する方法が提供される。当該システムは、対話履歴についての情報と知識ベースとを格納するメモリを含む。エンコーダは、ユーザから新しい発話を受信し、メモリ内の知識ベース情報をフィルタリングするために使用されるグローバルメモリポインタを生成してよい。デコーダは、少なくとも１つのローカルメモリポインタと、新しい発話に対するスケッチ応答と、を生成してよい。スケッチ応答は、メモリからの知識ベース情報により置き換えられるべき少なくとも１つのスケッチタグを含む。当該システムは、フィルタリングされた知識ベース情報から、スケッチ応答の中の少なくとも１つのスケッチタグを置き換えるべき単語を選択するために、ローカルメモリポインタを用いて対話コンピュータ応答を生成する。
2022500726.tif 000002
【特許請求の範囲】
【請求項１】
ユーザとコンピュータとの間の対話に対する応答を生成する方法であって、前記方法は、
対話履歴と知識ベースとをメモリに格納するステップであって、前記対話履歴は、前記対話の間に交換されるユーザの発話とコンピュータの応答とのシーケンスについての情報を含み、前記知識ベースは、対話コンピュータ応答で使用可能な情報を含む、ステップと、
前記コンピュータにおいて、前記ユーザから新しい発話を受信するステップと、
前記新しい発話に基づき、グローバルメモリポインタを生成するステップと、
前記新しい発話に対するスケッチ応答を生成するステップであって、前記スケッチ応答は、前記メモリからの知識ベース情報により置き換えられるべき少なくとも１つのスケッチタグを含む、ステップと、
前記グローバルメモリポインタを用いて、前記メモリ内の前記知識ベース情報をフィルタリングするステップと、
少なくとも１つのローカルメモリポインタを生成するステップと、
前記のフィルタリングされた知識ベース情報から、前記スケッチ応答の中の前記少なくとも１つのスケッチタグを置き換えるべき単語を選択するために、前記ローカルメモリポインタを用いて前記対話コンピュータ応答を生成するステップと、
を含む方法。
【請求項２】
前記対話履歴は、対話履歴情報の埋め込みマトリックスのセットを含む、請求項１に記載の方法。
【請求項３】
前記知識ベースは、前記知識ベース情報の埋め込みマトリックスのセットを含む、請求項１又は２に記載の方法。
【請求項４】
前記グローバルメモリポインタを生成するステップは、
前記新しい発話を符号化して、１つ以上の隠れ状態を生成するステップと、
前記１つ以上の隠れ状態を用いて、前記メモリ内の前記知識ベース情報をクエリするステップと、
を含む、請求項１〜３のいずれか一項に記載の方法。
【請求項５】
前記グローバルメモリポインタは、複数の要素を有するベクトルを含み、各要素は独立した確率に関連付けられる、請求項１〜４のいずれか一項に記載の方法。
【請求項６】
前記ローカルメモリポインタは、ポインタのシーケンスを含み、各ポインタは、前記のフィルタリングされた知識ベース情報から、前記スケッチ応答の中のそれぞれのスケッチタグを置き換えるべきそれぞれの単語を選択するためのものである、請求項１〜５のいずれか一項に記載の方法。
【請求項７】
実行可能コードを有する非一時的コンピュータ可読媒体であって、前記実行可能コードは、コンピュータに関連付けられた１つ以上のプロセッサにより実行されると、前記１つ以上のプロセッサに方法を実行させるよう適応され、前記方法は、
対話履歴と知識ベースとをメモリに格納するステップであって、前記対話履歴は、対話の間に交換されるユーザの発話とコンピュータの応答とのシーケンスについての情報を含み、前記知識ベースは、対話コンピュータ応答で使用可能な情報を含む、ステップと、
前記コンピュータにおいて、前記ユーザから新しい発話を受信するステップと、
前記新しい発話に基づき、グローバルメモリポインタを生成するステップと、
前記新しい発話に対するスケッチ応答を生成するステップであって、前記スケッチ応答は、前記メモリからの知識ベース情報により置き換えられるべき少なくとも１つのスケッチタグを含む、ステップと、
前記グローバルメモリポインタを用いて、前記メモリ内の前記知識ベース情報をフィルタリングするステップと、
少なくとも１つのローカルメモリポインタを生成するステップと、
前記のフィルタリングされた知識ベース情報から、前記スケッチ応答の中の前記少なくとも１つのスケッチタグを置き換えるべき単語を選択するために、前記ローカルメモリポインタを用いて前記対話コンピュータ応答を生成するステップと、
を含む、非一時的コンピュータ可読媒体。
【請求項８】
前記対話履歴は、対話履歴情報の埋め込みマトリックスのセットを含む、請求項７に記載の非一時的コンピュータ可読媒体。
【請求項９】
前記知識ベースは、前記知識ベース情報の埋め込みマトリックスのセットを含む、請求項７又は８に記載の非一時的コンピュータ可読媒体。
【請求項１０】
前記グローバルメモリポインタを生成するステップは、
前記新しい発話を符号化して、１つ以上の隠れ状態を生成するステップと、
前記１つ以上の隠れ状態を用いて、前記メモリ内の前記知識ベース情報をクエリするステップと、
を含む、請求項７〜９のいずれか一項に記載の非一時的コンピュータ可読媒体。
【請求項１１】
前記グローバルメモリポインタは、複数の要素を有するベクトルを含み、各要素は独立した確率に関連付けられる、請求項７〜１０のいずれか一項に記載の非一時的コンピュータ可読媒体。
【請求項１２】
前記ローカルメモリポインタは、ポインタのシーケンスを含み、各ポインタは、前記のフィルタリングされた知識ベース情報から、前記スケッチ応答の中のそれぞれのスケッチタグを置き換えるべきそれぞれの単語を選択するためのものである、請求項７〜１１のいずれか一項に記載の非一時的コンピュータ可読媒体。
【請求項１３】
ユーザとコンピュータとの間の対話に対する応答を生成するシステムであって、前記システムは、
対話履歴と知識ベースとを格納するメモリであって、前記対話履歴は、前記対話の間に交換されるユーザの発話とコンピュータの応答とのシーケンスについての情報を含み、前記知識ベースは、対話コンピュータ応答で使用可能な情報を含む、メモリと、
前記ユーザから新しい発話を受信し、前記新しい発話に基づき、グローバルメモリポインタを生成するエンコーダであって、前記グローバルメモリポインタは、前記メモリ内の知識ベース情報をフィルタリングするために使用される、エンコーダと、
少なくとも１つのローカルメモリポインタと、前記新しい発話に対するスケッチ応答とを生成するデコーダであって、前記スケッチ応答は、前記メモリからの知識ベース情報により置き換えられるべき少なくとも１つのスケッチタグを含む、デコーダと、
を含み、
前記システムは、前記のフィルタリングされた知識ベース情報から、前記スケッチ応答の中の前記少なくとも１つのスケッチタグを置き換えるべき単語を選択するために、前記ローカルメモリポインタを用いて前記対話コンピュータ応答を生成する、システム。
【請求項１４】
前記対話履歴は、対話履歴情報の埋め込みマトリックスのセットを含む、請求項１３に記載のシステム。
【請求項１５】
前記知識ベースは、前記知識ベース情報の埋め込みマトリックスのセットを含む、請求項１３又は１４に記載のシステム。
【請求項１６】
前記グローバルメモリポインタは、複数の要素を有するベクトルを含み、各要素は独立した確率に関連付けられる、請求項１３〜１５のいずれか一項に記載のシステム。
【請求項１７】
前記ローカルメモリポインタは、ポインタのシーケンスを含み、各ポインタは、前記のフィルタリングされた知識ベース情報から、前記スケッチ応答の中のそれぞれのスケッチタグを置き換えるべきそれぞれの単語を選択するためのものである、請求項１３〜１６のいずれか一項に記載のシステム。
【請求項１８】
前記メモリは、エンドツーエンドメモリネットワークを含む、請求項１３〜１７のいずれか一項に記載のシステム。
【請求項１９】
前記エンコーダは、コンテキスト回帰型ニューラルネットワークを含む、請求項１３〜１８のいずれか一項に記載のシステム。
【請求項２０】
前記デコーダは、スケッチ回帰型ニューラルネットワークを含む、請求項１３〜１９のいずれか一項に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願］
本願は、参照により全体がここに組み込まれる、２０１８年１９月２７日に出願した米国仮特許出願番号第６２/７３７,２３４号、及び２０１８年１０月３０日に出願した米国特許出願番号第１６/１７５,６３９号、の優先権を主張する。
【０００２】
［著作権表示］
本特許文書の開示の一部は、著作権保護を受ける内容を含む。著作権者は、特許商標庁の特許ファイル又は記録に記載されているように、本特許文書又は特許開示のいずれによる複製にも異議を唱えることがないが、それ以外の場合は全ての著作権を保留する。
【０００３】
［技術分野］
本開示は、概して、対話システムに関し、より具体的には、タスク指向型対話のためのグローバル−ローカルメモリポインタネットワークの使用に関する。
【背景技術】
【０００４】
タスク指向型対話システムは、例えばレストランの予約を行う、関心のある場所を見付ける、ナビゲーション又は運転指示により助ける、等のような特定のユーザの目標を達成するために開発されてきた。標準的に、これらの対話システムへのユーザの問い合わせは、自然言語により入力又は提供される対話の単語若しくは発話の比較的小さなセットに限られている。従来のタスク指向型対話ソリューションは、自然言語理解、対話管理、及び自然言語生成のための技術により実施され、各モジュールは特定の目的又はタスクのためにカスタマイズされ、個別に及び何からのコストをかけて設計される。
【図面の簡単な説明】
【０００５】
【図１】幾つかの実施形態によるコンピューティング装置の簡略図である。
【０００６】
【図２】幾つかの実施形態によるグローバル−ローカルメモリポインタモデル又はネットワークの簡略図である。
【０００７】
【図３】幾つかの実施形態による外部知識メモリの簡略図である。
【０００８】
【図４】幾つかの実施形態による符号化対話履歴及び知識ベースの符号化のためのエンコーダの簡略図である。
【０００９】
【図５】幾つかの実施形態によるデコーダの簡略図である。
【００１０】
【図６】幾つかの実施形態による知識ベース及び対話履歴の例示的なテーブルを示す。
【００１１】
【図７】幾つかの実施形態によるグローバル−ローカルメモリポインタモデル又はネットワークのための方法の簡略図である。
【００１２】
【図８】グローバル−ローカルメモリポインタモデル又はネットワークをベースラインと比較する例示的なテーブルを示す。
【図９】グローバル−ローカルメモリポインタモデル又はネットワークをベースラインと比較する例示的なテーブルを示す。
【００１３】
【図１０】グローバル−ローカルメモリポインタモデル又はネットワークの性能に対する貢献を示す例示的なテーブルを示す。
【００１４】
【図１１】ＳＭＤナビゲーションドメインにおけるメモリ注意（attention）の視覚化の例である。
【００１５】
【図１２】異なるホップのために選択されたハイパーパラメータを示す例示的なテーブルを示す。
【００１６】
【図１３】グローバル−ローカルメモリポインタモデル又はネットワークの妥当性及び人間らしさスコアを示す例示的なチャートを示す。
【００１７】
図中、同じ名称を有する要素は同じ又は類似する機能を有する。
【発明を実施するための形態】
【００１８】
この説明、及び態様、実施形態、実装、又は適用を示す添付の図面は、限定と考えられるべきではなく、請求の範囲が保護される発明を定める。種々の機械的、組成上の、構造上の、電気的、及び動作上の変更が、この説明及び請求の範囲の精神及び半から逸脱することなく行われてよい。幾つかの例では、よく知られた回路、構造、又は技術は、これらが当業者に知られているので、詳細に示され又は説明されない。２つ以上の図面の中の同様の番号は、同じ又は類似する要素を表す。
【００１９】
この説明では、特定の詳細が説明され、本開示と一致する幾つかの実施形態を説明する。実施形態の完全な理解を提供するために、多くの特定の詳細が説明される。しかしながら、当業者には、幾つかの実施形態がこれらの特定の詳細のうちの一部を有しないで実行されてよいことが明らかである。ここに開示される特定の実施形態は、説明的であることを意味し、限定を意味しない。当業者は、ここの具体的に説明されないが、他の要素が本開示の範囲及び精神の範囲内であることを理解し得る。更に、不要な繰り返しを避けるために、１つの実施形態に関連して示され説明される１つ以上の特徴は、特に断りの無い限り又は１つ以上の特徴が実施形態を非機能性にしない限り、他の実施形態に組み込まれてよい。
【００２０】
対話システムの開発に必要な人的労力を削減するために、及び同じドメイン間又は用途間での拡張のために、平文を入力しシステム応答を直接出力するエンドツーエンド対話システムが開発されている。しかしながら、これらのエンドツーエンド対話システムは、通常、それらが外部知識ベース（knowledge  base  (KB)）をシステム応答生成へと効率的に組み込むことができないことに苦しんでいる。この理由の１つは、大規模な動的知識ベースが、応答の生成又は出力を不安定にさせる膨大なノイズの多い入力であることである。雑談シナリオと違い、この問題は、知識ベース内の情報が通常は応答内に正しい又は適正なエンティティを含むことが期待されるので、タスク指向型対話システムでの使用では特に困難であり又は有害であり得る。例えば、自動車運転支援を実施する対話システムでは、知識ベースは、図６に示す例示的なテーブル６１０に示すような情報を含み得る。システムと相互作用するユーザの例示的な対話の中で、テーブル６２０に示すように、ユーザ／運転手は、燃料に対する要求を行い得る（例えば、「I  need  gas（ガソリンが要る）」）。テーブル６２０の知識ベースにアクセスするシステムは、「Valero」を「gas  station（ガソリンスタンド）」として識別するかも知れない。しかし、運転手からの続きの質問「What  is  the  address?（住所は？）」に応答して、システムは、複数の可能性、つまり「５８０  Van  Ness  Ave」、「３９４  Van  Ness  Ave」、「８４２  Arrowhead  Way」、「２００  Alester  Ave」等を識別するかも知れない。運転手は、システムが、友達の家（例えばTomsの家）の住所又は喫茶店（例えばCoupa）の住所又は何らかの他のランダムな場所ではなく、ガソリンスタンドの住所（例えば、Valero）を提供することを期待する。
【００２１】
この問題を解決するために、幾つかの実施形態によると、本開示は、タスク指向型対話システムにおける応答生成のためのグローバル−ローカルメモリポインタ（global  local  memory  pointer  (GLMP)）ネットワーク又はモデルを提供する。ＧＬＭＰネットワーク又はモデルは、グローバルメモリエンコーダ、ローカルメモリデコーダ、及び外部知識メモリを含む。ＧＬＭＰは、エンコーダとデコーダとの間で外部知識を共有し、エンコーダ及び外部知識を利用してグローバルメモリポインタを学習する。これは、次にデコーダへ伝えられ、外部知識を変更して、応答の中へとコピーする必要のない単語をフィルタリングする。後に、システム応答を直接生成する代わりに、ローカルメモリデコーダは、先ず、回帰型ニューラルネットワーク（recurrent  neural  network  (RNN)）を使用して、スケッチタグを有するスケッチ応答を取得する。タグを有するスケッチ応答は、対話アクションのためのテンプレートを生成するために、隠れた（latent）対話管理を学習するよう動作し又はそのように考えることができる。次にデコーダは、ローカルメモリポインタを生成して、スケッチタグを置き換えるために外部知識メモリから単語をコピーする。
【００２２】
コンピューティング装置
図１は、幾つかの実施形態によるコンピューティング装置１００の簡略図である。図１に示されるように、コンピューティング装置１００は、メモリ１２０に接続されたプロセッサ１１０を含む。コンピューティング装置１００の動作はプロセッサ１１０により制御される。そして、コンピューティング装置１００は１つのプロセッサ１１０のみを有するよう示されるが、プロセッサ１１０は、コンピューティング装置１００内の１つ以上の中央処理ユニット、マルチコアプロセッサ、マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ、ＦＰＧＡ（field  programmable  gate  array）、ＡＳＩＣ（application  specific  integrated  circuit）、ＧＰＵ（graphics  processing  unit）、ＴＰＵ（tensor  processing  unit）、等を表し得ることが理解される。コンピューティング装置１００は、スタンドアロン型サブシステムとして、コンピューティング装置に追加される基板として、及び／又は仮想機械として実装されてよい。
【００２３】
メモリ１２０は、コンピューティング装置１００、及び／又はコンピューティング装置１００の動作中に使用される１つ以上のデータ構造、により実行されるソフトウェアを格納するために使用されてよい。メモリ１２０は、１つ以上のタイプの機械可読媒体を含んでよい。機械可読媒体の幾つかの一般的形式は、フロッピーディスク、フレキシブルディスク、ハードディスク、磁気テープ、任意の他の磁気媒体、ＣＤ−ＲＯＭ、任意の他の光媒体、穴あきカード、紙テープ、穴のパターンを有する任意の他の物理的媒体、ＲＡＭ、ＰＲＯＭ、ＥＰＲＯＭ、ＦＬＡＳＨ−ＥＰＲＯＭ、任意の他のメモリチップ又はカートリッジ、及び／又はプロセッサ若しくはコンピュータが読み出すために適応される任意の他の媒体を含んでよい。
【００２４】
プロセッサ１１０及び／又はメモリ１２０は、任意の適切な物理構成で配置されてよい。幾つかの実施形態では、プロセッサ１１０及び／又はメモリ１２０は、同じ基板上に、同じパッケージ内に（例えば、システムインパッケージ）、同じチップ上に（例えば、システムオンチップ）、等で実装されてよい。幾つかの実施形態では、プロセッサ１１０及び／又はメモリ１２０は、分散され、仮想化され、及び／又はコンテナ化されたコンピューティングリソースを含んでよい。このような実施形態と一貫して、プロセッサ１１０及び／又はメモリ１２０は、１つ以上のデータセンタ及び／又はクラウドコンピューティング設備内に配置されてよい。
【００２５】
図示のように、メモリ１２０は、グローバル−ローカルメモリポインタモジュール１３０を含む。グローバル−ローカルメモリポインタモジュール１３０は、本願明細書で更に説明されるシステム、方法、及びモデルのためのタスク指向型対話における応答生成のためのグローバル−ローカルメモリポインタを実装し及び／又は生成するために使用されてよい。幾つかの例では、グローバル−ローカルメモリポインタモジュール１３０が、使用され、又は、１人以上のユーザが機械、例えばコンピュータと相互作用できる対話システムに組み込まれてよい。各対話は、ユーザと機械との間の情報、質問、クエリ、応答、の取り交わしを含んでよい。この一連の交換は、対話の履歴を構成する。所与の対話について、グローバル−ローカルメモリポインタモジュール１３０は、ユーザの発話又は会話１５０を受信し、そのための適切な応答１６０を生成する。これを達成するために、以下に詳細に説明するように、グローバル−ローカルメモリポインタモジュール１３０は、応答が生成され若しくは作り出され得る、知識ベースの中の情報又はデータのグローバルポインタ及びローカルメモリポインタの両方を生成する。グローバル−ローカルメモリポインタモジュール１３０は、１つ以上の知識ベース１５５を受信してもよい。
【００２６】
幾つかの例では、グローバル−ローカルメモリポインタモジュール１３０は、適切な前処理、符号化、復号、及び出力層を有する、単一又は複数の層のニューラルネットワークを含んでよい。ニューラルネットワークは、人間的精度で現実世界の情報を自動的に分析する技術として有望であることが実証されている。一般に、ニューラルネットワークモデルは、入力情報を受信し、入力情報に基づき予測を行う。例えば、ニューラルネットワーク分類器は、所定のクラスセットの中で、入力情報のクラスを予測してよい。一方で、現実世界の情報を分析するための他のアプローチは、ハードコードされた処理、統計的分析、等を含んでよく、ニューラルネットワークは、機械学習処理を用いて試行錯誤の処理により、次第に予測することを学習する。所与のニューラルネットワークモデルは、膨大な数のトレーニングサンプルを用いて、ニューラルネットワークモデルがトレーニング例から人間の生成し得るのと同様の推定を矛盾なく行い始めるまで、トレーニングされてよい。幾つかの例では、グローバル−ローカルメモリポインタモジュール１３０は、特に知識ベース及び現在対話の履歴を格納するメモリネットワークを含んでよい。グローバル−ローカルメモリポインタモジュール１３０はソフトウェアモジュールとして示されるが、ハードウェア、ソフトウェア、及び／又はハードウェアとソフトウェアとの組合せを用いて実装されてよい。
【００２７】
図１は上位レベル図であるが、図２〜５は、幾つかの実施形態によるグローバル−ローカルメモリポインタモデル又はネットワークの更なる詳細を示す。図７は、グローバル−ローカルメモリポインタモデル又はネットワークの対応する方法７００を示す。
【００２８】
グローバル−ローカルメモリポインタモデル
図２は、幾つかの実施形態によるタスク指向型対話システムのためのグローバル−ローカルメモリポインタモデル又はネットワーク２００の簡略図である。幾つかの実施形態では、グローバル−ローカルメモリポインタモデル又はネットワーク２００は、図１のグローバル−ローカルメモリポインタモジュール１３０を実装できる。
【００２９】
幾つかの実施形態では、図示のように、このモデルは、グローバルメモリエンコーダ２１０、ローカルメモリデコーダ２２０、及び共有外部知識メモリ２３０を含み又は有し得る。幾つかの実施形態では、エンコーダ２１０及びデコーダ２２０の一方又は両方は、１つ以上の回帰型ニューラルネットワーク（recurrent  neural  network  (RNN)）を含む。
【００３０】
グローバル−ローカルメモリポインタモデル２００は、入力として、１つ以上の知識ベース（ＫＢ）及び現在対話の情報（例えば、ユーザとシステムとの間の会話）を受信する。知識ベースは、ユーザの質問又は対話と関連する発話に対する応答を生成するために関連し得る情報又はデータを含む。この情報は、例えば、人々の名前、場所、又は関心点（points  of  interest  (poi)）、各ｐｏｉのタイプ、それらの住所若しくは連絡先情報、等を含み得る。知識ベースについてのこの情報の例は、図６のテーブル６１０に示される。対話情報は、現在対話についてのユーザとシステムとの間で交換された発話及び応答の履歴を含み得る。この対話履歴情報の例は、図６のテーブル６２０に示される。対話履歴及び知識ベースから入力された単語又は発話は、要素のシーケンス、それぞれＸ＝（ｘ１，．．．，ｘｎ）及びＢ＝（ｂ１，．．．，ｂｌ）として見ることができる。幾つかの実施形態では、図２に示すように、外部知識メモリ２３０は、１つ以上の知識ベース（ＫＢ）を受信し、知識ベースメモリ２３２に、及び現在対話の情報（例えば、ユーザとシステムとの間の会話）を対話メモリ２３４に、格納する。モデル２００の出力は、Ｙ＝（ｙ１，．．．，ｙｍ）であり、これは、対話の中で現在のユーザの発話に対して期待されるシステム応答である。
【００３１】
グローバルメモリエンコーダ２１０は、コンピューティング装置との対話中にユーザにより発せられた１つ以上の発話を受信してよい（図７のプロセス７２０）。幾つかの実施形態によると、グローバルメモリエンコーダ２１０は、コンテキストＲＮＮを使用して、対話履歴を符号化し、その隠れ状態を外部知識メモリ２３０に書き込む。次に、最後の隠れ状態が使用されて、外部知識を読み出し、グローバルメモリポインタＧを生成する。復号段階の間、ローカルメモリデコーダ２２０は、先ず、スケッチＲＮＮを用いてスケッチ応答を生成する。スケッチ応答自体は、外部知識ベースから情報をコピーせず、むしろ、更なる処理を保留している外部知識ベースからコピーされ又は取得されるべきアイテムのスケッチタグを有するシステム応答のためのテンプレートとして動作し又はサービスする。スケッチ応答の例は、「＠poi  is  ＠distance  away（＠poiは＠distance離れている）」である。ここで、＠poi、及び＠distanceは、それぞれ満たされるべき関心点（point  of  interest  (poi)）及び距離のスケッチタグである。次に、グローバルメモリポインタＧ及びスケッチＲＮＮ隠れ状態は、フィルタ及びクエリとして、外部知識メモリ２３０に渡される。この入力に基づき、ローカルメモリポインタＬは、外部知識メモリ２３０から返される。ローカルメモリポインタＬは、スケッチタグ（例えば、＠poi、＠distance）を置き換えてそれにより最終的なシステム応答、例えば「」を取得するために、外部知識から平文（例えば、「Valero」、「４  miles  away」）をコピーするために使用される。コンピューティング装置は、次に、ユーザの発話に応答して、この応答をユーザへと出力できる。
【００３２】
外部知識メモリ
図３は、幾つかの実施形態による外部知識メモリ３００の簡略図である。外部知識メモリ３００は、対話履歴及び知識ベースを格納する（図７のプロセス７１０）。幾つかの実施形態では、外部知識メモリ３００は、図２のニューラルモデル２００の外部知識メモリ２３０を実装できる。外部知識メモリ３００は、ＫＢメモリモジュール３３２と対話メモリモジュール２２４とを含み、幾つかの実施形態では、図２のニューラルモデル２００のメモリ２３２及び２３４をそれぞれ実装できる。
【００３３】
幾つかの実施形態では、メモリ３００内の外部知識は、グローバル−ローカルメモリポインタモデル（例えば２００）のエンコーダ（例えば２１０）及びデコーダ（例えば２２０）により共有されるグローバルコンテキスト表現を含む。外部知識を学習フレームワークに組み込むために、幾つかの実施形態では、外部知識メモリ３００は、エンドツーエンドメモリネットワーク（memory  network  (MN)）を用いて実装でき、構造的ＫＢ及び時間依存対話履歴の両方の単語レベルの情報を格納する。図示のように、これは、ＫＢメモリ及び対話メモリを含むことができる。更に、エンドツーエンドメモリネットワーク（ＭＮ）は、コピーメカニズムを強化できるマルチホップの分別能力（reasoning  ability）を提供し、サポートし、又は可能にする。
【００３４】
グローバルコンテキスト表現
幾つかの実施形態では、ＫＢメモリモジュール３３２の中で、各要素ｂｉ∈Ｂは、（主語（Subject）、関係（Relation）、目的語（Object））構造のようなトリプレット形式で表現される。これは、ＫＢノードを表すために使用される共通フォーマットである。例えば、図６のテーブル６１０の中の知識ベースＢは、｛（Toms  house,  distance,  ３  miles）,...,（Starbucks,  address,  ７９２  Bedoin  St）｝のように示される。一方で、対話コンテキストＸは、対話メモリモジュール３３４に格納される。ここで、話者及び時間的符号化は、トリプレット形式のように含まれる。これは、参照によりここに組み込まれる、Boards  et  al.,  “Learning  end−to−end  goal−oriented  dialog,”  International  Conference  on  Learning  Representations,  abs/１６０５.０７６８３,  ２０１７に更に詳細に記載されている。例えば、図６のテーブル６２０の中の運転手からの最初の発話は、｛（$user,  turn１,  I)），（$user,  turn１,  need），（$user,  turn１,  gas）｝と示される。２つのメモリモジュールについて、語の袋（bag−of−word）が、メモリ埋め込み（memory  embedding）として使用される。推定時間の間、メモリ位置がポイントされると、目的語の単語がコピーされる。例えば、トリプレット（Toms  house,  distance,  ３  miles）が選択された場合、３  milesがコピーされる。Ｏｂｊｅｃｔ（．）関数は、トリプレットから目的語の単語を得るものとして示される。
【００３５】
知識読み出し及び書き込み
幾つかの実施形態では、外部知識は、トレーニング可能な埋め込み行列の集合Ｃ＝（Ｃ１，．．．，ＣＫ＋１）を含む。ここで、
【数１】
2022500726.tif 000003
であり、Ｋはエンドツーエンドメモリネットワーク（ＭＮ）の中の最大メモリホップであり、｜Ｖ｜は語彙サイズであり、ｄｅｍｂは埋め込み次元である。外部知識の中のメモリは、Ｍ＝［Ｂ；Ｘ］＝（ｍ１，．．．，ｍｎ＋ｌ）として示され、ここで、ｍｉは言及されたトリプレット成分のうちの１つである。メモリを読み取るために、外部知識は、初期クエリベクトルｑ１を使用する。更に、Ｋ個のホップに渡りループでき、次式を用いて書くホップｋにおける注意重みを計算する。
【数２】
2022500726.tif 000004
ここで、
【数３】
2022500726.tif 000005
は、埋め込み行列Ｃｋを用いるｉ番目のメモリ位置における埋め込みである。ｑｋはホップｋのクエリベクトルであり、Ｂ（．）は語の袋（bag−of−word）関数である。ｐｋ∈Ｒｎ＋１は、クエリベクトルに関するメモリ関連性を記述するソフトメモリ注意であることに留意する。次に、モデルは、ｃｋ＋１に渡る加重和によりメモリｏｋを読み出し、クエリベクトルｑｋ＋１を更新する。定式では、
【数４】
2022500726.tif 000006
【００３６】
グローバルメモリエンコーダ
図４は、幾つかの実施形態による符号化対話履歴Ｘ及び知識ベースＢの符号化のためのエンコーダ４００の簡略図である。エンコーダ４００は、コンピューティング装置との対話中にユーザにより発せられた１つ以上の発話を受信してよい（図７のプロセス７２０）。幾つかの実施形態では、エンコーダ４００は、図２のニューラルモデル２００のエンコーダ２１０を実装できる。
【００３７】
幾つかの実施形態では、エンコーダ４００は、コンテキスト回帰型ニューラルネットワーク（recurrent  neural  network  (RNN)）として実装できる。コンテキストＲＮＮは、順序依存関係をモデル化し、コンテキスト又は対話履歴Ｘを符号化するために使用される。次に、隠れ状態Ｈが、外部知識またはメモリに書き込まれる（例えば、図２及び３に示される２３０又は３００）。その後、最後のエンコーダ隠れ状態は、外部知識を読み出すため、及び２つの出力、グローバルメモリポインタＧ、及びメモリ読み出しを生成若しくは得るためのクエリとしてサービスする。
【００３８】
直感的に、エンドツーエンドメモリネットワーク（ＭＮ）アーキテクチャがメモリ間の依存関係をモデル化することは困難であり、これは会話関連タスクにおいて特に欠点であり得るので、外部知識に隠れ状態を書き込むことは、連続的なコンテキストにより解釈される情報を提供でき、一般的な語彙不足（out−of−vocabulary  (OOV)）の課題は良好に軽減できる。更に、符号化対話コンテキストをクエリとして使用することは、外部知識メモリ（例えば、２３０又は３００）が隠れ対話状態又はユーザの意図に関連する情報を読み出すよう促進できる。更に、グローバルメモリ分配を学習するグローバルメモリポインタは、符号化対話履歴及び符号化知識ベース（ＫＢ）情報と一緒にデコーダに渡される。
【００３９】
コンテキストＲＮＮ
幾つかの実施形態では、エンコーダ４００のコンテキストＲＮＮは、個別に又は一緒に（例えば、参照によりここに組み込まれるChung  et  al,  ２０１４に記載されるような）１つ以上の双方向ゲート付き回帰型ユニット（gated  recurrent  units  (GRUs）を含み得る複数の符号化要素４０２を含み又はそれらを実装され得る。各符号化要素４０２は、コンテキスト又は対話履歴Ｘの単語又はテキストに作用して、隠れ状態Ｈ＝（ｈ１ｅ，．．．，ｈｎｅ）を生成してよい。最後の隠れ状態ｈｎｅは、符号化対話履歴として外部知識メモリにクエリするために使用される。更に、隠れ状態Ｈは、元のメモリ表現を対応する隠れ状態と共に加算することにより、外部知識３００の中の対話メモリモジュール３３４に書き込まれる。式では、
【数５】
2022500726.tif 000007
【００４０】
グローバルメモリポインタ
エンコーダ４００は、グローバルメモリポインタＧを生成する（図７のプロセス７３０）。幾つかの実施形態では、グローバルメモリポインタＧ＝（ｇ１，．．．，ｇｎ＋１）は、０と１の間の実数値を含むベクトルを含む。全部の重みが１つに加算される従来の注意メカニズムと異なり、グローバルメモリポインタＧの中の各要素は、独立した確率であり得る。モデル２０は、先ず、ｈｎｅを用いて最後のホップまで外部知識３００をクエリし、（１）のようにＳｏｆｔｍａｘ関数を適用する代わりに、モデルは内積を実行し、Ｓｉｇｍｏｉｄ関数が続く。取得されるメモリ分布は、デコーダに渡されるグローバルメモリポインタＧである。グローバルポイント能力を更に強化するために、グローバルメモリポインタをマルチラベル分類タスクとしてトレーニングするために補助損失（auxiliary  loss）が追加される。アブレーション（ablation）の研究で示されるように、この追加管理の追加により、性能を向上できる。最後に、メモリ読み出しｑＫ＋１が、符号化ＫＢ情報として使用される。
【００４１】
補助タスクでは、ラベルＧｌａｂｅｌ＝（ｇｌ１，．．．，ｇｌｎ＋１）は、メモリ内の目的語の単語が期待されるシステム応答Ｙの中に存在するかどうかをチェックすることにより定義される。次に、グローバルメモリポインタは、ＧとＧｌａｂｅｌとの間のバイナリクロスエントロピー損失Ｌｏｓｓｇを用いてトレーニングされる。式では、
【数６】
2022500726.tif 000008
【００４２】
幾つかの実施形態では、以下に更に詳述されるように、グローバルメモリポインタは、ユーザの発話に対する適切な対話応答を生成する際に使用するために、メモリの知識ベースモジュール（２３２又は３２２）からの情報をフィルタリングするよう機能する。
【００４３】
ローカルメモリデコーダ
図５は、幾つかの実施形態によるデコーダ５００の簡略図である。幾つかの実施形態では、デコーダ５００は、図２のニューラルモデル２００のデコーダ２２０を実装できる。幾つかの実施形態では、デコーダ５００は、回帰型ニューラルネットワーク（recurrent  neural  network  (RNN)）として実装される。
【００４４】
幾つかの実施形態では、デコーダ５００のＲＮＮは、ユーザの発話に対するコンピュータの応答のテンプレート又はスケッチを生成する。スケッチ応答は、要素のセットを含んでよい。スケッチ応答のこれらの要素のうちの幾つかは、コンピューティング装置１００から出力される実際の対話応答の中に現れる。これらの要素のうちの他のものは、スケッチタグと呼ばれてよく、実際の対話応答の中で、知識ベースからの単語により置き換えられる。スケッチ応答の例は、「@poi  is  @distance  away」（＠poiは＠distance離れている）であり、ここで、＠poi及び＠distanceはそれぞれスケッチタグである。コンピュータ対話応答では、これらのスケッチタグは、それぞれ、知識メモリ（例えば２３２又は３３２）からの単語「Starbucks」及び「１  mile」により置き換えられてよい。その結果、実際に出力される応答は、「Starbucks  is  １  mile  away」（スターバックスは１マイル離れている）である。
【００４５】
符号化対話履歴ｈｎｅ、符号化ＫＢ情報ｑＫ＋１、及びグローバルメモリポインタＧを用いて、ローカルメモリデコーダ５００は、先ず、対話履歴ｈｎｅと符号化ＫＢ情報ｑＫ＋１との連結を用いて自身のスケッチＲＮＮを初期化し、スロット値を除外するがスケッチタグを含むスケッチ応答を生成する。各復号時間ステップで、スケッチＲＮＮの隠れ状態は、以下の２つの目的で使用される。（１）語彙の中の次のトークンを予測する。これは、標準的なシーケンス−シーケンス（sequence−to−sequence  (S２S)）学習と同じである。（２）外部知識をクエリするためのベクトルとしてサービスする。スケッチタグが生成される場合、グローバルメモリポインタＧは、外部知識３００に渡され、期待される出力単語は、ローカルメモリポインタＬから拾われる。その他の場合、出力される単語は、スケッチＲＮＮにより生成される単語である。例えば、図５で、ｐｏｉタグ（＠poi）は、第１時間ステップで生成される。従って、単語「Starbucks」がシステム出力単語としてローカルメモリポインタLから拾い出される。
【００４６】
スケッチＲＮＮ
デコーダ５００は、スケッチ応答を生成する（図７のプロセス７４０）。幾つかの実施形態では、エンコーダ５００のスケッチＲＮＮは、個別に又は一緒に１つ以上の双方向ゲート付き回帰型ユニット（gated  recurrent  units  (GRUs)）を含み得る複数の要素５０２を含み又はそれらを実装され得る。幾つかの実施形態では、スケッチＲＮＮは、実際のスロット値を有しないで、スケッチ応答Ｙｓ＝（ｙｓ１，．．．，ｙｓｍ）を生成するために使用される。スケッチＲＮＮは、符号化対話（ｈｎｅ）及びＫＢ情報（ｑＫ＋１）に基づき動的対話アクションテンプレートを生成することを学習する。各復号時間ステップｔで、スケッチＲＮＮ隠れ状態ｈｔｄ及びその出力分布ｐｖｏｃａｂｔは、次式のように定められる。
【数７】
2022500726.tif 000009
【００４７】
標準的なクロスエントロピー損失は、スケッチＲＮＮをトレーニングするために使用され、Ｌｏｓｓｖは次式のように定められる。
【数８】
2022500726.tif 000010
【００４８】
Ｙの中のスロット値は、提供されたエンティティテーブルに基づきスケッチタグへと置換される。スケッチタグＳＴは、全部、特別なトークン、例えば全ての住所を表す＠address及び全ての距離情報を表す＠distanceで始まる可能なスロットタイプである。
【００４９】
ローカルメモリポインタ
デコーダ５００は、１つ以上のローカルメモリポインタＬを生成する（図７のプロセス７６０）。幾つかの実施形態では、ローカルメモリポインタＬ＝（Ｌ１，．．．，Ｌｍ）は、ポインタのシーケンスを含む。グローバルメモリポインタＧは、外部知識メモリ３００の知識ベース情報をフィルタリングする（図７のプロセス７５０）。各時間ステップｔで、グローバルメモリポインタＧは、先ず、自身の注意重みを用いてグローバルコンテキスト表現を変更する。
【数９】
2022500726.tif 000011
次に、スケッチＲＮＮ隠れ状態ｈｔｄは外部知識３００をクエリする。最後のホップにおけるメモリ注意は、対応するローカルメモリポインタＬｔであり、これは時間ステップｔにおけるメモリ分布として表される。ローカルメモリポインタをトレーニングするために、外部知識の中の最後のホップのメモリ注意の上に、管理が追加される。復号時間ステップｔにおけるローカルメモリポインタＬｌａｂｅｌの位置ラベルは、次式のように定められる。
【数１０】
2022500726.tif 000012
位置ｎ＋ｌ＋１は、メモリ内のヌルトークンであり、ｙｔが外部知識の中に存在しない場合でも、モデルが損失関数を計算できるようにする。次に、ＬとＬｌａｂｅｌとの間の損失は、次式のように定められる。
【数１１】
2022500726.tif 000013
【００５０】
更に、レコードＲ∈Ｒｎ＋１は、同じエンティティを複数回コピーするのを防ぐために使用される。Ｒの中の全部の要素は、始めに１に初期化される。グローバル−ローカルメモリポインタモデル又はネットワークは、現在のユーザの発話に対する対話コンピュータ応答Ｙを生成する（図７のプロセス７７０）。復号段階の間、メモリ位置が指されている場合、その対応するＲ内の位置は、学習されたスカラーｒで減衰する。つまり、グローバルコンテキスト表現は、対応するトークンがコピーされた場合、ソフトマスクされ除外される（softly  masked  out）。推定時間の間、ｙｔは次式のように定められる。
【数１２】
2022500726.tif 000014
最後に、３つの損失の和を最小化することにより、全部のパラメータが一緒にトレーニングされる。
【数１３】
2022500726.tif 000015
【００５１】
データセット
幾つかの実施形態では、モデルを評価するために、２つの公開マルチターンタスク指向型対話データセットが使用できる：ｂＡｂＩ対話（参照によりここに組み込まれるBoards  et  al.,  “Learning  end−to−end  goal−oriented  dialog,”  International  Conference  on  Learning  Representations,  abs/１６０５.０７６８３,２０１７に更に詳細に記載される）、及びＳｔａｎｆｏｒｄマルチドメイン対話（Stanford  multi−domain  dialogue  (SMD)）（参照によりここに組み込まれるEric  et  al.,  “A  copy−augmented  sequence−to−sequence  architecture  gives  good  performance  on  task−oriented  dialogue,”  In  Proceedings  of  the  １５th  Conference  of  the  European  Chapter  of  the  Association  for  Computational  Linguistics:  Volume  ２,  Short  Papers,  pp.  ４６８−４７３,  Valencia,  Spain,  April  ２０１７に更に詳細に記載される）。ｂＡｂＩ対話は、レストランドメインにおける５個のシミュレートされたタスクを含む。タスク１〜４は、それぞれ、ＡＰＩ呼び出しの呼び出し、ＡＰＩ呼び出しの変更、オプションの推奨、及び追加情報の提供に関する。タスク５は、タスク１〜４の結合である。各タスクについて２つのテストセットがある。１つはトレーニングセットと同じ分布に従い、もう１つはＯＯＶエンティティ値を有する。一方で、ＳＭＤは、人間−人間のマルチドメイン対話データセットである。３つの異なるドメインを有する：カレンダスケジューリング、天気情報検索、及び関心点ナビゲーション。これら２つのデータセットの間の主な違いは、前者が長い対話ターンを有するが、規則的なユーザ及びシステムの振る舞いであり、後者がより少ない会話ターンを有するが、変化する応答を有し、ＫＢ情報が遙かに複雑であることである。
【００５２】
結果
ｂＡｂＩ対話。図８のテーブルは、ｂＡｂＩ対話に従う評価の例である。このテーブルは、グローバル−ローカルメモリポインタ（global  local  memory  pointer  (GLMP)）モデル又はネットワークの性能を、ＱＲＮ（参照によりここに組み込まれるSeo  et  al.,  “Query−reduction  networks  for  question  answering,”  International  Conference  on  Learning  Representations,  ２０１７を参照）、ＭＮ（参照によりここに組み込まれるBordes  et  al.,  “Learning  end−to−end  goal−oriented  dialog,”  International  Conference  on  Learning  Representations,  abs/１６０５.０７６８３,２０１７を参照）、ＧＭＮ（参照によりここに組み込まれるLiu  et  al.,  "Gated  end−to−end  memory  networks,”  In  Proceedings  of  the  １５th  Conference  of  the  European  Chapter  of  the  Association  for  Computational  Linguistics  (Volume  １,  Long  Papers),  pp.１−１０,  Valencia,  Spain,  April  ２０１７,  Association  for  Computational  Linguistics,  http://www.aclweb.org/anthology/E１７−１００１）、Ｐｔｒ−Ｕｎｋ（参照によりここに組み込まれるGulcehre  et  al.,  “Pointing  the  unknown  words,”  In  Proceedings  of  the  ５４th  Annual  Meeting  of  the  Association  for  Computational  Linguistics  (Volume  １:  Long  Papers),  pp.１４０−１４９,  Berlin,  Germany,  August  ２０１６,  Association  for  Computational  Linguistics,  http://www.aclweb.org/anthology/P１６−１０１４）、及びＭｅｍ２Ｓｅｑ（参照によりここに組み込まれるMadotto  et  al.,  “Mem２seq:  Effectively  incorporating  knowledge  bases  into  end−to−end  task−oriented  dialog  systems,”  In  Proceedings  of  the  ５６th  Annual  Meeting  of  the  Association  for  Computational  Linguistics  (Volume１:  Long  Papers),  pp.１４６８−１４７８,  Association  for  Computational  Linguistics,  ２０１８,  URL  http://aclweb.org/anthology/P１８−１１３６）の基準に対して、ｂＡｂＩ対話上の種々のタスク（例えば、Ｔ１、Ｔ２、Ｔ３、Ｔ４、Ｔ５）の応答毎の正確さ及びタスク達成率（括弧内）に基づき、比較する。ＱＲＮ、ＭＮ、及びＧＭＮのような発話検索方法は、オプションを正しく推奨し及び追加情報を提供することができず、ＯＯＶ設定ではＴ５において約３０％の性能差を有する粗悪な汎用能力が観察されることに留意する。前の世代に基づくアプローチは、コピーメカニズムを組み込むことによりギャップを軽減したが、ＡＰＩ呼び出しを生成し及び変更するような最も単純な場合（Ｔ１、Ｔ２）は依然として６〜１７％のＯＯＶ性能低下に直面している。一方で、本開示のＧＬＭＰモデル又はネットワークは、完全な会話タスクにおいて最高９０．５％のタスク達成率を達成し、特にＯＯＶ設定における実質的なマージンだけ他の基準を上回っている。更に、単一のホップのみを使用するＴ１、Ｔ２、Ｔ４では応答毎の正確さの損失がなく、タスク５では７〜９％しか低下しない。ＧＬＭＰモデルは、最も少ない語彙不足による性能低下を達成する。
【００５３】
Ｓｔａｎｆｏｒｄマルチドメイン対話（Stanford  Multi−domain  Dialogue  (SMD)）。図９のテーブルは、人間−人間の対話シナリオについて、ＳＭＤに従う評価の例である。これは、２つの自動評価メトリック、ＢＬＥＵ及びエンティティＦ１スコア２に基づきＧＬＭＰモデルを評価する前の対話作業に従う。図９の第１のテーブルに示すように、ＧＬＭＰは、最高１４０１２ＢＬＥＵ及び５５．３８％エンティティＦ１スコアを達成する。これは、ＢＬＥＵにおいて僅かな改善であるが、エンティティＦ１において大きな利得である。実際に、タスク指向型対話における教師なし評価メトリックでは、エンティティＦ１は、応答毎の正確さ又はＢＬＥＵよりも、より包括的な評価メトリックであってよく、人間が正しいエンティティを選択できるが、非常に多様な応答を有する。ルールに基づく及びＫＶＲの結果は、それらが、エンティティの表現を命名されたエンティティ認識及びリンク３を用いて標準的形式にマッピングすることによりタスクを簡略化しているので、直接比較できないことに留意する。
【００５４】
さらに、生成された応答の人間による評価が報告され、図９の第２のテーブルに示される。ＧＬＭＰモデルは、前の従来モデルＭｅｍ２Ｓｅｑと、及び元のデータセット応答とも比較される。２００個の異なる対話シナリオが、３つの異なる応答を評価するために、テストセットからランダムに選択された。Ａｍａｚｏｎ  Ｍｅｃｈａｎｉｃａｌ  Ｔｕｒｋは、１〜５の尺度で、システムの妥当性及び人間らしさを評価するために使用される。結果は図９の第２のテーブルに示され、ＧＬＭＰモデルは、両方の指標においてＭｅｍ２Ｓｅｑに勝った。これは、前の観察と一貫している。この評価に対する人間の性能は、期待されるスコアの上限を設定する。
【００５５】
従って、ＳＭＤデータセットでは、ＧＬＭＰモデルは、前の従来の結果を含む基準に対して最高のＢＬＥＵスコア及びエンティティＦ１２スコアを達成する。
【００５６】
アブレーション研究（Ablation  Study）。グローバルメモリポインタＧ及び対話履歴Ｈのメモリ書き込みの貢献は、図１０のテーブルに示される。これは、単一ホップモデルを用いるアブレーション研究の結果である。ｂＡｂＩ  ＯＯＶ設定においてＫ＝１のＧＬＭＰを用いる結果は、ＳＭＤに対して比較される。Ｈを有しないＧＬＭＰは、グローバルメモリエンコーダの中のコンテキストＲＮＮが、隠れ状態を外部知識に書き込まないことを意味する。テーブルで分かるように、Ｈを有しないＧＬＭＰモデルは、完全な対話タスクで５．５％多い損失を有する。一方で、Ｇを有しないＧＬＭＰモデル（グローバルメモリポインタが外部知識を変更するために使用されないことを意味する）は、ＳＭＤデータセットにおいて８．２９％のエンティティＦ１の低下を生じる。タスク５で１．８％の増大が見られることに留意する。従って、グローバルメモリポインタＧの使用は、ＯＯＶ設定において復号する前に粗悪な事前確率を課される可能性があることが示唆される。しかしながら、殆どの場合、私たちのグローバルメモリポインタは、依然として性能を向上する。
【００５７】
評価の可視化及び定量化。注意重みの分析は、深層学習モデルを解釈するために頻繁に使用されてきた。図１１は、ＳＭＤナビゲーションドメインにおけるメモリ注意（attention）の視覚化の例である。図１１は、各生成時間ステップの最後のホップにおける注意ベクトルを示す。Ｙ軸は、ＫＢメモリモジュール情報及び対話履歴を含むコピー可能な外部知識である。最後のターンで運転手により尋ねられた質問「what  is  the  address?」（住所は？）に基づき、貴重な回答（gold  answer）及び生成された応答が一番上にあり、グローバルメモリポインタＧは左の列に示される。右側の列には、最終的なメモリポインタが、ステップ０でエンティティchevronのコピーに成功し、ステップ３でそのアドレスである７８３  Arcadia  Plによりスケッチ発話を埋めることが分かる。一方で、グローバル重み付けを有しないメモリ注意は、中間の列で報告される。注意重みが、ステップ０及びステップ３で幾つかの関心点及び住所に焦点を当てる場合でも、グローバルメモリポインタは期待通り問題を軽減できることが分かる。
【００５８】
トレーニングの詳細
幾つかの実施形態によると、本開示のモデルは、Ａｄａｍ最適化器を用いてエンドツーエンドでトレーニングされ（参照によりここに組み込まれるKingma  et  al.,  “A  method  for  stochastic  optimization,”  International  Conference  on  Learning  Representations,  ２０１５）、学習率アニーリングは１ｅ−３から１ｅ−４までに開始する。ホップの数Ｋは、性能差を比較するために、１、３、６に設定される。全ての埋め込みは、ランダムに初期化され、復号段階の間にビームサーチを有しない単純な欲張りな戦略が使用される。隠れサイズ及びドロップアウト率のようなハイパーパラメータは、開発セットに渡りグリッドサーチにより調整される（ｂＡｂＩ対話の応答毎の正確さ、及びＳＭＤのＢＬＥＵスコア）。更に、モデルの汎用性を増大し、ＯＯＶ設定をシミュレートするために、少数の入力ソーストークンがランダムにマスクされて、未知のトークンにされた。モデルはＰｙＴｏｒｃｈで実装され、各タスクＴ１、Ｔ２、Ｔ３、Ｔ４、Ｔ５について使用されたハイパーパラメータは図１２のテーブルに列挙された。このテーブルは、異なるホップについて、各データセットの中の選択されたハイパーパラメータを示す。値は、埋め込み次元及びＧＲＵ隠れサイズであり、括弧内の値はそれぞれドロップアウト率である。全部のモデルについて、学習率は０．００１に等しく、０．５の減衰率が使用された。
【００５９】
人間の評価
ＧＬＭＰモデル及びＭｅｍ２Ｓｅｑの出力は、妥当性及び人間らしさ（自然さ）に関して、人間の評価に対して比較された。妥当性のレベルは、以下のように１〜５に格付けされた。
５：正確な文法、正確な論理、正確な対話の流れ、及び正確なエンティティが提供された。
４：正確な対話の流れ、論理、及び文法であるが、提供されたエンティティに僅かな誤りがある。
３：文法又は論理又はエンティティに顕著な誤りがあるが、許容可能である。
２：粗悪な文法、論理、及びエンティティが提供された。
１：誤った文法、誤った論理、誤った対話の流れ、及び誤ったエンティティが提供された。
人間らしさ（自然さ）のレベルは、以下のように１〜５に格付けされた。
５：発話は、１００％、人間が言うことのようである。
４：発話は、７５％、人間が言うことのようである。
３：発話は、５０%、人間が言うことのようである。
２：発話は、２５%、人間が言うことのようである。
１：発話は、０％、人間が言うことのようである。
【００６０】
図１３のチャートは、２００個の対話シナリオに従い妥当性と人間らしさのスコアを示す。
【００６１】
従って、本願明細書には、タスク指向型対話のためのグローバル−ローカルメモリポインタネットワークを用いるエンドツーエンドのトレーニング可能なモデルが開示された。グローバルメモリエンコーダ及びローカルメモリデコーダは、共有された外部知識を学習フレームワークに組み込むよう設計される。グローバル及びローカルメモリポインタは、語彙不足（out−of−vocabulary  (OOV)）のシナリオにおいても、システム応答を効率的に生成できること、及びグローバルメモリポインタがどのように良好に助けとなるかを視覚化することが、経験的に示される。結果として、モデルは、シミュレートされた対話データセット及び人間−人間対話データセットの両方で、従来の結果を達成し、質問回答及びテキスト要約のような他のタスクに拡張する可能性を保持する。
【００６２】
この説明、及び本発明の態様、実施形態、実装、又は適用を示す添付の図面は、限定と考えられるべきではない。種々の機械的、組成上の、構造上の、電気的、及び動作上の変更が、この説明及び請求の範囲の精神及び半から逸脱することなく行われてよい。幾つかの例では、よく知られた回路、構造、又は技術は、本開示の実施形態を不明瞭にしないために、詳細に示され又は説明されない。２つ以上の図面の中の同様の番号は、同じ又は類似する要素を表す。
【００６３】
この説明では、特定の詳細が説明され、本開示と一致する幾つかの実施形態を説明する。実施形態の完全な理解を提供するために、多くの特定の詳細が説明される。しかしながら、当業者には、幾つかの実施形態がこれらの特定の詳細のうちの一部を有しないで実行されてよいことが明らかである。ここに開示される特定の実施形態は、説明的であることを意味し、限定を意味しない。当業者は、ここの具体的に説明されないが、他の要素が本開示の範囲及び精神の範囲内であることを理解し得る。更に、不要な繰り返しを避けるために、１つの実施形態に関連して示され説明される１つ以上の特徴は、特に断りの無い限り又は１つ以上の特徴が実施形態を非機能性にしない限り、他の実施形態に組み込まれてよい。
【００６４】
説明のための実施形態が示され説明されたが、広範な変更、変化、及び代替が、前述の開示において考案され、幾つかの例では、実施形態の幾つかの特徴は、他の特長の対応する使用を有しないで利用されてよい。当業者は、多くの変形、代替、及び変更を認識し得る。従って、本発明の範囲は、以下の請求の範囲によってのみ限定されるべきであり、請求項は広義に本願明細書に開示された実施形態の範囲に一致する方法で構成される。
【図１】
2022500726.tif 000016
【図２】
2022500726.tif 000017
【図３】
2022500726.tif 000018
【図４】
2022500726.tif 000019
【図５】
2022500726.tif 000020
【図６】
2022500726.tif 000021
【図７】
2022500726.tif 000022
【図８】
2022500726.tif 000023
【図９】
2022500726.tif 000024
【図１０】
2022500726.tif 000025
【図１１】
2022500726.tif 000026
【図１２】
2022500726.tif 000027
【図１３】
2022500726.tif 000028
【手続補正書】
【提出日】令和3年3月23日(2021.3.23)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ユーザとコンピュータとの間の対話に対する応答を生成する方法であって、前記方法は、
対話履歴と知識ベースとをメモリに格納するステップであって、前記対話履歴は、前記対話の間に交換されるユーザの発話とコンピュータの応答とのシーケンスについての情報を含み、前記知識ベースは、対話コンピュータ応答で使用可能な情報を含む、ステップと、
前記コンピュータにおいて、前記ユーザから新しい発話を受信するステップと、
前記新しい発話に基づき、グローバルメモリポインタを生成するステップと、
前記新しい発話に対するスケッチ応答を生成するステップであって、前記スケッチ応答は、前記メモリからの知識ベース情報により置き換えられるべき少なくとも１つのスケッチタグを含む、ステップと、
前記グローバルメモリポインタを用いて、前記メモリ内の前記知識ベース情報をフィルタリングするステップと、
少なくとも１つのローカルメモリポインタを生成するステップと、
前記のフィルタリングされた知識ベース情報から、前記スケッチ応答の中の前記少なくとも１つのスケッチタグを置き換えるべき単語を選択するために、前記ローカルメモリポインタを用いて前記対話コンピュータ応答を生成するステップと、
を含む方法。
【請求項２】
前記対話履歴は、対話履歴情報の埋め込みマトリックスのセットを含む、請求項１に記載の方法。
【請求項３】
前記知識ベースは、前記知識ベース情報の埋め込みマトリックスのセットを含む、請求項１又は２に記載の方法。
【請求項４】
前記グローバルメモリポインタを生成するステップは、
前記新しい発話を符号化して、１つ以上の隠れ状態を生成するステップと、
前記１つ以上の隠れ状態を用いて、前記メモリ内の前記知識ベース情報をクエリするステップと、
を含む、請求項１〜３のいずれか一項に記載の方法。
【請求項５】
前記グローバルメモリポインタは、複数の要素を有するベクトルを含み、各要素は独立した確率に関連付けられる、請求項１〜４のいずれか一項に記載の方法。
【請求項６】
前記ローカルメモリポインタは、ポインタのシーケンスを含み、各ポインタは、前記のフィルタリングされた知識ベース情報から、前記スケッチ応答の中のそれぞれのスケッチタグを置き換えるべきそれぞれの単語を選択するためのものである、請求項１〜５のいずれか一項に記載の方法。
【請求項７】
実行可能コードを有する非一時的コンピュータ可読媒体であって、前記実行可能コードは、コンピュータに関連付けられた１つ以上のプロセッサにより実行されると、前記１つ以上のプロセッサに方法を実行させるよう適応され、前記方法は、
対話履歴と知識ベースとをメモリに格納するステップであって、前記対話履歴は、対話の間に交換されるユーザの発話とコンピュータの応答とのシーケンスについての情報を含み、前記知識ベースは、対話コンピュータ応答で使用可能な情報を含む、ステップと、
前記コンピュータにおいて、前記ユーザから新しい発話を受信するステップと、
前記新しい発話に基づき、グローバルメモリポインタを生成するステップと、
前記新しい発話に対するスケッチ応答を生成するステップであって、前記スケッチ応答は、前記メモリからの知識ベース情報により置き換えられるべき少なくとも１つのスケッチタグを含む、ステップと、
前記グローバルメモリポインタを用いて、前記メモリ内の前記知識ベース情報をフィルタリングするステップと、
少なくとも１つのローカルメモリポインタを生成するステップと、
前記のフィルタリングされた知識ベース情報から、前記スケッチ応答の中の前記少なくとも１つのスケッチタグを置き換えるべき単語を選択するために、前記ローカルメモリポインタを用いて前記対話コンピュータ応答を生成するステップと、
を含む、非一時的コンピュータ可読媒体。
【請求項８】
前記対話履歴は、対話履歴情報の埋め込みマトリックスのセットを含む、請求項７に記載の非一時的コンピュータ可読媒体。
【請求項９】
前記知識ベースは、前記知識ベース情報の埋め込みマトリックスのセットを含む、請求項７又は８に記載の非一時的コンピュータ可読媒体。
【請求項１０】
前記グローバルメモリポインタを生成するステップは、
前記新しい発話を符号化して、１つ以上の隠れ状態を生成するステップと、
前記１つ以上の隠れ状態を用いて、前記メモリ内の前記知識ベース情報をクエリするステップと、
を含む、請求項７〜９のいずれか一項に記載の非一時的コンピュータ可読媒体。
【請求項１１】
前記グローバルメモリポインタは、複数の要素を有するベクトルを含み、各要素は独立した確率に関連付けられる、請求項７〜１０のいずれか一項に記載の非一時的コンピュータ可読媒体。
【請求項１２】
前記ローカルメモリポインタは、ポインタのシーケンスを含み、各ポインタは、前記のフィルタリングされた知識ベース情報から、前記スケッチ応答の中のそれぞれのスケッチタグを置き換えるべきそれぞれの単語を選択するためのものである、請求項７〜１１のいずれか一項に記載の非一時的コンピュータ可読媒体。
【請求項１３】
ユーザとコンピュータとの間の対話に対する応答を生成するシステムであって、前記システムは、
対話履歴と知識ベースとを格納するメモリであって、前記対話履歴は、前記対話の間に交換されるユーザの発話とコンピュータの応答とのシーケンスについての情報を含み、前記知識ベースは、対話コンピュータ応答で使用可能な情報を含む、メモリと、
前記ユーザから新しい発話を受信し、前記新しい発話に基づき、グローバルメモリポインタを生成するエンコーダであって、前記グローバルメモリポインタは、前記メモリ内の知識ベース情報をフィルタリングするために使用される、エンコーダと、
少なくとも１つのローカルメモリポインタと、前記新しい発話に対するスケッチ応答とを生成するデコーダであって、前記スケッチ応答は、前記メモリからの知識ベース情報により置き換えられるべき少なくとも１つのスケッチタグを含む、デコーダと、
を含み、
前記システムは、前記のフィルタリングされた知識ベース情報から、前記スケッチ応答の中の前記少なくとも１つのスケッチタグを置き換えるべき単語を選択するために、前記ローカルメモリポインタを用いて前記対話コンピュータ応答を生成する、システム。
【請求項１４】
前記対話履歴は、対話履歴情報の埋め込みマトリックスのセットを含む、請求項１３に記載のシステム。
【請求項１５】
前記知識ベースは、前記知識ベース情報の埋め込みマトリックスのセットを含む、請求項１３又は１４に記載のシステム。
【国際調査報告】
2022500726.tif 000029
2022500726.tif 000030
2022500726.tif 000031