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

ニューラル対話モデルにおける相互情報量最大化とN-best 探索による応答の多様性向上
岸田優輝 1

加藤1

恒夫 1

呉 剣明 2同志社大学

2

王 亜楠 2

山本 誠一 1

KDDI 総合研究所

ctwd0125@mail4.doshisha.ac.jp

1

はじめに注意機構付き seq2seq モデル

2

AI アシスタントやチャットボットの普及に伴い，タスク指向型対話だけでなく非タスク指向型対話（雑談）生成の技術が注目されている．例えば，自宅での話し相手になったり，目的を持たない問い掛けに対しても適切に応答することで AI アシスタントに対する信頼を醸成することが期待される．
雑談応答の自動生成手法として，ニューラル機械翻訳に使用される seq2seq モデル [1] を転用することで，比較的高い品質の応答が生成されることが示されている．しかし，最尤 (Maximum Likelihood, ML) 基準により学習される seq2seq モデルは，「そうですね」，「なるほど」，「分かりません」など具体的な情報を伴わない，ありきたりな応答 (Dull responses, ダルレスポンス）を出力しがちという問題点がある．
この問題点に対して J. Li らは入力文と応答文の相互情報量最大化 (Maximum Mutual Information, MMI)
基準により応答文を生成する手法 [2]，さらに，強化学習においてダルレスポンスを導きがちな応答にペナルティを与えることで応答文の品質を改善する手法 [3]を提案している．また，佐藤らは seq2seq モデルに，入力文に続けてフレーズに基づく統計的機械翻訳による応答出力を入力することで，応答文の多様化を図っている [4]．
本稿では，2 名のペルソナを設定してクラウドソーシングを用いて収集した大規模な仮想雑談対話コーパスをもとに，注意機構 [5] 付き seq2seq モデルを学習し，その応答文生成に MMI 基準を導入することによる多様性の向上効果を検証する．さらに，多様性のある複数の応答文候補を用意してその中から最も適切な応答文を選択できるようにするため，N-best 探索とその変形版を実装し，多様性の向上と，主観評価による応答文の質の変化を定量的に測定したので報告する．

seq2seq は，Encoder と Decoder から構成される．
Encoder は Embedding と GRU(Gated ReccurentUnit) の 2 層，Decoder は Embedding と GRU と全結合層の 3 層と注意機構 [5] から成る．
入力文を S = s1 , s2 , ..., sm ，これに対する応答文を T = t1 , t2 , ..., tn とする．入力トークンの分散表現を xs1 ,xs2 , ..., xsm ，出力トークンの形態素インデックスに対応するモデル出力を y1 (wt1 ), yj (wtj ), ...,yn (wtn ) とする．
Encoder の Embedding 層は，入力トークン si を実数ベクトル xsi に変換する．
xsi = Embeddinge (si )(1)

続く GRU は，ベクトル xsi−1 を受け取り，素性ベクトル ei と隠れ層ベクトル hei を出力する．

(ei , hei ) = GRUe (xsi−1 , hei−1 )(2)

ただし，hei は零ベクトルで初期化する．
注意機構は，j 番目の出力トークン tj を入力トークンと対応付けるため，Encoder が出力する素性ベクト
ル系列 e1 ，e2 ，...，em を連結した eall と Decoderの j 番目の隠れ層ベクトル hdj から式 (3) により注意
重みベクトル aj を計算し，式 (4) のとおり素性ベク
トルを aj で重み付け和することでコンテキストベク
トル cj を出力する．

aj=cj=softmax{v T tanh(W1 eall ) + W2 hdj−1 }(3)m∑aj (i) · ei

(4)

i=1

ここで，W1 , W2 , v は重みパラメータである．

Decoder は，注意機構が出力するコンテキストベクトル cj と直前の Decoder 出力 tj−1 を入力として次の演算により，出力 yj を得る．yj の次元数は出力形態素の種類数である．形態素に数値ラベルを割り当て，― 1360 ―Copyright(C) 2020 The Association for Natural Language Processing.
All Rights Reserved.

ここで，ユニグラム確率 P (wtj ) は，学習データにyj の要素とラベルを対応付ける．
hd0

=

hem

xtj−1

=

Embeddingd (tj−1 )

(5)
(6)

d(dj , hdj )=GRU (xtj−1 , cj )

(7)

yj

=

softmax(Wy dj + by )(8)

含まれる形態素 w の出現頻度 c(w) から算出される．
c(wt )
P (wtj ) = ∑ j(16)w c(w)

4

N-best 探索と変形版の実装
Decoder にトークン tj−1 が入力された時の出力 yj

hd0 には，入力文 S の最後のトークン sm が Encoder

は，入力文 S に対してトークン系列 t1 , t2 , ..., tj−1 がに入力されたときに出力される素性ベクトル hem を代出力された条件において，トークン tj が出現する条入する．また，Wy ，by は重みベクトルである．

件付確率の集合とみなすことができる．

モデル学習時は，ML 基準に基づき，トークン tj は

P (tj |S, t1 , t2 , ..., tj−1 ) = yj (wtj )以下の式によって決められる．

tj=

argmax{yj (w)}

よって，入力文 S に対する応答文 T の条件付確率(9)w

誤差関数は，yj と同じ次元数 W で形態素ラベルに対応した要素のみを 1 とする one-hot ベクトル Yj とのクロスエントロピ誤差である．
n ∑W∑loss =Yj (w) log yj (w)は次式で求めることができる．
n∏
P (T |S) =P (tj |S, t1 , t2 , ..., tj−1 )=yj (wtj )

(18)

j=1

ML 基準に基づく場合，トークン t̂j を式 (11) と式

MMI による応答文生成
ML 基準に基づく場合，P (T |S) を最大化する応答(18) から以下のように決める．
j−1∑t̂j = argmax{log P (tj |S, t̂1 , t̂2 , ..., t̂j−1 )}tj

文 T̂ を出力する．

T̂ = argmax{log P (T |S)}

j=1n∏

(10)

j=1 w=1

3(17)= argmax{(11)w

T

一方，相互情報量 IM は以下の式で定義される．
P (S, T )IM (S, T ) = log(12)P (S)P (T )MMI は，これを最大化する応答文を出力する．
P (S, T )T̂ = argmax{log}
P(S)P (T )T
= argmax{log P (T |S) − log P (T )} (13)Tj−1∑log yk (wt̂k ) + log yj (w)} (19)k=1

MMI では，トークン t̂j を式 (15) と式 (18) から以下のように決める．
argmax {log yj (w) − λ log P (w)} (j = 1)w∑j−1t̂j =argmax { k=1 log yk (wt̂k )w+ log yj (w) − λ log P (w)} (j ̸= 1)(20)

式 (11) と式 (13) を比べると，MMI は ML 基準をベースにして高頻度で出現する文にペナルティを与え

k=1

MMI において，ビームサーチを用いた N-best 探索（以後 N-best と呼ぶ）とその変形版を実装した．ているとみなせる．ペナルティの程度を調整するため

N-best で は ，L 個 の 応 答 文 候 補 C1 , ..., CL をのハイパーパラメータ λ を導入して式 (13) は以下の保 持 し ，各 応 答 文 候 補 に 対 し M 個 の ト ー ク ン

ように一般化できる．

d11 , ..., d1M , d12 , ..., dL
M を j 番目のトークン候補としてT̂ = argmax{log P (T |S) − λ log P (T )}(14)

探索する．この L × M 個のトークン候補に対して，ただし，式 (14) では文法的に正しくない応答文が出

log IM (S, Cl dlm ) を求め，値が高い順に上から L 個力される確率が高くなる．この問題を解決するために，の Cl dlm を新たな応答文候補とする．Cl はトークン

応答文 T の先頭のトークン t1 のユニグラム確率をペt̂l1 , t̂l2 , ..., t̂lj−1 からなるとすると，log IM (S, Cl dlm ) はTナルティとして与える．ダルレスポンスを抑制するの以下の式で求められる．

ではなく，ダルレスポンスにつながる典型的なトーク

log IM (S, Cl dlm )ンを抑制しながら，注意機構によって入力文と相互情報量の高い応答文を出力する．

T̂= argmax{log P (T |S) − λ log P (wt1 )} (15)
T= log P (dlm |S, Cl ) − λP (wt̂l1 )=j−1∑log yk (t̂lk ) + log yj (dlm ) − λP (wt̂l1 )(21)k=1― 1361 ―Copyright(C) 2020 The Association for Natural Language Processing.
All Rights Reserved.

上位 N (<L) 個の応答文候補が文として完成したとき，

表 1: 仮想雑談対話コーパスのデータ量探索を終了する．N-best では，特定の候補 Ca に関すセット
学習検証
評価

る P (dam |S, Ca ) がほかと比べて極端に大きくなった場
合，Ca dam が応答文候補となり，文末の表現のみが変化した文が応答文候補を占有してしまう場合がある．

入力・応答対
1,246,870
62,34362,344

形態素種類数
36,95918,134
18,104

総形態素数21,163,298
1,175,511
1,177,674

応答の多様性を向上させるには，応答文候補にも多様
表 2: 各応答文生成方法の多様性評価結果性のある文が選ばれるべきと考え，N-best とは異なる方法で探索を行う．

原文ML
1-best1-変形

N-best 変形版では，応答文の先頭のトークン t̂1 のみを上記の方法で探索する．応答文の先頭のトークン候補を t1 とするとき，log IM (S, t1 ) の値が高い順に上

3-best3-変形から N 個選ぶ．各トークン候補に対し，2 番目以降のdist-10.02490.00809
0.03890.02730.01470.0130dist-20.179
0.0232
0.06190.05800.02940.0342

Ent-1
5.74
3.86
5.49
5.37
5.53
5.39

Ent-s
9.94
5.13
7.95
9.28
9.31
10.11

len-s
9.42
7.17
4.59
7.11
5.25
7.17

トークン t̂j は式（20）により選ぶ．

1．日本語形態素解析エンジン mecab で分割．
2．
「？」を除く記号や句読点の除去．

5

評価実験

5.1

クラウドソーシングによる雑談対話コーパス

3．出現回数が 1 回の形態素を<oov>に置換．

対話コーパスとして，2 名のペルソナを設定してクラウドソーシングによって収集した計 168 万発話からなる仮想雑談対話コーパスを利用した．2 名のペルソ

4．文の先頭と末尾に<start>，<end>を付与．
これを，学習・検証・評価用に 18：1：1 に分割する．入力・応答対はそれぞれ 1.25M 個，62k 個，62k個となった．データ量に関する詳細を表 1 に示す．未知語率は全セットで 0.04%となった．

ナは吉田さんと佐々木さんの 2 人の女性である．吉田さんの発話から始まり，佐々木さんの応答が 3 種類示される．佐々木さんの発話それぞれに対して吉田さんが 3 種類の応答を返す．これを繰り返すことで各分岐が 3 の木が形成される．木の深さは 10 である．最初の吉田さんの発話は 50 種類あり，50 個の木がある．
ルートノードとして，「宝くじが当たったらどうしますか？」などの発話がある．典型的なダルレスポンスとして，「なるほどそうなんですね」や「ほんとそうですよね」などが含まれている．

5.2

多様性評価

表 2 に，評価セットの原文と，生成された応答文のdistinct-n(dist-1, dist-2)，形態素のエントロピ (Ent-1)，応答文のエントロピ (Ent-s)，1 文に含まれる平均トークン数 (len-s) の値を示す．distinct-n は，n-gram
トークンの総数に対する n-gram の異なり数の割合である．Ent-1 と Ent-s は，応答文の集合における形態素（ユニグラム）と文表現の多様性を表し，これらの値が低いことは出現頻度に偏りがあることを示す．原文と ML は応答文が 1 種類であり，これらと MMI 基

実験概要

ML 基準と MMI 基準による N-best とその変形版の3 つの方法で応答文を生成する．各生成方法について、応答文の多様性の客観評価と，文法的な観点と文脈的な観点から入力文に対して応答文が適切であるかの主観評価を行った．

N-best では，L=5，M =5 で探索を行い，N =3 の応答文候補を出力する．N-best 変形版でも同様である．検証用データは，式 (20) と式（21）のハイパーパラメータ λ の調整に用い，それぞれ 1 と 0.8 となった．
今回は，佐々木さんの入力文と吉田さんの応答文の対を用いた．前処理として以下の作業を行った．

5.3

準による N-best，N-best 変形版を比較するために第1 位候補だけを評価対象としたのが，表中の 1-best と1-変形である．第 3 位候補まで評価対象としたのが，3-best と 3-変形である．
全ての評価指標において，ML よりも N-best と N-best 変形版のほうが値が高く，MMI は応答文の多様性を顕著に向上させた．3-best と 3-変形を比較すると，3-変形のほうが平均トークン数（len-s）が多く，distinct-2 と Ent-s が高いことから，N-best よりも Nbest 変形版のほうが多様な表現ができたといえる．
表 3 は，3 つの発話に対する各モデルの応答文の例
である．MMI の応答文生成ではダルレスポンスが抑― 1362 ―Copyright(C) 2020 The Association for Natural Language Processing.
All Rights Reserved.

表 5: 主観評価の評価基準

表 3: 共通の入力文に対する各モデルの応答文の例
入力文
ML
1-best1-変形
入力文
ML1-best1-変形
入力文
ML1-best1-変形

どこに行きたいんですか？
うーん色々ありすぎて白川郷に行ってみたいです
オーストラリアに行きたいです
お母さんって本当に凄いですよね
そうですよねーそう思います
頭が上がらないです
母親の料理は好きですよ
あらあら飲み過ぎよ
そうなんですよね〜
自制しないと飲みすぎは禁物ですよね

評価分類
5内容
文法的にも文脈的にも正しい
文法的には不適切であるが文の意味が分かり文脈的にも正しい
ダルレスポンス
文法的には正しいが文脈にそぐわない
5∼2 以外
入力文がダルレスポンス

4
3
2
10

表 6: 主観評価値の分布と 3 手法のうちトップの割合（タイ含む）
ML
N-best変形版

表 4: 共通の入力文に対する N-best 応答文の例
入力文 「お母さんって本当に凄いですよね」
ML「そうですよねーそう思います」「頭が上がらないです」
3-best 「頭が上がらないですよね」「頭が上がらないですよ」「母親の料理は好きですよ」「なにもかも自分で作ってくれている
3-変形と思いますよ」「長年作ってくれて嬉しいです」

613%
8%
8%

210%
27%
27%

347%
9%
7%

47%
9%
11%

534%
46%
47%

top
58%
60%
61%

おわりに
日本語の仮想雑談対話コーパスを用いたニューラル対話モデルにおいて，MMI 基準の N-best 探索によって応答文を生成し，客観評価と主観評価を行った．MMIの導入は応答文の多様性を顕著に向上させ，N-best 変制され多様な応答文が生成されている．また，表 4 に形版により応答文の多様性はさらに増したと考えられ「お母さんって本当に凄いですよね」に対する各方法る．しかし，ダルレスポンスを抑制した結果，文法的の応答文をまとめる．ML では，ダルレスポンスが返に正しくない文や文脈的に正しくない文が増加した．

され，3-best では，4 節で述べたとおり，応答文候補

今後は，N-best 応答文候補の中から入力文に対して適に文末表現のみ異なる文が出力されている．

切な応答文を選択する方法の検討を行う予定である．

5.4

主観評価

参考文献

評価データのうち，入力文に<oov>が現れないものから無作為に 6000 文選び，ML と N-best の第 1 位候
補と N-best 変形版の第 1 位候補の 3 つの応答文を並べて 5 段階の主観評価を実施した．クラウドソーシン
グを利用し，各応答文に対し 3 人の評価者が，表 5 の基準に従って主観評価を行った．集計にあたり，ダルレスポンスに対する応答は実際の会話でも困難であるため，評価分類が 0 の文は集計対象から除外した．
表 6 が主観評価の集計結果である．top は 3 つの応答のうち最も高いスコアを取った割合である．ML では半数近くを占めていた評価分類 3(ダルレスポンス)が MMI では顕著に減少し，top の割合が増加した．評価分類 4 と 5 が増加したが，評価分類 1 と 2 はそれ以

[1] I.Sutskever et al., “Sequence to Sequence Learningwith Neural Networks”, Proc. NIPS, pp.3104-3112,
2014.
[2] J. Li et al., “A Diversity-Promoting Objective Function for Neural Conversation Models”, Proc. NAACLHLT 2016, pp.110-119, 2016.
[3] J. Li et al., ”Deep reinforcement learning for dialoguegeneration”, Proc. EMNLP, pp.1192-1202, 2016.
[4] 佐藤 他, “フレーズ単位の発話ペアを用いた応答文生成の多様化”, 言語処理学会第 25 回年次大会, pp.966-969,
2019.
[5] D. Bahdanau, et al., “Neural machine translation byjointly learning to align and translate”, arXiv preprint
arXiv:1409.0473, 2014.

上に増加し，新たな課題となった．

― 1363 ―Copyright(C) 2020 The Association for Natural Language Processing.
All Rights Reserved.