言語処理学会 第25回年次大会 発表論文集 (2019年3月)

回答スタイルを制御可能な生成型機械読解
西田 京介 1 斉藤 いつみ 1 西田 光甫 1 篠田 一聡 2∗ 大塚 淳史 1 浅野 久子 1 富田 準二 1
1
NTT メディアインテリジェンス研究所 2 東京大学大学院 情報理工学系研究科

はじめにQuestion: “how long to get nys tax refund”
1

近年，質問にテキストを読み解いて答える機械読解が注目を集めている．従来は SQuAD [12, 13] に代表される，テキストから回答範囲の始点と終点を予測する抽出型機械読解が主に取り組まれてきた．その一方で，回答をテキストの範囲に限定しない生成型機械読解は，重要な研究課題であるにも関わらず十分な成果が得られていない．BERT [3] などの抽出モデルでは任意の回答を生成できず，従来の生成モデル [20, 8] は学習データ量の不足が課題となっている．
また，機械読解を実用化に向けて発展させるためには，同一の質問に対して複数のスタイルで回答する能力の実現が重要と考える．特に，Web 検索に適したフレーズによる簡潔な回答や，Siri や Alexa などのスマートデバイスに適した自然文による回答の生成は需要が高い．これらの異なるスタイルに基づく学習は互いに補完する関係にあると考えられるが，複数スタイルの同時学習，さらには回答文生成の制御を行う機械読解の研究はこれまで行われていない．
本研究では，新たな生成型読解モデル Masque を提案する．提案モデルは，Bing 検索結果の 10 パッセー
ジから読解を行う MS MARCO 2.1 [2] において，回答スタイルが異なる 2 つのタスクにて state-of-the-artの性能を達成した．主な貢献は以下の 2 点である．

1. 複数テキストの要約に基づく生成型読解．文書要約で用いられる pointer-generator [14] を語彙からの生成および質問・複数パッセージからのコピーが可能なモデルに拡張して生成型読解を実現した（図 1）．さらに RNN から Transformer [21] ベースに拡張した．
2. 回答スタイルを制御可能な読解．pointer-generator
を回答スタイルを条件とした条件付デコーダに拡張し，複数スタイルの同時学習およびスタイルを指定した回答文生成を可能にした（図 1）．

2

問題定義

本研究で取り組む生成型機械読解を定式化する．
問題 1. 質問 xq = {xq1 , . . . , xqJ }，K 個のパッセージ
xpk = {xp1k , . . . , xpLk }（k = 1, . . . , K ），スタイル s を入力とする．機械読解システムはスタイルに応じた回答 y = {y1 , . . . , yT } を出力する．
すなわち，推論時は 3 つ組 (xq , {xpk }, s) を入力とし，P (y) を出力する．訓練データは 6 つ組 (xq , {xpk },s, y, a, {rpk }) とする．a は質問に対してパッセージ
集合 {xpk } の全体を基に回答可能な場合に 1，rpk は第 k パッセージ xpk が回答に必要な場合に 1 となるバイナリ変数である．
∗ NTT におけるインターンシップ期間中の貢献．

Mixture weights

10it takes 10 weeks to get new york state tax refund .

[NLG]

1


Generate from Voc.
Copy from Question
Copy from Passages

0[Q&A] 10 weeks 


図 1: 提案モデルによる回答文生成例．指定スタイル（上: 自然言語生成，下: 簡潔な回答）に応じて，語彙からの生成および質問・パッセージからのコピーに基づく確率分布を生成ステップ毎に混合して生成する．

3

提案モデル

Masque は条件付確率 p(y|xq , {xpk }, s) の end-to-end
モデルである．複数スタイルの同時学習に加えて，機械読解のさらなる精度向上のため，回答に必要なパッセージのランキングと回答可否の分類をマルチタスク学習する．図 2 にアーキテクチャの全体図を示す．

3.1

質問・パッセージリーダ

入力 x , {xpk } の文脈理解およびマッチングを行う．
q

