(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-22
(45)【発行日】2024-01-05
(54)【発明の名称】質問応答としてのマルチタスク学習
(51)【国際特許分類】
G06F 40/216 20200101AFI20231225BHJP
G06N 20/00 20190101ALI20231225BHJP
G06F 40/44 20200101ALI20231225BHJP
【FI】
G06F40/216
G06N20/00
G06F40/44
(21)【出願番号】P 2020564520
(86)(22)【出願日】2019-05-14
(86)【国際出願番号】 US2019032207
(87)【国際公開番号】W WO2019222206
(87)【国際公開日】2019-11-21
【審査請求日】2022-05-11
(32)【優先日】2018-05-18
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2018-06-12
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】506332063
【氏名又は名称】セールスフォース インコーポレイテッド
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】マッキャン,ブライアン
(72)【発明者】
【氏名】ケスカー,ニティーシュ シリス
(72)【発明者】
【氏名】ション,ツァイミン
(72)【発明者】
【氏名】ソシエール,リチャード
【審査官】木村 大吾
(56)【参考文献】
【文献】西田 京介、他4名,情報検索とのマルチタスク学習による大規模機械読解,言語処理学会第24回年次大会 発表論文集 [online],日本,言語処理学会,2018年03月05日,pp. 963~966
(58)【調査した分野】(Int.Cl.,DB名)
G06F 40/00-40/58
G06F 16/00-16/958
G06N 20/00
(57)【特許請求の範囲】
【請求項1】
自然言語処理のためのシステムであって、
コンテキストからの第1のワードと質問からの第2のワードを並列して符号化するための多層符号化器と、
符号化された前記コンテキストおよび符号化された前記質問を復号するための多層復号器と、
前記
多層復号器からの出力に基づいて、前記コンテキストからの前記第1のワード、前記質問からの前記第2のワード、および語彙の第3のワードに対する分布を生成するためのポインタ生成器と、
スイッチであって、
前記コンテキストからの前記第1のワードに対する前記分布、前記質問からの前記第2のワードに対する前記分布、および前記語彙の前記第3のワードに対する前記分布の重みを生成し、
前記コンテキストからの前記第1のワードに対する前記分布、前記質問からの前記第2のワードに対する前記分布、および前記語彙の前記第3のワードに対する前記分布の前記重みに基づいて、複合分布を生成し、
前記複合分布を使用して、答えに含めるワードを選択するためのスイッチと、を含む、システム。
【請求項2】
前記コンテキストおよび前記質問は、質問応答、機械翻訳、文書要約、データベースクエリ生成、感情分析、自然言語推論、意味役割ラベル付け、関係抽出、目標指向対話、および代名詞解決から選択される自然言語処理タスクタイプに対応する、請求項1に記載のシステム。
【請求項3】
前記多層符号化器は、
前記コンテキスト内の前記第1のワードと前記質問内の前記第2のワードとの間のコアテンションを決定するためのコアテンションネットワークと、
前記コアテンションネットワークからの出力を圧縮するための並列双方向長短期記憶と、を含む、請求項1または2に記載のシステム。
【請求項4】
前記多層符号化器は、
前記コンテキストにわたるアテンションと前記質問にわたるアテンションを並列して生成するための並列セルフアテンション符号化器と、
生成された前記アテンションに基づいて、前記コンテキストおよび前記質問の最終符号化を並列して生成するための並列双方向長短期記憶と、を含む、請求項1~3のいずれか一項に記載のシステム。
【請求項5】
前記多層符号化器は、
前記コンテキストからの前記第1のワードと前記質問からの前記第2のワードを並列して符号化するための並列符号化層と、
前記コンテキストからの前記第1のワードと前記質問からの前記第2のワードの前記符号化を並列して投影するための並列線形ネットワークと、
前記符号化の前記投影をさらに符号化するための双方向長短期記憶と、を含む、請求項1~4のいずれか一項に記載のシステム。
【請求項6】
前記多層復号器は、
前記答えの中間バージョンを符号化し埋め込むための符号化および埋め込み層と、
前記答えの符号化および埋め込まれた前記中間バージョンと前記コンテキストの最終符号化との間のアテンションを生成するためのセルフアテンション復号器と、
前記セルフアテンション復号器の出力から中間復号器状態を生成するための長短期記憶と、
前記コンテキストの最終符号化、前記質問の最終符号化、および前記中間復号器状態に基づいて、コンテキストおよび質問復号器状態を生成するためのコンテキストおよび質問アテンションネットワークと、を含む、請求項1~5のいずれか一項に記載のシステム。
【請求項7】
前記システムは、前記システムが処理するように設計されたタスクタイプの完全セットに対して訓練される前に、タスクタイプのサブセットに対して訓練される、請求項1~6のいずれか一項に記載のシステム。
【請求項8】
前記タスクタイプの前記サブセットは、カリキュラム戦略に従って選択される、請求項7に記載のシステム。
【請求項9】
前記タスクタイプの前記サブセットは、反カリキュラム戦略に従って選択される、請求項7に記載のシステム。
【請求項10】
コンピュータデバイスに関連付けられた1つ以上のプロセッサによって実行される自然言語処理のための方法であって、
多層符号化器を使用して、コンテキストからの第1のワードと質問からの第2のワードを並列して符号化することと、
多層復号器を使用して、符号化された前記コンテキストおよび符号化された前記質問を復号することと、
前記
多層復号器からの出力に基づいて、前記コンテキストからの前記第1のワード、前記質問からの前記第2のワード、および語彙の第3のワードに対する分布を生成することと、
前記コンテキストからの前記第1のワードに対する前記分布、前記質問からの前記第2のワードに対する前記分布、および前記語彙の前記第3のワードに対する前記分布の重みを生成することと、
前記コンテキストからの前記第1のワードに対する前記分布、前記質問からの前記第2のワードに対する前記分布、および前記語彙の前記第3のワードに対する前記分布の前記重みに基づいて、複合分布を生成することと、
前記複合分布を使用して、答えに含めるワードを選択することと、を含む、方法。
【請求項11】
前記コンテキスト内の前記第1のワードと前記質問内の前記第2のワードとの間のコアテンションを決定することをさらに含む、請求項10に記載の方法。
【請求項12】
前記コンテキストにわたるアテンションと前記質問にわたるアテンションを並列して生成することと、
前記アテンションに基づいて、前記コンテキストおよび前記質問の最終符号化を並列して生成することと、をさらに含む、請求項10または11に記載の方法。
【請求項13】
前記コンテキストからの前記第1のワードと前記質問からの前記第2のワードを並列して符号化することと、
前記コンテキストからの前記第1のワードと前記質問からの前記第2のワードの前記符号化を並列して投影することと、
前記符号化の前記投影をさらに符号化することと、をさらに含む、請求項10~12のいずれか一項に記載の方法。
【請求項14】
前記答えの中間バージョンを符号化し埋め込むことと、
前記答えの符号化および埋め込まれた前記中間バージョンと前記コンテキストの最終符号化との間のアテンションを生成することと、
生成された前記出力から中間復号器状態を生成することと、
前記コンテキストの最終符号化、前記質問の最終符号化、および前記中間復号器状態に基づいて、コンテキストおよび質問復号器状態を生成することと、をさらに含む、請求項10~13のいずれか一項に記載の方法。
【請求項15】
コンピュータデバイスに関連付けられた1つ以上のプロセッサによって実行されるときに、前記1つ以上のプロセッサが方法を行うように適合された実行可能コードを含む非一時的な機械可読媒体であって、前記方法は、
多層符号化器を使用して、コンテキストからの第1のワードと質問からの第2のワードを並列して符号化することと、
多層復号器を使用して、符号化された前記コンテキストおよび符号化された前記質問を復号することと、
前記
多層復号器からの出力に基づいて、前記コンテキストからの前記第1のワード、前記質問からの前記第2のワード、および語彙の第3のワードに対する分布を生成することと、
前記コンテキストからの前記第1のワードに対する前記分布、前記質問からの前記第2のワードに対する前記分布、および前記語彙の前記第3のワードに対する前記分布の重みを生成することと、
前記コンテキストからの前記第1のワードに対する前記分布、前記質問からの前記第2のワードに対する前記分布、および前記語彙の前記第3のワードに対する前記分布の前記重みに基づいて、複合分布を生成することと、
前記複合分布を使用して、答えに含めるワードを選択することと、を含む、非一時的な機械可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、2017年5月18日に出願された「Multitask Learning As Question Answering」と題する米国特許仮出願第62/673,606号、および2018年6月12日に出願された「Multitask Learning As Question Answering」と題する米国特許出願第16/006,691号の優先権を主張し、それらの全体が参照により本明細書に組み込まれる。
【0002】
本開示は、一般に、自然言語処理に関し、より具体的には、自然言語コンテキストに関する自然言語質問に答えることに関する。
【背景技術】
【0003】
自然言語処理と、自然言語のサンプルの内容に関する自然言語質問に答えるシステムの能力は、自然言語形式で提供される情報に関するコンテキスト特有の推論についてテストするためのベンチマークである。これは複雑な作業となる可能性がある。なぜなら、質問され得る自然言語質問には多くの異なるタイプがあり、その答えには異なるタイプの推論および/または異なるタイプの分析が必要になることがあるためである。
【0004】
従って、異なるタイプの自然言語質問に同時に答えることができるように統一されたシステムおよび方法を有することが有利であろう。
【図面の簡単な説明】
【0005】
【
図1】いくつかの実施形態による質問応答として特徴付けられる自然言語処理タスクタイプの例の簡略図である。
【
図2】いくつかの実施形態による計算デバイスの簡略図である。
【
図3】いくつかの実施形態による符号化器の簡略図である。
【
図4】いくつかの実施形態によるアテンションネットワークの簡略図である。
【
図5】いくつかの実施形態によるアテンションベースのトランスフォーマネットワークのための層の簡略図である。
【
図6】いくつかの実施形態による復号器の簡略図である。
【
図7】いくつかの実施形態によるマルチタスク学習方法の簡略図である。
【
図8】いくつかの実施形態による訓練セットの要約の簡略図である。
【
図9】いくつかの実施形態によるシングルタスクおよびマルチタスク学習からの結果の簡略図である。
【
図10】いくつかの実施形態による異なる訓練戦略のための結果の簡略図である。
【
図11】いくつかの実施形態による答えのためのワード選択のためのソースの簡略図である。
【
図12A】いくつかの実施形態による異なる訓練アプローチからの結果の簡略図である。
【
図12B】いくつかの実施形態による異なる訓練アプローチからの結果の簡略図である。
【0006】
図において、同じ称呼有する要素は、同じまたは類似の機能を有する。
【発明を実施するための形態】
【0007】
自然言語情報の内容に関するコンテキスト特有の推論を含むコンテキスト特有の推論は、機械インテリジェンスおよび学習アプリケーションにおいて重要な問題である。コンテキスト特有の推論は、自然言語テキストの解釈に使用するための貴重な情報を提供することがあり、自然言語テキストの内容に関する質問への答え、言語翻訳、意味内容分析など、異なるタスクを含むことができる。しかしながら、これらの異なるタイプの自然言語処理タスクの各々は、異なるタイプの分析および/または異なるタイプの期待される答えを伴うことが多い。
【0008】
自然言語処理におけるマルチタスク学習は、タスクタイプが類似しているときに進展した。しかしながら、言語翻訳、質問応答および分類のような異なるタイプのタスクに取り組むときに、パラメータ共有は、ワードベクトルまたはパラメータのサブセットに制限されることが多い。最終的なアーキテクチャは、典型的には、各タスクタイプに対して高度に最適化され、設計されて、タスクタイプを横断的に一般化する能力を制限している。
【0009】
しかしながら、これらのタスクタイプの多くは、シングルタイプのタスクとしてフレーム化されるときに、同じアーキテクチャおよびモデルによって処理され得る。例えば、すべてではないが多くの自然言語処理タスクを、質問応答タスクとして処理することが可能である。例えば、質問応答、機械翻訳、文書要約、データベースクエリ生成、感情分析、自然言語推論、意味役割ラベル付け、関係抽出、目標指向対話、および代名詞解決のタスクタイプは、質問応答タスクとしてフレーム化されてもよい。
図1は、いくつかの実施形態による質問応答として特徴付けられる自然言語処理タスクタイプの例の簡略図である。
図1の各例は、質問、コンテキスト、および正解を備えた3つの列形式で示される。実施例105は、質問応答タスクの例であり、ここで、質問が、コンテキストの内容に関して尋ねられている。実施例110は、英語からドイツ語への機械翻訳タスクの例であり、ここで、質問が「what is the translation ...」の形式で提示されている。実施例115は、文書要約タスクの例であり、ここで、質問が「what is the summary?」として提示されている。実施例120は、自然言語推論タスクの例であり、ここで、仮説と、その仮説がコンテキストに伴意するか、矛盾するか、または中立であるかについての問いとを使用して提示されている。実施例125は、感情分析タスクの例であり、ここで、コンテキストが肯定的か否定的かについて質問が提示されている。実施例130は、意味役割ラベル付けタスクの例であり、ここで、どのエンティティがコンテキストにおいて指示された役割を演じるかについて質問が提示されている。実施例135は、関係抽出タスクの例であり、ここで、コンテキストにおいて言及されたエンティティのうちの1つの関係に関して質問が提示されている。実施例140は、目標指向対話タスクの例であり、ここで、コンテキストから学習され得る知識に関して質問が提示されている。実施例145は、データベースクエリ生成タスクの例であり、ここで、質問が、データベースクエリ言語(例えば、SQL)への変換を要求している。実施例150は、代名詞解決タスクの例であり、ここで、質問が、コンテキスト中に現れる代名詞に関する質問に答えることに指向されている。
【0010】
図2は、いくつかの実施形態による計算デバイス200の簡略図である。
図2に示すように、計算デバイス200は、メモリ220に結合されたプロセッサ210を含む。計算デバイス200の動作は、プロセッサ210によって制御される。また、計算デバイス200は、1つのプロセッサ210のみで示されているが、プロセッサ210は、計算デバイス200内の1つ以上の中央処理ユニット、マルチコアプロセッサ、マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、グラフィクス処理ユニット(GPU)などを代表するものであってもよいと理解される。計算デバイス200は、スタンドアロン型のサブシステムとして、計算デバイスに追加されたボードとして、および/または仮想マシンとして実装されてもよい。
【0011】
メモリ220は、計算デバイス200および/または計算デバイス200の動作中に使用される1つ以上のデータ構造によって実行されるソフトウェアを記憶するために使用されてもよい。メモリ220は、1つ以上のタイプの機械可読媒体を含んでもよい。機械可読媒体のいくつかの一般的な形態は、フロッピーディスク、フレキシブルディスク、ハードディスク、磁気テープ、他の任意の磁気媒体、CD-ROM、他の任意の光学媒体、パンチカード、紙テープ、穴のパターンを有する他の任意の物理媒体、RAM、PROM、EPROM、FLASH-EPROM、他の任意のメモリチップまたはカートリッジ、および/またはプロセッサまたはコンピュータが読むように適合される他の任意の媒体を含んでもよい。
【0012】
プロセッサ210および/またはメモリ220は、任意の適切な物理的配置で配置されてもよい。いくつかの実施形態において、プロセッサ210および/またはメモリ220は、同じボード、同じパッケージ(例えば、システム・イン・パッケージ)、同じチップ(例えば、システム・オン・チップ)などの上に実装されてもよい。いくつかの実施形態において、プロセッサ210および/またはメモリ220は、分散、仮想化、および/またはコンテナ化された計算リソースを含んでもよい。そのような実施形態と一致して、プロセッサ210および/またはメモリ220は、1つ以上のデータセンタおよび/またはクラウド計算施設に位置してもよい。
【0013】
図示のように、メモリ220は、本明細書でさらに説明される質問応答システムおよびモデルを実装および/またはエミュレートするために、および/または本明細書でさらに説明される任意の方法を実装するために使用され得る質問応答モジュール230を含む。いくつかの例において、質問応答モジュール230は、自然言語コンテキストに関する自然言語質問に答えるために使用されてもよい。いくつかの例において、質問応答モジュール230はまた、自然言語コンテキストに関する自然言語質問に答えるために使用される質問応答システムまたはモデルの反復訓練および/または評価を処理してもよい。いくつかの例において、メモリ220は、1つ以上のプロセッサ(例えば、プロセッサ210)によって実行されるときに、1つ以上のプロセッサが本明細書にさらに詳細に説明される計数方法を行うようにし得る実行可能コードを含む、非一時的、有形、機械可読媒体を含んでもよい。いくつかの例において、質問応答モジュール230は、ハードウェア、ソフトウェア、および/またはハードウェアとソフトウェアの組み合わせを使用して実装されてもよい。図示のように、計算デバイス200は、自然言語コンテキスト240および自然言語コンテキスト240に関する自然言語質問250を受信し、これらは質問応答モジュール230に提供され、質問応答モジュール230は、次に、自然言語コンテキスト240の内容に基づいて、自然言語質問250に対する自然言語応答260を生成する。
【0014】
図3は、いくつかの実施形態による符号化器300の簡略図である。符号化器300は、自然言語コンテキストcおよび自然言語質問qを受信し、これらは、各々、英語、フランス語、ドイツ語、スペイン語などのような自然言語で順序付けられたワードのシーケンスからなる。コンテキストcおよび質問qの両方は、それぞれの符号化層310および315を用いて、行列形式に符号化され、ここで、行列のi番目の行は、式1に従って示されるように、シーケンス中のi番目のトークンまたはワードに対するd
emb次元埋め込みに対応し、ここで、lは、コンテキスト中のワードまたはトークンの数に対応し、mは、質問中のワードまたはトークンの数に対応する。いくつかの例において、各ワードの符号化は、Glove符号化に基づき、ここで、各ワードが
[外1]
の要素として符号化される。いくつかの例において、各ワードの符号化は、文字n-gram符号化に基づき、ここで、各ワードが
[外2]
の要素として符号化される。いくつかの例において、各ワードの符号化はGloVe符号化と文字のn-gram符号化の連結に基づく。いくつかの例において、ワードに対してGloVeおよび/または文字n-gram符号化がないとき(例えば、ワードが英語でないとき)に、ランダム符号化は、GloVe符号化と同じ平均および標準偏差(例えば、平均ゼロおよび標準偏差0.4)を有する正規分布から選択され、そのランダム符号化がそれぞれのワードの各出現に対して一貫して使用される。いくつかの例において、ワードに対してGloVeおよび/または文字n-gram符号化が存在しないとき(例えば、ワードが英語でないとき)に、ゼロの値が使用される。いくつかの例において、訓練中に、正解は、式1にも示されるように、同様に符号化され、ここで、nは、正解におけるワードまたはトークンの数に対応する。
【0015】
【0016】
独立表現 いくつかの例において、符号化されたコンテキストおよび質問に対する独立表現CprojおよびQprojは、それぞれ、式2に従ってそれぞれの線形ネットワーク320および325を使用して生成される。いくつかの例において、それぞれの線形ネットワーク320および325は、符号化されたコンテキストおよび質問の次元をdに減らしてもよい。いくつかの例において、次元数dは200である。式2に示されるように、線形ネットワーク320および325の両方は、同じ重み行列W1および同じバイアスb1を使用するため、独立表現CprojおよびQprojは、d次元空間に一貫して投影される。いくつかの例において、バイアスb1は任意選択であり、省略されてもよい。いくつかの例において、重み行列W1およびバイアスb1は、符号化器300の残りの部分と共に訓練される。
【0017】
【0018】
コンテキストCprojおよび質問Qprojのための投影表現は、式3に従ってCindおよびQindを形成するために、共有された1層の双方向長短期記憶ネットワーク(BiLSTM:bidirectional Long Short-Term Memory Network)330に渡される。
【0019】
【0020】
BiLSTM 330は、式4に従って、
[外3]
および
[外4]
の連結としてh
iとしての各時間ステップiにおいて出力を生成し、ここで、xは、biLSTM330への入力であり、LSTMは、長短期記憶ネットワークに対応する。いくつかの例において、BiLSTM330は、入力に対して0.2のドロップアウトを使用する。
【0021】
【0022】
アライメント biLSTM330の出力C
indおよびQ
indは、コアテンションネットワーク(Coattention network)340を使用して、コアテンド表示(coattended representation)C
proj、Q
proj、C
sum、Q
sum、C
coaおよびQ
coaを生成するために使用される。コアテンションネットワーク340は、まず、コンテキストおよび質問のシークエンスの符号化表現を整列する。いくつかの例において、質問またはコンテキストのシーケンスからのいくつかのトークンは、質問とコンテキストシーケンスの他のものにおけるいかなるトークンともうまく整合しないことがあるため、別々に訓練されたダミー埋め込みがC
indおよびQ
indの各々に追加され、これらは、
[外5]
および
[外6]
にある。
【0023】
コアテンションネットワーク340は、次に、式5に従って、質問およびコンテキストに対する符号化トークンの各々の間の正規化されたドット積類似性スコアを生成し、ここで、softmax(X)は、行列Xの各列を正規化し、合計が1になるようにエントリを有する列ごとのソフトマックスを示す。
【0024】
【0025】
デュアルコアテンション 次いで、コアテンションネットワーク340は、正規化されたドット積類似性スコアScqおよびSqcを重みとして使用し、式6に従って、コンテキストおよび質問のシーケンスから、コンテキストおよび質問のシーケンスの他方において各トークンに関連する情報の要約を決定する。
【0026】
【0027】
次いで、コアテンションネットワーク340は、式7に従って、正規化されたドット積類似性スコアScqおよびSqcの使用と共にコアテンド表示CsumおよびQsumを使用して、アライメントから得られた情報を元のシークエンスに戻すように伝達する。
【0028】
【0029】
コアテンド表示C
coaとQ
coaの第1の列は、以前に追加されたダミー埋め込みに対応する。この情報は必要とされないため、コアテンションネットワーク340は、行列のその列をドロップして、
[外7]
および
[外8]
を得る。
【0030】
圧縮 2つのbiLSTM350および355が、2つの別々のグループにあるコアテンションネットワーク340からの出力を圧縮するために使用される。コアテンションネットワーク340からの出力は、2つのグループに連結され、各グループは、式8および式9に従って、それぞれ、biLSTM350および355によって処理される。いくつかの例において、BiLSTM350および355は、入力に対して0.2のドロップアウトを使用する。
【0031】
【0032】
【0033】
セルフアテンションbiLSTM350および355の出力C
comおよびQ
comは、次に、それぞれの多層セルフアテンションベースのトランスフォーマの符号化器部分に渡される。より具体的には、biLSTM350の出力C
comはセルフアテンション符号化器360に渡され、セルフアテンション符号化器360の出力C
self1はセルフアテンション符号化器370に渡されて、出力C
self2を生成する。並列に、biLSTM355の出力Q
comはセルフアテンション符号化器365に渡され、セルフアテンション符号化器365の出力Q
self1はセルフアテンション符号化器375に渡されて、出力C
self2を生成する。いくつかの例において、セルフアテンション符号化器360および370は、コンテキスト内の長距離依存性を捕捉し、セルフアテンション符号化器365および375は、質問内の長距離依存性を捕捉する。また、符号化器300は、コンテキストおよび質問の各々について、2つのセルフアテンション符号化器とともに示されているが、符号化器300は、コンテキストおよび質問の一方または両方について、1つのセルフアテンション符号化器のみまたは3つ以上のセルフアテンション符号化器を含んでもよい。各セルフアテンション符号化器360、365、370、および375は、位置ごとに完全に接続されたフィードフォワードネットワークに続いて、
図4および
図5に関して以下にさらに詳細に説明されるように、レジデュアルコネクション(residual connection)および層正規化と共に、マルチヘッドセルフアテンション機構を含む。
【0034】
図4は、いくつかの実施形態によるアテンションネットワーク400の簡略図である。
図4に示されるように、アテンションネットワーク400は、クエリ
[外9]
、キー
[外10]
、および値
[外11]
を受信する。q、k、およびvの各々は、式10に従って、それぞれの重みW
Q410、W
K420、およびW
V430に従う。重みW
Q410、W
K420、およびW
V430は、逆伝播を使用して訓練中に変更される。
【0035】
【0036】
得られたQベクトル、Kベクトル、およびVベクトルは、QとKのドット積を生成するアテンション伝達関数440を通過し、次に、式11に従ってVに適用される。
【0037】
【0038】
次に、追加および正規化モジュール450を使用して、クエリqをアテンション伝達関数からの出力と組み合わせて、アテンションネットワーク400による学習速度を改善するレジデュアルコネクションを提供する。加算および正規化モジュール450は、式12を実装し、ここで、μおよびσは、それぞれ、入力ベクトルの平均および標準偏差であり、giは、層の正規化をスケーリングするための利得パラメータである。加算および正規化モジュール450からの出力は、アテンションネットワーク400の出力である。
【0039】
【0040】
アテンションネットワーク400は、しばしば2つの変形形態で使用される。第1の変形形態は、マルチヘッドアテンションネットワークであり、ここで、アテンションネットワーク400と一致する複数のアテンションネットワークが並列に実装され、マルチヘッドアテンションネットワークの「ヘッド」の各々は、それ自身の重みWQ410、WK420、およびWV430を有し、これらは、異なる値に初期化され、異なる符号化を学習するように訓練される。次に、ヘッドの各々からの出力は、一緒に連結され、マルチヘッドアテンションネットワークの出力を形成する。第2の変形形態は、マルチヘッドアテンションネットワークであるセルフアテンションネットワークであり、ここで、q、k、およびvの入力はアテンションネットワークの各ヘッドに対して同じである。
【0041】
セルフアテンションベースの層は、さらに、2017年6月12日に提出された、Vaswaniらによる“Attention is All You Need,” arXiv preprint arXiv:1706.03762に説明されており、その全体が参照により本明細書に組み込まれる。
【0042】
図5は、いくつかの実施形態によるアテンションベースのトランスフォーマネットワークのための層500の簡略図である。
図5に示されるように、層500は、符号化器510および復号器520を含む。
【0043】
符号化器510は、層入力(例えば、符号化スタック内の第1の層のための入力ネットワークから、または符号化スタックの他のすべての層のための次の最下位の層の層出力から)を受信し、マルチヘッドアテンションネットワーク511の3つの全ての入力にそれを提供する。したがって、マルチヘッドアテンションネットワーク511は、セルフアテンションネットワークとして構成されている。マルチヘッドアテンションネットワーク511の各ヘッドは、アテンションネットワーク400と一致する。いくつかの例において、マルチヘッドアテンションネットワーク511は、3つのヘッドを含むが、2つ、または3つより多い数などの他の数のヘッドが可能である。いくつかの例において、各アテンションネットワークは、寸法が200で、隠れたサイズが128である。マルチヘッドアテンションネットワーク511の出力は、フィードフォワードネットワーク512に提供され、フィードフォワードネットワーク512の入力および出力の両方が、符号化器510のための層出力を生成する加算および正規化モジュール513に提供される。いくつかの例において、フィードフォワードネットワーク512は、正規化線形ユニット(ReLU)活性化を備えた2層パーセプトロンネットワークであり、これは、式13を実装し、ここで、γはフィードフォワードネットワーク512への入力であり、Miおよびbiは、パーセプトロンネットワーク内の各層の重みおよびバイアスである。いくつかの例において、加算および正規化モジュール513は、加算および正規化モジュール450と実質的に類似している。
【0044】
【0045】
復号器520は、層入力を(例えば、復号スタック内の第1の層のための入力ネットワークから、または復号スタックの他のすべての層のための次の最下位の層の層出力から)受信し、マルチヘッドアテンションネットワーク521の3つの全ての入力にそれを提供する。したがって、マルチヘッドアテンションネットワーク521は、セルフアテンションネットワークとして構成されている。マルチヘッドアテンションネットワーク521の各ヘッドは、アテンションネットワーク400と一致する。いくつかの例において、マルチヘッドアテンションネットワーク521は、3つのヘッドを含むが、2つ、または3つより多い数などの他の数のヘッドが可能である。マルチヘッドアテンションネットワーク521の出力は、別のマルチヘッドアテンションネットワーク522への入力qとして提供され、マルチヘッドアテンションネットワーク522の入力kおよびvは、符号化器からの出力で提供される。マルチヘッドアテンションネットワーク521の各ヘッドは、アテンションネットワーク400と一致する。いくつかの例において、マルチヘッドアテンションネットワーク522は、3つのヘッドを含むが、2つ、または3つより多い数などの他の数のヘッドが可能である。いくつかの例において、各アテンションネットワークは、寸法が200で、隠れたサイズが128である。マルチヘッドアテンションネットワーク522の出力は、フィードフォワードネットワーク523に提供され、フィードフォワードネットワーク523の入力および出力の両方が、符号化器510のための層出力を生成する加算および正規化モジュール524に提供される。いくつかの例において、フィードフォワードネットワーク523および追加および正規化モジュール524は、それぞれフィードフォワードネットワーク512および追加および正規化モジュール513と実質的に類似している。
【0046】
図3に戻って参照すると、セルフアテンション符号化器360、365、370、および/または375の各々は、符号化器510と一致し、式14に従ってセルフアテンションベースの符号化を生成し、ここで、SAEncode(X)は、符号化器510によって行われる符号化に対応し、Xは、マルチヘッドアテンションネットワーク511によって受信される入力に対応する。
【0047】
【0048】
最終符号化コンテキストのための最後の符号化が、次に、式15に従ってBiLSTM380を使用して、コンテキスト情報を経時的に統合することによって、セルフアテンション符号化器370からの出力Cself2から生成される。同様に、質問のための最後の符号化が、次に、式15に従ってBiLSTM385を使用して、質問情報を経時的に統合することによって、セルフアテンション符号化器375からの出力Qself2出力から生成される。いくつかの例において、BiLSTM380および385は、入力に対して0.2のドロップアウトを使用する。
【0049】
【0050】
図6は、いくつかの実施形態による復号器の簡略図である。復号器600は、反復アプローチを使用して、一度に単一のワードまたはトークンを生成する。
図6は、答えの生成においてどの反復が参照されているかを示す下付き文字を使用する時間的/位置的関係を表す。(例えば、X
tはt回目の反復からのXの値を参照し、X
t-1は(t-1)回目の反復、つまりt回目の反復の前の反復からのXの値を参照する)。式1に関して上述したように、復号器600が訓練中に使用されるときに、正解は、コンテキストおよび質問に対して使用されるのと同じ符号化を使用して、最初に符号化される。
【0051】
答え表現埋め込みおよび符号化器610は、部分的に形成された答えを、式16に従ってコンテキストおよび質問に対する埋め込みと同様のd次元空間に投影するために使用される。
【0052】
【0053】
答え内のワードまたはトークンは、再帰および畳み込みの両方を欠くため、位置符号化PEは、式17に従ってAprojに加算される。
【0054】
【0055】
マルチヘッド復号器アテンション埋め込みおよび符号化器610の出力は、次に、セルフアテンション復号器620に渡され、その出力は、次に、式18に従ってセルフアテンション復号器630に渡されてASELFを生成し、ここで、SADecode(A,B)は、復号器520によって行われる復号に対応し、Aは、マルチヘッドアテンションネットワーク521によって受信される層入力に対応し、Bは、マルチヘッドアテンションネットワーク522によって受信される符号化入力に対応する。セルフアテンションが使用されて、復号器600が、答えに追加される次のワードまたはトークンに備えるために、コンテキストに対する前の出力およびアテンションを認識するようにする。しかしながら、訓練中、および復号器が段階的に動作するため、埋め込みおよび符号化された正解の適切なエントリは、式18を適用するときに復号器600が将来の時間ステップを見ることを防止するために、大きな負の数に設定される。
【0056】
【0057】
中間復号器状態LSTM640は、式19に従って、前の答えワードまたはトークンASELF
t-1、前の反復からのコンテキスト復号器状態
[外12]
、および前の反復からの中間状態h
t-1を使用して、現在の反復の中間状態h
tを生成する。いくつかの例において、LSTM640は、入力に対して0.2のドロップアウトを使用する。
【0058】
【0059】
コンテキストおよび質問アテンションLSTM640からの中間状態htは、コンテキストおよび質問アテンションネットワーク650に提供される、すなわち、式20に従って、最初に、コンテキストCfinの最終符号化および質問Qfinの最終符号化に対して、それぞれ、アテンション重みαCtおよびαQtを生成し、ここで、W2およびW3は、訓練可能な重み行列である。いくつかの例において、コンテキストおよび質問アテンションネットワーク650は、式20内に訓練可能なバイアスb2およびb3を任意選択で含めてもよい。アテンション重みにより、復号器600が各反復tに関連する符号化情報に焦点を合わせることを可能にする。
【0060】
【0061】
再帰コンテキスト状態コンテキストおよび質問アテンションネットワーク650は、次に、アテンション重みα
Ctおよびα
Qtによってそれぞれ重み付けされたコンテキストC
finの最終符号化および質問Q
finの最終符号化を、式21に従って隠れ状態h
tと組み合わせて、コンテキスト表現
[外13]
および質問表現
[外14]
を生成し、ここで、W
4およびW
5は、訓練可能な重みであり、tanhは、双曲線正接伝達関数である。いくつかの例において、コンテキストおよび質問アテンションネットワーク650は、式21内に訓練可能なバイアスb
4およびb
5を任意選択で含めてもよい。いくつかの例において、他の非線形伝達関数が式21と共に使用され得る。
【0062】
【0063】
マルチポインタ生成器 ポインタ生成器660は、コンテキスト内のワードまたはトークンおよび質問内のワードまたはトークンに対する分布だけではなく、生成語彙からのワードまたはトークンvに対する分布も生成するために使用される。分布は、コンテキスト、質問、および語彙からのワードまたはトークンの各々が、現在の反復tにおいて復号器600によって選択される次のワードまたはトークンである可能性を割り当てる。分布は、式22に従って生成され、ここで、WVは、訓練可能な重み行列である。いくつかの例において、ポインタ生成器660は、式22内の生成語彙に対する分布pvを生成するために、式22内に訓練可能なバイアスbvを任意選択で含めてもよい。
【0064】
【0065】
次いで、ポインタ生成器660は、各部分p
c、p
q、p
vが
[外15]
にあるように、各分布における欠落エントリを0に設定することによって、コンテキスト、質問、および生成語彙におけるトークンの結合に対して分布p
c、p
q、およびp
vを拡張する。
【0066】
スイッチ670が、次に、式23に従って、現在の反復に対する次のワードまたはトークンを決定する際のコンテキストおよび質問の重要性を決定するために使用し、ここで、σは、logsig、tansigなどのシグモイド伝達関数である。
【0067】
【0068】
スイッチ670は、式24に従って合成分布を生成し、現在の反復に対する次のワードまたはトークンが、最大の可能性を有する合成分布からのワードまたはトークンに基づいて選択される。選択されたワードまたはトークンが、次に、答えに追加され、埋め込みおよび符号化器610にフィードバックされ、ここで、復号器600の別の反復が開始される。復号器600は、最大の数、ワードまたはトークンが選択されるまで、および/または答えの終わりを示すセンチネルワードまたはトークンが選択されるまで、反復し続ける。
【0069】
【0070】
いくつかの実施形態によれば、訓練中に、符号化器300および復号器600は、式25に従って、各時間ステップにわたってトークンレベルの負の対数尤度損失関数Lを使用して、逆伝播によって訓練され、ここで、atは、答え内のt番目のワードまたはトークンに対応する。
【0071】
【0072】
図3~
図6のネットワークは、複数のタスク(例えば、質問応答、機械翻訳、文書要約、データベースクエリ生成、感情分析、自然言語推論、意味役割ラベル付け、関係抽出、目標指向対話、代名詞解決)に使用され、各タスクタイプを横断する様々な層およびネットワークに対するそのパラメータを共有するため、注意深く訓練されない場合、破滅的な忘却の影響を受けやすいかもしれない。これに対処するために、いくつかの実施形態では、
図3~
図6のネットワークは、修正ジョイント戦略に従って訓練されてもよく、ここで、
図3~
図6のネットワークは、訓練サンプルが提示される順序を用いて訓練され、
図3~
図6のネットワークを、タスクタイプの各々のバランスのとれた混合に対して同時に訓練する。すなわち、
図3~6のネットワークに訓練サンプルが提示される順序は、異なるタスクタイプから連続訓練サンプルまたは連続する小グループ(例えば、2~10程度)の訓練サンプルを選択する。いくつかの例において、ジョイント戦略は、訓練の各反復に伴うタスクタイプの異なる1つから訓練サンプル(コンテキストc、質問q、および正解a)を選択することを含む。ジョイント戦略の目標は、別のタスクタイプに対してあるタスクタイプに重点を置きすぎることなく、タスクタイプの各々に対して同時に訓練することである。
【0073】
図7は、いくつかの実施形態によるマルチタスク学習方法の簡略図である。方法700の710~780のうちの1つ以上は、少なくとも部分的に、1つ以上のプロセッサによって動作されるときに、1つ以上のプロセッサがプロセス710~780のうちの1つ以上を行うようにし得る、非一時的な有形の機械可読媒体に記憶された実行可能コードの形態で実装されてもよい。いくつかの実施形態において、方法700は、
図3~
図6のネットワークを訓練するためのハイブリッド訓練戦略として使用され得るが、方法700は、
図3~
図6のネットワーク以外の他のマルチタスクシステムを訓練するためにも使用され得る。いくつかの例において、方法700は、カリキュラム(curriculum)および/または反カリキュラム(anti-curriculum)戦略と一致してもよい。いくつかの実施形態において、方法700によって訓練されるタスクタイプは、質問応答、機械翻訳、文書要約、データベースクエリ生成、感情分析、自然言語推論、意味役割ラベル付け、関係抽出、目標指向対話、代名詞解決などの様々な自然言語処理タスクタイプのいずれかを含んでもよい。
【0074】
プロセス710では、訓練サンプルは、第1の訓練戦略に従って選択される。いくつかの実施形態では、第1の訓練戦略は、訓練サンプルが、ネットワークが訓練されているタスクタイプのサブセットから選択されるジョイント訓練戦略である。いくつかの例において、タスクタイプのサブセットは、タスクタイプの完全セットから選択されてもよい。いくつかの例において、タスクタイプの完全セットは、質問応答、機械翻訳、文書要約、データベース質問生成、感情分析、自然言語推論、意味的役割ラベリング、関係抽出、目標指向対話、代名詞解決などから選択された1つ以上のタスクタイプを含んでもよい。
【0075】
いくつかの実施形態において、タスクタイプのサブセットは、カリキュラム戦略に従って選択されてもよく、ここで、訓練サンプルは、訓練が比較的少数の訓練反復で収束するタスクタイプから選択される。いくつかの例において、カリキュラム訓練のためのタスクタイプのサブセットは、データベースクエリ生成、感情分析、意味役割ラベル付け、関係抽出、目標指向対話、代名詞解決などから選択された1つ以上のタスクタイプを含んでもよい。
【0076】
いくつかの実施形態において、タスクタイプのサブセットは、反カリキュラム戦略に従って選択されてもよく、ここで、訓練サンプルは、より学習困難である、より長い答えシーケンスを有する、および/または異なるタイプの復号を含むと特徴付けられるタスクタイプから選択される。いくつかの例において、反カリキュラム訓練のためのタスクタイプのサブセットは、質問応答、要約、機械翻訳、および/または自然言語推論から選択された1つ以上のタスクタイプを含んでもよい。
【0077】
いくつかの例において、選択された訓練サンプルは、コンテキストおよび質問にそれぞれ対応する自然言語コンテキストおよび自然言語質問、ならびに正解自然言語答えを含む。
【0078】
プロセス720では、選択された訓練サンプルがシステムに提示される。いくつかの例において、システムは、符号化器300および復号器600を含む。訓練サンプルがシステムに適用されるときに、現在訓練されているパラメータ(例えば、重みおよびバイアス)に従って、訓練サンプルはシステムの種々の層を通ってフィードフォワードされ、答えが生成される。いくつかの例において、答えは自然言語句である。
【0079】
プロセス730では、システムは誤差に基づいて調整される。プロセス720中にシステムによって生成された答えが、選択された訓練サンプルについての正解と比較され、選択された訓練サンプルについての誤差が決定される。誤差は、次に、層の様々なパラメータ(例えば、重みおよびバイアス)を更新するために、逆伝播を使用してシステムにフィードバックされてもよい。いくつかの例において、逆伝播は、確率勾配降下(SGD)訓練アルゴリズム、適応モーメント推定(ADAM)訓練アルゴリズムなどを使用して行われてもよい。いくつかの例において、ADAMのメタパラメータは
[外16]
に設定される。いくつかの例において、学習速度は、k
-1/2で減衰される前の最初の800回の反復で、0から2.5x10
-3まで直線的に増加され、ここで、kは反復カウントである。いくつかの例において、逆伝播に使用される勾配は、1.0にクリップされてもよい。
【0080】
プロセス740では、タスクタイプのサブセットに基づく訓練から、タスクタイプの完全セットに基づく訓練に切り替えるかどうかが決定される。いくつかの例において、所定の数の訓練サンプルが提示された後に、タスクタイプの完全なセットに切り替える決定が発生する。いくつかの例において、所定の数の訓練サンプルは300,000であってもよいが、他の所定の数の訓練サンプルが可能である。いくつかの例において、タスクタイプのサブセット内のタスクタイプの各々に対する訓練サンプルの各々が、所定の回数だけ選択された後に、タスクタイプの完全セットに切り替える決定が発生する。いくつかの例において、所定の回数は5回であってもよいが、3回、4回、および/または6回以上のような任意の他の回数も使用されてもよい。いくつかの例において、1つ以上の他のファクタが使用されて、タスクタイプの完全セットを使用して訓練にいつ切り替えるかに関する決定をなしてもよい。いくつかの例において、1つまたは他のファクタは、訓練サンプルを通した各パスを伴うタスクタイプのサブセット内のタスクタイプの各々に対するパフォーマンスメトリックの変化を監視することと、各パス後のパフォーマンスメトリックの各々における改善が閾値量よりも小さく改善されたときに切り替えをなすことと、を含んでもよい。タスクタイプの完全セットに対する訓練に切り替えないと決定されたときに、方法700は、プロセス710に戻り、ここで、訓練サンプルは、タスクタイプのサブセットから選択され続ける。タスクタイプの完全セットから訓練に切り替えることが決定されるときに、訓練サンプルの選択は、プロセス750で開始するタスクタイプの完全セットを使用して発生する。
【0081】
プロセス750では、訓練サンプルは、タスクタイプの完全なセットから選択される。いくつかの例において、タスクタイプの完全セットは、質問応答、機械翻訳、文書要約、データベースクエリ生成、感情分析、自然言語推論、意味役割ラベル付け、関係抽出、目標指向対話、代名詞解決などから選択される1つ以上のタスクを含む。
【0082】
プロセス760では、選択された訓練サンプルは、プロセス720と実質的に同じプロセスを使用してシステムに提示される。
【0083】
プロセス770では、システムは、プロセス730と実質的に同じプロセスを使用して誤差に基づいて調整される。
【0084】
プロセス780では、訓練が完了しているかどうかが決定される。いくつかの例において、所定の数の訓練サンプルが提示された後に訓練が完了する。いくつかの例において、訓練は、完全セットのタスクタイプ内のタスクタイプの各々に対する訓練サンプルが所定の回数システムに提示された後に完了する。いくつかの例において、所定の回数は8回であってもよいが、2~7回および/または9回以上のような任意の他の回数も使用されてもよい。いくつかの例において、1つ以上の他のファクタが、訓練が完了したときに関する決定をなすために使用されてもよい。いくつかの例において、1つまたは他のファクタは、訓練サンプルを通した各パスを伴うタスクタイプの各々に対するパフォーマンスメトリックの変化を監視することと、各パス後のパフォーマンスメトリックの各々における改善が閾値量よりも小さく改善されたときになにもないことと、を含んでもよい。訓練が完了していないと決定されたときに、方法700は、プロセス740に戻り、ここで、訓練サンプルは、タスクタイプの完全なセットから選択され続ける。訓練が完了したと決定されたときに、方法700は終了し、訓練されたシステムは、訓練されたタスクのいずれに対しても使用され得る。
【0085】
訓練が完了した後、訓練されたシステムは、プロセス720および/または760と実質的に同様のプロセスを使用して、タスクタイプのいずれに対しても使用されてもよく、ここで、コンテキストcおよび質問qは、システムに提示され、方法700に従って訓練されたパラメータ(例えば、重みおよびバイアス)に従って、システムの様々な層を通ってフィードフォワードされてもよい。生成された答えは、提示されたコンテキストcおよび質問qへの答えに対応する。
【0086】
図8は、いくつかの実施形態による訓練セットの要約の簡略図である。より具体的には、
図8は、各タスクタイプ、使用したデータセット、データセット中の訓練サンプル数、データセット中の開発/検証サンプル中のサンプル数、データセット中の試験サンプル数、および使用したパフォーマンス測定基準を示す。
【0087】
質問応答(Question Answering)タスクタイプに対する訓練サンプルは、Wikipedia記事のパラグラフサンプルに関連する質問に基づく訓練サンプルを含む、Stanford Question Answering Dataset (SQuAD)に基づく。質問応答タスクタイプに使用されるパフォーマンス測定基準は、正規化F1(nF1)スコアである。
【0088】
機械翻訳(Machine Translation)タスクタイプに対する訓練サンプルは、TEDトークから転記された文対を含む、英語からドイツ語への音声言語翻訳についての国際ワークショップ(IWSLT EN->DE)訓練セットに基づく。機械翻訳タスクタイプに使用されるパフォーマンス測定基準は、BLEUスコアである。
【0089】
要約(Summarization)タスクタイプに対する訓練サンプルは、CNN日報(CNN/DM)訓練セットから選択される。要約タスクタイプに使用されるパフォーマンス測定基準は、ROUGEスコアである。
【0090】
自然言語推論(Natural Language Inference)タスクタイプに対する訓練サンプルは、Multi-genre Natural Language Inference Corpus(MNLI)訓練セットから選択される。自然言語推論タスクタイプに使用されるパフォーマンス測定基準は、正規化F1(nF1)スコアである。
【0091】
感情分析(Sentiment Analysis)タスクタイプに対する訓練サンプルは、Stanford Sentiment Treebank (SST)に基づく。SSTは、映画レビューと彼らの感情に基づいた訓練サンプルを含む。感情分類タスクタイプに使用されるパフォーマンス測定基準は、正規化F1(nF1)スコアである。
【0092】
意味役割ラベル付け(Semantic Role Labeling)タスクタイプに対する訓練サンプルは、Question-Answer Semantic Role Labeling(QA‐SRL)訓練セットから選択される。意味役割ラベル付けタスクタイプに使用されるパフォーマンス測定基準は、正規化F1(nF1)スコアである。
【0093】
関係抽出(Relationship Extraction)タスクタイプに対する訓練サンプルは、Question-Answer Zero-shot Relation Extraction(QA-ZRE)訓練セットから選択される。関係抽出タスクタイプに使用されるパフォーマンス測定基準は、F1スコアです。
【0094】
目標指向対話(Goal-Oriented Dialog)タスクタイプに対する訓練サンプルは、Wizard of Oz(WOZ)訓練セットから選択される。目標指向対話タスクタイプに使用されるパフォーマンス測定基準は、完全一致(EM)スコアである。
【0095】
データベースクエリ生成(Database Query Generation)タスクタイプに対する訓練サンプルは、WikiSQL訓練セットから選択される。データベースクエリ生成タスクタイプに使用されるパフォーマンス測定基準は、完全一致(EM)スコアである。
【0096】
代名詞解決(Pronoun Resolution)タスクタイプに対する訓練サンプルは、Modified Winograd Schema Challenge(MWSC)訓練セットから選択される。代名詞解決タスクタイプに使用されるパフォーマンス測定基準は、正規化F1(nF1)スコアである。
【0097】
図9は、いくつかの実施形態によるシングルタスクおよびマルチタスク学習からの結果の簡略図である。より具体的には、
図8は、質問応答、機械翻訳、文書要約、データベースクエリ生成、感情分析、自然言語推論、意味役割ラベル付け、関係抽出、目標指向対話、代名詞解決を含む様々なタスクタイプに対する、符号化器300および復号器600などの訓練システムの結果を示す。
【0098】
訓練の結果は、複合Decathlon Score(decaScore)に従ってさらに評価される。decaScoreは、タスク固有のパフォーマンス測定基準の加算的な組み合わせを含む。個々のパフォーマンス測定基準は各々0~100の間にあるため、10タイプのタスクにわたる複合パフォーマンススコアのdecaScoreは0~1000の間にある。
【0099】
図9のシングルタスク訓練列は、Seeらの“Get to the Point: Summarization with Pointer-generator Networks,” arXiv preprint arXiv:1704.04368, 2017のポインタ生成器sequence-to-sequence model(S2S)、Vaswaniらの“Attention is All You Need,” arXiv preprint arXiv:1706.03762, 2017のS2Sの下位層がセルフアテンション符号化器および符号器層に置換されたS2Sのバージョン(w/SAtt)、コンテキストおよび質問の両方の表現を別々にビルドし、その2つがどのように相互作用するかを明示的にモデル化するコアテンションメカニズムで強化されたS2Sのバージョン(+CAtt)、および質問ポインタが追加された+CAttのバリエーション(+QPtr)を使用して分離して訓練されたときに、それぞれのパフォーマンス測定基準に対するタスクタイプの各々についてのベースライン結果を示す。
【0100】
図9のマルチタスク訓練カラムは、さらに、訓練を通してタスクタイプの各々から訓練サンプルが選択されるジョイント訓練戦略を使用したモデルの各々の訓練の結果を示す。符号化器300および復号器600の訓練のさらなる結果(+ACurr)は、方法700の訓練の反カリキュラムバージョンを使用し、ここで、タスクタイプの初期サブセットは、質問応答(SQuAD)訓練セットからの訓練サンプルのみを含む。
図8が示すように、符号化器300および復号器600を使用する方法700の反カリキュラム訓練は、これらのモデルの各々について、より良い全体的な複合結果(デカスコアによって測定されるように)をもたらす。
【0101】
図10は、いくつかの実施形態に従った、異なる訓練戦略に関する結果の簡略図である。より具体的には、
図10は、完全ジョイント(Fully Joint)戦略の使用、タスクタイプのサブセットがデータベースクエリ生成、感情分析、意味役割ラベル付け、関係抽出、目標指向対話、および代名詞解決に限定されるカリキュラムベースのアプローチ(Curriculum)を採用する方法700の使用、タスクタイプのサブセットが質問応答に限定されたもの(SQuAD)、質問応答、機械翻訳、および要約に限定されたもの(+IWSLT+CNN/DM)、質問応答、機械翻訳、要約、および自然言語推論に限定されたもの(+MNLI)である反カリキュラムベースのアプローチ(anti-curriculum)を採用する方法700の使用での訓練符号化器300と復号器600との差異を示す。図に示すように、カリキュラムベースの方法700のバリエーションは、完全ジョイント戦略ほどには機能しなかった。しかし、初期サブセットにおける質問応答訓練サンプルのみを使用した反カリキュラムアプローチ(SQuAD)を有する方法700の使用は、完全ジョイント戦略に対して全体的な改善を示し、タスクタイプの各々に対する改善またはわずかな劣化を示した。タスクタイプのサブセットが、他の作業タイプの訓練サンプルを含むように拡張されたときに、パフォーマンスの全体的な改善は発生しなかった。
【0102】
図11は、いくつかの実施形態による答えのためのワード選択のためのソースの簡略図である。より具体的には、
図11は、タスクタイプの各々について、コンテキスト、質問、または生成語彙のうち、どれがスイッチ670によって選択され、式23および式24で使用されるγ値およびλ値に基づいて、答えのために選択されるワードまたはトークンのソースとなる可能性がより高いかを示す。図示されるように、感情分析(SST)、自然言語推論(MNLI)、および代名詞解決(MWSC)タスクタイプは、質問が答えの分類オプションを含む傾向があるため、質問からのワードまたはトークンを好む。機械翻訳(IWSLT)および目標指向対話(WOZ)タスクタイプは、コンテキストも質問も答えに望ましいワードを含まない傾向があるため、語彙からのワードまたはトークンを好む。
【0103】
図12Aは、いくつかの実施形態による、新しい機械翻訳タスクタイプのための異なる訓練アプローチからの結果の簡略図である。より具体的には、
図12Aは、IWSLT英語からチェコへの訓練サンプルのみに対してランダムスタートから訓練された符号化器300と復号器600(曲線1210)と比較して、方法700に従って予備訓練された符号化器300と復号器600を使用するIWSLT英語からチェコへの(IWSLT EN->Cs)訓練セットからの訓練サンプルを使用する新しい機械翻訳タスクタイプに対する訓練の結果を示す。
【0104】
図12Bは、いくつかの実施形態による新しい分類タスクのための異なる訓練アプローチからの結果の簡略図である。より具体的には、
図12Bは、NER訓練サンプルのみに対してランダムスタートから訓練された符号化器300と復号器600(曲線1240)と比較して、方法700に従って予備訓練された符号化器300と復号器600を使用する固有表現抽出(NER)タスクタイプ訓練サンプルに対する訓練の結果を示す。
【0105】
図示されるように、方法700(曲線1210および1230)を使用する予備訓練は、シングルタスク訓練(曲線1220および1240)よりも良好なパフォーマンス結果を提示し、方法700のマルチタスク訓練を使用して、自然言語処理タスクの予備訓練を行い、追加的に、符号化器300および復号器600に基づく既に訓練されたネットワークを新たなタスクに対して適合させる利点を提示している。
【0106】
計算デバイス200のような計算デバイスのいくつかの例は、1つ以上のプロセッサ(例えば、プロセッサ210)によって動作されるとき、1つ以上のプロセッサが方法700のプロセスを行う、および/または
図3~6の構造をエミュレートし得る実行可能コードを含む、非一時的な有形の機械可読媒体を含んでもよい。方法700のプロセスおよび
図3~6のエミュレーションを含み得る機械可読媒体のいくつかの一般的な形態は、例えば、フロッピーディスク、フレキシブルディスク、ハードディスク、磁気テープ、他の任意の磁気媒体、CD-ROM、他の任意の光学媒体、パンチカード、紙テープ、穴のパターンを有する他の任意の物理媒体、RAM、PROM、EPROM、FLASH-EPROM、他の任意のメモリチップまたはカートリッジ、および/またはプロセッサまたはコンピュータが読むように適合される任意の他の媒体を含んでもよい。
【0107】
発明の態様、実施形態、実装、または用途を例示するこの説明および添付の図面は、限定的なものとして解釈されるべきではない。様々な機械的、組成的、構造的、電気的、および動作上の変更は、この説明および特許請求の範囲の精神および範囲から逸脱することなくなされてもよい。いくつかの例において、本開示の実施形態を不明瞭にしないために、周知の回路、構造、または技術が詳細に示されていないか、または説明されていない。2つ以上の図の同様の数字は、同じまたは類似の要素を表す。
【0108】
この説明では、本開示と矛盾しないいくつかの実施形態を説明する特定の詳細が記載される。実施形態の完全な理解を提供するために、多数の具体的な詳細が記載される。しかしながら、いくつかの実施形態が、これらの特定の詳細の一部または全部なしに実施され得ることは、当業者には明らかであろう。本明細書に開示される特定の実施形態は、例示的であるが、限定的ではないことを意味する。当業者は、本明細書に具体的に説明されていないが、本開示の範囲および精神内にある他の要素を認識してもよい。追加的に、不必要な繰り返しを避けるために、1つの実施形態に関連して示され説明された1つ以上の特徴は、具体的に述べられていない限り、または1つ以上の特徴が実施形態を非機能的にする場合を除いて、他の実施形態に組み込まれてもよい。
【0109】
例示的な実施形態が示され説明されたが、広範囲の修正、変更および置換が、前述の開示において考えられ、いくつかの例において、実施形態のいくつかの特徴は、他の特徴の対応する使用なしに使用され得る。当業者であれば、多くのバリエーション、代替案、および修正を認識するであろう。したがって、本発明の範囲は、以下の特許請求の範囲によってのみ限定されるべきであり、特許請求の範囲は、本明細書に開示された実施形態の範囲と一致する方式で広く解釈されることが適切である。