ibcadmin 发表于 2019-10-24 09:48:09

论文研读:基于统计重加权的方法减少通用回复

<h2 id="论文研读基于统计重加权的方法镌汰通用回复">论文研读:基于统计重加权的方法镌汰通用回复</h2>
<p>聚会会议名称:EMNLP2018</p>
<p>文章题目:Towards Less Generic Responses in Neural Conversation Models: A Statistical Re-weighting Method</p>
<p>原文链接:https://link.zhihu.com/?target=https%3A//www.paperweekly.site/papers/2440</p>
<p>一句话概括: 针对开放对话范畴的对话多对多关系而且产生通用回复的题目,文章在损失项中引入权重的概念,低沉通用回复权重,低沉过短大概过长语句的权重。</p>
<h3 id="论文配景">论文配景</h3>
<p>神经生成模型在呆板翻译中的成功应用,即神经呆板翻译(Neural Machine Translation, NMT),引发了研究职员对于<strong>神经对话模型</strong>的热情。现在最常用的框架为Seq2Seq模型,其通常通过极大似然法,最大化回复的概率得到输出效果。但在上述任务中会存在一些题目,此中最严峻的的一个是模型常常会产生一个通用的回复(例如,我不知道),而不是一个故意义的特定回答。</p>
<p>在开放范畴的对话中,我们常常发现对于一个输入\(x\),会得到多少意思不划一,但是同样可以接受的回答。如问“你用饭了吗”,回复“还没”,“不饿”,“刚吃完”,“不急”等等都可以被接受,因此对于\(x\)到\(y\)通常是一个一对多乃至多对多的关系,如下图所示:<br />
<div align="center"></div><br />
作者通过这些观察,提出了一种统计重加权的损失函数,镌汰通用回复。</p>
<h3 id="论文方法">论文方法</h3>
<p>考虑对于语料库\(C\),其对于样本\((\mathbf{x,y})\),损失函数为:<br />
\[
l(\mathbf{x,y},\theta)=-\sum_{t=1}^{T&#39;}logp(y_t|\mathbf{x,y}_{;}\theta)
\]<br />
全样本集的损失函数为:<br />
\[
L(C,\theta)=\sum_{(\mathbf{x,y})\in C}l(\mathbf{x,y},\theta)
\]<br />
考虑通用回复出现在很多\(\mathbf{x}\)对应的回复中,因此,假如我们对于\(\mathbf{x}\)的两个回复中,假如某个回复比另一个更加通用,他们会具有类似的损失项(根据公式1),公式2中会包罗大量通用回复,导致模型陷入局部最优,即模型更加倾向于产生通用回复。</p>
<p>基于上述观察,但是我们应该进步通用回复的损失,低沉不通用回复的损失。于是提出下面的损失函数:<br />
\[
l_w(\mathbf{x,y},\theta)=w(\mathbf{y|x},\theta)l(\mathbf{x,y},\theta)
\]</p>
<p>在这里,\(w(\mathbf{y|x},\theta)\)作为一个权重,取值范围为\((0,1]\),对于样本集\(C\)上的Batch,将其损失函数归一化为:<br />
\[
L(\mathbb{B},\theta)=\frac{\sum_{\mathbf{x,y\in{\mathbb{B}}}}l_w(\mathbf{x,y},\theta)}{\sum_{\mathbf{x,y\in{\mathbb{B}}}}w(\mathbf{y|x})}
\]<br />
对于回复,作者总结了两个公共的属性:</p>
<p>1. 常常出现在练习语料库中的回复模式每每是通用的。在这里,模式指的是整个句子或n-gram,可以通过回复之间的相似性来形貌。</p>
<p>2. 特殊长大概特殊短的回复都应该制止,太长包罗太多特定信息,太短通用回复</p>
<p>因此作者计划了权重:<br />
\[
w(\mathbf{y|x},R,C)= \frac{\Phi(\mathbf{y}) }{max_{r\in R}\{\Phi(r)\}}
\]<br />
此中\(\Phi(\mathbf{y})\)指:<br />
\[
\Phi(\mathbf{y})=\alpha\varepsilon(\mathbf{y})+\beta\mathfrak{F}(\mathbf{y})
\]</p>
<p>\(\varepsilon(\mathbf{y})\)为:<br />
\[
\varepsilon(\mathbf{y})=e^{-af\mathbf{(y)}}
\]</p>
<p>\(\mathfrak{F}(\mathbf{y})\)为:<br />
\[
\mathfrak{F}(\mathbf{y})=e^{-c||\mathbf{y}|-|\mathbf{\hat{y}}||}
\]<br />
这里\(f(\mathbf{y})\)是回复\(\mathbf{y}\)在全部回复中的出现频次,\(\hat y\)为全部回复的匀称长度,\(\{\alpha,\beta,a,c\}\)均为超参数。</p>
<h3 id="实行效果">实行效果</h3>
<p>作者从外交网站爬取了700万对话作为实行,用500作为测试,对句子通顺度,句子相干性,可接受度等方面进行评测,同时对权重的多重计划的有用性进行了评测(只利用频次RWE,长度RWF,都是用RWEF等)效果如下:</p>
<p><div align="center"></div></p>
<p>别的作者利用10万测试集统计了常用通用回复的频次,显着看到通用回复变少。</p>
<p><div align="center"></div></p>
<h3 id="个人总结">个人总结</h3>
<p>个人以为方法还是很有启发性的,通过改变权重,样本原本的分布,以此来达到镌汰通用回复的目标。</p>
<p>但是模型需要顾虑:权重改变改变了样本的分布,这种改变是否公道?噪声点是否因此被放大?在\(i.i.d\)条件下,人们通用回复说得多是否代表通用回复占比原来就高,这样改变的对话体系是否不符合对话方式?(如在原文中,举例“孟记普洱茶专营店一贴”,通用回复为“我也想喝”,而文章中的模型为“我喜欢品茗”,是否前者更符合,后者更突兀?)</p>
<p>但是这篇文章仍旧非常具有启发性,感谢腾讯AILAB,武汉大学,苏州大学的大牛们。</p>
<blockquote>
<p>本文由飞剑客原创,如需转载,请联系私信联系知乎:@AndyChanCD</p>
</blockquote><br><br/><br/><br/><br/><br/>来源:<a href="https://www.cnblogs.com/moonwanderer/p/11729008.html" target="_blank">https://www.cnblogs.com/moonwanderer/p/11729008.html</a>
页: [1]
查看完整版本: 论文研读:基于统计重加权的方法减少通用回复