关于conversation generation的论文笔记
对话模型此前的研究大致有三个方向:基于规则、基于信息检索、基于机器翻译。基于规则的对话系统,顾名思义,依赖于人们周密设计的规则,对话内容限制在特定领域下,实际应用如智能客服,智能场馆预定系统。基于信息检索是指根据输入语句,在回复候选集中匹配最相近的语句作为回复,涉及到特征与排序算法的选择。优点是得到的回复通常语法正确、语义明确,但由于回复是事先存在的,因此不能很好的适应语境。还有一种思路源自机器翻译,使用神经网络encode-decode框架:将输入语句映射为向量,根据向量生成回复。需要注意的是,对话生成与机器翻译有明显不同的地方:机器翻译要求输入与输出的语义完全一致,但在对话中需要有话题深入等语义偏移的情况。
这里总结的4篇文章均基于机器翻译的思路,使用神经网络为对话生成建模。第一篇文章是最典型的encode-decode结构;第二篇文章在decode网络输入部分做了修改,建模“回复中的词语各侧重于上下文不同部分”这一情况;第三篇文章在encode网络处做了修改,没有使用与decode部分同类的网络,输入也换成了context与message的bag-of-word,直观理解,更偏向于对输入语句主题的提炼挖掘。第四篇文章修改了decode网络的目标函数,意图使系统生成更丰富的回答,而不是一些通用于各种语境的无效回复,如”I don’t know”。
1.《A Neural Conversational Model》
purely data driven approach without rules,采用了seq2seq框架,使用两个LSTM,分别:将输入语句映射为固定长度的向量,根据向量预测对话中的下一句话。在特定主题的数据集IT helpdesk troubleshooting和无特定主题的电影对白数据集OpenSubtitles上进行了实验,可以回答某些简单问题,但是与其他对话系统一样,存在前后话题一致性的问题。
Overview:

2.《Neural Responding Machine for Short-Text Conversation》
同样采用了seq2seq框架,使用的是两个RNN:从输入语句中习得潜在语义(encode),然后根据潜在语义生成应答语句(decode)。这篇论文创新之处在于decode网络输入变量的构造上——往常的seq2seq模型是将encode网络的最后一个隐状态作为decode网络各个时刻的输入;但在这里,是将encode网络各个时刻的隐状态加权之后,作为decode网络不同时刻的输入。不同时刻下,decode网络中的输入不同,因为对encode隐状态使用的权值不同。直观的理解是,对于decode网络将生成的新词,它对应的是上下文信息中的某一部分,而不是整个上下文信息,因此使用权重来加强对应的部分。这种思路最初见于《NEURAL MACHINE TRANSLATION BY JOINTLY LEARNING TO ALIGN AND TRANSLATE》,并且在其中提到了权重的计算方法:需要计算此时decode网络的前一个隐状态和的encode网络各隐状态的“对齐”情况,单独使用一个神经网络训练完成的。文中取的最好效果的模型还需要在上述方法中加一些改进:输入到decode网络各时刻的变量,由encode网络各时刻隐状态加权结果与encode网络最后时刻隐状态连接而成。
Overview:

Decoder:standard RNN

Global scheme

local scheme:

Combine global and local:

3.《A Neural Network Approach to Context Sensitive Generation of Conversational Responses》
encoder为多层前向网络,decoder为RNN。论文中将对话分为context,message,response。其中,为了保持上下文信息,在encoder的输入为对话中context和message的bag-of-word(文中考虑了context、message词袋合并、分开两种情况),并且encoder网络最后一层的输出向量参与到decoder的每个隐层计算中去。

4.《A Diversity-Promoting Objective Function for Neural Conversation Models》
对话模型倾向于生成一些通用的回答,譬如“I don’t know”,无论前一句是什么都适用。针对这个问题,作者提出了新的decode网络目标函数,希望可以生成多样化的回答。Decode网络通常使用的目标函数是使得输出句子在给定输入时取得最大似然(见公式7),作者提出目标函数应使得输入句与输出句有最大互信息(见公式8),以此来限制通用的、与上下文无关的回答。


作者对公式8进行了两种变形(公式9,公式10),对应着论文中的两种实现思路,推导过程及结果见下图。针对公式9,作者还进一步考虑了:头几个生成的词语对整个输出句子的影响很大,因此对头几个词乘上惩罚系数,鼓励那些概率不那么大的词作为句首,希望借此生成更丰富的回答;鼓励生成更长的句子,但设有上限(20个词)。针对公式10,需要计算给定回复下得到输入句的概率(P(S|T)),这要求先生成回复T,而T搜索空间极为巨大。故作者在实现时先使用P(S|T)求得N-best候选应答,然后在再根据完整的公式10重排,得到最佳应答(近似)。

