赞
踩
这一篇<Sequential Attention-based Network for Neotic End-to-End Response Selection>,论文地址,是阿里刚刚七月份开源的模型框架。目前在DSTC7的Ubuntu和Advising数据集取得SOTA效果。
介绍检索式多轮问答任务:
对于检索式多轮问答任务,目前有两种主要的结构:
1、sequence-based methods: 将多轮问答语句合并为一列, 连接处用_SOS_隔开, 将整个对话历史视为"一句话"去匹配下一句。
典型论文:
<Multi-view Response Selection for Human-Computer Conversation> EMNLP2016
2、hierarchy-based methods:单独处理每一句话,对句子中的联系进行显式建模。
典型论文:
SMN模型:<Sequential Matching Network A New Architecture for Multi-turn Response Selection in Retrieval-Based Chatbots> ACL2017
DUA模型:<Modeling Multi-turn Conversation with Deep Utterance Aggregation> COLING2018
DAM模型:<Multi-Turn Response Selection for Chatbots with Deep Attention Matching Network> ACL2018
论文简介:
最近两年最好效果的都是hierarchy-based methods的结构,普遍认为hierarchy-based methods比前者好,但这篇ESIM属于前者,证明sequence-based methods还有深挖的潜力。
这篇文章的做法是把2017年的一篇用于做自然语言推断的文章Enhanced Sequential Inference Model(ESIM),将它的结构应用于检索式多轮问答任务。
在ubuntu数据集上,论文先使用一个sentence encoding-based method(图a)从120000个候选答案中初筛出100个答案,因为完全用ESIM模型计算量会很大。这个sentence encoding-based method用的就是Siamese architecture结构,神经网络对上文context和回答进行编码,然后分类器预测context与回答之间的关系。
然后使用ESIM模型对100个候选答案重排序得到结果。
ESIM更详细点的结构如下图所示:
特点就是加了cross-attention,soft-alignment操作。
模型试跑:
数据集:ubuntu,ubuntu论坛上的多轮对话数据。1表示正例,0表示负例。多轮对话拼接成一个长句子,与要预测的下一句用 “:/” 连接。
训练集: 100万,正例:负例 = 1:1
验证集: 5万,正例:负例 = 1:9
测试集: 5万,正例:负例 = 1:9
环境:python2.7 + tensorflow1.12
训练:使用默认参数,8个epoch,训练用时24个小时。
结果:测试集:MAP:0.871769
MRR:0.87105
Precision@1: 0.79652
Precision@2: 0.89324
Precision@5: 0.9747
论文的结果:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。