Paper 链接

0. Abstract部分

0.1 用于生成对话的Seq2Seq NN(序列到序列神经网络模型)
倾向于产生安全,平常的反应(例如,我不知道,任何问题都能这么回答)而不考虑输入如何。
我们发现使用传统的目标函数,即输出的可能性(响应)
给定的输入(消息)不适合回复生成任务(Response generation task)。 因此,我们建议使用最大相互信息(MMI)作为神经模型中的目标函数。 实验结果表明,提出的MMI模型可产生更加多样化,有趣且适当的回复,从而在两个会话数据集和人工评估中的BLEU得分中获得实质性收益。

1. Introduction部分

1.1 对话代理(Conversational agent)越来越重要于促进人与人之间(及其电子设备)的顺畅互动,然而传统的对话系统仍在继续面临重大挑战。健壮性,可伸缩性和领域适应性的形式。 因此,注意力转向了从数据中学习会话模式:研究人员已经开始在统计机器的框架内探索数据驱动的会话响应的生成翻译, 要么基于句子(phrase-based), 要么通过神经网络,要么直接就通过sequence2sequence的模型。SEQ2SEQ模型提供了可扩展性和语言独立性的承诺,以及隐式学习线对之间的语义和句法关系以及以传统SMT方法无法实现的方式捕获上下文相关性的能力。

1.2 一个好的的回复生成系统应该能够输出多种多样且有趣的语法,连贯的句子回复。 但是在实践中,神经对话模型往往会产生琐碎的
或不置可否的回应,通常涉及一些高频短语比如I don‘t know, I’m OK(万能回答). 如table1(下方)所示,一个四层seq2seq模型,在2千万对话配对中学习

这种现象的部分原因可以归因于I don‘t know这种句子的高频率出现,相反,更具有意义的回复一般在数据集中比较稀疏(sparsity)。 因为神经网络在训练中会给这些安全的(万能的)回复分配更高的概率。这种模型中的目标函数,通常在类似于机器翻译等任务中非常常见,但可能不适合涉及输出本质上不同的任务。(就是说生成不了过于有意义,及新意的回复。)所以,直观上,似乎不仅要考虑响应对消息的依赖性,而且还要考虑将消息提供给给定响应的可能性的倒数。(出现频率小的回答,倒数更大,这里有点像Tfidf, 就是要考虑倒数,从而更加注意一些低频词,因为高频词通常都是the,a,that等一些没有实际意义的词)。

1.3 于是该文章提议用MMI,一个在对话识别(Speech recognition)中第一次被提到的东西,MMI可以作为一种优化目标函数,用来衡量输入和输出之间的相互依赖度(mutual dependence)。然后文章发现使用MMI可以有效减少万能回复所占的比例,以及生成一些显而易见的更有辨识度,更多样性,更有趣的回答。

2. Related works

2.1 反正说自己的模型好,以前的模型都是template模版化的,即时考虑了概率模型,也不够好。而他们的新模型,受启发于SMT(statistical machine translation 统计机器翻译)。然后提到有些用了LSTM的seq2seq模型可以捕捉隐式组成性和大跨度的依赖。但是,我们的目标是产生单个非平凡的输出,并且我们的方法不需要识别词汇重叠即可促进多样性

3. Sequence-to-Sequence Model

3.1

其中eke_kek 是一个在时刻k关于词或者句子的向量,hk−1h_{k-1}hk1就是上一个时刻的输入,把上一个时刻的输入和eke_kek放到LSTM中从而生成新的hkh_khk

3.2 会用到softmax

并且,输入和输出会用到不同的LSTM参数,从而捕捉不同的patterns。

3.3 解码过程中(把生成的向量转回人类可读的句子),一旦EOS token被识别就停止解码,解码可以用到贪心的算法(选择候选词表中概率最大的那个词作为当前位置的词),或者beam search

4. MMI models

4.1 Notation

S作为一个输入序列,S={s1,s2,s3,s4...sNs}S=\{s_1, s_2, s_3, s_4...s_{Ns}\}S={s1,s2,s3,s4...sNs} ,其中NsN_sNs是S中词表的长度。 T是一个回复序列T={t1,t2,t3...tNt,EOS}T = \{t_1, t_2, t_3... t_{Nt}, EOS\}T={t1,t2,t3...tNt,EOS}, 其中NtN_tNt是回复的长度