关于conversation generation的论文笔记的更多相关文章
- 《SONG FROM PI: A MUSICALLY PLAUSIBLE NETWORK FOR POP MUSIC GENERATION》论文笔记
出处:ICLR 2017 Motivation 提出一个通用的基于RNN的pop music生成模型,在层次结构中封装了先验乐理知识(prior knowledge about how pop mus ...
- 【论文笔记系列】AutoML:A Survey of State-of-the-art (下)
[论文笔记系列]AutoML:A Survey of State-of-the-art (上) 上一篇文章介绍了Data preparation,Feature Engineering,Model S ...
- 【论文笔记】用反事实推断方法缓解标题党内容对推荐系统的影响 Click can be Cheating: Counterfactual Recommendation for Mitigating Clickbait Issue
Click can be Cheating: Counterfactual Recommendation for Mitigating Clickbait Issue Authors: 王文杰,冯福利 ...
- Deep Learning论文笔记之(四)CNN卷积神经网络推导和实现(转)
Deep Learning论文笔记之(四)CNN卷积神经网络推导和实现 zouxy09@qq.com http://blog.csdn.net/zouxy09 自己平时看了一些论文, ...
- 论文笔记之:Visual Tracking with Fully Convolutional Networks
论文笔记之:Visual Tracking with Fully Convolutional Networks ICCV 2015 CUHK 本文利用 FCN 来做跟踪问题,但开篇就提到并非将其看做 ...
- Deep Learning论文笔记之(八)Deep Learning最新综述
Deep Learning论文笔记之(八)Deep Learning最新综述 zouxy09@qq.com http://blog.csdn.net/zouxy09 自己平时看了一些论文,但老感觉看完 ...
- Twitter 新一代流处理利器——Heron 论文笔记之Heron架构
Twitter 新一代流处理利器--Heron 论文笔记之Heron架构 标签(空格分隔): Streaming-process realtime-process Heron Architecture ...
- Deep Learning论文笔记之(六)Multi-Stage多级架构分析
Deep Learning论文笔记之(六)Multi-Stage多级架构分析 zouxy09@qq.com http://blog.csdn.net/zouxy09 自己平时看了一些 ...
- Multimodal —— 看图说话(Image Caption)任务的论文笔记(一)评价指标和NIC模型
看图说话(Image Caption)任务是结合CV和NLP两个领域的一种比较综合的任务,Image Caption模型的输入是一幅图像,输出是对该幅图像进行描述的一段文字.这项任务要求模型可以识别图 ...
随机推荐
- VS2012远程调试(winform+web 远程调试)
VS2012远程调试 一.调试WinFrom 程序 安装rtools_setup_x64 下载 配置Remote 启动Remote debugger 默认端口4016,选择工具-〉选项,选择 无身 ...
- 关于iis站点无法读取 服务器共享目录的问题
也是权限问题,具体解决方法如下: 1. 找到该站点所在的应用程序池>>高级设置>>进程模型>>设置标志账号,如下图所示 2. 设置账号之后,找到该共享目录>& ...
- Python 数据排序和列表迭代和列表推导应用
1.In-place sorting 原地排序 data=[6,4,5,2,3,1] print ('before sort', data) data.sort() print ('after sor ...
- idea系列新版注册模式
http://idea.qinxi1992.cn/ 楼上被列入黑名单,用 http://114.215.133.70:41017/
- linux svn迁移备份的三种方法
原文:http://www.iitshare.com/linux-svn-migration.html svn备份方式对比分析 一般采用三种方式: 1.svnadmin dump 2.svnadmin ...
- C# DEBUG 调试信息打印及输出详解
转载自: http://blog.csdn.net/aaaaatiger/article/details/5583301 1.debug只在[debug模式下才执行](运行按钮后面的下拉框可选) 2. ...
- 黄聪:simple_html_dom 换行符丢失
我在利用simple_html_dom来解析文档是,想要将其中的换行符替换成<BR> , 结果试了好几次没有成功,但是在原始文档中确实是有换行符的.后来索性把装载进来的文档打印出来,结果发 ...
- POJ 2311 Cutting Game(Nim博弈-sg函数/记忆化搜索)
Cutting Game 题意: 有一张被分成 w*h 的格子的长方形纸张,两人轮流沿着格子的边界水平或垂直切割,将纸张分割成两部分.切割了n次之后就得到了n+1张纸,每次都可以选择切得的某一张纸再进 ...
- Going Home (hdu 1533 最小费用流)
集训的图论都快结束了,我才看懂了最小费用流,惭愧啊. = = 但是今天机械键盘到了,有弄好了自行车,好高兴\(^o^)/~ 其实也不是看懂,就会套个模板而已.... 这题最重要的就是一个: 多组输入一 ...
- Python进阶07 函数对象
作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 秉承着一切皆对象的理念,我们再次回头来看函数(function).函数也是一个对象 ...