IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

7113902文書について最低限のコンテキストからの質問応答
<>
  • -文書について最低限のコンテキストからの質問応答 図1
  • -文書について最低限のコンテキストからの質問応答 図2
  • -文書について最低限のコンテキストからの質問応答 図3
  • -文書について最低限のコンテキストからの質問応答 図4
  • -文書について最低限のコンテキストからの質問応答 図5
  • -文書について最低限のコンテキストからの質問応答 図6
  • -文書について最低限のコンテキストからの質問応答 図7
  • -文書について最低限のコンテキストからの質問応答 図8
  • -文書について最低限のコンテキストからの質問応答 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-07-28
(45)【発行日】2022-08-05
(54)【発明の名称】文書について最低限のコンテキストからの質問応答
(51)【国際特許分類】
   G06F 16/90 20190101AFI20220729BHJP
   G06N 3/04 20060101ALI20220729BHJP
【FI】
G06F16/90 100
G06N3/04 154
【請求項の数】 17
(21)【出願番号】P 2020544446
(86)(22)【出願日】2019-02-19
(65)【公表番号】
(43)【公表日】2021-06-17
(86)【国際出願番号】 US2019018530
(87)【国際公開番号】W WO2019164818
(87)【国際公開日】2019-08-29
【審査請求日】2020-10-20
(31)【優先権主張番号】62/634,151
(32)【優先日】2018-02-22
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】15/980,207
(32)【優先日】2018-05-15
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】506332063
【氏名又は名称】セールスフォース ドット コム インコーポレイティッド
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【弁理士】
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】ミン,セウォン
(72)【発明者】
【氏名】ゾン,ヴィクター
(72)【発明者】
【氏名】ション,カイミング
(72)【発明者】
【氏名】ソーチャー,リチャード
【審査官】早川 学
(56)【参考文献】
【文献】米国特許出願公開第2016/0358072(US,A1)
【文献】RAIMAN, Jonathan et al.,Globally Normalized Reader,Proceedings of the 2017 Conference on Empirical Methods in Natural Language Processing [online],Association for Computational Linguistics,2017年09月,pp.1059-1069(Anthology ID:D17-1111),[検索日 2021.11.10], Internet<URL: https://aclanthology.org/D17-1111/ >, <DOI: 10.18653/v1/D17-1111 >
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00-16/958
G06N 3/04
(57)【特許請求の範囲】
【請求項1】
自然言語処理のためのシステムであって、
第1のニューラルネットワークを含む文章セレクタであって、
前記第1のニューラルネットワークの第1のエンコーダにおいて、質問および文書を表す複数の文章を受信することと、
前記第1のニューラルネットワークの前記第1のエンコーダおよび第1のデコーダを使用して、複数のスコアを決定することであって、前記複数のスコアにおけるスコアは、前記質問が前記複数の文章における対応する文章を使用して回答可能であるかどうかを表し前記複数のスコアを決定することが、
前記第1のエンコーダを使用して、前記複数の文章からの文章埋め込みを決定することと、
前記第1のエンコーダを使用して、前記質問から質問埋め込みを決定することと、
前記第1のエンコーダを使用して、前記文章埋め込みおよび前記質問埋め込みから質問を意識した埋め込みを決定することと、
第1の双方向長短期記憶(「BiLSTM」)を使用して、前記文章埋め込みおよび前記質問を意識した埋め込みから文章エンコードを生成することと、
第2のBiLSTMを使用して、前記質問埋め込みおよび前記質問を意識した埋め込みから質問エンコードを生成することと、
前記第1のデコーダを使用して、前記文章エンコードおよび前記質問エンコードを使用して、前記複数のスコアを決定することと、をさらに含む、前記複数のスコアを決定することと、
前記第1のニューラルネットワークの文章セレクタモジュールを使用して、前記複数の文章および前記複数のスコアから文章の最小セットを生成することと、をするための文章セレクタと、
第2のニューラルネットワークを含む質問応答モジュールであって、前記文章の最小セットおよび前記質問から回答を生成するための質問応答モジュールと、を含むシステム。
【請求項2】
前記第2のニューラルネットワークは、
前記文章の最小セットおよび前記質問を受信することと、
前記文章の最小セットおよび前記質問から第2の文章エンコードおよび第2の質問エンコードを生成することと、をするための第2のエンコーダを含み、
前記第2のニューラルネットワークは、前記第2の文章エンコードおよび前記第2の質問エンコードを使用して、前記質問に対する前記回答についての回答範囲を決定するための第2のデコーダを含む、請求項に記載のシステム。
【請求項3】
前記第2のニューラルネットワークの前記第2のエンコーダは、
前記文章の最小セットにおける文章から第2の文章埋め込みを決定することと、
前記質問から第2の質問埋め込みを決定することと、
前記第2の文章埋め込みおよび前記第2の質問埋め込みから第2の質問を意識した埋め込みを決定することと、
前記第2の文章埋め込みおよび前記第2の質問を意識した埋め込みから前記第2の文章エンコードを生成することと、
前記第2の質問埋め込みおよび前記第2の質問を意識した埋め込みから前記第2の質問エンコードを生成することと、をするためのものである、請求項に記載のシステム。
【請求項4】
前記第1のニューラルネットワークの前記第1のエンコーダおよび前記第2のニューラルネットワークにおける前記第2のエンコーダは、同じエンコーダである、請求項またはに記載のシステム。
【請求項5】
前記文章の最小セットのサイズは、前記質問と別の質問との間で変動する、請求項1~のいずれか一項に記載のシステム。
【請求項6】
前記文章の最小セットのサイズは、前記複数のスコアからのスコアが閾値を超える、前記複数の文章における少なくとも1つの文章を含む、請求項1~のいずれか項に記載のシステム。
【請求項7】
自然言語処理のための方法であって、
第1のニューラルネットワークを含む文章セレクタにおいて、質問および文書を表す複数の文章を受信することと、
前記第1のニューラルネットワークのエンコーダおよびデコーダを使用して、複数のスコアを決定することであって、前記複数のスコアにおけるスコアは、前記複数の文章における文章を使用して前記質問が回答可能であるかどうかを表前記複数のスコアを決定することが、
前記エンコーダを使用して、前記複数の文章から文章埋め込みを決定することと、
前記エンコーダを使用して、前記質問から質問埋め込みを決定することと、
前記エンコーダを使用して、前記文章埋め込みおよび前記質問埋め込みから質問を意識した埋め込みを決定することと、
前記エンコーダの第1の双方向長短期記憶(「BiLSTM」)を使用して、前記文章埋め込みおよび前記質問を意識した埋め込みから文章エンコードを生成することと、
前記エンコーダの第2のBiLSTMを使用して、前記質問埋め込みおよび前記質問を意識した埋め込みから質問エンコードを生成することと、
前記デコーダを使用して、前記文章エンコードと前記質問エンコードを使用して、前記複数のスコアを決定することと、をさらに含む、前記複数のスコアを決定することと、
前記第1のニューラルネットワークの文章セレクタモジュールによって、前記複数の文章および前記複数のスコアから文章の最小セットを生成することと、
第2のニューラルネットワークを含む質問応答モジュールを使用して、前記文章の最小セットと前記質問から回答を生成することと、を含む方法。
【請求項8】
前記第2のニューラルネットワークにおいて、前記文章の最小セットおよび前記質問を受信することと、
前記第2のニューラルネットワークが前記第1のニューラルネットワークと共有する前記エンコーダを使用して、前記文章の最小セットおよび前記質問から第2の文章エンコードおよび第2の質問エンコードを生成することと、
前記第2の文章エンコードおよび前記第2の質問エンコードを使用して、前記質問に対する前記回答のための回答範囲を決定することと、をさらに含む、請求項に記載の方法。
【請求項9】
前記エンコーダを使用して、前記文章の最小セットにおける文章から第2の文章埋め込みを決定することと、
前記エンコーダを使用して、前記質問から第2の質問埋め込みを決定することと、
前記エンコーダを使用して、前記第2の文章埋め込みおよび前記第2の質問埋め込みから第2の質問を意識した埋め込みを決定することと、
前記エンコーダを使用して、前記第2の文章埋め込みおよび前記第2の質問を意識した埋め込みから前記第2の文章エンコードを生成することと、
前記エンコーダを使用して、前記第2の質問埋め込みおよび前記第2の質問を意識した埋め込みから前記第2の質問エンコードを生成することと、をさらに含む、請求項に記載の方法。
【請求項10】
前記文章の最小セットのサイズは、前記質問と別の質問との間で変動する、請求項のいずれか一項に記載の方法。
【請求項11】
前記文章の最小セットのサイズは、前記複数のスコアからのスコアが閾値を超える、前記複数の文章における少なくとも1つの文章を含む、請求項10のいずれか一項に記載の方法。
【請求項12】
機械に自然言語を処理する動作を行わせるように実行可能な機械可読命令を記憶した非一時的な機械可読媒体であって、前記動作は、
文章セレクタに含まれる第1のニューラルネットワークのエンコーダにおいて、質問および文書を表す複数の文章を受信することと、
前記第1のニューラルネットワークの前記エンコーダおよびデコーダによって、複数のスコアを決定することであって、前記複数のスコアにおけるスコアは、前記複数の文章における文章を使用して前記質問に回答可能であるかどうかを表前記複数のスコアを決定するために、前記機械は、
前記エンコーダを使用して、前記複数の文章から文章埋め込みを決定することと、
前記エンコーダを使用して、前記質問から質問埋め込みを決定することと、
前記エンコーダを使用して、前記文章埋め込みおよび前記質問埋め込みから質問応答埋め込みを決定することと、
第1の双方向長短期記憶(「BiLSTM」)を使用して、前記文章埋め込みおよび質問を意識した埋め込みから文章エンコードを生成することと、
第2のBiLSTMを使用して、前記質問埋め込みおよび前記質問を意識した埋め込みから質問エンコードを生成することと、
前記デコーダを使用して、前記文章エンコードと前記質問エンコードを使用して、前記複数のスコアを決定することと、の動作をするようにさらに構成されている、複数のスコアを決定することと、
前記第1のニューラルネットワークの文章選択モジュールによって、前記複数のスコアおよび前記複数の文章から文章の最小セットを生成することと、
第2のニューラルネットワークを含む質問応答モジュールを使用して、前記文章の最小セットおよび前記質問から前記質問に対する回答を生成することと、を含む、非一時的な機械可読媒体。
【請求項13】
前記機械は
前記第1のニューラルネットワークと共有される前記第2のニューラルネットワークの前記エンコーダで、前記文章の最小セットおよび前記質問を受信することと、
前記エンコーダを使用して、前記文章の最小セットおよび前記質問から第2の文章エンコードおよび第2の質問エンコードを生成することと、
前記第2の文章エンコードおよび前記第2の質問エンコードを使用して、前記質問の前記回答のための回答範囲を生成することと、の動作を行うようにさらに構成されている、請求項12に記載の非一時的な機械可読媒体。
【請求項14】
前記機械は
前記エンコーダを使用して、前記文章の最小セットにおける文章からの第2の文章埋め込みを決定することと、
前記エンコーダを使用して、前記質問から第2の質問埋め込みを決定することと、
前記エンコーダを使用して、前記第2の文章埋め込みおよび前記第2の質問埋め込みから第2の質問を意識した埋め込みを決定することと、
前記第2の文章埋め込みおよび前記第2の質問を意識した埋め込みから前記第2の文章エンコードを生成することと、
前記第2の質問埋め込みおよび前記第2の質問を意識した埋め込みから前記第2の質問エンコードを生成することと、の動作を行うようにさらに構成されている、請求項13に記載の非一時的な機械可読媒体。
【請求項15】
前記文章の最小セットのサイズは、前記質問と別の質問との間で変動する、請求項1214のいずれか一項に記載の非一時的な機械可読媒体。
【請求項16】
前記文章の最小セットのサイズは、前記複数のスコアからのスコアが閾値を超える、前記複数の文章における少なくとも1つの文章を含む、請求項1215のいずれか一項に記載の非一時的な機械可読媒体。
【請求項17】
前記複数の文章は、前記文書の部分からの文章である、請求項1216のいずれか一項に記載の非一時的な機械可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
この出願は、両方とも「Question Answering from Minimal Context Over Documents」と題する、2018年2月22日に出願された米国仮出願第62/634,151号、および2018年5月15日に出願された米国非仮特許出願第15/980,207号に対する優先権を主張し、それらの全体が参照により援用される。
【0002】
本開示は、一般に、自然言語処理に関し、より具体的には、可変の文章のセットからの自然言語コンテキストに関する自然言語の質問に回答することに関する。
【背景技術】
【0003】
機械が文書を読んで質問に回答するというテキスト質問応答(「QA」)のタスクは、自然言語処理において重要かつ挑戦的な問題である。ニューラルQAモデルにおける進歩は、主に利用可能なQAデータセットの多様性による。
【0004】
従来のニューラルQAモデルは、文書と質問の共依存表現を構築する双方向アテンションメカニズムを活用する。これは、文書全体における異なる部分についてコンテキストを学習することによって行われる。しかし、文書についてコンテキスト全体を学習することは、挑戦的かつ非効率的である。これは、従来のニューラルQAモデルに長い文書または複数の文書を与えられたときに特に当てはまる。この場合、コンテキスト全体を学習する従来のニューラルQAモデルは、手に負えない程遅く、大きなコーパスにスケールすることが困難である。
【0005】
加えて、従来のニューラルモデルに対立する入力が与えられるときに、そのようなモデルはコンテキストの誤った部分サブセットに焦点を当て、結果として誤った回答を生成する傾向がある。
【0006】
従って、必要とされるのは、大きな文書に対してスケーラブルであり、対立する入力に対してロバストであるQAシステムである。
【図面の簡単な説明】
【0007】
図1】いくつかの実施形態による、計算デバイスの簡略化された図である。
図2】いくつかの実施形態による、質問応答システムの簡略化された図である。
図3】いくつかの実施形態による、質問応答システムにおけるエンコーダの簡略化された図である。
図4】一実施形態による、文章セレクタ内のデコーダの簡略化された図である。
図5】一実施形態による、質問応答モデルの簡略化された図である。
図6】いくつかの実施形態による、質問応答モデルにおけるデコーダの簡略化された図である。
図7】いくつかの実施形態による、質問に対する回答を生成するためのフローチャートである。
図8】いくつかの実施形態による、文章のセットを決定するための方法のフローチャートである。
図9】いくつかの実施態様による、質問に回答するための方法のフローチャートである。
【0008】
図において、同一の符号を有する要素は、同じまたは類似の機能を有する。
【発明を実施するための形態】
【0009】
機械が文書を読んで質問に回答するというテキスト質問応答(「QA」)のタスクは、自然言語処理において重要かつ挑戦的な問題である。質問に回答するために文書のコンテキスト全体を学習することは非効率的であるため、実施形態は、大きな文書にスケーラブルであり、対立する入力にロバストなQAシステムを説明する。
【0010】
いくつかの実施形態において、QAシステムは、2、3の質問が尋ねられたときに、文書全体を考慮せずに、文書内の一節に対するほとんどの回答を識別することができる。回答を識別するために、QAシステムは文章セレクタを使用してもよい。文章セレクタは、文書から文章のセットを識別してもよい。文章のセットは、文章の最小のセットまたは設定可能な閾値を超えるスコアを有する文章とすることができる。文書からの文章のセットは、質問ごとに変動してもよい。一旦、文章セレクタが質問のセットを識別すると、QAシステムのQAモジュールは、文章のセットを使用して質問に対する回答を決定する。
【0011】
図1は、いくつかの実施形態による、計算デバイス100の簡略図である。図1に示すように、計算デバイス100は、メモリ120に結合されたプロセッサ110を含む。計算デバイス100の動作は、プロセッサ110によって制御される。また、計算デバイス100は、1つのプロセッサ110のみで示されているが、プロセッサ110は、計算デバイス100内の1つ以上の中央処理ユニット、マルチコアプロセッサ、マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、グラフィックス処理ユニット(GPU)などを代表するものであってもよいと理解される。計算デバイス100は、スタンドアロンのサブシステムとして、計算デバイスに追加されたボードとして、および/または仮想機械として実装されてもよい。
【0012】
メモリ120は、計算デバイス100によって実行されるソフトウェアおよび/または計算デバイス100の動作中に使用される1つ以上のデータ構造を記憶するために使用されてもよい。メモリ120は、1つ以上のタイプの機械可読媒体を含んでもよい。機械可読媒体のいくつかの一般的な形態は、フロッピーディスク、フレキシブルディスク、ハードディスク、磁気テープ、他の磁気媒体、CD-ROM、他の任意の光媒体、パンチカード、紙テープ、穴のパターンを有する他の任意の物理媒体、RAM、PROM、EPROM、FLASH-EPROM、他の任意のメモリチップまたはカートリッジ、および/またはプロセッサまたはコンピュータが読むように適合される他の任意の媒体を含んでもよい。
【0013】
プロセッサ110および/またはメモリ120は、任意の適切な物理的配置に配置されてもよい。いくつかの実施形態において、プロセッサ110および/またはメモリ120は、同じボード、同じパッケージ(例えば、システム・イン・パッケージ)、同じチップ(例えば、システム・オン・チップ)内、および/または同様のものに実装されてもよい。いくつかの実施形態において、プロセッサ110および/またはメモリ120は、分散、仮想化、および/またはコンテナ化された計算リソースを含んでもよい。このような実施形態と一致して、プロセッサ110および/またはメモリ120は、1つ以上のデータセンターおよび/またはクラウドコンピューティング施設に位置してもよい。いくつかの例において、メモリ120は、1つ以上のプロセッサ(例えば、プロセッサ110)によって実行されるときに、1つ以上のプロセッサに本明細書にさらに詳細に説明される質問応答方法を行わせる得る実行可能コードを含む、非一時的な有形の機械可読媒体を含んでもよい。
【0014】
図1に図示するように、メモリ120は、質問応答システム130(または単にQAシステム130)を含んでもよい。QAシステム130は、ハードウェア、ソフトウェア、および/またはハードウェアとソフトウェアの組み合わせを使用して実装されてもよい。従来の質問応答システムとは異なり、QAシステム130は、自然言語文書160(または単に、文書160)および文書160に関する自然言語質問170(または単に、質問170)を受信する。文書160は、文書の部分、文書の1つ以上の段落、または文書全体であってもよい。QAシステム130が文書160および質問170を受信した後に、QAシステム130は、文書160全体を評価することなく、質問170に対する自然言語回答180(または単に、回答180)を生成してもよい。むしろ、QAシステム130は、文書160を使用して、可変の文章のセットを生成し、文章のセットを使用して、回答180を決定する。
【0015】
図1にも図示されているように、計算デバイス100が、文書160および質問170を受信してもよく、文書160および質問170をQAシステム130に提供してもよい。一旦、QAシステム130が回答180を生成すると、QAシステム130は、計算デバイス100に回答180を提供してもよい。
【0016】
いくつかの実施形態において、QAシステム130は、文章セレクタ140およびQAモジュール150を含んでもよい。文章セレクタ140およびQAモジュール150はまとめて、本明細書にさらに説明されるモデルを実装および/またはエミュレートするために、および/または本明細書にさらに説明される方法のいずれかを実装するために使用されてもよい。いくつかの例において、文章セレクタ140およびQAモジュール150は、文書160および質問170を受信し、回答180を生成してもよい。いくつかの例では、文章セレクタ140およびQAモジュール150はまた、QAシステム130の反復訓練および/または評価を処理してもよい。
【0017】
図2は、いくつかの実施形態による、QAシステム130の簡略化された図である。上述のように、QAシステム130は、文章セレクタ140およびQAモジュール150を含んでもよい。文章セレクタ140およびQAモジュール150は、ニューラルネットワークを使用して実装されてもよい。
【0018】
いくつかの実施形態において、文章セレクタ140は、質問170および文書160からの1つ以上の文章210を受信してもよい。文章210は、文書160全体、文書160の部分、または文書160の第1段落などの特定の段落から識別される文章であってもよい。
【0019】
いくつかの実施形態において、文章セレクタ140は、エンコーダ220およびデコーダ230(文章セレクタデコーダ230として示されている)を含んでもよい。注目すべきことに、従来のシステムとは異なり、文章セレクタ140は、後述するQAモジュール150とエンコーダ220を共有する。
【0020】
図3は、いくつかの実施形態による、エンコーダ220のブロック図である。エンコーダ220は、入力として質問170および1つ以上の文章210を受信してもよい。文章210から、エンコーダ220は、文章埋め込み
【数1】
(215として示されている)を決定してもよく、質問170から、エンコーダ220は、質問埋め込み
【数2】
(225として示されている)を決定してもよい。また、文章210および質問170から、エンコーダ220は、質問を意識した文章埋め込み
【数3】
を決定してもよく、ここで、hdは、単語埋め込みの次元であり、Ldは、文書160のシーケンス長であり、Lqは、質問170のシーケンス長である。
【0021】
いくつかの実施形態において、埋め込みDの次元は、600であってもよく、hは、200であってもよい。
【0022】
いくつかの実施形態において、エンコーダ220は、以下に示すように、質問を意識した文章埋め込みDを生成してもよい。
【数4】
(式1)
【数5】
(式2)
【0023】
いくつかの実施形態では、
【数6】
は、i番目の単語のための文章埋め込みの隠された状態であってもよく、
【数7】
は、訓練可能な重みの行列である。上記の式1および式2に例示されているように、エンコーダ220は、文章埋め込みDおよび質問埋め込みQを使用して、質問を意識した文章埋め込みを生成してもよい。
【0024】
いくつかの実施形態において、エンコーダ220は、双方向長短期記憶(Bi-Directional Long Short-Term Memory)またはBi-LSTMを使用して、文章エンコードDenc(235として示されている)(sentence encodings)および質問エンコードQenc(240として示される)(question encodings)を取得してもよい。Bi-STTMは、シーケンシャルデータのために使用され得る回帰型ニューラルネットワークの一種である。文章エンコードDencを決定するために、Bi-LSTM_Dへの入力は、文章埋め込みD(sentence embeddings)と質問を意識した文章埋め込みD(question-aware sentence embeddings)であってもよい。例えば、文章エンコードDencは、以下の方程式を解くことによって生成されてもよい。
【数8】
(式3)
【0025】
質問エンコードQencを決定するために、Bi-LSTM_Qへの入力は、質問埋め込みQ(question embeddings)と質問を意識した文章埋め込みDであってもよい。例えば、質問エンコードQencは、以下の方程式を解くことによって生成されてもよい。
【数9】
(式4)
【0026】
いくつかの実施形態において、「;」は、2つのベクトルの連結を示し、hは、隠れた次元のハイパーパラメータである。いくつかの実施形態において、ハイパーパラメータは、200のサイズを有してもよい。
【0027】
図2に戻ると、いくつかの実施形態では、デコーダ230は、質問170が文章210によって回答できるどうかを示す文章210に対するスコア245を計算してもよい。図4は、いくつかの実施態様による、デコーダ230のブロック図である。デコーダ230は、文章エンコードDencと質問エンコードQencとの間の双線形類似性を以下のように計算することによって、スコア245を決定してもよい。
【数10】
(式5)
【数11】
(式6)
【数12】
(式7)
【数13】
(式8)
【数14】
(式9)
【0028】
いくつかの実施形態において、
【数15】
は、訓練可能な重みを有する行列であってもよい。いくつかの実施形態では、スコア245の各次元は、特定の文章210が与えられると、質問170が回答可能であるか、または回答可能ではないかを意味する。
【0029】
いくつかの実施形態において、文章セレクタ140は、正規化器(図示せず)を含んでもよい。正規化器は、式9においてスコアが計算された後、および図4に示された線形層の後に、デコーダ230内に含まれてもよい。正規化器は、スコア245を、同じ段落からの文章210についての正規化されたスコアに正規化してもよい。典型的には、正規化されたスコアは、0~1の値を有してもよい。
【0030】
図2に戻ると、いくつかの実施形態では、文章セレクタ140は、文章スコアモジュール250を含んでもよい。文章スコアモジュール250は、スコア245に基づいて文章のセット255に文章210を選択してもよい。文章のセット255は、QAモジュール150(後述)が質問170に対する回答180を決定するために使用し得る文章210を含んでもよい。いくつかの実施形態において、文章スコアモジュール250は、文章255のセットに文章210の最小数を選択してもよい。文章210の最小数は、QAモジュール150が回答180を生成するために使用し得る文章210の数である。文章スコアモジュール250が文章210の最小数を選択するための1つのやり方は、ハイパーパラメータ「th」を使用することである。ハイパーパラメータを使用して文章210を選択するために、文章スコアモジュール250は、Sall={s,s,s,...,s}として、文書160に対するすべての文章210についてのスコア245受信してもよく、ここで、Sallは、スコア245または正規化されたスコアに従って、例えば、降順に順序付けされる。次に、文章スコアモジュール250は、以下のように、文章のセット255に含まれるべき文章(Sselected)を選択してもよい。
【数16】
(式10)
【数17】
(式11)
【0031】
いくつかの実施形態では、スコア(si)は、正規化されたスコアであり、「th」ハイパーパラメータは、0~1であり得る。
【0032】
いくつかの実施形態では、Scandidateは、式10に示されるように、1からハイパーパラメータが減算されるときに、「th」ハイパーパラメータよりも大きいスコアを有する文章210のセットを含む。一旦、文章スコアモジュール250がScandidateセットを決定すると、文章スコアモジュール250は、式11に示されるように、Sセットが空のセットではないかを決定してもよい。Scandidateセットが空のセットでない場合、Scandidateセットは、式11におけるSselectedである文章のセット255となる。そうではなく、Scandidateセットが空のセットである場合、文章スコアモジュール250は、Sall内に第1の文章s1含めてもよい。この場合、Sallセット中の文章210が降順のスコアによって含まれる場合、文章スコアモジュール250は、Sselected内に最も高いスコアを有する文章s1選択してもよい。
【0033】
文章の最小のセット255がハイパーパラメータを使用するときに、文章のセット255のサイズは、0と1の間のthハイパーパラメータの値を調整することによって推論時間で動的に制御されてもよい。このようにして、文章セレクタ140が質問170に回答するために選択し得る文章210の数は、QAシステム130の精度および速度の要求に応じて変動してもよい。
【0034】
いくつかの実施形態において、文章スコアモジュール250は、1つ以上の文章210を選択するために、設定可能な閾値を使用してもよい。例えば、文章スコアモジュール250は、設定可能な閾値を上回るスコア245を有する文章210を選択することができる。
【0035】
図2に戻ると、いくつかの実施形態では、QAモジュール150のためのアーキテクチャは、エンコーダ220とQAモデルデコーダ260または単にデコーダ260とに分割されてもよい。特に、QAモジュール150は、文章セレクタ140に含まれるエンコーダ220を含んでもよい。図5は、いくつかの実施形態によるQAモジュール150のブロック図である。図5に図示されるように、文書160から文章210を受信する代わりに、エンコーダ220は、文章セレクタ140および質問170によって生成された文章のセット255を受信してもよい。文章のセット255および質問170を使用して、エンコーダ220は、文書埋め込み
【数18】
(215として示されている)、質問埋め込み
【数19】
(225として示されている)、および質問を意識した文書埋め込み
【数20】
を生成してもよく、ここで、Dは、式1におけるように定義されてもよい。いくつかの実施形態において、エンコーダ220は、図3に示すように、文章エンコードDenc(235として示されている)および質問エンコードQenc(240として示されている)を取得してもよい。エンコーダ220は、文書エンコードDencおよび質問エンコードQencをQAモデルデコーダ260(または単にデコーダ260)に渡してもよい。
【0036】
図2に戻ると、いくつかの実施形態において、デコーダ260は、質問170への回答スパンについてのスコアを取得してもよい。図6は、いくつかの実施形態による、デコーダ260のブロック図である。デコーダ260は、以下のように、文書エンコードDencと質問エンコードQencとの間の双線形類似性を計算することによって、回答スパンの開始位置610および終了位置620についてのスコアを決定してもよい。
【数21】
(式12)
【数22】
(式13)
【数23】
(式14)
【数24】
(式15)
ここで、
【数25】
は、訓練可能な重みの行列である。開始位置610および終了位置620は、質問170に対する回答180を識別してもよい。
【0037】
図7は、いくつかの実施態様による、質問に回答するための方法のフローチャートである。方法700のプロセス702~710のうちの1つ以上は、少なくとも部分的に、1つ以上のプロセッサによって実行されるときに、1つ以上のプロセッサにプロセス702~710のうちの1つ以上を行わせ得る、非一時的な有形の機械可読媒体に記憶された実行可能コードの形態で実装されてもよい。
【0038】
動作702では、質問および1つ以上の文章が受信される。例えば、文章セレクタ140は、質問170および文書160からの1つ以上の文章210を受信する。
【0039】
動作704では、1つ以上の文章についてのスコアが生成される。例えば、文章セレクタ140に含まれるエンコーダ220およびデコーダ230は、1つ以上の文章210についてのスコア245を生成する。図8は、いくつかの実施形態に従ってスコアがどのように生成されるかを説明するフローチャートであり、以下に説明する。
【0040】
動作706では、スコアのセットが生成される。例えば、文章セレクタ140に含まれる文章スコアモジュール250は、文章210のサブセットを文章のセット255に選択してもよい。いくつかの実施形態において、文章のセット255は、ハイパーパラメータに基づいてもよい。いくつかの実施形態において、文章のセットは、設定可能な閾値を超えるスコア245を含んでもよい。
【0041】
動作708では、文章のセットおよび質問が受信される。例えば、QAモジュール150は、文章のセット255および質問170を受信してもよい。
【0042】
動作710では、回答が生成される。例えば、QAモジュール150が文章セレクタ140と共有し得るエンコーダ220およびデコーダ260は、文章のセット255から回答180を生成してもよい。
【0043】
図8は、いくつかの実施形態による、文章のセットを決定するための方法のフローチャートである。方法800のプロセス802~814のうちの1つ以上は、少なくとも部分的に、1つ以上のプロセッサによって実行されるときに、1つ以上のプロセッサにプロセス802~814のうちの1つ以上を行わせ得る、非一時的な有形の機械可読媒体に記憶される実行可能コードの形態で実装されてもよい。
【0044】
動作802では、文章埋め込みが決定される。例えば、エンコーダ220は、単語埋め込みの次元および文書160のシーケンス長を使用して文章埋め込みDを決定する。
【0045】
動作804において、質問埋め込みが決定される。例えば、エンコーダ220は、単語埋め込みの次元および質問170のシーケンス長を使用して質問埋め込みQを決定する。
【0046】
動作806では、質問を意識した文章埋め込みが決定される。例えば、エンコーダ220は、文章の埋め込みDおよび質問埋め込みQを使用して、質問を意識した文章埋め込みDを決定する。
【0047】
動作808では、文章エンコードが生成される。例えば、エンコーダ220は、文章埋め込みDおよび質問応答文章埋め込みDから文章エンコードDencを生成する。
【0048】
動作810では、質問エンコードが生成される。例えば、エンコーダ220は、文章埋め込みDおよび質問応答文章埋め込みDから質問エンコードQencを生成する。
【0049】
動作812では、文章についてのスコアが決定される。例えば、デコーダ230は文章210についてのスコア245を決定する。
【0050】
動作814では、文章のセットが決定される。例えば、文章スコアモジュール250は、スコア245を使用して、文章のセット255に含まれる文章210を決定する。上述のように、文章のセット255は、QAモジュール150が回答180を決定するために使用し得る文章の最小セット、または閾値を超えるスコア245を有するある数の文章210を含んでもよい。
【0051】
図9は、いくつかの実施態様による、質問に回答するための方法のフローチャートである。方法900のプロセス902~914のうちの1つ以上は、少なくとも部分的に、1つ以上のプロセッサによって実行されるときに、1つ以上のプロセッサにプロセス902~914のうちの1つ以上を行わせ得る、非一時的な有形の機械可読媒体に記憶された実行可能なコードの形態で実装させてもよい。
【0052】
動作902では、文章埋め込みが決定される。例えば、エンコーダ220は、単語埋め込みの次元および文章のセット255内の文章210のシーケンス長を使用して、文章埋め込みDを決定する。
【0053】
動作904では、質問埋め込みが決定される。例えば、エンコーダ220は、単語埋め込みの次元および質問170のシーケンス長を使用して質問埋め込みQを決定する。
【0054】
動作906では、質問を意識した文章埋め込みが決定される。例えば、エンコーダ220は、文章埋め込みDおよび質問埋め込みQを使用して質問を意識した文章埋め込みDを決定する。
【0055】
動作908では、文章エンコードが生成される。例えば、エンコーダ220は、文章埋め込みDおよび質問応答埋め込みDから文章エンコードDencを生成する。
【0056】
動作910では、質問エンコードが生成される。例えば、エンコーダ220は、文章埋め込みDおよび質問応答埋め込みDから質問エンコードQencを生成する。
【0057】
動作912では、回答についての開始位置および終了位置を決定する。例えば、デコーダ260は、文章エンコードおよび質問エンコードを使用して、質問170に対する回答180についての開始位置610および終了位置620を生成する。
【0058】
動作914では、回答が識別される。例えば、デコーダ260は、開始位置610および終了位置620を使用して、回答180を識別する。
【0059】
図2に戻ると、いくつかの実施形態では、文章セレクタ140を訓練するためのいくつかの技術があり得る。第1の技術では、QAモジュール150は、単一のオラクル文に関して訓練されてもよく、単一のオラクル文に関して訓練されたQAモデルからの重みは、エンコーダ220に組み込まれてもよい。オラクル文は、グランド・トゥルース・アンサー・スパン(ground truth answer span)を含む文であってもよい。第2の技術では、文章210がゼロのスコアを受信する場合、訓練データは修正されてもよい。第3の技術では、各文章210についてのスコア245は、同じ段落からの文章210にわたって正規化されてもよい。典型的には、正規化されたスコアは、0~1であり得る。
【0060】
いくつかの実施形態において、訓練データは、1つ以上の既存のQAデータセット(dataset)からのデータであってもよい。種々のデータセットについては、Sewon Minらによる“Efficient and Robust Question Answering from Minimal Context over Documents”で論じられており、その全体が参照により組み込まれる。例示的なデータセットは、Wikipedia記事の大きなセットからのSQuADデータセットであってもよい。SQuADデータセットは、各質問170に対する段落を提供してもよい。データセットの別の例は、ニュース記事の大きなセットを含むNewsQAデータセットであってもよく、各質問170のための段落も提供する。典型的には、NewsQAデータセット内の段落は、SQuADデータセット内の段落よりも長い。データセットの別の例は、Wikipedia記事およびWeb文書の大規模なセットを含むTriviaQAデータセットである。TriviaQAデータセットでは、各質問170には、複数の文書の形式でより長いコンテキストが与えられる。さらに別の例において、データセットは、SQuADに基づくオープンドメイン(domain)質問応答データセットであってもよい。SQuAD-Openデータセットでは、質問と回答のみが与えられ、モデルは、英語のWikipedia記事または別の言語で書かれたWikipedia記事から関連するコンテキストを識別してもよい。さらにもう1つの実施形態において、SQuAD-Adversarialデータセットは、SQuADデータセットの別の変形であってもよい。例えば、SQuAD-Adversarialデータセットは、SQuADと同じトレーニングセットを共有するが、開発セットのサブセットの各段落に追加される対立する文章も有する。以下の表1は、質問応答システムを訓練するために使用され得る例示的なデータセットを図示する。
【表1】
【0061】
上記の表1において、「N word」は、文書160内の単語の平均数を指してもよく、「N sent」は、文書160内の文章の平均数を指してもよく、「N doc」は、文書160の平均数を指してもよい。
【0062】
いくつかの実施形態では、いくつかの従来のQAモデルをQAシステム130と比較してもよい。例示的な従来のQAモデルには、従来の文書全体モデル、グラウンド・トゥルース・アンサー・スパンモデルを含む従来のオラクル文章、および、その全体が参照により組み込まれる「Efficient and Robust Question Answering from Minimal Context over Documents」でも論じられている従来のTF-IDFが挙げられ得る。QAシステム130に対するTF-IDFモデルの結果を以下の表2に復元する。加えて、結果はQAシステム130を図示しており、ここで、文章スコアモジュール250はハイパーパラメータを使用して文章のセット255を選択してもよく、その場合、文章のセット225内の複数の文章210は、質問ごとに変動してもよい。また、結果は、QAシステム130を例示することができ、文章スコアモジュール250は、事前に構成された閾値を使用して文章のセット255を選択することができ、その場合、文章のセット255は、閾値を超えるスコアを有する文章210を含んでもよい。
【0063】
SQuADおよびNewsQAデータセットに関して、表2は、質問応答システム130が、従来のTF-IDFシステム、および最先端のシステムと考えられる「Efficient and Robust Question Answering from Minimal Context over Documents」で論じられるTanのシステムよりも、文書160および質問170からの回答180を決定するためのより高い精度および平均精度を有することを示す。
【表2】
【0064】
いくつかの実施形態において、表2の「T」、「M」、および「N」は、上記で論じられた異なる訓練技法を識別する。すなわち、「T」は重量移動技法であり、「M」はデータ修正技法であり、「N」はスコア正規化技法である。
【0065】
SQuADデータセットに関して、QAシステム130は、従来の完文書全体モデルよりも正確である。表3は、3つの質問170(イタリック体のテキスト)、文書160、および文書160および質問170からQAシステム130および従来のモデルシステムが決定した回答を示す。
【表3】
【0066】
表3に示すように、QAシステム130は、正しい回答を選択する(下線部分)。チェックマーク(
[外1]
)は、QAシステム130が上記の質問に回答するために選択した文章210を示す。さらに、同じ質問とテキストを与えられると、従来の文書全体モデルは正しい回答を選択しない(太字部分)。
【0067】
本出願は、さらに、本開示の一部とみなされ、その全体が参照により組み込まれる添付文書(「Efficient and Robust Question Answering from Minimal Context over Documents」、16ページ)に関してさらに説明される。
【0068】
例示的な実施形態が示され説明されたが、広範囲の修正、変更および置換が、前述の開示において企図され、いくつかの例では、実施形態のいくつかの特徴は、他の特徴の対応する使用なしに採用され得る。当業者であれば、多くの変形物、代替物、および修正物を認識するであろう。従って、本発明の範囲は、以下の特許請求の範囲によってのみ限定されるべきであり、特許請求の範囲は、広くかつ本明細書に開示された実施形態の範囲と矛盾しない方法で解釈されることが適切である。
図1
図2
図3
図4
図5
図6
図7
図8
図9