论文浅尝 | 主题感知的问答生成

640?wx_fmt=png

Citation: XingC, Wu W, Wu Y, et al. Topic aware neural response generation[C]//Thirty-FirstAAAI Conference on Artificial Intelligence. 2017.


动机

人机对话在 AI NLP 领域是一项具有挑战性的工作。现存的对话系统包括任务导向的对话系统和非任务导向的聊天机器人。在聊天机器人里面构建对话引擎的方法就是利用大规模的社会对话数据,在机器翻译框架里学习一个回答生成模型。最近,基于方法的神经网络成为主流趋势,因为它们可以抓住输入文本和回答之间的语义和语法关系。但是,聊天机器人的回答生成算法不仅要生成自然流利的回答,还要生成具有信息量的,有趣的回答。但是现存的机器翻译模型比如带注意力机制的 Seq2Seq 倾向于生成一些无意义的回答,比如“Me too”“I see”等。这种回答十分无聊也不含有任何有用的信息,很容易结束人机对话。

因此,为了生成有趣的富含信息量的回答,使人们不觉得与机器对话无聊。作者提出了一个 topic aware sequence-to-sequence  (TA-Seq2Seq) 模型,利用话题信息作为作为先验知识,生成回答。给定一个输入信息,作者预测了可能会在回答中谈论到的话题,然后生成针对该话题的回应。这个想法是作者观察人们之间的交流而想到的。在人与人之间的交谈中,人们经常会将输入的信息与心中的话题相关概念联系起来。基于这些概念,人们组织内容并选取作为回答的单词。TA-Seq2Seq 是基于 sequence-to-sequence 框架构建的。在编码时,通过信息编码器将输入信息表示成隐向量,从预训练好的 Twitter LDA 模型得到输入信息的主题单词。使用对话数据之外的大规模社会数据集预先训练 Twitter LDA 模型。在解码阶段,通过联合注意机制,根据输入信息和话题,生成每个单词。联合注意机制,就是将输入信息的隐藏向量通过现有的 attention 机制表示成语境向量,然后将话题单词的 embeddings 通过话题注意机制合成为话题向量。与现存的注意不同,为了加强话题和输入信息的联系,话题注意会额外输入输入信息的最终状态,计算话题单词的权重。


贡献

文章的贡献有:

(1)     提出使用主题信息作为先验知识,辅助生成回答。

(2)     提出了TA-Seq2Seq模型,该模型将主题信息融入编码器解码器结构中。

(3)     验证了TA-Seq2Seq模型的有效性。


方法

1)sequence-to-sequence 注意力模型

这是作者的baseline模型。在Seq2Seq 中,给定原文本(message)X=(x_1,x_2,…,x_T),和一个目标文本(response)Y=(y_1,y_2,…,y_T'),该模型最大化以X为条件的生成概率Y640?wx_fmt=png特别的,Seq2Seq 是一个 encoder-decoder 框架。encoder 一个单词一个单词的读入X,通过循环神经网络将它表示成一个语境向量c,然后decoder 以 c 作为输入,计算 Y 的生成概率。如下所示

640?wx_fmt=png

编码器的循环神经网络通过以下公式计算文本向量c:

640?wx_fmt=png

其中,h_t t 时间步的隐含状态。f 是一个非线性变化,要么是LSTM 单元,要么是GRU 单元。本篇文章中,作者使用了GRU 单元表示f,如下所示:

640?wx_fmt=png

decoder 是一个标准的 RNN 语言模型。每个时间步 t 时,对候选单词的概率分布 P_t 的计算公式如下:

640?wx_fmt=png


其中,s_t decoder RNN 在时间步t 的隐向量, y_(t-1) 是时间步 t-1 时生成的单词。

2)Attention 机制

标准的Seq2Seq 模型假定每个单词都是由同一个语境向量生成的。但是,实际上,Y 中不同的单词在语义上与X 中的不同部分相关。为了解决这个问题,人们就在 Seq2Seq 中加入了 attention 机制。在基于注意力的Seq2Seq 中,每个 y_i 都与一个语境向量 c_i 相关, c_i 是编码器所有隐藏向量的加权平均值。c_i 的常规定义如下:

640?wx_fmt=png

640?wx_fmt=png



其中,\eta 是激活函数,通常使用 tanh 表示。

3)TopicAware Seq2Seq 模型

这是作者提出基于上述模型改进得到的新模型,引入了输入信息X 的话题单词集K。作者的目标就是该模型能够根据输入信息X 和它的话题单词K,生成回答Y

获得话题单词

作者使用了Twitter LDA 模型从文本中得到话题单词。该模型就是假设每个message 只与一个话题相关,message 中的单词要么是背景单词,要么是话题单词。作者使用折叠的 Gibbs 采样算法估算了 Twitter LDA 的参数。之后,作者使用模型将主题 z 分配给 message X,在 z 下选择具有最高概率的前 n 个单词,并删除诸如“thank”和“you”之类的通用单词,得到message X 的主题词 K。在学习过程中,作者需要得到每个主题词的矢量表示。为此,我们首先通过等式计算主题词 w 的分布,其中 C_{wz} 是在训练中将 w 分配给主题 z 的次数。然后,我们将该分布作为主题词的向量表示。

