(57)【要約】自然言語処理のためのシステムが提供される。いくつかの実施形態では、システムは、単語の少なくとも一つの入力シーケンスについて文脈固有の単語ベクトルを生成するエンコーダを含む。該エンコーダは第一の自然言語処理タスクを実行するためのトレーニング・データを使って事前トレーニングされている。ニューラル・ネットワークが、前記文脈固有の単語ベクトルを使って、単語の前記少なくとも一つの入力シーケンスに対して第二の自然言語処理タスクを実行する。第一の自然言語処理タスクは第二の自然言語処理タスクとは異なり、ニューラル・ネットワークは前記エンコーダとは別個にトレーニングされる。いくつかの実施形態では、第一の自然言語処理タスクは機械翻訳であってもよく、第二の自然言語処理タスクが、感情分析、質問分類、含意分類および質問回答のうちの一つであってもよい。
2020520505.tif 000002
【特許請求の範囲】
【請求項１】
自然言語処理のためのシステムであって：
当該システムは多層ニューラル・ネットワークを有し；
当該システムは：
第一の言語の単語の少なくとも一つの入力シーケンスを単語ベクトルのシーケンスに変換し；
句を前記第一の言語から第二の言語の句に翻訳するためのトレーニング・データを使って事前トレーニングされたエンコーダを使って、前記第一の言語の単語の前記少なくとも一つの入力シーケンスについての文脈固有の単語ベクトルを生成し；
前記単語ベクトルおよび前記文脈固有の単語ベクトルを連結し；
連結された単語ベクトルおよび文脈固有の単語ベクトルを使って、前記第一の言語の単語の前記少なくとも一つの入力シーケンスに対して第一の自然言語処理タスクを実行するよう構成されている、
システム。
【請求項２】
前記第一の自然言語処理タスクが、感情分析、質問分類、含意分類および質問回答のうちの一つである、請求項１記載のシステム。
【請求項３】
前記エンコーダが、前記シーケンス内の単語ベクトルの少なくとも一つを処理するよう構成された少なくとも一つの双方向長期短期メモリを有する、請求項１記載のシステム。
【請求項４】
前記エンコーダが、前記少なくとも一つの双方向長期短期メモリの出力に基づいて注目重みを計算するよう構成された注目機構を有する、請求項３記載のシステム。
【請求項５】
前記エンコーダの前記事前トレーニングにおいてデコーダが使用され、該デコーダは前記エンコーダによって生成された隠れベクトルを用いて初期化される、請求項１記載のシステム。
【請求項６】
前記デコーダが、前記エンコーダのトレーニングの間に前記第二の言語の少なくとも一つの単語ベクトルを処理するよう構成された少なくとも一つの双方向長期短期メモリを有する、請求項５記載のシステム。
【請求項７】
前記連結された単語ベクトルおよび文脈固有の単語ベクトルに基づいて注目重みを生成するよう構成された双注目分類ネットワークをさらに有する、請求項１記載のシステム。
【請求項８】
自然言語処理のためのシステムであって：
単語の少なくとも一つの入力シーケンスについての文脈固有の単語ベクトルを生成するエンコーダであって、該エンコーダは第一の自然言語処理タスクを実行するためのトレーニング・データを使って事前トレーニングされている、エンコーダと；
前記文脈固有の単語ベクトルを使って、単語の前記少なくとも一つの入力シーケンスに対して第二の自然言語処理タスクを実行するためのニューラル・ネットワークであって、前記第一の自然言語処理タスクは前記第二の自然言語処理タスクとは異なり、前記ニューラル・ネットワークは前記エンコーダとは別個にトレーニングされる、ニューラル・ネットワークとを有する、
システム。
【請求項９】
前記第一の自然言語処理タスクが機械翻訳である、請求項８記載のシステム。
【請求項１０】
前記第二の自然言語処理タスクが、感情分析、質問分類、含意分類および質問回答のうちの一つである、請求項８記載のシステム。
【請求項１１】
前記エンコーダが、機械翻訳データセットを使って事前トレーニングされている、請求項８記載のシステム。
【請求項１２】
前記ニューラル・ネットワークが、感情分析、質問分類、含意分類および質問回答のうちの一つのためのデータセットを使ってトレーニングされる、請求項８記載のシステム。
【請求項１３】
前記第一の自然言語処理タスクが前記第二の自然言語処理タスクとは異なる、請求項８記載のシステム。
【請求項１４】
前記エンコーダが少なくとも一つの双方向長期短期メモリを有する、請求項８記載のシステム。
【請求項１５】
エンコーダを使って、単語の少なくとも一つの入力シーケンスについての文脈固有の単語ベクトルを生成する段階であって、該エンコーダは第一の自然言語処理タスクを実行するためのトレーニング・データを使って事前トレーニングされている、段階と；
ニューラル・ネットワークを使って、前記文脈固有の単語ベクトルを使って、単語の前記少なくとも一つの入力シーケンスに対して第二の自然言語処理タスクを実行する段階であって、前記第一の自然言語処理タスクは前記第二の自然言語処理タスクとは異なり、前記ニューラル・ネットワークは前記エンコーダとは別個にトレーニングされる、段階とを含む、
方法。
【請求項１６】
前記第一の自然言語処理タスクが機械翻訳である、請求項１５記載の方法。
【請求項１７】
前記第二の自然言語処理タスクが、感情分析、質問分類、含意分類および質問回答のうちの一つである、請求項１５記載の方法。
【請求項１８】
前記エンコーダが、機械翻訳データセットを使って事前トレーニングされている、請求項１５記載の方法。
【請求項１９】
前記ニューラル・ネットワークが、感情分析、質問分類、含意分類および質問回答のうちの一つのためのデータセットを使ってトレーニングされる、請求項１５記載の方法。
【請求項２０】
前記第一の自然言語処理タスクが前記第二の自然言語処理タスクとは異なる、請求項１５記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願への相互参照
本願は2018年5月17日に出願された米国特許出願第15/982,841号、2017年5月19日に出願された米国仮特許出願第62/508,977号および2017年7月25日に出願された米国仮特許出願第62/536,959号の優先権を主張するものである。これらの出願の内容はここに参照によってその全体においてあらゆる目的のために組み込まれる。
【０００２】
技術分野
本開示は、概括的にはニューラル・ネットワークに、より詳細には文脈固有の単語ベクトルを用いた自然言語処理のためのニューラル・ネットワークに関する。
【背景技術】
【０００３】
ニューラル・ネットワークは、人間のような正確さで現実世界の情報を自動的に解析するための技法としてきわめて有望であることを実証してきた。一般に、ニューラル・ネットワークは入力情報を受け取り、該入力情報に基づいて予測をする。たとえば、ニューラル・ネットワーク分類器が、あらかじめ決定されたクラスの集合のうちで、入力情報のクラスを予測してもよい。現実世界の情報を解析することに向けた他の手法がハードコードされたプロセス、統計的解析および／または同様のものに関わりうるのに対し、ニューラル・ネットワークは、機械学習プロセスを使って試行錯誤式に徐々に予測することを学習する。所与のニューラル・ネットワーク・モデルは、多数のトレーニング例を使って、ニューラル・ネットワークがトレーニング例から人間がしうるのと同様の推論を一貫してするようになりはじめるまで逐次反復的に進めることによって、トレーニングされてもよい。ニューラル・ネットワーク・モデルは、多数の応用において他のコンピューティング技法をしのぐ性能を発揮するおよび／または発揮するポテンシャルをもつことが示されている。実際、ニューラル・ネットワーク・モデルが人間レベルの実績を超えるいくつかの応用さえ発見されている。
【図面の簡単な説明】
【０００４】
【図１】いくつかの実施形態に基づくコンピューティング装置の簡略化された図である。
【０００５】
【図２】いくつかの実施形態に基づく、第一の自然言語処理（NLP）タスクについてエンコーダを事前トレーニングし、それを用いて第二のNLPタスクを実行するための方法の簡略化された図である。
【０００６】
【図３】いくつかの実施形態に基づくエンコーダの事前トレーニングを示す簡略化された図である。
【０００７】
【図４】単語のシーケンスについて単語ベクトルの例を示す図である。
【０００８】
【図５】いくつかの実施形態に基づく、翻訳のNLPタスクについてエンコーダの事前トレーニングを示す簡略化された図である。
【０００９】
【図６】いくつかの実施形態に基づく、翻訳のNLPタスクについてエンコーダの事前トレーニングのための方法の簡略化された図である。
【００１０】
【図７】いくつかの実施形態に基づく自然言語処理のためのシステムの簡略化された図である。
【００１１】
【図８】いくつかの実施形態に基づく、翻訳のNLPタスクについて事前トレーニングされたエンコーダを使う自然言語処理のためのシステムの簡略化された図である。
【００１２】
【図９】異なる入力エンコードに基づく自然言語処理のためのシステムの性能を比較する簡略化された図の一つである。
【図１０】異なる入力エンコードに基づく自然言語処理のためのシステムの性能を比較する簡略化された図の一つである。
【００１３】
【図１１】異なる入力表現に基づく自然言語処理のためのシステムの性能を示す表である。
【００１４】
図面において、同じ指示をもつ要素は同じまたは同様の機能をもつ。
【発明を実施するための形態】
【００１５】
諸側面、実施形態、実装または応用を示す本稿および付属の図面は、限定するものと解釈すべきではない。請求項が、保護される発明を定義する。本稿および請求項の精神および範囲から外れることなく、さまざまな機械的、組成的、構造的、電気的および動作上の変更がなしうる。いくつかの事例では、よく知られた回路、構造または技法は、当業者には知られているので、詳細には図示または記述されていない。二つ以上の図における同様の符号は同じまたは同様の要素を表わす。
【００１６】
本稿において、本開示と整合するいくつかの実施形態を記述する個別的詳細が記載される。実施形態の十全な理解を提供するために数多くの個別的詳細が記載される。しかしながら、いくつかの実施形態はこれらの個別的詳細の一部または全部なしでも実施されうることは当業者には明白であろう。本稿に開示される個別的実施形態は、限定ではなく、例示することが意図されている。当業者は、具体的に本稿に記載されていないが本開示の範囲および精神の中にある他の要素を認識しうる。さらに、不必要な反復を避けるため、ある実施形態との関連で図示および記述される一つまたは複数の特徴は、そうでないことが明確に記載されるのでない限り、または該一つまたは複数の特徴が実施形態を機能しなくするのでない限り、他の実施形態に組み込まれてもよい。
【００１７】
自然言語処理（natural  language  processing、NLP）は、ニューラル・ネットワークが適用されうる問題の一つのクラスである。NLPは、新しいニューラル・ネットワークに個々の単語および句の理解を浸透させるために使われる。しかしながら、NLPにおける大半の問題またはタスクのためには、文脈を理解することも重要である。たとえば、翻訳モデルは、ドイツ語の翻訳を生成するために、英語の文における単語がどのように一緒に機能するかを理解する必要がある。同様に、要約モデルは、どの諸単語が最も重要であるかを知るために、文脈を必要とする。感情分析を実行するモデルは、他によって表現される感情を変化させるキーワードをどのように拾い出すかを理解する必要がある。そして、質問回答モデルは、質問中の単語がどのように文書中の単語の重要性をシフトさせるかの理解に頼る。よって、NLPのためのニューラル・ネットワークを、さまざまな単語がどのように他の単語に関係しうるかまたは文脈が単語の意味にどのように影響するかの理解を用いて初期化する方法を開発することが望ましい。
【００１８】
いくつかの実施形態によれば、ニューラル・ネットワークは、第一のNLPタスクでトレーニングすること――たとえばどのように英語からドイツ語に翻訳するかを教えること――によって、文脈中の単語をどのように理解するかを教えられる。トレーニングされたネットワークは次いで、第二のNLPタスク――たとえば分類、質問回答、感情分析、含意分類、言語翻訳など――を実行する新しいまたは他のニューラル・ネットワークにおいて再利用されることができる。事前トレーニングされたネットワークの出力――文脈固有の単語ベクトル（context-specific  word  vectors、CoVe）――が、他のNLPタスクを学習する新しいネットワークに入力として与えられる。実験によれば、これらの新しいネットワークにCoVeを提供することがそのパフォーマンスを改善できることが示されており、さまざまなNLPモデルまたはタスクが、いかにして単語を文脈に照らして考慮するか（how  to  contextualize  words）をすでに学習したニューラル・ネットワークを使うことから恩恵を得られることが確認されている。
【００１９】
いくつかの実施形態では、さまざまなNLPモデルまたはタスク――たとえば分類、質問回答、感情分析および翻訳――は、実行されるべきNLPタスクとは異なっていてもよいNLPタスクを用いてエンコーダをトレーニングすることによって生成された文脈固有の単語ベクトルを使うことによって、改善されることができる。より一般的な言い方では、相乗的な（synergistic）タスクの間の転移およびマルチタスク学習を通じて、有意な利益が得られる。多くの場合、これらの相乗作用（synergies）は、同様のコンポーネントに頼るアーキテクチャーによって活用される。本稿に開示される実施形態は、すでに単語を文脈に照らして考慮することをどうやるかを学習したまたはそうするようトレーニングされたネットワークを使って、他のニューラル・ネットワークに、自然言語の他の部分を理解することを学習することにおける利点を与える。
【００２０】
図１は、いくつかの実施形態に基づくコンピューティング装置１００の簡略化された図である。図１に示されるように、コンピューティング装置１００は、メモリ１２０に結合されたプロセッサ１１０を含む。コンピューティング装置１００の動作はプロセッサ１１０によって制御される。一つだけのプロセッサ１１０をもつコンピューティング装置１００が示されているが、プロセッサ１１０がコンピューティング装置１００内の一つまたは複数の中央処理ユニット、マルチコアプロセッサ、マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ、フィールドプログラマブルゲートアレイ（FPGA）、特定用途向け集積回路（ASIC）、グラフィック処理ユニット（GPU）、テンソル処理ユニット（tensor  processing  unit、TPU）および／または同様のものを表わしていてもよいことが理解される。コンピューティング装置１００は、スタンドアローンのサブシステムとして、コンピューティング装置に追加される基板としておよび／または仮想マシンとして実装されてもよい。
【００２１】
メモリ１２０は、コンピューティング装置１００によって実行されるソフトウェアおよび／またはコンピューティング装置１００の動作の間に使用される一つまたは複数のデータ構造を記憶するために使われてもよい。メモリ１２０は、一つまたは複数の型の機械可読媒体を含んでいてもよい。機械可読媒体のいくつかの一般的な形は、フロッピーディスク、フレキシブルディスク、ハードディスク、磁気テープ、他の任意の磁気媒体、CD-ROM、他の任意の光学式媒体、パンチカード、紙テープ、孔のパターンをもつ他の任意の物理的な媒体、RAM、PROM、EPROM、FLASH-EPROM、他の任意のメモリチップまたはカートリッジおよび／またはそこからプロセッサまたはコンピュータが読み出すよう適応される他の任意の媒体を含みうる。
【００２２】
プロセッサ１１０および／またはメモリ１２０は、いかなる好適な物理的配置に配置されてもよい。いくつかの実施形態では、プロセッサ１１０および／またはメモリ１２０は、同じ基板上に、同じパッケージ内に（たとえばシステム・イン・パッケージ）、同じチップ上に（たとえばシステム・オン・チップ）および／または同様の形で実装されてもよい。いくつかの実施形態では、プロセッサ１１０および／またはメモリ１２０は、分散された、仮想化されたおよび／またはコンテナ化されたコンピューティング資源を含んでいてもよい。そのような実施形態と整合して、プロセッサ１１０および／またはメモリ１２０は、一つまたは複数のデータ・センターおよび／またはクラウド・コンピューティング施設に位置されていてもよい。いくつかの例では、メモリ１２０は、一つまたは複数のプロセッサ（たとえばプロセッサ１１０）によって実行されたときに該一つまたは複数のプロセッサに本稿にさらに記載される方法のいずれかを実行させうる実行可能コードを含む非一時的な、有体な、機械可読な媒体を含んでいてもよい。
【００２３】
図のように、メモリ１２０は、ニューラル・ネットワーク１３０を含む。ニューラル・ネットワーク１３０は、本稿でさらに記載されるニューラル・ネットワークの任意のものを実装および／またはエミュレートするために使用されうる。いくつかの例では、ニューラル・ネットワーク１３０は、多層または深層ニューラル・ネットワークを含んでいてもよい。いくつかの実施形態によれば、多層ニューラル・ネットワークの例は、ResNet-32、DenseNet、PyramidNet、SENet、AWD-LSTM、AWD-QRNNおよび／または同様のニューラル・ネットワークを含む。ResNet-32ニューラル・ネットワークは非特許文献１においてより詳細に記述されている。DenseNetニューラル・ネットワークは非特許文献２においてより詳細に記述されている。PyramidNetニューラル・ネットワークは非特許文献３においてより詳細に記述されている。SENetニューラル・ネットワークは非特許文献４においてより詳細に記述されている。AWD-LSTMニューラル・ネットワークは非特許文献５においてより詳細に記述されている。これらの各文献はここに参照によって組み込まれる。
【非特許文献１】He,  et  al.、"Deep  Residual  Learning  for  Image  Recognition"、arXiv:1512.03385、提出日December  10,  2015
【非特許文献２】Iandola,  et  al.、"Densenet:  Implementing  Efficient  Convnet  Descriptor  Pyramids"、arXiv:1404.1869、提出日April  7,  2014
【非特許文献３】Han,  et  al.、"Deep  Pyramidal  Residual  Networks"、arXiv:1610.02915、提出日October  10,  2016
【非特許文献４】Hu,  et  al.、"Squeeze-and-Excitation  Networks"、arXiv:1709.01507、September  5,  2017
【非特許文献５】Bradbury,  et  al.、"Quasi-Recurrent  Neural  Networks"、arXiv:1611.01576、提出日November  5,  2016
【００２４】
いくつかの実施形態によれば、ニューラル・ネットワーク１３０は、たとえば翻訳のような第一の種類のNLPタスクのために事前トレーニングされたエンコーダを使用してもよい。コンピューティング装置１００は、第一の言語（たとえば英語）での単語の一つまたは複数のシーケンスと、それぞれの第一の言語の単語シーケンスの期待されるおよび／または所望される翻訳を表わす第二の言語（たとえばドイツ語）での単語の一つまたは複数の対応するシーケンスとを含むトレーニング・データを受領してもよい。例解すると、コンピューティング装置１００に与えられる入力単語シーケンスが英語の単語シーケンス"Let's  go  for  a  walk."を含むとする。対応するドイツ語の単語シーケンスは"Lass  uns  spazieren  gehen."である。コンピューティング装置１００はこのトレーニング・データを使って、第一の言語の単語または単語シーケンスについて、文脈固有の単語ベクトルまたは「文脈ベクトル」（CoVe）を生成して出力する。異なる言い方をすれば、エンコーダは、まずどのようにしてある言語から別の言語に（たとえば英語からドイツ語に）翻訳するかを教えることによって、どのようにして単語を文脈において理解するかを教えられる。ひとたびトレーニングされたら、エンコーダは、第二の種類のNLPタスク――たとえば感情分析（Stanford  Sentiment  Treebank  (SST)、IMDb）、質問分類（TREC）、含意分類（Stanford  Natural  Language  Inference  Corpus  (SNLI)）、質問回答（Stanford  Question  Answering  Dataset  (SQuAD)）など――を実行するためにニューラル・ネットワーク１３０によって使用されてもよい。この目的に向け、コンピューティング装置１００は、第二の種類のNLPタスクのための入力１５０を受け取り、そのタスクについての結果１６０を生成する。
【００２５】
図２は、いくつかの実施形態に基づく、第一のNLPタスクでエンコーダを事前トレーニングし、それを使って第二のNLPタスクを実行するための方法２００の簡略化された図である。方法２００のプロセス２１０〜２２０の一つまたは複数は、少なくとも部分的には、一つまたは複数のプロセッサによって実行されたときに該一つまたは複数のプロセッサにプロセス２１０〜２３０の一つまたは複数を実行させうる、非一時的な、有体な、機械可読な媒体に記憶された実行可能コードの形で実装されてもよい。いくつかの実施形態では、方法２００は、図１のコンピューティング装置１００によって実行されることができる。
【００２６】
いくつかの実施形態によれば、方法２００は、転移学習またはドメイン適応を利用する。転移学習は、独立して収集されたデータセットどうしの間に研究者が相乗的な関係を識別した多様な領域において応用される。いくつかの実施形態では、転移学習の源ドメインは機械翻訳である。
【００２７】
プロセス２１０では、ニューラル・ネットワークのエンコーダは、第一のNLPタスクを実行するためのトレーニング・データを使って事前トレーニングされる。いくつかの実施形態では、第一のNLPタスクは翻訳であることができる。翻訳タスクの性質は、一般的なコンテキストのエンコーダをトレーニングするための魅力的な特性をもつ。たとえば、翻訳は、テキスト分類のような他のNLPタスクよりも、より一般的な意味での言語理解を要求するように思われる。トレーニングの間、エンコーダはトレーニングおよび／または試験データ１５０を提供される。データ１５０はいくつかの実施形態では、第一の言語（たとえば英語）での単語の一つまたは複数のシーケンスと、第二の言語（たとえばドイツ語）での単語の一つまたは複数の対応するシーケンスとを含みうる。トレーニング・データ１５０は、一つまたは複数の機械翻訳（MT）データセットであることができる。機械翻訳は、転移学習のための好適な源ドメインである。そのタスクは性質上、モデルが、起点言語の文における情報を失うことなく忠実に目標言語における文を再生することを要求するからである。さらに、転移学習のために使用できる豊富な機械翻訳データがある；実際、機械翻訳トレーニング・セットは、たいていの他のNLPタスクのトレーニング・セットよりもずっと大きい。可能なトレーニング・セットは、さまざまな英語‐ドイツ語機械翻訳（MT）データセットを含む。たとえば、WMT  2016複数モード翻訳共有タスク（the  WMT  2016  multi-modal  translation  shared  task）――しばしば「Multi30k」と称され、ここに参照により組み込まれる非特許文献６においてさらに記述されている――は、手短かにFlickrキャプションを記述する30,000文のペアからなるデータセットである。画像キャプションという性質上、このデータセットは、平均して、より大きな対応物からのものよりも短く、単純な文を含む。話し言葉翻訳についての国際ワークショップ（the  International  Workshop  on  Spoken  Language  Translation）のために用意された機械翻訳タスクの2016年バージョン――ここに参照によって組み込まれる非特許文献７においてより詳細に記述されている――は、会話言語での幅広い多様なトピックをカバーする文字起こしされたTEDプレゼンテーションからの209,772文のペアからなる、他の機械翻訳データセットよりも大きなデータセットである。WMT2017からのニュース翻訳共有タスクは、ウェブ・クロール・データ、ニュースおよび論評コーパス、欧州議会プロシーディングズおよび欧州連合報道発表に由来する約700万文のペアからなる大きなMTデータセットである。これら三つのMTデータセットは、それぞれ小MT、中MT、大MTと称されてもよい。これらのMTデータセットのそれぞれは、参照によってここに組み込まれる非特許文献８においてより詳細に記述されているMoses  Toolkitを使ってトークン化される。
【非特許文献６】Specia,  et  al.、"A  shared  task  on  multimodal  machine  translation  and  crosslingual  image  description"、Proceedings  of  the  1st  Conference  on  Machine  Translation,  WMT,  2016,  pp.543-553
【非特許文献７】Cettolo,  et  al.、"The  IWSLT  2015  evaluation  campaign"、International  Workshop  on  Spoken  Language  Translation,  2015
【非特許文献８】Koehn,  et  al.、"Moses:  Open  source  toolkit  for  statistical  machine  translation"、Proceedings  of  the  45th  Annual  Meeting  of  the  Association  of  the  Computational  Linguistics,  2007,  pp.177-180
【００２８】
エンコーダは、第一の言語での単語またはシーケンスについて文脈ベクトル（またはCoVe）１６０を生成または出力する。小MT、中MTおよび大MTでトレーニングされたエンコーダからの文脈ベクトルは、CoVe-S、CoVe-MおよびCoVe-Lと称されてもよい。次いで、ニューラル・ネットワークの事前トレーニングされたエンコーダは、一つまたは複数の他のNLPタスクに再利用または適用されることができる。
【００２９】
プロセス２２０では、新しいまたは別のニューラル・ネットワーク１３０が、事前トレーニングされた文脈エンコーダを使って、第二のNLPタスクのためにトレーニングされる。事前トレーニングされたエンコーダの出力――第一の言語での単語または文についての文脈ベクトル（またはCoVe）――は、分類、質問回答、感情分析、他の機械翻訳タスクなどといった、同じ言語で実行される他のNLPタスクを学習または実行する新しいまたは他のニューラル・ネットワーク１３０への入力として提供される。いくつかの実施形態では、ニューラル機械翻訳（neural  machine  translation、NMT）エンコーダから得られた固定長の表現が該トレーニングのために移入される。いくつかの実施形態では、入力シーケンスにおける各トークンについての表現がトレーニングのために移入される。後者の手法は、事前トレーニングされた文脈エンコーダの、他のNLPタスクのための転移を、その後の長期短期メモリ（long-term  short-term  memories、LSTMs）、注目機構（attention  mechanisms）および一般に入力シーケンスを予期する層と、より直接的に互換（compatible）にする。これは、エンコーダ状態の間の逐次的な依存性の転移を容易にする。いくつかの実施形態では、事前トレーニングされたエンコーダは、プロセス２２０の間、さらにトレーニングされない。
【００３０】
プロセス２３０では、ニューラル・ネットワーク１３０は、第二のNLPタスクを実行するために使用される。コンピューティング装置１００は第二のNLPタスクのための入力１５０を受領し、そのタスクのための結果１６０を生成する。実験によれば、ニューラル・ネットワーク１３０に、第一のNLPタスク（たとえば機械翻訳）で事前トレーニングされたエンコーダからの文脈ベクトルを提供することが、第二のNLPタスク（たとえば分類、質問回答、感情分析）のためのそのパフォーマンスを改善することが示される。
【００３１】
方法２００のこれらのプロセス２１０〜２３０のそれぞれについての諸側面または諸実施形態が本稿でより詳細に記述される。
【００３２】
図３は、いくつかの実施形態によるエンコーダ３１０の事前トレーニングを示す簡略化された図である。いくつかの実施形態では、エンコーダ３１０は、一つまたは複数の長期短期メモリ（LSTM）エンコーダを含むまたはそれを用いて実装されるのでもよい。
【００３３】
エンコーダ３１０は、第一の言語（たとえば英語）の単語の一つまたは複数のシーケンスについての単語ベクトル３２０の形であってもよいトレーニング・データを受領する。単語のシーケンスをテキストとして読む代わりに、深層学習モデルは単語ベクトルのシーケンスを読む。単語ベクトルは言語における各単語を、数字のリストと関連付ける。NLPのための多くの深層学習モデルは、個々の単語の意味を表わすために単語ベクトルに頼る。
【００３４】
図４は、単語のシーケンス"Let's  go  for  a  walk."についての単語ベクトルの例を示している。いくつかの実施形態では、モデルの単語ベクトル３２０は、該モデルが特定のタスクのためにトレーニングされる前に、ランダムな数のリストに初期化される。いくつかの実施形態では、モデルの単語ベクトル３２０は、word2vec、GloVeまたはFastTextのような方法を実行することによって得られるもので初期化されることができる。それらのモデルのそれぞれは、有用な特性をもつ単語ベクトルを学習する仕方を定義する。最初の二つの方法は、単語の意味の少なくとも一部は、その単語がどのように使われるかに結びつけられるという仮説に基づいて機能する。word2vecは単語を取り込んでローカルな文脈ウィンドーを予測するモデルをトレーニングする；このモデルは単語を見て、そのまわりの単語を予測しようとする。GloVeは同様のアプローチを取るが、それぞれの単語が他のそれぞれの単語と一緒に生起する頻度についての統計をも明示的に加える。いずれの場合にも、それぞれの単語は対応する単語ベクトルによって表現され、トレーニングは、自然言語におけるその単語の使用に結びつけられた仕方で互いに相関付けるよう単語ベクトルを強制する。図４に示される"Let's  go  for  a  walk"という具体例を参照するに、word2vecおよびGloVeのようなアルゴリズムは、自然言語においてそのまわりによく生起する単語ベクトルと相関付けられた単語ベクトルを生成する。こうして、"go"について単語ベクトルは単語"go"が"Let's"、"for"、"a"、"walk"のような単語のまわりに現われることを意味するようになる。
【００３５】
図３の参照に戻ると、エンコーダ３１０は、該エンコーダに第一のNLPタスクを実行させることによってトレーニングされる。第一のNLPタスクは、いくつかの実施形態では、第一の言語における単語シーケンス（たとえば"Let's  go  for  a  walk"）の第二の言語における対応する単語シーケンス（たとえば"Lass  uns  spazieren  gehen"）への機械翻訳（MT）であることができる。このトレーニングを達成するために、エンコーダ３１０は翻訳３４０を生成するデコーダ３３０と対話する。いくつかの実施形態では、LSTMエンコーダはいくつかの機械翻訳データセットに基づいてトレーニングされる。実験によれば、MT-LSTMをトレーニングするために使われるトレーニング・データの量が、該エンコーダが第二のNLPタスクのために使われるまたは用いられるときなどの下流のタスクでのパフォーマンスと正の相関をもつことが示される。これは、MTをトレーニング・タスクとして使うことのもう一つの利点である。MTについてのデータはたいていの他の教師付きNLPタスクについてのデータよりも豊富であり、そのことは、より高品質のMT-LSTMがより有用な情報につながることを示唆するからである。機械翻訳はテキスト分類および質問回答のような他のNLPタスクとは無関係と思われるかもしれないが、これは、機械翻訳が、より強い意味での自然言語理解をもつモデルのための良好な候補NLPタスクであるという発想を補強する。
【００３６】
図３は高レベルの図であるが、図５は、いくつかの実施形態に基づく機械翻訳のNLPタスクでのエンコーダ３１０の事前トレーニングについてのさらなる詳細を示している。そして図６は、図５に示されるエンコーダを事前トレーニングする対応する方法６００を示している。
【００３７】
図５および図６を参照するに、方法６００はプロセス６０２で始まる。プロセス６０２では、第一の言語または起点言語での単語のシーケンスwx＝[wx1,…,wxn]（たとえば英語"Let's  go  for  a  walk"）についての単語ベクトル３２０ａ〜ｅがエンコーダ３１０に入力または提供される。そして第二のまたは目標言語での単語のシーケンスwz＝[wz1,…,wzn]（たとえばドイツ語"Lass  uns  spazieren  gehen"）についての単語ベクトル５４０がデコーダ３３０に入力または提供される。GloVe(wx)がwxにおける諸単語に対応する諸GloVeベクトルのシーケンスであるとし、zがwzにおける諸単語に対応するランダムに初期化された単語ベクトルのシーケンスであるとする。
【００３８】
いくつかの実施形態では、エンコーダ３１０は、リカレント・ニューラル・ネットワーク（recurrent  neural  network、RNN）を含むまたはRNNを用いて実装される。RNNは、可変長のベクトル・シーケンスを処理する深層学習モデルである。このため、RNNは単語ベクトル３２０ａ〜ｅのシーケンスを処理するのに好適になる。いくつかの実施形態では、エンコーダ３１０は一つまたは複数の長期短期メモリ（LSTM）エンコーダ５１０ａ〜ｅを用いて実装されることができる。これらは、長い単語シーケンスを扱うことのできる特定の種類のRNNである。
【００３９】
プロセス６０４では、エンコーダは単語ベクトル３２０ａ〜ｅのシーケンスを処理して、それぞれ隠れベクトルと呼ばれる一つまたは複数の新たなベクトル５２０ａ〜ｅを生成する。いくつかの実施形態では、エンコーダ３１０は入力シーケンスをエンコードする。たとえば、各LSTM  ５１０ａ〜ｅがそれぞれの単語ベクトル３２０ａ〜ｅを受け取って、それぞれの隠れベクトル５２０ａ〜ｅを出力する。エンコーダ３１０は前向きに実行され、よって、入力シーケンスにおいて先に現われる単語ベクトル３２０に作用するLSTMエンコーダ５１０によって生成される情報は、シーケンスにおいて後に現われる単語ベクトル３２０に作用するLSTMエンコーダ５１０に渡される。これは、後のLSTMエンコーダ５１０の隠れベクトルが先の単語ベクトル３２０についての情報を組み込むことを許容する。いくつかの実施形態では、エンコーダ３１０は後ろ向きにも実行され、LSTMエンコーダ５１０ａ〜ｅは、シーケンスにおいてより後に現われる単語からの情報を組み込む隠れベクトルを生成または出力することができる。これら後ろ向きの出力ベクトルは、前向きの出力ベクトルと連結されて、より有用な隠れベクトルを与えることができる。前向きおよび後ろ向きLSTMの各対が単位として扱われることができ、典型的には双方向LSTMと称される。双方向LSTMエンコーダは、それぞれの単語に先行する情報および後続する情報を組み込む。機械翻訳に基づいてトレーニングされたLSTMは、MT-LSTMと称されてもよい。第一の双方向LSTM  ５１０ａは、出力を第二のLSTM  ５１０ｂに渡す前にそのシーケンス全体を処理する；第二の双方向LSTM  ５１０ｂも同じことをする、などとなる。双方向LSTM（またはbiLSTM）のそれぞれは、各時間ステップiにおける出力を、hiとして、
【数１】
2020520505.tif 000003
に基づくhi→およびhi←の連結として生成する。ここで、xはそれぞれのbiLSTMへの入力であり、LSTMは長期短期メモリネットワークに対応する。双方向LSTM  ５１０ａ〜ｅをもつエンコーダ３１０は、単語ベクトル３２０ａ〜ｅのシーケンスを受け入れ、前向きおよび後ろ向きLSTM動作を実行し、同じ入力に対応する出力を連結し、第一の言語（たとえば英語）についての隠れベクトルh  ５２０ａ〜ｅ
h＝MT-LSTM(GloVe(wx))        (1)
の、結果として得られるシーケンスを返す。機械翻訳のために、MT-LSTMは、各時間ステップtにおける出力単語にわたる分布
【数２】
2020520505.tif 000004
を生成する注目デコーダのために前記文脈を供給する。ここで、Hは、時間次元に沿って積層されたhの要素をいう。
【００４０】
プロセス６０６では、デコーダ３３０は、エンコーダ３１０からの最終状態／隠れベクトルh  ５２０ａ〜ｅを用いて初期化される。デコーダ３３０は第二の言語または目標言語（たとえばドイツ語）の文を生成するまたはかかる文に翻訳する際にそれらの隠れベクトルh  ５２０ａ〜ｅを参照する別のニューラル・ネットワークを含むまたはそれを用いて実装される。エンコーダ３１０と同様に、いくつかの実施形態では、デコーダ３３０は、双方向であってもよい一つまたは複数のLSTM  ５３０ａ〜ｂを含む、またはそれを用いて実装されることができる。時間ステップtにおいて、デコーダ３３０はまず二層の単方向LSTMを使って、直前の目標埋め込み（zt-1）および文脈調整された隠れ状態（チルダ付きのht-1）に基づいて隠れ状態ベクトル５５０（htdec）を生成する。
【数３】
2020520505.tif 000005
デコーダLSTMの第一のもの５３０ａは、エンコーダ３１０の最終状態hから初期化され、開始するために特別なドイツ語の単語ベクトル５４０ａを読み込む。
【００４１】
プロセス６１０では、第一の言語のシーケンスから単語が選択される。いくつかの実施形態では、第一の言語（たとえば英語）の文のどの単語を次に翻訳するかを決定するために、注目機構５６０が、隠れベクトル５２０ａ〜ｅを見返す。注目機構５６０は、現在のデコーダ状態にとっての各エンコード時間ステップの重要性を表わす注目重みαのベクトルを計算する。
αt＝softmax(H(W1htdec＋b1))      (3)
【００４２】
プロセス６１２では、注目機構５６０は、文脈調整された状態（context-adjusted  state）と称することのできる、新たなベクトル５７０を生成する。注目機構５６０は、重みαを注目和（attentional  sum）における係数として使う。注目和はデコーダ状態と連結されて、tanh層を通されて、文脈調整された隠れ状態（context-adjusted  hidden  state）（チルダ付きのh）を形成する：
【数４】
2020520505.tif 000006
換言すれば、注目機構５６０は、デコーダ状態ベクトル５５０ａを使って、それぞれの隠れベクトル５２０ａ〜ｅがどのくらい重要かを決定し、次いで、その観察を記録するために文脈調整された状態５７０を生成する。
【００４３】
プロセス６１４では、生成器５８０は文脈調整された状態５７０を見て、出力すべき第二の言語（たとえばドイツ語）の単語を決定する。文脈調整された状態５７０は次のLSTM  ５４０に渡され、それにより次のLSTMはすでに翻訳したものを正確に知る。出力単語にわたる分布は、文脈調整された隠れ状態の最終的な変換によって生成される。
【数５】
2020520505.tif 000007
【００４４】
プロセス６１６では、第一の言語における現在の単語が文の最後の単語かどうかについて判定がなされる。そうでなければ、デコーダ３３０は、第二の言語における翻訳された単語シーケンスの生成を完了するまで、プロセス６１０〜６１６を繰り返す。
【００４５】
いくつかの例では、エンコーダ３１０のMT-LSTMのトレーニングは、英語の単語ベクトルについての、CommonCrawl-840B  GloVeモデルのような、固定された300次元の単語ベクトルを使う。これらの単語ベクトルは、トレーニングの間、完全に固定されており、よって、MT-LSTMは、どのようにして事前トレーニングされたベクトルを翻訳のために使うかを学習する。すべてのMT-LSTMにおけるLSTMの隠れたサイズは300である。すべてのMT-LSTMは双方向なので、それらは600次元のベクトルを出力する。エンコーダ３１０は、統計的勾配降下法（stochastic  gradient  descent）を用いてトレーニングされることができる。学習率は1で始まり、有効確認パープレキシティが初めて上昇した後はエポック毎に半分に減衰する。エンコーダ３１０およびデコーダ３３０のすべての層の入力および出力に、比0:2でのドロップアウトが適用されてもよい。
【００４６】
トレーニングが終了したら、事前トレーニングされたエンコーダは、自然言語処理（NLP）における他のタスクのためにトレーニングされたニューラル・モデルのパフォーマンスを改善するために使用されることができる。機械翻訳のためのエンコーダとしてトレーニングされたLSTM  ５１０が抽出されることができ、その学習が下流のNLPタスク（分類または質問回答）に転移させられることができる。MT-LSTMと称されてもよい事前トレーニングされたLSTMは、第一の言語における他の文または単語シーケンスについての隠れベクトルを出力するために使用されることができる。これらの機械翻訳隠れベクトルは、別のNLPモデルへの入力として使われるとき、文脈固有の単語ベクトルまたは「文脈ベクトル」〔コンテキスト・ベクトル〕（context  vector、CoVe）を提供するまたはそのはたらきをする。wが単語のシーケンスであり、GloVe(w)がGloVeモデルによって生成された単語ベクトルの対応するシーケンスであるとすると、
CoVe(w)＝MT-LSTM(GloVe(w))        (5)
は、MT-LSTMによって生成されたコンテキスト・ベクトルのシーケンスである。図５の参照に戻ると、たとえばGloVe(w)は３２０ａ〜ｅに対応し、CoVe(w)は５２０ａ〜ｅに対応する。いくつかの実施形態では、下流のNLPタスクのために、入力シーケンスwについて、GloVe(w)における各ベクトルはCoVe(w)におけるその対応するベクトルと連結されて、ベクトル・シーケンス（w）を生じることができる。
【数６】
2020520505.tif 000008
【００４７】
コンピューティング装置、たとえばコンピューティング装置１００のいくつかの例は、一つまたは複数のプロセッサ（たとえばプロセッサ１１０）によって実行されるときに該一つまたは複数のプロセッサに方法６００のプロセスを実行させうる実行可能コードを含む非一時的な、有体な、機械可読な媒体を含んでいてもよい。方法６００のプロセスを含みうる機械可読媒体のいくつかの一般的な形は、たとえば、フロッピーディスク、フレキシブルディスク、ハードディスク、磁気テープ、他の任意の磁気媒体、CD-ROM、他の任意の光学式媒体、パンチカード、紙テープ、孔のパターンをもつ他の任意の物理的な媒体、RAM、PROM、EPROM、FLASH-EPROM、他の任意のメモリチップまたはカートリッジおよび／またはそこからプロセッサまたはコンピュータが読み出すよう適応される他の任意の媒体を含みうる。
【００４８】
図７は、いくつかの実施形態に基づく自然言語処理のためのシステム７００を示す簡略化された図である。システム７００は、一つまたは複数のエンコーダ７１０を含み、これが本稿に記載されるようなたとえば機械学習のような第一のNLPタスクで事前トレーニングされ、新しいモデルの一部として今、再利用される。いくつかの実施形態では、各エンコーダ７１０は、エンコーダ３１０と整合する。いくつかの実施形態では、各エンコーダ７１０は、一つまたは複数の事前トレーニングされたMT-LSTMを含むまたはそれを用いて実装される。事前トレーニングされたエンコーダ７１０は、入力単語ベクトル７２０から文脈ベクトル（CoVe）を提供するまたは生成することができる。
【００４９】
モデルの単語ベクトル７２０は、word2vec、FastTextまたはGloVeのような方法を実行することによって得られたもので初期化されることができる。これらの方法のそれぞれは、有用な特性をもつ単語ベクトルを学習する仕方を定義する。いくつかの実施形態では、モデルの単語ベクトル７２０は、モデルが特定のタスクのためにトレーニングされる前に、ランダムな数のリストに初期化される。
【００５０】
システム７００は、第二の特定のNLPタスク、たとえば感情分析（Stanford  Sentiment  Treebank  (SST)、IMDb）、質問分類（TREC）、含意分類（Stanford  Natural  Language  Inference  Corpus  (SNLI)）、質問回答（Stanford  Question  Answering  Dataset  (SQuAD)）などを実行するためのニューラル・モデル７３０をも含む。いくつかの実施形態では、ニューラル・モデル７３０はモデル１３０のニューラル・ネットワークと整合する。ニューラル・モデル７３０は、事前トレーニングされたエンコーダ７１０から文脈ベクトル（CoVe）を提供される。いくつかの実施形態では、エンコーダ７１０からの文脈ベクトル（CoVe）は、これらの種類のニューラル・モデルへの入力として典型的に使われる単語ベクトル７２０（たとえばGloVe）とアペンドまたは連結されてもよく（式(6)参照）、結果がニューラル・モデル７３０に提供されてもよい。この手法は、下流のタスクについてのニューラル・モデル７３０のパフォーマンスを、事前トレーニングされた単語ベクトルだけを使うベースライン・モデルに対して改善する。一般に、文脈ベクトル（CoVe）は、その入力をベクトルのシーケンスとして表現する任意のニューラル・モデル７３０と一緒に使用されることができる。実験によれば、テキスト分類および質問回答モデルといったNLPタスクを実行するニューラル・モデルのための文脈ベクトル（CoVe）を生成するために事前トレーニングされたMT-LSTMを使うことの利点が示されている。スタンフォード感情ツリーバンク（SST）およびスタンフォード自然言語推論コーパス（SNLI）については、文脈ベクトル（CoVe）の使用はベースライン・モデルのパフォーマンスを先端技術まで押し上げる。
【００５１】
図８は、いくつかの実施形態に基づく、翻訳のNLPタスクで事前トレーニングされた一つまたは複数のエンコーダ８１０を使った自然言語処理のためのシステム８００を示す図である。いくつかの実施形態では、各エンコーダ８１０はエンコーダ３１０、７１０と整合する。システム８００は、翻訳の前記NLPタスクとは異なる特定のNLPタスク――たとえば質問分類（TREC）、質問回答（SQuAD）、感情分析（SST、IMDb）、含意分類（SNLI）など――を実行するために複数層ニューラル・ネットワークまたはニューラル・モデル８３０を含むまたはそれを用いて実装されるのでもよい。いくつかの実施形態では、ニューラル・モデル８３０はニューラル・モデル１３０、７３０と整合する。
【００５２】
システム８００のニューラル・モデル８３０は、好適なデータセットを用いて前記特定のNLPタスクのためにトレーニングされてもよい。たとえば、質問分類のためのニューラル・モデル８３０のトレーニングは、ここに参照によって組み込まれる非特許文献９により詳細に記載されるように、大まかな意味カテゴリーに分割されたオープン・ドメインの、事実ベースの質問の小さなTRECデータセットを使ってもよい。このデータセットは、それぞれTREC-50およびTREC-6と称される、TRECの50クラスのまたは6クラスのバージョンであることができる。いずれも4300個のトレーニング例をもつが、TREC-50のほうが細かい粒度のラベルをもつ。質問回答については、ニューラル・モデル８３０は、ここに参照によって組み込まれる非特許文献１０においてより詳細に記載されるように、スタンフォード質問回答データセット（SQuAD）を用いてトレーニングされることができる。SQuADは大規模な質問回答データセットであり、87,599のトレーニング例および10,570の発展例をもつ。例は、英語のウィキペディアからの段落と、該段落についての関連する質問‐回答ペアからなる。SQuADの例は、質問が回答可能であり、回答が段落中のどこかにそのまま含まれていることを想定する。感情分析については、ニューラル・モデル８３０は、スタンフォード感情ツリーバンク（SST）（ここに参照によって組み込まれる非特許文献１１においてより詳細に記載されている）およびIMDbデータセット（ここに参照によって組み込まれる非特許文献１２においてより詳細に記載されている）という二つの感情分析データセットで別個にトレーニングされることができる。これらのデータセットはいずれも、映画のレビューとその感情を含む。各データセットの二値バージョンおよびSSTの5クラス・バージョンが使われる。IMDbは22,500の複数文のレビューを含み、各レビューは最初の200語に打ち切られることがある。SST-2は56,400の例を含み、「中立」クラスは除去され、すべてのサブツリーが含められており、SST-5は94,200のレビューをすべてのクラスおよびサブツリーとともに含む。含意（entailment）については、ニューラル・モデル８３０は、ここに参照によって組み込まれる非特許文献１３により詳細に記載されるように、スタンフォード自然言語推論コーパス（SNLI）を用いてトレーニングされることができる。SNLIは550,152のトレーニング例、10,000の有効確認例および10,000の試験例をもつ。各例は、前提と、仮説と、前提が仮説を含意するか、仮説に矛盾するか、あるいは中立的であるかを指定するラベルとからなる。
【非特許文献９】Voorhees,  et  al.、"The  TREC-8  question  answering  track  evaluation"、The  Eighth  Text  Retrieval  Conference,  volume  1999,  p.83
【非特許文献１０】Rajpurkar,  et  al.、"SQuAD:  100,000+  questions  for  machine  comprehension  of  text"、arXiv  preprint  arXiv:1606.05250、提出日June  16,  2016
【非特許文献１１】Socher,  et  al.、"Recursive  deep  models  for  semantic  compositionality  over  a  sentiment  Treebank"、Empirical  Methods  in  Natural  Language  Processing,  2013
【非特許文献１２】Maas,  et  al.、"Learning  word  vectors  for  sentiment  analysis"、Proceedings  of  the  49th  Annual  Meetings  of  the  Association  for  Computational  Linguistics:  Human  Language  Technologies,  pp.142-150,  Portland,  Oregon,  USA,  June  2011.  Association  for  Computational  Linguistics.  URL  http://www.aclweb.org/anthology.P11-1015
【非特許文献１３】Bowman,  et  al.、"Recursive  neural  networks  for  learning  logical  semantics"、arXiv  preprint  arXiv:1406.1827、提出日June  6,  2014
【００５３】
図８に示されるように、システム８００は、一般的な双注目分類ネットワーク（biattentive  classification  network、BCN）のためのニューラル・モデル８３０を含む。このモデル８３０は、単一シーケンスおよび二シーケンスの分類タスク両方を扱うよう設計されている。単一シーケンス・タスクの場合、入力単語シーケンスが複製されて二つのシーケンスをなす。
【００５４】
二つの入力シーケンスwxおよびwyは、事前トレーニングされたエンコーダ８１０において、単語ベクトル８２０（たとえばGlove(w)）としてシステム８００に提供される。いくつかの実施形態では、各エンコーダ８１０はエンコーダ３１０、７１０と整合する。エンコーダ８１０は機械翻訳のNLPタスクで事前トレーニングされており、よって、入力単語ベクトル８２０からそれぞれの文脈ベクトル（CoVe(w)）を提供または生成する。いくつかの実施形態では、各単語ベクトル８２０（たとえばGlove(w)）はその対応する文脈ベクトル（CoVe(w)）と連結またはアペンドされて、本稿（たとえば式(6)）に記載されるように、ベクトルのシーケンス（チルダ付きのwxおよびwy）を生成する。ベクトル・シーケンス（チルダ付きのwxおよびwy）は、モデル８３０のタスク固有の部分に入力として提供される。
【００５５】
ニューラル・ネットワークまたはモデル８３０は、事前トレーニングされたエンコーダ８１０を使ってトレーニングされる。いくつかの実施形態では、エンコーダ８１０はニューラル・ネットワークまたはモデル８３０がトレーニングされるときにさらにトレーニングされない。
【００５６】
モデル８３０は、入力ベクトル・シーケンス（チルダ付きのwxおよびwy）を受け取る一つまたは複数の整流線形ユニット（ReLU）８３２を含む。ReLU  ８３２は、チルダ付きのwxおよびwyの各要素に（ここに参照によって組み込まれる非特許文献１４においてより詳細に記載されるように）ReLU型の活性化をもつフィードフォワード・ネットワークを適用する関数fを実装または実行する。結果として得られるシーケンスを、それぞれ双方向LSTM（biLSTM）を含むまたはbiLSTMとして実装されることのできるエンコーダ８３４が処理して、タスク固有の表現（xおよびy）を得る。
【数７】
2020520505.tif 000009
これらのシーケンスはそれぞれ時間軸に沿って積層されて、行列XおよびYを生成する。
【非特許文献１４】Nair  et  al.、"Rectified  linear  units  improve  restricted  Boltzmann  machines"、Proceedings  of  the  27th  International  Conference  on  Machine  Learning,  2010
【００５７】
独立な諸表現を計算するために、モデル８３０は、いずれもここに参照によって組み込まれる非特許文献１５および非特許文献１６においてより詳細に記載されている双注目機構８３６を使う。双注目は、それぞれの表現を他方で条件付けする。
【非特許文献１５】Seo,  et  al.、"Bidirectional  attention  flow  for  machine  comprehension"、International  Conference  on  Learning  Representations,  2017
【非特許文献１６】Xiong,  et  al.、"Dynamic  coattention  networks  for  question  answering"、International  Conference  on  Learning  Representations,  2017
【００５８】
ニューラル・モデル８３０において双注目機構８３６を使うことは、たとえば、含意分類および感情分析もしくは分類といったいくつかのNLP分類タスクにおいて利点を提供する。含意分類（entailment  classification）は、何らかの形の関係がある可能性のある二つの単語シーケンスの処理――たとえば一方のシーケンスが真であることが他方のシーケンスを含意するかどうかを判定すること、一方のシーケンスが真であることが他方のシーケンスの否定を含意するかどうかを判定すること、または一方のシーケンスが真であることが、他方のシーケンスが真であることも偽であることも許容するかどうかを判定すること――に関わる。含意分類のシーケンスの例は：（wx）「二人の女性が回路を論じている」および（wy）「二人の人が技術を論じている」でありうる。この例では、シーケンスwxはシーケンスwyを含意する。感情分類は、単語シーケンスの話者または著者の、何らかのトピックに関する態度または感情を判別することをねらいとする。これらのシーケンスのそれぞれが、ニューラル・モデル８３０において、それぞれのチャネルに（たとえばReLU  ８３２のための入力として）与えられることができる。含意分類のためのシーケンスの例は：（wx）「この映画は時間の無駄だ」であることができる。このシーケンスは繰り返されて、ニューラル・モデル８３０における各チャネルに与えられることができる。いくつかの実施形態では、双注目機構８３６が、注目を分類の要素ごとの特徴とを組み合わせることによって、NLP分類タスクのためのよりよい結果を生じるまたは与える。
【００５９】
双注目機構８３６はまず、親和性行列A＝XYTを計算する。双注目機構８３６は次いで、列ごとの正規化を用いて注目重み（AxおよびAy）を抽出する：
Ax＝softmax(A)    Ay＝softmax(AT)    (9)
これは、タスク固有の表現が同じである（x＝y）ときの自己注目の形であることができる。次に、双注目機構８３６は、各シーケンスを他方のシーケンスで条件付けるよう、文脈要約（context  summary）（CxおよびCy）
Cx＝AxTX    Cy＝AyTY        (10)
を使う。
【００６０】
二つの別個の統合器８３８が、条件付け情報（双注目機構８３６から生成される）を各入力シーケンスについてのタスク固有の表現（xおよびy）に統合する。いくつかの実施形態では、各統合器８３８は一層biLSTMを含むまたは一層biLSTMを用いて実装されることができる。biLSTMは、もとの表現（条件付けにおいて情報が失われないことを保証するため）、その文脈要約（CxおよびCy）からの差（もとの信号からの差を明示的に捕捉するため）およびもとと文脈要約との間の要素ごとの積（もとの信号を増幅または減衰させるため）の連結に対して作用する。
【数８】
2020520505.tif 000010
【００６１】
プール機構８４０は、時間次元に沿ってプールすることによって、統合器８３８の双方向LSTMの出力を総合する。いくつかの実施形態では、最大（max）および平均（mean）プーリングが特徴を抽出するために使用されることができる。いくつかの実施形態では、最小（min）プーリングおよびパラメータなし形の自己注目プーリングの両方を加えることが、いくつかのタスクを助けることが見出された。それぞれの型のプーリングは、条件付けされたシーケンスについての異なるパースペクティブを捕捉する。自己注目プーリングは、シーケンスの各時間ステップについて重み（βxおよびβy）を計算する：
βx＝softmax(X|yv1＋d1)    βy＝softmax(X|xv2＋d2)    (13)
重み（βxおよびβy）は、各シーケンスの重み付けされた和（xselfおよびyself）を得るために使われる：
xself＝X|yTβx    xself＝X|yTβx        (14)
プールされた表現は、すべての入力についての一つの結合された表現（xpoolおよびypool）を得るために組み合わされる：
xpool＝［max(X|y)；mean(X|y)；min(X|y)；xself］    (15)
ypool＝［max(Y|x)；mean(Y|x)；min(Y|x)；yself］    (16)
【００６２】
分類のNLPタスクのためには、結合された表現はmaxout層８４２に提供または入力される。maxout層８４２は三層のバッチ正規化された（ここに参照により組み込まれる非特許文献１７に、より詳細に記載されるように）maxoutネットワーク（ここに参照により組み込まれる非特許文献１８に、より詳細に記載される）として実装されて、可能な諸クラスにわたる確率分布を生成する。
【非特許文献１７】Ioffee,  et  al.、"Batch  normalization:  Accelerating  deep  network  training  by  reducing  internal  covariate  shift"、Proceedings  of  the  32nd  International  Conference  on  Machine  Learning,  2015
【非特許文献１８】Goodfellow,  et  al.、"Maxout  networks"、Proceedings  of  the  30th  Annual  Conference  on  Machine  Learning,  2013
【００６３】
上記で論じられ、ここでさらに強調されるように、図８は単に自然言語処理のためのシステムの例であり、これは請求項の範囲を不相応に限定するべきではない。当業者は多くの変形、代替および修正を認識するであろう。いくつかの実施形態では、システム８００は、異なるNLPタスク、たとえば質問回答を実行するよう修正されてもよい。質問回答のNLPタスクについては、タスク固有シーケンスxおよびyは、ReLU活性化の代わりにtanh活性化を使う関数gで関数fが置き換えられることのほかは、分類について（式(7)および式(8)）と同じように得られる。この場合、シーケンスの一方は文書であり、他方は質問‐文書ペアにおける質問である。これらのシーケンスxおよびyは次いで、共注目かつ動的デコーダ（coattention  and  dynamic  decoder）、たとえばここに参照により組み込まれる非特許文献１９に、より詳細に記載されるような動的共注目ネットワーク（Dynamic  Coattention  Network）を通じてフィードされる。
【非特許文献１９】Xiong,  et  al.、"Dynamic  memory  networks  for  visual  and  textual  question  answering"、Proceedings  of  the  33rd  International  Conference  on  Machine  Learning,  pp.2397-2406,  2016
【００６４】
図９および図１０は、異なる入力エンコードに基づく自然言語処理のためのシステムのパフォーマンスを比較する簡略化された図である。図９および図１０は、入力表現――たとえばGloVeのみ、GloVeとCoVe、GloVeとCharならびにGloVeとCoVeとChar――を変えることがどのように感情分析、質問分類、含意分類および質問回答のようなNLPタスクの最終的なパフォーマンスに影響するかを示す。
【００６５】
同様に、図１１は、異なる入力表現（SST-2、SST-5、IMDb、TREC-6、TREC-50、SNLI、SQuaAD）に基づき、エンコーダ（それぞれCoVe-S,  CoVe-M,  CoVe-L）のための異なるトレーニング・セット（それぞれ小MT、中MTおよび大MT）を用いる自然言語処理のためのシステムのパフォーマンス結果を示す表である。
【００６６】
図９および図１０は、CoVeをGloVeと併用したモデルのほうがGloVeのみを使ったモデルよりも高いパフォーマンスを達成したことを示している。図１１は、式(6)におけるCoVeを使うことが、ここに参照により組み込まれる非特許文献２０により詳細に記載されるようなキャラクタnグラム埋め込みを使うことよりも高い改善をもたらすことを示している。図１１はまた、キャラクタnグラム埋め込みを追加的にアペンドすることによって式(6)を変更すると、いくつかのNLPタスクについてはパフォーマンスをさらにブーストできることをも示している。このことは、CoVeによって提供される情報がGloVeによって提供される単語レベルの情報およびキャラクタnグラム埋め込みによって提供されるキャラクタ・レベルの情報と相補的であることを示している。
【非特許文献２０】Hashimoto,  et  al.、"A  joint  many-task  model:  Growing  a  neural  network  for  multiple  NLP  tasks"、arXiv  preprint  arXiv  1611.01587、提出日November  5,  2016
【００６７】
図９〜図１１は、機械翻訳で事前トレーニングされたエンコーダからの知識を多様な他の下流のNLPタスクに転移させることの利点または恩恵を確認している。すべての場合において、文脈ベクトル（CoVe）を使うモデルは、ランダム単語ベクトル初期化を使ったベースライン、GloVeモデルからの事前トレーニングされた単語ベクトルを使ったベースラインおよびGloVeモデルからの単語ベクトルをキャラクタnグラムと一緒に使ったベースラインよりもよい性能を発揮した。
【００６８】
例示的な実施形態が示され、記述されてきたが、幅広い範囲の修正、変更および代替が上記の開示において考えられており、場合によっては、前記実施形態のいくつかの事項が、他の事項の対応する使用なしに用いられてもよい。当業者は、多くの変形、代替および修正を認識するであろう。このように、本願の範囲は、付属の請求項によってのみ限定されるべきであり、請求項が広義に、本稿に開示される実施形態の範囲と整合する仕方で解釈されることが適切である。
【図１】
2020520505.tif 000011
【図２】
2020520505.tif 000012
【図３】
2020520505.tif 000013
【図４】
2020520505.tif 000014
【図５】
2020520505.tif 000015
【図６】
2020520505.tif 000016
【図７】
2020520505.tif 000017
【図８】
2020520505.tif 000018
【図９】
2020520505.tif 000019
【図１０】
2020520505.tif 000020
【図１１】
2020520505.tif 000021
【国際調査報告】
2020520505.tif 000022
2020520505.tif 000023
2020520505.tif 000024