《Modeling Multi-turn Conversation with Deep Utterance Aggregation》阅读笔记
论文原文:https://arxiv.org/pdf/1806.09102.pdf
整体感受觉得这项总结非常出色且易于理解。内容则聚焦于四篇经典论文的梳理与整合,在结构安排上采用了时间顺序展开的方式进行阐述。整体风格较为轻松有趣(挺有意思的),但在用词选择上略显口语化(例如"哈哈"),建议在正式场合中避免使用此类表述以提升专业性
上海交通大学等2018年发表的一篇重要文章主要研究了基于检索式的多轮问答模型,并提出了一种深度对话整合模型(DUA)。该模型针对多轮对话中将过去会话直接拼接作为上下文信息所存在的噪声和冗余问题,在对话与回复中采用了注意力机制来提取关键信息,并通过忽略冗余信息来突出关键点。最终实现了utterances与response之间的匹配得分计算。此外,在这项研究中还构建了一个电子商务对话语料库ECD集合(ECD),涵盖了商品咨询、物流快递、推荐系统以及谈判策略等多个应用场景,并附上了相关的数据集与代码资源:本文的数据集及代码)。文章结构可划分为以下五个模块:

DUA的优点:
最后一轮对话巧妙地与前面对话融合,并通过语义相关的方法实现其核心信息的优化处理
每轮会话可以凸显关键信息,从一定程度上忽略冗余信息
计算最终匹配得分的时候充分考虑各轮对话之间的关系
Utterance Representation
采用GRU模型将每个utterance和候选response进行embedding。
Turns-aware Aggregation
Utterance Representation对应于将每个utterance视为同等重要,并未考虑到上一个utterance与之前对话的关系。该模块主要负责将最后一个utterance与上下文中的其他所有对话单元以及候选回复进行融合,并在论文中直接对每个对话单元及其响应的嵌入表示进行连接处理以获得表征F


Matching Attention Flow
该模块旨在对上一模块的turn-sensitive表征数据F进行处理,并采用自匹配注意力机制对多余的信息进行过滤,在utterances和response中提取或分析其显著特征。进而通过基于注意力机制的GRU模型实现表征间的交互融合过程。


[·,·] 是两个向量串联在一起 ,Ct是self-matching attention的输出

Response Matching
第四部分在单个单词级别和会话级别上与每个response及每个utterance进行配对,并通过CNN计算出匹配向量。
这里从两个粒度进行匹配:
- 词粒度:u和r各自是utterance和response中的一个特定词。根据下述公式可计算出这两个句子对应位置处的匹配程度。综合所有这些对应位置处的词粒度匹配程度,则可构建一个形状为(utterance长度×response长度)的矩阵M₁

P是在前一阶段从 utterance 和 response 中提取出各个位置上的特征表示;此外也可以获得形状为 (utterance长度, response长度) 的矩阵 M2
尔后分别在这两个矩阵上进行CNN卷积操作,得到卷积之后的表征。

最后进行max-pooling和flatten之后concatenation。

Attentive Turns Aggregation
通过按时间顺序传递匹配向量到GRU来生成utterance并计算其与response之间的匹配得分,并将其分为初始化阶段、更新阶段以及评估阶段。
- 第一步:先通过一个GRU;

- 第二步:attention机制;

- 第三步:加一个softmax,得到匹配度。

参考:
巷中的自由猫群:巷里野猫