4. 2 MMi Criterion

标准的seq2seq目标函数是关于T的log-likelihood,
T^=argmaxTlogp(T∣S)\hat{T} = argmax_T \ {log\ p(T|S)}T^=argmaxTlogp(TS)
在test的时候会产生统计决策问题(statistical decision problem)。

而在MMI中,会增加互信息,
logp(S,T)p(S)p(T)log\frac{p(S, T)}{p(S)p(T)}logp(S)p(T)p(S,T), 这种目标函数会阻止选择无条件拥有最高概率的那些选项(即万能回复),而是偏向于与输入有关的特定的回答,所以MMI目标函数可以写成:

T^=argmaxT{logp(T∣S)−logp(T)}\hat{T} = argmax_T \{log\ p(T|S) - log\ p(T)\}T^=argmaxT{logp(TS)logp(T)}

加入惩罚项之后:
T^=argmaxT{logp(T∣S)−λlogp(T)}(9)\hat{T} = argmax_T \{log\ p(T|S) - \lambda log\ p(T)\} \ (9)T^=argmaxT{logp(TS)λlogp(T)}(9)

中间还有几步省略,最后写成了这样:
T^=argmaxT{(1−λ)logp(T∣S)−λlogp(S∣T)}(10)\hat{T} = argmax_T \{(1-\lambda)log\ p(T|S) - \lambda log\ p(S|T)\} \ (10)T^=argmaxT{(1λ)logp(TS)λlogp(ST)}(10)

这种方式可以在输入输出之间取得平衡。

4.3 Pratical consideration

上面的等式(9) 被当成MMI-antiLM,(10)被当成MMI-bidi, 但是这两种策略都不适合直接解码,(9)会导致无语法规则的回复(ungrammatical response), (10) 会导致解码很难,后面会讲如何解决。

4.3.1 MMI-antiLM

(9)式中的惩罚项λlogp(T)\lambda log\ p(T)λlogp(T)项不仅会惩罚高频,万能回答,还包括很流利的句子(fluent ones, 会导致无语法结构的output), 理论情形下当λ<1\lambda<1λ<1时不会出现这种情况,因为无语法结构的句子总是会被第一项logp(T∣S)log\ p(T|S)logp(TS)惩罚的很严重。但实际情况是,模型倾向于选择逃脱了被p(T∣S)p(T|S)p(TS)惩罚的无语法结构的output。
Solution 解决方法: 让NtN_tNt当做序列集T的长度, 等式(9)可以写成:

p(T)=Πk=1Ntp(tk∣t1,t2...tk−1)(11)p(T) = \Pi_{k=1}^{N_t}\ p(t_k|t_1, t_2...t_{k-1}) \ \ (11)p(T)=Πk=1Ntp(tkt1,t2...tk1)(11)

U(T)U(T)U(T)代替p(T)p(T)p(T), 其中U(T)U(T)U(T)是适应了标准语言模型,通过随着当前的token k递增乘上一个单调递减的g(k)g(k)g(k)
U(T)=Πi=1Ntp(tk∣t1,t2...tk−1)∗g(k)(12)U(T) =\Pi_{i=1}^{N_t}\ p(t_k|t_1, t_2...t_{k-1}) *g(k) \ (12) U(T)=Πi=1Ntp(tkt1,t2...tk1)g(k)(12)

首先,神经解码将先前构建的表示形式与当前步骤预测的单词结合起来。 随着解码的进行,初始输入对解码(即源句)的影响,由于向量表示中编码了其他先前预测的单词,因此表示减少。换句话说,要预测的第一个单词会显著决定句子的其余部分。语言模型对较早预测的单词的惩罚比对较晚预测的单词的惩罚更有助于句子的多样性。

其次,随着输入对解码的影响下降,语言模型的影响将占主导地位。 我们已经观察到不合语法的句段倾向于出现在句子的后半部分,特别是在长句子中。

本文采用最简单形式的g(k)g(k)g(k) 通过给他设定一个阈值(γ\gammaγ),从而惩罚前γ\gammaγ个词。

于是等式(9)最终变成logp(T∣S)−λlogU(T)log\ p(T|S) - \lambda log\ U(T)logp(TS)λlogU(T), 从而直接解码是容易的。

4.3.2 MMI-bidi

