WO2022079826A1 - 学習装置、情報処理装置、学習方法、情報処理方法及びプログラム - Google Patents
学習装置、情報処理装置、学習方法、情報処理方法及びプログラム Download PDFInfo
- Publication number
- WO2022079826A1 WO2022079826A1 PCT/JP2020/038758 JP2020038758W WO2022079826A1 WO 2022079826 A1 WO2022079826 A1 WO 2022079826A1 JP 2020038758 W JP2020038758 W JP 2020038758W WO 2022079826 A1 WO2022079826 A1 WO 2022079826A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- answer
- label
- question
- basis
- learning
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 68
- 230000010365 information processing Effects 0.000 title claims description 10
- 238000003672 processing method Methods 0.000 title claims description 3
- 238000000605 extraction Methods 0.000 claims abstract description 118
- 238000013528 artificial neural network Methods 0.000 claims description 38
- 239000000284 extract Substances 0.000 claims description 14
- 230000006870 function Effects 0.000 claims description 5
- 238000003062 neural network model Methods 0.000 abstract 5
- 238000012545 processing Methods 0.000 description 90
- 238000012549 training Methods 0.000 description 75
- 239000013598 vector Substances 0.000 description 73
- 230000004044 response Effects 0.000 description 31
- 230000008569 process Effects 0.000 description 28
- 238000011156 evaluation Methods 0.000 description 18
- 238000004891 communication Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 238000002474 experimental method Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000007786 learning performance Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002250 progressing effect Effects 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000000087 stabilizing effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Definitions
- the language understanding unit 111 of the rationale extraction processing unit 101 inputs the reference text P and the question Q, and uses the learned rationale model parameters stored in the rationale model parameter storage unit 201 to obtain the question vector q and the sentence.
- the vector set ⁇ si ⁇ is output (step S101).
- the ground extraction unit 112 of the ground extraction processing unit 101 takes the question vector q and the sentence vector set ⁇ si ⁇ as inputs, and uses the learned ground model parameters stored in the ground model parameter storage unit 201.
- the basis ⁇ R is output (step S102).
- the basis extraction unit 112 adds an EOE sentence s EOE , which is a dummy sentence for determining the end of sentence extraction, to the sentence vector set ⁇ si ⁇ , and then GRU (Gated) as in the above non-patent document 1.
- Step3 Next, the basis extraction unit 112 determines whether or not the sentence extracted in Step2 is an EOE sentence s EOE . Then, if the sentence extracted by Step 2 is not EOE sentence s EOE , Step 4 is executed, and if it is EOE sentence s EOE , the process is terminated.
- the sentence vector s EOE is a learned parameter included in the learned basis model parameter (that is, the sentence vector s EOE is a parameter to be learned in the learning process described later).
- the question answering device 10 at the time of inference can obtain the answer ⁇ A by inputting the reference text P and the question Q. Moreover, at this time, the question answering device 10 can also obtain the basis ⁇ R of the answer ⁇ A (that is, the sentence set on which the answer ⁇ A is based).
- the answer ⁇ A and its basis ⁇ R may be output to any output destination inside or outside the question answering device 10 (for example, a display, a storage device, another device connected via a communication network, or the like). ..
- the parameter learning unit 103 calculates the average of the negative log-likelihoods related to the extraction of the base sentence at each time t as the loss LR of the base model (step S204). That is, the parameter learning unit 103 calculates the loss LR as follows.
- the language understanding unit 121 of the answer extraction processing unit 102 uses the answer model parameter being learned stored in the answer model parameter storage unit 202 with the basis ⁇ R and the question Q as inputs, and uses the vector sequence H. Is output (step S205).
- the language understanding unit 121 performs the same processing as in step S103 of FIG. 2 and outputs the vector sequence H.
- a s is a vector having each as and i as an element
- a e is a vector having each ae and i as an element. Further, is is the start point of the answer range indicated by the correct answer A, and j is the end point of the answer range.
- the loss L R and the loss L A are minimized, but the basis model parameter and the answer model parameter may be updated by minimizing the loss L R + LA .
- FIG. 5 is a diagram showing an example of the overall configuration of the question answering device 10 at the time of learning (unsupervised learning) of the first embodiment. Note that FIG. 5 mainly describes the differences from the time of inference, and omits the description of the same components as those at the time of inference.
- the parameter learning unit 103 selects one training data (that is, a set of the reference text P, the question Q, and the correct answer A) from the training data set as the processing target (step S301).
- ⁇ C , ⁇ N and ⁇ E are hyperparameters.
- the regularization term L N represents a penalty for not including an answer in the rationale.
- the regularization term L N is
- the question-and-answer device 10 is realized by a general computer or a computer system, and includes an input device 301, a display device 302, an external I / F 303, and a communication I / F 304. It has a processor 305 and a memory device 306. Each of these hardware is communicably connected via bus 307.
- an answer label indicating that a given question cannot be answered is targeted at a task that combines an extraction type machine reading task and a machine reading task that outputs an answer using an answer label.
- Add'CNA' and configure the machine reading model to output the answer label'CNA' if the reference text does not contain the information needed to answer the question.
- this embodiment has a learning time for learning the parameters of the machine reading comprehension model and an inference time for machine reading comprehension using the machine reading comprehension model using the learned parameters.
- the “inference time” and “learning time” of the question answering device 10 will be described.
- the combination of the answer extraction unit 122 and the answer judgment unit 123 is an example. After predicting the answer label, if the answer label is'CNA', "No answer" is output and'span. In the case of', any combination is possible as long as the answer range is extracted from the grounds ⁇ R.
- the question answering device 10 at the time of inference can obtain the answer ⁇ A and the basis ⁇ R by inputting the reference text P and the question Q. Moreover, at this time, if the question answering device 10 does not include the information necessary for answering the question Q in the reference text P, the question answering device 10 outputs "cannot answer” as the answer ⁇ A. Therefore, the question answering device 10 according to the present embodiment can prevent a situation in which an unanswerable question is forcibly answered. If the answer ⁇ A is "unable to answer", the grounds ⁇ R may not be output.
- FIG. 11 is a flowchart showing an example of the learning process according to the second embodiment.
- the case of learning the basis model parameter and the answer model parameter by online learning will be described, but this is an example, and batch learning, mini-batch learning, and the like can also be applied.
- the data set in which the first training data set and the second training data set are put together is simply referred to as "training data set”.
- the parameter learning unit 103 determines whether or not the training data selected as the processing target in step S501 is the training data in the first training data set (step S504).
- step S505 If it is not determined in step S505 above that the basis ⁇ R includes the correct answer basis R, the parameter learning unit 103 changes the answer label included in the training data to be processed to'CNA'(step S506). This is because when the rationale ⁇ R does not include the correct answer rationale R, the rationale ⁇ R does not contain enough information necessary for the answer.
- the response determination unit 123 of the response extraction processing unit 102 determines whether or not the response label c calculated in step S508 above indicates'span'(step S509). After making this determination (or even before making this determination), the response determination unit 123 outputs the response label c calculated in step S508 above.
- the parameter learning unit 103 calculates various losses (step S511). For example, the parameter learning unit 103 calculates the losses LR and LA as in the supervised learning in the first embodiment. However, the loss LA is calculated by adding the loss related to the response label c (that is, the loss LA in the first embodiment plus the loss related to the response label c) in the present embodiment. Loss LA .).
- the loss related to the answer label c may be, for example, the Cross-Entropy loss of the answer label c and the correct answer label.
- the question and answer device 10 at the time of learning can learn the basis model parameter and the answer model parameter by inputting the training data included in the first training data set and the second training data set.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Machine Translation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一実施形態に係る学習装置は、テキストと質問とを入力として、第1のニューラルネットワークのモデルパラメータを用いて、前記質問に対する回答の根拠となる文字列の集合を前記テキストから抽出する根拠抽出部と、前記質問と前記集合とを入力として、第2のニューラルネットワークのモデルパラメータを用いて、前記回答の種別を表すラベルを予測するラベル予測部と、前記ラベル予測部で予測されたラベルが回答不能を表すラベルでない場合、前記第2のニューラルネットワークのモデルパラメータを用いて、前記集合から前記回答を抽出する回答抽出部と、前記ラベル予測部で予測されたラベルと、前記ラベルに対する正解ラベルとの間の第1の損失を少なくとも用いて、前記第1のニューラルネットワークのモデルパラメータと前記第2のニューラルネットワークのモデルパラメータとを学習する学習部と、を有する。
Description
本発明は、学習装置、情報処理装置、学習方法、情報処理方法及びプログラムに関する。
近年、与えられたテキストを参照し読み解きながら質問に回答する機械読解が注目を集めており、様々な機械読解モデルが提案されている。しかしながら、機械読解モデルはブラックボックスであり、その回答の根拠がわからないという課題がある。この課題に対して、回答の根拠を提示する機械読解モデルが提案されている(非特許文献1)。
K. Nishida, K. Nishida, M. Nagata, A. Otsuka, I. Saito, H. Asano, and J. Tomita. Answering while summarizing: Multi-task learning for multi-hop QA with evidence extraction. In ACL, pp. 2335-2345, 2019.
しかしながら、上記の非特許文献1に記載されている機械読解モデルが提示する根拠は、訓練データ中のアノテーションを再現しているだけであり、厳密な意味での根拠になっていなかった。
本発明の一実施形態は、上記の点に鑑みてなされたもので、回答の根拠を提示可能な機械読解を実現することを目的とする。
上記目的を達成するため、一実施形態に係る学習装置は、テキストと質問とを入力として、第1のニューラルネットワークのモデルパラメータを用いて、前記質問に対する回答の根拠となる文字列の集合を前記テキストから抽出する根拠抽出部と、前記質問と前記集合とを入力として、第2のニューラルネットワークのモデルパラメータを用いて、前記回答の種別を表すラベルを予測するラベル予測部と、前記ラベル予測部で予測されたラベルが回答不能を表すラベルでない場合、前記第2のニューラルネットワークのモデルパラメータを用いて、前記集合から前記回答を抽出する回答抽出部と、前記ラベル予測部で予測されたラベルと、前記ラベルに対する正解ラベルとの間の第1の損失を少なくとも用いて、前記第1のニューラルネットワークのモデルパラメータと前記第2のニューラルネットワークのモデルパラメータとを学習する学習部と、を有する。
回答の根拠を提示可能な機械読解を実現することができる。
以下、本発明の一実施形態について説明する。
[第一の実施形態]
まず、第一の実施形態について説明する。本実施形態では、回答の抽出対象となる参照テキストとこの参照テキストに関連する質問とが与えられたときに、回答を提示すると共に、当該回答の根拠を提示可能な機械読解を実現する質問応答装置10について説明する。
まず、第一の実施形態について説明する。本実施形態では、回答の抽出対象となる参照テキストとこの参照テキストに関連する質問とが与えられたときに、回答を提示すると共に、当該回答の根拠を提示可能な機械読解を実現する質問応答装置10について説明する。
機械読解は、ニューラルネットワーク等で構成される機械読解モデルにより実現される。本実施形態では、回答の根拠を提示可能な機械読解モデルを解釈可能であるといい、以下で定義する。
定義(解釈可能な機械読解モデル):機械読解モデルが解釈可能であるとは、機械読解モデルが以下の入出力を持つ2つのモデルで構成されていることをいう。
・根拠モデル:参照テキストと質問とを入力として、根拠を出力するモデル
・回答モデル:根拠と質問とを入力として、回答を出力するモデル
ここで、根拠は参照テキストの部分文字列の集合である。本実施形態では、根拠は文の集合であるものとする。ただし、これに限られず、根拠は、文よりも長い文字列(例えば、段落等)の集合であってもよいし、文よりも短い文字列(例えば、フレーズ等)の集合であってもよい。
・回答モデル:根拠と質問とを入力として、回答を出力するモデル
ここで、根拠は参照テキストの部分文字列の集合である。本実施形態では、根拠は文の集合であるものとする。ただし、これに限られず、根拠は、文よりも長い文字列(例えば、段落等)の集合であってもよいし、文よりも短い文字列(例えば、フレーズ等)の集合であってもよい。
解釈可能な機械読解モデルは、参照テキストに含まれる文字列のうち、根拠に含まれる文字列のみを回答モデルに入力する。すなわち、根拠以外の情報(例えば、根拠モデルの隠れ状態等)は回答モデルでは利用しない。このため、(1)厳密な意味で回答の根拠を提示可能であり、(2)回答モデルは根拠と質問の情報のみを持つため、回答を予測した理由を十分短い根拠(つまり、参照テキストよりも十分短い文字列である根拠)に限定することができ、(3)回答モデルの入力が短くなるため、回答モデルで計算コストの高い処理を許容することが可能となる、という利点がある。また、後述する教師なし学習により学習を行うことで、(4)人手のアノテーションではなく、機械読解モデルが高精度に回答するために必要な根拠を学習させることが可能となる、という利点もある。
ここで、本実施形態は、機械読解モデルのパラメータ(つまり、根拠モデルのパラメータと回答モデルのパラメータ)を学習する学習時と、学習済みのパラメータを用いた機械読解モデルにより機械読解を行う推論時とがある。また、本実施形態では、機械読解モデルのパラメータの学習方法として、根拠の正解データ及び回答の正解データの両方を利用する教師あり学習と、根拠の正解データは利用しない教師なし学習との2つの学習方法について説明する。そこで、以降では、質問応答装置10の「推論時」、「学習(教師あり学習)時」、「学習(教師なし学習)時」について説明する。
≪推論時≫
まず、機械読解モデルのパラメータが学習済みであるものとして、学習済みのパラメータを用いて機械読解モデルにより機械読解を行う場合について説明する。推論時における質問応答装置10には、参照テキストPと、この参照テキストPに関連する質問Qとが入力される。
まず、機械読解モデルのパラメータが学習済みであるものとして、学習済みのパラメータを用いて機械読解モデルにより機械読解を行う場合について説明する。推論時における質問応答装置10には、参照テキストPと、この参照テキストPに関連する質問Qとが入力される。
<推論時における質問応答装置10の全体構成>
推論時における質問応答装置10の全体構成について、図1を参照しながら説明する。図1は、第一の実施形態の推論時における質問応答装置10の全体構成の一例を示す図である。
推論時における質問応答装置10の全体構成について、図1を参照しながら説明する。図1は、第一の実施形態の推論時における質問応答装置10の全体構成の一例を示す図である。
図1に示すように、推論時における質問応答装置10は、機械読解モデルを実現する根拠抽出処理部101及び回答抽出処理部102と、根拠モデルのパラメータ(以下、「根拠モデルパラメータ」という。)を記憶する根拠モデルパラメータ記憶部201と、回答モデルのパラメータ(以下、「回答モデルパラメータ」という。)を記憶する回答モデルパラメータ記憶部202とを有する。
根拠抽出処理部101は根拠モデルにより実現され、参照テキストPと質問Qとを入力として、根拠モデルパラメータ記憶部201に記憶されている学習済み根拠モデルパラメータを用いて、根拠
言語理解部111は、参照テキストPと質問Qとを入力として、質問ベクトルqと参照テキストP中の全ての文ベクトルの集合{si}とを出力する。根拠抽出部112は、質問ベクトルqと文ベクトル集合{si}とを入力として、根拠^Rを出力する。
回答抽出処理部102は回答モデルにより実現され、根拠^Rと質問Qとを入力として、回答モデルパラメータ記憶部202に記憶されている学習済み回答モデルパラメータを用いて、回答^Aを出力する。ここで、回答抽出処理部102には、言語理解部121と、回答抽出部122とが含まれる。
言語理解部121は、根拠^Rと質問Qとを入力として、ベクトル系列Hを出力する。回答抽出部122は、ベクトル系列Hを入力として、回答^A(より正確には、根拠^R中で回答範囲の始点及び終点となるスコア)を出力する。
なお、図1に示す例では、根拠モデルパラメータ記憶部201と回答モデルパラメータ記憶部202を異なる記憶部としているが、同一の記憶部であってもよい。また、根拠モデルパラメータ及び回答モデルパラメータのうち、言語理解部111が用いるパラメータと言語理解部121が用いるパラメータとは同一であってもよい(つまり、言語理解部111と言語理解部121でパラメータを共有していてもよい。)。
<推論処理>
次に、本実施形態に係る推論処理について、図2を参照しながら説明する。図2は、第一の実施形態に係る推論処理の一例を示すフローチャートである。
次に、本実施形態に係る推論処理について、図2を参照しながら説明する。図2は、第一の実施形態に係る推論処理の一例を示すフローチャートである。
まず、根拠抽出処理部101の言語理解部111は、参照テキストPと質問Qとを入力として、根拠モデルパラメータ記憶部201に記憶されている学習済み根拠モデルパラメータを用いて、質問ベクトルqと文ベクトル集合{si}とを出力する(ステップS101)。
具体的には、言語理解部111は、参照テキストPと質問Qとをトークン系列['[CLSQ]';質問;'[SEPQ]';'[CLSP]';文1;'[SEPP]';・・・;'[CLSP]';文n;'[SEPP]']としてBERT(Bidirectional Encoder Representations from Transformers)に入力する。ここで、'[CLSQ]',[SEPQ]','[CLSP]','[SEPP]'は特殊トークン、nは参照テキストP中の文数である。なお、BERT以外の他の事前学習済み言語モデルが用いられてもよい。
そして、言語理解部111は、BERTの出力のうち、'[CLSQ]'に相当する位置のベクトルを質問ベクトルq∈Rd、i番目の'[CLSP]'に相当する位置のベクトルをi文目の文ベクトルsi∈Rdとする。dはBERTの出力の次元である。なお、Rdはd次元の実空間である。
これにより、質問ベクトルqと文ベクトル集合{si}とが得られる。なお、BERTについては、例えば、参考文献1「Jacob Devlin, Ming-Wei Chang, Kenton Lee, Kristina Toutanova, "BERT: Pre-training of Deep Bidirectional Transformers for Language」を参照されたい。
なお、例えば、参照テキストPが長文でBERTに入力できない場合、適当な長さで参照テキストPを分割した複数の分割参照テキストを作成した上で、これら複数の分割参照テキストのそれぞれ(と質問Q)をBERTに入力すればよい。この場合、文ベクトル集合{si}は各分割参照テキストから得られた文ベクトルの集合とすればよく、質問ベクトルqは各分割参照テキストから得られた質問ベクトルの平均とすればよい。
次に、根拠抽出処理部101の根拠抽出部112は、質問ベクトルqと文ベクトル集合{si}とを入力として、根拠モデルパラメータ記憶部201に記憶されている学習済み根拠モデルパラメータを用いて、根拠^Rを出力する(ステップS102)。根拠抽出部112は、文抽出の終了を判定するためのダミー文であるEOE文sEOEを文ベクトル集合{si}に追加した上で、上記の非特許文献1と同様に、GRU(Gated recurrent unit)を用いて再帰的に文を抽出することで根拠^R={^rt}を得る。
すなわち、根拠抽出部112は、時刻t毎に、文^rtを抽出してその文^rtの文ベクトルを用いて質問ベクトルqtを更新する処理を、終了条件を満たすまで繰り返し実行することで根拠^R={^rt}を得る。具体的には、根拠抽出部112は、時刻t(t=0,1,・・・)毎に以下のStep1~Step4を繰り返し実行する。なお、q0=qとする
Step1:根拠抽出部112は、質問ベクトルqtを用いて、以下により文iのスコアを得る。
Step1:根拠抽出部112は、質問ベクトルqtを用いて、以下により文iのスコアを得る。
Step2:次に、根拠抽出部112は、以下により文^rtを抽出する。
Step3:次に、根拠抽出部112は、上記のStep2で抽出した文がEOE文sEOEであるか否かを判定する。そして、上記のStep2で抽出した文がEOE文sEOEでなければStep4を実行し、EOE文sEOEであれば処理を終了する。ここで、文ベクトルsEOEは学習済み根拠モデルパラメータに含まれる学習済みパラメータである(つまり、文ベクトルsEOEは、後述する学習処理で学習対象となるパラメータである。)。
Step4:根拠抽出部112は、上記のStep2で抽出した文の文ベクトルを用いて、以下により質問ベクトルqtを更新する。
終了条件を満たすまで(つまり、上記のStep2でEOE文sEOEが抽出されるまで)、時刻t毎に上記のStep1~Step4が繰り返し実行され、根拠^R={^rt}が得られる。
次に、回答抽出処理部102の言語理解部121は、根拠^Rと質問Qとを入力として、回答モデルパラメータ記憶部202に記憶されている学習済み回答モデルパラメータを用いて、ベクトル系列Hを出力する(ステップS103)。
具体的には、言語理解部121は、根拠^Rと質問Qとをトークン系列['[CLS]';質問;'[SEP]';文r1;・・・;文rT;'[SEP]']としてBERTに入力する。ここで、'[CLS]','[SEP]'は特殊トークン、Tは根拠^Rに含まれる文数である。なお、BERT以外の他の事前学習済み言語モデルが用いられてもよい。
そして、言語理解部121は、各トークンのベクトルの系列H=[h1,・・・,hk]∈Rk×dを出力する。ここで、kは系列長である。なお、Rk×dはk×d次元の実空間である。
次に、回答抽出処理部102の回答抽出部122は、ベクトル系列Hを入力として、回答モデルパラメータ記憶部202に記憶されている学習済み回答モデルパラメータを用いて、回答^Aを出力する(ステップS104)。
具体的には、回答抽出部122は、ベクトル系列Hを以下の線形変換により回答のスコアに変換する。
これにより、第iトークンが回答の始点となるスコアと終点となるスコアとが得られる。したがって、例えば、as,iが最も高いトークンを回答範囲の始点、ae,iが最も高いトークンを回答範囲の終点とすることで、この回答範囲(又は、この回答範囲内の文)が回答^Aとして得られる。
以上により、推論時における質問応答装置10は、参照テキストPと質問Qとを入力として、回答^Aを得ることができる。しかも、このとき、質問応答装置10は、この回答^Aの根拠^R(つまり、回答^Aの根拠となった文集合)を得ることもできる。なお、この回答^A及びその根拠^Rは質問応答装置10の内外の任意の出力先(例えば、ディスプレイや記憶装置、通信ネットワークを介して接続される他の装置等)に出力されてもよい。
≪学習(教師あり学習)時≫
次に、機械読解モデルのパラメータは学習済みでないものとして、このパラメータを教師あり学習により学習する場合について説明する。学習(教師あり学習)時における質問応答装置10には、参照テキストPと、この参照テキストPに関連する質問Qと、この質問Qに対する真の回答の回答範囲を示す正解回答Aと、この正解回答Aの真の根拠を示す正解根拠Rとが含まれる訓練データの集合(訓練データセット)が入力される。
次に、機械読解モデルのパラメータは学習済みでないものとして、このパラメータを教師あり学習により学習する場合について説明する。学習(教師あり学習)時における質問応答装置10には、参照テキストPと、この参照テキストPに関連する質問Qと、この質問Qに対する真の回答の回答範囲を示す正解回答Aと、この正解回答Aの真の根拠を示す正解根拠Rとが含まれる訓練データの集合(訓練データセット)が入力される。
<学習(教師あり学習)時における質問応答装置10の全体構成>
学習(教師あり学習)時における質問応答装置10の全体構成について、図3を参照しながら説明する。図3は、第一の実施形態の学習(教師あり学習)時における質問応答装置10の全体構成の一例を示す図である。なお、図3では、主に、推論時との相違点について説明し、推論時と同様の構成要素についてはその説明を省略する。
学習(教師あり学習)時における質問応答装置10の全体構成について、図3を参照しながら説明する。図3は、第一の実施形態の学習(教師あり学習)時における質問応答装置10の全体構成の一例を示す図である。なお、図3では、主に、推論時との相違点について説明し、推論時と同様の構成要素についてはその説明を省略する。
図3に示すように、学習(教師あり学習)時における質問応答装置10は、機械読解モデルを実現する根拠抽出処理部101及び回答抽出処理部102と、根拠モデルパラメータ及び回答モデルパラメータを学習するパラメータ学習部103と、根拠モデルパラメータを記憶する根拠モデルパラメータ記憶部201と、回答モデルパラメータを記憶する回答モデルパラメータ記憶部202とを有する。なお、根拠モデルパラメータ記憶部201には学習済みでない(つまり、学習中の)根拠モデルパラメータが記憶されており、回答モデルパラメータ記憶部202にも学習中の回答モデルパラメータが記憶されている。
パラメータ学習部103は、根拠^Rと正解根拠Rとの誤差(損失)を用いて根拠モデルパラメータを学習すると共に、回答^Aと正解回答Aとの誤差(損失)を用いて回答モデルパラメータを学習する。
<教師あり学習処理>
次に、本実施形態に係る教師あり学習処理について、図4を参照しながら説明する。図4は、第一の実施形態に係る教師あり学習処理の一例を示すフローチャートである。以降では、オンライン学習により根拠モデルパラメータ及び回答モデルパラメータを学習する場合について説明するが、これは一例であって、バッチ学習やミニバッチ学習等も適用可能である。
次に、本実施形態に係る教師あり学習処理について、図4を参照しながら説明する。図4は、第一の実施形態に係る教師あり学習処理の一例を示すフローチャートである。以降では、オンライン学習により根拠モデルパラメータ及び回答モデルパラメータを学習する場合について説明するが、これは一例であって、バッチ学習やミニバッチ学習等も適用可能である。
パラメータ学習部103は、訓練データセットから1件の訓練データ(つまり、参照テキストPと質問Qと正解回答Aと正解根拠Rとの組)を処理対象として選択する(ステップS201)。
次に、根拠抽出処理部101の言語理解部111は、上記のステップS201で処理対象として選択された訓練データに含まれる参照テキストPと質問Qとを入力として、根拠モデルパラメータ記憶部201に記憶されている学習中の根拠モデルパラメータを用いて、質問ベクトルqと文ベクトル集合{si}とを出力する(ステップS202)。なお、言語理解部111は、図2のステップS101と同様の処理を行って質問ベクトルqと文ベクトル集合{si}とを出力する。
次に、根拠抽出処理部101の根拠抽出部112は、質問ベクトルqと文ベクトル集合{si}とを入力として、根拠モデルパラメータ記憶部201に記憶されている学習中の根拠モデルパラメータを用いて、根拠^Rを出力する(ステップS203)。根拠抽出部112は、EOE文sEOEを文ベクトル集合{si}に追加した上で、図2のステップS102と同様に、時刻t(t=0,1,・・・)毎に上記のStep1~Step4を繰り返し実行する。ただし、上記のStep2で文^rtを抽出する際、根拠抽出部112は、Teacher-Forcingを用いて文^rtを抽出する。すなわち、根拠抽出部112は、以下により文^rtを抽出する。
なお、正解根拠Rに含まれる文同士には順序が存在しないため、上記のargmax操作によって未だ選ばれていない根拠Rの中で最もスコアが高い文を時刻tの正解データとみなしている。そのため、教師あり学習によって、根拠モデルは質問Qにとって重要な情報を含む順に文を抽出(選択)することが期待される。
次に、パラメータ学習部103は、根拠モデルの損失LRとして、各時刻tで根拠となる文の抽出に関する負の対数尤度の平均を算出する(ステップS204)。すなわち、パラメータ学習部103は、以下により損失LRを算出する。
次に、回答抽出処理部102の言語理解部121は、根拠^Rと質問Qとを入力として、回答モデルパラメータ記憶部202に記憶されている学習中の回答モデルパラメータを用いて、ベクトル系列Hを出力する(ステップS205)。なお、言語理解部121は、図2のステップS103と同様の処理を行ってベクトル系列Hを出力する。
次に、回答抽出処理部102の回答抽出部122は、ベクトル系列Hを入力として、回答モデルパラメータ記憶部202に記憶されている学習中の回答モデルパラメータを用いて、回答^Aを出力する(ステップS206)。なお、回答抽出部122は、図2のステップS104と同様の処理を行って回答^Aを出力する。
次に、パラメータ学習部103は、回答モデルの損失LAとして、回答^Aと正解回答AのCross-Entropy損失の和を算出する(ステップS207)。すなわち、パラメータ学習部103は、以下により損失LAを算出する。
次に、パラメータ学習部103は、上記のステップS204で算出した損失LRを用いて根拠モデルパラメータを学習すると共に、上記のステップS207で算出した損失LAを用いて回答モデルパラメータを学習する(ステップS208)。すなわち、パラメータ学習部103は、損失LRの値及びその勾配を算出し、損失LRの値が最小となるように根拠モデルパラメータを更新する。同様に、パラメータ学習部103は、損失LAの値及びその勾配を算出し、損失LAの値が最小となるように回答モデルパラメータを更新する。
なお、上記では損失LRと損失LAとをそれぞれ最小化させたが、損失LR+LAを最小化させることで、根拠モデルパラメータと回答モデルパラメータとを更新してもよい。
次に、パラメータ学習部103は、訓練データセット中の全ての訓練データが処理対象として選択されたか否かを判定する(ステップS209)。未だ処理対象として選択されていない訓練データが存在する場合(ステップS209でNO)、パラメータ学習部103は、ステップS201に戻る。これにより、訓練データセット中の全ての訓練データに対して上記のステップS201~ステップS208が実行される。
一方で、訓練データセット中の全ての訓練データが処理対象として選択された場合(ステップS209でYES)、パラメータ学習部103は、収束条件を満たすか否かを判定する(ステップS210)。収束条件を満たす場合(ステップS210でYES)は、パラメータ学習部103は学習処理を終了する。一方で、収束条件を満たさない場合(ステップS210でNO)は、パラメータ学習部103は、訓練データセット中の全ての訓練データが処理対象として選択されていないものとした上で、ステップS201に戻る。ここで、収束条件としては、例えば、上記のステップS201~ステップS208が処理された回数(反復回数)が所定の回数以上となったこと等が挙げられる。
以上により、学習(教師あり学習)時における質問応答装置10は、参照テキストPと質問Qと正解回答Aと正解根拠Rとが含まれる訓練データを入力として、根拠モデルパラメータ及び回答モデルパラメータを学習することができる。なお、図4では1つの学習処理の中で根拠モデルパラメータと回答モデルパラメータとを学習させたが、これに限られず、根拠モデルパラメータと回答モデルパラメータとを別々の学習処理の中で学習させてもよい。
≪学習(教師なし学習)時≫
次に、教師なし学習により機械読解モデルのパラメータを学習する場合について説明する。学習(教師なし学習)時における質問応答装置10には、参照テキストPと、この参照テキストPに関連する質問Qと、この質問Qに対する真の回答の回答範囲を示す正解回答Aとが含まれる訓練データの集合(訓練データセット)が入力される。このように、教師なし学習時には、正解回答Aの真の根拠を示す正解根拠Rが与えられない(つまり、教師なしとは正解根拠Rが与えられないことを意味する。)。このため、正解根拠Rが入手できない又は存在しない場合であっても、機械読解モデルのパラメータを学習することができる。
次に、教師なし学習により機械読解モデルのパラメータを学習する場合について説明する。学習(教師なし学習)時における質問応答装置10には、参照テキストPと、この参照テキストPに関連する質問Qと、この質問Qに対する真の回答の回答範囲を示す正解回答Aとが含まれる訓練データの集合(訓練データセット)が入力される。このように、教師なし学習時には、正解回答Aの真の根拠を示す正解根拠Rが与えられない(つまり、教師なしとは正解根拠Rが与えられないことを意味する。)。このため、正解根拠Rが入手できない又は存在しない場合であっても、機械読解モデルのパラメータを学習することができる。
<学習(教師なし学習)時における質問応答装置10の全体構成>
学習(教師なし学習)時における質問応答装置10の全体構成について、図5を参照しながら説明する。図5は、第一の実施形態の学習(教師なし学習)時における質問応答装置10の全体構成の一例を示す図である。なお、図5では、主に、推論時との相違点について説明し、推論時と同様の構成要素についてはその説明を省略する。
学習(教師なし学習)時における質問応答装置10の全体構成について、図5を参照しながら説明する。図5は、第一の実施形態の学習(教師なし学習)時における質問応答装置10の全体構成の一例を示す図である。なお、図5では、主に、推論時との相違点について説明し、推論時と同様の構成要素についてはその説明を省略する。
図5に示すように、学習(教師なし学習)時における質問応答装置10は、機械読解モデルを実現する根拠抽出処理部101及び回答抽出処理部102と、根拠モデルパラメータ及び回答モデルパラメータを学習するパラメータ学習部103と、根拠モデルパラメータを記憶する根拠モデルパラメータ記憶部201と、回答モデルパラメータを記憶する回答モデルパラメータ記憶部202とを有する。なお、根拠モデルパラメータ記憶部201には学習中の根拠モデルパラメータが記憶されており、回答モデルパラメータ記憶部202にも学習中の回答モデルパラメータが記憶されている。
パラメータ学習部103は、回答^Aの損失を用いて根拠モデルパラメータ及び回答モデルパラメータを学習する。
<教師なし学習処理>
次に、本実施形態に係る教師なし学習処理について、図6を参照しながら説明する。図6は、第一の実施形態に係る教師なし学習処理の一例を示すフローチャートである。以降では、オンライン学習により根拠モデルパラメータ及び回答モデルパラメータを学習する場合について説明するが、これは一例であって、バッチ学習やミニバッチ学習等も適用可能である。
次に、本実施形態に係る教師なし学習処理について、図6を参照しながら説明する。図6は、第一の実施形態に係る教師なし学習処理の一例を示すフローチャートである。以降では、オンライン学習により根拠モデルパラメータ及び回答モデルパラメータを学習する場合について説明するが、これは一例であって、バッチ学習やミニバッチ学習等も適用可能である。
パラメータ学習部103は、訓練データセットから1件の訓練データ(つまり、参照テキストPと質問Qと正解回答Aとの組)を処理対象として選択する(ステップS301)。
次に、根拠抽出処理部101の言語理解部111は、上記のステップS301で処理対象として選択された訓練データに含まれる参照テキストPと質問Qとを入力として、根拠モデルパラメータ記憶部201に記憶されている学習中の根拠モデルパラメータを用いて、質問ベクトルqと文ベクトル集合{si}とを出力する(ステップS302)。なお、言語理解部111は、図2のステップS101と同様の処理を行って質問ベクトルqと文ベクトル集合{si}とを出力する。
次に、根拠抽出処理部101の根拠抽出部112は、質問ベクトルqと文ベクトル集合{si}とを入力として、根拠モデルパラメータ記憶部201に記憶されている学習中の根拠モデルパラメータを用いて、根拠^Rを出力する(ステップS303)。根拠抽出部112は、EOE文sEOEを文ベクトル集合{si}に追加した上で、図2のステップS102と同様に、時刻t(t=0,1,・・・)毎に上記のStep1~Step4を繰り返し実行する。ただし、根拠となる文の抽出操作argmaxは微分不可であるため、上記のStep2で文^rtを抽出する際、根拠抽出部112は、gumbel-softmax trickによるサンプリングで根拠となる文^rtを抽出する。
具体的には、gi(i=1,・・・,n)を一様独立なgumbel分布からサンプリングした確率変数(すなわち、ui~Uniform(0,1),gi=-log(-log(ui))とする。)とする。このとき、根拠抽出部112は、時刻tに抽出する文^rtを
ここで、上述したように、根拠の抽出操作argmaxは微分不可である。また、文集合の中から文を抽出するためのone-hotベクトルを作成する操作も微分不可である。そこで、後述する損失Lの勾配を計算する際(つまり、損失を逆伝播(誤差逆伝搬)する際)には、straight-through gumbel-softmax estimatorをone-hotベクトルの微分値の近似値として用いる。すなわち、one-hotベクトル
次に、回答抽出処理部102の言語理解部121は、根拠^Rと質問Qとを入力として、回答モデルパラメータ記憶部202に記憶されている学習中の回答モデルパラメータを用いて、ベクトル系列Hを出力する(ステップS304)。なお、言語理解部121は、図2のステップS103と同様の処理を行ってベクトル系列Hを出力する。
次に、回答抽出処理部102の回答抽出部122は、ベクトル系列Hを入力として、回答モデルパラメータ記憶部202に記憶されている学習中の回答モデルパラメータを用いて、回答^Aを出力する(ステップS305)。なお、回答抽出部122は、図2のステップS104と同様の処理を行って回答^Aを出力する。
次に、パラメータ学習部103は、回答Aの損失を含む損失Lを算出する(ステップS306)。回答Aの損失としては、本来は確率分布
そして、損失LAと、学習を補助する目的の正則化項LC、LN及びLEとを用いて、損失Lを、L=LA+λCLC+λNLN+λELEとする。ここで、λC、λN及びλEはハイパーパラメータである。
正則化項LCは根拠として抽出した情報が、質問が言及する情報を包含しないことへの罰則を表す。正則化項LCは、
正則化項LNは根拠中に回答が含まれないことへの罰則を表す。正則化項LNは、
また、ReLUの代わりに、ランキング問題で使われる損失関数が用いられてもよい。例えば、RankNetの損失関数を用いる場合、正則化項LNは、
なお、根拠中に回答が含まれない場合、Cross-Entropy損失によって損失LAを計算することができない。このため、根拠中に回答が含まれない場合は、損失LAを計算する前に、
正則化項LEは強化学習等でよく用いられるエントロピー正則化であり、
次に、パラメータ学習部103は、上記のステップS306で算出した損失Lを用いて根拠モデルパラメータ及び回答モデルパラメータを学習する(ステップS307)。すなわち、パラメータ学習部103は、損失Lの値及びその勾配を算出し、損失Lの値が最小となるように根拠モデルパラメータ及び回答モデルパラメータを更新する。
次に、パラメータ学習部103は、訓練データセット中の全ての訓練データが処理対象として選択されたか否かを判定する(ステップS308)。未だ処理対象として選択されていない訓練データが存在する場合(ステップS308でNO)、パラメータ学習部103は、ステップS301に戻る。これにより、訓練データセット中の全ての訓練データに対して上記のステップS301~ステップS307が実行される。
一方で、訓練データセット中の全ての訓練データが処理対象として選択された場合(ステップS308でYES)、パラメータ学習部103は、収束条件を満たすか否かを判定する(ステップS309)。収束条件を満たす場合(ステップS309でYES)は、パラメータ学習部103は学習処理を終了する。一方で、収束条件を満たさない場合(ステップS309でNO)は、パラメータ学習部103は、訓練データセット中の全ての訓練データが処理対象として選択されていないものとした上で、ステップS301に戻る。ここで、収束条件としては、例えば、上記のステップS301~ステップS307が処理された回数(反復回数)が所定の回数以上となったこと等が挙げられる。
以上により、学習(教師なし学習)時における質問応答装置10は、参照テキストPと質問Qと正解回答Aとが含まれる訓練データを入力として(つまり、正解根拠Rを入力しなくても)、根拠モデルパラメータ及び回答モデルパラメータを学習することができる。なお、教師なし学習では学習の安定のため、事前学習を行うことが好ましい。正解根拠Rが存在する場合には、上述した教師あり学習を事前学習とすればよい。一方で、正解根拠Rが存在しない場合には、疑似的な正解根拠を用いて半教師あり学習で事前学習を行えばよい。このような疑似的な正解根拠は、例えば、文の根拠らしさを表すラベルを各文に付与した上で、このラベルの値が所定の閾値以上となる文の集合とすればよい。このラベルの値は任意の式で決定すればよいが、例えば、文と質問のTF-IDF類似度等を用いることができる。また、回答を含む文集合SAに含まれる文のうちの少なくとも1つ文が、疑似的な正解根拠に含まれるようにする。
<評価>
以下、本実施形態の評価について説明する。
以下、本実施形態の評価について説明する。
(データセット)
正解根拠(つまり、根拠の教師データ)を持つデータセットであるHotpotQAを用いて評価した。HotpotQAでは、質問QはWikipedia中の2段落に跨る内容を問うように作成される。参照テキストPは当該2段落を繋げたテキストとした。出力は回答Aと根拠Rである。回答Aは回答ラベル{yes,no,span}のいずれかと回答区間(回答範囲)である。回答区間は、回答ラベルが'span'のときのみ存在する。よって、回答モデルでは回答区間の分類に加えて回答ラベルの分類も行なった。質問Qが2段落に跨る内容を問う質問に限定されているため、根拠Rは2文以上となる。以降では、便宜上、根拠Rに含まれる文のうち、回答Aを含む文を回答文、回答を含まないが回答するために必要な文を補助文と呼ぶ。なお、HotpotQAについては、例えば、参考文献3「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. In EMNLP, pp. 2369-2380, 2018.」等を参照されたい。
正解根拠(つまり、根拠の教師データ)を持つデータセットであるHotpotQAを用いて評価した。HotpotQAでは、質問QはWikipedia中の2段落に跨る内容を問うように作成される。参照テキストPは当該2段落を繋げたテキストとした。出力は回答Aと根拠Rである。回答Aは回答ラベル{yes,no,span}のいずれかと回答区間(回答範囲)である。回答区間は、回答ラベルが'span'のときのみ存在する。よって、回答モデルでは回答区間の分類に加えて回答ラベルの分類も行なった。質問Qが2段落に跨る内容を問う質問に限定されているため、根拠Rは2文以上となる。以降では、便宜上、根拠Rに含まれる文のうち、回答Aを含む文を回答文、回答を含まないが回答するために必要な文を補助文と呼ぶ。なお、HotpotQAについては、例えば、参考文献3「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. In EMNLP, pp. 2369-2380, 2018.」等を参照されたい。
(実験設定)
本評価では、BERTBaseを用いた3つの手法を比較した。ベースラインモデルは根拠モデルなしのモデルであり、回答モデルに直接参照テキストPと質問Qとを入力する。本実施形態の手法としては、教師あり学習と、教師あり学習の後に教師なし学習を行った追加学習とを評価した。教師あり学習ではバッチサイズを60、エポック数を3、最適化手法をAdam、学習率を5e-5とし、教師なし学習ではエポック数を1、学習率を5e-6、τを0.001、λCを0、λNを1、λEを0.001として、GPU(Graphics Processing Unit)を用いて学習を行った。
本評価では、BERTBaseを用いた3つの手法を比較した。ベースラインモデルは根拠モデルなしのモデルであり、回答モデルに直接参照テキストPと質問Qとを入力する。本実施形態の手法としては、教師あり学習と、教師あり学習の後に教師なし学習を行った追加学習とを評価した。教師あり学習ではバッチサイズを60、エポック数を3、最適化手法をAdam、学習率を5e-5とし、教師なし学習ではエポック数を1、学習率を5e-6、τを0.001、λCを0、λNを1、λEを0.001として、GPU(Graphics Processing Unit)を用いて学習を行った。
(評価と議論)
以上のデータセットと実験設定で実験を行った場合における回答と根拠の評価結果を以下の表1に示す。
以上のデータセットと実験設定で実験を行った場合における回答と根拠の評価結果を以下の表1に示す。
また、解釈可能な機械読解モデルと追加学習(教師あり学習+教師なし学習)の有効性検証のため、以下の(a)~(c)のリサーチクエスチョンについて議論する。
(a)本実施形態の手法は回答精度の向上に貢献するか
回答精度に関して、本実施形態の手法(教師あり学習、追加学習)はベースラインの性能を上回った。特にベースラインの性能を上回ったことで、回答モデルの前に根拠モデルを用いる解釈可能な機械読解モデルが、回答モデル単体に比べて精度よく回答できることを確認した。これは、根拠モデルが不要なテキストを取り除く効果があり、回答モデルでの推論が容易になるためであると考えられる。
回答精度に関して、本実施形態の手法(教師あり学習、追加学習)はベースラインの性能を上回った。特にベースラインの性能を上回ったことで、回答モデルの前に根拠モデルを用いる解釈可能な機械読解モデルが、回答モデル単体に比べて精度よく回答できることを確認した。これは、根拠モデルが不要なテキストを取り除く効果があり、回答モデルでの推論が容易になるためであると考えられる。
また、追加学習によって回答精度がさらに向上することを確認した。これは、追加学習によって回答モデルが正答しやすい根拠を根拠モデルが学習したためであると考えられる。
(b)追加学習で根拠モデルの挙動がどう変化したか
教師あり学習と追加学習での根拠の出力の変化を以下の表2に示す。
教師あり学習と追加学習での根拠の出力の変化を以下の表2に示す。
Recall重視に変わった理由を調査するため、根拠文の種類(回答文、補助文)別でRecallを評価した。その評価結果を以下の表3に示す。
追加学習でRecallが増大した理由は、回答の損失LAと根拠に回答がないことの罰則を表す正則化項LNとに求めることができる。上記の表3において、追加学習では回答文より補助文の方が選ばれやすくなっている。正則化項LNには回答文を選びやすくする効果しかないため、損失LAが根拠の抽出の変化に寄与していることがわかる。本結果は、回答モデルが回答するにあたって根拠が過剰であることよりも不足することの方が悪影響であることを、根拠モデルが回答の損失LAから学習していることを示唆している。
(c)追加学習で回答モデルの挙動がどう変化したか
回答モデル単体としての性能を評価するため、根拠の予測結果で開発データを4つのドメイン「全て」、「完全一致」、「過剰」、「不足」に分類して評価を行った。「全て」は全ての開発データのドメイン、「完全一致」は教師あり学習と追加学習とで根拠の抽出結果^Rが真の根拠Rに対して完全一致(R=^R)したデータのドメイン、「過剰」は教師あり学習と追加学習とで根拠の抽出結果^Rが真の根拠Rに対して過剰(Rは^Rの真部分集合)となったデータのドメイン、「不足」は教師あり学習と追加学習とで根拠の抽出結果^Rが真の根拠Rに対して不足(^RはRの真部分集合)なったデータのドメインである。回答ラベルが'span'かつ回答文を抽出していないサンプルでは回答が不可能であるため、分析に用いなかった。このときの評価結果を以下の表4に示す。
回答モデル単体としての性能を評価するため、根拠の予測結果で開発データを4つのドメイン「全て」、「完全一致」、「過剰」、「不足」に分類して評価を行った。「全て」は全ての開発データのドメイン、「完全一致」は教師あり学習と追加学習とで根拠の抽出結果^Rが真の根拠Rに対して完全一致(R=^R)したデータのドメイン、「過剰」は教師あり学習と追加学習とで根拠の抽出結果^Rが真の根拠Rに対して過剰(Rは^Rの真部分集合)となったデータのドメイン、「不足」は教師あり学習と追加学習とで根拠の抽出結果^Rが真の根拠Rに対して不足(^RはRの真部分集合)なったデータのドメインである。回答ラベルが'span'かつ回答文を抽出していないサンプルでは回答が不可能であるため、分析に用いなかった。このときの評価結果を以下の表4に示す。
追加学習では、全てのドメインで性能が向上している。これは、根拠モデルがRecall重視になったこととは別に、回答モデル単体で見た場合も追加学習によって性能が向上したことを示している。追加学習では回答モデルの入力が予測した根拠になるため、推論時に近い状況でロバストに学習ができるため、精度よく回答ができると考えられる。
(本実施形態の手法の貢献)
本実施形態では、解釈可能な機械読解モデルを定義し、教師なし学習での学習手法を初めて提案した。
本実施形態では、解釈可能な機械読解モデルを定義し、教師なし学習での学習手法を初めて提案した。
また、本実施形態では、解釈可能な機械読解モデルと追加学習での学習の性能を評価した。回答モデルのみを使う通常の機械読解モデルに比べて、解釈可能な機械読解モデルは前段で根拠の抽出を行うことで精度が向上することを確認した。更に、追加学習では、回答モデル及び根拠モデルそれぞれで回答精度が改善する学習が進んでいることが確認できた。
機械読解モデルを解釈可能にすることで、例えば、ユーザに納得感を与えることができる、ソースを明示化でき事実検証が可能になる、のように従来の機械読解が抱える社会的問題を解決することができる。また、本実施形態で説明した追加学習をスクラッチからの教師なし学習に拡張することで、根拠の教師データを持たないデータセットでも根拠を抽出することが可能となる。
なお、本実施形態では、根拠モデルで根拠を抽出した後、回答モデルで回答を抽出したが、より一般には、第1のモデルで第1の部分文字列を抽出(又は検索)した後、第2のモデルで第1の部分文字列から所定の条件に基づいて第2の部分文字列を抽出する処理で実現される任意のタスクに適用可能である。例えば、第1のモデルで文章から段落を検索し、第2のモデルで段落に対して読解(回答抽出等)を行う、等のタスクにも適用可能である。
<ハードウェア構成>
次に、本実施形態に係る質問応答装置10のハードウェア構成について、図7を参照しながら説明する。図7は、第一の実施形態に係る質問応答装置10のハードウェア構成の一例を示す図である。
次に、本実施形態に係る質問応答装置10のハードウェア構成について、図7を参照しながら説明する。図7は、第一の実施形態に係る質問応答装置10のハードウェア構成の一例を示す図である。
図7に示すように、本実施形態に係る質問応答装置10は一般的なコンピュータ又はコンピュータシステムで実現され、入力装置301と、表示装置302と、外部I/F303と、通信I/F304と、プロセッサ305と、メモリ装置306とを有する。これらの各ハードウェアは、それぞれがバス307を介して通信可能に接続されている。
入力装置301は、例えば、キーボードやマウス、タッチパネル等である。表示装置302は、例えば、ディスプレイ等である。なお、質問応答装置10は、入力装置301及び表示装置302のうちの少なくとも一方を有していなくてもよい。
外部I/F303は、外部装置とのインタフェースである。外部装置には、記録媒体303a等がある。質問応答装置10は、外部I/F303を介して、記録媒体303aの読み取りや書き込み等を行うことができる。記録媒体303aには、質問応答装置10が有する各機能部(根拠抽出処理部101、回答抽出処理部102及びパラメータ学習部103)を実現する1以上のプログラムが格納されていてもよい。
なお、記録媒体303aには、例えば、CD(Compact Disc)、DVD(Digital Versatile Disk)、SDメモリカード(Secure Digital memory card)、USB(Universal Serial Bus)メモリカード等がある。
通信I/F304は、質問応答装置10が通信ネットワークに接続するためのインタフェースである。なお、質問応答装置10が有する各機能部を実現する1以上のプログラムは、通信I/F304を介して、所定のサーバ装置等から取得(ダウンロード)されてもよい。
プロセッサ305は、例えば、CPU(Central Processing Unit)やGPU等の各種演算装置である。質問応答装置10が有する各機能部は、例えば、メモリ装置306に格納されている1以上のプログラムがプロセッサ305に実行させる処理により実現される。
メモリ装置306は、例えば、HDD(Hard Disk Drive)やSSD(Solid State Drive)、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ等の各種記憶装置である。質問応答装置10が有する根拠モデルパラメータ記憶部201及び回答モデルパラメータ記憶部202は、例えば、メモリ装置306を用いて実現可能である。なお、根拠モデルパラメータ記憶部201及び回答モデルパラメータ記憶部202のうちの少なくとも一方の記憶部が、質問応答装置10と通信ネットワークを介して接続される記憶装置(例えば、データベースサーバ等)を用いて実現されていてもよい。
本実施形態に係る質問応答装置10は、図7に示すハードウェア構成を有することにより、上述した推論処理や教師あり学習処理、教師なし学習処理を実現することができる。なお、図7に示すハードウェア構成は一例であって、質問応答装置10は、他のハードウェア構成を有していてもよい。例えば、質問応答装置10は、複数のプロセッサ305を有していてもよいし、複数のメモリ装置306を有していてもよい。
[第二の実施形態]
次に、第二の実施形態について説明する。第一の実施形態では、参照テキストとこの参照テキストに関連する質問が与えられたときに、機械読解モデルにより回答とその根拠とを提示する質問応答装置10について説明した。しかしながら、第一の実施形態に係る質問応答装置10では、与えられた質問に対して「わからない(回答不能;CNA(Can Not Answer)」こと(つまり質問に回答するために必要な情報が参照テキストに含まれていないこと)を認識することができなかった。
次に、第二の実施形態について説明する。第一の実施形態では、参照テキストとこの参照テキストに関連する質問が与えられたときに、機械読解モデルにより回答とその根拠とを提示する質問応答装置10について説明した。しかしながら、第一の実施形態に係る質問応答装置10では、与えられた質問に対して「わからない(回答不能;CNA(Can Not Answer)」こと(つまり質問に回答するために必要な情報が参照テキストに含まれていないこと)を認識することができなかった。
そこで、第二の実施形態では、質問に回答するために必要な情報が参照テキストに含まれていない場合には回答不能であることを出力する質問応答装置10について説明する。第二の実施形態に係る質問応答装置10によれば、回答不能な質問に対して無理やり回答してしまう事態を防止することが可能となる。なお、第二の実施形態では、主に、第一の実施形態との相違点について説明し、第一の実施形態と同一の構成要素についてはその説明を省略する。
ここで、第一の実施形態では、主に、抽出型機械読解タスクと呼ばれるタスクを対象に説明を行った。抽出型機械読解タスクとは参照テキストの中から回答を抽出するタスクのことであり、その出力は回答範囲の始点及び終点である。一方で、抽出型機械読解タスクは、任意のラベルを利用した回答を出力する機械読解タスクと組み合わせることが可能である。例えば、第一の実施形態の評価でも記載したように、回答ラベルとして{yes,no,span}を与えることで、回答ラベル'yes'が得られた場合は回答「はい」を出力し、回答ラベル'no'が得られた場合は回答「いいえ」を出力し、回答ラベル'span'が得られた場合は回答範囲の始点及び終点を出力する、といった組み合わせが可能である。なお、回答ラベルとは回答の種別を表すラベルである。
そこで、本実施形態では、抽出型機械読解タスクと回答ラベルを利用した回答を出力する機械読解タスクとを組み合わせたタスクを対象として、与えられた質問に対して回答不能であることを示す回答ラベル'CNA'を追加し、質問に回答するために必要な情報が参照テキストに含まれていない場合は回答ラベル'CNA'を出力するように機械読解モデルを構成する。なお、第一の実施形態と同様に、本実施形態は、機械読解モデルのパラメータを学習する学習時と、学習済みのパラメータを用いた機械読解モデルにより機械読解を行う推論時とがあるため、以降では、質問応答装置10の「推論時」、「学習時」について説明する。
≪推論時≫
まず、機械読解モデルのパラメータが学習済みであるものとして、学習済みのパラメータを用いて機械読解モデルにより機械読解を行う場合について説明する。推論時における質問応答装置10には、参照テキストPと、この参照テキストPに関連する質問Qとが入力される。
まず、機械読解モデルのパラメータが学習済みであるものとして、学習済みのパラメータを用いて機械読解モデルにより機械読解を行う場合について説明する。推論時における質問応答装置10には、参照テキストPと、この参照テキストPに関連する質問Qとが入力される。
<推論時における質問応答装置10の全体構成>
推論時における質問応答装置10の全体構成について、図8を参照しながら説明する。図8は、第二の実施形態の推論時における質問応答装置10の全体構成の一例を示す図である。
推論時における質問応答装置10の全体構成について、図8を参照しながら説明する。図8は、第二の実施形態の推論時における質問応答装置10の全体構成の一例を示す図である。
図8に示すように、推論時における質問応答装置10は、機械読解モデルを実現する根拠抽出処理部101及び回答抽出処理部102と、根拠モデルパラメータを記憶する根拠モデルパラメータ記憶部201と、回答モデルパラメータを記憶する回答モデルパラメータ記憶部202とを有する。なお、根拠モデルパラメータ記憶部201には学習済みの根拠モデルパラメータが記憶されており、回答モデルパラメータ記憶部202にも学習済みの回答モデルパラメータが記憶されている。
回答抽出処理部102には、言語理解部121及び回答抽出部122に加えて、回答判断部123が含まれる。回答判断部123は、言語理解部121から出力されたベクトル系列Hを入力として、回答モデルパラメータ記憶部202に記憶されている学習済み回答モデルパラメータを用いて、回答ラベルcを算出(予測)する。そして、回答判断部123は、回答ラベルcが'span'以外である場合は、その回答ラベルcに対応する情報を回答^Aとして出力する。すなわち、回答判断部123は、例えば、回答ラベルcが'CNA'である場合は「回答不能」を回答^Aとして出力する。なお、回答判断部123は、回答ラベルcが'span'以外である場合は、その回答ラベルcをそのまま回答^Aとして出力してもよい。
また、回答抽出部122は、回答判断部123で算出された回答ラベルcが'span'である場合、第一の実施形態と同様に、ベクトル系列Hを入力として、根拠^R中で回答範囲の始点及び終点となるスコアを算出することで、回答^Aを出力する。このように、第二の実施形態では、回答判断部123で回答ラベル'span'が算出された場合にのみ回答抽出部122で根拠^Rの中から回答範囲を抽出し、それ以外の場合は回答ラベルに対応する情報(例えば、'CNA'の場合は「回答不能」等)を回答とする。
なお、上記の回答抽出部122及び回答判断部123の組み合わせ方は一例であって、回答ラベルを予測した上で、その回答ラベルが'CNA'の場合は「回答不能」を出力し、'span'の場合は根拠^Rの中から回答範囲を抽出するものであれば、任意の組み合わせが可能である。
<推論処理>
次に、本実施形態に係る推論処理について、図9を参照しながら説明する。図9は、第二の実施形態に係る推論処理の一例を示すフローチャートである。図9のステップS401~ステップS403は、図2のステップS101~ステップS103とそれぞれ同様であるため、その説明を省略する。ただし、ステップS402において、根拠抽出処理部101の根拠抽出部112は、線形変換層により根拠^Rを抽出及び出力してもよい。すなわち、例えば、根拠抽出部112は、ri=sigmoid(Wssi+bs)によりriを計算した上で、ri>λ0を満たすものを根拠^R={ri}として抽出してもよい。ここで、Ws∈R1×d及びbs∈R1は学習済み根拠モデルパラメータに含まれる学習済みパラメータである(つまり、Ws及びbsは、後述する学習処理で学習対象となるパラメータである。)。また、sigmoid(・)はシグモイド関数、λ0はハイパーパラメータである。
次に、本実施形態に係る推論処理について、図9を参照しながら説明する。図9は、第二の実施形態に係る推論処理の一例を示すフローチャートである。図9のステップS401~ステップS403は、図2のステップS101~ステップS103とそれぞれ同様であるため、その説明を省略する。ただし、ステップS402において、根拠抽出処理部101の根拠抽出部112は、線形変換層により根拠^Rを抽出及び出力してもよい。すなわち、例えば、根拠抽出部112は、ri=sigmoid(Wssi+bs)によりriを計算した上で、ri>λ0を満たすものを根拠^R={ri}として抽出してもよい。ここで、Ws∈R1×d及びbs∈R1は学習済み根拠モデルパラメータに含まれる学習済みパラメータである(つまり、Ws及びbsは、後述する学習処理で学習対象となるパラメータである。)。また、sigmoid(・)はシグモイド関数、λ0はハイパーパラメータである。
ステップS403に続いて、回答抽出処理部102の回答判断部123は、ベクトル系列Hを入力として、回答モデルパラメータ記憶部202に記憶されている学習済み回答モデルパラメータを用いて、回答ラベルcを算出する(ステップS404)。
具体的には、回答判断部123は、以下により回答ラベルcを算出する。
c=Wch1+bc∈RM
ここで、Wc及びbcは学習済み回答モデルパラメータに含まれる学習済みパラメータである(つまり、Wc及びbcは、後述する学習処理で学習対象となるパラメータである。)。また、Mは回答ラベル数である。なお、本実施形態では回答ラベルには少なくとも'span'と'CNA'とが含まれるため、M≧2である。
ここで、Wc及びbcは学習済み回答モデルパラメータに含まれる学習済みパラメータである(つまり、Wc及びbcは、後述する学習処理で学習対象となるパラメータである。)。また、Mは回答ラベル数である。なお、本実施形態では回答ラベルには少なくとも'span'と'CNA'とが含まれるため、M≧2である。
次に、回答抽出処理部102の回答判断部123は、上記のステップS404で算出された回答ラベルcが、'span'を示すものであるか否かを判定する(ステップS405)。
上記のステップS405で回答ラベルcが'span'を示すものであると判定された場合、回答抽出処理部102の回答抽出部122は、図2のステップS104と同様に、回答^Aを出力する(ステップS406)。すなわち、回答抽出部122は、ベクトル系列Hを入力として、根拠^R中で回答範囲の始点及び終点となるスコアを算出することで、回答^Aを出力する。
一方で、上記のステップS405で回答ラベルcが'span'を示すものであると判定されなかった場合(つまり、回答ラベルcが'span'以外を示すものである場合)、回答抽出処理部102の回答判断部123は、当該回答ラベルcに対応する情報を回答^Aとして出力する(ステップS407)。すなわち、回答判断部123は、例えば、回答ラベルcが'CNA'である場合は「回答不能」を回答^Aとして出力する。なお、例えば、'span'以外の回答ラベルとして'yes'や'no'が存在し、当該回答ラベルcが'yes'である場合、回答判断部123は、「はい」を回答^Aとして出力してもよい。同様に、当該回答ラベルcが'no'である場合、回答判断部123は、「いいえ」を回答^Aとして出力してもよい。
以上により、推論時における質問応答装置10は、参照テキストPと質問Qとを入力として、回答^Aと根拠^Rとを得ることができる。しかも、このとき、質問応答装置10は、質問Qに回答するために必要な情報が参照テキストPに含まれていない場合には回答^Aとして「回答不能」を出力する。このため、本実施形態に係る質問応答装置10では、回答不能な質問に対して無理やり回答してしまう事態を防止することが可能となる。なお、回答^Aが「回答不能」である場合は、根拠^Rが出力されなくてもよい。
≪学習時≫
次に、機械読解モデルのパラメータは学習済みでないものとして、このパラメータを学習する場合について説明する。学習時における質問応答装置10には、質問Qに回答するために必要な情報が含まれる参照テキストPと、当該質問Qと、正解回答ラベルを示す回答ラベル'span'と、当該質問Qに対する真の回答の回答範囲を示す正解回答Aと、この正解回答Aの真の根拠を示す正解根拠Rとが含まれる訓練データの集合(第1の訓練データセット)が入力される。正解根拠Rは、例えば、参照テキストPに対してアノテーションが付与される形で与えられていてもよい。なお、参照テキストPが長文である場合、参照テキストP中の適切な区切り(例えば、段落等)に対してスコアを付与することで、当該参照テキストPを適切な長さに絞り込んでもよい。例えば、既知のparagraph ranker又はそれに基づく手法等により各段落に対してスコアを付与し、そのスコアが高い順に数段落程度に絞り込んでもよい。
次に、機械読解モデルのパラメータは学習済みでないものとして、このパラメータを学習する場合について説明する。学習時における質問応答装置10には、質問Qに回答するために必要な情報が含まれる参照テキストPと、当該質問Qと、正解回答ラベルを示す回答ラベル'span'と、当該質問Qに対する真の回答の回答範囲を示す正解回答Aと、この正解回答Aの真の根拠を示す正解根拠Rとが含まれる訓練データの集合(第1の訓練データセット)が入力される。正解根拠Rは、例えば、参照テキストPに対してアノテーションが付与される形で与えられていてもよい。なお、参照テキストPが長文である場合、参照テキストP中の適切な区切り(例えば、段落等)に対してスコアを付与することで、当該参照テキストPを適切な長さに絞り込んでもよい。例えば、既知のparagraph ranker又はそれに基づく手法等により各段落に対してスコアを付与し、そのスコアが高い順に数段落程度に絞り込んでもよい。
また、上記の第1の訓練データセットに加えて、質問Qに回答するために必要な情報が十分に含まれていない参照テキストP'と、当該質問Qと、正解根拠R'と、正解回答ラベルを示す回答ラベル'CNA'とが含まれる訓練データの集合(第2の訓練データセット)も入力される。
ここで、質問Qに回答するために必要な情報が十分に含まれていない参照テキストP'は任意の方法で作成することが可能であるが、例えば、質問Qに回答するために必要な情報が含まれる参照テキストP中の各段落に対してスコアを付与した上で、そのスコアが高い数段落を、スコアが低く、かつ、質問Qに類似する文が含まれる段落で置き換えることで作成することが可能である。このとき、質問Qと文の類似度としては、例えば、TF-IDF類似度等を用いればよい。具体的には、例えば、参照テキストP'中でスコアが高い上位2段落を、スコアが所定の閾値以下で、かつ、質問QとのTF-IDF類似度が最も高い文が含まれる段落に置き換えること等で参照テキストP'を作成すればよい。
また、正解根拠R'は、例えば、正解根拠Rに含まれる文のうち、参照テキストP'にも含まれる文とすればよい。具体的には、例えば、参照テキストPが第1段落~第2段落で構成されており、正解根拠Rが第1の段落に含まれる文r1と第2段落に含まれる文r2であるとする。このとき、例えば、別の文書に含まれる段落ひとつで第1段落を置き換えて参照テキストP'が作成された場合、正解根拠R'={r2}となる。また、例えば、別の文書に含まれる段落ふたつで第1段落及び第2段落をそれぞれ置き換えて参照テキストP'が作成された場合、正解根拠R'=φとなる。正解根拠R'=φの場合は、参照テキストP'には根拠がないことを意味する。
なお、このような参照テキストP'及び正解根拠R'は質問応答装置10で作成されてもよいし、質問応答装置10とは異なる他の装置又は端末等で作成されてもよい。以降では、第2の訓練データセット中の各訓練データに含まれる参照テキストP'も「参照テキストP」と表記すると共に、正解根拠R'も「正解根拠R」と表記する。
<学習時における質問応答装置10の全体構成>
学習時における質問応答装置10の全体構成について、図10を参照しながら説明する。図10は、第二の実施形態の学習時における質問応答装置10の全体構成の一例を示す図である。なお、図10では、主に、推論時との相違点について説明し、推論時と同様の構成要素についてはその説明を省略する。
学習時における質問応答装置10の全体構成について、図10を参照しながら説明する。図10は、第二の実施形態の学習時における質問応答装置10の全体構成の一例を示す図である。なお、図10では、主に、推論時との相違点について説明し、推論時と同様の構成要素についてはその説明を省略する。
図10に示すように、学習時における質問応答装置10は、機械読解モデルを実現する根拠抽出処理部101及び回答抽出処理部102と、根拠モデルパラメータ及び回答モデルパラメータを学習するパラメータ学習部103と、根拠モデルパラメータを記憶する根拠モデルパラメータ記憶部201と、回答モデルパラメータを記憶する回答モデルパラメータ記憶部202とを有する。なお、根拠モデルパラメータ記憶部201には学習中の根拠モデルパラメータが記憶されており、回答モデルパラメータ記憶部202にも学習中の回答モデルパラメータが記憶されている。
パラメータ学習部103は、各種誤差(損失)を計算すると共に、これらの誤差を用いて根拠モデルパラメータ及び回答モデルパラメータを学習する。
<学習処理>
次に、本実施形態に係る学習処理について、図11を参照しながら説明する。図11は、第二の実施形態に係る学習処理の一例を示すフローチャートである。以降では、オンライン学習により根拠モデルパラメータ及び回答モデルパラメータを学習する場合について説明するが、これは一例であって、バッチ学習やミニバッチ学習等も適用可能である。また、以降では第1の訓練データセットと第2の訓練データセットをまとめたデータセットを単に「訓練データセット」と表記する。
次に、本実施形態に係る学習処理について、図11を参照しながら説明する。図11は、第二の実施形態に係る学習処理の一例を示すフローチャートである。以降では、オンライン学習により根拠モデルパラメータ及び回答モデルパラメータを学習する場合について説明するが、これは一例であって、バッチ学習やミニバッチ学習等も適用可能である。また、以降では第1の訓練データセットと第2の訓練データセットをまとめたデータセットを単に「訓練データセット」と表記する。
パラメータ学習部103は、訓練データセットから1件の訓練データを処理対象として選択する(ステップS501)。
次に、根拠抽出処理部101の言語理解部111は、上記のステップS501で処理対象として選択された訓練データに含まれる参照テキストPと質問Qとを入力として、根拠モデルパラメータ記憶部201に記憶されている学習中の根拠モデルパラメータを用いて、質問ベクトルqと文ベクトル集合{si}とを出力する(ステップS502)。なお、言語理解部111は、図9のステップS401と同様の処理を行って質問ベクトルqと文ベクトル集合{si}とを出力する。
次に、根拠抽出処理部101の根拠抽出部112は、質問ベクトルqと文ベクトル集合{si}とを入力として、根拠モデルパラメータ記憶部201に記憶されている学習中の根拠モデルパラメータを用いて、根拠^Rを出力する(ステップS503)。なお、根拠抽出部112は、図9のステップS402と同様の処理を行って根拠^Rを出力する。ただし、図4のステップS203と同様に、Teacher-Forcingを用いて文^rtを抽出してもよい。また、図6のステップS303と同様に、gumbel-softmax trickによるサンプリングで文^rtを抽出してもよい。
次に、パラメータ学習部103は、上記のステップS501で処理対象として選択された訓練データが第1の訓練データセット中の訓練データであるか否かを判定する(ステップS504)。
上記のステップS504で第1の訓練データセット中の訓練データが処理対象であると判定された場合、パラメータ学習部103は、上記のステップS503で出力された根拠^Rが、処理対象の訓練データに含まれる正解根拠Rを包含するか否かを判定する(ステップS505)。
上記のステップS505で根拠^Rが正解根拠Rを包含すると判定されなかった場合、パラメータ学習部103は、処理対象の訓練データに含まれる回答ラベルを'CNA'に変更する(ステップS506)。これは、根拠^Rが正解根拠Rを包含していない場合、当該根拠^Rには回答に必要な情報が十分に含まれていないためである。
一方で、上記のステップS504で第1の訓練データセット中の訓練データが処理対象であると判定されなかった場合(つまり、第2の訓練データセット中の訓練データが処理対象である場合)、上記のステップS506で根拠^Rが正解根拠Rを包含すると判定された場合、又はステップS506に続いて、回答抽出処理部102の言語理解部121は、根拠^Rと質問Qとを入力として、回答モデルパラメータ記憶部202に記憶されている学習中の回答モデルパラメータを用いて、ベクトル系列Hを出力する(ステップS507)。なお、言語理解部121は、図9のステップS403と同様の処理を行ってベクトル系列Hを出力する。
次に、回答抽出処理部102の回答判断部123は、ベクトル系列Hを入力として、回答モデルパラメータ記憶部202に記憶されている学習中の回答モデルパラメータを用いて、回答ラベルcを算出する(ステップS508)。なお、回答判断部123は、図9のステップS404と同様の処理を行って回答ラベルcを算出する。
次に、回答抽出処理部102の回答判断部123は、上記のステップS508で算出された回答ラベルcが、'span'を示すものであるか否かを判定する(ステップS509)。なお、この判定を行った後(又は、この判定を行う前でもよい)、回答判断部123は、上記のステップS508で算出された回答ラベルcを出力する。
上記のステップS509で回答ラベルcが'span'を示すものであると判定された場合、回答抽出処理部102の回答抽出部122は、図9のステップS406と同様に、回答^Aを出力する(ステップS510)。すなわち、回答抽出部122は、ベクトル系列Hを入力として、根拠^R中で回答範囲の始点及び終点となるスコアを算出することで、回答^Aを出力する。
ステップS510に続いて、又は、上記のステップS509で回答ラベルcが'span'を示すものであると判定されなかった場合、パラメータ学習部103は、各種損失を計算する(ステップS511)。例えば、パラメータ学習部103は、第一の実施形態における教師あり学習と同様に、損失LR及びLAを算出する。ただし、損失LAとして、回答ラベルcに関する損失を更に加えたものを算出する(つまり、第一の実施形態における損失LAに対して回答ラベルcに関する損失を加えたものを、本実施形態における損失LAとする。)。なお、回答ラベルcに関する損失は、例えば、回答ラベルcと正解回答ラベルのCross-Entropy損失とすればよい。
次に、パラメータ学習部103は、上記のステップS511で算出した損失を用いて根拠モデルパラメータ及び回答モデルパラメータを学習する(ステップS512)。すなわち、パラメータ学習部103は、損失の値及びその勾配を算出し、損失の値が最小となるように根拠モデルパラメータ及び回答モデルパラメータを更新する。
次に、パラメータ学習部103は、訓練データセット中の全ての訓練データが処理対象として選択されたか否かを判定する(ステップS513)。未だ処理対象として選択されていない訓練データが存在する場合(ステップS513でNO)、パラメータ学習部103は、ステップS501に戻る。これにより、訓練データセット中の全ての訓練データに対して上記のステップS501~ステップS512が実行される。
一方で、訓練データセット中の全ての訓練データが処理対象として選択された場合(ステップS513でYES)、パラメータ学習部103は、収束条件を満たすか否かを判定する(ステップS514)。収束条件を満たす場合(ステップS514でYES)は、パラメータ学習部103は学習処理を終了する。一方で、収束条件を満たさない場合(ステップS514でNO)は、パラメータ学習部103は、訓練データセット中の全ての訓練データが処理対象として選択されていないものとした上で、ステップS501に戻る。ここで、収束条件としては、例えば、上記のステップS501~ステップS513が処理された回数(反復回数)が所定の回数以上となったこと等が挙げられる。
以上により、学習時における質問応答装置10は、第1の訓練データセット及び第2の訓練データセットに含まれる訓練データを入力として、根拠モデルパラメータ及び回答モデルパラメータを学習することができる。なお、第一の実施形態で説明した教師なし学習を行う場合はその安定のため、根拠モデルパラメータと回答モデルパラメータとをそれぞれ事前学習させておくことが好ましい。例えば、第1の訓練データセットが存在する場合は、この第1の訓練データセット(及び、この第1の訓練データセットから作成した第2の訓練データセット)を用いて教師あり学習で事前学習を行えばよい。又は、例えば、第1の訓練データセットが未だ存在しない場合は、例えば、疑似的な正解根拠を用いて半教師あり学習で事前学習を行えばよい。
なお、本実施形態(及び第一の実施形態)の機械読解モデルは根拠モデルと回答モデルで構成されており、根拠モデルで出力された根拠が回答モデルに入力されるパイプライン型のモデルである。本実施形態では、回答不能な質問に対して無理やり回答してしまう事態を防止するために、この機械読解モデルの学習時に様々な工夫を行ったが、これらの工夫の多くは、パイプライン型ではない一般的な機械読解モデルに対して適用することも可能である。例えば、回答ラベルとして'CNA'を追加することや、第2の訓練データセットの作成方法等は一般的な機械読解モデルに対しても同様に適用することが可能である。
<評価>
以下、本実施形態の評価について説明する。
以下、本実施形態の評価について説明する。
(データセット)
第一の実施形態と同様に、HotpotQAを用いた。ただし、回答に必要な情報が参照テキストPに十分に含まれない場合は回答ラベルを'CNA'に変更し、回答不能性の認識も含めた機械読解タスクの性能を評価できるように評価実験を行った。
第一の実施形態と同様に、HotpotQAを用いた。ただし、回答に必要な情報が参照テキストPに十分に含まれない場合は回答ラベルを'CNA'に変更し、回答不能性の認識も含めた機械読解タスクの性能を評価できるように評価実験を行った。
(実験設定)
本評価では、ベースラインモデルとして、One-Stageと称するモデルを用いた。One-StageはBERTを利用し、回答とその根拠とを同時に出力するモデルである(つまり、One-Stageはパイプライン型ではない一般的な機械読解モデルである。)。一方で、本実施形態の機械読解モデルをOur modelとし、本実施形態と同じパイプライン型のモデルを一般的な学習手法で学習したものを-End2End Trainingとした。ここで、一般的な学習手法とは、根拠抽出処理部101を損失LRで、回答抽出処理部102を損失LAでそれぞれ独自に学習する手法のことである。
本評価では、ベースラインモデルとして、One-Stageと称するモデルを用いた。One-StageはBERTを利用し、回答とその根拠とを同時に出力するモデルである(つまり、One-Stageはパイプライン型ではない一般的な機械読解モデルである。)。一方で、本実施形態の機械読解モデルをOur modelとし、本実施形態と同じパイプライン型のモデルを一般的な学習手法で学習したものを-End2End Trainingとした。ここで、一般的な学習手法とは、根拠抽出処理部101を損失LRで、回答抽出処理部102を損失LAでそれぞれ独自に学習する手法のことである。
(評価と議論)
以上のデータセットと実験設定で実験を行った場合における評価結果を以下の表5及び表6に示す。
以上のデータセットと実験設定で実験を行った場合における評価結果を以下の表5及び表6に示す。
上記の表5及び表6に示されるように、ベースラインモデル(One-Stage)と比較して、本実施形態の機械読解モデル(Our model)の方が精度良く回答不能性を認識できていることがわかる。また、本実施形態の学習手法が、一般的な学習手法よりも精度良く回答不能性を認識するモデルを学習できていることがわかる。
また、参照テキストPの各段落にスコアを付与し、当該参照テキストPの絞り込みを行うことで完全一致率を向上させることができる。その結果を以下の表7に示す。
また、Our Reranking(SAE+CNA)は以下の式によりスコアの付与及び絞り込みを行った結果、Our Reranking(CNA)は以下の式の右辺によりスコアの付与及び絞り込みを行った結果である。
以上の実施形態に関し、更に以下の付記を開示する。
(付記1)
メモリと、
前記メモリに接続された少なくとも1つのプロセッサと、
を含み、
前記プロセッサは、
テキストと質問とを入力として、第1のニューラルネットワークのモデルパラメータを用いて、前記質問に対する回答の根拠となる文字列の集合を前記テキストから抽出し、
前記質問と前記集合とを入力として、第2のニューラルネットワークのモデルパラメータを用いて、前記回答の種別を表すラベルを予測し、
予測されたラベルが回答不能を表すラベルでない場合、前記第2のニューラルネットワークのモデルパラメータを用いて、前記集合から前記回答を抽出し、
予測されたラベルと、前記ラベルに対する正解ラベルとの間の第1の損失を少なくとも用いて、前記第1のニューラルネットワークのモデルパラメータと前記第2のニューラルネットワークのモデルパラメータとを学習する、学習装置。
メモリと、
前記メモリに接続された少なくとも1つのプロセッサと、
を含み、
前記プロセッサは、
テキストと質問とを入力として、第1のニューラルネットワークのモデルパラメータを用いて、前記質問に対する回答の根拠となる文字列の集合を前記テキストから抽出し、
前記質問と前記集合とを入力として、第2のニューラルネットワークのモデルパラメータを用いて、前記回答の種別を表すラベルを予測し、
予測されたラベルが回答不能を表すラベルでない場合、前記第2のニューラルネットワークのモデルパラメータを用いて、前記集合から前記回答を抽出し、
予測されたラベルと、前記ラベルに対する正解ラベルとの間の第1の損失を少なくとも用いて、前記第1のニューラルネットワークのモデルパラメータと前記第2のニューラルネットワークのモデルパラメータとを学習する、学習装置。
(付記2)
前記プロセッサは、
抽出された集合が、前記質問の回答に対して真の根拠となる文字列の集合を包含しない場合、前記正解ラベルの代わりに前記回答不能を表すラベルを用いて、予測されたラベルと、前記回答不能を表すラベルとの間の損失を前記第1の損失として計算する、付記1に記載の学習装置。
前記プロセッサは、
抽出された集合が、前記質問の回答に対して真の根拠となる文字列の集合を包含しない場合、前記正解ラベルの代わりに前記回答不能を表すラベルを用いて、予測されたラベルと、前記回答不能を表すラベルとの間の損失を前記第1の損失として計算する、付記1に記載の学習装置。
(付記3)
前記プロセッサは、
前記質問に回答するために必要な情報が十分に含まれている第1のテキストと前記質問、又は、前記質問に回答するために必要な情報が十分に含まれていない第2のテキストと前記質問、のいずれかを入力とし、
前記第2のテキストを入力とした場合、予測されたラベルと、回答不能を表す正解ラベルとの間の前記第1の損失を計算する、付記1又は2に記載の学習装置。
前記プロセッサは、
前記質問に回答するために必要な情報が十分に含まれている第1のテキストと前記質問、又は、前記質問に回答するために必要な情報が十分に含まれていない第2のテキストと前記質問、のいずれかを入力とし、
前記第2のテキストを入力とした場合、予測されたラベルと、回答不能を表す正解ラベルとの間の前記第1の損失を計算する、付記1又は2に記載の学習装置。
(付記4)
前記第2のテキストは、前記第1のテキストに含まれる段落の中で、所定の方法で定めた段落を、別途用意したテキストの段落で置き換えたテキストである、付記3に記載の学習装置。
前記第2のテキストは、前記第1のテキストに含まれる段落の中で、所定の方法で定めた段落を、別途用意したテキストの段落で置き換えたテキストである、付記3に記載の学習装置。
(付記5)
メモリと、
前記メモリに接続された少なくとも1つのプロセッサと、
を含み、
前記プロセッサは、
テキストと質問とを入力として、予め学習済みの第1のニューラルネットワークのモデルパラメータを用いて、前記質問に対する回答の根拠となる文字列の集合を前記テキストから抽出し、
前記質問と前記集合とを入力として、予め学習済みの第2のニューラルネットワークのモデルパラメータを用いて、前記回答の種別を表すラベルを予測し、
予測されたラベルが回答不能を表すラベルである場合、前記質問に対して回答不能であることを示す情報を、前記回答として出力し、
予測されたラベルが回答不能を表すラベルでない場合、前記第2のニューラルネットワークのモデルパラメータを用いて、前記集合から前記回答を抽出する、情報処理装置。
メモリと、
前記メモリに接続された少なくとも1つのプロセッサと、
を含み、
前記プロセッサは、
テキストと質問とを入力として、予め学習済みの第1のニューラルネットワークのモデルパラメータを用いて、前記質問に対する回答の根拠となる文字列の集合を前記テキストから抽出し、
前記質問と前記集合とを入力として、予め学習済みの第2のニューラルネットワークのモデルパラメータを用いて、前記回答の種別を表すラベルを予測し、
予測されたラベルが回答不能を表すラベルである場合、前記質問に対して回答不能であることを示す情報を、前記回答として出力し、
予測されたラベルが回答不能を表すラベルでない場合、前記第2のニューラルネットワークのモデルパラメータを用いて、前記集合から前記回答を抽出する、情報処理装置。
(付記6)
学習処理を実行するようにコンピュータによって実行可能なプログラムを記憶した非一時的記憶媒体であって、
前記学習処理は、
テキストと質問とを入力として、第1のニューラルネットワークのモデルパラメータを用いて、前記質問に対する回答の根拠となる文字列の集合を前記テキストから抽出し、
前記質問と前記集合とを入力として、第2のニューラルネットワークのモデルパラメータを用いて、前記回答の種別を表すラベルを予測し、
予測されたラベルが回答不能を表すラベルでない場合、前記第2のニューラルネットワークのモデルパラメータを用いて、前記集合から前記回答を抽出し、
予測されたラベルと、前記ラベルに対する正解ラベルとの間の第1の損失を少なくとも用いて、前記第1のニューラルネットワークのモデルパラメータと前記第2のニューラルネットワークのモデルパラメータとを学習する、非一時的記憶媒体。
学習処理を実行するようにコンピュータによって実行可能なプログラムを記憶した非一時的記憶媒体であって、
前記学習処理は、
テキストと質問とを入力として、第1のニューラルネットワークのモデルパラメータを用いて、前記質問に対する回答の根拠となる文字列の集合を前記テキストから抽出し、
前記質問と前記集合とを入力として、第2のニューラルネットワークのモデルパラメータを用いて、前記回答の種別を表すラベルを予測し、
予測されたラベルが回答不能を表すラベルでない場合、前記第2のニューラルネットワークのモデルパラメータを用いて、前記集合から前記回答を抽出し、
予測されたラベルと、前記ラベルに対する正解ラベルとの間の第1の損失を少なくとも用いて、前記第1のニューラルネットワークのモデルパラメータと前記第2のニューラルネットワークのモデルパラメータとを学習する、非一時的記憶媒体。
(付記7)
情報処理を実行するようにコンピュータによって実行可能なプログラムを記憶した非一時的記憶媒体であって、
前記情報処理は、
テキストと質問とを入力として、予め学習済みの第1のニューラルネットワークのモデルパラメータを用いて、前記質問に対する回答の根拠となる文字列の集合を前記テキストから抽出し、
前記質問と前記集合とを入力として、予め学習済みの第2のニューラルネットワークのモデルパラメータを用いて、前記回答の種別を表すラベルを予測し、
予測されたラベルが回答不能を表すラベルである場合、前記質問に対して回答不能であることを示す情報を、前記回答として出力し、
予測されたラベルが回答不能を表すラベルでない場合、前記第2のニューラルネットワークのモデルパラメータを用いて、前記集合から前記回答を抽出する、非一時的記憶媒体。
情報処理を実行するようにコンピュータによって実行可能なプログラムを記憶した非一時的記憶媒体であって、
前記情報処理は、
テキストと質問とを入力として、予め学習済みの第1のニューラルネットワークのモデルパラメータを用いて、前記質問に対する回答の根拠となる文字列の集合を前記テキストから抽出し、
前記質問と前記集合とを入力として、予め学習済みの第2のニューラルネットワークのモデルパラメータを用いて、前記回答の種別を表すラベルを予測し、
予測されたラベルが回答不能を表すラベルである場合、前記質問に対して回答不能であることを示す情報を、前記回答として出力し、
予測されたラベルが回答不能を表すラベルでない場合、前記第2のニューラルネットワークのモデルパラメータを用いて、前記集合から前記回答を抽出する、非一時的記憶媒体。
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、請求の範囲の記載から逸脱することなく、種々の変形や変更、既知の技術との組み合わせ等が可能である。
10 質問応答装置
101 根拠抽出処理部
102 回答抽出処理部
103 パラメータ学習部
111 言語理解部
112 根拠抽出部
121 言語理解部
122 回答抽出部
201 根拠モデルパラメータ記憶部
202 回答モデルパラメータ記憶部
101 根拠抽出処理部
102 回答抽出処理部
103 パラメータ学習部
111 言語理解部
112 根拠抽出部
121 言語理解部
122 回答抽出部
201 根拠モデルパラメータ記憶部
202 回答モデルパラメータ記憶部
Claims (8)
- テキストと質問とを入力として、第1のニューラルネットワークのモデルパラメータを用いて、前記質問に対する回答の根拠となる文字列の集合を前記テキストから抽出する根拠抽出部と、
前記質問と前記集合とを入力として、第2のニューラルネットワークのモデルパラメータを用いて、前記回答の種別を表すラベルを予測するラベル予測部と、
前記ラベル予測部で予測されたラベルが回答不能を表すラベルでない場合、前記第2のニューラルネットワークのモデルパラメータを用いて、前記集合から前記回答を抽出する回答抽出部と、
前記ラベル予測部で予測されたラベルと、前記ラベルに対する正解ラベルとの間の第1の損失を少なくとも用いて、前記第1のニューラルネットワークのモデルパラメータと前記第2のニューラルネットワークのモデルパラメータとを学習する学習部と、
を有する学習装置。 - 前記学習部は、
前記根拠抽出部で抽出された集合が、前記質問の回答に対して真の根拠となる文字列の集合を包含しない場合、前記正解ラベルの代わりに前記回答不能を表すラベルを用いて、前記ラベル予測部で予測されたラベルと、前記回答不能を表すラベルとの間の損失を前記第1の損失として計算する、請求項1に記載の学習装置。 - 前記根拠抽出部は、
前記質問に回答するために必要な情報が十分に含まれている第1のテキストと前記質問、又は、前記質問に回答するために必要な情報が十分に含まれていない第2のテキストと前記質問、のいずれかを入力とし、
前記学習部は、
前記根拠抽出部が第2のテキストを入力とした場合、前記ラベル予測部で予測されたラベルと、回答不能を表す正解ラベルとの間の前記第1の損失を計算する、請求項1又は2に記載の学習装置。 - 前記第2のテキストは、前記第1のテキストに含まれる段落の中で、所定の方法で定めた段落を、別途用意したテキストの段落で置き換えたテキストである、請求項3に記載の学習装置。
- テキストと質問とを入力として、予め学習済みの第1のニューラルネットワークのモデルパラメータを用いて、前記質問に対する回答の根拠となる文字列の集合を前記テキストから抽出する根拠抽出部と、
前記質問と前記集合とを入力として、予め学習済みの第2のニューラルネットワークのモデルパラメータを用いて、前記回答の種別を表すラベルを予測するラベル予測部と、
前記ラベル予測部で予測されたラベルが回答不能を表すラベルである場合、前記質問に対して回答不能であることを示す情報を、前記回答として出力する回答不能出力部と、
前記ラベル予測部で予測されたラベルが回答不能を表すラベルでない場合、前記第2のニューラルネットワークのモデルパラメータを用いて、前記集合から前記回答を抽出する回答抽出部と、
を有する情報処理装置。 - テキストと質問とを入力として、第1のニューラルネットワークのモデルパラメータを用いて、前記質問に対する回答の根拠となる文字列の集合を前記テキストから抽出する根拠抽出手順と、
前記質問と前記集合とを入力として、第2のニューラルネットワークのモデルパラメータを用いて、前記回答の種別を表すラベルを予測するラベル予測手順と、
前記ラベル予測手順で予測されたラベルが回答不能を表すラベルでない場合、前記第2のニューラルネットワークのモデルパラメータを用いて、前記集合から前記回答を抽出する回答抽出手順と、
前記ラベル予測手順で予測されたラベルと、前記ラベルに対する正解ラベルとの間の第1の損失を少なくとも用いて、前記第1のニューラルネットワークのモデルパラメータと前記第2のニューラルネットワークのモデルパラメータとを学習する学習手順と、
をコンピュータが実行する学習方法。 - テキストと質問とを入力として、予め学習済みの第1のニューラルネットワークのモデルパラメータを用いて、前記質問に対する回答の根拠となる文字列の集合を前記テキストから抽出する根拠抽出手順と、
前記質問と前記集合とを入力として、予め学習済みの第2のニューラルネットワークのモデルパラメータを用いて、前記回答の種別を表すラベルを予測するラベル予測手順と、
前記ラベル予測手順で予測されたラベルが回答不能を表すラベルである場合、前記質問に対して回答不能であることを示す情報を、前記回答として出力する回答不能出力手順と、
前記ラベル予測手順で予測されたラベルが回答不能を表すラベルでない場合、前記第2のニューラルネットワークのモデルパラメータを用いて、前記集合から前記回答を抽出する回答抽出手順と、
をコンピュータが実行する情報処理方法。 - コンピュータを、請求項1乃至4の何れか一項に記載の学習装置、又は、請求項5に記載の情報処理装置、として機能させるプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2020/038758 WO2022079826A1 (ja) | 2020-10-14 | 2020-10-14 | 学習装置、情報処理装置、学習方法、情報処理方法及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2020/038758 WO2022079826A1 (ja) | 2020-10-14 | 2020-10-14 | 学習装置、情報処理装置、学習方法、情報処理方法及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2022079826A1 true WO2022079826A1 (ja) | 2022-04-21 |
Family
ID=81207835
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2020/038758 WO2022079826A1 (ja) | 2020-10-14 | 2020-10-14 | 学習装置、情報処理装置、学習方法、情報処理方法及びプログラム |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2022079826A1 (ja) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019244803A1 (ja) * | 2018-06-18 | 2019-12-26 | 日本電信電話株式会社 | 回答学習装置、回答学習方法、回答生成装置、回答生成方法、及びプログラム |
WO2020174826A1 (ja) * | 2019-02-25 | 2020-09-03 | 日本電信電話株式会社 | 回答生成装置、回答学習装置、回答生成方法、及び回答生成プログラム |
-
2020
- 2020-10-14 WO PCT/JP2020/038758 patent/WO2022079826A1/ja active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019244803A1 (ja) * | 2018-06-18 | 2019-12-26 | 日本電信電話株式会社 | 回答学習装置、回答学習方法、回答生成装置、回答生成方法、及びプログラム |
WO2020174826A1 (ja) * | 2019-02-25 | 2020-09-03 | 日本電信電話株式会社 | 回答生成装置、回答学習装置、回答生成方法、及び回答生成プログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7120433B2 (ja) | 回答生成装置、回答学習装置、回答生成方法、及び回答生成プログラム | |
Weston et al. | Memory networks | |
Obamuyide et al. | Zero-shot relation classification as textual entailment | |
US11544474B2 (en) | Generation of text from structured data | |
JP7247878B2 (ja) | 回答学習装置、回答学習方法、回答生成装置、回答生成方法、及びプログラム | |
CN115485696A (zh) | 机器学习模型的对抗预训练 | |
US11481560B2 (en) | Information processing device, information processing method, and program | |
Albadr et al. | Spoken language identification based on the enhanced self-adjusting extreme learning machine approach | |
CN118575173A (zh) | 使用搜索引擎结果增强机器学习语言模型 | |
CN112581327B (zh) | 基于知识图谱的法律推荐方法、装置和电子设备 | |
CN114691864A (zh) | 文本分类模型训练方法及装置、文本分类方法及装置 | |
WO2021176714A1 (ja) | 学習装置、情報処理装置、学習方法、情報処理方法及びプログラム | |
CN113869034A (zh) | 基于强化依赖图的方面情感分类方法 | |
Nassiri et al. | Arabic L2 readability assessment: Dimensionality reduction study | |
Shah et al. | Simple App Review Classification with Only Lexical Features. | |
Zhao et al. | Finding answers from the word of god: Domain adaptation for neural networks in biblical question answering | |
Seilsepour et al. | Self-supervised sentiment classification based on semantic similarity measures and contextual embedding using metaheuristic optimizer | |
Mahmoodvand et al. | Semi-supervised approach for Persian word sense disambiguation | |
Mathai et al. | Adversarial black-box attacks on text classifiers using multi-objective genetic optimization guided by deep networks | |
Tang et al. | NITE: A neural inductive teaching framework for domain specific NER | |
KR20240128104A (ko) | 언어 모델 신경망을 사용하여 인라인 증거를 갖는 출력 시퀀스 생성 | |
WO2022079826A1 (ja) | 学習装置、情報処理装置、学習方法、情報処理方法及びプログラム | |
US20190147365A1 (en) | Deep vector table machine systems | |
CN116975275A (zh) | 多语种文本分类模型训练方法、装置和计算机设备 | |
WO2018066083A1 (ja) | 学習プログラム、情報処理装置および学習方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 20957655 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 20957655 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: JP |