重磅推荐专栏: 《Transformers自然语言处理系列教程》
手把手带你深入实践Transformers,轻松构建属于自己的NLP智能应用!
《Sequential matching network: A new architecture for multi-turn response selection in retrieval-based chat-bots》
本文通过使用卷积神经网络在多个粒度级别的上下文中对每个话语进行匹配,进一步改善了对语义关系和上下文信息的利用,然后通过时间顺序累积向量用于模拟话语之间关系的递归神经网络。作者认为构建问答历史语句和候选回复的交互表示是重要的特征信息, 因此借鉴语义匹配中的匹配矩阵, 并结合CNN和GRU构造模型:
与Multi-view模型类似, 这里作者也考虑同时提取词汇级和语句级的特征, 分别得到两个匹配矩阵M1和M2, 具体的:
• Word-Matching-M1: 对两句话的词做word embedding, 再用dot(ei,ej)计算矩阵元素
• Utterance-Matching-M2: 对两句话的词做word embedding, 再过一层GRU提取隐状态变量h, 然后用dot(hi,A*hj)计算矩阵元素
得到的两个匹配矩阵可视为两个通道, 再传给CNN+Pooling获得一组交互特征{vi}. 交互特征传入第二个GRU层, 得到{h’i}
最后的预测层, 作者设计了三种利用隐变量{h’i}的方式:
• last: 只用最后一个h’last传入softmax计算score
• linearly combined: 将{h’i}线性加权传给softmax
• attention: 利用attention机制计算{h’i}的权重
作者的实验表明采用attention的SMN效果最好, 但训练相对最复杂, last最简单且效果基本优于linearly combined.