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

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

▶ 独立行政法人情報通信研究機構の特許一覧

特許7618201回答特定用テキスト分類器及び背景知識表現ジェネレータ及びその訓練装置、並びにコンピュータプログラム
<>
  • 特許-回答特定用テキスト分類器及び背景知識表現ジェネレータ及びその訓練装置、並びにコンピュータプログラム 図1
  • 特許-回答特定用テキスト分類器及び背景知識表現ジェネレータ及びその訓練装置、並びにコンピュータプログラム 図2
  • 特許-回答特定用テキスト分類器及び背景知識表現ジェネレータ及びその訓練装置、並びにコンピュータプログラム 図3
  • 特許-回答特定用テキスト分類器及び背景知識表現ジェネレータ及びその訓練装置、並びにコンピュータプログラム 図4
  • 特許-回答特定用テキスト分類器及び背景知識表現ジェネレータ及びその訓練装置、並びにコンピュータプログラム 図5
  • 特許-回答特定用テキスト分類器及び背景知識表現ジェネレータ及びその訓練装置、並びにコンピュータプログラム 図6
  • 特許-回答特定用テキスト分類器及び背景知識表現ジェネレータ及びその訓練装置、並びにコンピュータプログラム 図7
  • 特許-回答特定用テキスト分類器及び背景知識表現ジェネレータ及びその訓練装置、並びにコンピュータプログラム 図8
  • 特許-回答特定用テキスト分類器及び背景知識表現ジェネレータ及びその訓練装置、並びにコンピュータプログラム 図9
  • 特許-回答特定用テキスト分類器及び背景知識表現ジェネレータ及びその訓練装置、並びにコンピュータプログラム 図10
  • 特許-回答特定用テキスト分類器及び背景知識表現ジェネレータ及びその訓練装置、並びにコンピュータプログラム 図11
  • 特許-回答特定用テキスト分類器及び背景知識表現ジェネレータ及びその訓練装置、並びにコンピュータプログラム 図12
  • 特許-回答特定用テキスト分類器及び背景知識表現ジェネレータ及びその訓練装置、並びにコンピュータプログラム 図13
  • 特許-回答特定用テキスト分類器及び背景知識表現ジェネレータ及びその訓練装置、並びにコンピュータプログラム 図14
  • 特許-回答特定用テキスト分類器及び背景知識表現ジェネレータ及びその訓練装置、並びにコンピュータプログラム 図15
  • 特許-回答特定用テキスト分類器及び背景知識表現ジェネレータ及びその訓練装置、並びにコンピュータプログラム 図16
  • 特許-回答特定用テキスト分類器及び背景知識表現ジェネレータ及びその訓練装置、並びにコンピュータプログラム 図17
  • 特許-回答特定用テキスト分類器及び背景知識表現ジェネレータ及びその訓練装置、並びにコンピュータプログラム 図18
  • 特許-回答特定用テキスト分類器及び背景知識表現ジェネレータ及びその訓練装置、並びにコンピュータプログラム 図19
  • 特許-回答特定用テキスト分類器及び背景知識表現ジェネレータ及びその訓練装置、並びにコンピュータプログラム 図20
  • 特許-回答特定用テキスト分類器及び背景知識表現ジェネレータ及びその訓練装置、並びにコンピュータプログラム 図21
  • 特許-回答特定用テキスト分類器及び背景知識表現ジェネレータ及びその訓練装置、並びにコンピュータプログラム 図22
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-01-10
(45)【発行日】2025-01-21
(54)【発明の名称】回答特定用テキスト分類器及び背景知識表現ジェネレータ及びその訓練装置、並びにコンピュータプログラム
(51)【国際特許分類】
   G06F 16/90 20190101AFI20250114BHJP
