(57)【要約】  文章セレクタと質問応答モジュールを含む自然言語処理システム。文章セレクタは、エンコーダおよびデコーダを有する第１のニューラルネットワークを含む。質問応答モジュールは、第２のニューラルネットワークを含む。文章セレクタは、質問およびコンテキストに関連する文章を受信する。質問と各文章に対して、文章セレクタがスコアを決定する。スコアは、質問が文章を用いて回答可能かどうかを表す。次いで、文章セレクタは、エンコーダおよびデコーダを使用して、質問および文章に関連付けられたスコアから、文章の最小セットを生成する。質問応答モジュールは、第２のニューラルネットワークを使用して、文章の最小セットから質問に対する回答を生成する。
2021515310.tif 000002
【特許請求の範囲】
【請求項１】
自然言語処理のためのシステムであって、
第１のニューラルネットワークを含む文章セレクタであって、
前記第１のニューラルネットワークの第１のエンコーダにおいて、質問および文書を表す複数の文章を受信することと、
前記第１のニューラルネットワークの前記第１のエンコーダおよび第１のデコーダを使用して、複数のスコアを決定することであって、前記複数のスコアにおけるスコアは、前記質問が前記複数の文章における対応する文章を使用して回答可能であるかどうか表す、決定することと、
前記第１のニューラルネットワークの文章セレクタモジュールを使用して、前記複数の文章および前記複数のスコアから文章の最小セットを生成することと、をするための文章セレクタと、
第２のニューラルネットワークを含む質問応答モジュールであって、前記文章の最小セットおよび前記質問から回答を生成するための質問応答モジュールと、を含むシステム。
【請求項２】
前記第１のニューラルネットワークの前記第１のエンコーダは、
前記複数の文章からの文章埋め込みを決定することと、
前記質問から質問埋め込みを決定することと、
前記文章埋め込みおよび前記質問埋め込みから質問を意識した埋め込みを決定することと、
第１の双方向長短期記憶（「ＢｉＬＳＴＭ」）を使用して、前記文章埋め込みおよび前記質問を意識した埋め込みから文章エンコードを生成することと、
第２のＢｉＬＳＴＭを使用して、前記質問埋め込みおよび前記質問を意識した埋め込みから質問エンコードを生成することと、をするためのものであり、
前記第１のニューラルネットワークにおける前記第１のデコーダは、前記文章エンコードおよび前記質問エンコードを使用して、前記複数のスコアを決定するためのものである、請求項１に記載のシステム。
【請求項３】
前記第２のニューラルネットワークは、
前記文章の最小セットおよび前記質問を受信することと、
前記文章の最小セットおよび前記質問から第２の文章エンコードおよび第２の質問エンコードを生成することと、をするための第２のエンコーダを含み、
前記第２のニューラルネットワークは、前記第２の文章エンコードおよび前記第２の質問エンコードを使用して、前記質問に対する前記回答についての回答範囲を決定するための第２のデコーダを含む、請求項２に記載のシステム。
【請求項４】
前記第２のニューラルネットワークの前記第２のエンコーダは、
前記文章の最小セットにおける文章から第２の文章埋め込みを決定することと、
前記質問から第２の質問埋め込みを決定することと、
前記第２の文章埋め込みおよび前記第２の質問埋め込みから第２の質問を意識した埋め込みを決定することと、
前記第２の文章埋め込みおよび前記第２の質問を意識した埋め込みから前記第２の文章エンコードを生成することと、
前記第２の質問埋め込みおよび前記第２の質問を意識した埋め込みから前記第２の質問エンコードを生成することと、をするためのものである、請求項３に記載のシステム。
【請求項５】
前記第１のニューラルネットワークの前記第１のエンコーダおよび前記第２のニューラルネットワークにおける前記第２のエンコーダは、同じエンコーダである、請求項３または４に記載のシステム。
【請求項６】
前記文章の最小セットのサイズは、前記質問と別の質問との間で変動する、請求項１〜５のいずれか一項に記載のシステム。
【請求項７】
前記文章の最小セットのサイズは、前記複数のスコアからのスコアが閾値を超える、前記複数の文章における少なくとも１つの文章を含む、請求項１〜６のいずれか１項に記載のシステム。
【請求項８】
自然言語処理のための方法であって、
第１のニューラルネットワークを含む文章セレクタにおいて、質問および文書を表す複数の文章を受信することと、
前記第１のニューラルネットワークのエンコーダおよびデコーダを使用して、複数のスコアを決定することであって、前記複数のスコアにおけるスコアは、前記複数の文章における文章を使用して前記質問が回答可能であるかどうかを表す、決定することと、
前記第１のニューラルネットワークの文章セレクタモジュールによって、前記複数の文章および前記複数のスコアから文章の最小セットを生成することと、
第２のニューラルネットワークを含む質問応答モジュールを使用して、前記文章の最小セットと前記質問から回答を生成することと、を含む方法。
【請求項９】
前記第１のニューラルネットワークの前記エンコーダは、
前記複数の文章から文章埋め込み決定することと、
前記質問から質問埋め込みを決定することと、
前記文章埋め込みおよび前記質問埋め込みから質問を意識した埋め込みを決定することと、
前記エンコーダの第１の双方向長短期記憶（「ＢｉＬＳＴＭ」）を使用して、前記文章埋め込みおよび前記質問を意識した埋め込みから文章エンコードを生成することと、
前記エンコーダの第２のＢｉＬＳＴＭを使用して、前記質問埋め込みおよび前記質問を意識した埋め込みから質問エンコードを生成することと、をするためのものであり、
前記第１のニューラルネットワークの前記デコーダは、前記文章エンコードと前記質問エンコードを使用して前記複数のスコアを決定するためのものである、請求項８に記載の方法。
【請求項１０】
前記第２のニューラルネットワークにおいて、前記文章の最小セットおよび前記質問を受信することと、
前記第２のニューラルネットワークが前記第１のニューラルネットワークと共有する前記エンコーダを使用して、前記文章の最小セットおよび前記質問から第２の文章エンコードおよび第２の質問エンコードを生成することと、
前記第２の文章エンコードおよび前記第２の質問エンコードを使用して、前記質問に対する前記回答のための回答範囲を決定することと、をさらに含む、請求項８または９に記載の方法。
【請求項１１】
前記エンコーダを使用して、前記文章の最小セットにおける文章から第２の文章埋め込みを決定することと、
前記エンコーダを使用して、前記質問から第２の質問埋め込みを決定することと、
前記エンコーダを使用して、前記第２の文章埋め込みおよび前記第２の質問埋め込みから第２の質問を意識した埋め込みを決定することと、
前記エンコーダを使用して、前記第２の文章埋め込みおよび前記第２の質問を意識した埋め込みから前記第２の文章エンコードを生成することと、
前記エンコーダを使用して、前記第２の質問埋め込みおよび前記第２の質問を意識した埋め込みから前記第２の質問エンコードを生成することと、をさらに含む、請求項１０に記載の方法。
【請求項１２】
前記文章の最小セットのサイズは、前記質問と別の質問との間で変動する、請求項８〜１１のいずれか一項に記載の方法。
【請求項１３】
前記文章の最小セットのサイズは、前記複数のスコアからのスコアが閾値を超える、前記複数の文章における少なくとも１つの文章を含む、請求項８〜１２のいずれか一項に記載の方法。
【請求項１４】
機械に自然言語を処理する動作を行わせるように実行可能な機械可読命令を記憶した非一時的な機械可読媒体であって、前記動作は、
文章セレクタに含まれる第１のニューラルネットワークのエンコーダにおいて、質問および文書を表す複数の文章を受信することと、
前記第１のニューラルネットワークの前記エンコーダおよびデコーダによって、複数のスコアを決定することであって、前記複数のスコアにおけるスコアは、前記複数の文章における文章を使用して前記質問に回答可能であるかどうかを表す、決定することと、
前記第１のニューラルネットワークの文章選択モジュールによって、前記複数のスコアおよび前記複数の文章から文章の最小セットを生成することと、
第２のニューラルネットワークを含む質問応答モジュールを使用して、前記文章の最小セットおよび前記質問から前記質問に対する回答を生成することと、を含む、非一時的な機械可読媒体。
【請求項１５】
前記複数のスコアを決定するために、前記機械は、さらに、
前記エンコーダを使用して、前記複数の文章から文章埋め込みを決定することと、
前記エンコーダを使用して、前記質問から質問埋め込みを決定することと、
前記エンコーダを使用して、前記文章埋め込みおよび前記質問埋め込みから質問応答埋め込みを決定することと、
第１の双方向長短期記憶（「ＢｉＬＳＴＭ」）を使用して、前記文章埋め込みおよび質問を意識した埋め込みから文章エンコードを生成することと、
第２のＢｉＬＳＴＭを使用して、前記質問埋め込みおよび質問を意識した埋め込みから質問エンコードを生成することと、
前記文章エンコードと前記質問エンコードを使用して、前記複数のスコアを決定することと、の動作をするようにさらに構成されている、請求項１４に記載の非一時的な機械可読媒体。
【請求項１６】
前記機械は、さらに、
前記第１のニューラルネットワークと共有される前記第２のニューラルネットワークの前記エンコーダで、前記文章の最小セットおよび前記質問を受信することと、
前記エンコーダを使用して、前記文章の最小セットおよび前記質問から第２の文章エンコードおよび第２の質問エンコードを生成することと、
前記第２の文章エンコードおよび前記第２の質問エンコードを使用して、前記質問の前記回答のための回答範囲を生成することと、の動作を行うようにさらに構成されている、請求項１５に記載の非一時的な機械可読媒体。
【請求項１７】
前記機械は、さらに、
前記エンコーダを使用して、前記文章の最小セットにおける文章からの第２の文章埋め込みを決定することと、
前記エンコーダを使用して、前記質問から第２の質問埋め込みを決定することと、
前記エンコーダを使用して、前記第２の文章埋め込みおよび前記第２の質問埋め込みから第２の質問を意識した埋め込みを決定することと、
前記第２の文章埋め込みおよび前記第２の質問を意識した埋め込みから前記第２の文章エンコードを生成することと、
前記第２の質問埋め込みおよび前記第２の質問を意識した埋め込みから前記第２の質問エンコードを生成することと、の動作を行うようにさらに構成されている、請求項１６に記載の非一時的な機械可読媒体。
【請求項１８】
前記文章の最小セットのサイズは、前記質問と別の質問との間で変動する、請求項１４〜１７のいずれか一項に記載の非一時的な機械可読媒体。
【請求項１９】
前記文章の最小セットのサイズは、前記複数のスコアからのスコアが閾値を超える、前記複数の文章における少なくとも１つの文章を含む、請求項１４〜１８のいずれか一項に記載の非一時的な機械可読媒体。
【請求項２０】
前記複数の文章は、前記文書の部分からの文章である、請求項１４〜１９のいずれか一項に記載の非一時的な機械可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
この出願は、両方とも「Question  Answering  from  Minimal  Context  Over  Documents」と題する、２０１８年２月２２日に出願された米国仮出願第６２／６３４，１５１号、および２０１８年５月１５日に出願された米国非仮特許出願第１５／９８０，２０７号に対する優先権を主張し、それらの全体が参照により援用される。
【０００２】
本開示は、一般に、自然言語処理に関し、より具体的には、可変の文章のセットからの自然言語コンテキストに関する自然言語の質問に回答することに関する。
【背景技術】
【０００３】
機械が文書を読んで質問に回答するというテキスト質問応答（「ＱＡ」）のタスクは、自然言語処理において重要かつ挑戦的な問題である。ニューラルＱＡモデルにおける進歩は、主に利用可能なＱＡデータセットの多様性による。
【０００４】
従来のニューラルＱＡモデルは、文書と質問の共依存表現を構築する双方向アテンションメカニズムを活用する。これは、文書全体における異なる部分についてコンテキストを学習することによって行われる。しかし、文書についてコンテキスト全体を学習することは、挑戦的かつ非効率的である。これは、従来のニューラルＱＡモデルに長い文書または複数の文書を与えられたときに特に当てはまる。この場合、コンテキスト全体を学習する従来のニューラルＱＡモデルは、手に負えない程遅く、大きなコーパスにスケールすることが困難である。
【０００５】
加えて、従来のニューラルモデルに対立する入力が与えられるときに、そのようなモデルはコンテキストの誤った部分サブセットに焦点を当て、結果として誤った回答を生成する傾向がある。
【０００６】
従って、必要とされるのは、大きな文書に対してスケーラブルであり、対立する入力に対してロバストであるＱＡシステムである。
【図面の簡単な説明】
【０００７】
【図１】いくつかの実施形態による、計算デバイスの簡略化された図である。
【図２】いくつかの実施形態による、質問応答システムの簡略化された図である。
【図３】いくつかの実施形態による、質問応答システムにおけるエンコーダの簡略化された図である。
【図４】一実施形態による、文章セレクタ内のデコーダの簡略化された図である。
【図５】一実施形態による、質問応答モデルの簡略化された図である。
【図６】いくつかの実施形態による、質問応答モデルにおけるデコーダの簡略化された図である。
【図７】いくつかの実施形態による、質問に対する回答を生成するためのフローチャートである。
【図８】いくつかの実施形態による、文章のセットを決定するための方法のフローチャートである。
【図９】いくつかの実施態様による、質問に回答するための方法のフローチャートである。
【０００８】
図において、同一の符号を有する要素は、同じまたは類似の機能を有する。
【発明を実施するための形態】
【０００９】
機械が文書を読んで質問に回答するというテキスト質問応答（「ＱＡ」）のタスクは、自然言語処理において重要かつ挑戦的な問題である。質問に回答するために文書のコンテキスト全体を学習することは非効率的であるため、実施形態は、大きな文書にスケーラブルであり、対立する入力にロバストなＱＡシステムを説明する。
【００１０】
いくつかの実施形態において、ＱＡシステムは、２、３の質問が尋ねられたときに、文書全体を考慮せずに、文書内の一節に対するほとんどの回答を識別することができる。回答を識別するために、ＱＡシステムは文章セレクタを使用してもよい。文章セレクタは、文書から文章のセットを識別してもよい。文章のセットは、文章の最小のセットまたは設定可能な閾値を超えるスコアを有する文章とすることができる。文書からの文章のセットは、質問ごとに変動してもよい。一旦、文章セレクタが質問のセットを識別すると、ＱＡシステムのＱＡモジュールは、文章のセットを使用して質問に対する回答を決定する。
【００１１】
図１は、いくつかの実施形態による、計算デバイス１００の簡略図である。図１に示すように、計算デバイス１００は、メモリ１２０に結合されたプロセッサ１１０を含む。計算デバイス１００の動作は、プロセッサ１１０によって制御される。また、計算デバイス１００は、１つのプロセッサ１１０のみで示されているが、プロセッサ１１０は、計算デバイス１００内の１つ以上の中央処理ユニット、マルチコアプロセッサ、マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、特定用途向け集積回路（ＡＳＩＣ）、グラフィックス処理ユニット（ＧＰＵ）などを代表するものであってもよいと理解される。計算デバイス１００は、スタンドアロンのサブシステムとして、計算デバイスに追加されたボードとして、および／または仮想機械として実装されてもよい。
【００１２】
メモリ１２０は、計算デバイス１００によって実行されるソフトウェアおよび／または計算デバイス１００の動作中に使用される１つ以上のデータ構造を記憶するために使用されてもよい。メモリ１２０は、１つ以上のタイプの機械可読媒体を含んでもよい。機械可読媒体のいくつかの一般的な形態は、フロッピーディスク、フレキシブルディスク、ハードディスク、磁気テープ、他の磁気媒体、ＣＤ−ＲＯＭ、他の任意の光媒体、パンチカード、紙テープ、穴のパターンを有する他の任意の物理媒体、ＲＡＭ、ＰＲＯＭ、ＥＰＲＯＭ、ＦＬＡＳＨ−ＥＰＲＯＭ、他の任意のメモリチップまたはカートリッジ、および／またはプロセッサまたはコンピュータが読むように適合される他の任意の媒体を含んでもよい。
【００１３】
プロセッサ１１０および／またはメモリ１２０は、任意の適切な物理的配置に配置されてもよい。いくつかの実施形態において、プロセッサ１１０および／またはメモリ１２０は、同じボード、同じパッケージ（例えば、システム・イン・パッケージ）、同じチップ（例えば、システム・オン・チップ）内、および／または同様のものに実装されてもよい。いくつかの実施形態において、プロセッサ１１０および／またはメモリ１２０は、分散、仮想化、および／またはコンテナ化された計算リソースを含んでもよい。このような実施形態と一致して、プロセッサ１１０および／またはメモリ１２０は、１つ以上のデータセンターおよび／またはクラウドコンピューティング施設に位置してもよい。いくつかの例において、メモリ１２０は、１つ以上のプロセッサ（例えば、プロセッサ１１０）によって実行されるときに、１つ以上のプロセッサに本明細書にさらに詳細に説明される質問応答方法を行わせる得る実行可能コードを含む、非一時的な有形の機械可読媒体を含んでもよい。
【００１４】
図１に図示するように、メモリ１２０は、質問応答システム１３０（または単にＱＡシステム１３０）を含んでもよい。ＱＡシステム１３０は、ハードウェア、ソフトウェア、および／またはハードウェアとソフトウェアの組み合わせを使用して実装されてもよい。従来の質問応答システムとは異なり、ＱＡシステム１３０は、自然言語文書１６０（または単に、文書１６０）および文書１６０に関する自然言語質問１７０（または単に、質問１７０）を受信する。文書１６０は、文書の部分、文書の１つ以上の段落、または文書全体であってもよい。ＱＡシステム１３０が文書１６０および質問１７０を受信した後に、ＱＡシステム１３０は、文書１６０全体を評価することなく、質問１７０に対する自然言語回答１８０（または単に、回答１８０）を生成してもよい。むしろ、ＱＡシステム１３０は、文書１６０を使用して、可変の文章のセットを生成し、文章のセットを使用して、回答１８０を決定する。
【００１５】
図１にも図示されているように、計算デバイス１００が、文書１６０および質問１７０を受信してもよく、文書１６０および質問１７０をＱＡシステム１３０に提供してもよい。一旦、ＱＡシステム１３０が回答１８０を生成すると、ＱＡシステム１３０は、計算デバイス１００に回答１８０を提供してもよい。
【００１６】
いくつかの実施形態において、ＱＡシステム１３０は、文章セレクタ１４０およびＱＡモジュール１５０を含んでもよい。文章セレクタ１４０およびＱＡモジュール１５０はまとめて、本明細書にさらに説明されるモデルを実装および／またはエミュレートするために、および／または本明細書にさらに説明される方法のいずれかを実装するために使用されてもよい。いくつかの例において、文章セレクタ１４０およびＱＡモジュール１５０は、文書１６０および質問１７０を受信し、回答１８０を生成してもよい。いくつかの例では、文章セレクタ１４０およびＱＡモジュール１５０はまた、ＱＡシステム１３０の反復訓練および／または評価を処理してもよい。
【００１７】
図２は、いくつかの実施形態による、ＱＡシステム１３０の簡略化された図である。上述のように、ＱＡシステム１３０は、文章セレクタ１４０およびＱＡモジュール１５０を含んでもよい。文章セレクタ１４０およびＱＡモジュール１５０は、ニューラルネットワークを使用して実装されてもよい。
【００１８】
いくつかの実施形態において、文章セレクタ１４０は、質問１７０および文書１６０からの１つ以上の文章２１０を受信してもよい。文章２１０は、文書１６０全体、文書１６０の部分、または文書１６０の第１段落などの特定の段落から識別される文章であってもよい。
【００１９】
いくつかの実施形態において、文章セレクタ１４０は、エンコーダ２２０およびデコーダ２３０（文章セレクタデコーダ２３０として示されている）を含んでもよい。注目すべきことに、従来のシステムとは異なり、文章セレクタ１４０は、後述するＱＡモジュール１５０とエンコーダ２２０を共有する。
【００２０】
図３は、いくつかの実施形態による、エンコーダ２２０のブロック図である。エンコーダ２２０は、入力として質問１７０および１つ以上の文章２１０を受信してもよい。文章２１０から、エンコーダ２２０は、文章埋め込み
【数１】
2021515310.tif 000003
（２１５として示されている）を決定してもよく、質問１７０から、エンコーダ２２０は、質問埋め込み
【数２】
2021515310.tif 000004
（２２５として示されている）を決定してもよい。また、文章２１０および質問１７０から、エンコーダ２２０は、質問を意識した文章埋め込み
【数３】
2021515310.tif 000005
を決定してもよく、ここで、ｈｄは、単語埋め込みの次元であり、Ｌｄは、文書１６０のシーケンス長であり、Ｌｑは、質問１７０のシーケンス長である。
【００２１】
いくつかの実施形態において、埋め込みＤの次元は、６００であってもよく、ｈは、２００であってもよい。
【００２２】
いくつかの実施形態において、エンコーダ２２０は、以下に示すように、質問を意識した文章埋め込みＤｑを生成してもよい。
【数４】
2021515310.tif 000006
（式１）
【数５】
2021515310.tif 000007
（式２）
【００２３】
いくつかの実施形態では、
【数６】
2021515310.tif 000008
は、ｉ番目の単語のための文章埋め込みの隠された状態であってもよく、
【数７】
2021515310.tif 000009
は、訓練可能な重みの行列である。上記の式１および式２に例示されているように、エンコーダ２２０は、文章埋め込みＤおよび質問埋め込みＱを使用して、質問を意識した文章埋め込みを生成してもよい。
【００２４】
いくつかの実施形態において、エンコーダ２２０は、双方向長短期記憶（Bi-Directional  Long  Short-Term  Memory）またはＢｉ−ＬＳＴＭを使用して、文章エンコードＤｅｎｃ（２３５として示されている）（sentence  encodings）および質問エンコードＱｅｎｃ（２４０として示される）（question  encodings）を取得してもよい。Ｂｉ−ＳＴＴＭは、シーケンシャルデータのために使用され得る回帰型ニューラルネットワークの一種である。文章エンコードＤｅｎｃを決定するために、Ｂｉ−ＬＳＴＭ＿Ｄへの入力は、文章埋め込みＤ（sentence  embeddings）と質問を意識した文章埋め込みＤｑ（question-aware  sentence  embeddings）であってもよい。例えば、文章エンコードＤｅｎｃは、以下の方程式を解くことによって生成されてもよい。
【数８】
2021515310.tif 000010
（式３）
【００２５】
質問エンコードＱｅｎｃを決定するために、Ｂｉ−ＬＳＴＭ＿Ｑへの入力は、質問埋め込みＱ（question  embeddings）と質問を意識した文章埋め込みＤｑであってもよい。例えば、質問エンコードＱｅｎｃは、以下の方程式を解くことによって生成されてもよい。
【数９】
2021515310.tif 000011
（式４）
【００２６】
いくつかの実施形態において、「；」は、２つのベクトルの連結を示し、ｈは、隠れた次元のハイパーパラメータである。いくつかの実施形態において、ハイパーパラメータは、２００のサイズを有してもよい。
【００２７】
図２に戻ると、いくつかの実施形態では、デコーダ２３０は、質問１７０が文章２１０によって回答できるどうかを示す文章２１０に対するスコア２４５を計算してもよい。図４は、いくつかの実施態様による、デコーダ２３０のブロック図である。デコーダ２３０は、文章エンコードＤｅｎｃと質問エンコードＱｅｎｃとの間の双線形類似性を以下のように計算することによって、スコア２４５を決定してもよい。
【数１０】
2021515310.tif 000012
（式５）
【数１１】
2021515310.tif 000013
（式６）
【数１２】
2021515310.tif 000014
（式７）
【数１３】
2021515310.tif 000015
（式８）
【数１４】
2021515310.tif 000016
（式９）
【００２８】
いくつかの実施形態において、
【数１５】
2021515310.tif 000017
は、訓練可能な重みを有する行列であってもよい。いくつかの実施形態では、スコア２４５の各次元は、特定の文章２１０が与えられると、質問１７０が回答可能であるか、または回答可能ではないかを意味する。
【００２９】
いくつかの実施形態において、文章セレクタ１４０は、正規化器（図示せず）を含んでもよい。正規化器は、式９においてスコアが計算された後、および図４に示された線形層の後に、デコーダ２３０内に含まれてもよい。正規化器は、スコア２４５を、同じ段落からの文章２１０についての正規化されたスコアに正規化してもよい。典型的には、正規化されたスコアは、０〜１の値を有してもよい。
【００３０】
図２に戻ると、いくつかの実施形態では、文章セレクタ１４０は、文章スコアモジュール２５０を含んでもよい。文章スコアモジュール２５０は、スコア２４５に基づいて文章のセット２５５に文章２１０を選択してもよい。文章のセット２５５は、ＱＡモジュール１５０（後述）が質問１７０に対する回答１８０を決定するために使用し得る文章２１０を含んでもよい。いくつかの実施形態において、文章スコアモジュール２５０は、文章２５５のセットに文章２１０の最小数を選択してもよい。文章２１０の最小数は、ＱＡモジュール１５０が回答１８０を生成するために使用し得る文章２１０の数である。文章スコアモジュール２５０が文章２１０の最小数を選択するための１つのやり方は、ハイパーパラメータ「ｔｈ」を使用することである。ハイパーパラメータを使用して文章２１０を選択するために、文章スコアモジュール２５０は、Ｓａｌｌ＝｛ｓ１，ｓ２，ｓ３，．．．，ｓｎ｝として、文書１６０に対するすべての文章２１０についてのスコア２４５受信してもよく、ここで、Ｓａｌｌは、スコア２４５または正規化されたスコアに従って、例えば、降順に順序付けされる。次に、文章スコアモジュール２５０は、以下のように、文章のセット２５５に含まれるべき文章（Ｓｓｅｌｅｃｔｅｄ）を選択してもよい。
【数１６】
2021515310.tif 000018
（式１０）
【数１７】
2021515310.tif 000019
（式１１）
【００３１】
いくつかの実施形態では、スコア（ｓｉ）は、正規化されたスコアであり、「ｔｈ」ハイパーパラメータは、０〜１であり得る。
【００３２】
いくつかの実施形態では、Ｓｃａｎｄｉｄａｔｅは、式１０に示されるように、１からハイパーパラメータが減算されるときに、「ｔｈ」ハイパーパラメータよりも大きいスコアを有する文章２１０のセットを含む。一旦、文章スコアモジュール２５０がＳｃａｎｄｉｄａｔｅセットを決定すると、文章スコアモジュール２５０は、式１１に示されるように、Ｓセットが空のセットではないかを決定してもよい。Ｓｃａｎｄｉｄａｔｅセットが空のセットでない場合、Ｓｃａｎｄｉｄａｔｅセットは、式１１におけるＳｓｅｌｅｃｔｅｄである文章のセット２５５となる。そうではなく、Ｓｃａｎｄｉｄａｔｅセットが空のセットである場合、文章スコアモジュール２５０は、Ｓａｌｌ内に第１の文章ｓ１含めてもよい。この場合、Ｓａｌｌセット中の文章２１０が降順のスコアによって含まれる場合、文章スコアモジュール２５０は、Ｓｓｅｌｅｃｔｅｄ内に最も高いスコアを有する文章ｓ１選択してもよい。
【００３３】
文章の最小のセット２５５がハイパーパラメータを使用するときに、文章のセット２５５のサイズは、０と１の間のｔｈハイパーパラメータの値を調整することによって推論時間で動的に制御されてもよい。このようにして、文章セレクタ１４０が質問１７０に回答するために選択し得る文章２１０の数は、ＱＡシステム１３０の精度および速度の要求に応じて変動してもよい。
【００３４】
いくつかの実施形態において、文章スコアモジュール２５０は、１つ以上の文章２１０を選択するために、設定可能な閾値を使用してもよい。例えば、文章スコアモジュール２５０は、設定可能な閾値を上回るスコア２４５を有する文章２１０を選択することができる。
【００３５】
図２に戻ると、いくつかの実施形態では、ＱＡモジュール１５０のためのアーキテクチャは、エンコーダ２２０とＱＡモデルデコーダ２６０または単にデコーダ２６０とに分割されてもよい。特に、ＱＡモジュール１５０は、文章セレクタ１４０に含まれるエンコーダ２２０を含んでもよい。図５は、いくつかの実施形態によるＱＡモジュール１５０のブロック図である。図５に図示されるように、文書１６０から文章２１０を受信する代わりに、エンコーダ２２０は、文章セレクタ１４０および質問１７０によって生成された文章のセット２５５を受信してもよい。文章のセット２５５および質問１７０を使用して、エンコーダ２２０は、文書埋め込み
【数１８】
2021515310.tif 000020
（２１５として示されている）、質問埋め込み
【数１９】
2021515310.tif 000021
（２２５として示されている）、および質問を意識した文書埋め込み
【数２０】
2021515310.tif 000022
を生成してもよく、ここで、Ｄｑは、式１におけるように定義されてもよい。いくつかの実施形態において、エンコーダ２２０は、図３に示すように、文章エンコードＤｅｎｃ（２３５として示されている）および質問エンコードＱｅｎｃ（２４０として示されている）を取得してもよい。エンコーダ２２０は、文書エンコードＤｅｎｃおよび質問エンコードＱｅｎｃをＱＡモデルデコーダ２６０（または単にデコーダ２６０）に渡してもよい。
【００３６】
図２に戻ると、いくつかの実施形態において、デコーダ２６０は、質問１７０への回答スパンについてのスコアを取得してもよい。図６は、いくつかの実施形態による、デコーダ２６０のブロック図である。デコーダ２６０は、以下のように、文書エンコードＤｅｎｃと質問エンコードＱｅｎｃとの間の双線形類似性を計算することによって、回答スパンの開始位置６１０および終了位置６２０についてのスコアを決定してもよい。
【数２１】
2021515310.tif 000023
（式１２）
【数２２】
2021515310.tif 000024
（式１３）
【数２３】
2021515310.tif 000025
（式１４）
【数２４】
2021515310.tif 000026
（式１５）
ここで、
【数２５】
2021515310.tif 000027
は、訓練可能な重みの行列である。開始位置６１０および終了位置６２０は、質問１７０に対する回答１８０を識別してもよい。
【００３７】
図７は、いくつかの実施態様による、質問に回答するための方法のフローチャートである。方法７００のプロセス７０２〜７１０のうちの１つ以上は、少なくとも部分的に、１つ以上のプロセッサによって実行されるときに、１つ以上のプロセッサにプロセス７０２〜７１０のうちの１つ以上を行わせ得る、非一時的な有形の機械可読媒体に記憶された実行可能コードの形態で実装されてもよい。
【００３８】
動作７０２では、質問および１つ以上の文章が受信される。例えば、文章セレクタ１４０は、質問１７０および文書１６０からの１つ以上の文章２１０を受信する。
【００３９】
動作７０４では、１つ以上の文章についてのスコアが生成される。例えば、文章セレクタ１４０に含まれるエンコーダ２２０およびデコーダ２３０は、１つ以上の文章２１０についてのスコア２４５を生成する。図８は、いくつかの実施形態に従ってスコアがどのように生成されるかを説明するフローチャートであり、以下に説明する。
【００４０】
動作７０６では、スコアのセットが生成される。例えば、文章セレクタ１４０に含まれる文章スコアモジュール２５０は、文章２１０のサブセットを文章のセット２５５に選択してもよい。いくつかの実施形態において、文章のセット２５５は、ハイパーパラメータに基づいてもよい。いくつかの実施形態において、文章のセットは、設定可能な閾値を超えるスコア２４５を含んでもよい。
【００４１】
動作７０８では、文章のセットおよび質問が受信される。例えば、ＱＡモジュール１５０は、文章のセット２５５および質問１７０を受信してもよい。
【００４２】
動作７１０では、回答が生成される。例えば、ＱＡモジュール１５０が文章セレクタ１４０と共有し得るエンコーダ２２０およびデコーダ２６０は、文章のセット２５５から回答１８０を生成してもよい。
【００４３】
図８は、いくつかの実施形態による、文章のセットを決定するための方法のフローチャートである。方法８００のプロセス８０２〜８１４のうちの１つ以上は、少なくとも部分的に、１つ以上のプロセッサによって実行されるときに、１つ以上のプロセッサにプロセス８０２〜８１４のうちの１つ以上を行わせ得る、非一時的な有形の機械可読媒体に記憶される実行可能コードの形態で実装されてもよい。
【００４４】
動作８０２では、文章埋め込みが決定される。例えば、エンコーダ２２０は、単語埋め込みの次元および文書１６０のシーケンス長を使用して文章埋め込みＤを決定する。
【００４５】
動作８０４において、質問埋め込みが決定される。例えば、エンコーダ２２０は、単語埋め込みの次元および質問１７０のシーケンス長を使用して質問埋め込みＱを決定する。
【００４６】
動作８０６では、質問を意識した文章埋め込みが決定される。例えば、エンコーダ２２０は、文章の埋め込みＤおよび質問埋め込みＱを使用して、質問を意識した文章埋め込みＤｑを決定する。
【００４７】
動作８０８では、文章エンコードが生成される。例えば、エンコーダ２２０は、文章埋め込みＤｑおよび質問応答文章埋め込みＤｑから文章エンコードＤｅｎｃを生成する。
【００４８】
動作８１０では、質問エンコードが生成される。例えば、エンコーダ２２０は、文章埋め込みＤｑおよび質問応答文章埋め込みＤｑから質問エンコードＱｅｎｃを生成する。
【００４９】
動作８１２では、文章についてのスコアが決定される。例えば、デコーダ２３０は文章２１０についてのスコア２４５を決定する。
【００５０】
動作８１４では、文章のセットが決定される。例えば、文章スコアモジュール２５０は、スコア２４５を使用して、文章のセット２５５に含まれる文章２１０を決定する。上述のように、文章のセット２５５は、ＱＡモジュール１５０が回答１８０を決定するために使用し得る文章の最小セット、または閾値を超えるスコア２４５を有するある数の文章２１０を含んでもよい。
【００５１】
図９は、いくつかの実施態様による、質問に回答するための方法のフローチャートである。方法９００のプロセス９０２〜９１４のうちの１つ以上は、少なくとも部分的に、１つ以上のプロセッサによって実行されるときに、１つ以上のプロセッサにプロセス９０２〜９１４のうちの１つ以上を行わせ得る、非一時的な有形の機械可読媒体に記憶された実行可能なコードの形態で実装させてもよい。
【００５２】
動作９０２では、文章埋め込みが決定される。例えば、エンコーダ２２０は、単語埋め込みの次元および文章のセット２５５内の文章２１０のシーケンス長を使用して、文章埋め込みＤを決定する。
【００５３】
動作９０４では、質問埋め込みが決定される。例えば、エンコーダ２２０は、単語埋め込みの次元および質問１７０のシーケンス長を使用して質問埋め込みＱを決定する。
【００５４】
動作９０６では、質問を意識した文章埋め込みが決定される。例えば、エンコーダ２２０は、文章埋め込みＤおよび質問埋め込みＱを使用して質問を意識した文章埋め込みＤｑを決定する。
【００５５】
動作９０８では、文章エンコードが生成される。例えば、エンコーダ２２０は、文章埋め込みＤｑおよび質問応答埋め込みＤｑから文章エンコードＤｅｎｃを生成する。
【００５６】
動作９１０では、質問エンコードが生成される。例えば、エンコーダ２２０は、文章埋め込みＤｑおよび質問応答埋め込みＤｑから質問エンコードＱｅｎｃを生成する。
【００５７】
動作９１２では、回答についての開始位置および終了位置を決定する。例えば、デコーダ２６０は、文章エンコードおよび質問エンコードを使用して、質問１７０に対する回答１８０についての開始位置６１０および終了位置６２０を生成する。
【００５８】
動作９１４では、回答が識別される。例えば、デコーダ２６０は、開始位置６１０および終了位置６２０を使用して、回答１８０を識別する。
【００５９】
図２に戻ると、いくつかの実施形態では、文章セレクタ１４０を訓練するためのいくつかの技術があり得る。第１の技術では、ＱＡモジュール１５０は、単一のオラクル文に関して訓練されてもよく、単一のオラクル文に関して訓練されたＱＡモデルからの重みは、エンコーダ２２０に組み込まれてもよい。オラクル文は、グランド・トゥルース・アンサー・スパン（ground  truth  answer  span）を含む文であってもよい。第２の技術では、文章２１０がゼロのスコアを受信する場合、訓練データは修正されてもよい。第３の技術では、各文章２１０についてのスコア２４５は、同じ段落からの文章２１０にわたって正規化されてもよい。典型的には、正規化されたスコアは、０〜１であり得る。
【００６０】
いくつかの実施形態において、訓練データは、１つ以上の既存のＱＡデータセット（dataset)からのデータであってもよい。種々のデータセットについては、Ｓｅｗｏｎ  Ｍｉｎらによる“Efficient  and  Robust  Question  Answering  from  Minimal  Context  over  Documents”で論じられており、その全体が参照により組み込まれる。例示的なデータセットは、Ｗｉｋｉｐｅｄｉａ記事の大きなセットからのＳＱｕＡＤデータセットであってもよい。ＳＱｕＡＤデータセットは、各質問１７０に対する段落を提供してもよい。データセットの別の例は、ニュース記事の大きなセットを含むＮｅｗｓＱＡデータセットであってもよく、各質問１７０のための段落も提供する。典型的には、ＮｅｗｓＱＡデータセット内の段落は、ＳＱｕＡＤデータセット内の段落よりも長い。データセットの別の例は、Ｗｉｋｉｐｅｄｉａ記事およびＷｅｂ文書の大規模なセットを含むＴｒｉｖｉａＱＡデータセットである。ＴｒｉｖｉａＱＡデータセットでは、各質問１７０には、複数の文書の形式でより長いコンテキストが与えられる。さらに別の例において、データセットは、ＳＱｕＡＤに基づくオープンドメイン(domain）質問応答データセットであってもよい。ＳＱｕＡＤ−Ｏｐｅｎデータセットでは、質問と回答のみが与えられ、モデルは、英語のＷｉｋｉｐｅｄｉａ記事または別の言語で書かれたＷｉｋｉｐｅｄｉａ記事から関連するコンテキストを識別してもよい。さらにもう１つの実施形態において、ＳＱｕＡＤ−Ａｄｖｅｒｓａｒｉａｌデータセットは、ＳＱｕＡＤデータセットの別の変形であってもよい。例えば、ＳＱｕＡＤ−Ａｄｖｅｒｓａｒｉａｌデータセットは、ＳＱｕＡＤと同じトレーニングセットを共有するが、開発セットのサブセットの各段落に追加される対立する文章も有する。以下の表１は、質問応答システムを訓練するために使用され得る例示的なデータセットを図示する。
【表１】
2021515310.tif 000028
【００６１】
上記の表１において、「N  word」は、文書１６０内の単語の平均数を指してもよく、「Ｎ  sent」は、文書１６０内の文章の平均数を指してもよく、「N  doc」は、文書１６０の平均数を指してもよい。
【００６２】
いくつかの実施形態では、いくつかの従来のＱＡモデルをＱＡシステム１３０と比較してもよい。例示的な従来のＱＡモデルには、従来の文書全体モデル、グラウンド・トゥルース・アンサー・スパンモデルを含む従来のオラクル文章、および、その全体が参照により組み込まれる「Efficient  and  Robust  Question  Answering  from  Minimal  Context  over  Documents」でも論じられている従来のＴＦ−ＩＤＦが挙げられ得る。ＱＡシステム１３０に対するＴＦ−ＩＤＦモデルの結果を以下の表２に復元する。加えて、結果はＱＡシステム１３０を図示しており、ここで、文章スコアモジュール２５０はハイパーパラメータを使用して文章のセット２５５を選択してもよく、その場合、文章のセット２２５内の複数の文章２１０は、質問ごとに変動してもよい。また、結果は、ＱＡシステム１３０を例示することができ、文章スコアモジュール２５０は、事前に構成された閾値を使用して文章のセット２５５を選択することができ、その場合、文章のセット２５５は、閾値を超えるスコアを有する文章２１０を含んでもよい。
【００６３】
ＳＱｕＡＤおよびＮｅｗｓＱＡデータセットに関して、表２は、質問応答システム１３０が、従来のＴＦ−ＩＤＦシステム、および最先端のシステムと考えられる「Efficient  and  Robust  Question  Answering  from  Minimal  Context  over  Documents」で論じられるＴａｎのシステムよりも、文書１６０および質問１７０からの回答１８０を決定するためのより高い精度および平均精度を有することを示す。
【表２】
2021515310.tif 000029
【００６４】
いくつかの実施形態において、表２の「Ｔ」、「Ｍ」、および「Ｎ」は、上記で論じられた異なる訓練技法を識別する。すなわち、「Ｔ」は重量移動技法であり、「Ｍ」はデータ修正技法であり、「Ｎ」はスコア正規化技法である。
【００６５】
ＳＱｕＡＤデータセットに関して、ＱＡシステム１３０は、従来の完文書全体モデルよりも正確である。表３は、３つの質問１７０（イタリック体のテキスト）、文書１６０、および文書１６０および質問１７０からＱＡシステム１３０および従来のモデルシステムが決定した回答を示す。
【表３】
2021515310.tif 000030
【００６６】
表３に示すように、ＱＡシステム１３０は、正しい回答を選択する（下線部分）。チェックマーク（
［外１］
2021515310.tif 000031
）は、ＱＡシステム１３０が上記の質問に回答するために選択した文章２１０を示す。さらに、同じ質問とテキストを与えられると、従来の文書全体モデルは正しい回答を選択しない（太字部分）。
【００６７】
本出願は、さらに、本開示の一部とみなされ、その全体が参照により組み込まれる添付文書（「Efficient  and  Robust  Question  Answering  from  Minimal  Context  over  Documents」、１６ページ）に関してさらに説明される。
【００６８】
例示的な実施形態が示され説明されたが、広範囲の修正、変更および置換が、前述の開示において企図され、いくつかの例では、実施形態のいくつかの特徴は、他の特徴の対応する使用なしに採用され得る。当業者であれば、多くの変形物、代替物、および修正物を認識するであろう。従って、本発明の範囲は、以下の特許請求の範囲によってのみ限定されるべきであり、特許請求の範囲は、広くかつ本明細書に開示された実施形態の範囲と矛盾しない方法で解釈されることが適切である。
【図１】
2021515310.tif 000032
【図２】
2021515310.tif 000033
【図３】
2021515310.tif 000034
【図４】
2021515310.tif 000035
【図５】
2021515310.tif 000036
【図６】
2021515310.tif 000037
【図７】
2021515310.tif 000038
【図８】
2021515310.tif 000039
【図９】
2021515310.tif 000040
【国際調査報告】
2021515310.tif 000041
2021515310.tif 000042