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

用例ベース対話システムにおける表現集約手法の影響調査
鈴木脩右 1

狩野芳伸 2

長岡技術科学大学 1山本和英 1
静岡大学 2{suzuki,yamamoto}@jnlp.org, kano@inf.shizuoka.ac.jp

1

はじめにニューラルベースの対話システムは，大きく分けて生成ベース手法と用例ベース手法がある．生成ベース手法では Encoder-Decoder で応答を生成し，用例ベース手法では応答候補からユーザ発話に最も適した応答を選択する．用例ベース手法は流暢で意味のある応答が可能となる利点がある．
応答選択に関する初期の研究では、応答を一致させるために対話コンテキスト内の最後の発話のみを使用していた [1]．これをシングルターンの応答選択と呼ぶ．最近の研究では、対話コンテキスト内の全ての発話文を考慮することで，次の発話の選択が容易になることが示されている [2, 3]．これをマルチターンの応答選択と呼ぶ．
マルチターンの応答選択では，対話コンテキストと応答候補の関連性を捉えるための表現集約 (Aggergation) が重要である．Wu らは 2 層ずつの Gated Recurrent Unit(GRU) と Linear 層を用いる手法を提案
した [4]．Zhou らは 3 次元の Convolutional NeuralNetwork(CNN) を用いる手法を提案した [5]．Mao ら
は文情報の差分など様々な観点の情報を Linear 層で集約する Matching Aggregation と，これを Wu らの手法と組み合わせる Hierarchical Aggregation を提案した [6]．
このように様々な手法が提案されているが，集約手法に着目した体系的な比較検討はされていない．そのため，どの手法がより有効な集約を行っているかが不明瞭である．そこで本研究では，より有効な集約手法の明確化を目的とし，同一のフレームワークを用いた各集約手法の比較実験から，その影響を調査する．

2モデル

2.1

モデル概要

本研究では，Zhou らが提案した Deep Attention
Matching Network(DAM) をベースに用いる [5]．モデルの全体図を図 1 に示す．モデルは，Embedding 層，Encoding 層，Attention 層，Aggregation 層，Scoring層で構成されている．
モデルは対話データ D = {(c, r, y)Z}N
Z=1 を与えられる．c = {u0 , ..., un−1 } は対話コンテキスト，ui n−1
i=0
は各発話文，r は応答文を表す．また，y ∈ {0, 1} はバイナリラベルであり，r が c の適切な応答であるかを示す．
モデルは D とのマッチングスコア g(c, r) を学習する．これにより，コンテキスト c と応答文 r の関連性をスコア付けできる．

2.2

Embedding 層
nu −1

r −1iと応答文 r = [wr,t ]n
発話文 ui = [wui ,k ]k=0
t=0を共有された Emedding 層で埋め込みを行う．それぞれ，埋め込まれたベクトルは U0i = [e0ui ,0 , ..., e0ui ,nu −1 ]iと R0 = [e0r,0 , ..., e0r,nr −1 ] で表す．ここで，e ∈ Rd はd 次元の単語埋め込みを表している．

2.3

Encoding 層

L 層に積み重ねられた Encoder を用い文表現を獲得する．各 l 番目の層は l − 1 番目の出力を受け取り，より洗練された文表現を出力する．獲得した文表現は，l L
Embedding 層の出力も併せて，[Uli ]Ll=0 ，[Ri ]l=0 と表す．l は文表現の粒度を意味する．
Encoder には Transformer [7] を利用した．また，
Self Attention のヘッド数は 1，Encoder の層数 L は5 とした．

― 855 ―

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

図 1: モデル概要

Matching 層

2.4

2.5.1

l L[Uli ]L
l=0 と [R ]l=0 から，各粒度 l 毎に 2 種類の複合
ui ,r,li ,r,lを得る．
表現 Mself ，Mucrossui ,r,lMself は次式で表す．
i ,r,lMuself= {Uli [k]T · Rl [t]}nvi ×nr(1)

行列の各要素は Uli [k] と Rl [t] の内積であり，各粒度毎のテキストの関連度合いを表している．
i ,r,lは次式で表す．
MucrosslŨill

これは Wu らが提案した 2 層ずつの GRU と Linear層を用いる手法である．1 層の Linear 層で複合表現
i ,r,li ,r,lを集約し，1 層の GRU で集約ベクト
Muself，Mucross
ルを得る．獲得した集約ベクトルを 2 層目の GRU でEncode することで情報を強化し，2 層目の Linear 層で最終的な集約を行う．式で表すと次の通りである．

[Ai,l=ReLU(Wi ,r,li ,r,lMuself⊙ Mucross]+ b) (5)= Attention(Uli , Rl , Rl )(2)hi,l=GRU(Ai,l , hi,l−1 )