解码等式(11)也是不容易的,因为第二项中的logp(S∣T)log\ p(S|T)logp(ST)要求 目标生成结束了才能计算,即不能变生成句子变计算, 由于目标T搜索空间巨大(比如这个句子要生成多少个字也是不确定的,答案长度不唯一,每一个位置的词也是不唯一的),考虑所有可能性是不现实的。

因此,出于实际原因,我们转向一种近似方法,该方法涉及首先根据目标函数的第一部分生成N个最佳List (N best list),然后根据目标函数的第二项对这个N-list重新排序, 由于通过seq2seq生成的N-best list通常都是语法正确的句子,所以最终选择都是格式很好的(不用担心语法问题)。 但模型重排序是有巨大缺点的,通过首先强调标准seq2seq目标函数,他会产生非全局最优解(局部最优), 更重要的是它依赖于模型生成一个多样性的候选set,从而要求每条消息都生成一个很长的List(大概是想说计算量很大,每个输入都要生成一堆候选答案)。

但是呢,这两个MMI变种却在实际中表现很好,显著提升了(回复的)有趣性和多样性。

4.4 Training

最近研究表明在seq2seq问题上,深度LSTM表现的比单层LSTM好, 所以采用了四层的编码和解码结构, 编码和解码层参数是不同的,每一层都有1000个隐神经元,word embedding的维度也是1000。

其他配置: LSTM参数和embedding的初始化都是在-0.8到0.8之间均匀分布的,随机梯度下降+固定学习率0.1,batch size256,当norm超过1时会有梯度裁剪( Gradient clipping)

4.5 Decoding

4.5.1 MMI-antiLM

如前面所说使用logp(T∣S)−λlogU(T)log\ p(T|S) - \lambda log\ U(T)logp(TS)λlogU(T)可以很轻松地在每个时间点预测,在实验中发现考虑解码长度也是很有必要的,所以最后给loss function也加入了对长度的惩罚项:

Score(T)=logp(T∣S)−λlogU(T)+γNtScore(T) = log\ p(T|S) - \lambda log\ U(T) + \gamma N_tScore(T)=logp(TS)λlogU(T)+γNt ,其中T是Target, NtN_tNt是Target长度, γ\gammaγ 是相应的权重。 通过使用MERT优化γ,λ\gamma, \lambdaγ,λ, N-best list通过设定beam size B=200的解码生成,生成的候选项最大长度20,在每一个解码时刻有B x B个候选,然后选出最优的B个进入下一步。

4.5.2 MMI-bidi

通过logp(T∣S)log\ p(T|S)logp(TS) 生成N-best list, 然后根据线性地组合p(T∣S),λp(S∣T),γNtp(T|S), \lambda p(S|T), \gamma N_tp(TS),λp(ST),γNt 重排序, 还是通过MERT来调参γ,λ\gamma, \lambdaγ,λ

5. Expriments

5.1 Dataset

有Twitter Conversation Triple Dataset, OpenSubtitles dataset

5.2 Evaluation

对于参数调优和evaluation,都会用到BLUE, 而对于OpenSubtitles dataset只有single refrence BLUE score会被用到。对于Open这个数据集,由于一些限制,在evaluation的时候会用Internet Movie Script Database(IMSDB)数据集。

为了计算多样度,回复response中独立的unigrams和bigrams的数量会被计算,分别以distinct-1和distinct-2表示。这两个值都被标准化了,通过除以总的token数,从而使模型不会倾向于长句子(长句字更多unigrams和bigrams)

5.3 Results

Twitter数据集的结果

Baseline 是seq2seq+标准目标函数,beam size200, 和greedy search seq2seq比较。其他的对比模型还有SMT,以及SMT+neural reranking。

Open数据集的表现比twitter都低,原因可能是因为IMSDB数据集只用了single reference BLEU,他们注意到baseline seq2seq 模型在Open数据集上产生了unigrams多样性更低的表现,相对于Twitter数据集而言。可能原因是电影对话的信息丰富性更大。


然后就开始说自己的proposed methods了,MMI-antiLM和MMI-bidi 有性能提升。

后面基本就没啥好讲的了

