DEIM Forum 2019 G7-4

前提知識を考慮した根拠の妥当性判断による自動回答手法
田上

諒†

木村

輔†

宮森

恒†

† 京都産業大学大学院先端情報学研究科 〒 603–8555 京都府京都市北区上賀茂本山
E-mail: †{i1788124,i1650047,miya}@cc.kyoto-su.ac.jp
あらまし

これまでの研究で提案されている，ファクトイド型質問応答の回答手法は，多くの場合，質問文に基づいて情報源から回答候補や回答候補を絞り込むための根拠を探索し，回答を導出するという手順がとられる．しかし，回答候補を絞り込むための根拠が，情報源上に直接的に役立つ形で記述されているとは限らず，複数の前提知識を結び付けなければ回答できない質問への対処が，課題となっている．本稿では，質問文と回答候補から生成される事実
文と，情報源上の根拠文の対の妥当性を，複数の前提知識をもとに判断し，その結果をもとに回答を導出する手法を提案する．実験では，英語の自然科学系の四択問題を対象として，提案手法が正答率にどのような影響を及ぼすかについて明らかにする．
キーワード 自然言語処理, ファクトイド型質問応答, 自動回答, 妥当性
で燃えやすい」という前提知識を持つ人間であれば，当該根拠

1 はじめに近年，ユーザからの多様な情報要求を満たす技術として，検索エンジンなどの従来技術に代わり，質問応答などの自動回答技術が注目されている．大量に存在する情報源の中から，ユーザが必要な情報を得る一般的な手段として，関連するキーワー
ドをクエリとして文書集合から検索し，検索結果となる複数文書から必要な情報を探し出す方法がある．しかし，この方法は，クエリ生成の過程や，複数文書の中から要求を満たす情報を選択する過程を，ユーザ自身が負担する必要がある．それに対し質問応答は，ユーザ自身の情報要求を自然言語で入力し，情報源などを参照して，1 つの正答を出力することを目指す技術である．ユーザの得たい情報を身近な言語で入力できる点，および，複数の情報を比較する必要がない点が特徴といえる．
質問応答が対象とする質問の一つに，多肢選択問題がある．
多肢選択問題に対して，文書検索に基づく手法を用いて自動回答する場合，一般的には，回答候補ごとに，質問に対する回答として尤もらしいかを，情報源上の何らかの文書を根拠にして判断する．たとえば，「ジョージ・ワシントンはどこで生まれましたか?」という質問に対して，「ウェストモアランド郡」という回答候補があげられた場合，「ジョージ・ワシントンはウェスト
モアランド郡で生まれました」という仮の事実を考えることができる．情報源中に「ジョージ・ワシントンは 1732 年 2 月 22日にウェストモアランド郡において誕生した」という文書が存在する場合，仮の事実は真であると言え，また，情報源中の当該文書は，事実に対する根拠と捉えることができる．この例でと組み合わせることで，「（B）火」が回答であることを導けるかもしれないが，前提知識を持たない場合，正答することは困難になるであろう．このように，質問応答システムに入力される
質問の中には，複数の前提知識を結び付けなければ回答できな
いような質問も想定でき，このような質問に対してどのように対処するかが，課題となっている．
本稿では，前提知識に基づいて，事実と根拠の対の妥当性を判断し，その結果をもとに回答を導出する手法を提案する．具
体的には，質問文と回答候補から生成される事実文と，情報源
上の根拠文の対が入力されると，各文を解釈するのに必要と思
われる前提知識を参照したうえで，当該対の妥当性を判断する
ようなモデルを構築する．自動回答時には，本モデルを用い，一問の質問から想定される複数の事実と根拠の対の妥当性を判断したうえで，最終的な回答を導出する．ここでの妥当性とは，ある根拠が，ある事実に対しての根拠としてふさわしいかどうかを示す指標である．事実とは，実際に発生した事象あるいは現実に存在する事柄であり，根拠とは，その事実の発生または存在を示すのに必要な科学的知識に基づく理由とする．つまり，根拠から事実を導き出せる場合を「妥当である」とし，導き出
せない場合を「妥当ではない」と表現する．
実験では，提案したモデルについて，モデルの構築条件の違いによる精度を比較する．また，使用するモデルの違いによる，
自動回答の精度の変化についても調査する．

2 関連研究は，単一の根拠で，仮の事実を真と認定することができている．

近年では，質問応答に関連する様々な課題に応じたデータセッ

しかし，質問に回答するための根拠が，情報源上に直接的にトが公開されている．たとえば，SQuAD [1] は，前提となる文役立つ形で記述されているとは限らない．たとえば，「スプレー

章（提示文脈）と，提示文脈についての最大 5 問の質問，およ缶に近づけてはいけないものは? 」という質問と，3 つの選択

びその回答が含まれるデータセットである．提示文脈となる文肢「（A）水 （B）火 （C）磁石」が与えられたとき，関連する章は，Wikipedia の記事内のある一段落であり，回答は，提示文

情報源上の文書として「一般的なスプレー缶には LPG ガスが脈中の該当区間をそのまま抽出する形式となっている．基本的使われる」という文書が取得できたとする．
「LPG ガスは可燃性には，提示文脈を読めば回答が可能であるため，機械読解と呼ばれる分野でも，性能評価によく用いられている．模範回答と績を収めている，汎用言語モデルである．

まったく同じ回答が出力されたかどうかの指標（Exact Match;