(6)

R̃

= Attention(Rl , Uli , Uli )(3)

hl=GRU(h0 , h i−1 )(7)

i ,r,lMucross= {Ũi [k]T · R̃ [t]}nvi ×nr(4)A =W [h 0 , ..., h n ] + b(8)lllŨi と R̃ はそれぞれ，Uli と Rl の Attention 重みを掛けたものである．Attention には，Encoding 層と同様の Self Attention を利用した．

2.5

Encoder Aggregation

Aggregation 層

i ,r,li ,r,lMatching 層で獲得した複合表現 Muself，Mucrossを集約する．本研究では 4 つの集約手法を比較する．

ここで，⊙ はアダマール積である．

2.5.2

これは Zhou らが提案した 3 次元の CNN を用いる手法である．CNN は 2 層ずつの convolution 層と max
pooling 層から構成されており，CNN の優れた情報抽出を活かした集約を行う．式で表すと次の通りである．

Ai,k,t• Encoder Aggregation• CNN Aggregation• Matching Aggregation• Hierarchical Aggregation

CNN Aggregation

ALL

i ,r,li ,r,l= [Muself[k, t]]l=0 ⊕ [Mucross[k, t]]l=0 (9)= {Ai,k,t }n×nvi ×nr(10)ここで，⊕ は連結操作である．

2.5.3

Matching Aggregation

Mao らが提案した Linear 層で複数情報を集約する
i ,r,li ,r,l手法である．複合表現 Muself，Mucross，複合表現の― 856 ―Copyright(C) 2020 The Association for Natural Language Processing.
All Rights Reserved.

差分，アダマール積，差分同士のアダマール積を用いることで様々な観点からの情報を集約に用いることが可能になる．集約表現から更に密な集約をする必要があるため，本論文では 1 層の Linear 層を用いた．式で表すと次の通りである．
表 1: モデル概要