3.1.1 単語埋め込み層
事前学習により獲得された 300 次元 GloVe [10] と 512
次元 ELMo [11] の出力を連結して 2 層の highway network [16] へ入力し，単語ベクトル系列を出力する．
3.1.2 共有エンコーダ層
前層の出力を d 次元に線形変換後，3 層の Transformer [21] を作用させ，各パッセージに対して E pk ∈Rd×L ，質問に対して E q ∈ Rd×J を出力する．
Transformer エンコーダブロック． 各ブロックはself-attention と 2 層の FFN から構成される．selfattention は multi-head アテンション（8 ヘッド）[21]を用いる．各サブブロックの出力は入力を x，処理をf としたとき，residual 結合，layer normalization [1]を用いて LayerNorm(f (x) + x) とする．全てのサブブロックの入出力次元は d = 304 とする．FFN の 1 層目の出力は 256 次元，活性化関数は GELU [4] とする．
3.1.3 双対アテンション層
まず，質問と第 k パッセージの類似度行列 U pk ∈ RL×Jを求める．各行列要素は [15] と同様に
Uljpk = wa ⊤ [Elpk ; Ejq ; Elpk ⊙ Ejq ](1)とする．wa ∈ R6d は学習パラメータである．⊙ はア
ダマール積，[; ] は行方向に沿ったベクトル連結の演算子を表す. 次に，U pk を各行・各列で正規化し，Apk =softmaxj (U pk ⊤ ) ∈ RJ×L ，B pk = softmaxl (U pk ) ∈― 17 ―Copyright(C) 2019 The Association for Natural Language Processing.
All Rights Reserved.

Answer Possibility

3.4

Answer Word Sequence

DecoderClassifier

Multi-source Pointer-Generator
8x
Combined
Attention

Relevance

Add & Norm

Additive
Attention

Feed
Forward

Additive
Attention
query

query

Multi-Head
Attention
Concatquery

5xModeling
Encoder
BlockModeling
EncoderBlock

3.4.2 アテンション付デコーダ層
スタイル＋回答系列に対する単語埋め込み層の出力をd 次元に線形変換後，8 層の Transformer を用いて，デコーダ状態系列 {s1 , . . . , sT } ∈ Rd×T を出力する．

Add & Norm

2x
Modeling
Encoder
BlockMulti-Head
Attention
query

Dual Attention

Add & Norm

3x
SharedEncoder
Block

SharedEncoder
Block

SharedEncoder
Block

MaskedMulti-Head
Attention

Highway

Highway

Highway

Highway

Glove&ELMo

Glove&ELMo

Glove&ELMo

Passage K

Question

Style + Answer (Shiftted)

Glove&ELMo

ReaderPassage 1

自己回帰的に各ステップで生成した単語を次ステップの入力とする．回答スタイルの制御のため，回答文のBOS トークンをスタイル毎に用意したトークンに変更する．推論時は，トークンの指定によりスタイルを制御できる．トークン制御は [6, 19] 等で実績があり，モデルアーキテクチャに変更を与えず制御を可能にする．

3.4.1 単語埋め込み層
リーダの単語埋め込み層と同様である．ただし，ELMo
は双方向 LSTM の順方向分（256 次元）のみを用いる．

Add & NormPassage Ranker

図 2: Masque モデルアーキテクチャ．

RL×J を得る．そして，DCN [23] により質問からパッセージへのアテンション Gq→pk ∈ R5d×L :[E pk ; Āpk ; Ā¯pk ; E pk ⊙ Āpk ; E pk ⊙ Ā¯pk ]Transformer デコーダブロック． エンコーダブロッ
クに 2 つのサブブロックを挿入する（図 2）．selfattention 層は位置 t において t + 1 以降の情報を考慮しない subsequent マスク [21] を利用する．追加したサブブロックでは M q ，M pall を key, value とした
multi-head アテンション（8 ヘッド）[21] を行う．M pallはモデリングエンコーダ層の各パッセージに関する出力の連結 M pall = [M p1 , . . . , M pK ] ∈ Rd×KL である．
ここで，[, ] は列方向のベクトル連結の演算子を表す．
3.4.3 複数情報源 Pointer-Generator
拡張語彙分布． 拡張語彙 Vext を GloVe の語彙 V の上
位 5,000 語と入力に出現する単語の和集合とする．t
番目の回答単語 yt に対する Vext 上の確率分布 P v を⊤