EM）でみると，2018 年 12 月時点では，8 割以上の精度を誇る
手法が複数提案されている．
読解力だけでなく，回答時に推論なども必要となるようなデータセットとして，アレン人工知能研究所（Allen Institutefor Artificial Intelligence; AI2）1 が公開している，AI2 Reasoning
Challenge（ARC）[2] や Open Book QA [3] があげられる．ARC
は，米国において，小学生レベルの試験として実際に使用されている，自然科学系の質問を含んだデータセットであり，すべて多肢選択型の質問となっている．質問は，Easy セットとChallenge セットに分類され，併せて，情報源となるコーパスも公開されている．特に Challenge セットに該当する質問は，従来の検索に基づく手法や，単語共起に基づく手法では，回答が誤りやすいものとなっている．Open Book QA は，質問データとは別に，あらかじめ，約 1,300 件の科学的事実が記述された

open book と呼ばれる文の集合が用意されたデータセットである．実際の質問は，open book 内のいずれかの科学的事実が根拠となるように構成されている 2 ．ARC と同様に，多肢選択型

3 提案手法
本節では，事実と根拠の対の妥当性を判断するモデルの構築手法，および，当該モデルを用いた自動回答手法について述べる．図 1 は，それぞれの手法の概要を示したものである．学習時には，あらかじめ，妥当な事実と根拠の対，および，妥当ではない事実と根拠の対を大量に用意し，妥当性判断モデルを深層学習によって学習させる．自動回答で使用する際には，「質問文と回答候補から生成される事実」と，「情報源上の関連する根拠」間の妥当性をモデルに推論させ，その平均確率を元に最終的な回答を決定する．なお，本提案手法は，複数の回答候補から最も尤もらしい回答を選択することに焦点を当て，多肢選択問題のように，あらかじめ回答候補は用意されていることを想
定する．
学習時
学習データ
妥当な 事実 と 根拠 の対（正解データ）

妥当性判断
モデル

であり，open book の記述内容および質問は，小学生レベルのおよびものである．大人の人間であれば，open book を参照すれば容妥当ではない 事実 と 根拠 の対（不正解データ）

妥当性
確率

易に回答できる質問ではあるが，システムが質問に正解するた
誤差計算

めには，
「金属は電気を通しやすい」といったような open book
上の科学的事実だけではなく，「鎧は金属でできている」といっ

自動回答時

た幅広い前提知識が必要とされるデータセットである．本章で質問文は，これらのデータセットが目的とするような，与えられた情（検索用クエリとして入力）

根拠1
根拠2

事実

根拠3

回答候補A

…

報源のみでは回答が困難な質問に対する，自動回答手法を提案

回答候補B

する．

回答候補C

妥当性確率

妥当性判断
モデル

…

Sun ら [4] は，汎用的な言語モデルである OpenAI fine-tuned

情報源（各回答候補および各根拠ごとに確率を算出）

transformer（OFT）[5] に，自身らで提案した機械読解戦略を組
各回答候補ごとの平均確率によって最終回答を決定

み合わせた手法を提案しており，ARC および Open Book QA に対して，高成績を残している．OFT は，注意機構（Attention）

図 1 提案手法の概要のみを使用した機械翻訳モデルである Transformer [6] を元にしており，Sun らは，機械読解のモデルとして用いている．OFTへ入力する中間表現を生成する過程で，（1）質問・選択肢・関連3. 1 妥当性判断モデル

文書を読む順番を変えた中間表現を生成する，（2）関連文書中

ここでは，1 章で定義した，「ある根拠が，ある事実を導き出に含まれる，質問と選択肢に関連するトークンの中間表現を強せるかどうかの妥当性」を判断する妥当性判断モデルについて調させる，といった戦略を提案している．加えて，（3）機械読述べる．たとえば，「火にスプレー缶を近づけると爆発のおそれ解のベンチマークデータセットである RACE [7] から，自動でがある」という事実と，「一般的なスプレー缶には LPG ガスが質問と回答候補を生成し，それらの質問に正解できるように学使われる」という根拠の対は，妥当である．反対に，同じ根拠

習（自己評価）した後で，ARC などのデータを学習させるといに対して，「水にスプレー缶を近づけると爆発のおそれがある」

う戦略もとっている．この戦略は，人間と同じように，ごく一という事実は，文法的破綻はないが，妥当とは言えない．この

般的な知識を学習させてから，より専門的な学習をさせるといような判断を行わせるためのモデルを，本章では妥当性判断モうプロセスとなる．本稿の提案手法も，事実と根拠の妥当性をデルと呼び，深層学習モデルとして構築する．

判断する際には，前提知識を考慮したうえで判断させる流れとモデルの処理手順および構成を，図 2 に示す．事実文およびなっている．なお，Sun らはさらに，OFT を元にした BERT [8]

根拠文の 2 つを入力すると，その対の妥当性を，確率値としてと，以上の戦略を組み合わせた手法を提案しており，ARC およ

出力する構成である．

び Open Book QA に対しては，2018 年 12 月時点で最も良い成3. 1. 1 入 力 変 数

績を残している．BERT は，様々な言語理解タスクで，高い成

入力変数として，事実文を表す F と，根拠文を表す R を定義す

1：アレン人工知能研究所: https://allenai.org
2：教科書などが持込可能な試験のことを，open book exam と呼ぶ．

る．F の s 番目の単語を f s ，R の t 番目の単語を rt とすると，F と{{}}R はそれぞれ，F = f1 , · · · , f s , · · · , f|F| ，R = r1 , · · · , rt , · · · , r|R|

ℎ#$%&'()&()%(
6#$%&

3

 

 


 '