论文导读:A Diversity-Promoting Objective Function for Neural Conversation Models相关推荐

  1. 论文导读|Representing Schema Structure with Graph Neural Networks for Text-to-SQL Parsing

    论文导读|Representing Schema Structure with Graph Neural Networks for Text-to-SQL Parsing 编者按 1.背景知识 2.S ...

  2. 论文阅读笔记|NNLP: A Primer on Neural Network Models for Natural Language Processing - Yoav Goldberg 2015

    书籍简介 本篇综述可看作神经网络模型应用于自然语言处理的启蒙读物.由于时间跨度较大,文中提到的模型比较古早,但此文包含该领域需要掌握的基础概念,且篇幅不长,通俗易懂,有一定价值,适合初学者阅读.以下是 ...

  3. LPF: A Language-Prior Feedback Objective Function for De-biased Visual Question Answering 论文笔记

    LPF: A Language-Prior Feedback Objective Function for De-biased Visual Question Answering 论文笔记 一.摘要 ...

  4. 3维线程格 gpu_论文导读 | GPU加速子图同构算法

    GPU加速子图同构算法 作者: 曾立 邹磊 M. Tamer Özsu 胡琳 张藩 论文链接:https://arxiv.org/abs/1906.03420 本次论文讲解的是曾立.邹磊.M. Tam ...

  5. 关于计算机视觉的那些论文 | CCF推荐论文导读

    目 录 1 Quality Evaluation for Image Retargeting With Instance Semantics 2 PFAN++: Bi-Directional Imag ...

  6. mysql8.0其他机器访问_论文导读|基于机器学习的高速缓存预取

    作者:北京大学杨磊 这篇文章通过机器学习方法预测未来访问来解决LSM-tree存储引擎下的缓存失效问题,目前该论文已经被数据库顶会VLDB2020接收. 问题背景 传统的缓存替换机制,比如LRU.LF ...

  7. Interactive natural language question answering over knowledge graphs论文导读

    论文导读 目录 Abstract introduction 1 抛砖引的玉(砖见于图谱构建综述吧) 2 现有方法介绍 3 问题驱动 4 挑战与贡献 Interaction approach overv ...

  8. 论文导读:Deep Attentive Learning for Stock Movement Prediction From Social Media Text and Company Correl

    1. Introduction 股票走势受到多方面影响,没有了解相关信息的投资决策会面临金融风险以及金钱损失,而仔细考虑过的投资可以使收益增大.传统的方法依赖于时间序列,以及对股票的分析,比如利用历史 ...

  9. 论文导读 | 基于多臂赌博机(MAB)建模的SimRank计算

    北京大学 刘钰 原文<SimTab: Accuracy-Guaranteed SimRank Queries through TighterConfidence Bounds and Multi ...

最新文章

  1. 使用PageHeap.EXE或GFlags.EXE检查内存越界错误 (转)
  2. 【必看】Linux 或 Windows上实现端口映射
  3. 什么是Flink?Flink能用来做什么?
  4. skywalking 源码解析——多线程变量传递 EnhancedInstance
  5. shell-awk详细笔记
  6. EasyUI中Datagrid列定位方法
  7. mysql配置主从时报错及处理
  8. Julia : Set or Array ?
  9. [转]UBB代码解析规范
  10. Excel数据透视表制作
  11. uniapp AES加密解密
  12. 利用猜根法求解三阶行列式的特征值
  13. mysql字符集与校对规则设置_mysql 字符集和校对规则
  14. 约瑟夫问题(小小算法,真不可笑)
  15. CRC32、murmur32、SDBM32碰撞实验数据对比
  16. 我要你觉得,我不要我觉得--根据企业现状实施DevOps
  17. 51单片机数码管交通灯倒计时c语言,51单片机数码管倒计时模拟交通灯汇编程序...
  18. DNS服务器未响应是什么意思
  19. 前端代码规范之代码格式化配置
  20. Face Paper: YOLOv2论文详解

热门文章

  1. SSM项目 “信息发送” 详细步骤
  2. 【QT开发笔记-基础篇】| 第五章 绘图QPainter | 5.11 路径
  3. java poi导出word 多表格 页眉 非xml
  4. 【程序】Marvell 88W8782/88W8801 WiFi模块创建或连接热点,并使用lwip2.1.3建立http服务器(20220213版)
  5. 安装冰点还原后无法更改系统时间怎么办
  6. 达人评测 iPad mini 5和mini 6 选哪个好
  7. 球半足球比分,韩K联:江原FC - 金泉尚武 07月08日
  8. visual code rg.exe或者git for window占用内存越来越大
  9. TemplatesImpl在Shiro中的利用
  10. c++用Beep发出声音