u ,r,liMselfui ,r,lMcrossu,r,lu,r,lii
+b)M−MAi,l = ReLU(W crossself
ui ,r,lui ,r,lui ,r,lui ,r,l − Mcross) ⊙ (Mself− Mcross)  (Mself
ui ,r,lui ,r,l⊙ Mcross
Mself
(11)

A = W ′ Ai,l + b′

2.5.4

(12)

Hierarchical Aggregation

Mao らが提案した Mathcing Aggregation と Encoder Aggregation を 組 み 合 わ せ た 手 法 で あ る ．
Matching Aggregation で集約し，1 層の GRU で集約ベクトルを得る．獲得した集約ベクトルを 2 層目のGRU で Encode し，Linear 層で最終的な集約を行う．
式は，式 6-8,11 で表した通りである．

2.6

Scoring 層

集約表現 A から Linear 層を用いて最終的なスコアg(c, r) を算出する．また，算出したスコアから損失を計算する．本研究では損失関数には Cross Entropy
Loss を使用した．これを次式で表す．

g(c, r) = sigmoid(w∗ A + b∗ )L(·) = −∑(13)[ylog(g(c, r)) + (1 − y)log(1 − g(c, r))] (14)(c,r,y)∈D

3

実験

データセットには Ubuntu Corpus V2.0[8] を使用した．これは Ubuntu フォーラムから収集されたマルチターンの対話データセットである．学習データは，対話コンテキストと応答文，応答の正例・負例を表すバイナリラベルで 1 セットが構成されており，100 万セットが含まれている．正例は実際の人間の応答であり，負例はデータからランダムにサンプリングされたものである．検証データとテストデータは，対話コンテキストと 10 個の応答候補文で 1 セットが構成されており，それぞれ約 19 万セットが含まれている．10 個の応答候補文には正例が 1 個あり，他の応答候補文は全て負例である．
モデルは学習時に対話コンテキストと応答文のマッチングスコアを学習し，検証・テスト時に 10 個の応答候補文をスコア付けし，上位の応答を出力する．
∑kyiを用いる．これ
評価指標には Recall@k = ∑i=1
10i=1 yiは選択された上位 k 個の候補の中に正例が含まれていることを意味し，先行研究でも重要な指標とされている．k の値は先行研究と同様に k = 1, 2, 5 とした．
モデルの実装には Allennlp [9] を使用した．ハイパー
パラメータはバッチサイズは 32，埋め込み次元数及び Encoder の隠れ層数は 200，最適化には Adam を使用した．比較のため，各モデルにおいて共通するパラメータは Scoring 層の入力次元を除き統一した．これは集約手法によって集約表現 A の次元数が異なるためである．

4

結果・考察

実験結果を表 1 に示す．得られた結果から CNN Aggregation が最も優れていた．CNN の優れた情報抽出が表現集約において有効であることを示している．次点で Matching Aggregation が優れており，様々な観点からの情報が集約に有効であることが分かる．これより，2 つの手法を組み合わせることでより優れた集約が行えると考える．
また，GRU を用いた 2 種類の集約手法は精度が低いことも分かった．これは Matching Aggregation とHierarchical Aggregation の結果より，2 層の GRU に原因があると考える．具体的には 2 点の原因を挙げる．

1. 集約不十分による集約ベクトルの不完全
2. 集約ベクトルの強化による情報の過剰な複雑化
1. の場合，1 層目の GRU に原因がある．複合表現を Linear 層で一度集約を行ってから，GRU で更に集約しベクトルを生成する．Linear 層での集約は情報量が違うが Matching Aggregation でも行われているため，精度低下の要因ではない．そのため，GRU による集約が不十分であるために，不完全な集約ベクトルを生成したと考える．
2. の場合，2 層目の GRU に原因がある．この GRU― 857 ―Copyright(C) 2020 The Association for Natural Language Processing.
All Rights Reserved.

によって集約ベクトルの情報を強化できるとされている．しかし，この強化によって情報の過剰な複雑化を起こしているために，集約が困難となり精度が低下していると考える．
これらは 2 層の GRU をそれぞれ用いずに実験を行うことで証明ができる．この実験は今後の課題とする．

5

おわりに

本研究では，用例ベースの対話システムにおける表現集約手法の影響調査を行った．集約手法には，先行研究で提案された Encoder Aggregation，CNN Aggregation，Matching Aggregation，Hierarchical Aggregation の 4 種類を用いた．実験結果より，CNN の情報抽出や，様々な観点からの情報が，表現集約において有効であると分かった．また，2 層の GRU は集約の不十分や過剰な複雑化を引き起こし精度が低くなると考える．今後は，CNN Aggregation と MatchingAggregation を組み合わせた手法の提案や，GRU が引き起こす精度低下の原因特定を行っていきたい．

謝辞
本研究は，平成 29-31 年学術研究助成基金助成金 挑戦的研究（萌芽）課題番号 17K18481 の助成を受けています．

参考文献[1] Hao Wang, Zhengdong Lu, Hang Li, and Enhong
Chen. A dataset for research on short-text conversations. In Proc. of EMNLP, pp. 935–945,2013.

[4] Yu Wu, Wei Wu, Chen Xing, Can Xu, Zhoujun Li, and Ming Zhou. A sequential matching framework for multi-turn response selection in retrieval-based chatbots. arXiv preprint
1710.11344, 2017.
[5] Xiangyang Zhou, Lu Li, Daxiang Dong, Yi Liu,Ying Chen, Wayne Xin Zhao, Dianhai Yu, andHua Wu. Multi-turn response selection for chatbots with deep attention matching network. InProc. of ACL, pp. 1118–1127, 2018.
[6] G. Mao, J. Su, S. Yu, and D. Luo. Multi-turn response selection for chatbots with hierarchical aggregation network of multi-representation. IEEEAccess, Vol. 7, pp. 111736–111745, 2019.
[7] Ashish Vaswani, Noam Shazeer, Niki Parmar,Jakob Uszkoreit, Llion Jones, Aidan N Gomez,
L ukasz Kaiser, and Illia Polosukhin. Attention
is all you need. In NIPS, pp. 5998–6008. 2017.
[8] Ryan Lowe, Nissan Pow, Iulian Serban, andJoelle Pineau. The Ubuntu dialogue corpus: Alarge dataset for research in unstructured multiturn dialogue systems. In Proc. of SIGDIAL, pp.
285–294, 2015.
[9] Matt Gardner, Joel Grus, Mark Neumann,
Oyvind Tafjord, Pradeep Dasigi, Nelson F. Liu,Matthew Peters, Michael Schmitz, and Luke
Zettlemoyer. AllenNLP: A deep semantic natural language processing platform. In Proc. ofWorkshop for NLP-OSS, pp. 1–6, 2018.

[2] Xiangyang Zhou, Daxiang Dong, Hua Wu, Shiqi
Zhao, Dianhai Yu, Hao Tian, Xuan Liu, and RuiYan. Multi-view response selection for humancomputer conversation. In Proc. of EMNLP, pp.
372–381, 2016.
[3] Yu Wu, Wei Wu, Chen Xing, Ming Zhou, andZhoujun Li. Sequential matching network: A newarchitecture for multi-turn response selection inretrieval-based chatbots. In Proc. of ACL, pp.
496–505, 2017.

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