7ℎ-),./(01('2)1/(#$!

56#$%&

 


$
   !
% &)(


4


 '
7!$ !

ℎ#$%&ℎ-),./(01('2)1/(ℎ#$%&-),./(01(


$"!
  !
%ℎ*($+,)-),./(01(ℎ*($+,)

56*($+,)

6*($+,)

 

 


!
"    #ℎ*($+,)'()&()%(



図 2 妥当性判断モデルの処理手順および構成というシーケンスで表される．ただし，| A | は，あるシーケン

することはできない．よって，本モデルでは，あらかじめ辞書

ス A の要素数とする．

を用意し，それぞれの文中に存在する単語を説明するような文

3. 1. 2 事実文と根拠文のエンコード

をエンコードして，判断に用いる．辞書はあらかじめ，Simple

本モデルでは，妥当性を判断するための要素の一つとして，English Wikipedia 3 から生成する．記事名を単語と見なし，説明

F および R を，Bidirectional LSTM（BiLSTM）[9] によって中間文として，各記事の一段落目を採用する．ここでは，それぞれベクトルへエンコードしたものを使用する．BiLSTM は，シーの説明文のことを前提知識と呼ぶ．

ケンスデータをエンコードすることのできる Long-Short Term

ここで，F から得られた前提知識の集合を K Fact ，R から得ら

Memory（LSTM）[10] を，双方向に拡張したモデルである．

れた前提知識の集合を K Reason と定義する．K Fact および K Reason

F のためのエンコーダを LSTM
ReasonFact，R のためのエンコーダをを得るため，F および R のそれぞれに対して形態素解析を行い，，名詞のみを抽出する．そして，各名詞を辞書で照会し，当該名

hReasonS entence は，式 1 および式 2 のとおり表される．関数 e ()詞の前提知識 k を得る．ある文から u 番目に得られた 1 つの名

は，入力された単語を，w 次元の単語ベクトル（単語の分散表

詞の前提知識を ku とすると，K Fact および K Reason は，全 | K | 件{}の名詞から得られた前提知識からなる K = k1 , · · · , ku , · · · , k|K|

LSTMとすると，最終的にエンコードされた h

FactS entence現）へ変換する Word Embed である．

)→
−v Fact = LSTMFact (→− Factsf orward v s−1 , e ( f s )
(←
)
←
−
−
Fact
v Fact= LSTMbackward
v Facts
s+1 , e ( f s )[−]Fact ←
hFactS entence = →v |F|;−v 1Factというシーケンスとなる．また，ku の文の w 番目の単語を ow{}とすると，ku は ku = o1 , · · · , ow , · · · , o|ku | というシーケンスで表される．ただし，文から 1 件も名詞が得られなかった場合，(1)

および，抽出したすべての名詞が辞書に存在しなかった場合，

K = {{unk}} とする．unk は，未知語を示す特殊な記号である．
本モデルでは，まず，単一の前提知識である k ごとに，中間→−v Reason = LSTMReason (→− Reason , e (r ))ttf orward v t−1
)
(←
←
−
−
ReasonReasonReasonvt= LSTMbackward v t+1 , e (rt )][−−v Reason;←v ReasonhReasonS entence = →1|R|ベクトル hKnowledgeS ingle へエンコードする．k のためのエンコー
ダを LSTMKnowledgeS ingle とすると，ku から最終的にエンコード(2)−v はシーケンスを順方向に入力，←−
ここで，→v はシーケンスを逆方向に入力していることを示す．また，[·; ·] は，2 つのベクトルの結合を表す．

3. 1. 3 前提知識のエンコード
事実文と根拠文の妥当性をより正確に判断するには，様々なKnowledgeS ingle

された huは，式 3 のとおり表される．なお，3. 1. 2

項と同様に，BiLSTM を用いる．

−v KnowledgeS ingle , e (o ))→−v KnowledgeS ingle = LSTMKnowledgeS ingle (→ww
w−1
f orward)( −KnowledgeS ingle
KnowledgeS ingle ←←−KnowledgeS ingle(ov w+1, e w ) (3)vw= LSTMbackward][− KnowledgeS ingle ←;−v 1KnowledgeS ingle
v |ku |
huKnowledgeS ingle = →前提知識を持ち合わせていなければならない可能性が考えら

この時点で，各前提知識ごとの中間ベクトル hKnowledgeS ingle

れる．たとえば，先の例の場合，「LPG ガスは可燃性で燃えやが 生 成 さ れ て い る た め ，F お よ び R の そ れ ぞ れ のすい」という前提知識がなければ，妥当かどうかを正確に判断

3：Simple English Wikipedia: https://simple.wikipedia.org/

前 提 知 識 の 中 間 ベ ク ト ル を ま と め た ，S K Fact ，S K Reason

る事実文を Fi とすると，以下のような 3 つの事実文が生成さと い う シ ー ケ ン ス が 定 義 で き る ． S K は ，S K ={ KnowledgeS ingle}
KnowledgeS ingle
h1, · · · , huKnowledgeS ingle , · · · , h|K|と表される．

れる．

続いて，S Kをエンコードし，中間ベクト

Fbfire should not be brought near the spray can.

ル hFactKnowledge および hReasonKnowledge を生成する．S K のためのFc

magnet should not be brought near the spray can.

Fact

および S K

ReasonFawater should not be brought near the spray can.

エンコーダを LS T M KnowledgeAll とすると，hFactKnowledge または

次に，F ごとに，検索エンジンを用いて，情報源上の関連す

hReasonKnowledge は，式 4 のとおり表される．なお，3. 1. 2 項と同る文書のうち，上位 d 件を取得する．この情報源は，3. 1 節で様に，BiLSTM を用いる．

述べた，前提知識辞書とは異なる．これらの文書はすべて，事実文 F に対する根拠文 R として取り扱う．この時点で R は，F→−v KnowledgeAll = LSTMKnowledgeAll (→−v KnowledgeAll , hKnowledgeS ingle )uuu−1
f orward( −KnowledgeAll)
KnowledgeAll ←←−KnowledgeAll
vu= LSTMbackward
v u+1, huKnowledgeS ingle[− KnowledgeAll ←]hFactKnowledge|ReasonKnowledge = →v |ku |;−
v 1KnowledgeAll(4)以上により，事実文のための前提知識を表す hFactKnowledge と，根拠文のための前提知識を表す hReasonKnowledge が生成される．

と表層的に類似した文書であり，真に妥当な根拠であるかは分からない．Fi をクエリとして取得された上位 n 件の文書のうち， j 番目の文書を Ri j とする．この時点で，事実文 F ごとに

d 個の根拠文 R が存在することとなる．最後に，妥当性判断モ
デルを用いて，各回答候補 i が正解である可能性を示すスコア

S i を算出する．妥当性判断モデルを Model(事実文, 根拠文) とすると，S i は式 9 によって導かれる．つまり，1 つの回答候補

i につき，妥当性判断モデルから q 件の確率値が得られるため，

3. 1. 4 デ コ ー ド

それらの平均値を，当該回答候補が正解である可能性を示すス

まず，事実に関する中間ベクトル hFact ，および，根拠に関すコアとする．

る中間ベクトル hReason を，式 5 および式 6 のとおり生成する．

Si =ス項 b は W に含まれるものとする．また，活性化関数 f にはELU 関数 [11] を用いる．

1∑
Model(Fi , Ri j )q j=1q

ただし，W は，全結合層の重みを表し，簡単のため，バイア(9)

回答候補ごとにスコア S を得たうえで，この値が最も大きい

(
(
[
]))
hFact = f WFact2 × f WFact1 × hFactS entence ; hFactKnowledge
(5)

(
(
[
]))
hReason = f WReason2 × f WReason1 × hReasonS entence ; hReasonKnowledge(6)
そして，妥当性確率 p は，式 7 に従って算出される．確率値
は，0.0〜1.0 の実数値となる．

回答候補を，自動回答の最終的な回答として出力する．

4 実

験

本節で使用する，妥当性判断モデルの学習データ，自動回答
時の質問データ，および，前提知識の使用言語は，英語のみである．そのため，形態素解析，共参照解決，構文解析などの自然言語処理には，Stanford CoreNLP [12] 4 を使用する．また，情報源から関連文を取得する処理においては，検索エンジンとして，オープンソースの全文検索システムである Apache Solr を

(
(
[
]))
p = sigmoid WFinal2 × f WFinal1 × hFact ; hReason

使用する．

(7)
4. 1 実験 1：妥当性判断モデルの精度

3. 1. 5 損 失 関 数
本モデルの最適化対象の損失関数は，式のとおりである．ただし，データセットは全 N 件であり，θ は，モデル中の全パラメータを表す．y は正解ラベルであり，「妥当である」場合は

y = 1.0，「妥当ではない」場合は y = 0.0 となる．
E (θ) =

N∑()∥y − M Fn , Rn , KnFact , KnReason ; θ ∥2

4. 1. 1 目

的

本実験では，提案した妥当性判断モデルの精度について調査する．使用する学習データ，および，前提知識の考慮の有無の組み合わせによって，複数条件でモデルを構築し，どの程度正確に推定できるかについて比較する．

4. 1. 2 学習用データセット
(8)

n=1

3. 2 自 動 回 答
自動回答時には，先の妥当性判断モデルが出力する確率値を指標として，複数の回答候補の中から，最終的な回答を出力

ここでは，妥当性判断モデルの学習用データセットについて述べる．
まず，表 1 は，用意した学習用データの一覧である．データの作成タイプは，タイプ A とタイプ B の 2 つに分かれ，作成方法が大きく異なる．

する．
まず，質問文と回答候補から，事実文 F をルールベースによって生成する．たとえば，「Which should not be brought near

the spray can?」という質問に対して，「（a）water （b）fire （c）
magnet」の回答候補が存在する場合，回答候補 i から生成され

4：Stanford CoreNLP Natural language software: https://stanfordnlp.github.
io/CoreNLP/
5：Wikibooks: https://en.wikibooks.org/

（ 1 ） 質問ごとに，選択肢の個数分の事実文を作成する．

表 1 学習用データの一覧
データ名

作成タイプ

作成元

正例数

負例数

Wiki

タイプ A

Wikipedia

401,317400,790

SimpleWiki

タイプ A

Simple English Wikipedia

9,512

9,469

Wikibooks

タイプ A

Wikibooks 524,18624,192OpenBookQA

タイプ B

Open Book QA [3]24,61373,850ARC-Easy

タイプ B

AI2 Reasoning Challenge

11,25533,755

5,590

16,785[2] Easy セット
ARC-Challenge

タイプ B

AI2 Reasoning Challenge
Challenge セット（ 2 ） データセットに付随のコーパスを情報源として，事実文ごとに，情報源に対して検索を行い，関連文を 5 件取得する．
それらをすべて根拠文として取り扱う．
（ 3 ） 質問の正解の選択肢から得られた対を正例，不正解の選択肢から得られた対を負例とする．
手順 1 では，質問文と選択肢（回答候補）から，事実文を作成する．作成には，3. 2 節で述べたものと同じルールを用いる．
手順 2 では，根拠文を取得する．Open Book QA ならびにa) タ イ プ A

ARC には，それぞれ，質問のデータセットとは別に，質問を解質問応答とは関係ない，Wikipedia などの一般的な文書からく際の情報源となるコーパスが用意されているため，それらを作成するタイプであり，以下の手順で作成される．

根拠として取り扱う．クエリには，事実文を用いる．ただし，（ 1 ） 作成元データを段落ごとに区切り，一段落ごとに共参クエリによっては，必ずしも 5 件の関連文を取得できるとは限照解決を行う．

らないため，そのような場合は，取得できた件数分だけで同じ（ 2 ） 各段落を一文ごとに区切り，単語「because」が含まれ処理を行う．

る文のみを抽出する．ただし，「because of」の文節が含まれる

以上の手順によって，仮に，データセット内の k 件の多肢文は対象外とする．

選択問題がすべて，正解が 1 択のみの l 択問題 (l >= 2) であり，（ 3 ） 抽出された各文に対して，句構造に基づく構文解析を

常に関連文が 5 件取得できた場合，手順 3 で得られる正例は

行い，「because」に含まれる文節をすべて根拠文，それ以外の文
節を事実文として抽出し，正例の対とする．

k × 1 × 5 件，負例は k × (l − 1) × 5 件となる．
なお，OpenBookQA および ARC の配布データは，全質問（ 4 ） 手順 3 で取得した各正例対ごとに，当該事実文と表層データを「学習用」「評価用」「テスト用」の 3 種類に分けて提的に類似した他の対の事実文を探索し，正例の根拠文と対とす供しているため，本実験では，「学習用」のみを学習用データとることで，負例を作成する．

する．

手順 1 では，共参照の解決を行う．特に英語の場合，一度出現した名詞は，2 回目以降，代名詞に置き換わる場合が多いため，共参照解決によって，それら代名詞などをすべてもとの単語に戻す．
手順 2 および 3 では，単語「because」を含む文から，事実文と根拠文の正例対を抽出する．これは，「because」を含む文が，「fire should not be brought near the spray can because LPG gas isused for common spray cans.」といったように，事実と根拠の両方を含む可能性が高いと考えられるためである．たとえば，先の例文の場合，「fire should not be brought near the spray can」という事実文と，「LPG gas is used for common spray cans」という根拠文が抽出される．ただし，「because of」の文節が含まれる
文は，意味が異なるため，抽出対象外とする．
手順 4 では，正例対をもとに，疑似的に負例対を作成する．

4. 1. 3 評価用データセット
続いて，本実験で使用する評価用データセットについて述
べる．
評価用データには，Open Book QA で提供されている，「評価用」データの Additional データを用いる．Additional データには，通常のデータに加えて，当該質問が作られるもととなった，
付随コーパス内の 1 つの根拠文がすでに用意されている．よって，以下の手順により，評価用データを作成する．
（ 1 ） 質問ごとに，選択肢の個数分の事実文を作成する．
（ 2 ） 当該質問のすべての事実文に対して，Additional デー
タ上で用意されている根拠文を対にさせる（ 3 ） 質問の正解の選択肢から得られた対を正例，不正解の選択肢から得られた対を負例とする．
（ 4 ） Open Book QA では，質問ごとに，正例が 1 つ，負例

ここでは，同じ根拠文に対して，正例の事実文に表層的に類似が 3 つ作成される．正例と負例の割合を同一とするため，質問している事実文を，負例として取り扱う．類似の指標として，ごとに，ランダムに 2 件の負例を消去する．

ジャロ・ウィンクラー距離（Jaro-Winkler distance）[13] を用いる．この距離は，0.0〜1.0 の実数値となり，同一の文を比較す
ると，距離 1.0 となる．類似する文を探索する際には，距離が4. 1. 4 方法

本実験では，表 2 に示す 6 種類の条件で，それぞれ妥当性判
断モデルを構築し，モデルの精度を比較する．

限りなく 1.0 に近い文を選択する．

表 2 妥当性判断モデルの構築条件の一覧

以上により，正例と負例が同じ件数だけ作成されるが，すべ

条件番号使用する学習データ

前提知識を考慮するかてを学習用データにはせず，9 割を学習データとする．残りの

C1

タイプ A

しない

1 割のデータは，開発用データとして用いる．

C2

タイプ A

する

C3

タイプ B

しない

b) タ イ プ B
多肢選択問題の質問応答データセットから作成するタイプである．質問応答データセット内には，質問文と，正解および不

C4

タイプ B

する

C5

タイプ A とタイプ B

しない

C6

タイプ A とタイプ B

する

正解からなる複数の回答候補が存在し，本実験用の学習データ
は以下の手順で作成される．

各条件の違いは，学習時にどのデータを使用するか，および，

前提知識を考慮するかどうかである．学習データは，4. 1. 2 項で述べたように，作成方法の違いで 2 種類に分かれるため，どち4. 2 実験 2：自動回答の正答率
4. 2. 1 目

的らか片方を使用するか，両方とも使用するかで，条件が分かれ

本実験では，4. 1 節の実験 1 で構築された妥当性判断モデル

る．また，前提知識を考慮するかどうかについては，3. 1 節で示を，3. 2 節で提案した自動回答時に使用することで，与えられしたモデルの学習時に，妥当性判断の要素として，hFactKnowledge

た質問に対しどの程度正答するかを調査する．同時に，モデルと hReasonKnowledge を使用するか否かの違いである．もし，使用しの構築条件の違いによって，正答率にどの程度影響を与えるかない場合は，式 5 で示した hFact の生成式は式 10 へ，式 6 で示について比較する．

した hReason の生成式は式 11 へ置き換えられる．

4. 2. 2 データセット
質問のデータセットとして，表 4 に示す 3 種類の多肢選択問(())
hFact = f WFact2 × f WFact1 × hFactS entence(10)

題を使用する．ただし，いずれのデータセットも，「テスト用」
として提供されているもののみを使用する．

(())
hReason = f WReason2 × f WReason1 × hReasonS entence

表 4 自動回答させる質問のデータセットの一覧

(11)

データ名

質問数

•

コーパスの文数ス

モデル構築時のパラメータは，すべての条件において，次のOpenBookQA

とおり統一する．

情報源として使用するコーパ

500

Open Book QA に付随のコー

1,326

パス（open book）

事実文用 LSTM，根拠文用 LSTM，単一前提知識用 LSTM

ARC-Easy

2,376

14,621,856

付属のコーパス

の 3 つにおいて使用する，単語の分散表現は，学習済みの 100
次元の GloVe モデル [14] を使用する．各 LSTM の出力次元数

AI2 Reasoning Challenge に

ARC-Challenge

1,172

（同上）

（同上）

は，各方向において，事実文用 LSTM および根拠文用 LSTM
は 32 次元，単一前提知識用 LSTM は 64 次元，全前提知識用

表 4 に示すとおり，質問のデータセットによって，根拠文をLSTM は 32 次元とする．
• 全結合層の出力次元数は，WFact1 と WReason1 は 16 次元，

取得する元となる情報源は変更する．

WFact2 と WReason2 は 8 次元，WFinal1 は 8 次元とする．
• 最終層以外のすべての LSTM および全結合層には，学習時

は，3 択や 5 択の問題が数件存在するものの，ほぼすべてが，4に一定割合のノードを不活性化させる Dropout [15] を導入する．
Fact

，LSTM

は 0.25，WとW

不活性化割合は，LSTM

LSTM

KnowledgeAll

Reason2W•

は 0.50，W

Final1

Fact1

Reason，LSTM

Reason1は 0.25，W

択の多肢選択問題である．

4. 2. 3 方法，

本実験では，4. 1 節の実験 1 で構築したモデルを用いて，デーとタセットの質問に自動回答する．自動回答時のパラメータは，KnowledgeS ingle
Fact2

OpenBookQA は，すべて 4 択の多肢選択問題である．ARC

は 0.75 とする．

WFact1 ，WReason1 ，WFact2 ，WReason2 および WFinal1 には，

バッチ正則化（Batch Normalization）[16] を適用する．

d = 5 とする．
実験結果としては，使用したモデル，および，自動回答させたデータセットごとに，自動回答の正答率を算出する．与えら

最適化アルゴリズムには Adam [17] を使用し，各パラれた多肢選択問題に対して，本来正解である選択肢を，システ

メータは α = 0.001，β1 = 0.9，β2 = 0.999，ϵ = 10−8 とする．

ムが回答とした場合は，システムはその問題に対して正解した••

学習全体のエポック数は 50，ミニバッチサイズは 512 ととみなし，それ以外の場合は，不正解であったとみなす．正答
率は，全問題数に対して，システムが正解した問題数の割合でする．
モデルの精度の指標としては，評価用データを入力させた際の，「妥当である / 妥当ではない」の 2 値判断の正答率を用いる．
モデルの出力 p は確率値であるため， p >= 0.5 の場合は「妥当である」， p < 0.5 の場合は「妥当ではない」と判断したこととする．精度は，モデルが最終エポックまで学習し終えた時点である．

4. 2. 4 結果使用したモデル，および，自動回答させたデータセットごとの正答率は，表 5 のとおりである．ただし，表の下段は，同じ
データセットを用いた，他の手法の正答率である．

評価する．

4. 1. 5 結

表 5 自動回答の正答率

果

各構築条件におけるモデルの精度は，表 3 のとおりとなった．
表 3 妥当性判断モデルの各構築条件における精度

モデルの条件番号

自動回答させたデータセット

または手法名OpenBookQA ARC-Easy ARC-Challenge

C1

0.240

0.244

0.255

C2

0.244

0.252

0.244

C3

0.352

0.271

0.272

条件番号

精度

C1

0.507

C4

0.386

0.301

0.253

C2

0.506

C5

0.344

0.278

0.232

C3

0.553

C6

0.354

0.283

0.256

C4

0.551

Sun ら [4] の手法 6

0.696

0.764

0.538

C5

0.546

C6

0.544
6：2018 年 12 月 31 日時点．

（妥当ではない）」となる対の割合である．また，再現率とは，

5 考

察

本節では，4 章の実験結果について考察する．

5. 1 考察 1：妥当性判断モデルの精度
4. 1 節の実験 1 では，本章で提案した妥当性判断モデルの精度について調べた．本実験の精度は，正例と負例の件数が同一の評価データに対する，2 値判断の結果により算出されている

正解が「妥当である（妥当ではない）」となっている対のうち，モデルが「妥当である（妥当ではない）」と判断した対の割合である．C3〜C6 の結果をみると，モデルは「妥当ではない」という判定をしやすい傾向であることが分かる．これは，タイプ

B の学習データの正例:負例の割合が，およそ 1:3 であるためだと考えられる．
表 6 妥当性判断モデルの判断結果と適合率および再現率ため，ランダムに判定した場合の精度は 0.50 であるといえる．

正解件数

実験では，複数の条件でモデルを構築したが，評価データに対

モデルの

妥当

妥当

条件番号

ではない

である

合計件数

適合率

妥当

C1

285

277

562

0.507

ではない

C2

225

218

443

0.507

デル間で差があることが分かる．Wikipedia などから生成した

C3

388

335

723

0.536

タイプ A の学習データのみを用いて学習させた場合，評価デー

C4

384

333

717

0.535

C5

384

337

721

0.532

C6

359

314

673

0.533

妥当

C1

215

223

438

0.509

である

C2

275

282

557

0.506

C3

112

165

277

0.595

C4

116

167

283

0.590

C5

116

163

279

0.584

C6

141

186

327

0.568

合計件数

C1–C6

500

500

1000

再現率

C1

0.570

0.446

C2

0.450

0.564

4. 1. 2 項で述べた，タイプ A 作成時に残した考察用評価データ

C3

0.776

0.330

で，C1 および C2 の精度を評価したところ，精度は 0.60 程度

C4

0.768

0.334

となり，タイプ A 内で完結させた場合は，より良い精度となっ

C5

0.768

0.326

C6

0.718

0.372

する精度は，どの条件においても 0.50〜0.55 程度であった．
まず，使用した学習データの違いによる点からみると，各モ

タに対する妥当性判断は，精度が 0.50 程度であり，ランダム

判断結果に判定した精度と同等である．対して，OpenBookQA などの質

件数

問応答のデータセットから生成したタイプ B を用いた場合，精度は 0.55 程度となった．これより，Wikipedia 等などの記事上に存在する，単語「because」を含む文から生成される事実と根拠の対と，OpenBookQA から生成される対（評価データ）の間には，大きな隔たりがあり，タイプ A を学習させても，本実験で期待する妥当性判断は行えないことが分かった．実際に，た．タイプ B のみを用いた C3 および C4 の，評価データに対する精度は，0.55 程度であったが，学習データに対する精度を調べたところ，0.90 を上回っており，過学習 7 を起こしている

5. 2 考察 2：自動回答の正答率ことがわかった．この原因の一つは，学習用データが少量であ4. 2 節の実験 2 では，実験 1 で構築した妥当性判断モデルをることが考えられる．タイプ A とタイプ B の両方を用いた C5

使用して，本章で提案した自動回答手法の精度について調べた．

および C6 は，過学習は抑えられたものの，先に述べたように，

本実験は，ほぼすべてが 4 択である多肢選択問題に対する正答タイプ A の学習データが評価データに対して有効に働かなかっ率を，結果として算出しているため，ランダムに自動回答した

たため，精度向上にはつながらなかった．

場合の正答率は 0.25 程度といえる．

次に，前提知識を考慮するか否かの違いでみると，精度の向C1 および C2 は，ランダムな自動回答の精度と同等であり，上にはつながらなかったことが分かる．原因の一つとして，用C3〜C6 は，0.30 を超えたデータセットが存在する．また，妥意した辞書の構築手法が挙げられる．本章では，3. 1. 3 項で述

当性判断モデルの精度の傾向とは異なり，前提知識を考慮した

べたように，Simple English Wikipedia から，前提知識用の辞書

モデルを用いた自動回答のほうが，正答率が高い．ただし，いを構築している．単純な構築手法であるため，同じ表層の単語

ずれのモデルを使用したしたとしても，Sun ら [4] の手法によに複数の意味がある場合や，複数単語で一つの意味をなすようる自動回答の正答率を，大幅に下回っている．よって，妥当性な場合に，現時点では対応できていない．つまり，事実文や根判断モデルの構築手法を含む，自動回答手法の大幅な見直しが拠文の文脈に適した前提知識を取得できていない可能性がある．

必要であると考えられる．

また，提案手法では，妥当性判断モデルの学習時に，前提知識

C6 において，提案手法が正解した問題例を，図 3 に示す．質をうまく活用した学習ができていない可能性がある．妥当性判

問は，「舗装道路のすぐそばに植えられたオークの木が成長し，断の際には，事実文や根拠文，前提知識内のどこに着目すべき根が伸びたときにどうなるか」といった内容であり，正解はかを考慮する必要があると考えられるため，注意機構などの導「（C）コンクリートを破壊する」である．自動回答処理内で，入を検討する必要がある．

妥当性判断を行った結果を見ると，正解である選択肢（C）か

最後に，各モデルの詳細な判断結果と，適合率および再現率

ら生成された事実と，検索で得られた根拠の対の妥当性確率が，を，表 6 に示す．ここで，適合率とは，モデルが「妥当である

他の選択肢と比較して高いことが分かる．しかし，根拠として（妥当ではない）」と判断した対のうち，正解も「妥当である

得られた実際の文をみてみると，根拠としては不適当であると思われる．他の問題においても，正解した問題，不正解した問

7：過学習: 学習用データに対して過度に適応している状態のこと．

題ともに，妥当性判断の結果が不適切であったものが多く見られた．これは，5. 1 節の考察でも述べたように，妥当性判断モ
デルの精度が不十分であるためである．また，現在の手法の場
合，根拠文を検索する際に，真に根拠となる文が取得できる保証はない．よって，確実に根拠を得る手法や，検索に頼らない手法を検討する必要がある．

辞本研究の一部は科研費 18K11557 の助成を受けたものです．
ここに記して感謝の意を表します．

文

問題文
Oak tree seeds are planted and a sidewalk is paved right next to that spot, until eventually,
the tree is tall and the roots must extend past the sidewalk, which means

選択肢（A）roots may be split（B）roots may begin to die（C）parts may break the concrete（D）roots may fall apart

正解: （C）

検索で得られた根拠文と妥当性判断の結果（抜粋）

選択肢（A） 平均:0.0125
roots anchor plants into the soil 0.0121
a tree can be replaced by planting a new tree 0.0124
選択肢（B） 平均:0.0062
if a tree is cut down then that tree will die 0.0071
roots anchor plants into the soil 0.0079
選択肢（C） 平均:0.9731
最終回答として（C）が選択される
a tree can be replaced by planting a new tree 0.9740
if a tree falls then that tree is dead 0.9697
選択肢（D） 平均:0.0039
if a tree falls then that tree is dead 0.0035
if a tree falls then sunlight becomes available to the surrounding plants 0.0045

図 3 自動回答の正解例

さらに，自動回答された問題を筆者が確認したところ，同じ事実文に対して，どのような根拠文を対として妥当性を判断させたとしても，妥当性判断モデルが出力する妥当性確率の値は，

C1〜C6 のいずれにおいても，ほぼ同値になりやすい傾向がみられた．この原因としては，構築した妥当性判断モデルが，事実文のみから妥当性を判断しようとしている可能性が考えられる．よって，モデル内での計算方法や，学習データの見直しを検討する必要がある．

6 ま と め
本章では，多肢選択問題に焦点を当て，前提知識に基づき，事実と根拠の対の妥当性を判断することによって，回答を導出する手法を提案した．具体的には，質問文と回答候補から生成される事実文と，情報源上の根拠文の対が入力されると，各文を解釈するのに必要と思われる前提知識を参照したうえで，当該対の妥当性を判断するようなモデル（妥当性判断モデル）を構築した．自動回答時には，本モデルを用い，一問の質問から想定される複数の事実と根拠の対の妥当性を判断したうえで，最終的な回答を導出した．
妥当性判断モデルの精度を調査した結果，どのような条件でモデルを構築したとしても，本章で想定していた妥当性を，高い精度で判断することはできなかった．また，当該モデルを用いた自動回答においても，2018 年時点で最も成績の良い手法による正答率を，大幅に下回る結果となった．
今後，事実と根拠の妥当性判断の精度向上のためには，モデ
ル構造や学習データの見直しが必要であると思われる．また，自動回答時には，検索によって根拠を得るのではなく，前提知識を含め，あらかじめ大量の根拠を妥当性判断モデルが学習したうえで，妥当性を判断させるような処理を検討する必要が
ある．

謝

献

[1] Pranav Rajpurkar, Robin Jia, and Percy Liang. Know what you don’t
know: Unanswerable questions for squad. In Proceedings of the 56th
Annual Meeting of the Association for Computational Linguistics(Volume 2: Short Papers), pp. 784–789. Association for Computational Linguistics, 2018.
[2] Peter Clark, Isaac Cowhey, Oren Etzioni, Tushar Khot, Ashish Sabharwal, Carissa Schoenick, and Oyvind Tafjord. Think you have
solved question answering? try arc, the ai2 reasoning challenge.
arXiv preprint arXiv:1803.05457, 03 2018.
[3] Todor Mihaylov, Peter Clark, Tushar Khot, and Ashish Sabharwal.
Can a suit of armor conduct electricity? a new dataset for open bookquestion answering. In EMNLP, 2018.
[4] Kai Sun, Dian Yu, Dong Yu, and Claire Cardie. Improving machinereading comprehension with general reading strategies. CoRR, Vol.
abs/1810.13441, , 2018.
[5] Alec Radford, Karthik Narasimhan, Tim Salimans, and Ilya
Sutskever. Improving language understanding by generative pretraining. 2018.
[6] Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion
Jones, Aidan N Gomez, Łukasz Kaiser, and Illia Polosukhin. Attention is all you need. In Advances in Neural Information Processing
Systems, pp. 5998–6008, 2017.
[7] Guokun Lai, Qizhe Xie, Hanxiao Liu, Yiming Yang, and Eduard
Hovy. Race: Large-scale reading comprehension dataset from examinations. In Proceedings of the 2017 Conference on Empirical
Methods in Natural Language Processing, pp. 785–794, 2017.
[8] Jacob Devlin, Ming-Wei Chang, Kenton Lee, and Kristina
Toutanova. Bert: Pre-training of deep bidirectional transformers forlanguage understanding. arXiv preprint arXiv:1810.04805, 2018.
[9] Mike Schuster and Kuldip K. Paliwal. Bidirectional recurrent neuralnetworks. IEEE Transactions on Signal Processing, Vol. 45, No. 11,
pp. 2673–2681, 11 1997.
[10] Sepp Hochreiter and Jürgen Schmidhuber. Long short-term memory.
Neural computation, Vol. 9, No. 8, pp. 1735–1780, 1997.
[11] Djork-Arné Clevert, Thomas Unterthiner, and Sepp Hochreiter. Fastand accurate deep network learning by exponential linear units (elus).
arXiv preprint arXiv:1511.07289, 2015.
[12] Christopher D. Manning, Mihai Surdeanu, John Bauer, Jenny Finkel,
Steven J. Bethard, and David McClosky. The Stanford CoreNLP natural language processing toolkit. In Association for Computational
Linguistics (ACL) System Demonstrations, pp. 55–60, 2014.
[13] William E Winkler. String comparator metrics and enhanced decisionrules in the fellegi-sunter model of record linkage., 1990.
[14] Jeﬀrey Pennington, Richard Socher, and Christopher Manning.
Glove: Global vectors for word representation. In Proceedings ofthe 2014 conference on empirical methods in natural language processing (EMNLP), pp. 1532–1543, 2014.
[15] Nitish Srivastava, Geoﬀrey Hinton, Alex Krizhevsky, Ilya Sutskever,and Ruslan Salakhutdinov. Dropout: a simple way to prevent neuralnetworks from overfitting. The Journal of Machine Learning Research, Vol. 15, No. 1, pp. 1929–1958, 2014.
[16] Sergey Ioﬀe and Christian Szegedy. Batch normalization: Accelerating deep network training by reducing internal covariate shift. arXiv
preprint arXiv:1502.03167, 2015.
[17] Diederik P Kingma and Jimmy Ba. Adam: A method for stochastic
optimization. arXiv preprint arXiv:1412.6980, 2014.