神经网络多轮对话系统

简述

简单来讲,就是把上下文分别用RNN生成向量,计算两个向量变换后的内积对应二分类,判断一个回答是否是正确回答

论文全名:The Ubuntu Dialogue Corpus: A Large Dataset for Research in Unstructured Multi-Turn Dialogue Systems

背景

这篇文章的主要贡献有两点:

1、将Ubuntu相关的聊天内容提取出来,作为对话问题的公共语料库,解决了数据来源的问题

2、在多轮对话中,已知前文(Context)的时候,面临一堆候选回答的时候,用怎样的网络结构能选出正确答案

文章也解释了,为什么没有像其他相关论文那样,直接用encode-decode结构直接生成一个回答,因为还是没法得到好的结果

网络结构

缺图

其实网络结构极其简单,把当前的问题,比如“怎么查看进程号”,用RNN进行向量化c,即取RNN最后一个时刻的输出;与候选的回答,比如“用ps ax来看"用同样结构的网络生成的向量r,这两个向量最后转换成一个标量,通过sigmoid函数归到01之间。其实,就是拟合c'=Mr,使得相关回答在变换后,与问题相似。

其他细节

从最后的结果来看,LSTM相对原始RNN来说,有巨大的效果提升,而原始RNN与tfidf的余弦度量得到的结果差不太多

缺图

模型的效果与语料的量有很大关系

缺图

原始语料中只有正例,负例是随机构造的。

用于翻译模型的度量BLEU不再适用于会话评估。

TODO

文中还提到,参数的初始化方式和优化方法也起到关键作用,RNN隐层特意用了正交向量来初始化,优化算法采用"Adom"方法,这两点之后还要细读一探究竟。

既然本质上也是算变换后的相似性,那微软的相关性模型(DSSM系列非对称型)也适用于这个问题,效果上应当基本是等价的,从经验来看还有可能更快地收敛,如果原模型难以优化,可以尝试下成对训练。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值