P v (yt ) = softmax(W 2 (W 1 st + b1 ))パッセージから質問へのアテンション Gp→q ∈ R5d×J :¯ pk ); E q ⊙ max(B̄ pk ); E q ⊙ max(B̄¯ pk )][E q ; max(B̄ pk ); max(B̄kkkkをそれぞれ得る．ここで，Āpk = E q Apk ∈ Rd×L ，B̄ pk = E pk B pk ∈ Rd×J ，Ā¯pk = B̄ pk Apk ∈ Rd×L ，¯ pk = Āpk B pk ∈ Rd×J である．
B̄

3.1.4

モデリングエンコーダ層

Gから M q ∈ Rd×J ，Gq→pk から M pk ∈ Rd×L をそれぞれ 2 層，5 層の Transformer を作用させ得る．
p→q

3.2

パッセージランカー

各パッセージの適合度 β pk を出力する．各パッセージの最初の単語（BOS トークン）に対するモデリングエンコーダ層の出力をパッセージの表現とし，

βpk= sigmoid(wr⊤M1pk )

回答可否分類器

質問に対して，与えられた K 個のパッセージを基に回答が可能である確率 P (a = 1) を出力する．各パッセージの最初の単語（BOS トークン）に対するモデリングエンコーダ層の出力を結合し，P (a) = sigmoid(wc⊤[M1p1 ; . . . ; M1pK ])コピー分布． [14] では，1 層の RNN デコーダの加法性アテンション分布をコピーのために利用する．これに対して，提案モデルの 8 層の Transformer デコーダ
では，ヘッド数分のアテンション分布が出力されるためコピー機構で用いるには適さない．そこで，加法性アテンションを追加し，デコーダ状態 st をクエリとして，質問系列に対してアテンション分布 αtq ∈ RJ ，コンテキストベクトル cqt ∈ Rd ，パッセージ系列に対して αtp ∈ RKL ，cpt ∈ Rd をそれぞれ出力する．
αtq = softmax(eq ),cqt =αtp = softmax([ep1 , . . . , epK ]),cpt =∑qqj αtj Mjpallpl αtl Ml

∑

(5)
(6)

ここで，eqj = wq ⊤ tanh(W qm Mjq +W qs st +bq )，epl k =wp ⊤ tanh(W pm Mlpk + W ps st + bp ) とする．wq ，wp ，bq ，bp ∈ Rd ，W qm ，W qs ，W pm ，W ps ∈ Rd×d は学習パラメータである．そして，質問・パッセージからのコピー分布 P q と P p を，αtq ，αtp に基づきP q (yt ) =(3)を出力する．wc ∈ RKd は学習パラメータである．

(4)と定義する．ここで，W 2 ∈ Rdword ×Vext は対応する
GloVe の重みと一致させる [5]．W 1 ∈ Rdword ×d ，b1 ∈Rdword は学習パラメータである．なお，yt が V に含まれていない場合，P v (yt ) = 0 とする．

(2)を出力する．wr ∈ Rd は学習パラメータである．

3.3

回答文デコーダ∑qq
j:xj =yt αtj ,P p (yt ) =∑pk(l)

l:xl=ytpαtl(7)と定義する．k(l) は，結合パッセージの l 番目の単語に対応するパッセージのインデクスを示す．

― 18 ―

Copyright(C) 2019 The Association for Natural Language Processing.
All Rights Reserved.

混合分布． 回答単語 yt の分布を，式 (4)，式 (7) に示
す 3 つの分布の混合分布として定義する．

P (yt ) = λv P v (yt ) + λq P q (yt ) + λp P p (yt ),(8)λv , λq , λp = softmax(W m [st ; cqt ; cpt ] + bm ) とする．
W m ∈ R3×3d ，bm ∈ R3 は学習パラメータである．
3.4.4 結合アテンション
回答に無関係なパッセージから単語を生成しないために，文書要約で用いられる文と単語レベルのアテンションを結合する手法 [17] を導入する．提案モデルでは，パッセージレベルの適合度 β pk と単語レベルのアテンション αtp を乗算し，再正規化を行う．
p pk(l)αtl
βppk(l′ )l′ αtl′ βpαtl:= ∑3.5

setALL
ANS
WFA

(9)

損失関数

デコーダ，パッセージランカー，回答可否分類器の損失を結合した L(θ) = Ldec + γrank Lrank + γcls Lcls を最小化する．ここで，θ はモデルパラメータであり，
γrank = 0.5，γcls = 0.1 とした．デコーダの損失 Ldecは回答文長で正規化した負の対数尤度により求める．
∑ a∑
1Ldec = −log P (yt )(10)
NableT tLrank = −( pp1 ∑ ∑ r k log β k +NKk r pk ∈D(Lcls = −)(1 − rpk ) log(1 − β pk ))1 ∑ a log P (a)+Na∈D (1 − a) log(1 − P (a))

4

評価実験

4.1

実験設定

(11)

(12)

データセットおよびスタイル． MS MARCO 2.1 [2] のNLG，Q&A タスクにより実験を行った．回答スタ
イルは各タスクに対応させた．NLG タスクは質問とパッセージからの要約を生成して回答する（平均 16.6
単語）．Q&A タスクも同様に要約を必要とするが，回答の多数は質問の文脈を含まない簡潔な回答となる（平均 13.1 単語）．例えば，“tablespoon in cup” という質問に対して，Q&A タスクでは “16”，NLG タス
クでは “There are 16 tablespoons in a cup.” が回答となる．また，全データ ALL に加えて，評価用に 2つのサブセットを用意した（表 1）．ANS は回答可能な質問，WFA は回答可能かつ NLG タスク用の回答で構成され， WFA ⊂ ANS ⊂ ALL の関係を満たす．
学習用設定． ALL セットを用いて，バッチサイズ 80，エポック数 8 とし，8 枚の NVIDIA Tesla P100 GPU により学習した．デコーダへの入力は Teacher-forcing とした．モデルパラメータの指数移動平均（係数 0.9995）を管理し，推論時に用いた．アンサンブルモデルは 6 試行で構成した．spaCy を用いてトークナイズし，ELMoへの入力を除いて小文字化した．最適化には Adam を

dev.
101,09355,636
12,467eval
101,092––

表 1: MS MARCO 2.1 のサブセットの QA ペア数．
NLG
Q&A
ModelRouge-L Bleu-1 Rouge-L Bleu-1
BiDAF [15]
16.91
9.30
23.96
10.64
Deep Cascade QA [24]
35.14
37.35
52.01 54.64
S-Net [20]
45.04
40.62
44.96
46.36
VNET [22]
48.37
46.75
51.63
54.37
Masque (Q&A; single)
25.66
36.62
50.93
42.37
Masque (NLG; single)
49.19
49.63
48.42
48.68
Masque (Q&A; ensemble) 28.53
39.87 52.20 43.77
Masque (NLG; ensemble) 49.61 50.13 48.92
48.75
Human Performance63.2153.03
53.87
48.50

表 2: MS MARCO 2.1 のリーダーボードにおける評価結果（2019/01/03 付．主指標：Rouge-L）．比較モ
デルの単一・アンサンブルの区別は非公開．
Model
Rouge-L Bleu-1
Masque (NLG style; single)1
69.77
65.56
w/o multi-style learning (§3.4.2)2
68.20
63.95
,→ w/o Transformer (§3.1.2, §3.4.2)2 67.13
62.96
w/o passage ranker (§3.2)2
68.05
63.82
w/o possibility classifier (§3.3)3
69.64
65.41
Masque1 w/ gold passage ranker
78.70
78.14

(a,y)∈D

ここで，D は N 個の訓練データ，Nable は a = 1 の訓練データ数である．ランカー，分類器の損失 Lrank ，Lcls は 2 値のクロスエントロピーにより求める．

train
808,731503,370
153,725

表 3: Ablation テスト結果（NLG タスク, WFA dev）．
1
ALL，2 WFA，3 ANS セットにて学習．
用い，β1 = 0.9，β2 = 0.999，ϵ = 10−8 とした．モデルパラメータは N (0, 0.02) で初期化した．最初の 2000
ステップで学習率を 0 から 2.5 × 10−4 に線形的に増加させ，その後 cosine スケジュールにより 0 に近づけた．勾配は最大ノルム 1 でクリッピングした．L2 正則化 [7] を実施した．highway network および multihead アテンションに対してドロップアウト率 0.3 を設定した．ランカー，分類器に対して正例の重みを 0.9として one-sided label smoothing [18] を行った．

4.2

機械読解精度に関する評価

モデル全体の回答精度および各貢献について評価した．
提案モデルは生成型読解において state-of-the-artの性能を達成するか？ 表 2 に示す様に，提案モデルのアンサンブルは両タスクにおいて Rouge-L の指標で抽出型モデル [15, 24, 22] を上回る state-of-the-artの性能を達成した．特に，NLG タスクにおいては単一のモデルにて比較モデルの性能を大きく上回った．
Q&A スタイルでは簡潔な回答を試みるため，NLG ス
タイルに比べて正解時の Rouge-L は高いが，不正解時の Bleu-1 は極端に低くなる傾向があった．
複数スタイルの同時学習は読解の性能向上に寄与するか？ 表 3 に示す様に，2 スタイルを 1 モデルで学習し回答スタイルに NLG を指定したモデルは，NLG スタイルのみで学習したモデルの性能を上回った．

Transformer ベースの pointer-generator は読解の性能向上に寄与するか？ 表 3 に示す様に，Transformer を用いる提案モデルは，LSTM および selfattention を用いる構成（[8] と同様）を上回った．

― 19 ―

Copyright(C) 2019 The Association for Natural Language Processing.
All Rights Reserved.

ModelBing (initial ranking)Masque (single)1
w/o answer decoder (§3.4)1
w/o multi-style learning (§3.4.2)2
w/o possibility classifier (§3.3)3

MAP MRR
34.62 35.00
69.51 69.96
67.03 67.49
65.51 65.59
69.08 69.54

表 4: パッセージランキングの評価結果（ANS dev）．
ALL，2 WFA，3 ANS セットにて学習．

1

1.0
F1=0.9Precision

0.90.8

表 5: 提案モデルによるスタイル別生成例．赤：コピー（パッセージ），緑：コピー（質問），橙：語彙生成．

0.7
0.6
0.5
0.4
0.00.70.10.3

50.50.20.40.60.81.0

Recall

図 3: 回答可否分類の Precision-Recall（ALL dev）．
3025

Prediction (Q&A)

Prediction (NLG)

Reference (Q&A)

Reference (NLG)

Length20151050yesno which when

who where

allhow

whatotherwhy

図 4: スタイル・クエリタイプ別の正解・出力の回答
文長（WFA dev）．エラーバーは標準誤差を表す．
ランカーおよび分類器との同時学習は読解の性能向上に寄与するか？ 表 3 に示す様に，提案モデルは，ランカーおよび分類器を用いない構成を上回った．また，ランカーが常に正しい出力をすると仮定（gold 条件）した場合，著しい性能向上が確認できた．無関係なパッセージの除去がさらなる精度向上のために重要である．

4.3

Question: why your body would feel like it is shaking
Relevant Passage: (...) Shaking can be due to cold bodytemperatures, rising fever (such as with infections), neurologicalproblems, medicine eﬀects, drug abuse, etc. (...)
Reference Answer (Q&A): Shaking can be due to cold bodytemperatures, rising fever (such as with infections), neurologicalproblems, medicine eﬀects, drug abuse, etc.
Prediction (Q&A): because of cold body temperatures , rising
fever , neurological problems , medicine eﬀects , drug abuse .
Reference Answer (NLG): Body would feel like it is shaking due to cold body temperatures, rising fever, neurologicalproblems, medicine eﬀects, drug abuse.
Prediction (NLG): your body would feel like it is shaking
because of cold body temperatures , rising fever , neurologicalproblems , medicine eﬀects , drug abuse .

その他の分析

パッセージランキング，回答可否分類の精度に関して評価する．さらに，回答文長および生成例を分析する．
マルチタスク学習はパッセージランキングの性能向上にも寄与するか？ 表 4 に評価結果を示す．まず，提案モデルのランカーは，Bing の初期ランキングの性能を大きく改善した．最大の要因は，複数スタイルの同時学習により学習データ数が増加したことであった．
また，回答文デコーダを取り除きランカー単体の評価を行ったところ，[9] の報告と同様に性能が悪化した．
回答可能な質問を高精度に識別できるか？ 図 3 に示
す通り，出力 P (a) に閾値を設定することで高い識別率（F1 最大：0.7893）を実現できた．
回答文長の分析． 図 4 に示す通り，提案モデルは指定したスタイルに応じて適切に回答を制御出来ていた．
また，when・who など factoid 型の質問には短く，whyなど non-factoid 型の質問には長く回答出来ていた．
生成例・エラー分析． 表 5 にスタイル毎の生成例を示す．NLG では質問・パッセージの要約となる自然な文章を出力できた．主なエラーとしては，Yes/No 回答の誤り，数値のコピーの誤りが挙げられる．

おわりに

本研究では回答スタイルを制御可能な生成型の機械読解モデル Masque を提案し，MS MARCO 2.1 の 2 タスクにて state-of-the-art の性能を達成した．
関連研究と議論． 従来の生成モデル MCAN [8] はpointer-generator を用いて複数の NLP タスクを同時学習したが，機械読解の精度は向上しなかった．また，パッセージが複数個与えられる場合を考慮していない．
S-Net [20] はパッセージから範囲を抽出し，抽出範囲に基づいて回答を生成する．しかし，質問やパッセージからのコピーを実施できない．また，これらは複数の回答スタイルを考慮していない．本研究では，複数スタイルの同時学習および質問・複数パッセージからコピー可能な pointer-generator を導入することで著しい精度向上を実現した．また，Transformer への拡張，ランカー・分類器とのマルチタスク学習も貢献した．
本研究の重要性． 機械読解における回答スタイルに初めて着眼し，汎用性の高いトークン挿入方式にて，複数スタイルの同時学習の有効性を示した．提案モデル
は，スマートデバイスやチャットボットにおける自然言語での質問応答，少リソースの回答スタイル（キャラクタ性など）に基づく質問応答など，産業上重要な課題に対して応用可能である．

参考文献
[1]
[2]
[3]
[4]
[5]
[6]
[7]
[8]
[9][10]
[11]
[12]
[13]
[14]
[15]
[16]
[17]
[18]
[19]
[20]
[21]
[22]
[23]
[24]

― 20 ―

L. J. Ba et al., arXiv, 1607.06450, 2016.
P. Bajaj et al., arXiv, 1611.09268v3, 2018.
J. Devlin et al., arXiv, 1810.04805, 2018.
D. Hendrycks et al. arXiv, 1606.08415, 2016.
H. Inan et al., In ICLR, 2017.
M. Johnson et al., TACL, 5:339–351, 2017.
I. Loshchilov et al., arXiv, 1711.05101, 2017.
B. McCann et al., arXiv, 1806.08730, 2018.
K. Nishida et al., In CIKM, pages 647–656, 2018.
J. Pennington et al., In EMNLP, pages 1532–1543, 2014.
M. E. Peters et al., In NAACL, pages 2227–2237, 2018.
P. Rajpurkar et al., In EMNLP, pages 2383–2392, 2016.
P. Rajpurkar et al., In ACL, pages 784–789, 2018.
A. See et al., In ACL, pages 1073–1083, 2017.
M. Seo et al., In ICLR, 2017.
R. K. Srivastava et al., arXiv, 1505.00387, 2015.
M. Sun et al., In ACL, pages 132–141, 2018.
C. Szegedy et al., In CVPR, pages 2818–2826, 2016.
S. Takeno et al., In WAT@IJCNLP, pages 55–63, 2017.
C. Tan et al., In AAAI, pages 5940–5947, 2018.
A. Vaswani et al., In NIPS, pages 6000–6010, 2017.
H. Wu et al., In ACL, pages 1918–1927, 2018.
C. Xiong et al., In ICLR, 2017.
M. Yan et al., arXiv, 1811.11374, 2018.

Copyright(C) 2019 The Association for Natural Language Processing.
All Rights Reserved.