首发!三角兽被 EMNLP 录取论文精华导读:基于对抗学习的生成式对话模型浅说互联网+
那么 NMT 模型可望用来实现聊天回复的自动生成,从而实现基于对抗学习的聊天回复生成模型, 一个直观的解决方案NRG 模型产生 safe response 的问题可以说是意料之外情理之中的事情。
雷锋网按:近日,三角兽科技 AI Lab 的一篇论文,被世界顶级自然语言处理会议 EMNLP 高分录取,论文题目为:Neural Response Generation via GAN with an APProximate Embedding Layer,由三角兽研究团队与哈工大 ITNLP 实验室合作完成。论文中提出了一种
雷锋网按:近日,三角兽科技 AI Lab 的一篇论文,被世界顶级自然语言处理会议 EMNLP 高分录取,论文题目为:Neural Response Generation via GAN with an APProximate Embedding Layer,由三角兽研究团队与哈工大 ITNLP 实验室合作完成。论文中提出了一种新的对话文本对抗生成学习框架,目的是解决文本生成过程中的采样操作带来的误差无法反向传导的实际问题,从而实现基于对抗学习的聊天回复生成模型。
以下为三角兽研究团队所写的论文精华导读,雷锋网(公众号:雷锋网)授权首发:
引言
在最近几年里,深度学习 (Deep Learning, DL)在自然语言处理领域不断攻城略地,使得过去被认为很难取得突破的研究方向的难度有所降低,其中最为人们所津津乐道案例的当属 Sequence-to-Sequence (S2S) 在对统计机器翻译(Statistical Machine Translation, SMT)领域的颠覆性突破,进而产生了全新的基于神经网络的机器翻译(Neural Machine Translation, NMT)范式[1, 2]。这个新范式的影响甚至已经波及到了其他相关领域,其中就包括本文即将讨论的生成式自动聊天系统(Generation based Chatting System)[3, 4, 5]。
通常认为自动聊天系统(Automatic Chatting Systems)可以通过两种技术路线实现:一种是将信息检索系统构建于大规模对话数据集之上,通过建立有效的问句匹配和问答相关度量化模型实现对用户 query的合理回复[6],本文不做赘述;另一种技术路线则试图通过构建端到端(End-to-End)的深度学习模型,从海量对话数据中自动学习 query 和 response 之间的语义关联,从而达到对于任何用户 query 都能够自动生成回复的目的。如果说基于信息检索的技术路线偏重工程实现的话,那么基于生成的技术路线则显得更加学术。
生成式聊天模型的提出与 NMT 有着极为紧密的关联,这种关联可以追溯到深度学习尚未如此风行的年代:在早期的问答系统(Question Answering Systems)的相关研究中,人们就已经把SMT 的相关模型和方法应用在答案筛选排序模块里,并取得了不错的效果[7]。这背后的原因是,为一个问题寻找答案的过程可以看作是一种特殊的翻译过程,在这个特殊的翻译过程中,问题和答案分别位于翻译模型的两端,如此一来,一个 question-answer pair 实际上等价于 SMT 需要处理的一条平行语料,而 SMT 的训练过程实际上也就等价于构建问题和答案当中词语的语义关联过程。在 NMT 取得巨大成功之后,这种新的范式很自然的被应用在聊天回复的自动生成上,于是本文所要讨论的第一个直观思维产生了:聊天可以看作是一种特殊的不以获取信息为目的的问答,同时 SMT 可以用来寻找答案,且 NMT 是 SMT 的一种高级形态,那么 NMT 模型可望用来实现聊天回复的自动生成。如今,我们把这种新的自动聊天模型架构命名为 Neural Response Generation(NRG)。
NRG 面临的挑战不可否认,采用 NRG 模型生成的一部分聊天回复在主题上确实能够做到与相应的 query 吻合,甚至会有个别语义相关度较高且可读性很好的回复可以被生成出来,饶是如此,恐怕不会有人认为 NRG 复制了 NMT 模型在机器翻译领域的成功,其主要原因就是,这种端到端模型生成的绝大多数答案严重趋同,且不具有实际价值,即无法让人机对话进一步进行下去,例如,对于任何的用户 query,生成的结果都有可能是“我也觉得”或“我也是这么认为的”。无论模型在中文数据还是在英文数据上进行训练,这种现象都非常明显,由于模型生成的绝大多数结果对于任何 query 都勉强可以作为回复,于是我们把这种生成结果形象的命名为 safe response[8]。
显而易见,safe response 的大量存在将使自动聊天系统显得索然无味,使用户失去与系统互动的热情,因此目前的实用聊天系统仍然是以信息检索模型为主要架构。简而言之,NRG 模型如果想要在实际产品中发挥作用,避免 safe response 的生成是必须要解决的问题,无可回避。
Safe response 问题的产生可能是多种因素共同作用的结果,本文仅从最直观的方向切入这个问题。这里不妨思考这样一个问题:在同样的数据组织形式,同样的模型结构,合理的假设的情况下,为什么 NMT模型没有遇到如此明显的 safe translating result 的问题?这时候回顾 NMT 模型的工作流程是很有必要的:NMT 模型由两个部分组成,一部分负责对 source sentence 进行语义表示,将其压缩成指定维度的语义向量,因此可以称其为 encoder;另一部分负责接收 encoder 提供的语义向量,并在语义向量的“指导”下,逐个挑选词语组成 target sentence,这个部分通常被称作 decoder。一言以蔽之,encoder 负责提供输入信号的语义表示,decoder则实际上实现了一个以该语义表示为初始条件的语言模型。
图1 经典的 Sequence-to-Sequence 模型[1]
如此一来,safe response 的症结之一就呼之欲出了:如果比较机器翻译和聊天的训练数据就不难发现,聊天数据中词语在句子不同位置的概率分布具有非常明显的长尾特性,这一特性通常在句子开头几个词语上体现得尤为明显,例如,相当大比例的聊天回复是以“我”“也”作为开头的句子,相对地,对于主要以正规文本为数据源形成的 SMT 平行语料来说,这种情况出现的可能会依数量级地减少。在这样的情况下,词语概率分布上的模式会优先被 decoder 的语言模型学到,并在生成过程中严重抑制 query 与 response 之间词语关联模式的作用,直观来看,即便有了 query 的语义向量作为条件,decoder 仍然会挑选概率最大的“我”作为 response 的第一个词语,又由于语言模型的特性,接下来的词语将极有可能是“也”……以此类推,一个 safe response 从此产生。
一个直观的解决方案NRG 模型产生 safe response 的问题可以说是意料之外情理之中的事情,于是人们坚定地对这个难题发起了挑战。常见的解决方案包括:通过引入 attention mechanism 强化 query 中重点的语义信息[4],削弱 decoder 中语言模型的影响[8],从广义上来说,引入 user modeling 或者外部知识等信息也能够增强生成回复的多样性[9, 10]。
而当我们跳出对于模型或者数据的局部感知,从更加全局的角度考虑 safe response 的问题的时候,一个非常直观的方案扑面而来:产生 safe response 的 S2S 模型可以认为是陷入了一个局部的最优解,而我们需要的是给模型施加一个干扰,使其跳出局部解,进入更加优化的状态,那么最简单的正向干扰是,告知模型它生成的 safe response 是很差的结果,尽管生成这样的结果的 loss 是较小的。
一个直观的思想,开启了生成式对抗网络(Generative Adversarial Networks, GAN)[11]在生成式聊天问题中的曲折探索。
1.TMT观察网遵循行业规范,任何转载的稿件都会明确标注作者和来源;
2.TMT观察网的原创文章,请转载时务必注明文章作者和"来源:TMT观察网",不尊重原创的行为TMT观察网或将追究责任;
3.作者投稿可能会经TMT观察网编辑修改或补充。