【FI】
G06F16/90 100
【請求項の数】 6
(21)【出願番号】P 2020175841
(22)【出願日】2020-10-20
(65)【公開番号】P2022067234
(43)【公開日】2022-05-06
【審査請求日】2023-09-13
(73)【特許権者】
【識別番号】301022471
【氏名又は名称】国立研究開発法人情報通信研究機構
(74)【代理人】
【識別番号】100099933
【弁理士】
【氏名又は名称】清水 敏
(72)【発明者】
【氏名】呉 鍾勲
(72)【発明者】
【氏名】鳥澤 健太郎
(72)【発明者】
【氏名】クロエツェー ジュリアン
(72)【発明者】
【氏名】飯田 龍
【審査官】松尾 真人
(56)【参考文献】
【文献】特開2019-020893(JP,A)
【文献】特開2020-004045(JP,A)
【文献】特開2019-056975(JP,A)
【文献】特開2018-060364(JP,A)
【文献】中辻 真,LSTMを用いたNon-Factoid型長文回答構築手法,電子情報通信学会論文誌D VolumeJ102-D No.4 [online] ,電子情報通信学会,2019年04月01日,第J102-D巻, 第4号,pp.267~276,Internet<URL:http://search.ieice.org/bin/pdf_link.php?category=D&lang=J&year=2019&fname=j102-d_4_267&abst=>
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00-16/958
G06F 40/20-40/58
(57)【特許請求の範囲】
【請求項1】
質問テキストと、回答候補テキストとを入力として受ける、言語表現モデルと、
前記言語表現モデルの出力を入力として受ける知識統合トランスフォーマと、
前記質問テキストと前記回答候補テキストを入力として受け、当該質問テキストに対する背景知識の表現ベクトルを出力する、背景知識表現ジェネレータとを含み、
前記知識統合トランスフォーマは、前記背景知識の表現ベクトルをアテンションとして受けるように構成され、前記回答候補テキストが、前記質問テキストに対する回答を含むか否かを示すラベルを出力する、回答特定用テキスト分類器。
【請求項2】
前記知識統合トランスフォーマは複数の知識合トランスフォーマ層を含み、
前記背景知識表現ジェネレータは前記複数の知識統合トランスフォーマ層にそれぞれ対応する複数の前記背景知識の表現ベクトルを出力し、
前記複数の知識合トランスフォーマ層は、前記複数の背景知識の表現ベクトルのうち、各知識合トランスフォーマ層に対応する表現ベクトルを前記アテンションのための情報源として受ける、請求項1に記載の回答特定用テキスト分類器。
【請求項3】
前記背景知識表現ジェネレータは、
質問と回答候補とを表す入力ベクトルに応答して前記背景知識の表現ベクトルを出力する背景知識表現ジェネレータ層と、
前記背景知識表現ジェネレータ層への入力ベクトルを当該背景知識表現ジェネレータ層の出力する前記背景知識の表現ベクトルを用いて更新して前記背景知識表現ジェネレータ層への次の入力ベクトルとする更新部とを含み、
前記更新部は、前記背景知識表現ジェネレータへの先行する入力ベクトルを、当該先行する入力ベクトルに応答して前記背景知識表現ジェネレータが出力する前記背景知識表現ベクトルと前記先行する入力ベクトルとの関連度を利用して更新する、請求項1又は請求項2に記載の回答特定用テキスト分類器。
【請求項4】
コンピュータを、請求項1から請求項3のいずれか1項に記載の回答特定用テキスト分類器として機能させる、コンピュータプログラム。
【請求項5】
質問テキストの表す質問に対する背景知識のベクトル表現を出力する背景知識表現ジェネレータを、複数の訓練用データ項目を用いて訓練する訓練装置であって、前記複数の訓練用データ項目は、質問テキストと、当該質問テキストに関する背景知識テキストとを含み、
前記質問テキストと、前記背景知識テキストとが与えられると、前記背景知識テキストが表す背景知識のベクトル表現と同じ形式の本物表現ベクトルを生成する、ニューラルネットワークからなる本物表現ジェネレータと、
前記質問テキストと、任意のテキストに対するベクトル表現を表すランダムなノイズベクトルとが与えられると、前記ノイズベクトルから生成した前記背景知識に関する前記ベクトル表現と同じ形式の偽物表現ベクトルを出力する、ニューラルネットワークからなる偽物表現ジェネレータと、
前記本物表現ベクトルと、前記偽物表現ベクトルとを分別するための、ニューラルネットワークからなる分別器と、
前記分別器による分別の誤りを最小化するように前記本物表現ジェネレータ及び前記分別器を、かつ、前記偽物表現ベクトルに対する前記分別器による分別の誤りを最大化するように前記偽物表現ジェネレータを、それぞれ敵対的学習により訓練する敵対的訓練装置とを含み、
前記敵対的訓練装置による訓練が完了したときの前記偽物表現ジェネレータが訓練後の前記背景知識表現ジェネレータであり、実際の質問テキストとノイズが入力されたときの前記偽物表現ジェネレータの出力が、前記実際の質問テキストに関する背景知識の表現ベクトルとなる、訓練装置。
【請求項6】
コンピュータを、請求項5に記載の訓練装置として機能させる、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は質問応答システムに関し、特に、自然言語で入力された質問に対し、回答を含むパッセージをテキストアーカイブから抽出して回答を生成する質問応答システムに用いられ、正しい回答を含むパッセージとそうでないパッセージとに分類する回答特定用テキスト分類器、その回答特定用テキスト分類器で使用される背景知識表現ジェネレータ、その訓練装置、並びにその背景知識表現ジェネレータを訓練するためのコンピュータプログラムに関する。
【背景技術】
【0002】
自然言語処理を用いたなぜ型質問応答システムとして、後掲の特許文献1に開示されたものがある。なぜ型質問応答システムの場合、なに型質問応答システムと異なり、回答となる可能性が高い文の集合からなる複数のパッセージ(以下「パッセージ群」という。各パッセージに含まれる文は5から7個である。)をテキストアーカイブから抽出し、その中から質問に対する回答として最もふさわしいものを選択するものが多い。ここでパッセージとは、テキスト中の連続する複数の文からなるものをいう。特許文献1に記載のなぜ型質問応答システムもそのようなシステムだが、その前提として、質問が与えられるとその質問に対する正しい回答を含む可能性が高い複数のパッセージをテキストアーカイブから抽出して出力する回答候補検索システムを利用する。
【0003】
特許文献1に記載のシステムは、ウェブ上に存在する大量のテキストを予め収集し記憶する。このウェブアーカイブから、因果関係を表していると考えられる表現を抽出する。特許文献1に開示されたシステムでは、「なぜなら」のような手掛かり語又は「Aが原因でBが起こる」のような特定の因果関係パターンを用いて回答パッセージ中の因果関係を認識するものが挙げられている。
【0004】
特許文献1に開示されたなぜ型質問応答システムはさらに、回答パッセージの各々と、抽出された因果関係に関する知識と、質問とから、そのパッセージがその質問に対する回答としてふさわしいか否かを判定するための特徴量を抽出する。そして、予め訓練されたコンボリューショナル・ニューラル・ネットワーク(以下「CNN(Convolutional Neural Network)」という。)に、回答パッセージと、抽出された特徴量とを入力する。CNNは、その回答パッセージが質問に対する回答としてふさわしいか否かを示す尤度(その質問が、その回答パッセージに対する質問である確率)をスコアとして出力する。なぜ型質問応答システムは、このようにして各回答パッセージに対して算出されたスコアに基づいて回答パッセージをランキングし、最上位のスコアを持つ回答パッセージを質問に対する回答として出力する。
【先行技術文献】
【特許文献】
【0005】
【文献】特開2017-49681号公報
【文献】特表2020-506466号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
なぜ型質問の場合、その回答としては、その質問を結果部分に持つような因果関係表現の原因部分がふさわしい。特許文献1では、回答候補である回答パッセージ群の中から、因果関係表現に基づいて回答として最も適切なパッセージを抽出できる。したがって特許文献1によれば、従来と比較してなぜ型質問に対する回答としてよりふさわしいものを選択できるとされている。
【0007】
しかし、特許文献1に開示された発明に限らず、多くの場合、依然として各パッセージが質問に対する回答かどうかを高い確率で正しく判定するのは難しいという問題がある。人間の場合には、質問応答において、同じように抽出されたパッセージから質問に対する回答を抽出する場合には、その人間の持っている背景知識を活用し、正しい回答を含むパッセージか否かと、正しい回答となる箇所とを正確に抽出できる。自然言語処理を用いた質問応答システムでも、そのような背景知識を効率よく利用できれば、質問応答システムがより高い精度で質問に対する回答を与えることができると考えられる。
【0008】
今までは、このような背景知識とは、単に質問との関連が高いと思われるパッセージのことを指すと考えられており、実際に回答を特定する際に背景知識を有効に活用しているとは言い難かった。質問応答システムの回答精度を高めるためには、背景知識を用いて、パッセージが正しい回答を含むか否かを高い精度で判定でき、さらに質問と特に関連あると考えられる部分を的確に特定できるようにすることが望ましい。そのためには、背景知識をどのように表現し、それを回答の特定にどのように利用すればよいかという点も問題となる。
【0009】
したがってこの発明は、質問に対する回答候補を抽出するために、質問に関する背景知識を有効に利用して、高い精度で質問に対する回答候補を特定できる回答特定用テキスト分類器及びそのための背景知識表現ジェネレータ、その訓練装置、並びにコンピュータプログラムを提供することを目的とする。
【課題を解決するための手段】
【0010】
本発明の第1の局面に係る回答特定用テキスト分類器は、質問テキストと、回答候補テキストとを入力として受ける、言語表現モデルと、言語表現モデルの出力を入力として受ける知識統合トランスフォーマと、質問テキストと前記回答候補テキストを入力として受け、当該質問テキストに対する背景知識の表現ベクトルを出力する、背景知識表現ジェネレータとを含み、知識統合トランスフォーマは、前記背景知識の表現ベクトルをアテンションとして受けるように構成され、回答候補テキストが、質問テキストに対する回答を含むか否かを示すラベルを出力する。
【0011】
好ましくは、知識統合トランスフォーマは複数の知識統合トランスフォーマ層を含み、背景知識表現ジェネレータは複数の知識統合トランスフォーマ層にそれぞれ対応する複数の背景知識の表現ベクトルを出力し、複数の知識統合トランスフォーマ層は、複数の背景知識の表現ベクトルのうち、各知識統合トランスフォーマ層に対応する表現ベクトルをアテンションのための情報源として受ける。
【0012】
さらに好ましくは、背景知識表現ジェネレータは、質問と回答候補とを表す入力ベクトルに応答して背景知識の表現ベクトルを出力する背景知識表現ジェネレータ層と、背景知識表現ジェネレータ層への入力ベクトルを背景知識表現ジェネレータ層の出力する背景知識の表現ベクトルを用いて更新して背景知識表現ジェネレータ層への次の入力ベクトルとする更新部とを含み、更新部は、背景知識表現ジェネレータへの先行する入力ベクトルを、先行する入力ベクトルに応答して背景知識表現ジェネレータが出力する背景知識表現ベクトルと先行する入力ベクトルとの関連度を利用して更新する。
【0013】
本発明の第2の局面に係るコンピュータプログラムは、コンピュータを、上記したいずれかの回答特定用テキスト分類器として機能させる。
【0014】
本発明の第3の局面に係る訓練装置は、質問テキストの表す質問に対する背景知識のベクトル表現を出力する背景知識表現ジェネレータを、複数の訓練用データ項目を用いて訓練する訓練装置であって、複数の訓練用データ項目は、質問テキストと、当該質問テキストに関する背景知識テキストとを含み、質問テキストと、背景知識テキストとが与えられると、背景知識テキストが表す背景知識のベクトル表現と同じ形式の本物表現ベクトルを生成する、ニューラルネットワークからなる本物表現ジェネレータと、質問テキストと、任意のテキストに対するベクトル表現を表すランダムなノイズベクトルとが与えられると、ノイズベクトルから生成した上記背景知識に関するベクトル表現と同じ形式の偽物表現ベクトルを出力する、ニューラルネットワークからなる偽物表現ジェネレータと、本物表現ベクトルと、偽物表現ベクトルとを分別するための、ニューラルネットワークからなる分別器と、分別器による分別の誤りを最小化するように本物表現ジェネレータ及び分別器を、かつ、偽物表現ベクトルに対する分別器による分別の誤りを最大化するように偽物表現ジェネレータを、それぞれ敵対的学習により訓練する敵対的訓練装置とを含み、敵対的訓練装置による訓練が完了したときの偽物表現ジェネレータが訓練後の背景知識表現ジェネレータであり、実際の質問テキストと任意のテキストが入力されたときの偽物表現ジェネレータの出力が、実際の質問テキストと任意のテキストに関する背景知識の表現ベクトルとなる。
【0015】
本発明の第4の局面に係るコンピュータプログラムは、コンピュータを、上記した訓練装置として機能させる。
【0016】
この出願に係る発明の目的、構成及び効果は、以下の図面とともに発明を実施するための形態の説明を参照することにより、より明確になるであろう。
【図面の簡単な説明】
【0017】
図1図1は、質問応答システムで利用される回答パッセージの例を示す図である。
図2図2は、背景知識の例を示す図である。
図3図3は、背景知識と回答パッセージとの関係を示す図である。
図4図4は、この出願の第1実施形態に係る回答特定用テキスト分類器の構成の概略を示すブロック図である。
図5図5は、敵対的学習を使用して質問から背景知識の表現ベクトルを作成する偽物表現ジェネレータの訓練をすることで背景知識表現ジェネレータ(Background Knowledge Representation Generator:BKRG))を得るシステムの仕組みを説明するための模式図である。
図6図6は、図5に示す偽物表現ジェネレータを構成するエンコーダの基本的構成を示すブロック図である。
図7図7は、図5に示す偽物表現ジェネレータを訓練して因果関係BKRGと道具・目的関係BKRGを生成するBKRG訓練システムの概略構成を示すブロック図である。
図8図8は、図5に示すシステムによる敵対的学習を実現するプログラムのメインルーチンの制御構造を示すフローチャートである。
図9図9は、図8に示すプログラムの中で、偽物表現ジェネレータのパラメータ学習を行うためのルーチンの制御構造を示すフローチャートである。
図10図10は、図4に示すBERTの概略構成を示すブロック図である。
図11図11は、BERTトランスフォーマ層の概略構成を示すブロック図である。
図12図12は、知識統合トランスフォーマ層の概略構成を示すブロック図である。
図13図13は、図10に示すBERTトランスフォーマ層のうち、マルチヘッドアテンション部の概略構成を示すブロック図である。
図14図14は、図13に示すヘッドの一つの構成を示すブロック図である。
図15図15は、なぜ型質問応答用データの統計を示す表形式の図である。
図16図16は、どうやって型質問応答用データの統計を示す表形式の図である。
図17図17は、第1の実施形態に係る回答特定用テキスト分類器の効果を示す実験結果を示す表形式の図である。
図18図18は、この出願の第2の実施形態に係る質問応答システムの処理過程を示す模式図である。
図19図19は、第2の実施形態に係る質問応答システムのテストを行うための実験データの統計を示す表形式の図である。
図20図20は、第2の実施形態に係る質問応答システムの効果を示す実験結果を示す表形式の図である。
図21図21は、この発明の各実施形態を実現するコンピュータシステムの外観を示す図である。
図22図22は、図21に外観を示すコンピュータシステムのハードウェア構成を示すブロック図である。
【発明を実施するための形態】
【0018】
以下の説明及び図面では、同一の部品には同一の参照番号を付してある。したがって、それらについての詳細な説明は繰返さない。
【0019】
[第1の実施形態]
〔回答パッセージと背景知識〕
図1に質問50と回答パッセージ52との例を示す。図1を参照して、質問50に対して、回答パッセージ52には例えば”The best way to prevent seasonal flu is to get vaccinated every year.”という文と、”good health habits like wearing face masks and washing your hands often can help stop the spread of germs.”のように、回答としてふさわしい部分が存在する。人間の場合には、予め背景知識があるため、これらの部分が質問50に対する回答としてふさわしい記載であることが容易に分かる。しかし、そのような背景知識に基づく処理をコンピュータにさせるのは容易ではない。
【0020】
〔背景知識表現ジェネレータ〕
なぜ型質問に対しては、因果関係が背景知識となり得る。なぜ型質問と同様になに型質問と異なる質問として、どうやって型質問がある。どうやって型質問については、道具・目的関係が背景知識となり得る。そこで、以下の実施形態では、因果関係及び道具・目的関係のような意味的関係を訓練データとして背景知識表現ジェネレータを訓練する。因果関係はなぜ型質問に対する回答を、道具・目的関係はどうやって型質問に対する回答を、それぞれ与えるための重要な背景知識となる。このような意味的関係を用いて背景知識表現ジェネレータを訓練することで、質問が与えられると、その質問に関連する部分を回答パッセージ中で特定できるようになり、質問に対する正しい回答を含むパッセージとそうでないパッセージとを高い精度で分類できる。
【0021】
背景知識表現生成器の訓練には、因果関係及び道具・目的関係の背景知識を多数収集する必要がある。これらの収集は人手でおこなってもよいが、背景知識表現ジェネレータを機械学習により訓練するためには、多数の背景知識をウェブから自動的に収集することが現実的である。その方法については後述する。
【0022】
図2は、別々のウェブ文書からそれぞれ抽出した、いずれも道具・目的関係を示す2つの文を背景知識60の例として示す。道具・目的関係を示すこのような文と、同様に因果関係を示す文を多数準備する。これらの文を用いて、背景知識表現ジェネレータを訓練することで、なぜ型質問又はどうやって型質問が質問応答システムに入力されたときに、パッセージ群から質問応答システムが回答を含むパッセージとその注目すべき部分とを容易に見つけ出すことができるようにする。
【0023】
図3にその概念を説明する。図3を参照して、質問50と回答パッセージ52とが与えられたときに、質問50を背景知識表現ジェネレータに与えると、その質問50のための背景知識を何らかの手法で表現した背景知識表現ベクトルが得られる。その背景知識表現ベクトルと回答パッセージ52の各文言との間の関係の大小を見ることにより、矢印70、72及び矢印74により示すように、回答パッセージ52中で注目すべき文言が特定され、これらが回答へのヒントとなる。その結果、回答特定が容易になる。しかしそのためには、背景知識表現ベクトルをどのように得るかが問題となる。そのための構成について以下に説明する。
【0024】
〔全体構成〕
図4に、第1の実施形態に係る回答特定用テキスト分類器90の構成をブロック図として示す。図4を参照して、回答特定用テキスト分類器90は、質問と、その質問と対比されるパッセージとを連結した入力100を受けるように設けられた言語表現モデルであるBERT(Bidirectional Encoder Representation from Transformers)102を含む。BERT102は後掲の参考文献1に記載された言語表現モデルであり、事前学習が容易でかつ性能が高いことでよく知られている。BERT102の構成については簡単に後述する。
【0025】
BERT102への入力は、先頭に配置された、クラス分類を表すクラストークン[CLS]と、質問を表す単語列と、その次に配置された分離トークン[SEP]と、分離トークンの後に配置されたパッセージを表す単語列とからなる。入力100の長さは入力文によって変化する。そのため、この実施形態では入力100の長さを512に固定し、足りない部分には所定の文字列を代入することにした。
【0026】
回答特定用テキスト分類器90はさらに、BERT102と並列に入力100の入力を受け、入力100内の質問とパッセージに対する各単語を学習済の単語埋め込みベクトルに変換し出力するためのベクトル変換部112と、ベクトル変換部112により変換された質問テキストの単語埋め込みベクトル列qとパッセージテキストの単語埋め込みベクトル列pを受け、各層から、質問に関する背景知識表現のベクトル群116を出力する複数層のBKRG層を含むBKRG114と、BERT102の出力の後に設けられ、BERT102の出力に対し背景知識表現のベクトル群116をアテンションとして用いた言語処理を行って、最終的に入力100のパッセージが質問に対する回答を含むか否かを示すラベル108、及びパッセージ中でその回答となる部分の開始/終了位置110を含む出力106を出力する、BKRG114と同じ層数の複数のKI(Knowledge
Integration:知識統合)トランスフォーマ層を含むKIトランスフォーマ104とを含む。KIトランスフォーマ層は、特許文献2に記載されたトランスフォーマと呼ばれる言語モデルのエンコーダブロックに基づくものであり、背景知識に基づいて回答を抽出するために、図11を参照して後述するように改造したものである。
【0027】
〔BKRG114〕
BKRG114は、図4の例では、N層のBKRG層150、154、…、BKRG158と、これらN層のBKRG層150等のうち、最上層のBKRG層158以外の各層に対応して設けられ、対応するBKRG層150等への入力に対する更新処理を行って次の層のBKRG層154等に与えるためのN-1個の更新部152、156、…とを含む。第1層の更新部152には、ベクトル変換部112の出力する質問とパッセージとの単語埋め込みベクトル列(q,p)が入力される。更新部152はこのベクトル列(q,p)に対し所定の更新処理を行い更新後のベクトル列(q,p)を出力する。以下同様で、最終段のBKRG層158にはベクトル列(q,p)が与えられる。BKRG150、154、…、BKRG層158の出力は、背景知識表現のベクトル群116を構成するベクトルr、r、…、rである。BKRG層150、154、…、158等は後述するように予め訓練されている。回答特定用テキスト分類器90も全体として訓練されるが、その際にはBKRG層150、154、…、158等のパラメータはいずれも固定され、互いに同一である。したがってBKRG層154、…、158は訓練済のBKRG層150をコピーして作成してもよいし、BKRG層150をBKRG層154、…、158として繰り返し用いてもよい。
【0028】
なお、BKRG層150、154、…、158の出力する背景知識表現のベクトル群116は、これらBKRG層から出力されるベクトルr、r、…、rを含む。
【0029】
〔KIトランスフォーマ104〕
KIトランスフォーマ104は、BKRG114と同様、N個のKIトランスフォーマ層130、132、…、134を含む。KIトランスフォーマ層130はBERT102の出力と、BKRG114で同じ層のBKRG層150からのベクトルrとを受けるKIトランスフォーマ130と、KIトランスフォーマ層130の出力とBKRG層154からのベクトルrとを受けるKIトランスフォーマ層132と、以下、同様にそれぞれ直下の層のKIトランスフォーマ層の出力とBKRG114で同じ層のBKRG層からのベクトルrを受けるように接続されたKIトランスフォーマ層とを含む。最上層の第N層のKIトランスフォーマ層は、下層の第N-1層のKIトランスフォーマ層(図示せず)からの出力と、第N層のBKRG層158の出力するベクトルrとを受け、出力106を出力するKIトランスフォーマ層134である。
【0030】
以下、回答特定用テキスト分類器90の各部について説明する。
【0031】
〔BKRG〕
BKRG層150、154、…、158はいずれも同一の構成を持ち、そのパラメータも同一である。実際上、BKRG層150の訓練をした後、BKRG層154、…、158についてはBKRG層150をコピーするか、又はBKRG層150を繰り返し用いて計算すればよい。したがってBKRG層150のみについて、以下でその構成及び訓練方法について説明する。KIトランスフォーマ層130への入力とすべきことから考えると、背景知識は何らかのベクトル形式であることが望ましいことは分かる。しかし、背景知識をベクトルで表現するとして、いったいどのような内容をどのような形式で表現すればよいか特定するための手がかりはないに等しい。
【0032】
ここで、コンピュータによる自動処理で背景知識表現をベクトル形式で作成できる可能性がある技術として、参考文献2に記載された敵対的学習(Generative Adversarial Network:GAN)という機械学習技術がある。GANは特に画像の生成に適用されることが多く、例えば写真とほとんど区別できないような偽の画像(偽物)を生成したりできる。この実施形態のような質問応答処理においても、背景知識の生成に威力を発揮する可能性がある。本実施形態でも、GANを利用してBKRG150を訓練することを試みる。
【0033】
《BKRG150の訓練》
図5に、GANによりBKRG層150の訓練を行うための基本的構成を示す。図5を参照して、このGAN180は、予め準備された、各々が質問190とその質問に関する背景知識192とを含む訓練データ項目を用い、質問190と背景知識192とから、本物表現196と呼ばれるベクトル表現を生成する本物表現ジェネレータ194と、任意のテキストを表すノイズ198をサンプリングし、サンプリングしたノイズから偽物表現と呼ばれる偽物表現202を生成する偽物表現ジェネレータ200と、本物表現196又は偽物表現202の入力を受けて、それらが本物か偽物かを分別し分別結果206を出力するための分別器204とを含む。本物表現ジェネレータ194、偽物表現ジェネレータ200及び分別器204は、いずれもニューラルネットワークである。
【0034】
本物表現ジェネレータ194及び偽物表現ジェネレータ200はいずれもエンコーダと呼ばれる同様の構造を持つ。したがって偽物表現ジェネレータ200の構造のみについて以下に説明する。図6を参照して、偽物表現ジェネレータ200は、ノイズ198を受けてノイズの単語埋め込みベクトル列226に変換する単語埋め込みベクトル変換部224と、質問190を受け、質問190を構成する各単語を単語ベクトルに変換して質問の単語埋め込みベクトル列222を出力する単語埋め込みベクトル変換部220とを含む。
【0035】
偽物表現ジェネレータ200はさらに、ノイズの単語埋め込みベクトル列226の各ベクトルに対して、質問の単語埋め込みベクトル列222からのアテンションを加算しアテンションにより修飾されたアテンション付き単語埋め込みベクトル列230を出力するアテンション加算部228と、アテンション付き単語埋め込みベクトル列230を受ける入力を持ち、質問190のベクトル表現である偽物表現202を出力するよう訓練されるCNN232とを含む。
【0036】
図5に示す本物表現ジェネレータ194も、CNN232を含めて偽物表現ジェネレータ200と同様の構成を持つ。エンコードの対象となるものがノイズ198ではなく背景知識192であるという点で本物表現ジェネレータ194は偽物表現ジェネレータ200と異なっている。
【0037】
図5に示す分別器204は、最終層にシグモイド関数を活性化関数とするロジスティック回帰層を持つフィードフォワードネットワークである。分別器204へは本物表現196又は偽物表現202が入力される。分別器204の出力は2つであり、例えば、入力が本物表現196であると判定したときには一方が真で他方が偽、入力が偽物表現202であると判定したときには一方が偽で他方が真となるように訓練される。
【0038】
本物表現ジェネレータ194及び分別器204は本物表現196が偽物表現202と区別できるように(分別の誤りを最小化するように)、偽物表現ジェネレータ200は偽物表現202が本物表現196と区別できなくなるように(偽物表現202に対する分別器204の分別の誤りを最大化するように)、これら3つのネットワークが敵対的学習により訓練される。すなわち、これら3つのネットワークが、以下の式にしたがって訓練される。
【0039】
【数1】
ただし、bは背景知識、qは質問、zはノイズ、Dは分別器204、Fは偽物表現ジェネレータ200、Rは本物表現ジェネレータ194、R(b;q)は背景知識bと質問qが与えられたときの本物表現ジェネレータ194の出力(本物表現196)、F(z;q)はノイズzと質問qが与えられたときの偽物表現ジェネレータ200の出力(偽物表現202)、dは背景知識bがしたがう分布、dはノイズzがしたがう分布、Eは期待値、をそれぞれ表す。
【0040】
最終的に分別器204の判定が50%となった時点、又は、指定の繰返し回数の学習が終了した時点で偽物表現ジェネレータ200の訓練を終了する。これはゲーム理論に基づくものであって、最終的にはナッシュ均衡に達し、分別器204が分別を正しく行う確率は50%となる。こうして訓練された偽物表現ジェネレータ200を用いて質問190とノイズとから偽物表現202を生成すれば、その偽物表現202は質問190と背景知識192とから本物表現ジェネレータ194が生成した本物表現196と区別ができないようなものとなる。
【0041】
すなわち、質問と任意のテキストが偽物表現ジェネレータ200に与えられたとして、偽物表現ジェネレータ200の出力は、あたかも質問とともに背景知識も偽物表現ジェネレータ200に与えられたかのような表現を出力する。この出力はもはや偽物表現と呼ぶのはふさわしくないので、以下では背景知識表現ベクトルとよぶ。また訓練が終了した後の偽物表現ジェネレータ200についても背景知識表現生成器(BKRG)と呼ぶ。なお、背景知識表現ベクトルの要素数は、訓練データから得られるこれらベクトルの要素数の最大数となるように予め決定する。
【0042】
後述するようにこのような工夫をして得た背景知識表現生成器を用いてパッセージが質問に対する正しい回答を与えるものか否かを判定したところ、従来と比較して明らかに高い精度が得られることがわかった。
【0043】
GAN180による訓練は、コンピュータハードウェアとそのコンピュータハードウェアにより実行されるコンピュータプログラム(以下「プログラム」という。)とにより実現される。その訓練のためには訓練用データを準備する必要がある。この実施形態では、なぜ型質問とどうやって型質問との双方のタイプの質問に対して回答可能な質問応答システムを提供する。そのためには、因果関係BKRGと道具・目的関係BKRGの2つのBKRGを用意する必要がある。この実施形態では、これらの出力を連結して一つのBKRGの出力とする。
【0044】
因果関係BKRGを訓練するためには因果関係を、道具・目的関係BKRGを訓練するためには道具・目的関係を、それぞれ収集する必要がある。訓練用データの収集及びBKRGの訓練を行うための訓練システムの概略構成を図7に示す。
【0045】
図7を参照して、このBKRG訓練システム240は、インターネット250から因果関係を表すテキストを大量に収集し、それらを用いて因果関係BKRG256の訓練を行う因果関係BKRG訓練部252と、インターネット250から道具・目的関係を表すテキストを大量に収集し、それらを用いて道具・目的関係BKRG258の訓練を行う道具・目的関係BKRG訓練部254とを含む。
【0046】
因果関係BKRG訓練部252は、インターネット250から因果関係を表すテキストを抽出する因果関係抽出部270と、因果関係抽出部270により抽出されたテキストを記憶する因果関係記憶装置272と、因果関係記憶装置272に記憶された因果関係の各々から質問部と背景知識部とを抽出して組み合わせることにより因果関係BKRG256の学習データを生成するための因果関係学習データ生成部274と、このようにして生成された学習データを記憶するための因果関係学習データ記憶装置276と、因果関係学習データ記憶装置276に記憶された因果関係から得られた学習データを用いた敵対的学習により因果関係BKRG256の訓練を行うための因果関係BKRG訓練部278とを含む。
【0047】
因果関係学習データ生成部274は因果関係から以下のようにして学習データを生成する。因果関係は、原因部と結果を表す帰結部とからなる。その帰結部を質問部とし、原因部を背景知識部とする。例えば因果関係として「大部分の人は新型インフルエンザウィルスに対する抗体を持っていないので(原因部)、グローバルなパンデミックとそれに伴う社会的インパクトが生じ得る(帰結部)」を考える。この場合、帰結部から得られる「グローバルなパンデミックとそれに伴う社会的インパクトが生じ得るのはなぜ?」という問いが質問部となり、原因部の「大部分の人は新型インフルエンザウィルスに対する抗体を持っていないので」が背景知識部となる。
【0048】
道具・目的関係BKRG訓練部254は、インターネット250から道具・目的関係を表すテキストを抽出する道具・目的関係抽出部280と、道具・目的関係抽出部280により抽出されたテキストを記憶する道具・目的関係記憶装置282と、道具・目的関係記憶装置282に記憶された関係の各々から質問部と背景知識部とを抽出して組み合わせることにより道具・目的関係BKRG258の学習データを生成するための道具・目的関係学習データ生成部284と、このようにして生成された学習データを記憶するための道具・目的関係学習データ記憶装置286と、道具・目的関係学習データ記憶装置286に記憶された道具・目的関係から得られた学習データを用いた敵対的学習により道具・目的関係BKRG258の訓練を行うための道具・目的関係BKRG訓練部288とを含む。
【0049】
道具・目的関係学習データ生成部284は道具・目的関係から以下のようにして学習データを生成する。道具・目的関係は、道具部と目的部とからなる。その目的部を質問部とし、道具部を背景知識部とする。例えば道具・目的関係として「混んだ場所に行くときには、インフルエンザの感染を防ぐために(目的部)、マスクを着用(道具部)しなければならない」を考える。この場合、目的部から得られる「混んだ場所にいくときには、インフルエンザの感染を防ぐためにどうする?」という問いが質問部となり、道具部の「マスクを着用」が背景知識部となる。
【0050】
この実施形態では、このように因果関係BKRG256と道具・目的関係BKRG258とを別々に訓練する。テスト時には同じ質問から因果関係BKRG256と道具・目的関係BKRG258の双方に同じ質問を与え、これらから得られたベクトルを連結して背景知識表現ベクトルとする。すなわち、因果関係BKRG256と道具・目的関係BKRG258とを並べたものを一つのBKRGとする。
【0051】
図8は、GAN180による訓練を実現するプログラムの制御構造を示すフローチャートである。図7に示す因果関係BKRG256及び道具・目的関係BKRG258は別々に訓練できる。ここでは因果関係BKRG256についてその訓練を実現するプログラムを説明するが、道具・目的関係BKRG258を訓練する場合も同様のプログラムを用いればよい。
【0052】
図8を参照して、このプログラムは、コンピュータを図7に示す因果関係学習データ記憶装置276と通信可能に接続するステップ300と、図5に示す偽物表現ジェネレータ200、本物表現ジェネレータ194、及び分別器204の訓練を、本物表現ジェネレータ194及び分別器204、並びに偽物表現ジェネレータ200の間の敵対的学習により行うステップ304と、ステップ304の結果、訓練の終了条件が充足されたか否かを判定し、判定結果に応じて制御の流れを分岐させるステップ306と、ステップ306において終了条件が成立していると判定されたことに応答して、そのときの偽物表現ジェネレータ200のパラメータを所定の記憶装置に保存しこのプログラムの実行を終了するステップ308とを含む。ステップ306の判定が否定のときには制御はステップ304に戻る。したがって、終了条件が充足されるまでステップ304が繰返される。ステップ308ではユーザがパラメータのファイル名及び保存箇所を指定できるようにしてもよい。
【0053】
図9を参照して、図8のステップ304における敵対的学習を実現するプログラムは、質問と、その質問に対応する背景知識との組み合わせからなる複数のサンプルを訓練データからサンプリングするステップ320、偽物表現ジェネレータ200のパラメータを固定するステップ322、320でサンプリングされたサンプルの質問及び背景知識を用いて、本物表現ジェネレータ194により生成される本物表現196を偽物と、偽物表現ジェネレータ200により生成される偽物表現202を本物と、それぞれ分別器204が誤って分別する確率を最小化するように本物表現ジェネレータ194及び分別器204の訓練を行うステップ324に続き、分別器204及び本物表現ジェネレータ194のパラメータを固定するステップ326、及び、質問190及びノイズから偽物表現ジェネレータ200により偽物表現202を生成し、これら偽物表現202を分別器204が誤って本物表現と判定する確率を最大化するよう偽物表現ジェネレータ200のパラメータの学習を行うステップ328を含む。
【0054】
《BERT102》
図10に、BERT102の概略構成を示す。BERTは、事前学習が容易に行え、さらにファインチューニングを行うことによって非常に高い精度で例えば翻訳を行ったり、質問応答のための関連部分の抽出を行ったりする言語表現モデルとして機能することが知られている。
【0055】
BERT102は、互いに同じ構成で直列に配列された複数のBERTトランスフォーマ層602、604、…、606を含む。これらはいずれもKIトランスフォーマ層130等と同様、トランスフォーマのエンコーダブロックと同様の構成を持ち、KIトランスフォーマ層130等とはごく一部の構成が異なるだけである。ここではKIトランスフォーマ層と区別する意味でBERTトランスフォーマ層と呼ぶ。
【0056】
BERTトランスフォーマ層602は入力単語埋め込みベクトル列600を入力とし、BERTトランスフォーマ層604はBERTトランスフォーマ層602の出力を入力とし、以下同様である。最終のBERTトランスフォーマ層606の出力する単語列608はKIトランスフォーマ104への入力となる。なお、図10では入力単語埋め込みベクトル列600が一括してBERT102に与えられるように記載されている。しかし実際には、入力単語埋め込みベクトル列600を構成する入力単語埋め込みベクトルが順番にBERT102に入力され、単語列608も順番に出力される。
【0057】
これら複数のBERTトランスフォーマ層602、604、…、606は同じ構成だが、BERT102の事前学習及びファインチューニングによりパラメータの値は互いに異なる。各サブネットワークへの入力及びその出力は一定長のベクトル、例えば512次元のベクトルである。このベクトルの長さは、処理対象となる最長の入力文の単語数より多くなるように選ばれる。
【0058】
以下の説明では、BERT102は既に日本語での事前学習がされているものとする。また図4に示す回答特定用テキスト分類器90は全体として一つのニューラルネットワークを構成している。回答特定用分類器90の全体のファインチューニングは、予め人手等で作成した、質問と回答候補パッセージとの対と、その回答候補パッセージが質問に対する回答を含むか否かを示すラベル、及びその回答部分の開始位置と終了位置とを示すラベルを一組とした訓練データを用い、通常の誤差逆伝播法によりBERT102、KIトランスフォーマ104、BKRG114の更新部の学習を行う。なおこのファインチューニングに先立ってBKRG150、154、…、158等の訓練は済ませておき、ファインチューニングの間はBKRG層150、154、…、158のパラメータの値は固定する。
【0059】
《トランスフォーマの構成》
図4に示すBERT102及びKIトランスフォーマ104は、前述したとおり、トランスフォーマと呼ばれる自然言語の言語モデルとしてよく使用される高性能なニューラルネットワークモデルのエンコーダブロックを基本ブロックとして用いている(図4のKIトランスフォーマ層130、132、…、134及び図10のBERTトランスフォーマ層602、604、…、606)。図11にBERTトランスフォーマ層の構成の概略を示し、図12にKIトランスフォーマ層の構成の概略を示す。
【0060】
図11図12を参照して、BERTトランスフォーマ層とKIトランスフォーマ層とは互いにほとんど同一であり、一部が異なるだけである。
【0061】
図示されてはいないが、例えばBERT102の入力段には、入力文中の各単語を、数値を要素とする単語埋め込みベクトルに変換することで入力文を単語埋め込みベクトル列に変換する単語変換部と、単語変換部の出力する単語埋め込みベクトル列内の各単語埋め込みベクトルに対して、対応する単語の入力文内の位置を示す位置情報をエンコードする位置エンコーダとが設けられる。このように位置情報をエンコードすることで、トランスフォーマでは、入力される単語列の順番を、RNN(Recurrent Neural Network)又はCNNを使用せずに利用して単語列をエンコードできる。
【0062】
BERTトランスフォーマ層602の出力は、BERTトランスフォーマ層604への入力となり、以下同様である。BERT102の最終のBERTトランスフォーマ層606の出力が、KIトランスフォーマ104のKIトランスフォーマ層130の入力となるようにBERT102とKIトランスフォーマ104とが接続されている。また、図4には、示されていないが、KIトランスフォーマ104の出力段には、線形変換サブネットワークとSoftMax層とがこの順に設けられる。SoftMax層が各出力単語の確率を与える。
【0063】
BERTトランスフォーマ層602は、単語埋め込みベクトル列である入力340を受けて入力340をセルフアテンション付きのベクトル表現にエンコードする。単語埋め込みベクトル列は、同じ構成の単語埋め込みベクトルが複数個連なったものであり、見方によっては単語埋め込みベクトル行列と考えることもできる。トランスフォーマでは、複数の単語について得られるベクトル列からなる行列間の演算が重要な機能を果たす。なお、セルフアテンションとは、入力340に対する同じ入力340によるアテンションを意味し、例えば、入力340の特定の単語に対するセルフアテンションは、入力340の他の全ての単語らからのアテンションを用いて算出する。
【0064】
図11に示されるように、BERTトランスフォーマ層602は二層構造からなるエンコーダサブネットワーク436を含む。エンコーダサブネットワーク436は、入力340を受ける第1層サブネットワーク440と、第1層サブネットワーク440の出力を受け、BERTトランスフォーマ層602の出力を生成する第2層サブネットワーク442とを含む。
【0065】
第1層サブネットワーク440は、単語埋め込みベクトル列340を受け、これらの単語埋め込みベクトル列340を用いて、入力される各単語埋め込みベクトルについて、その対応する単語に関するセルフアテンションを算出し、それらアテンションからなるアテンションベクトル列を出力するマルチヘッドアテンションサブネットワーク450と、マルチヘッドアテンションサブネットワーク450の出力するアテンションベクトル列内の各アテンションベクトルに、マルチヘッドアテンションサブネットワーク450の入力である単語埋め込みベクトル列内の対応する単語埋め込みベクトルを加算した後、レイヤノーマライゼーションを行うADD & Normサブネットワーク452とを含む。マルチヘッドアテンションサブネットワーク450は、BERTトランスフォーマ層602への入力である単語埋め込みベクトル列からなる行列を3つに分岐させて用いる。これら3つの入力は、図11において、左から順番にV(value)、K(Key)、及びQ(Query)と呼ばれる。マルチヘッドアテンションサブネットワーク450の詳細については図13を参照して後述する。
【0066】
第2層サブネットワーク442は、ADD & Normサブネットワーク452の出力する、各単語位置に対応して設けられた全結合フィードフォワードネットワークを含む全結合サブネットワーク460と、全結合サブネットワーク460の出力に対しADD & Normサブネットワーク452と同様の処理を行うADD & Normサブネットワーク462とを含む。ADD & Normサブネットワーク462の出力はBERTトランスフォーマ層602への入力と同じ長さの単語埋め込みベクトル列である。
【0067】
前記したように単語埋め込みベクトル列は単語埋め込みベクトルを各行とする行列と考えることができる。したがって、実際には、BERTトランスフォーマ層602における各演算は行列演算として実行される。
【0068】
図12に示す、KIトランスフォーマ層130は、BERTトランスフォーマ層602等と同じ構成を持つ。しかし、BERTトランスフォーマ層602等では前段の入力を分岐して得た行列Qを用いるのに代えて、KIトランスフォーマ層130と対応する(同じ)層のBKRG層(例えば図1に示すBKRG層150)から出力される背景知識表現ベクトルrを用いる点でBERTトランスフォーマ層602と異なる。V及びKについては、BERTトランスフォーマ層602と同様、前段の出力を分岐して用いる。
【0069】
具体的には、図12を参照して、KIトランスフォーマ層130は、二層構造からなるエンコーダサブネットワーク476を含む。エンコーダサブネットワーク476は、BERTトランスフォーマ602のエンコーダサブネットワーク436と同様、第1層サブネットワーク492と第2層サブネットワーク494とを含む。
【0070】
第1層サブネットワーク492は、前段(KIトランスフォーマ層130の場合は、BERT102の出力)から受ける単語埋め込みベクトル列を順に受け、これらの単語埋め込みベクトル列を用いて、入力される各単語埋め込みベクトルについて、その対応する単語に関する背景知識表現ベクトルを用いてアテンションを算出し、それらアテンションからなるアテンションベクトル列を出力するマルチヘッドアテンションサブネットワーク510と、マルチヘッドアテンションサブネットワーク510の出力するアテンションベクトル列内の各アテンションベクトルに、マルチヘッドアテンションサブネットワーク510の入力である単語埋め込みベクトル列内の対応する単語埋め込みベクトルを加算した後、レイヤノーマライゼーションを行うADD & Normサブネットワーク512とを含む。BERTトランスフォーマ層602の場合と異なり、マルチヘッドアテンションサブネットワーク510は、前段からの入力である行列をV及びKの2つに分岐させて用いる。一方、マルチヘッドアテンションサブネットワーク510に入力されるQは、同じ層のBKRG150(図4)から与えられるrである。ただし、Qは行列(ベクトル列)であるのに対し、rはベクトルである。そのためこのままでは構成で所望の演算を行うことができない。したがって、この実施形態では後述するようにベクトルr等をQと同形式の行列に変換する。
【0071】
第2層サブネットワーク494は、ADD & Normサブネットワーク512の出力する、各単語位置に対応して設けられた全結合フィードフォワードネットワークを含む全結合サブネットワーク520と、全結合サブネットワーク520の出力に対しADD & Normサブネットワーク462と同様の処理を行うADD & Normサブネットワーク522とを含む。ADD & Normサブネットワーク522の出力はBERTトランスフォーマ602への入力と同じ長さの単語埋め込みベクトル列であって、KIトランスフォーマ132(図4を参照)への入力となる。
【0072】
図13は、図11に示すマルチヘッドアテンションサブネットワーク450の、一般的なトランスフォーマでの概略構成を示す。図12に示すマルチヘッドアテンションサブネットワーク510も行列Qに代えてベクトルrを使用する点、下記の数2及び数3で示す計算処理の違いはあるが、類似の構成である。
【0073】
図13を参照して、マルチヘッドアテンションサブネットワーク450は、複数のヘッダと呼ばれる部分を含むヘッダ部540と、ヘッダ部540の複数のヘッダからそれぞれ出力されるベクトルを連結するベクトル連結部542と、ベクトル連結部542の出力に対して線形変換を行う線形変換サブネットワーク544とを含む。
【0074】
ヘッダ部540は、複数(h個)のヘッダ550と、各ヘッダ550に対して、下層からの入力であるベクトル列を分岐した3つの入力を受け、それらに対して予め各要素の値を学習した行列による線形変換を行って3個の行列V、K及びQを生成しヘッダ550のh個のヘッダの各々に与えるための3つの線形変換サブネットワーク552とを含む。なお、図12に示すKIトランスフォーマ層130等ではQに代えて背景知識表現ベクトルrを後述するように行列化したものを用いる。
【0075】
図14を参照して、ヘッダ550は、行列Qとの行列Kとの間で乗算を行う行列積サブネットワーク560と、行列積サブネットワーク560により得られる行列を、所定の定数で除算する除算回路562とを含む。ヘッダ550はさらに、除算回路562によりスケーリングされた行列に対しSoftMax変換を行うSoftMax層566と、SoftMax層566によるSoftMax後の行列と線形変換後の行列Vとの間で乗算を行う行列積サブネットワーク568とを含む。
【0076】
以上の変換は、上記したとおりベクトル及び行列演算の形式で行われる。これを式で表すと以下のとおりである。ただしdは線形変換後の行列Kの行数の平方根である。行列Kの行数が64であればd=8である。
【0077】
【数2】
h個のヘッダ550の行列積サブネットワーク568から得られる行列はベクトル連結部542により連結される。h個のヘッダ550の構成は同じだが、これらは学習時にそれぞれランダムに初期化される。その結果、学習後のこれらのパラメータは互いに異なっており、h個のヘッダ550からはそれぞれ異なる結果が得られる。
【0078】
なお、図12に示すKIトランスフォーマ層130等のマルチヘッドアテンションサブネットワーク510では、以下の式により、ベクトルrをQと同形式の行列に変換して上記した演算を行う。
【0079】
【数3】
ただしJ1,dkは、全要素が1のd次元のベクトルであり、右辺のVの直前の記号は行列の要素ごとの乗算(アダマール積)を表す。SoftMax演算は対応するトークンにどの程度注意すべきかを示す値を全体の合計が1となるように変換する。rはd次元のベクトルである必要があるが、実際のBKRGの出力ベクトルrBKRGがd次元に満たない場合もある。その場合には以下の式にしたがった演算によりベクトルrBKRGをdk次元のベクトルrに変換する。
【0080】
【数4】
なお、BERTには、BERTBASEと呼ばれる基本的な構成と、BER LARGEと呼ばれるより大規模な構成との2種類がある。層数をL、ヘッダ数をA、フィードフォワードネットワークの隠れユニット数をHとすると、BERTLARGEではL=24、H=1024、A=16、BERTBASEではL=12、H=768、A=12である。この実施形態及び後述する実験でのBERT102としては、BERTLARGEを用いている。
【0081】
《更新部》
図4に示す更新部152、156、…は全体のニューラルネットワークの一部であり、互いに同じ構成を持つ。例えば更新部152は、入力された質問とパッセージの単語埋め込みベクトル列(q、p)を受ける。この単語埋め込みベクトル列は、質問とパッセージの各単語について予め学習した埋め込みベクトル化を行って、それぞれ得られたベクトルを連結することで得られる。BKRG層150はこのベクトル列(q、p)に応答し、これを処理して質問qに関する背景知識ベクトルrを生成してKIトランスフォーマ130への入力とする。更新部152は、このとき、この背景知識ベクトルrとBKRG層150への入力であったベクトル列(q、p)との関連度を用いてベクトル列(q、p)を更新してベクトル列(q,p)を生成し、次のBKRG層であるBKRG層154及び更新部156に与える。BKRG層154はこのベクトル列(q,p)に応答しこれを処理して新たな背景知識ベクトルrを生成し、KIトランスフォーマ132への入力とする。更新部156は背景知識ベクトルrとベクトル列(q,p)との関連度を用いてベクトル列(q,p)を更新してベクトル列(q,p)を生成し、次のBKRG層への入力とする。以下同様である。
【0082】
一般的にベクトル列q又はpのj番目の単語の単語埋め込みベクトルをx (x=q又はp)とすると、以下の式により示すように、i番目のBKRG層で算出された背景知識ベクトルrに対するその単語の関連度を計算することで、この関連度で重み付けされた単語埋め込みベクトル ̄x が得られる。
【0083】
【数5】
この結果、背景知識ベクトルrとの関連度により各ベクトルが重み付けされたベクトル列 ̄x(重み付けされたベクトル列q又はp)が得られる。
【0084】
i+1(xi+1はqi+1又はpi+1のいずれか)は以下のように ̄x及びxを用いてハイウェイネットワーク形式(参考文献3)で計算される。
【0085】
【数6】
こうして更新された後のベクトル列(qi+1,pi+1)がi+1番目のBKRG層への入力となる。
【0086】
〔動作〕
以上、構成について説明した回答特定用テキスト分類器90は以下のように動作する。 以下の説明では、BERT102は既に日本語での事前学習がされているものとする。また図4に示す回答特定用テキスト分類器90の全体のファインチューニングは、前述したとおり、予め人手等で作成した、質問とパッセージとの対と、そのパッセージが質問に対する回答を含むか否かを示すラベル、並びにその回答部分の開始位置と終了位置とを示すラベルを一組とした訓練データを用い、通常の誤差逆伝播法により行う。なおこのファインチューニングに先立ってBKRG層150、154、…、158等の訓練を済ませておき、ファインチューニングの間はBKRG層150、154、…、158のパラメータの値は固定する。
【0087】
《偽物表現ジェネレータ200の学習》
最初に、図8にしたがい、図5に示す偽物表現ジェネレータ200の学習について説明する。偽物表現ジェネレータ200は、図5に示す本物表現ジェネレータ194及び分別器204と併せて敵対的学習により訓練される。この訓練に先立ち、図7に示す因果関係抽出部270及び道具・目的関係抽出部280により、インターネット250から因果関係及び道具・目的関係を示すテキストが収集され、それぞれ因果関係記憶装置272及び道具・目的関係記憶装置282に記憶される。因果関係学習データ生成部274及び道具・目的関係学習データ生成部284が、それぞれ因果関係記憶装置272及び道具・目的関係記憶装置282に記憶された因果関係のテキストと道具・目的関係のテキストとから、それぞれ因果関係学習データと道具・目的関係学習データとを生成し、それぞれ因果関係学習データ記憶装置276及び道具・目的関係学習データ記憶装置286に格納する。
【0088】
因果関係BKRG訓練部278が、因果関係学習データ記憶装置276に記憶された因果関係学習データを用いて因果関係BKRG256の訓練を行い、道具・目的関係BKRG訓練部288が道具・目的関係学習データ記憶装置286に記憶された道具・目的学習データを用いて道具・目的関係BKRG258の訓練をする。
【0089】
因果関係BKRG256と道具・目的関係BKRG258の訓練は、学習データが異なるだけで手順自体は同様である。したがって、ここでは因果関係BKRG256の訓練についてのみ、GAN180の動作を説明する。
【0090】
図8を参照して、この学習では、因果関係学習データ記憶装置276にコンピュータを接続する。具体的には、コンピュータが、外部記憶装置により実現される因果関係学習データ記憶装置276に存在する、因果関係学習データを含むファイルをオープンし、それらの内容を読み出してメモリに格納する。又はこれらを記憶したデータベースから因果関係学習データを読み出し、メモリに格納する(ステップ300)。
【0091】
続いて、本物表現ジェネレータ194及び分別器204と、偽物表現ジェネレータ200との間で敵対的学習を行う(ステップ304)。
【0092】
図9を参照して、ステップ304で行われる敵対的学習では、質問190と、その質問に対する背景知識192との複数の組を学習データからサンプリングする(ステップ320)。続いて偽物表現ジェネレータ200のパラメータを固定する(ステップ322)。サンプリングした質問190と、その質問190に対する背景知識192を用いて本物表現ジェネレータ194が本物表現196を生成し分別器204に与える。一方、偽物表現ジェネレータ200が同じ質問190とランダムに発生させたノイズとを用いて偽物表現202を生成し分別器204に与える。分別器204はこの本物表現196及び偽物表現202がそれぞれ本物か否かを判定する。サンプリングされた学習データの全体に対するこの判定結果を用い、ステップ324において、このデータに対する分別器204の誤判定が最小化されるように、すなわち本物表現196を偽物と、偽物表現202を本物と誤判定する確率が小さくなるように、偽物表現ジェネレータ200のパラメータを固定した状態で、誤差逆伝播法により分別器204及び本物表現ジェネレータ194のパラメータの訓練を行う。
【0093】
続いて、分別器204及び本物表現ジェネレータ194のパラメータを固定する(ステップ326)。分別器204のパラメータを固定したまま、質問190とランダムに発生させたノイズ198とを用い、偽物表現ジェネレータ200の学習を行う(ステップ328)。具体的には、偽物表現ジェネレータ200が偽物表現202を生成する。分別器204はこの偽物表現202が本物表現か否かを判定する。この判定を複数の質問190に対して行い、偽物表現ジェネレータ200のパラメータを分別器204による誤判定が最大化するように、すなわち分別器204が偽物表現202を本物表現と判定する確率が大きくなるように、分別器204及び本物表現ジェネレータ194のパラメータを固定して偽物表現ジェネレータ200のパラメータを調整する。
【0094】
こうした処理を繰り返すことにより、いずれは本物表現ジェネレータ194及び分別器204と偽物表現ジェネレータ200とによる本物表現・偽物表現はゲーム理論におけるナッシュ均衡に達し、分別器204による判定結果は、正解が50%、誤判定が50%という状態に達する。又はナッシュ均衡に近い一定の状態に達する。
【0095】
図8を参照して、ステップ306では分別器204の判定の精度がこのナッシュ均衡の状態、又はナッシュ均衡に近い一定の状態に達したか否かを判定する。判定結果が否定であれば制御はステップ304に戻り、本物表現ジェネレータ194、偽物表現ジェネレータ200及び分別器204の敵対的学習を続行する。ステップ306の判定結果が肯定であればステップ308で偽物表現ジェネレータ200のパラメータを記憶装置に保存し、処理を終了する。この偽物表現ジェネレータ200のパラメータと、偽物表現ジェネレータ200のネットワーク構造を実現するプログラムとにより、この実施形態の因果関係BKRG256が得られる。
【0096】
図7に示す道具・目的関係学習データ記憶装置286を用いた敵対的学習を、別の本物表現ジェネレータ194、偽物表現ジェネレータ200及び分別器204のセットに実行することにより、道具・目的関係BKRG258も同様にして得られる。図4に示すBKRG150、154、及びBKRG158等は、いずれも因果関係BKRG256と道具・目的関係BKRG258とを連結して得られたもので、両者の出力が連結されてBKRG150等からベクトルr等として出力する。
【0097】
《BERT102の訓練》
BERT102の事前学習についてはよく知られた手法であり、ここではその詳細は繰り返さない。簡単にいえば、予め事前学習のための文を多数準備しておき、それらの文のうち任意の一つの単語を削除したものを入力として、その単語を予測するようにしてBERT102の事前学習が行われる。この方法では、いわゆる訓練データの作成のためにデータを加工する必要がない。
【0098】
BERT102の事前学習及び回答特定用テキスト分類器90のファインチューニングは前述したように行われる。したがってここではその詳細は繰り返さない。このファインチューニングでは、BKRG層150、154、…、158のパラメータを固定しておく点に注意して、通常の誤差逆伝播法を用いればよい。
【0099】
《テスト時の回答特定用テキスト分類器90の動作》
図4を参照して、回答特定用テキスト分類器90のテスト時には、質問と、その質問に対する回答を含むか否かの判定対象となるパッセージとが入力100としてBERT102及びベクトル変換部112に与えられる。
【0100】
BERT102は、訓練後のパラメータにしたがって入力100を処理しKIトランスフォーマ層130に出力を与える。
【0101】
一方、ベクトル変換部112は入力100に含まれる質問及びパッセージをそれぞれ単語埋め込みベクトル列に変換して連結し、BKRG層150と更新部152とに与える。BKRG層150はこの単語埋め込みベクトル列のうち、質問の単語埋め込みベクトル列qを質問とし、パッセージの単語埋め込みベクトル列p図5のノイズ198として処理し、質問に対するベクトルrを生成しKIトランスフォーマ層130に与える。
【0102】
KIトランスフォーマ層130は、BERT102の出力に対し、BKRG層150から与えられるベクトルrをアテンション(行列Q)として演算を行い、結果をKIトランスフォーマ層132に与える。このとき、ベクトルrは、KIトランスフォーマ層130に、対象となるパッセージを解析する際に回答になりそうな部分を注意深く読ませるために使用される。
【0103】
一方、BKRG114では、更新部152がBKRG層150の出力するベクトルrを用い、既に述べた変換式を用いてベクトル変換部112の出力した単語埋め込みベクトル列(q,p)を単語埋め込みベクトル列(q、p)に更新し、BKRG層154と更新部156に与える。
【0104】
BKRG層154は、単語埋め込みベクトル列(q、p)のqを質問、p図5のノイズ198として処理し、質問に対するベクトルrを生成しKIトランスフォーマ層132に与える。
【0105】
KIトランスフォーマ層132は、KIトランスフォーマ層130と同様、KIトランスフォーマ層130の出力に対し、BKRG層154から与えられるベクトルrをアテンション(行列V及びK)として演算を行い、結果をさらに後段のKIトランスフォーマ層に与える。このとき、ベクトルrは、KIトランスフォーマ層132に、対象となるパッセージを解析する際に回答になりそうな部分を注意深く読ませるために使用される。
【0106】
以下、同様の処理が行われ、BKRG層158からはベクトルrがKIトランスフォーマ層134に与えられる。KIトランスフォーマ層134は、前段のKIトランスフォーマ層の出力に対し、ベクトルrをアテンションとした処理を行い、結果を出力106として出力する。出力106の先頭のトークン「CLS」に対応する部分には、入力100を構成するパッセージが、入力100を構成する質問に対する回答を含むか否かを示すラベルが出力され、出力106のパッセージの各単語に相当する部分のうち、回答となる単語列の開始位置と終了位置とが、それぞれ確率として示される。
【0107】
なお、図4に示す例では、ラベルと、回答の開始位置及び終了位置とを求めるための回答特定用テキスト分類器90を一つのものとして記載した。しかしこの発明はそうした実施形態には限定されず、これらを別々のものとして訓練し使用してもよい。
【0108】
〔実験結果〕
上記した回答特定用テキスト分類器90により、日本語の質問に対して与えられたパッセージが正しい回答を含むものか否かを分別する実験(回答特定実験)を行った。実験はなぜ型質問応答とどうやって型質問応答の双方のタスクである。
【0109】
図5の偽物表現ジェネレータ200(図4のBKRG150、154、…、BKRG158の敵対的学習用の学習データとしては、因果関係データ(後掲の参考文献4に記載の手法で獲得)及び道具・目的関係データ(参考文献5に記載の手法で獲得)を用いた。この因果関係データは、40億のウェブテキストから自動獲得した約1億件の因果関係データを含んでいる。実験では、これらのうち100万件をランダムサンプリングしたものを用いた。道具・目的データとしては、同じく4億件のウェブテキストから自動獲得した約1.2億件の道具・目的関係データを含んでいる。実験では、これらのうちから100万件をランダムサンプリングしたものを用いた。
【0110】
こうして得られたなぜ型質問応答容データとどうやって型質問応答データの各々について、実験のために、学習データ、開発データ、及び評価(テスト)データに分類した。分類されたデータの統計を図15及び図16にそれぞれ示す。
【0111】
BERT102には前述のようにBERTLARGEを用いた。その層数L=24、トランスフォーマエンコーダのヘッダ数A=16、フィードフォワードネットワークの隠れユニット数H=1、024である。その学習には22億文を用いた。学習時のバッチサイズ=4,096、学習のステップ数は110万であった。
【0112】
実験では、上記した実施形態に記載の方法で訓練した因果関係BKRG及び道具・目的関係BKRGを使用した。
【0113】
図17にこの実験の結果を表形式で示す。図17のうち、結果欄の4行目の「Proposed」と記載されている結果636が上記実施形態に係るシステムによる結果である。図17において、「P@1(Precision at top answer)」は、質問ごとにランク付けした結果における、最上位の精度を示す。「MAP(Mean Average Precision)」は、質問ごとにランク付けした結果における平均精度の平均を示す。
【0114】
結果欄の結果630は、後掲の参考文献6に記載の手法(CNNとAnswer Representation Generator(ARG))によるものを示す。結果欄の結果632はBERTのみを用いたときの結果を示す結果欄の結果634は、結果632のBERTを用いた手法に、上記実施形態のBKRGの出力するRepresentationを最後のSoftMax層の入力として加算したものを用いた結果である。
【0115】
これに対し、結果欄の結果638以下は、結果636に示す上記実施形態にしたがった手法から何らかの要素を取り除いたものである。結果638は、図4に示す更新部152、156等による質問とパッセージ対の更新を取り除いたものである。結果640は、上記実施形態にしたがった手法から、因果関係BKRGを取り除いた場合の結果である。結果642は道具・目的関係BRKGを取り除いた場合の結果である。
【0116】
図17の結果欄の1行目から3行目と4行目とを比較すると,4行目が最も高い精度を与えていることが分かる。すなわち、BKRGによる背景知識表現ベクトルを利用し、この背景知識表現ベクトルをKIトランスフォーマでBERTによる結果と統合することで、1行目の基本手法はもとより、BERTのみ(2行目)と比較しても、またBERT+BKRGの手法に対しても、高い精度が得られていることが分かる。
【0117】
さらに、結果638、640及び結果642のいずれと比較しても結果636の性能が高い。したがって、図4に示す更新部152及びBKRG154のように入力される質問とパッセージとを更新する手法、BKRG150、154、…、BKRG158等において因果関係又は道具・目的関係を用いない手法のいずれも、結果636により示される、上記実施形態の性能向上に寄与していることが分かる。
【0118】
[第2の実施形態]
〔構成〕
上記第1の実施形態に係る回答特定用テキスト分類器90は、この発明を日本語のなぜ型質問及びどうやって型質問に適用したものである。しかしこの発明は、日本語だけではなく他の言語、例えば英語に対しても適用可能であり、また特定のドメインではなくオープンドメインの質問応答システムに対しても適用可能である。この第2の実施形態に係る質問応答システムは英語のオープンドメインの質問応答タスクを行う質問応答システムに関する。
【0119】
このタスクは、質問を受け、質問に対する回答を含む可能性が高いパッセージを選択し、さらにそのパッセージから回答を抽出するというタスクである。主な質問タイプはなに型質問である。回答は、単語・名詞句からなる場合が多い。なに型質問の回答は、なぜ型質問及びどうやって型質問の回答より短い傾向がある。
【0120】
英語に関する質問応答システムに、後掲の参考文献7に記載されたDistantly supervised open-domain QA (DS-QA)と呼ばれるタスクがある。図18を参照して、このタスク750は、質問760を受け、複数のパッセージ764を検索762し、そのパッセージ764から回答774を抽出する、というタスクである。より具体的には、このタスク750のための質問応答システムは、パッセージから回答を含む確率が高いパラグラフの集合768を選択するパラグラフ選択器766と、パラグラフ選択器766が選択したパラグラフの集合768と質問760とが与えられたとき、質問760に対する回答となる確率が最も高い単語列からなる回答候補の集合772を算出するパラグラフリーダ770とを含む。この回答候補の集合772から回答774が抽出される。
【0121】
参考文献7に記載された、タスク750を実行する例示的な質問応答システムは、質問760を受けて、テキストアーカイブから回答候補を含む可能性があるパッセージ764を検索し取り出す検索762を含む。パッセージ764をPで表すと、P={p,…,p}、ただしp,…,pはいずれもパラグラフを表す(N=正の整数)。タスク750はさらに、パッセージ764に含まれるパラグラフp,…,pの各々から、正しい回答を含む能性が高いパラグラフを選択し、パラグラフの集合768を生成するためのパラグラフ選択器766と、パラグラフの集合768に含まれるパラグラフの各々から回答と思われる部分を抽出し回答候補の集合772を生成するパラグラフリーダ770と、回答候補の集合772から質問760に対する正しい回答である確率が最も高い回答候補を回答774として出力する回答候補の集合772を含む。
【0122】
この実施形態では、質問qに対し、パッセージ764としてP={p}が与えられたとき、回答候補の集合772の各回答aのスコアScore(a|q,P)は以下のように定義される。ただしapは回答を含むパラグラフを表す。
【0123】
【数7】
この式のシグマ記号内の、第2項はパラグラフ選択器766に対応し、パラグラフpが質問qの回答を含む確率を表す。第1項はパラグラフリーダ770に対応し、パラグラフpから質問qの回答aを抽出する確率を示す。
【0124】
この実施形態では、パラグラフ選択器766及びパラグラフリーダ770として、上記第1実施形態に記載のものを利用できる。ただし、パラグラフ選択器766としては、上記第1実施形態に記載のものと同じ構成で、質問と各パラグラフとの組み合わせに対し、ラベルとしてそのパラグラが質問に対する回答を含むか否かを示す値を付した訓練データで訓練したものを用いる。またパラグラフリーダ770としては、質問と、その質問に対する正しい回答を含むパラグラとの組み合わせに対し、回答の開始部分をラベルとして持つ訓練データと、回答の終了部分をラベルとして持つ訓練データとをそれぞれ使用して訓練した2つの回答特定用テキスト分類器90を用いることができる。
【0125】
〔効果〕
上記第2の実施形態に係るタスク750の性能を調べるために、以下のような実験を行った。図19に、この実験で使用した訓練・評価データの統計を示す。
【0126】
実験では、比較のために公知の3つのデータセット (Quasar-T (参考文献8)、SearchQA(参考文献9)、及びTriviaQA(参考文献10)を用い、3つの公知手法であるOpenQA(参考文献11)、TriviaQA(参考文献10)、及びMBERT(Multi-passage BERT)(参考文献12)と、上記第2の実施形態による提案法(Proposed)を比較した。実験の結果を図20に示す。
【0127】
図20を参照して、結果800、802及び結果804は従来のシステムによる結果を示す。結果800は、上記参考文献11による、LSTM(Long Short-Term Memory)をベースとしたシステムによる結果を示す。結果802は、同じく参考文献11のシステムと、参考文献6により紹介されたARGとを組み合わせたもので、これもLSTMをベースとしたものである。結果804はMBERTによるものであり、従来技術でもっとも性能が高いとされているシステムである。
【0128】
これに対し結果806は上記第2の実施形態のパラグラフ選択器766及びパラグラフリーダ770による結果を示す。結果808は、第2の実施形態においてBKRGを用いなかった場合の結果である。結果810はBKRGを用いたが質問・パッセージ対の更新を行わなかった場合の結果を示す。結果812は参考文献13に記載のSQuADデータを学習データに加えて図18のパラグラフ選択器766及びパラグラフリーダ770の学習を行った場合の結果を示す。ただし結果812ではBKRGは使用していない。
【0129】
評価には全てEMスコア及びF1スコアを用いた。EMは真の回答(ground truth)のいずれかと正確に一致した予測結果の率を示す。F1は予測結果と真の回答との間の平均的な重なりを大まかに示す。
【0130】
この結果から、上記第2の実施形態に係るパラグラフ選択器766及びパラグラフリーダ770を用いた場合、全てのデータセットに対し、従来の他の手法をいずれも上回る性能を示すことが分かる。特に、第2の実施形態によれば、従来技術で最も性能の高いMBERTに対してもかなりの性能向上が得られていることが分かる。また結果808及び結果810のいずれも結果806より性能が落ちてはいるが従来技術のいずれと比較しても高い性能を示していることから、BKRGを用いること、及びさらにBKRGへの入力となる質問・パッセージ対の更新を用いることの双方とも第2の実施形態の性能向上に貢献していることが分かる。
【0131】
以上、第1及び第2の実施形態における実験結果から、この発明に係る背景知識表現ジェネレータは、異なる言語の異なるタスクに対して、従来技術と比較して高い性能を示し、質問応答システムにおいて有効であることが分かる。
【0132】
なお、以上の実施形態の説明では、回答特定用テキスト分類器に用いる言語表現モデルとしてBERTを用いているが、BERTに限定されるわけではない。例えばXLNet(参考文献14)、RoBERTa(参考文献15)、ALBERT(参考文献16)、StructBERT(参考文献17)等、トランスフォーマのエンコーダブロック又は同種のネットワークを基本として構成されている言語表現モデルを用いてもよい。
【0133】
[コンピュータによる実現]
図21は、上記各実施形態を実現するコンピュータシステムの外観図である。図22は、図21に示すコンピュータシステムのハードウェアブロック図である。
【0134】
図21を参照して、このコンピュータシステム950は、DVD(Digital Versatile Disc)ドライブ1002を有するコンピュータ970と、いずれもコンピュータ970に接続された、ユーザと対話するためのキーボード974、マウス976、及びモニタ972とを含む。もちろんこれはユーザ対話のための構成の一例であって、ユーザ対話に利用できる一般のハードウェア及びソフトウェア(例えばタッチパネル、音声入力、ポインティングデバイス一般)であればどのようなものも利用できる。
【0135】
図22を参照して、コンピュータ970は、DVDドライブ1002に加えて、CPU(Central Processing Unit)990と、GPU(Graphics Processing Unit)992と、CPU990、GPU992、DVDドライブ1002に接続されたバス1010と、バス1010に接続され、コンピュータ970のブートアッププログラム等を記憶するROM(Read-Only Memory)996と、バス1010に接続され、プログラムを構成する命令、システムプログラム、及び作業データ等を記憶するRAM(Random Access Memory)998と、バス1010に接続された不揮発性メモリであるHDD(Hard Disk Drive)1000とを含む。HDD1000は、CPU990及びGPU992が実行するプログラム、並びにCPU990及びGPU992が実行するプログラムが使用するデータ等を記憶するためのものである。コンピュータ970はさらに、他端末との通信を可能とするネットワーク986への接続を提供するネットワークI/F1008と、USBメモリ984が着脱可能で、USBメモリ984とコンピュータ970内の各部との通信を提供するUSBポート1006とを含む。
【0136】
コンピュータ970はさらに、マイク982及びスピーカ980とバス1010とに接続され、CPU990により生成されRAM998又はHDD1000に保存された音声信号をCPU990の指示にしたがって読み出し、アナログ変換及び増幅処理をしてスピーカ980を駆動したり、マイク982からのアナログの音声信号をデジタル化し、RAM998又はHDD1000の、CPU990により指定される任意のアドレスに保存したりするための音声I/F1004を含む。
【0137】
上記実施形態では、図4に示す偽物表現ジェネレータ200、本物表現196、分別器204、質問190、背景知識192等のデータ及びパラメータ等は、いずれも例えば図22に示すHDD1000、RAM998、DVD978又はUSBメモリ984、若しくはネットワークI/F1008及びネットワーク986を介して接続された図示しない外部装置の記憶媒体等に格納される。典型的には、これらのデータ及びパラメータ等は、例えば外部からHDD1000に書込まれコンピュータ970の実行時にはRAM998にロードされる。
【0138】
このコンピュータシステムを図8に示すGAN180及びその各部、そのための敵対的学習による訓練装置、及びその各構成要素の機能を実現するよう動作させるためのコンピュータプログラムは、DVDドライブ1002に装着されるDVD978に記憶され、DVDドライブ1002からHDD1000に転送される。又は、このプログラムはUSBメモリ984に記憶され、USBメモリ984をUSBポート1006に装着し、プログラムをハードディスク1000に転送する。又は、このプログラムはネットワーク986を通じてコンピュータ970に送信されHDD1000に記憶されてもよい。プログラムは実行のときにRAM998にロードされる。もちろん、キーボード974、モニタ972及びマウス976を用いてソースプログラムを入力し、コンパイルした後のオブジェクトプログラムをHDD1000に格納してもよい。スクリプト言語の場合には、キーボード974等を用いて入力したスクリプトをHDD1000に格納してもよい。仮想マシン上で動作するプログラムの場合には、仮想マシンとして機能するプログラムを予めコンピュータ970にインストールしておく必要がある。
【0139】
CPU990は、その内部のプログラムカウンタと呼ばれるレジスタ(図示せず)により示されるアドレスにしたがってRAM998からプログラムを読み出して命令を解釈し、命令の実行に必要なデータを命令により指定されるアドレスにしたがってRAM998、ハードディスク1000又はそれ以外の機器から読み出して命令により指定される処理を実行する。CPU990は、実行結果のデータを、RAM998、ハードディスク1000、CPU990内のレジスタ等、プログラムにより指定されるアドレスに格納する。このとき、プログラムカウンタの値もプログラムによって更新される。コンピュータプログラムは、DVD978から、USBメモリ984から、又はネットワークを介して、RAM998に直接にロードしてもよい。なお、CPU990が実行するプログラムの中で、一部のタスク(主として数値計算)については、プログラムに含まれる命令により、又はCPU990による命令実行時の解析結果にしたがって、GPU992にディスパッチされる。
【0140】
コンピュータ970により上記した各実施形態に係る各部の機能を実現するプログラムは、それら機能を実現するようコンピュータ970を動作させるように記述され配列された複数の命令を含む。この命令を実行するのに必要な基本的機能のいくつかはコンピュータ970上で動作するオペレーティングシステム(OS)若しくはサードパーティのプログラム、又はコンピュータ970にインストールされる各種ツールキットのモジュールにより提供される。したがって、このプログラムはこの実施形態のシステム及び方法を実現するのに必要な機能全てを必ずしも含まなくてよい。このプログラムは、命令の中で、所望の結果が得られるように制御されたやり方で適切な機能又は「プログラミング・ツール・キット」の機能を呼出すことにより、上記した各装置及びその構成要素としての動作を実行する命令のみを含んでいればよい。そのためのコンピュータ970の動作方法は周知であるので、ここでは繰返さない。なお、GPU992は並列処理を行うことが可能であり、機械学習に伴う多量の計算を同時並列的又はパイプライン的に実行できる。例えばプログラムのコンパイル時にプログラム中で発見された並列的計算要素、又はプログラムの実行時に発見された並列的計算要素は、随時、CPU990からGPU992にディスパッチされ、実行され、その結果が直接に、又はRAM998の所定アドレスを介してCPU990に返され、プログラム中の所定の変数に代入される。
【0141】
〔参考文献1〕
Jacob Devlin, Ming-Wei Chang, Kenton Lee, and Kristina Toutanova. 2018. BERT: pre-training of deep bidirectional transformers for language understanding. CoRR, abs/1810.04805.
〔参考文献2〕
Ian J. Goodfellow, Jean Pouget-Abadie, Mehdi Mirza, Bing Xu, David Warde-Farley, Sherjil Ozair, Aaron Courville, and Yoshua Bengio. 2014. Generative adversarial nets. In Proceedings of the 27th International Conference on Neural Information Processing Systems - Volume 2, NIPS’14, pages 2672-2680, Cambridge, MA, USA. MIT Press.
〔参考文献3〕
Rupesh K Srivastava, Klaus Greff, and Jurgen Schmidhuber. 2015. Training very deep networks. In Advances in Neural Information Processing Systems 28, pages 2377-2385.
〔参考文献4〕
Jong-Hoon Oh, Kentaro Torisawa, Chikara Hashimoto, Motoki Sano, Stijn De Saeger, and Kiyonori Ohtake. 2013. Why-question answering using intra- and inter-sentential causal relations. In Proceedings of the 51st Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers), pages 1733-1743.
〔参考文献5〕
Kazuma Kadowaki, Ryu Iida, Kentaro Torisawa, Jong-Hoon Oh, and Julien Kloetzer. 2019. Event causality recognition exploiting multiple annotators’ judgments and background knowledge. In Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing and the 9th International Joint Conference on Natural Language Processing (EMNLP-IJCNLP), pages 5816-5822.
〔参考文献6〕
Jong-Hoon Oh, Kazuma Kadowaki, Julien Kloetzer, Ryu Iida, and Kentaro Torisawa. 2019. Open-domain why-question answering with adversarial learning to encode answer texts. In Proceedings of the 57th Annual Meeting of the Association for Computational Linguistics, pages 4227-4237.
〔参考文献7〕
Danqi Chen, Adam Fisch, Jason Weston, and Antoine Bordes. 2017. Reading Wikipedia to answer open-domain questions. In Proceedings of the 55th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers), pages 1870-1879.
〔参考文献8〕
Bhuwan Dhingra, Kathryn Mazaitis, and William W Cohen. 2017. Quasar: Datasets for question answering by search and reading. arXiv preprint arXiv:1707.03904.
〔参考文献9〕
Matthew Dunn, Levent Sagun, Mike Higgins, V. Ugur Gueney, Volkan Cirik, and Kyunghyun Cho. 2017. Searchqa: A new q&a dataset augmented with context from a search engine. CoRR, abs/1704.05179.
〔参考文献10〕
Mandar Joshi, Eunsol Choi, Daniel Weld, and Luke Zettlemoyer. 2017. Triviaqa: A large scale distantly supervised challenge dataset for reading comprehension. In Proceedings of the 55th Annual Meeting of the Association for Computational Linguistics, pages 1601-1611.
〔参考文献11〕
Yankai Lin, Haozhe Ji, Zhiyuan Liu, and Maosong Sun. 2018. Denoising distantly supervised open-domain question answering. In Proceedings of the 56th Annual Meeting of the Association for Computational Linguistics, ACL 2018, pages 1736-1745.
〔参考文献12〕
Zhiguo Wang, Patrick Ng, Xiaofei Ma, Ramesh Nallapati, and Bing Xiang. 2019. Multi-passage BERT: A globally normalized BERT model for open-domain question answering. In Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing and the 9th International Joint Conference on Natural Language Processing (EMNLP-IJCNLP), pages 5878-5882. Association for Computational Linguistics.
〔参考文献13〕
Pranav Rajpurkar, Jian Zhang, Konstantin Lopyrev, and Percy Liang. 2016. Squad: 100,000+ questions for machine comprehension of text. In Proceedings of the 2016 Conference on Empirical Methods in Natural Language Processing, pages 2383-2392.
〔参考文献14〕
Zhilin Yang, Zihang Dai, Yiming Yang, Jaime Carbonell, Ruslan Salakhutdinov, Quoc V. Le, “XLNet: Generalized Autoregressive Pretraining for Language Understanding”, [ONLINE], https://arxiv.org/abs/1906.08237
〔参考文献15〕
Yinhan Liu, Myle Ott, Naman Goyal, Jingfei Du, Mandar Joshi, Danqi Chen, Omer Levy, Mike Lewis, Luke Zettlemoyer, Veselin Stoyanov、”RoBERTa: A Robustly Optimized BERT Pretraining Approach”, [ONLINE], https://arxiv.org/abs/1907.11692
〔参考文献16〕
Zhenzhong Lan, Mingda Chen, Sebastian Goodman, Kevin Gimpel, Piyush Sharma, Radu Soricut,”ALBERT: A Lite BERT for Self-supervised Learning of Language Representations”,[ONLINE], https://arxiv.org/abs/1909.11942
〔参考文献17〕
Wei Wang, Bin Bi, Ming Yan, Chen Wu, Zuyi Bao, Jiangnan Xia, Liwei Peng, Luo Si、”StructBERT: Incorporating Language Structures into Pre-training for Deep Language Understanding”, [ONLINE], https://arxiv.org/abs/1908.04577
今回開示された実施形態は単に例示であって、この発明が上記した実施形態のみに制限されるわけではない。この発明の範囲は、発明の詳細な説明の記載を参酌した上で、請求の範囲の各請求項によって示され、そこに記載された文言と均等の意味及び範囲内での全ての変更を含む。
【符号の説明】
【0142】
50、190、760 質問
52 回答パッセージ
60、192 背景知識
70、72、74 矢印
90 回答特定用テキスト分類器
100、340 入力
102 BERT
104 KIトランスフォーマ
106 出力
108 ラベル
110 開始/終了位置
112 ベクトル変換部
114 BKRG
116 背景知識表現のベクトル群
130、132、134 KIトランスフォーマ層
150、154、158 BKRG層
152、156 更新部
180 GAN
194 本物表現ジェネレータ
196 本物表現
198 ノイズ
200 偽物表現ジェネレータ
202 偽物表現
204 分別器
220、224 単語埋め込みベクトル変換部
222 質問の単語埋め込みベクトル列
226 ノイズの単語埋め込みベクトル列
228 アテンション加算部
230 アテンション付き単語埋め込みベクトル
232 CNN
240 BKRG訓練システム
250 インターネット
252 因果関係BKRG訓練部
254 道具・目的関係BKRG訓練部
256 因果関係BKRG
258 道具・目的関係BKRG
270 因果関係抽出部
272 因果関係記憶装置
274 因果関係学習データ生成部
276 因果関係学習データ記憶装置
278 因果関係BKRG訓練部
280 道具・目的関係抽出部
282 道具・目的関係記憶装置
284 道具・目的関係学習データ生成部
286 道具・目的関係学習データ記憶装置
288 道具・目的関係BKRG訓練部
436、476 エンコーダサブネットワーク
440、492 第1層サブネットワーク
442、494 第2層サブネットワーク
450、510 マルチヘッドアテンションサブネットワーク
452、462、512、522 ADD&Normサブネットワーク
460 全結合サブネットワーク
544、552 線形変換サブネットワーク
566 SoftMax層
520 フィードフォワードサブネットワーク
540 ヘッダ部
542 ベクトル連結部
550 ヘッダ
560、568 行列積サブネットワーク
562 除算回路
600 入力単語埋め込みベクトル列
602、604、606 BERTトランスフォーマ層
608 単語列
750 タスク
762 検索
764 パッセージ
766 パラグラフ選択器
768 パラグラフの集合
770 パラグラフリーダ
772 回答候補の集合
774 回答
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22