JPWO2020174826A1 - 回答生成装置、回答学習装置、回答生成方法、及び回答生成プログラム - Google Patents

回答生成装置、回答学習装置、回答生成方法、及び回答生成プログラム Download PDF

Info

Publication number
JPWO2020174826A1
JPWO2020174826A1 JP2021501617A JP2021501617A JPWO2020174826A1 JP WO2020174826 A1 JPWO2020174826 A1 JP WO2020174826A1 JP 2021501617 A JP2021501617 A JP 2021501617A JP 2021501617 A JP2021501617 A JP 2021501617A JP WO2020174826 A1 JPWO2020174826 A1 JP WO2020174826A1
Authority
JP
Japan
Prior art keywords
answer
sentence
basis
unit
model
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2021501617A
Other languages
English (en)
Other versions
JP7120433B2 (ja
Inventor
光甫 西田
淳史 大塚
京介 西田
久子 浅野
準二 富田
いつみ 斉藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from JP2019032127A external-priority patent/JP2019220142A/ja
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Publication of JPWO2020174826A1 publication Critical patent/JPWO2020174826A1/ja
Application granted granted Critical
Publication of JP7120433B2 publication Critical patent/JP7120433B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/151Transformation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Biomedical Technology (AREA)
  • Computing Systems (AREA)
  • Molecular Biology (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Electrically Operated Instructional Devices (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

符号化部が、入力された、文章の分割単位である複数のスパンに分割された文章及び質問文に基づいて、入力文を入力文の意味を表すベクトル表現系列に変換するための予め学習された符号化モデルを用いて、前記スパン及び前記質問文の意味を表すベクトル表現系列に変換する。根拠抽出部が、前記ベクトル表現系列に基づいて、前記スパンが前記回答を抽出する根拠に適している度合いを示す根拠スコアを算出するための予め学習された抽出モデルを用いて、前記スパンの各々の根拠スコアを推定する。

Description

本開示は、回答生成装置、回答学習装置、回答生成方法、及び回答生成プログラムに係り、特に、質問文に対して極性で回答するための回答生成装置、回答学習装置、回答生成方法、及び回答生成プログラムに関する。
近年、機械が文章を読み解いて質問に答える機械読解技術(例えば、BiDAF(非特許文献1))が注目を集めている。機械読解の代表的なデータセットにはSQuAD(非特許文献2)が存在し、大規模な深層学習技術の適用が可能となっている。
SQuADは1つの質問に対して1段落の文章が紐づき、文章に書いてある回答をそのまま抽出して回答とする抽出型のタスクのためのデータセットである。
Minjoon Seo, Aniruddha Kembhavi, Ali Farhadi, Hananneh Hajishirzi, "BI-DIRECTIONAL ATTENTION FLOW FOR MACHINE COMPREHENSION", Published as a conference paper at ICLR, 2017. Pranav Rajpurkar, Jian Zhang, Konstantin Lopyrev, Percy Liang, "SQuAD: 100,000+ Questions for Machine Comprehension of Text", Computer Science Department Stanford University, 2016.
しかし、抽出型タスクのための手法では、テキストに書いていない形式で答えを出力することができない、という問題があった。具体的には、Yes又はNo等の極性で回答することができる質問に対して、その極性(Yes又はNo)で回答する、ということができない。このようなテキストに書いていない形式で答えを出力するためには、機械が文章の中から質問に関連する部分に注目するだけでなく、関連部分から質問に対する回答を判断する必要がある。
本開示は上記の点に鑑みてなされたものであり、極性で回答することができる質問に対して、精度よく、極性で回答することができる回答生成装置、回答生成方法、及び回答生成プログラムを提供することを目的とする。
また、本開示は上記の点に鑑みてなされたものであり、極性で回答することができる質問に対して、精度よく、極性で回答するためのモデルを学習することができる回答学習装置を提供することを目的とする。
本開示の第1態様は、回答生成装置であって、入力された、文章の分割単位である複数のスパンに分割された文章及び質問文に基づいて、入力文を入力文の意味を表すベクトル表現系列に変換するための予め学習された符号化モデルを用いて、前記スパン及び前記質問文の意味を表すベクトル表現系列に変換する符号化部と、前記ベクトル表現系列に基づいて、前記回答を抽出する根拠に適しているスパンを抽出する予め学習された抽出モデルを用いて、前記回答を抽出する根拠に適しているスパンである根拠情報を推定する根拠抽出部と、前記ベクトル表現系列と、前記根拠情報とに基づいて、前記文章における前記回答の根拠となる範囲である根拠範囲を抽出する予め学習された探索モデルを用いて、前記根拠範囲を推定する根拠探索部と、前記ベクトル表現系列と、前記根拠情報とに基づいて、前記文章における前記質問文に対する回答の正解である回答種別を判断する予め学習された判断モデルを用いて、前記質問文に対する回答種別を判断する判断部と、を備えて構成される。
本開示の第2態様は、回答生成装置であって、入力された、文章の分割単位である複数のスパンに分割された文章及び質問文に基づいて、入力文を入力文の意味を表すベクトル表現系列に変換するための予め学習された符号化モデルを用いて、前記スパン及び前記質問文の意味を表すベクトル表現系列に変換する符号化部と、前記ベクトル表現系列に基づいて、前記スパンが前記回答を抽出する根拠に適している度合いを示す根拠スコアを算出するための予め学習された抽出モデルを用いて、前記スパンの各々の根拠スコアを推定する根拠抽出部と、を備え、前記符号化モデル及び前記抽出モデルは、前記符号化モデルを用いて変換された前記ベクトル表現系列に基づいて、前記文章における前記回答の根拠となる範囲である根拠範囲を抽出する探索モデル、及び前記ベクトル表現系列に基づいて、前記文章における前記質問文に対する回答の正解である回答種別を判断する判断モデルを更に含む複数のモデルのマルチタスク学習により予め学習されたものである。
本開示の第3態様は、回答生成学習装置であって、文章の分割単位である複数のスパンに分割された文章と、質問文と、前記文章における前記質問文に対する回答の正解である回答種別と、前記文章における前記回答の根拠となる範囲である根拠範囲と、前記文章における前記回答の根拠となるスパンである根拠情報とを含む学習データの入力を受け付ける入力部と、複数のスパンに分割した前記文章と、前記質問文とを、入力文を入力文の意味を表すベクトル表現系列に変換するための符号化モデルを用いて、前記スパン及び前記質問文の意味を表すベクトル表現系列に変換する符号化部と、前記ベクトル表現系列に基づいて、前記根拠情報を抽出する抽出モデルを用いて、前記根拠情報を推定する根拠抽出部と、前記ベクトル表現系列と、前記学習データの前記根拠情報とに基づいて、前記根拠範囲を抽出する探索モデルを用いて、前記根拠範囲を推定する根拠探索部と、前記ベクトル表現系列と、前記学習データの前記根拠情報とに基づいて、前記質問文に対する回答種別を判断する判断モデルを用いて、前記質問文に対する回答種別を判断する判断部と、前記根拠抽出部により抽出された前記根拠情報が前記学習データの前記根拠情報と一致し、前記根拠探索部により推定された前記根拠範囲が前記学習データの前記根拠範囲と一致し、前記判断部により判断された前記回答種別が前記学習データの前記回答種別と一致するように、前記符号化モデル、前記抽出モデル、前記探索モデル、及び前記判断モデルのパラメータを学習するパラメータ学習部と、を備えて構成される。
本開示の第4態様は、回答生成方法であって、符号化部が、入力された、文章の分割単位である複数のスパンに分割された文章及び質問文に基づいて、入力文を入力文の意味を表すベクトル表現系列に変換するための予め学習された符号化モデルを用いて、前記スパン及び前記質問文の意味を表すベクトル表現系列に変換し、根拠抽出部が、前記ベクトル表現系列に基づいて、前記回答を抽出する根拠に適しているスパンを抽出する予め学習された抽出モデルを用いて、前記回答を抽出する根拠に適しているスパンである根拠情報を推定し、根拠探索部が、前記ベクトル表現系列と、前記根拠情報とに基づいて、前記文章における前記回答の根拠となる範囲である根拠範囲を抽出する予め学習された探索モデルを用いて、前記根拠範囲を推定し、判断部が、前記ベクトル表現系列と、前記根拠情報とに基づいて、前記文章における前記質問文に対する回答の正解である回答種別を判断する予め学習された判断モデルを用いて、前記質問文に対する回答種別を判断する。
本開示の第5態様は、回答生成方法であって、符号化部が、入力された、文章の分割単位である複数のスパンに分割された文章及び質問文に基づいて、入力文を入力文の意味を表すベクトル表現系列に変換するための予め学習された符号化モデルを用いて、前記スパン及び前記質問文の意味を表すベクトル表現系列に変換し、根拠抽出部が、前記ベクトル表現系列に基づいて、前記スパンが前記回答を抽出する根拠に適している度合いを示す根拠スコアを算出するための予め学習された抽出モデルを用いて、前記スパンの各々の根拠スコアを推定する回答生成方法であって、前記符号化モデル及び前記抽出モデルは、前記符号化モデルを用いて変換された前記ベクトル表現系列に基づいて、前記文章における前記回答の根拠となる範囲である根拠範囲を抽出する探索モデル、及び前記ベクトル表現系列に基づいて、前記文章における前記質問文に対する回答の正解である回答種別を判断する判断モデルを更に含む複数のモデルのマルチタスク学習により予め学習されたものである。
本開示の第6態様は、回答生成プログラムであって、入力された、文章の分割単位である複数のスパンに分割された文章及び質問文に基づいて、入力文を入力文の意味を表すベクトル表現系列に変換するための予め学習された符号化モデルを用いて、前記スパン及び前記質問文の意味を表すベクトル表現系列に変換し、前記ベクトル表現系列に基づいて、前記回答を抽出する根拠に適しているスパンを抽出する予め学習された抽出モデルを用いて、前記回答を抽出する根拠に適しているスパンである根拠情報を推定し、前記ベクトル表現系列と、前記根拠情報とに基づいて、前記文章における前記回答の根拠となる範囲である根拠範囲を抽出する予め学習された探索モデルを用いて、前記根拠範囲を推定し、前記ベクトル表現系列と、前記根拠情報とに基づいて、前記文章における前記質問文に対する回答の正解である回答種別を判断する予め学習された判断モデルを用いて、前記質問文に対する回答種別を判断する処理をコンピュータに実行させるための回答生成プログラムである。
本開示の第7態様は、回答生成プログラムであって、入力された、文章の分割単位である複数のスパンに分割された文章及び質問文に基づいて、入力文を入力文の意味を表すベクトル表現系列に変換するための予め学習された符号化モデルを用いて、前記スパン及び前記質問文の意味を表すベクトル表現系列に変換し、前記ベクトル表現系列に基づいて、前記スパンが前記回答を抽出する根拠に適している度合いを示す根拠スコアを算出するための予め学習された抽出モデルを用いて、前記スパンの各々の根拠スコアを推定する
処理をコンピュータに実行させるための回答生成プログラムであって、前記符号化モデル及び前記抽出モデルは、前記符号化モデルを用いて変換された前記ベクトル表現系列に基づいて、前記文章における前記回答の根拠となる範囲である根拠範囲を抽出する探索モデル、及び前記ベクトル表現系列に基づいて、前記文章における前記質問文に対する回答の正解である回答種別を判断する判断モデルを更に含む複数のモデルのマルチタスク学習により予め学習されたものである。
本開示の回答生成装置、回答生成方法、及びプログラムによれば、極性で回答することができる質問に対して、精度よく、極性で回答することができる。
また、本開示の回答学習装置によれば、極性で回答することができる質問に対して、精度よく、極性で回答するためのモデルを学習することができる。
第1の実施形態の形態に係る回答学習装置の構成を示す機能ブロック図である。 第1の実施形態に係る回答学習装置の回答学習処理ルーチンを示すフローチャートである。 第1の実施形態に係る回答生成装置の構成を示す機能ブロック図である。 第1の実施形態に係る回答生成装置の回答生成処理ルーチンを示すフローチャートである。 第2の実施形態に係る回答学習装置の構成を示す機能ブロック図である。 第2の実施形態に係る回答学習装置の回答学習処理ルーチンを示すフローチャートである。 第2の実施形態に係る回答学習装置の根拠情報抽出処理ルーチンを示すフローチャートである。 第2の実施形態に係る回答生成装置の構成を示す機能ブロック図である。 第2の実施形態に係る回答生成装置の回答生成処理ルーチンを示すフローチャートである。 第2の実施形態に係る回答生成装置のベースラインモデルの例を示す図である。 第2の実施形態に係る根拠抽出部の抽出モデルの構成例を示す図である。 第3の実施形態に係る回答学習装置の構成を示す機能ブロック図である。 第3の実施形態に係る回答生成装置の構成を示す機能ブロック図である。
以下、本開示の実施形態について図面を用いて説明する。
<第1の実施形態に係る回答学習装置の概要>
第1の実施形態は、入力された質問に対し、テキストに書いていない形式で答えを出力する新しいタスク設定として、「Yes又はNo等の極性で回答することができる質問に対してYes又はNo等の極性で回答する」タスクを提案する。本実施形態では、回答の極性がYes又はNoである場合を例に説明する。このYes又はNoで回答するタスクは、既存研究の存在しない全く新しいタスクである。
機械読解の代表的なデータセットには、SQuAD(非特許文献2)の他にMS−MARCO(参考文献1)が存在する。MS−MARCOは1つの質問に10近くの段落が紐づき、その段落群から人間が答えを生成したデータセットである。このような、質問に対して、文章に書かれていない形式で回答を出力するタスクを生成型タスクという。
[参考文献1]Tri Nguyen, Mir Rosenberg, Xia Song, Jianfeng Gao, Saurabh Tiwary, Rangan Majumder, Li Deng, ”MS MARCO: A Human Generated MAchine Reading COmprehension Dataset”, 2016.
抽出型・生成型の2種類のタスクが存在する一方で、既存の機械読解技術の多くは抽出型のタスクを設定した技術が多い。
生成型のタスクは、「テキストに書いていない形式で答えを出力する」という特性から、抽出型のタスクに比べて難しい課題となっている。
生成型のタスクは、人間がゼロから生成した答えを正解とするデータセットを用いるので、機械も答えをゼロから作り出す必要がある。生成型のタスクの手法には、S−Net(参考文献2)が存在する。
[参考文献2]Chuanqi Tan, Furu Weiz, Nan Yang, Bowen Du, Weifeng Lv, Ming Zhouz, ”S-NET: FROM ANSWER EXTRACTION TO ANSWER GENERATION FOR MACHINE READING COMPREHENSION”, 2017.
一般的な質問応答において、Yes又はNoで回答すべき状況は多く現れる。しかし、参考文献2のような生成型の手法をこのような状況で適用した場合、回答としてYes又はNoを生成する可能性を含むものの、その可能性は極めて低く、正しく応答をすることができない。
本実施形態では、「Yes又はNoで回答することができる質問に対してYes又はNoで回答する」タスクに特化した手法を提案するため、Yes又はNoで回答すべき状況で正しく応答することが可能である。そのため、機械によって質問応答可能な範囲を大きく広げることができる。
本実施形態に係る回答学習装置は、単語系列である文章Pと質問文Qをベクトル系列に変換し、機械読解部が読解技術を用いて回答範囲スコア(s:s)に変換し、ベクトル系列と回答範囲のスコアから新しい技術である判断部を用いて判断スコアに変換し、回答範囲スコアと判断スコアを用いて学習する。
すなわち、Yes、Noの単なる2値判定(文章P全体を特徴量として、何も考えず機械学習で判定)を行うのではなく、機械読解技術によって、質問文Qに対する回答が書かれている場所を同定し、それを根拠としてYesかNoかの判定を行う。
この際、機械読解部と判定部とのニューラルネットワークは層を共有しているので、Yes/No判定に合わせた機械読解、読解に基づくYes/No判定の両側面から学習することが可能となる。
<第1の実施形態に係る回答学習装置の構成>
図1を参照して、第1の実施形態に係る回答学習装置10の構成について説明する。図1は、第1の実施形態に係る回答学習装置10の構成を示すブロック図である。
回答学習装置10は、CPUと、RAMと、後述する回答学習処理ルーチンを実行するためのプログラムを記憶したROMとを備えたコンピュータで構成され、機能的には次に示すように構成されている。図1に示すように、本実施形態に係る回答学習装置10は、入力部100と、解析部200と、パラメータ学習部300とを備えて構成される。
入力部100は、文章Pと、質問文Qと、文章Pにおける当該質問文に対する回答の極性を示す正解Yと、文章Pにおける回答の根拠となる範囲の始端D及び終端Eとを含む複数の学習データの入力を受け付ける。
具体的には、学習データは、テキストデータからなる文章P及び質問文Qと、回答がYes/Noのいずれかであるかを示す正解Yと、文章Pにおける回答の根拠となる範囲(D:E)で構成される。ここで、D、Eは文章P中の単語の位置番号で表現され、Dは回答の根拠となる範囲の開始位置の単語の位置番号、Eは回答の根拠となる範囲の終了位置の単語の位置番号である。
テキストデータである文章P及び質問文Qは、既存のトークナイザによってトークン系列として表現されている。なお、トークンとして任意の単位を用いることができるが、本実施形態では、トークンを単語と表記する。
単語系列で表現されている文章P及び質問文Qの長さを単語の数で定義し、文章Pの単語の数をL、質問文Qの単語の数をLとする。
なお、複数の学習データをミニバッチとしてミニバッチ毎にまとめて処理してもよいし、学習データ毎に処理されてもよい。
そして、入力部100は、受け付けた学習データのうち、文章Pと質問文Qとを、機械読解部210に、学習データをパラメータ学習部300に渡す。
解析部200は、機械読解部210と、判断部220とを備えて構成される。
機械読解部210は、文章P及び質問文Qに基づいて、文章Pにおける回答の根拠となる範囲D:Eを推定するための読解モデルを用いて、当該範囲の始端s及び終端sを推定する。
具体的には、機械読解部210は、単語符号化部211と、単語データベース(DB)212と、第1文脈符号化部213と、アテンション部214と、第2文脈符号化部215と、根拠探索部216とを備えて構成される。
単語符号化部211は、文章P及び質問文Qに基づいて、単語ベクトルの系列P及びQを生成する。
具体的には、単語符号化部211は、単語DB212から文章P及び質問文Qの各単語に対応するベクトルを抽出し、単語ベクトルの系列P及びQを生成する。
単語DB212に格納されるベクトルの次元をdとすると、単語ベクトルの系列PはL×d、単語ベクトルの系列QはL×dの大きさの行列である。
そして、単語符号化部211は、生成した単語ベクトルの系列P及びQを、第1文脈符号化部213に渡す。
単語DB212は、複数の単語ベクトルが格納されている。単語ベクトルは、単語を表す所定次元の実数値ベクトルの集合である。
具体的には、単語DB212は、予めニューラルネットワークにより学習された複数の単語ベクトル(word embedding)を用いる。これには例えばword2vecやGloVeのような、既存のものを用いてもよい。単語ベクトルには、既存の複数の単語ベクトルから抽出される単語ベクトルに、新しく学習した単語ベクトルを繋げることができる。なお、単語の文字情報を符号化する技術(参考文献3)等、任意の単語embedding技術が使用可能である。単語ベクトルは、誤差逆伝播法によって計算できる勾配から学習することも可能である。
[参考文献3]Yoon Kim, Yacine Jernite, David Sontag, Alexander M. Rush, ”Character-Aware Neural Language Models”, arXiv:1508.06615, 2016.
第1文脈符号化部213は、単語符号化部211により生成された単語ベクトルの系列P及びQを、ニューラルネットワークを用いてベクトルの系列P及びQにそれぞれ変換する。
具体的には、第1文脈符号化部213は、単語ベクトルの系列P及びQを、RNNによってベクトルの系列P及びQにする。RNNの構造には、LSTM等の既存技術を用いることができる。
本実施形態では、第1文脈符号化部213は、ベクトルの系列を順方向に処理するRNNと、逆方向に処理するRNNとの2種類のRNNを組み合わせた双方向RNNを用いる。双方向RNNの出力するベクトルの次元をdとすると、第1文脈符号化部213が変換するベクトルの系列PはL×d、ベクトルの系列QはL×dの大きさの行列となる。
そして、第1文脈符号化部213は、変換したベクトルの系列P及びQを、アテンション部214に、ベクトルの系列Qを、入力変換部221にそれぞれ渡す。
アテンション部214は、ニューラルネットワークを用いて、ベクトルの系列P及びQに基づいて、文章P及び質問文Qのアテンションを表すベクトルの系列である読解行列Bを生成する。
具体的には、アテンション部214は、まず、ベクトルの系列P及びQから、アテンション行列
Figure 2020174826

を計算する。アテンション行列Aは、例えば、下記式(1)を用いることができる。
Figure 2020174826
上記式(1)において、行列の添え字で成分を表し、”:”は全体を表す。例えば、Ai:は、アテンション行列Aの第i行全体を表す。また、上記式(1)において、”○”は要素積であり、”,”はベクトル・行列を縦方向に結合する演算子である。wは、モデルの学習可能なパラメータであり、
Figure 2020174826

である。
アテンション部214は、アテンション行列Aを基に、文章Pから質問文Q方向へのアテンションベクトル
Figure 2020174826

、質問文Qから文章P方向へのアテンションベクトル
Figure 2020174826

を計算する。
ここで、アテンションベクトル
Figure 2020174826

は、下記式(2)で表すことができる。
Figure 2020174826
softmaxは、ソフトマックス関数であり、
Figure 2020174826

である。
また、アテンションベクトル
Figure 2020174826

は、下記式(3)で表すことができる。
Figure 2020174826
ここで、
Figure 2020174826

は、L次元のベクトルであり、そのi番目の要素(1≦i≦L)は、アテンション行列Aのi番目のベクトルの最大値(j方向のmax値)である。softmaxは、i方向にsoftmaxを用いるという意味である。
βは、アテンション行列Aにmax関数を用いることにより、長さがLのベクトルとなり、式(3)において、βの各成分を重みとしてPの各行の重みの和を取ることにより、
Figure 2020174826

は長さdのベクトルとなる。
また、
Figure 2020174826

をL回繰り返し計算して縦に並べた行列が、
Figure 2020174826

となる。
アテンション部214は、ベクトルの系列P、アテンションベクトル
Figure 2020174826

、及びアテンションベクトル
Figure 2020174826

に基づいて、アテンションの結果を表現する長さLの読解行列Bを求める。例えば、読解行列
Figure 2020174826

である。ただし、”,”は、ベクトル・行列を横に結合する演算子である。
そして、アテンション部214は、読解行列Bを、入力変換部221及び第2文脈符号化部215に渡す。
第2文脈符号化部215は、アテンション部214により生成された読解行列Bを、ニューラルネットワークを用いてベクトルの系列である読解行列Mに変換する。
具体的には、第2文脈符号化部215は、読解行列Bを、RNNによって読解行列Mにする。RNNの構造には、第1文脈符号化部213と同様に、LSTM等の既存技術を用いることができる。
第2文脈符号化部215のRNNが出力する単語ベクトルの次元をdとすると、読解行列
Figure 2020174826

となる。
そして、第2文脈符号化部215は、変換した読解行列Mを、入力変換部221及び根拠探索部216に渡す。
根拠探索部216は、読解行列Mに基づいて、文章Pにおける回答の根拠となる範囲D:Eを推定するための読解モデルを用いて、当該範囲の始端s及び終端sを推定する。
具体的には、根拠探索部216は、回答の根拠となる範囲の始端sを推定するための始端用RNN及び終端sを推定するための終端用RNNの2つのニューラルネットワークによって構成される。
根拠探索部216は、まず、読解行列Mを、始端用RNNに入力してベクトルの系列Mを得る。
根拠探索部216は、回答の根拠となる範囲の始端sを、下記式(4)を用いて求める。
Figure 2020174826
ここで、始端sは、回答の根拠となる範囲の始端に関するスコアであり、ベクトルで表される。すなわち、ベクトルの各次元に対応する単語が回答範囲の始端になる確率(スコア)を表す。
同様に、読解行列Mを、終端用RNNに入力して単語ベクトルMを得る。
根拠探索部216は、回答の根拠となる範囲の終端sを、下記式(5)を用いて求める。
Figure 2020174826
ここで、終端sは、回答の根拠となる範囲の終端に関するスコアであり、ベクトルで表される。すなわち、ベクトルの各次元に対応する単語が回答範囲の終端になる確率(スコア)を表す。
推定した始端s及び終端sをまとめて回答範囲スコアと呼ぶ。なお、上記式(4)及び式(5)において、w及びwは、式(4)及び式(5)で表される読解モデルのパラメータであり、パラメータ学習部300により更新される。
そして、根拠探索部216は、推定した回答範囲スコアを、入力変換部221及びパラメータ学習部300に渡す。
判断部220は、機械読解部210の処理によって得られる情報に基づいて、質問文Qに対する回答の極性が正か否かを判断する判断モデルを用いて、質問文Qに対する回答の極性を判断する。
具体的には、判断部220は、入力変換部221と、スコア計算部222とを備えて構成される。
入力変換部221は、機械読解部210により文章Pを符号化した結果と、機械読解部210により質問文Qを符号化した結果とに基づいて、ベクトルの系列P及びQを生成する。
具体的には、入力変換部221は、まず、機械読解部210の処理によって得られる情報の入力を受け付ける。
入力を受け付ける情報は、4種類に分類することができる。すなわち、(1)文章Pの符号化結果であり、かつ、質問文Qを考慮した長さLのベクトルの系列(例えば、読解行列B又はM)、(2)質問文Qの符号化結果である長さLのベクトル系列(例えば、ベクトルの系列Q)、(3)回答範囲に関する情報である長さLのベクトル(例えば、推定した始端sと終端s)、(4)文章Pと質問文Qとの意味的マッチング結果である大きさL×Lの行列(例えば、アテンション行列A)の4種類を受け付ける。
ここで、受け付ける情報は、必ずしも4種類全てを受け付ける必要はなく、最低限の構成として(1)の1種類(読解行列B又はM)があれば本実施形態の目的を達することができる。(2)、(3)及び(4)は、いずれかのみ、あるいは複数を追加として受け付けても良い。本実施形態では、単純な形式として(1)読解行列B、及び(2)ベクトルの系列Qを受け付ける場合を例に説明する。
入力変換部221は、受け付けた読解行列B及びベクトルの系列Qに基づいて、長さLのベクトルの系列
Figure 2020174826

、長さLのベクトルの系列
Figure 2020174826

を計算する。
ベクトルの系列P及びQの計算方法として、任意のニューラルネットワークを用いることができる。例えば、下記式(6)及び式(7)を用いることができる。
Figure 2020174826
なお、dの次元数は、任意に設定することができる。式(6)及び式(7)を用いた場合、Qとの次元を合わせるため、d=dであり、式(6)におけるRNNの出力の次元もd=dとなる。
そして、入力変換部221は、生成したベクトルの系列P及びQを、スコア計算部222に渡す。
スコア計算部222は、質問文Qに対する回答の極性が正か否かを判断する判断モデルを用いて、質問文Qに対する回答の極性を判断する。
具体的には、スコア計算部222は、ベクトルの系列P及びQに基づいて、任意の文ペア分類タスクのフレームワークを用いて、質問文Qに対する回答がYesかNoかに分類するために用いる判断スコアk(0から1の実数)を求める。
例えば、文ペア分類タスクの1つである含意認識の代表的なモデルであるESIM(参考文献4)のdecoder LSTM後のフレームワークを分類問題に用いることができる。
[参考文献4]Qian Chen, Xiaodan Zhu, Zhenhua Ling, Si Wei, Hui Jiang, Diana Inkpen, ”Enhanced LSTM for Natural Language Inference”, arXiv:1609.06038, 2017.
この場合、ベクトルの系列P及びQをaverage pooling(列方向の平均を取る操作)、又はmax pooling(列方向の最大値を取る操作)をして、ベクトル
Figure 2020174826

を得る。
得られたベクトルP、Q、P及びQを結合して、4d次元のベクトルJを得る。ベクトルJを多層パーセプトロンによって、実数(1次元のベクトル)にし、シグモイド変換をして判断スコアkを得る。
なお、Yes/Noの分類問題でなく、Yes、No、又は不明の3つに分類するように構成してもよい。この場合、ベクトルJを多層パーセプトロンによって3次元のベクトルに変換した後で、ソフトマックス変換したものを判断スコアkとしてもよい。
そして、スコア計算部222は、判断スコアkを、パラメータ学習部300に渡す。
パラメータ学習部300は、学習データに含まれる正解Yと、判断部220により判断された結果とが一致し、学習データに含まれる始端D及び終端Eと、機械読解部210により推定された始端s及び終端sとが一致するように、読解モデル及び判断モデルのパラメータを学習する。
具体的には、パラメータ学習部300は、機械読解部210で用いる読解モデルについての目的関数Lと、判断部220で用いる判断モデルについての目的関数Lの線形和を、最適化問題の目的関数とする(下記式(8))。
Figure 2020174826
ここで、λはモデルのパラメータであり、学習器によって学習可能である。λの値を事前に指定する場合、1や1/2等、学習が進むように適当な値を定める。
目的関数Lは、任意の機械読解技術の目的関数を用いることができる。例えば、非特許文献1では、下記式(9)で表されるクロスエントロピー関数を提案している。
Figure 2020174826
上記式(9)において、D及びEは、それぞれ真の始端D及び終端Eの位置を表し、sd,Dは、ベクトルsにおけるD番目の要素の値を、se,Eは、ベクトルsにおけるE番目の要素の値を表す。
目的関数Lも任意の目的関数を用いることができる。例えば、クロスエントロピー関数を用いた場合、下記式(10)となる。
Figure 2020174826
上記式(10)において、Yは、真の回答の極性を示す正解Yであり、正解YがYesである場合、スコアkYes=k、正解YがNoである場合、スコアkNo=1−kである。つまり、正解YがYesの場合L=log(k)、正解YがNoの場合L=log(1−k)となる。
そして、パラメータ学習部300は、上記式(8)で表される目的関数の勾配を、誤差逆伝播勾配法を用いて計算し、任意の最適化手法を用いてパラメータを更新する。
<第1の実施形態に係る回答学習装置の作用>
図2は、第1の実施形態に係る回答学習処理ルーチンを示すフローチャートである。また、以下では本実施形態に係る回答学習装置が、ミニバッチを用いて学習する場合について説明するが、一般的なニューラルネットワークの学習方法を用いてもよい。なお、簡便のため、ミニバッチのサイズを1とする。
入力部100に複数の学習データが入力されると、回答学習装置10において、図2に示す回答学習処理ルーチンが実行される。
まず、ステップS100において、入力部100は、文章Pと、質問文Qと、文章Pにおける当該質問文に対する回答の極性を示す正解Yと、文章Pにおける回答の根拠となる範囲の始端D及び終端Eとを含む複数の学習データの入力を受け付ける。
ステップS110において、入力部100は、ステップS100により受け付けた学習データを、ミニバッチに分割する。ミニバッチとは、複数の学習データをランダムに分割した学習データε個の集合である。εは1以上の自然数である。
ステップS120において、単語符号化部211は、1番目のミニバッチを選択する。
ステップS130において、単語符号化部211は、選択されているミニバッチに含まれる文章P及び質問文Qに基づいて、単語ベクトルの系列P及びQを生成する。
ステップS140において、第1文脈符号化部213は、上記ステップS130により生成された単語ベクトルの系列P及びQを、ニューラルネットワークを用いてベクトルの系列P及びQにそれぞれ変換する。
ステップS150において、アテンション部214は、ニューラルネットワークを用いて、ベクトルの系列P及びQに基づいて、文章P及び質問文Qのアテンションを表す読解行列Bを生成する。
ステップS160において、第2文脈符号化部215は、上記ステップS150により生成された読解行列Bを、ニューラルネットワークを用いて読解行列Mに変換する。
ステップS170において、根拠探索部216は、読解行列Mに基づいて、文章Pにおける回答の根拠となる範囲D:Eを推定するための読解モデルを用いて、当該範囲の始端s及び終端sを推定する。
ステップS180において、入力変換部221は、機械読解部210により文章Pを符号化した結果と、機械読解部210により質問文Qを符号化した結果とに基づいて、ベクトルの系列P及びQを生成する。
ステップS190において、スコア計算部222は、ベクトルの系列P及びQに基づいて、質問文Qに対する回答の極性が正か否かを判断する判断モデルを用いて、質問文Qに対する回答の極性を判断する。
ステップS200において、パラメータ学習部300は、学習データに含まれる正解Yと、判断部220により判断された結果とが一致し、学習データに含まれる始端D及び終端Eと、機械読解部210により推定された始端s及び終端sとが一致するように、読解モデル及び判断モデルのパラメータを更新する。
ステップS210において、パラメータ学習部300は、全てのミニバッチについて処理を行ったか否かを判定する。
全てのミニバッチについて処理を行っていない場合の場合(ステップS210のNO)、ステップS220において、次のミニバッチを選択し、ステップS130に戻る
一方、全てのミニバッチについて処理を行っている場合の場合(ステップS210のYES)、ステップS230において、パラメータ学習部300は、学習が収束したか否かについての収束判定を行う。
学習が収束していない場合(ステップS230のNO)、ステップS110に戻り、再度ステップS110〜ステップS230までの処理を行う。
一方、学習が収束している場合(ステップS230のYES)、ステップS240において、パラメータ学習部300は、学習したパラメータを、メモリ(図示省略)に格納する。
なお、ミニバッチのサイズを2以上とする場合、上記ステップS120の後に、1番目の文章P及び質問Qを選択するステップと、上記ステップS210の前に、ミニバッチ内の全ての文章P及び質問Qについて処理を行ったか否かを判定し、当該判定結果が否定的な場合に、次の文章P及び質問Qを選択して上記ステップS130に戻り、当該判定が肯定的な場合に上記ステップS210に進むステップとを追加する構成とすればよい。
以上説明したように、本実施形態に係る回答学習装置によれば、文章と、質問文と、当該文章における当該質問文に対する回答の極性を示す正解と、当該文章における回答の根拠となる範囲の始端及び終端とを含む学習データの入力を受け付け、当該文章及び当該質問文に基づいて、当該範囲を推定するための読解モデルを用いて、当該範囲の始端及び終端を推定する処理によって得られる情報に基づいて、質問文に対する回答の極性が正か否かを判断する判断モデルを用いて、当該質問文に対する回答の極性を判断し、学習データに含まれる正解と、判断された結果とが一致し、学習データに含まれる始端及び終端と、推定された始端及び終端とが一致するように、読解モデル及び判断モデルのパラメータを学習することにより、極性で回答することができる質問に対して、精度よく、極性で回答するためのモデルを学習することができる。
<第1の実施形態に係る回答生成装置の構成>
図3を参照して、第1の実施形態に係る回答生成装置20の構成について説明する。図3は、第1の実施形態に係る回答生成装置20の構成を示すブロック図である。なお、上述の回答学習装置10と同様の構成については、同一の符号を付して詳細な説明は省略する。
回答生成装置20は、CPUと、RAMと、後述する回答生成処理ルーチンを実行するためのプログラムを記憶したROMとを備えたコンピュータで構成され、機能的には次に示すように構成されている。図3に示すように、本実施形態に係る回答生成装置20は、入力部400と、解析部200と、出力部500とを備えて構成される。なお、解析部200は、回答学習装置10により学習されたパラメータを用いる。
入力部400は、文章Pと、質問文Qとの入力を受け付ける。
そして、入力部400は、受け付けた文章P及び質問文Qを、機械読解部210に渡す。
出力部500は、機械読解部210の根拠探索部216により得られた回答範囲スコアを回答の根拠とし、判断部220のスコア計算部222により得られた判断スコアkを回答として出力する。
ここで、出力部500は、判断スコアkのYesのスコア、Noのスコアのうち、スコアが大きい判断結果を回答として出力する、閾値を超えたスコアの判断結果だけを出力するといった任意の出力形式を選択することができる。
また、出力部500は、回答範囲スコアについても同様に、任意の出力形式を選択することができる。回答範囲スコアには始端sと終端sとが含まれるので、出力の計算方法として様々な手法を用いることが考えられる。例えば、非特許文献1のように、始端sが終端sよりも前になる制約下で、始端sと終端sとの積が最大になる範囲の単語列を出力する、といった手法を用いることができる。
<第1の実施形態に係る回答生成装置の作用>
図4は、第1の実施形態に係る回答生成処理ルーチンを示すフローチャートである。なお、第1の実施形態に係る回答学習処理ルーチンと同様の処理については、同一の符号を付して詳細な説明は省略する。
入力部400に文章Pと、質問文Qとが入力されると、回答生成装置20において、図4に示す回答生成処理ルーチンが実行される。
ステップS300において、入力部400は、文章Pと、質問文Qとの入力を受け付ける。
ステップS400において、出力部500は、上記ステップS170により得られた回答範囲スコアを所定の方法により回答の根拠とし、上記ステップS190により得られた判断スコアkを所定の方法により回答として生成する。
ステップS430において、出力部500は、上記ステップS400により得られた全ての回答の根拠及び回答を出力する。
以上説明したように、本実施形態に係る回答生成装置によれば、入力された文章及び質問文に基づいて、当該文章における当該質問文に対する回答の根拠となる範囲を推定するための読解モデルを用いて、当該範囲の始端及び終端を推定する処理によって得られる情報に基づいて、質問文に対する回答の極性が正か否かを判断するための予め学習された判断モデルを用いて、当該質問文に対する回答の極性を判断することにより、極性で回答することができる質問に対して、精度よく、極性で回答することができる。
<第2の実施形態に係る回答学習装置の概要>
人間が自然言語を理解して回答する場合は、自身のもつ経験、常識、及び世界知識を踏まえて、理解した質問に対して回答を推論することができる。例えば、人間が文章を読んでその文章に対する質問に回答をする場合には、文章からだけでなく、自分のもつ経験等から回答を見つけている。しかし、AIの場合は質問の対象となっている文章に含まれている情報だけから回答を推論する必要がある。
特にYes/Noで答えるべき質問は、質問に答えるために必要な知識が一か所に記載されているとは限らない。例えば、必要な知識が文章内の複数箇所に書いてある場合や世界知識から補わなければならない場合がある。しかし、文章内の複数箇所にある記述や世界知識を組み合わせて考えるためには、テキストの長期の依存関係を理解する必要がある。そのため、Yes/Noの質問応答を精度よく行うことは難しい。
そこで、第2の実施形態では、「Yes又はNoで回答することができる質問に対してYes又はNoで回答する」タスクを精度よく行うために、必要な知識が文章内の複数箇所に書いてある質問や必要な知識を世界知識から補わなければならない質問に注目する。本実施形態では、第1の実施形態と同様に、回答の極性がYes又はNoである場合を例に説明する。
文章内の複数箇所にある記述を組み合わせて考える質問応答は、ニューラルネットワークが苦手とする長期の依存関係の理解を要求するため、難しい質問応答である。本実施形態では、回答に必要な文だけを根拠文として抽出することにより、位置が離れた根拠文同士のマッチングを可能にし、長期の依存関係を理解することを実現する。
この根拠文の抽出によって、ユーザーはYes/Noの回答だけでなくその根拠となる文を過不足なく確認することが可能となり、解釈性を向上することもできる。
また、必要な知識を世界知識から補う必要がある質問応答に対しては、必要な知識が書いてあるテキストをWebでの検索等によって得て、質問対象の文章に繋げた新しい文章に対して質問応答を行うことで実現する。通常、単純に文章を繋げるだけでは、元の文章中の回答に必要な部分と新しく繋げたテキストが離れた箇所にあるためマッチングを取ることが難しい。しかし、本実施形態においては根拠文としてそれらを抽出することによって、根拠文が離れた箇所にある場合であってもマッチングが可能となる。
<第2の実施形態に係る回答学習装置の構成>
図5を参照して、第2の実施形態に係る回答学習装置30の構成について説明する。図5は、第2の実施形態に係る回答学習装置30の構成を示すブロック図である。なお、上述の第1の実施形態に係る回答学習装置10と同様の構成については、同一の符号を付して詳細な説明は省略する。
回答学習装置30は、CPUと、RAMと、後述する回答学習処理ルーチンを実行するためのプログラムを記憶したROMとを備えたコンピュータで構成され、機能的には次に示すように構成されている。図5に示すように、本実施形態に係る回答学習装置30は、入力部100と、解析部600と、パラメータ学習部700とを備えて構成される。
解析部600は、機械読解部610と、判断部220とを備えて構成される。機械読解部610は、文章P及び質問文Qに基づいて、文章Pにおける回答の根拠となる範囲D:Eを推定するための読解モデルを用いて、当該範囲の始端s及び終端sを推定する。
具体的には、機械読解部210は、単語符号化部211と、単語データベース(DB)212と、第1文脈符号化部213と、アテンション部214と、第2文脈符号化部215と、根拠抽出部617と、根拠探索部216とを備えて構成される。
根拠抽出部617は、機械読解部610の処理によって得られる情報に基づいて、質問文に対する回答の根拠となる情報である根拠情報を抽出する抽出モデルを用いて、質問文Qに対する回答の根拠情報を抽出する。
具体的には、根拠抽出部617は、まず、第2文脈符号化部215により変換された読解行列M(変換前の読解行列Bでもよい)を入力とし、ニューラルネットワークを用いて文章Pの各文の意味を表すベクトルの系列Hを抽出する。根拠抽出部617は、例えば、ニューラルネットワークとして、Undirectional−RNNを用いることができる。
次に、根拠抽出部617は、根拠文を1つ抽出する操作を1時刻と定義し、状態zを抽出モデルのRNNによって生成する。すなわち、根拠抽出部617は、時刻t−1に抽出された根拠文に対応するベクトルの系列Hの要素
Figure 2020174826

を抽出モデルのRNNに入力することにより、状態zを生成する。ただし、st−1は時刻t−1に抽出された根拠文の添字である。また、時刻tまでに抽出された文sの集合をSとする。
根拠抽出部617は、状態zと、質問文の各単語に対するベクトルyからなるベクトルの系列Y’に基づいて、抽出モデルにより、時刻tにおける重要性を考慮した質問文ベクトルであるglimpseベクトルe(下記式(13))を、質問文Qに対するglimpse操作(参考文献5)を行うことで生成する。このように、抽出モデルでは質問文Qに対するglimpse操作を行うことで、根拠文の抽出結果が質問全体に対応する内容を包含することができる。
[参考文献5]O. Vinyals, S. Bengio and M. Kudlur, “Order matters: Sequence to sequence for sets”, ICLR (2016).
Figure 2020174826
抽出モデルのRNNの初期値はベクトルの系列Hをaffine変換したベクトル系列をmaxpoolingしたベクトルとする。
根拠抽出部617は、状態zと、glimpseベクトルeと、ベクトルの系列Hとに基づいて、抽出モデルにより、時刻tにおいて下記式(14)で表される確率分布に従って第δ文を選び、文s=δを、時刻tに抽出された根拠文とする。
Figure 2020174826
そして、根拠抽出部617は、抽出した文sの集合Sを根拠情報として、根拠探索部216及びパラメータ学習部700に渡す。
根拠探索部216は、上記第1の実施形態と同様に、文章Pにおける回答の根拠となる範囲D:Eを推定するための読解モデルを用いて、当該範囲の始端s及び終端sを推定する。
具体的には、上記第1の実施形態で説明した読解行列
Figure 2020174826

を利用すると共に、文の意味を表すベクトルの系列Hを利用する。
また、ベクトルの系列
Figure 2020174826

は文レベルのベクトル系列であるため、以下のように、単語レベルのベクトル系列に変換する。
まず、単語のインデックスをi(i=1,…,L)、文のインデックスをj(j=1,…,m)とする。関数word_to_sentを、単語iが文jに含まれるときword_to_sent(i)=jで定める。新しい単語レベルのベクトル系列H’を、h’=h_word_to_sent(i)と定義することで、
Figure 2020174826

を定める。
そして、MとH’を縦に連結した行列を
Figure 2020174826

として、このM’を後段の処理におけるMの代わりに用いてもよい。なお、上記では、読解行列Mを利用する場合を例に説明したが、読解行列Bなど別の行列を利用してもよい。また、上記の根拠探索部216の説明で用いたiやjといった変数は、ここの説明に限るものである。
パラメータ学習部700は、学習データに含まれる正解Yと、判断部220により判断された結果とが一致し、学習データに含まれる始端D及び終端Eと、機械読解部610により推定された始端s及び終端sとが一致し、学習データに含まれる文章Pにおける正解の根拠情報と、根拠抽出部617により抽出された根拠情報とが一致するように、読解モデル、判断モデル及び抽出モデルのパラメータを学習する。
具体的には、文章Pと、質問Qと、YES、NO、及び抽出型の何れかである正解となる回答Y^、回答Yの正解となる根拠範囲である始端D^及び終端E^と、回答Yの正解となる根拠情報である根拠段落の集合S^とを1セットとし、学習データが、複数セット含むものとする。また、パラメータ学習部700は、機械読解部610で用いる読解モデルについての目的関数Lと、判断部220で用いる判断モデルについての目的関数Lと、根拠抽出部617で用いる抽出モデルについての目的関数Lとの線形和を、最適化問題の目的関数とする(下記式(15))。
Figure 2020174826
ここで、λ、λ、λはハイパーパラメータであり、1/3等の学習が進むように適当な値を定める。また、サンプルによって持つ教師データが異なる場合も、持たないデータに関する項のλを0とすることで一律に扱うことができる。例えば、根拠探索部216の出力に対応するデータがないサンプルに対しては、λ=0とする。
目的関数L及びLについては、第1の実施形態と同様である。目的関数Lsは、coverage正則化(参考文献6)を行った目的関数である。例えば、目的関数Lsは下記式(16)のような目的関数を用いることができる。
[参考文献6]A. See, P. J. Liu and C. D. Manning, “Get to the point: ummarization with pointer−generator networks”, ACL, 2017, pp.1073−1083.
Figure 2020174826
上記式(16)において、
Figure 2020174826

は、正解の根拠情報として与えられた根拠文の集合Sの中で時刻tの抽出確率P(δ;St−1)が最小の文sとし、cは、coverageベクトルであり、
Figure 2020174826

である。Tは終了時刻である。すなわち、t=Tが学習の終了条件となる。このcoverageにより、抽出結果を質問全体に対応する内容を包含させることが可能となる。ただし、抽出の終了条件を学習するために、抽出終了ベクトル
Figure 2020174826

を学習可能なパラメータとする。文の意味を表すベクトルの系列Hに抽出終了ベクトル
Figure 2020174826

を加え、文章Pの文数mを実際の文数+1とする。Tも真の根拠文の数+1とし、学習時は時刻T−1までに全ての根拠文を出力した後、時刻Tに抽出終了ベクトル
Figure 2020174826

を抽出するように学習を行う。テスト時は、抽出終了ベクトルを出力した時点で抽出を終了する。
そして、パラメータ学習部700は、上記式(16)で表される目的関数の勾配を、誤差逆伝播勾配法を用いて計算し、任意の最適化手法を用いて各パラメータを更新する。
<第2の実施形態に係る回答学習装置の作用>
図6は、第2の実施形態に係る回答学習処理ルーチンを示すフローチャートである。また、以下では本実施形態に係る回答学習装置が、ミニバッチを用いて学習する場合について説明するが、一般的なニューラルネットワークの学習方法を用いてもよい。なお、簡便のため、ミニバッチのサイズを1とする。なお、上述の第1の実施形態に係る回答学習処理ルーチンと同様の構成については、同一の符号を付して詳細な説明は省略する。
ステップS555において、根拠抽出部617は、根拠情報抽出処理を実行する。
ステップS600において、パラメータ学習部700は、学習データに含まれる正解Yと、判断部220により判断された結果とが一致し、学習データに含まれる始端D及び終端Eと、機械読解部210により推定された始端s及び終端sとが一致し、学習データに含まれる文章Pにおける回答の根拠情報と、根拠抽出部617により抽出された根拠情報とが一致するように、読解モデル、判断モデル及び抽出モデルのパラメータを学習する。
図7は、第2の実施形態に係る回答学習装置における根拠情報抽出処理ルーチンを示すフローチャートである。根拠抽出部617は、根拠情報抽出処理により、機械読解部610の処理によって得られる情報に基づいて、質問文に対する回答の根拠となる情報である根拠情報を抽出する抽出モデルを用いて、質問文Qに対する回答の根拠情報を抽出する。
ステップS500において、根拠抽出部617は、t=1とする。
ステップS510において、根拠抽出部617は、根拠文を1つ抽出する操作を1時刻と定義し、時刻tにおける状態zを抽出モデルのRNNによって生成する。
ステップS520において、根拠抽出部617は、時刻tにおける重要性を考慮した質問文ベクトルであるglimpseベクトルeを、質問文Qに対してglimpse操作を行うことにより生成する。
ステップS530において、根拠抽出部617は、時刻tにおいて上記式(14)で表される確率分布に従って第δ文を選び、文s=δとする。
ステップS540において、根拠抽出部617は、終了条件を満たしているか否かを判定する。
終了条件を満たしていない場合(上記ステップS540のNO)、根拠抽出部617は、ステップS550においてtに1を加算し、ステップS510に戻る。一方、終了条件を満たしている場合(上記ステップS540のYES)、根拠抽出部617は、リターンする。
以上説明したように、本実施形態に係る回答学習装置によれば、機械読解部の処理によって得られる情報に基づいて、質問文に対する回答の根拠となる情報である根拠情報を抽出する抽出モデルを用いて、質問文に対する回答の根拠情報を抽出し、学習データに含まれる文章における回答の根拠情報と、根拠抽出部により抽出された根拠情報とが一致するように、抽出モデルのパラメータを学習することにより、極性で回答することができる質問に対して、更に精度よく、極性で回答するためのモデルを学習することができる。
また、質問文に対する回答の根拠となる情報である根拠情報を抽出する抽出モデルと、根拠(回答)範囲を抽出する読解モデルと、回答を判断する判断モデルとのマルチタスク学習を行うことにより、根拠文が離れた個所にある場合でも、質問文とのマッチングを取ることを可能にする。ここで、マルチタスク学習とは、複数の異なるタスクを解く複数のモデルについて、当該複数のモデルの一部分を共有した状態で学習することをいう。本実施形態では、各符号化部のモデル(厳密には各符号化部のモデルのパラメータ)を共有し、共有した各符号化部による符号化結果を共通の入力とした抽出モデル、読解モデル、及び判断モデルの出力が正解となる情報に近付くよう、抽出モデル、読解モデル、判断モデル、及び符号化モデルのマルチタスク学習を行う。
<第2の実施形態に係る回答生成装置の構成>
図8を参照して、第2の実施形態に係る回答生成装置40の構成について説明する。図8は、第2の実施形態に係る回答生成装置40の構成を示すブロック図である。なお、上述の回答学習装置30と同様の構成については、同一の符号を付して詳細な説明は省略する。回答生成装置40は、CPUと、RAMと、後述する回答生成処理ルーチンを実行するためのプログラムを記憶したROMとを備えたコンピュータで構成され、機能的には次に示すように構成されている。図8に示すように、第2の実施形態に係る回答生成装置40は、入力部400と、解析部600と、出力部800とを備えて構成される。
出力部800は、判断部220により判断された回答の極性と、根拠抽出部617により抽出された根拠情報とを回答として出力する。
<第2の実施形態に係る回答生成装置の作用>
図9は、第2の実施形態に係る回答生成処理ルーチンを示すフローチャートである。なお、第1の実施形態に係る回答生成処理ルーチン及び第2の実施形態に係る回答学習処理ルーチンと同様の処理については、同一の符号を付して詳細な説明は省略する。
ステップS700において、出力部800は、上記ステップS400により得られた全ての回答の根拠及び回答、及び上記ステップS555により得られた根拠情報を出力する。
<第2の実施形態に係る回答生成装置の実施例>
次に、第2の実施形態に係る回答生成装置の実施例について説明する。本実施例では、回答生成装置の各部の構成として、図10に示した構成を用いる。具体的には、判断部220は、RNNと線形変換とを用いて構成され、Yes/No/抽出型の回答の何れかで答えるかを判断し、Yes/No/抽出型の回答の3値の何れかを出力とする。また、根拠探索部216は、RNNと線形変換との組を2つ用いて構成され、一方の組は回答の終点、他方の組は回答の始点を出力とする。根拠抽出部617は、RNNと抽出モデル617Aとを用いて構成される。第2文脈符号化部215は、RNNとセルフアテンションとを用いて構成され、アテンション部214は、双方向アテンションにより構成される。
第1文脈符号化部213は、2つのRNNを用いて構成され、単語符号化部211は、単語埋め込みと文字埋め込みとの組を2つ用いて構成される。
また、抽出モデル617Aの構成として、図11に示す構成を用いている。この構成は、参考文献7に提案されている抽出型文章要約モデルをベースとしている。
[参考文献7]Y.C. Chen and M. Bansal, “Fast abstractive summarization with reinforce−selected sentence rewriting”, ACL, 2018, pp.675−686.
参考文献7の手法は、要約元文章に注意しながら要約元文章中の文を抽出する手法であるが、本実施例では質問文Qに注意しながら文章P中の文を抽出する。抽出モデル617Aでは、質問文Qに対するglimpse操作を行うことで、抽出結果が質問全体に対応する内容を包含することを意図している。
<第2の実施形態に係る回答生成装置の実施例における実験結果>
次に、第2の実施形態に係る回答生成装置の実施例における実験結果について説明する。
<<実験設定>>
実験はGPUに、”NVIDIA Tesla P100(株式会社エルザジャパン製)”を4枚用いて行った。実装にはPytorchを用いた。Bi−RNNの出力の次元をd=300で統一した。dropoutのkeep ratioは0.8とした。バッチサイズを72、学習率を0.001とした。上記以外の設定はベースラインモデルと同じ設定である。抽出モデル617AはRNNにGRUを用いた、ベクトルの初期化を正規分布で、行列の初期化をxavier normal分布で行った。デコード時のbeam sizeを2とした。
また、ベースラインモデルとして、本実施例に係る回答生成装置の構成(図10)のうち、抽出モデル617Aをaffine変換とsigmoid関数により各文の根拠スコアを得るモデルに変更したモデルを用いた。
本実験では、回答タイプT・回答A・根拠文Sの予測精度を評価した。ここで、回答タイプTは、HotpotQAのタスク設定における「Yes・No・抽出」の3ラベルから構成される。回答、根拠文抽出ともに完全一致(EM)と部分一致を評価した。部分一致の指標は適合率と再現率の調和平均(F1)である。回答は、回答タイプTの一致で評価し、抽出の場合は回答Aの一致でも評価する。根拠文抽出の部分一致については抽出された文のidの真の根拠文idへの一致で測った。そのため、単語レベルでの部分一致は考慮されない。回答タイプに関して、「Yes・No」質問に限定したときの回答精度をYNと記した。また、回答と根拠の精度双方を考慮した指標としてjoint EM及びjoint F1(参考文献8)を用いる。
[参考文献8]Z. Yang, P. Qi, S. Zhang, Y. Bengio, W. W. Cohen, R. Salakhutdinov and C. D. Manning, “HotpotQA: A dataset for diverse, explainable multi−hop question answering”, EMNLP, 2018, pp.2369−2380.
本実験では、distractor設定とfullwiki設定との場合について行う。distractor設定は、大量のテキストを質問に関連する少量のテキストに絞ることが既存技術によって可能であるという仮定を置いた設定である。また、fullwiki設定は、TF−IDF類似度検索によって少量テキストへの絞り込みを行った設定である。
<<実験結果>>
テストデータにおける実験結果は、distractor設定の結果を表1に、fullwiki設定の結果を表2に示す。
Figure 2020174826
Figure 2020174826
distractor設定、fullwiki設定共に、本実施例はベースラインモデルを大きく上回り、state−of−the−artの精度を達成した。特に根拠文の完全一致はdistractor設定で37.5ポイント(+185%)、fullwiki設定で10.3ポイント(+268%)と大きく向上している。そのため、本実施例は根拠文を過不足なく抽出することに秀でた手法であると言える。開発データでのdistractor設定における実験結果を表3に示す。
Figure 2020174826
開発データでのベースラインモデルは我々の追実験によって学習されたため、精度がテストデータでの数値と大きく異なっている。これはハイパーパラメータの違いに起因する。まず、本実施例はベースラインモデルを根拠文抽出のEMで24.5ポイント上回っている。F1でも6.7ポイントの向上が見られる。さらに、回答でもEMで1.0ポイント、F1で1.4ポイントの上昇がある。特に「Yes・No」の判断精度については、5.6ポイント向上している。べースラインモデルと本実施例とでは、抽出モデル617A以外は全て同じモデルを用いている。それにも関わらず「Yes・No」の判断精度が向上していることは、抽出モデル617Aとのマルチタスク学習が下層のRNNを回答にも資する特徴量を獲得するように学習できると解釈できる。結果として、Joint指標でも精度が向上している。比較手法として、glimpse操作を用いずにRNNによる文抽出だけを行う手法を実験したが、全ての指標で本実施例が上回ることを確認した。
開発データでのfullwiki設定における実験結果を表4に示す。
Figure 2020174826
本実施例はベースラインモデルを根拠のEMで6.5ポイント上回っているが、F1ではベースラインモデルを下回っている。回答ではEMで0.9ポイント、F1で0.8ポイントの上昇がある。特に「Yes・No」の判断精度については、3.0ポイント向上している。そのため、やはり抽出モデル617Aによって下層のRNNの学習が進んでいると解釈できる。結果として、Joint指標でも精度が向上している。また、本実施例がglimpse操作を用いない手法と比較して全ての指標で上回っていることを確認した。
以上の結果から、少量の関連テキストの中から特に必要な文を検索することについては、distractor設定では部分一致で84.7%の精度を達成したこと、及び必要な文を使って「Yes・No」の判断精度を上げることについては、5.6ポイントの精度の向上が観察できた。
以上説明したように、本実施形態に係る回答生成装置によれば、機械読解部の処理によって得られる情報に基づいて、質問文に対する回答の根拠となる情報である根拠情報を抽出する抽出モデルを用いて、前記質問文に対する回答の根拠情報を抽出し、判断された回答の極性と、抽出された根拠情報とを回答として出力することにより、極性で回答することができる質問に対して、更に精度よく、極性で回答することができる。
また、回答学習装置では、根拠抽出部、根拠探索部、及び判断部のそれぞれのタスクに関してマルチタスク学習を行っているため、根拠情報を参考にした、根拠となる範囲の推定や判断スコアの計算が実現される。
<第3の実施形態に係る回答学習装置の概要>
上記第2の実施形態では、質問文に対する回答を出力するとき、回答の根拠として、根拠となる範囲と、文の集合である根拠情報を出力することで、回答結果をユーザーが解釈しやすい形にしていた。
この際、根拠情報に含まれるそれぞれの文が、回答を抽出する根拠としてどれぐらい適しているかを示す、根拠スコアを提示していなかった。
また、学習のためには、根拠文となる正解の文を定義した教師データが必要であった。この教師データの作成は、人間が「回答のためにどの文が必要か」を考えながら作業を行う必要があるため、難しく高コストなタスクである。
そこで、本実施形態では、根拠抽出部において、文章を分割したスパンごとに、そのスパンが回答を抽出する根拠としてどれぐらい適しているかを示す、根拠スコアを算出する。
また、本実施形態では、根拠情報の単位であるスパンを、文ではなく段落とする。根拠情報の単位として文ではなく段落を用いることで、教師データの作成が容易となる。なぜなら、段落は文よりも粒度が大きく多くの情報を含むため、多くの教師データでは、回答を含む1段落をそのまま根拠段落として使用すればよい。そのため、人間の追加の作業が不要である。
なお、段落は、一般的に使われる段落と異なってもよく、例えば箇条書きの全体を段落としてみなすことも可能であるし、1つ1つのアイテムをそれぞれ別段落とみなすことも可能である。文章を分割する単位として、以降は「段落」を例として説明を行うが、上記の実施形態と同様に、文を単位として以降の処理を行うことも可能である。文章を所定単位で分割したものを「スパン」と呼称し、文や段落はこれに含まれるものとする。
また、回答種別とは、「YES」、「NO」、又は文章から回答を抽出する「抽出型」のいずれである。根拠範囲とは、文章の中の根拠を表す範囲の単語列であり、回答種別が抽出型である場合、この範囲に含まれる文字列を回答としても用いるため、回答範囲とも称する。また、根拠情報とは、根拠となるスパンの集合である。すなわち、根拠範囲(回答範囲)は単語レベルの根拠であり、根拠情報は、スパン(文や段落)レベルの根拠とも言える。
また、本実施形態では、回答生成装置が、根拠スコアを算出して可視化する点が、第2の実施形態と異なっている。
また、文章を構成する段落を1つの文章とみなし、段落毎に符号化部に入力し、符号化部が、単語符号化部211、第1文脈符号化部213、アテンション部214、及び第2文脈符号化部215に相当するモデルとして、参考文献9に記載のBERT(Bidirectional Encoder Representations from Transformers)などの事前学習済み言語モデルを利用する点が、第2の実施形態と異なっている。
[参考文献9]BERT: Pre−training of Deep Bidirectional Transformers for Language Understanding, <online>, <URL: https://www.aclweb.org/anthology/N19−1423/>.
また、回答学習装置では、根拠情報の単位として段落を用い、学習データの正解の根拠情報として、段落単位で設定したものを用いる点が、第2の実施形態と異なっている。
なお、上記以外の点が、第2の実施形態と同様であるため、同一符号を付して説明を省略する。
<第3の実施形態に係る回答学習装置の構成>
図12を参照して、第3の実施形態に係る回答学習装置50の構成について説明する。図12は、第3の実施形態に係る回答学習装置50の構成を示すブロック図である。なお、上述の第2の実施形態に係る回答学習装置30と同様の構成については、同一の符号を付して詳細な説明は省略する。
回答学習装置50は、CPUと、RAMと、上記図6に示した回答学習処理ルーチンと同様の処理ルーチンを実行するためのプログラムを記憶したROMとを備えたコンピュータで構成され、機能的には次に示すように構成されている。図12に示すように、本実施形態に係る回答学習装置50は、入力部100と、解析部900と、パラメータ学習部700とを備えて構成される。
解析部900は、符号化部910と、根拠抽出部617と、根拠探索部216と、判断部220とを備えて構成される。
符号化部910は、単語符号化部211と、単語データベース(DB)212と、第1文脈符号化部213と、アテンション部214と、第2文脈符号化部215と、を備えている。
符号化部910で用いられる事前学習済み言語モデルであるBERTモデルには入力可能なテキストの長さに制約があるため、文章を段落ごとに分割して入力する。
具体的には、BERTモデルの入力を、質問文と1段落のテキストを連結して生成した1テキストとする。BERTモデルの出力は、1つの固定長ベクトルと、1つのベクトル系列である。固定長ベクトルは、質問と1段落全体の意味をあらわすd次元のベクトルである。ベクトル系列の長さ(トークン数)は、入力となる「質問文と1段落のテキストを連結して生成した1テキスト」のトークン数と同じである。ベクトル系列のうちの1ベクトルが、1トークンの意味を表すd次元であり、ベクトル系列のサイズは、d次元×トークン数となる。本実施形態では、トークンの単位を単語とするが、部分単語単位などを用いてもよい。
符号化部910は、質問文と1段落のテキストを連結して生成した1テキストをBERTモデルに入力して、1つの固定長ベクトルと、1つのベクトル系列を求める処理を、文章の各段落(段落数をnとする)について行う。これにより、符号化部910では、n個のd次元ベクトルである固定長ベクトルV,…,Vとn個のベクトル系列U,…,Uを得る。Vは、文脈符号化結果であるi番目の段落を表す固定長ベクトル、Uは質問文とi番目の段落の各単語の意味を表すベクトル系列である。なお、段落数nは、上記式(12)中の「n」とは別の変数である。n個のd次元ベクトルである固定長ベクトルV,…,Vとn個のベクトル系列U,…,Uが、質問文とスパンの意味を表すベクトル表現系列の一例である。固定長ベクトルは単語や文章の意味をベクトルで表現したものであり、「ベクトル表現」とも表される。また、ベクトル系列は文章の意味を表現する際などに、ベクトル表現を並べたものであり、これは「ベクトル表現系列」とも表される。入力文が1単語からなる場合、当該入力文に対応する「ベクトル表現系列」は「ベクトル表現」になるため、「ベクトル表現系列」は、「ベクトル系列」をも含む概念である。
また、符号化部910は、質問文の各単語の意味を表すベクトル系列U’を、以下の2つの処理で作成する。
第1処理では、符号化部910の出力するn個のベクトル系列Uの各々について、当該ベクトル系列Uから、質問文に相当する位置のベクトルだけを抽出して、ベクトル系列を抽出する。ここで、抽出されるベクトル系列は、質問文の単語数と長さが一致し、ベクトル系列に含まれる各ベクトルは質問文の1単語を表す。
第2処理では、n個のベクトル系列Uの各々について抽出したベクトル系列の平均又は和をとり、1つのベクトル系列を求め、ベクトル系列U’とする。
根拠抽出部617は、符号化部910の処理によって得られる情報に基づいて、質問文に対する回答の根拠となる情報である根拠情報を抽出する抽出モデルを用いて、質問文Qに対する回答の根拠情報を抽出する。
具体的には、根拠抽出部617は、まず、符号化部910の処理によって得られたn個の固定長ベクトルVを入力とし、ニューラルネットワークを用いて文章Pの各段落の意味を表すベクトルの系列Hを抽出する。根拠抽出部617は、例えば、ニューラルネットワークとして、Undirectional−RNNを用いることができる。若しくは、根拠抽出部617は、ニューラルネットワークを用いずに、n個の固定長ベクトルVを並べてベクトルの系列Hを生成してもよい。
次に、根拠抽出部617は、根拠段落を1つ抽出する操作を1時刻と定義し、状態zを抽出モデルのRNNによって生成する。すなわち、根拠抽出部617は、時刻t−1に抽出された根拠段落に対応するベクトルの系列Hの要素
Figure 2020174826

を抽出モデルのRNNに入力することにより、状態zを生成する。ただし、st−1は時刻t−1に抽出された根拠段落の添字である。また、時刻tまでに抽出された段落sの集合をSとする。
根拠抽出部617は、状態zと、質問文の各単語の意味を表すベクトル系列U’に基づいて、抽出モデルにより、時刻tにおける重要性を考慮した質問文ベクトルであるglimpseベクトルe(上記式(13))を、質問文Qに対するglimpse操作(上記参考文献5)を行うことで生成する。なお、上記式(13)におけるベクトルyに、ベクトル系列U’のj番目のベクトルを代入して計算する。また、上記式(11)〜式(13)におけるv、Wg1、及びWg2と、上記式(14)におけるv、Wp1、Wp2、及びWp3とは、抽出モデルのパラメータであり、パラメータ学習部700により更新される。また、上記式(14)におけるhは、ベクトルの系列Hのj番目のベクトルである。
このように、抽出モデルでは質問文Qに対するglimpse操作を行うことで、根拠段落の抽出結果が質問全体に対応する内容を包含することができる。
抽出モデルのRNNの初期値はベクトルの系列Hをaffine変換したベクトル系列をmaxpoolingしたベクトルとする。
根拠抽出部617は、状態zと、glimpseベクトルeと、ベクトルの系列Hとに基づいて、抽出モデルにより、時刻tにおいて上記式(14)で表される確率分布に従って第δ段落を選び、段落s=δを、時刻tに抽出された根拠段落とする。ただし、上記式(14)における値u は、ベクトル系列U’とは別の値である。
そして、根拠抽出部617は、抽出した段落sの集合Sを根拠情報として、根拠探索部216及びパラメータ学習部700に渡す。
根拠探索部216は、符号化部910の出力するn個のベクトル系列Uのうち、学習データ中の正解となる根拠情報(段落)に対応するベクトル系列Uに基づいて、文章Pにおける回答の根拠となる範囲D:Eを推定するための読解モデルを用いて、当該範囲の始端s及び終端sを推定する。
具体的には、根拠探索部216は、回答の根拠となる範囲の始端sを推定するための始端用の深層学習モデル及び終端sを推定するための終端用の深層学習モデルの2つのニューラルネットワークによって構成される。この深層学習モデルは、例えば、線形変換層又は多層線形変換層などを含む。
根拠探索部216は、まず、正解となる根拠情報(段落)に対応するベクトル系列Uを、始端用の深層学習モデルに入力して、回答の根拠となる範囲である回答範囲の始端に関するスコアを、正解となる根拠情報(段落)中の各単語について計算する。
また、根拠探索部216は、正解となる根拠情報(段落)に対応するベクトル系列Uを、終端用の深層学習モデルに入力して、回答の根拠となる範囲である回答範囲の終端に関するスコアを、正解となる根拠情報(段落)中の各単語について計算する。
正解となる根拠情報(段落)中の各単語について計算した始端に関するスコア及び終端に関するスコアをまとめて回答範囲スコアと呼ぶ。なお、始端用の深層学習モデル及び終端用の深層学習モデルのパラメータは、パラメータ学習部700により更新される。
そして、根拠探索部216は、計算した回答範囲スコアを、パラメータ学習部700に渡す。
なお、根拠探索部216の内部の処理やニューラルネットワークの構成については、上記第2の実施形態の根拠探索部216と同様のものを用いてもよい。
判断部220は、符号化部910の処理によって得られる情報に基づいて、質問文Qに対する回答の極性が正か否かを判断する判断モデルを用いて、質問文Qに対する回答の極性を判断する。
具体的には、判断部220は、入力変換部221と、スコア計算部222とを備えて構成される。
入力変換部221は、符号化部910が出力するn個の固定長ベクトルVのうち、学習データの正解の根拠情報(段落)に対応する固定長ベクトルVを抽出し、抽出した固定長ベクトルVを、スコア計算部222に渡す。
スコア計算部222は、質問文Qに対する回答の極性が正か否かを判断する判断モデルを用いて、質問文Qに対する回答の極性を判断する。
具体的には、スコア計算部222は、正解の根拠情報(段落)に対応する固定長ベクトルVに基づいて、線形変換層又は多層線形変換層などを含む深層学習モデルである判断モデルを用いて、Yes、No、及び抽出型の回答の何れかで答えるかの判断結果を表す判断スコアを計算する。ここで計算される判断スコアは、3次元のベクトルである。
なお、判断部220の内部の処理やニューラルネットワークの構成については、上記第1の実施形態の判断部220と同様のものを用いてもよい。例えば、Yes、No、又は抽出型の3つに分類するように構成して、上記第1の実施形態の判断部220と同様の処理を行うようにしてもよい。
そして、スコア計算部222は、判断スコアを、パラメータ学習部700に渡す。
パラメータ学習部700は、学習データに含まれる正解Y^と、判断部220により判断された結果とが一致し、学習データに含まれる始端D^及び終端E^と、根拠探索部216により推定された始端s及び終端sとが一致し、学習データに含まれる文章Pにおける正解の根拠情報と、根拠抽出部617により抽出された根拠情報とが一致するように、読解モデル、判断モデル及び抽出モデルのパラメータを学習する。
具体的には、文章Pと、質問Qと、YES、NO、及び抽出型の何れかである正解となる回答Y^、回答Yの正解となる根拠範囲である始端D^及び終端E^と、回答Yの正解となる根拠情報である根拠段落の集合S^とを1セットとし、学習データが、複数セット含むものとする。
ここで、正解となる回答Y^は、回答種別がYES、NO、抽出型のいずれであるかを示す情報とする。正解となる根拠情報とは、回答種別を判断する、又は根拠範囲を抽出する際の根拠となるスパンとしての段落の集合であり、文章Pに含まれる全段落の部分集合である。回答種別が極性であるYES又はNOである場合、根拠情報はYES又はNOの判断の根拠となる段落からなる集合である。回答種別が抽出型の場合、根拠情報は、真の回答範囲を含む段落からなる集合である。
なお、回答学習装置50の他の構成及び作用については、第2の実施形態と同様であるため、説明を省略する。
<第3の実施形態に係る回答生成装置の構成>
図13を参照して、本開示の第3の実施形態に係る回答生成装置60の構成について説明する。図13は、本開示の第3の実施形態に係る回答生成装置60の構成を示すブロック図である。なお、上述の第3の実施形態に係る回答学習装置50と同様の構成については、同一の符号を付して詳細な説明は省略する。
回答生成装置60は、CPUと、RAMと、上記図9に示した回答生成処理ルーチンと同様の処理ルーチンを実行するためのプログラムを記憶したROMとを備えたコンピュータで構成され、機能的には次に示すように構成されている。図13に示すように、本実施形態に係る回答生成装置60は、入力部400と、解析部900と、出力部800とを備えて構成される。
解析部900は、符号化部910と、根拠抽出部617と、根拠探索部216と、判断部220とを備えて構成される。
根拠抽出部617は、符号化部910の処理によって得られる情報に基づいて、質問文に対する回答の根拠となる情報である根拠情報を抽出する抽出モデルを用いて、質問文Qに対する回答の根拠情報を抽出すると共に、文章Pのスパンである各段落について根拠スコアを算出する。
具体的には、根拠抽出部617は、根拠スコアを算出する際に、状態zと、glimpseベクトルeと、ベクトルの系列Hとに基づいて、抽出モデルを用いて、文章Pの各段落について、当該段落が回答を抽出する根拠に適している度合いを示す根拠スコアを算出する。
例えば、時刻tにおいて段落δについて上記(14)式に従って値P(δ;S(t−1))を計算し、この値をスコアA(δ)とする。そして、段落δの根拠スコアを、max(δ)又はsum(δ)で定義する。
なお、根拠スコアは、スパンが段落でなく文であった場合も、同様の処理で計算することができる。その場合、根拠スコアは、その文が回答を抽出する根拠に適している度合いを示すスコアを表す。
根拠抽出部617は、抽出した根拠情報と、各段落についての根拠スコアとを、出力部800に渡すと共に、抽出した根拠情報を、根拠探索部216及び入力変換部221に渡す。
根拠探索部216は、符号化部910の出力するn個のベクトル系列Uのうち、根拠抽出部617が根拠情報として抽出した段落に対応するベクトル系列Uに基づいて、文章Pにおける回答の根拠となる範囲D:Eを推定するための読解モデルを用いて、当該範囲の始端s及び終端sを推定する。
入力変換部221は、符号化部910が出力するn個の固定長ベクトルVのうち、根拠抽出部617が根拠情報として抽出した段落に対応する固定長ベクトルVを抽出し、抽出した固定長ベクトルVを、スコア計算部222に渡す。
スコア計算部222は、質問文Qに対する回答の極性が正か否かを判断する判断モデルを用いて、質問文Qに対する回答の極性を判断する。
具体的には、スコア計算部222は、根拠抽出部617が根拠情報として抽出した段落に対応する固定長ベクトルVに基づいて、線形変換層又は多層線形変換層などを含む深層学習モデルである判断モデルを用いて、Yes、No、及び抽出型の回答の何れかで答えるかの判断結果を表す判断スコアを計算する。
出力部800は、根拠抽出部617によって抽出した段落の集合Stと、各段落の根拠スコアと、判断部220によって出力された、Yes/No/抽出型の3種の判断結果を示す判断スコアと、根拠探索部216によって得られた、各単語の回答始端スコア及び回答終端スコアを入力とする。
また、回答生成装置60に入力する時点で、文章を構成する各段落にスコアが与えられている場合、そのスコアを検索スコアとして出力部800に入力することができる。例えばWikipedia(R)全体から、当該段落を一般的な検索によって絞り込む際に、検索手法が出力するスコアを、検索スコアとして用いてもよい。
出力部800は、根拠抽出部617が根拠情報として抽出した段落の任意の単語列に対して、当該単語列の始端の回答始端スコア及び当該区間の終端の回答終端スコアの積又は和で、回答単語列スコアを計算する。回答単語列スコアは、その単語列が回答または回答の根拠であることを示すスコアである。
この回答単語列スコアの計算によって、回答種別の判断結果が「抽出型」の場合、文章中の任意の単語列、つまり抽出型の回答として考えうる全ての候補に対して、回答単語列スコアが与えられる。候補数は、根拠抽出部617が抽出した根拠段落の単語数をLとすると、L個から2個を選ぶ重複組み合わせ通りである。
また、出力部800は、以下の式に従って、根拠抽出部617が抽出した根拠段落、回答種別の判断結果、及び回答単語列の全ての組み合わせに対して読解スコアを計算する。
読解スコア=(検索スコア×検索スコア重み)+(根拠スコア×根拠スコア重み)+(回答単語列スコア×回答単語列スコア重み)+(判断スコア×判断スコア重み)
ただし、各スコア重みはユーザーが決定できる数値であり、例えばすべて1である。検索スコアの項は検索スコアが与えられている場合のみ用いる。
出力部800は、読解スコア、根拠段落、判断結果、及び回答単語列の組み合わせを、読解スコアが高い順に出力する。出力する個数は、事前に指定された個数や読解スコアの閾値で決定する。
なお、回答生成装置60の他の構成及び作用については、第2の実施形態と同様であるため、説明を省略する。
以上説明したように、第3の実施形態の回答生成装置によれば、根拠探索部及び判断部が、根拠抽出部が抽出した根拠情報に基づいて処理を行うため、より明示的に根拠情報に基づいた処理が可能になり、精度良く回答することができる。また、段落毎に根拠スコアを算出して可視化することができ、ユーザーがより解釈しやすい形で回答を出力することができる。
また、根拠情報として根拠段落を抽出するため、回答学習装置に入力する教師データの作成が容易になるとと共に、精度よく回答の極性を推定できるモデルを学習することができる。
なお、本開示は、上述した実施の形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
上述の実施形態では、機械読解部210により文章Pを符号化した結果と、機械読解部210により質問文Qを符号化した結果とに基づいて、ベクトルの系列P及びQを生成したが、機械読解部210により推定された回答の根拠となる範囲の始端s及び終端sの少なくとも一方、又は文章Pと質問文Qとの関係性を表すアテンション行列Aを更に入力として、質問文Qに対する回答の極性が正か否かを判断する判断モデルを用いて、質問文Qに対する回答の極性を判断してもよい。
この場合、第2文脈符号化部215は、変換した読解行列Mを、根拠探索部216は、推定した回答範囲スコアを、それぞれ入力変換部221に渡す。
例えば、入力変換部221は、ベクトルの系列Pの計算方法として、下記式(17)や、式(18)を用いることができる。
Figure 2020174826
ただし,Linear()は線形変換を示す。
また、例えば、入力変換部221は、ベクトルの系列Qの計算方法として、下記式(19)を用いることができる。
Figure 2020174826
同様の操作をアテンション行列A、ベクトルの系列Pに対して行い、得られたベクトル系列を、ベクトルの系列Qとしてもよく、得られたベクトル系列にベクトルの系列Qを結合したものとしてもよい。
このようなバリエーションによって、入力変換部221で必要な変数が決定する。
また、タスク特有の問題に対処するため、スコア計算部222は、文ペア分類タスクの既存フレームワークに工夫を加えたものを用いることができる。
例えば、上記ESIMのフレームワークを用いた場合に、以下の工夫を用いることができる。
<<工夫1>>
文章Pが文ではなく、文章であるので、文ペア分類タスクに比べて系列の長さLが大きくなってしまう。この問題に対処するため、max pooling、average poolingをより長い系列向きの手法に置き換える。
具体的には、ベクトルの系列Qを、LSTMに入力したときのLSTMの出力の最終状態を使う手法や、attentive pooling(列方向の重み付き平均を取る操作であり、重みとしてベクトルの系列Pの線形変換や推定した始端s、終端s等を用いる)に置き換えることができる。
<<工夫2>>
文ペア分類タスクに比べて、上記実施形態の分類対象となるベクトルの系列Pは、文章Pの情報だけでなく、質問文Qの情報も豊富に含んでいる傾向がある。そのため、スコア計算部222においてベクトルの系列Qを用いず、ベクトルの系列Pのみを用いてベクトルJを求めてもよい。
この場合、入力変換部221が受け付ける情報は、(1)読解行列Bのみとすることができる。また、ベクトルの系列Pへの変換は、上記式(6)を用いる。このとき、Jの定義は、
Figure 2020174826

である。
また、回答学習装置10は、入力された質問文Qが、「Yes又はNoで答えることができる質問」なのか否かを判定する質問判定部を更に備える構成としてもよい。
質問判定部の判定方法については、ルールベースや、機械学習による判定など、従来手法を用いればよい。この場合、質問判定部の判定の結果、「Yes又はNoで答えることができる質問ではない」と判定された時には、判断部220からの出力(Yes/No)を行わない、すなわち、機械読解部210からの出力のみを行うように構成することもできる。
このように、質問判定部を備えることにより、判断部220の出力がYes/Noの2値の場合、YesかNoかで答えることが不適切な場合に、YesかNoかで答えてしまう事を防ぐことができる。また、学習データからYesかNoかで答えることが不適切な質問を除外でき、より適切な学習を行うことができる。
また、判断部220の出力がYes/No/不明の3値である場合、「不明」となった場合の意味合いが、より明確となる。質問判定部を備えていない場合、「不明」の意味は、「Yes又はNoで答えることが不適切な質問である」、又は「(文章Pに回答の根拠となる記載がない等の理由で)分からない」の2つが混在してしまうが、質問判定部による判定を行えば、「不明」の意味は後者に絞ることができる。
また、当該質問判定部は、回答生成装置20に備えることもできる。回答生成装置20は、質問判定部を備えることにより、判断部220の出力がYes/Noの2値の場合、YesかNoかで答えることが不適切な場合に、YesかNoかで答えてしまう事を防ぐことができる。
また、本実施形態は、回答が、Yes/Noの何れであるかを判断する判断モデルを用いる場合を例に説明したが、これに限定されるものではなく、判断モデルが、回答が、Yes/No/抽出型の回答の何れかであるかを判断し、抽出型の回答である場合に、出力部が、抽出型の回答として、根拠抽出部617により出力された根拠文、又は根拠探索部216により出力された回答の根拠の範囲を出力してもよい。
また、上述の実施形態では、回答の極性を、Yes又はNoである場合を例に説明したが、これに限定されるものではなく、回答の極性を、例えば、OK又はNGとしてもよい。
また、第3の実施形態の回答生成装置60において、根拠抽出部617は、根拠情報を根拠探索部216へ渡さないようにしてもよい。この場合には、根拠探索部216が、根拠情報を用いずに、文章Pにおける回答の根拠となる範囲の始端及び終端を推定する。具体的には、根拠探索部216は、符号化部910の出力するn個のベクトル系列Uをそのまま用いて、文章Pにおける回答の根拠となる範囲の始端及び終端を推定するようにすればよい。
また、第3の実施形態の回答生成装置60において、根拠抽出部617から、根拠情報を判断部220の入力変換部221へ渡さないようにしてもよい。この場合には、入力変換部221は、符号化部910が出力するn個の固定長ベクトルVをそのままスコア計算部222に渡す。また、スコア計算部222は、n個の固定長ベクトルVに基づいて、判断スコアを計算するようにすればよい。
上記のように、根拠探索部216及び判断部220が、根拠抽出部617が抽出した根拠情報を用いない場合であっても、回答学習装置50では、根拠抽出部617、根拠探索部216、判断部220のそれぞれのタスクに関してマルチタスク学習を行っているため、根拠情報を参考にした、根拠となる範囲の推定や判断スコアの計算が、実現される。
また、本願明細書中において、プログラムが予めインストールされている実施形態として説明したが、当該プログラムを、コンピュータ読み取り可能な記録媒体に格納して提供することも可能である。
以上の実施形態に関し、更に以下の付記を開示する。
(付記項1)
メモリと、
前記メモリに接続された少なくとも1つのプロセッサと、
を含み、
前記プロセッサは、
入力された、文章の分割単位である複数のスパンに分割された文章及び質問文に基づいて、入力文を入力文の意味を表すベクトル表現系列に変換するための予め学習された符号化モデルを用いて、前記スパン及び前記質問文の意味を表すベクトル表現系列に変換し、
前記ベクトル表現系列に基づいて、前記回答を抽出する根拠に適しているスパンを抽出する予め学習された抽出モデルを用いて、前記回答を抽出する根拠に適しているスパンである根拠情報を推定し、
前記ベクトル表現系列と、前記根拠情報とに基づいて、前記文章における前記回答の根拠となる範囲である根拠範囲を抽出する予め学習された探索モデルを用いて、前記根拠範囲を推定し、
前記ベクトル表現系列と、前記根拠情報とに基づいて、前記文章における前記質問文に対する回答の正解である回答種別を判断する予め学習された判断モデルを用いて、前記質問文に対する回答種別を判断する、
回答生成装置。
(付記項2)
メモリと、
前記メモリに接続された少なくとも1つのプロセッサと、
を含み、
前記プロセッサは、
入力された、文章の分割単位である複数のスパンに分割された文章及び質問文に基づいて、入力文を入力文の意味を表すベクトル表現系列に変換するための予め学習された符号化モデルを用いて、前記スパン及び前記質問文の意味を表すベクトル表現系列に変換し、
前記ベクトル表現系列に基づいて、前記スパンが前記回答を抽出する根拠に適している度合いを示す根拠スコアを算出するための予め学習された抽出モデルを用いて、前記スパンの各々の根拠スコアを推定する、
回答生成装置であって、
前記符号化モデル及び前記抽出モデルは、
前記符号化モデルを用いて変換された前記ベクトル表現系列に基づいて、前記文章における前記回答の根拠となる範囲である根拠範囲を抽出する探索モデル、及び
前記ベクトル表現系列に基づいて、前記文章における前記質問文に対する回答の正解である回答種別を判断する判断モデル
を更に含む複数のモデルのマルチタスク学習により予め学習されたものである
回答生成装置。
(付記項3)
メモリと、
前記メモリに接続された少なくとも1つのプロセッサと、
を含み、
前記プロセッサは、
文章の分割単位である複数のスパンに分割された文章と、質問文と、前記文章における前記質問文に対する回答の正解である回答種別と、前記文章における前記回答の根拠となる範囲である根拠範囲と、前記文章における前記回答の根拠となるスパンである根拠情報とを含む学習データの入力を受け付け、
複数のスパンに分割した前記文章と、前記質問文とを、入力文を入力文の意味を表すベクトル表現系列に変換するための符号化モデルを用いて、前記スパン及び前記質問文の意味を表すベクトル表現系列に変換し、
前記ベクトル表現系列に基づいて、前記根拠情報を抽出する抽出モデルを用いて、前記根拠情報を推定し、
前記ベクトル表現系列と、前記学習データの前記根拠情報とに基づいて、前記根拠範囲を抽出する探索モデルを用いて、前記根拠範囲を推定し、
前記ベクトル表現系列と、前記学習データの前記根拠情報とに基づいて、前記質問文に対する回答種別を判断する判断モデルを用いて、前記質問文に対する回答種別を判断し、
前記抽出された前記根拠情報が前記学習データの前記根拠情報と一致し、前記推定された前記根拠範囲が前記学習データの前記根拠範囲と一致し、前記判断された前記回答種別が前記学習データの前記回答種別と一致するように、前記符号化モデル、前記抽出モデル、前記探索モデル、及び前記判断モデルのパラメータを学習する、
回答学習装置。
(付記項4)
回答生成処理を実行するようにコンピュータによって実行可能なプログラムを記憶した非一時的記憶媒体であって、
前記回答生成処理は、
入力された、文章の分割単位である複数のスパンに分割された文章及び質問文に基づいて、入力文を入力文の意味を表すベクトル表現系列に変換するための予め学習された符号化モデルを用いて、前記スパン及び前記質問文の意味を表すベクトル表現系列に変換し、
前記ベクトル表現系列に基づいて、前記回答を抽出する根拠に適しているスパンを抽出する予め学習された抽出モデルを用いて、前記回答を抽出する根拠に適しているスパンである根拠情報を推定し、
前記ベクトル表現系列と、前記根拠情報とに基づいて、前記文章における前記回答の根拠となる範囲である根拠範囲を抽出する予め学習された探索モデルを用いて、前記根拠範囲を推定し、
前記ベクトル表現系列と、前記根拠情報とに基づいて、前記文章における前記質問文に対する回答の正解である回答種別を判断する予め学習された判断モデルを用いて、前記質問文に対する回答種別を判断する、
非一時的記憶媒体。
(付記項5)
回答生成処理を実行するようにコンピュータによって実行可能なプログラムを記憶した非一時的記憶媒体であって、
前記回答生成処理は、
入力された、文章の分割単位である複数のスパンに分割された文章及び質問文に基づいて、入力文を入力文の意味を表すベクトル表現系列に変換するための予め学習された符号化モデルを用いて、前記スパン及び前記質問文の意味を表すベクトル表現系列に変換し、
前記ベクトル表現系列に基づいて、前記スパンが前記回答を抽出する根拠に適している度合いを示す根拠スコアを算出するための予め学習された抽出モデルを用いて、前記スパンの各々の根拠スコアを推定し、
前記符号化モデル及び前記抽出モデルは、
前記符号化モデルを用いて変換された前記ベクトル表現系列に基づいて、前記文章における前記回答の根拠となる範囲である根拠範囲を抽出する探索モデル、及び
前記ベクトル表現系列に基づいて、前記文章における前記質問文に対する回答の正解である回答種別を判断する判断モデル
を更に含む複数のモデルのマルチタスク学習により予め学習されたものである、
非一時的記憶媒体。
(付記項6)
回答学習処理を実行するようにコンピュータによって実行可能なプログラムを記憶した非一時的記憶媒体であって、
前記回答学習処理は、
文章の分割単位である複数のスパンに分割された文章と、質問文と、前記文章における前記質問文に対する回答の正解である回答種別と、前記文章における前記回答の根拠となる範囲である根拠範囲と、前記文章における前記回答の根拠となるスパンである根拠情報とを含む学習データの入力を受け付け、
複数のスパンに分割した前記文章と、前記質問文とを、入力文を入力文の意味を表すベクトル表現系列に変換するための符号化モデルを用いて、前記スパン及び前記質問文の意味を表すベクトル表現系列に変換し、
前記ベクトル表現系列に基づいて、前記根拠情報を抽出する抽出モデルを用いて、前記根拠情報を推定し、
前記ベクトル表現系列と、前記学習データの前記根拠情報とに基づいて、前記根拠範囲を抽出する探索モデルを用いて、前記根拠範囲を推定し、
前記ベクトル表現系列と、前記学習データの前記根拠情報とに基づいて、前記質問文に対する回答種別を判断する判断モデルを用いて、前記質問文に対する回答種別を判断し、
前記抽出された前記根拠情報が前記学習データの前記根拠情報と一致し、前記推定された前記根拠範囲が前記学習データの前記根拠範囲と一致し、前記判断された前記回答種別が前記学習データの前記回答種別と一致するように、前記符号化モデル、前記抽出モデル、前記探索モデル、及び前記判断モデルのパラメータを学習する、
非一時的記憶媒体。
10、30、50 回答学習装置
20、40、60 回答生成装置
100 入力部
200、600、900 解析部
210、610 機械読解部
211 単語符号化部
213 第1文脈符号化部
214 アテンション部
215 第2文脈符号化部
216 根拠探索部
220 判断部
221 入力変換部
222 スコア計算部
300、700 パラメータ学習部
400 入力部
500、800 出力部
617 根拠抽出部
910 符号化部

Claims (8)

  1. 入力された、文章の分割単位である複数のスパンに分割された文章及び質問文に基づいて、入力文を入力文の意味を表すベクトル表現系列に変換するための予め学習された符号化モデルを用いて、前記スパン及び前記質問文の意味を表すベクトル表現系列に変換する符号化部と、
    前記ベクトル表現系列に基づいて、前記質問文に対する回答を抽出する根拠に適しているスパンを抽出する予め学習された抽出モデルを用いて、前記回答を抽出する根拠に適しているスパンである根拠情報を推定する根拠抽出部と、
    前記ベクトル表現系列と、前記根拠情報とに基づいて、前記文章における前記回答の根拠となる範囲である根拠範囲を抽出する予め学習された探索モデルを用いて、前記根拠範囲を推定する根拠探索部と、
    前記ベクトル表現系列と、前記根拠情報とに基づいて、前記文章における前記質問文に対する回答の正解である回答種別を判断する予め学習された判断モデルを用いて、前記質問文に対する回答種別を判断する判断部と、
    を備えることを特徴とする回答生成装置。
  2. 前記回答種別は、前記質問文に対する回答の極性、又は前記文章から回答を抽出することであり、
    前記判断部が判断した前記回答種別が、前記文章から回答を抽出することである場合、前記根拠探索部により得られた前記根拠範囲に含まれる文字列を、前記質問文に対する回答として出力する出力部
    を更に備えることを特徴とする請求項1記載の回答生成装置。
  3. 入力された、文章の分割単位である複数のスパンに分割された文章及び質問文に基づいて、入力文を入力文の意味を表すベクトル表現系列に変換するための予め学習された符号化モデルを用いて、前記スパン及び前記質問文の意味を表すベクトル表現系列に変換する符号化部と、
    前記ベクトル表現系列に基づいて、前記スパンが前記質問文に対する回答を抽出する根拠に適している度合いを示す根拠スコアを算出するための予め学習された抽出モデルを用いて、前記スパンの各々の根拠スコアを推定する根拠抽出部と、
    を備え、
    前記符号化モデル及び前記抽出モデルは、
    前記符号化モデルを用いて変換された前記ベクトル表現系列に基づいて、前記文章における前記回答の根拠となる範囲である根拠範囲を抽出する探索モデル、及び
    前記ベクトル表現系列に基づいて、前記文章における前記質問文に対する回答の正解である回答種別を判断する判断モデル
    を更に含む複数のモデルのマルチタスク学習により予め学習されたものである
    ことを特徴とする回答生成装置。
  4. 文章の分割単位である複数のスパンに分割された文章と、質問文と、前記文章における前記質問文に対する回答の正解である回答種別と、前記文章における前記回答の根拠となる範囲である根拠範囲と、前記文章における前記回答の根拠となるスパンである根拠情報とを含む学習データの入力を受け付ける入力部と、
    複数のスパンに分割した前記文章と、前記質問文とを、入力文を入力文の意味を表すベクトル表現系列に変換するための符号化モデルを用いて、前記スパン及び前記質問文の意味を表すベクトル表現系列に変換する符号化部と、
    前記ベクトル表現系列に基づいて、前記根拠情報を抽出する抽出モデルを用いて、前記根拠情報を推定する根拠抽出部と、
    前記ベクトル表現系列と、前記学習データの前記根拠情報とに基づいて、前記根拠範囲を抽出する探索モデルを用いて、前記根拠範囲を推定する根拠探索部と、
    前記ベクトル表現系列と、前記学習データの前記根拠情報とに基づいて、前記質問文に対する回答種別を判断する判断モデルを用いて、前記質問文に対する回答種別を判断する判断部と、
    前記根拠抽出部により抽出された前記根拠情報が前記学習データの前記根拠情報と一致し、前記根拠探索部により推定された前記根拠範囲が前記学習データの前記根拠範囲と一致し、前記判断部により判断された前記回答種別が前記学習データの前記回答種別と一致するように、前記符号化モデル、前記抽出モデル、前記探索モデル、及び前記判断モデルのパラメータを学習するパラメータ学習部と、
    を備えることを特徴とする回答学習装置。
  5. 符号化部が、入力された、文章の分割単位である複数のスパンに分割された文章及び質問文に基づいて、入力文を入力文の意味を表すベクトル表現系列に変換するための予め学習された符号化モデルを用いて、前記スパン及び前記質問文の意味を表すベクトル表現系列に変換し、
    根拠抽出部が、前記ベクトル表現系列に基づいて、前記質問文に対する回答を抽出する根拠に適しているスパンを抽出する予め学習された抽出モデルを用いて、前記回答を抽出する根拠に適しているスパンである根拠情報を推定し、
    根拠探索部が、前記ベクトル表現系列と、前記根拠情報とに基づいて、前記文章における前記回答の根拠となる範囲である根拠範囲を抽出する予め学習された探索モデルを用いて、前記根拠範囲を推定し、
    判断部が、前記ベクトル表現系列と、前記根拠情報とに基づいて、前記文章における前記質問文に対する回答の正解である回答種別を判断する予め学習された判断モデルを用いて、前記質問文に対する回答種別を判断する
    ことを特徴とする回答生成方法。
  6. 符号化部が、入力された、文章の分割単位である複数のスパンに分割された文章及び質問文に基づいて、入力文を入力文の意味を表すベクトル表現系列に変換するための予め学習された符号化モデルを用いて、前記スパン及び前記質問文の意味を表すベクトル表現系列に変換し、
    根拠抽出部が、前記ベクトル表現系列に基づいて、前記スパンが前記質問文に対する回答を抽出する根拠に適している度合いを示す根拠スコアを算出するための予め学習された抽出モデルを用いて、前記スパンの各々の根拠スコアを推定する
    回答生成方法であって、
    前記符号化モデル及び前記抽出モデルは、
    前記符号化モデルを用いて変換された前記ベクトル表現系列に基づいて、前記文章における前記回答の根拠となる範囲である根拠範囲を抽出する探索モデル、及び
    前記ベクトル表現系列に基づいて、前記文章における前記質問文に対する回答の正解である回答種別を判断する判断モデル
    を更に含む複数のモデルのマルチタスク学習により予め学習されたものである
    ことを特徴とする回答生成方法。
  7. 入力された、文章の分割単位である複数のスパンに分割された文章及び質問文に基づいて、入力文を入力文の意味を表すベクトル表現系列に変換するための予め学習された符号化モデルを用いて、前記スパン及び前記質問文の意味を表すベクトル表現系列に変換し、
    前記ベクトル表現系列に基づいて、前記質問文に対する回答を抽出する根拠に適しているスパンを抽出する予め学習された抽出モデルを用いて、前記回答を抽出する根拠に適しているスパンである根拠情報を推定し、
    前記ベクトル表現系列と、前記根拠情報とに基づいて、前記文章における前記回答の根拠となる範囲である根拠範囲を抽出する予め学習された探索モデルを用いて、前記根拠範囲を推定し、
    前記ベクトル表現系列と、前記根拠情報とに基づいて、前記文章における前記質問文に対する回答の正解である回答種別を判断する予め学習された判断モデルを用いて、前記質問文に対する回答種別を判断する
    処理をコンピュータに実行させるための回答生成プログラム。
  8. 入力された、文章の分割単位である複数のスパンに分割された文章及び質問文に基づいて、入力文を入力文の意味を表すベクトル表現系列に変換するための予め学習された符号化モデルを用いて、前記スパン及び前記質問文の意味を表すベクトル表現系列に変換し、
    前記ベクトル表現系列に基づいて、前記スパンが前記質問文に対する回答を抽出する根拠に適している度合いを示す根拠スコアを算出するための予め学習された抽出モデルを用いて、前記スパンの各々の根拠スコアを推定する
    処理をコンピュータに実行させるための回答生成プログラムであって、
    前記符号化モデル及び前記抽出モデルは、
    前記符号化モデルを用いて変換された前記ベクトル表現系列に基づいて、前記文章における前記回答の根拠となる範囲である根拠範囲を抽出する探索モデル、及び
    前記ベクトル表現系列に基づいて、前記文章における前記質問文に対する回答の正解である回答種別を判断する判断モデル
    を更に含む複数のモデルのマルチタスク学習により予め学習されたものである
    回答生成プログラム。
JP2021501617A 2019-02-25 2019-12-17 回答生成装置、回答学習装置、回答生成方法、及び回答生成プログラム Active JP7120433B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2019032127A JP2019220142A (ja) 2018-06-18 2019-02-25 回答学習装置、回答学習方法、回答生成装置、回答生成方法、及びプログラム
JP2019032127 2019-02-25
PCT/JP2019/049385 WO2020174826A1 (ja) 2019-02-25 2019-12-17 回答生成装置、回答学習装置、回答生成方法、及び回答生成プログラム

Publications (2)

Publication Number Publication Date
JPWO2020174826A1 true JPWO2020174826A1 (ja) 2021-11-25
JP7120433B2 JP7120433B2 (ja) 2022-08-17

Family

ID=72265353

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021501617A Active JP7120433B2 (ja) 2019-02-25 2019-12-17 回答生成装置、回答学習装置、回答生成方法、及び回答生成プログラム

Country Status (3)

Country Link
US (1) US20220043972A1 (ja)
JP (1) JP7120433B2 (ja)
WO (1) WO2020174826A1 (ja)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019220142A (ja) * 2018-06-18 2019-12-26 日本電信電話株式会社 回答学習装置、回答学習方法、回答生成装置、回答生成方法、及びプログラム
US20210383199A1 (en) * 2020-06-03 2021-12-09 Google Llc Object-Centric Learning with Slot Attention
US20220083859A1 (en) * 2020-09-11 2022-03-17 Actapio, Inc. Learning apparatus, learning method, and a non-transitory computer-readable storage medium
WO2022079826A1 (ja) * 2020-10-14 2022-04-21 日本電信電話株式会社 学習装置、情報処理装置、学習方法、情報処理方法及びプログラム
CN112184178A (zh) * 2020-10-14 2021-01-05 深圳壹账通智能科技有限公司 邮件内容提取方法、装置、电子设备及存储介质
CN112288058B (zh) * 2020-11-05 2022-07-01 杭州师范大学 一种基于增强现实的答案智能填写方法
KR102379660B1 (ko) * 2020-11-30 2022-03-29 주식회사 티맥스에이아이 딥러닝 기반 의미역 분석을 활용하는 방법
US11755570B2 (en) * 2020-12-09 2023-09-12 Adobe, Inc. Memory-based neural network for question answering
CN112560501B (zh) * 2020-12-25 2022-02-25 北京百度网讯科技有限公司 语义特征的生成方法、模型训练方法、装置、设备及介质
CN112686263B (zh) * 2020-12-29 2024-04-16 科大讯飞股份有限公司 文字识别方法、装置、电子设备及存储介质
CN112860863A (zh) * 2021-01-30 2021-05-28 云知声智能科技股份有限公司 一种机器阅读理解方法及装置
JP7410066B2 (ja) * 2021-02-18 2024-01-09 Lineヤフー株式会社 情報提供装置、情報提供方法および情報提供プログラム
CN112863627B (zh) * 2021-03-12 2023-11-03 云知声智能科技股份有限公司 医疗质控信息检测方法、系统以及存储介质
CN112966499A (zh) * 2021-03-17 2021-06-15 中山大学 一种基于自适应融合多注意力网络的问题和答案匹配方法
CN113159187B (zh) * 2021-04-23 2024-06-14 北京金山数字娱乐科技有限公司 分类模型训练方法及装置、目标文本确定方法及装置
CN113282722B (zh) * 2021-05-07 2024-03-29 中国科学院深圳先进技术研究院 机器阅读理解方法、电子设备及存储介质
CN113434657B (zh) * 2021-07-21 2023-04-07 广州华多网络科技有限公司 电商客服应答方法及其相应的装置、设备、介质
CN113704437B (zh) * 2021-09-03 2023-08-11 重庆邮电大学 一种融合多头注意力机制和相对位置编码的知识库问答方法
CN113821600B (zh) * 2021-09-26 2023-12-19 欧冶云商股份有限公司 基于语义理解的加工委托信息提取方法和装置
CN114372458B (zh) * 2022-01-20 2023-04-07 北京零点远景网络科技有限公司 一种基于政务工单的突发事件检测方法
US20230359820A1 (en) * 2022-05-03 2023-11-09 Sap Se Natural language processing to extract skills characterization
CN114970563B (zh) * 2022-07-28 2022-10-25 山东大学 融合内容和形式多样性的中文问题生成方法和系统
CN115168548B (zh) * 2022-09-05 2022-11-22 吉奥时空信息技术股份有限公司 一种基于召回-排序的地址匹配方法
CN115879440A (zh) * 2022-10-04 2023-03-31 阿里巴巴(中国)有限公司 自然语言处理、模型训练方法、装置、设备及存储介质
CN115563283B (zh) * 2022-10-20 2023-04-25 北京大学 一种基于提示学习的文本分类方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008282366A (ja) * 2007-05-14 2008-11-20 Nippon Telegr & Teleph Corp <Ntt> 質問応答装置、質問応答方法、質問応答プログラム並びにそのプログラムを記録した記録媒体
JP2013254420A (ja) * 2012-06-08 2013-12-19 Nippon Telegr & Teleph Corp <Ntt> 質問応答装置、モデル学習装置、方法、及びプログラム
JP2015011426A (ja) * 2013-06-27 2015-01-19 独立行政法人情報通信研究機構 ノン・ファクトイド型質問応答システム及びコンピュータプログラム
JP2018060273A (ja) * 2016-10-03 2018-04-12 エヌ・ティ・ティ レゾナント株式会社 情報処理装置、情報処理方法、及びプログラム
WO2019012908A1 (ja) * 2017-07-13 2019-01-17 国立研究開発法人情報通信研究機構 ノン・ファクトイド型質問応答装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8666983B2 (en) * 2003-06-13 2014-03-04 Microsoft Corporation Architecture for generating responses to search engine queries
US10762438B1 (en) * 2016-06-30 2020-09-01 Facebook, Inc. Extracting questions and answers
US10726206B2 (en) * 2018-01-30 2020-07-28 Disney Enterprises, Inc. Visual reference resolution using attention memory for visual dialog
US11227218B2 (en) * 2018-02-22 2022-01-18 Salesforce.Com, Inc. Question answering from minimal context over documents

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008282366A (ja) * 2007-05-14 2008-11-20 Nippon Telegr & Teleph Corp <Ntt> 質問応答装置、質問応答方法、質問応答プログラム並びにそのプログラムを記録した記録媒体
JP2013254420A (ja) * 2012-06-08 2013-12-19 Nippon Telegr & Teleph Corp <Ntt> 質問応答装置、モデル学習装置、方法、及びプログラム
JP2015011426A (ja) * 2013-06-27 2015-01-19 独立行政法人情報通信研究機構 ノン・ファクトイド型質問応答システム及びコンピュータプログラム
JP2018060273A (ja) * 2016-10-03 2018-04-12 エヌ・ティ・ティ レゾナント株式会社 情報処理装置、情報処理方法、及びプログラム
WO2019012908A1 (ja) * 2017-07-13 2019-01-17 国立研究開発法人情報通信研究機構 ノン・ファクトイド型質問応答装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
前田 英作、外5名: "質問応答システム:SAIQA-何でも答える物知り博士", NTT R&D 第52巻 第2号, vol. 第52巻,第2号, JPN6008016545, 10 February 2003 (2003-02-10), JP, pages 122 - 133, ISSN: 0004819978 *

Also Published As

Publication number Publication date
US20220043972A1 (en) 2022-02-10
WO2020174826A1 (ja) 2020-09-03
JP7120433B2 (ja) 2022-08-17

Similar Documents

Publication Publication Date Title
JP7120433B2 (ja) 回答生成装置、回答学習装置、回答生成方法、及び回答生成プログラム
JP7247878B2 (ja) 回答学習装置、回答学習方法、回答生成装置、回答生成方法、及びプログラム
CN108959396B (zh) 机器阅读模型训练方法及装置、问答方法及装置
CN110209817B (zh) 文本处理模型的训练方法、装置和文本处理方法
CN108875807B (zh) 一种基于多注意力多尺度的图像描述方法
Perez et al. Dialog state tracking, a machine reading approach using memory network
US20220129621A1 (en) Bert-based machine-learning tool for predicting emotional response to text
JP7139626B2 (ja) フレーズ生成関係性推定モデル学習装置、フレーズ生成装置、方法、及びプログラム
JP6848091B2 (ja) 情報処理装置、情報処理方法、及びプログラム
KR102361616B1 (ko) 문맥 정보를 고려한 개체명 인식 방법 및 장치
JP7020547B2 (ja) 情報処理装置、制御方法、及びプログラム
WO2019244803A1 (ja) 回答学習装置、回答学習方法、回答生成装置、回答生成方法、及びプログラム
CN112926655B (zh) 一种图像内容理解与视觉问答vqa方法、存储介质和终端
CN113392640B (zh) 一种标题确定方法、装置、设备及存储介质
Thomas et al. Chatbot using gated end-to-end memory networks
CN114332565A (zh) 一种基于分布估计的条件生成对抗网络文本生成图像方法
CN117236410B (zh) 一种可信的电子文件大语言模型训练、推理方法和装置
CN114282592A (zh) 一种基于深度学习的行业文本匹配模型方法及装置
Rawat et al. Comparative Analysis of Transformer based Models for Question Answering
CN116403231A (zh) 基于双视图对比学习与图剪枝的多跳阅读理解方法及系统
CN115357712A (zh) 方面级情感分析方法、装置、电子设备及存储介质
JPWO2018203551A1 (ja) 信号検索装置、方法、及びプログラム
CN110866195B (zh) 文本描述的生成方法、装置、电子设备及存储介质
JP7452623B2 (ja) 学習装置、情報処理装置、学習方法、情報処理方法及びプログラム
CN113779360A (zh) 基于多头问答模型的解题方法、装置、设备及存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210510

A80 Written request to apply exceptions to lack of novelty of invention

Free format text: JAPANESE INTERMEDIATE CODE: A801

Effective date: 20210511

A80 Written request to apply exceptions to lack of novelty of invention

Free format text: JAPANESE INTERMEDIATE CODE: A80

Effective date: 20210511

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220705

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220718

R150 Certificate of patent or registration of utility model

Ref document number: 7120433

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150