640?wx_fmt=png

作者在实验时,使用从新浪微博得到的大规模数据训练Twitter LDA 模型。除了用于训练回答生成模型的message-response对中的数据之外,该数据还提供了话题知识。这个过程类似于人们学会在对话中做出回应的过程:他们开始意识到可以从互联网上谈论什么,特别是从社交媒体,然后使用他们学到的东西作为话题,在对话中形成他们的回答。

模型

下图是作者的 TA-Seq2Seq 模型架构图。640?wx_fmt=png

1Topic aware sequence-to-sequence 模型架构图


基于上述 attention 机制和 sequence-to-sequence 模型的基础上,在编码阶段,作者额外加入了message X 的话题单词K。使用topic encoder 编码K 中单词的embedding。在解码阶段,在时间步imessage 向量640?wx_fmt=png被转换成一个语境向量 c_i,话题单词640?wx_fmt=png  embedding 通过 topic attention 被线性结合成话题向量。公式如下:

640?wx_fmt=png

其中,s_{i-1} 是解码器中第 i-1 步的隐状态,h_T 是输入信息的最终隐状态,640?wx_fmt=png是多层感知机。与传统的 attention 相比,topic attention 利用了输入信息的最终状态来弱化与信息无关的话题对生成回答的影响,并强调了与信息相关的话题的重要性。message attention topic attention 形成了联合注意力机制,使得 c_i o_i 共同影响生成概率。共同注意力优点在于它不仅可以使生成的回答中的单词与输入 message 相关,还可以与 message 的话题相关。

作者定义生成概率640?wx_fmt=jpeg,其中, 640?wx_fmt=png 640?wx_fmt=png定义如下:

640?wx_fmt=png

其中,V是回答的词汇表,fGRU单元。640?wx_fmt=png640?wx_fmt=png 定义如下:

640?wx_fmt=png

其中,640?wx_fmt=pngtanhw 是单词 ω one-hot 指示向量,640?wx_fmt=png都是参数。用来归一化。

TA-Seq2Seq 的另一个优点就是在生成回答时,生成的第一个单词更正确。第一个单词很重要,因为它是整个句子的开头。以往的Seq2Seq 的第一个单词生成,仅仅依靠 c_0,因为当 i = 0 时,没有 s_{i-1},但是在TA-Seq2Seq中,不仅 c_0 决定了第一个单词的生成,而且 o_0(与话题信息相关)也贡献了一部分。这种方法提高了生成的第一个单词的正确性。


总结

这篇文章提出了一个Topic awaresequence-to-sequenceTA-Seq2Seq)模型,将话题信息融合到回答生成中。该模型通过联合注意机制和偏向生成概率来利用主题信息。实验证明,该模型能够生成含有有效信息的、风格多样的回答。




OpenKG


开放知识图谱(简称 OpenKG)旨在促进中文知识图谱数据的开放与互联,促进知识图谱和语义技术的普及和广泛应用。

640?wx_fmt=jpeg

点击阅读原文,进入 OpenKG 博客。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/479974.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

.halo勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复

尊敬的读者: 网络安全是当今数字时代的一大挑战,各种勒索病毒如.halo病毒层出不穷,对用户和企业的数据安全构成了严重威胁。本文将介绍.halo勒索病毒,以及如何恢复被其加密的数据文件,同时提供预防措施。在面对被勒索…

阿里P8架构师谈:多线程、架构、异步消息、Redis等性能优化策略

常见性能优化策略分类 1.代码 之所以把代码放到第一位,是因为这一点最容易引起技术人员的忽视。很多技术人员拿到一个性能优化的需求以后,言必称缓存、异步、JVM等。实际上,第一步就应该是分析相关的代码,找出相应的瓶颈&#xf…

周志华教授专著《集成学习:基础与算法》上市,豆瓣满分森林书破解AI实践难题...

近年来,机器学习技术的快速发展推动了语音、自然语言处理、机器视觉等多个领域获得巨大进步,也带动了人工智能相关产业的蓬勃发展。回顾机器学习最近30 年的发展历程,各种学习方法推陈出新、不断演进。但是,在此历程中&#xff0c…

Redis常用数据类型的数据结构

文章目录1. Redis 数据库介绍2. 列表(list)3. 字典(hash)4. 集合(set)5. 有序集合(sortedset)6. 数据结构持久化7. 总结1. Redis 数据库介绍 Redis 是一种键值( Key-Val…

论文浅尝 | 使用循环神经网络的联合事件抽取

余博涛,南京大学计算机科学与技术系,硕士研究生论文连接:http://www.aclweb.org/anthology/N16-1034发表会议:NAACL-HLT 2016摘要事件抽取(event extraction)是信息抽取中一个特别具有挑战性的问题。针对该…

阿里P8架构师谈:Web前端、应用服务器、数据库SQL等性能优化总结

web前端性能优化 Web前端指网站业务逻辑之前的部分,包括: 1.浏览器加载 2.网站视图模型 3.图片服务 4.CDN服务等 主要优化手段有优化浏览器访问,使用反向代理,CDN等。 1.浏览器访问优化 (1)减少http…

动手做个DialoGPT:生成式多轮对话模型

文 | 苏剑林编 | 兔子酱前段时间刷Arixv的时候,发现清华大学开源了一个大规模的中文闲聊语料库LCCC,从开源的文件上来看,这可能是目前开源的数量最大、质量最好的闲聊语料库了,而且还包含了部分多轮对话聊天,总的来说可…

搜索引擎背后的数据结构和算法

文章目录1. 整体系统介绍2. 搜集2.1 待爬取网页链接文件:links.bin2.2 网页判重文件:bloom_filter.bin2.3 原始网页存储文件:doc_raw.bin2.4 网页链接及其编号的对应文件:doc_id.bin3. 分析3.1 抽取网页文本信息3.2 分词并创建临时…

论文浅尝 | DKN: 面向新闻推荐的深度知识感知网络

笔记整理:仲亮靓,东南大学硕士研究生,研究方向是基于知识图谱的推荐系统动机新闻文本的语言非常凝练,其中包含了很多实体和常识知识。但目前的新闻个性化推荐方法都没有利用这些外部知识,也没有使用新闻之间潜在的知识…

聊聊工业界做机器学习的里程碑

文 | 吴海波编 | YY阅读说明,本文的机器学习领域限制于互联网搜索、推荐、广告场景,仅限于个人观点。2017年,我和团队的几个核心去了趟北京,找了各大互联网公司一线实战的同学,交流各自在机器学习上的经验。这次交流让…

直通BAT JVM必考题:Minor GC、Major GC、Full GC的区别

Java面试过程,JVM属于必考题系列: 直通BAT必考题系列:深入详解JVM内存模型与JVM参数详细配置 直通BAT必考题系列:JVM的4种垃圾回收算法、垃圾回收机制与总结 直通BAT必考题系列:7种JVM垃圾收集器特点,优…

matplotlib绘制多张图、多子图、多例图

绘制多图 关键: fig plt.figure(1) 表示新建第几个图 import matplotlib.pyplot as pltfig plt.figure(1) plt_rec_loss [1,2,3,4,5,6] plt_rec_recall [4,3,6,5,8,9] plt.xlabel("epoch") plt.ylabel("loss") plt.plot(range(len(plt_re…

jieba分词并做分析

Github:结巴分词地址 https://github.com/fxsjy/jieba 几种分词方法的简单使用:一 . jieba安装、示例 pip install jieba,jieba分词的语料是基于人民日报。分词示例1 import jieba 2 3 str1 江州市长江大桥 4 word_object jieba.cut(s…

研讨会 | CCF TF 第 17 期:认知计算产业化落地

CCF TF 技术前线只为技术专家CCFTF第17期主题 认知计算产业化落地2019年05月11日上海斯波特酒店五楼(上海市南丹路15号,徐汇区政府对面)人类迈入人工智能时代,技术的发展使得机器可以从大数据中提取信息,串联成知识&a…

短网址系统

文章目录1. 短网址服务整体介绍2. 如何通过哈希算法生成短网址?2.1 如何让短网址更短2.2 如何解决哈希冲突?2.3 如何优化哈希算法生成短网址的性能?3. 如何通过ID生成器生成短网址?3.1 相同的原始网址可能会对应不同的短网址3.2 如…

一个神经元的价值和一个神经病的坚持

作者 | 周博磊来源 | 机器之心一个神经元能够催生多少故事?香港中文大学信息工程系助理教授周博磊近日撰文介绍了他自 2015 年开始至今对神经元的研究经历。最近,他与 David Bau、朱俊彦等人合作的神经元研究论文发表在了 PNAS 杂志上。以下是周博磊的原…

直通BAT必考题系列:深入剖析JVM之G1收集器、及回收流程、与推荐用例

金三银四马上到了,即将进入面试的高峰期。在BAT面试中,JVM基本都是必考的系列。你至少需要掌握JVM内存模型与JVM参数详细配置,JVM的4种垃圾回收算法、垃圾回收机制与总结,以及今天重点谈到的JVM垃圾回收算法的实现:JVM…

多任务学习方法

最近一直在做多任务,但是效果好象没什么提升,因为都是凭自己的想法和感觉在做。于是上网查找了一些这方面的资料,寻求一些理论上的支撑和前人经验上的帮助。 多任务学习: 故名思意,就是多个任务一起学习。为什么要进行…

曹羽 | 从知识工程到知识图谱全面回顾

本文转载自公众号:集智俱乐部。文本挖掘和图形数据库 | ©ontotext导语知识工程是符号主义人工智能的典型代表,近年来越来越火的知识图谱,就是新一代的知识工程技术。知识工程将如何影响未来人工智能领域的发展,甚至让计算机拥…

4大JVM性能分析工具详解,及内存泄漏分析方案

谈到性能优化分析一般会涉及到: Java代码层面的,典型的循环嵌套等 还会涉及到Java JVM:内存泄漏溢出等 MySQL数据库优化:分库分表、慢查询、长事务的优化等 阿里P8架构师谈:MySQL慢查询优化、索引优化、以及表等优化…