收藏 分享(赏)

基于rnn句子编码器的聊天机器人.doc

上传人:无敌 文档编号:146771 上传时间:2018-03-22 格式:DOC 页数:9 大小:105.50KB
下载 相关 举报
基于rnn句子编码器的聊天机器人.doc_第1页
第1页 / 共9页
基于rnn句子编码器的聊天机器人.doc_第2页
第2页 / 共9页
基于rnn句子编码器的聊天机器人.doc_第3页
第3页 / 共9页
基于rnn句子编码器的聊天机器人.doc_第4页
第4页 / 共9页
基于rnn句子编码器的聊天机器人.doc_第5页
第5页 / 共9页
点击查看更多>>
资源描述

1、基于 RNN 句子编码器的聊天机器人 朱晶晶 韩立新 河海大学计算机与信息学院 摘 要: 人机对话是自然语言处理领域衍生的一项现实应用场景, 根据现实获取的大量短文本知识数据, 构建单轮短对话式智能应答聊天机器人。本文基于传统的信息检索式聊天机器人, 引入循环神经网络 (RNN) 深度表征交互式知识库中短文本的语义向量, 重构表达式语义空间。实验表明该编码向量的方法比传统的利用 TF-IDF 向量的方法效果更好。关键词: 聊天机器人; RNN 句子编码器; TF-IDF; 作者简介:朱晶晶 (1993-) , 男, 安徽马鞍山人, 河海大学计算机与信息学院硕士研究生, 研究方向:机器学习, 自

2、然语言处理;作者简介:韩立新 (1967-) , 男, 江苏南京人, 研究员, 博士生导师, 博士, 研究方向:信息检索, 模式识别, 数据挖掘。收稿日期:2017-05-22Chatterbots Based on RNN Sentence Auto-encoderZHU Jing-jing HAN Li-xin College of Computer and Information, Hohai University; Abstract: Man-machine dialogue is a realistic application scenario which derived from

3、the field of natural language processing.Based on the large amount of short text knowledge obtained from reality, the man-made short dialogue intelligent response chatterbot is constructed. Based on the traditional information retrieval typed chatterbot, the Recurrent Neural Network ( RNN) is introd

4、uced to characterize the semantic vector of short text in the interactive knowledge base and reconstructs the expression semantic space. Experiments show that the effect of the method of using the coding vector is improved compared with the traditional method of using TF-IDF vector.Keyword: chatterb

5、ot; RNN sentence auto-encoder; TF-IDF; Received: 2017-05-220 引言近些年人工智能的研究非常热门, 聊天机器人作为人工智能的一个重要研究课题, 得到工业界和学术界的广泛关注1-2。目前很多大公司都有自己的聊天机器人产品, 如百度的小度、微软的小冰、苹果的 Sir 等。当下学术界对于聊天机器人的研究主要产生了 2 个模型:基于检索的模型 (检索模型) 和基于生成的模型 (生成模型) 。检索模型比较简单, 其效果主要依赖于知识库、检索技术和排序特征的提取。生成模型依赖大量的训练数据, 但其对自然语言的语义特征表示能力是很强大的。Ji 等3利

6、用传统 IT-IDF 检索技术构建聊天机器人。Cho 等4使用 RNN 短语编码器表示短语语义向量。本文结合了检索模型和生成模型的双重优势, 结构化统一端对端的句子语义向量训练方式, 基于 RNN 的句子编码器构建短对话式聊天机器人。相比传统的 TF-IDF 方法, 利用该编码器对句子进行深度语义编码能够更好地表示句子语义从而提升检索效果。在此基础上, 基于此编码器提取了新的特征用于回答排序训练。实验表明基于 RNN 句子编码器的聊天机器人优于传统方法。1 相关工作1.1 基于检索的聊天机器人模型基于检索的聊天机器人模型使用了一个预定义的知识库, 制定一系列结构化策略和模型规则5-7。Ji 等

7、3利用微博上的大量短对话数据作为知识库设计了一个基于检索的聊天机器人。主要采用传统的 TF-IDF 技术到知识库中检索候选回答, 然后对候选回答提取多个特征, 训练针对性排序模型对候选回答进行排序, 把排在第一个的回答作为最终回答。Yan 等8利用了非结构化的文档作为知识库, 采用了 BM25 检索技术, 提取不同的特征来训练排序模型。这类检索模型的聊天机器人, 无法重构回答结果, 知识库检索依赖经验知识, 并不会生成新的文本。对于遇到过的问题, 结果是比较好的, 但是对于没有遇到过的问题, 则无法给出很好的结果, 其给出的所有回答都是已经存在的, 比较依赖于检索技术和知识库。1.2 基于生成

8、的聊天机器人模型基于生成的聊天机器人模型不需要一个预定义的知识库, 它的回答都是新生成的9-13, 通常是基于机器翻译技术来做的。Ritter 等10使用了大量微博聊天数据并利用统计机器翻译的技术, 把问题 (相当于翻译的源语言) 翻译成答案 (相当于翻译的目标语言) 。Vinyals 等11采用了神经网络的机器翻译来做聊天机器人。Shang 等12同样使用了大量微博聊天数据, 采用了一个Sequence-to-Sequence 框架的 RNN 网络, 构造了一个 NRM (Neural Responding Machine) 。Serban 等13采用了一个分层网络来生成聊天机器人。这类模型

9、的聊天机器人, 可以生成任意问题的回答, 但是其回答往往语句不通, 不够自然, 而且其模型的训练需要大量的问答对数据。2 基于 RNN 句子编码器语义向量2.1 RNN 句子编码器结构Hinton 等14设计了自动编码器 (Auto-encoder) , Cho 等4提出一种新的对RNN 改进的网络 GRU 网络。基于上述工作, 本文设计了一个 RNN 句子编码器 (Recurrent Neutral Network Sentence Auto-Encoder, RNN-SAE) 。RNN-SAE采用了 2 个单隐层的 GRU 网络, 本文选择 GRU 网络构造 RNN 句子编码器, 是因为在

10、很多论文中都已证实 RNN Encoder-decoder 框架是很有用的。所谓Encoder 就是将输入的 Sequence 编码成一个固定长度的向量。Decoder 是根据Vector (即 Encoder 最后输出的向量) 生成一个 Token 序列, 作为输出的Sequence, 这里的输出 Sequence 和输入 Sequence 是一样的。虽然 RNN 在这种Sequence-toSequence 的任务中表现很好, 但是当 Sequence 的长度过长时, 则会出现梯度消失的问题。为了解决这一问题, Sepp 等15设计了一种增加 RNN记忆功能的 LSTM (Long Sho

11、rt-term Memory) 网络。该网络虽然比较好地解决了基本 RNN 网络的梯度消失问题, 但是网络的参数增加了, 网络变得复杂了。Cho 等4改变了 LSTM 网络的结构, 产生了一个变种的 LSTM 网络, 即 GRU 网络, GRU 网络保留了 LSTM 网络解决梯度消失问题的优点, 但是其参数比 LSTM 网络少了很多。句子表示为 X, 编码向量表示为 C, RNN-SAE 可以表示成:这种基于 Encoder-decoder 的编码器网络框架在很多论文中都有使用, 但他们论文中用来训练此网络的数据都是标注好的数据。例如 Cho 等4的翻译系统中用来训练此网络的数据都是一种语言到

12、另一种语言的映射对。Vinyals 等11的基于生成的聊天机器人中用来训练的数据是问题和答案的映射对, 这种大量标注的数据不太容易获取。因此本文结合了自动编码器的思想, 一致性输入输出, 这样用于训练的数据是很容易获得的。2.2 RNN-SAE 语义向量对于训练好的 RNN-SAE, 只需将句子 X 输入 Encoder 网络, 即可获得 X 的语义向量 C。此向量是句子语义的深度性编码。Encoder 网络的结构如下:对于一句话 , 在 Encoder 网络第 t 步中 xt进入隐层单元, 首先进入重置门 rt, 其中 是 sigmoid 函数, W r是重置门的权重矩阵, h t-1, x

13、t表示把上一个隐层的输出向量和本层的输入向量联合在一起构成新的输入向量。重置门的计算公式如下:接着进入更新门 zt, Wz是更新门的权重矩阵, 更新门的计算公式如下:最后隐层 ht的输出的计算公式如下:ht的计算公式如下:其中, tanh 是双曲正切函数, W 为权重矩阵。在第 T 步得到的 ht即为句子的编码语义向量 C。3 基于 RNN-SAE 的聊天机器人基于 RNN-SAE 检索的聊天机器人主要包括 2 个模型:回答检索模型和回答排 CP序模型。3.1 基于语义向量的回答检索模型回答检索模型是为问题 Q 在知识库中检索出可能的回答。基于语义向量的回答检索模型是从语义上匹配问题 Q 在知

14、识库中可能的回答。知识库通过 RNN-SAE进行编码, 构造一个语义空间, 语义空间中的每个点表示一个句子的语义。问题 Q 通过 RNN-SAE 进行编码后, 成为该语义空间中的一个点。知识库 D 中的每一个问题 P 都有一个语义向量, 即语义空间中的一个点。在知识库 D 中检索与问题 Q 语义最相似的问题 P, 就转化成在知识库 D 的语义空间中找到与问题 Q语义点最相似的那个语义点问题 P, 把问题 P 的所有回答作为问题 Q 的候选回答集 C。CQ和 CP表示 Q, P 通过 RNN-SAE 编码的语义向量, C Q表示 CQ的转置。基于 RNN-SAE 编码的语义向量的检索模型是对语义

15、的检索, 可以深度匹配问题 Q 和问题P 的语义相似性, 提升了检索的效果。3.2 基于语义向量的回答排序模型对回答检索模型检索出的结果候选回答集进行排序, 选择排在第一位的回答作为最终回答 R。其中, i (Q, (P, R) ) 表示第 i 个用于排序的特征, W i表示相应特征的权重。基于语义向量提取了 Q 和 R 的语义相似性作为回答排序模型的特征, 把 Q, R 分别经过 RNN-SAE 进行编码得到语义向量 CQ和 CR, 计算 Q 和 R 的语义相似性:虽然并没有确切的理论证明问题和回答的语义相似性对回答适合问题有直接的影响, 但是可以认为如果问题和回答的语义相似, 那么回答适合

16、这个问题的可能性比较大, 这是符合常理的, 所以提取了 Q-R 语义相似性这一特征。本文使用学习排序方法来训练一个排序模型3, 使用已经标注好的 (Q, R) 对提取上述语义相似性的特征来作为训练数据。在这些标注的数据集 (Q, (P, R) , (P, R) ) 中, 满足条件:其中, (P, R) 是 R 适合 P 的正例, (P, R) 是负例。3.3 相关工作比较本文把 RNN-SAE 方法加入基于检索模型的聊天机器人, 相对于传统的基于检索模型 TF-IDF 方法3,8的聊天机器人, RNN-SAE 方法可以深度性生成编码句子的语义向量, 从而可以深层匹配到问题 Q 和问题 P 的语

17、义相似性, 这一点是TF-IDF 方法无法做到的。由于是语义的深度性表示, 因此也解决了 TF-IDF 方法中存在的实体不一致和逻辑不一致的问题。相对于基于生成模型的聊天机器人9-13, 本文的方法拥有基于检索模型的优点, 回答更加的流畅自然。4 实验4.1 实验描述实验工具使用的是 Tensor Flow 和清华大学的分词工具, 训练 RNN 句子编码器, 用于训练的数据集总共有 656120 句话, 共有 277742 个词, 笔者选取了词频排在前 49999 位的词, 这 49999 个词可以覆盖整个数据集的 96.7%的词, 剩下的没有覆盖的词用”UNK”来表示, 用这 50000 个

18、词构成一个 50000 维的 one-hot词向量, 每个句子被编码成 1000 维的向量, 即隐层采用 1000 个神经元, 使用SGD 来训练基于 RNN 的句子编码器。学习排序模型是使用已标注的 422 个问题, 总共 12402 个 (Q, R) 对, 采用 5-折交叉验证来训练。4.2 实验结果本文把 RNN-SAE 方法加入基于检索模型的聊天机器人, 对于传统的基于检索模型 TF-IDF 方法3,5的聊天机器人存在的实体不一致和逻辑不一致的问题, 本文的 RNN-SAE 方法通过对句子语义的深度编码来解决, 这比 TF-IDF3方法仅依赖于共现词的方法更好地捕捉了句子的语义, 因此

19、解决了这 2 个问题。表 1展示了基于 TF-IDF 方法与基于 RNN-SAE 方法的聊天机器人回答结果, 其结果表明了解决基于 TF-IDF 方法聊天机器人实体不一致和逻辑不一致问题的重要性, 基于 RNN-SAE 方法更好地利用语义信息来提升聊天机器人回答质量。表 1 2 个回答例子 下载原表 基于检索的聊天机器人采用了常用的综合评估方法:平均正确率均值 (MAP) 和第一个的正确率 (P1) 3。从聊天机器人回答质量的角度出发, 本文构建 3组对比模型 (表 2) 。基本模型是基于 TF-IDF3方法的聊天机器人, 高级模型是基于 RNN-SAE 方法的聊天机器人, 混合模型是基于 (

20、RNN-SAE+TF-IDF) 组合方法的聊天机器人。表 2 不同模型的 MAP 和 P1 比较 下载原表 实验结果 (表 2) 充分表明, 基于 RNN-SAE 方法可以综合性提升聊天机器人回答质量。实验的 3 组模型中, 基本模型的特性是采用关键词表示语义, 回答和问题中的相同关键词越多, 回答和问题匹配的可能性越大。高级模型对人的问题和知识库中的问题进行深度性语义匹配, 从而使得回答检索的效果更好。混合模型结合了基本模型和高级模型在回答检索和回答排序中的优点。本文提出的 RNN-SAE 方法分别作用于回答检索和回答排序, 充分利用深度性语义, 立足于语义表示结构的优势, 从而使得聊天回答

21、结果的效果更好。在高级与混合模型中, RNN-SAE 方法独立或组合性存在于基于检索的聊天机器人中, 评价结果中的多角度综合评价指标凸显了 RNN-SAE 方法在聊天机器人中回答排序和回答检索的主要作用。5 结束语RNN 句子编码器对句子进行深度性语义编码, 使得相似语义的句子可以更好地匹配, 从而使得基于检索的聊天机器人的效果有所提升。但是本文的 RNN 句子编码器如果使用更大的数据集去训练, 其效果应该会更好, 更能体现句子的语义。如果每个词有更好的低维向量表示, 整个模型的训练速度也会提高很多。当知识库越大, 聊天机器人的效果也会越好。未来的研究可以结合基于生成的方法, 在基于检索的结果

22、中进行修改以生成更合理的回答。聊天机器人还需要进一步的研究, 其研究结果是非常有价值的16-17。参考文献1刘挺.人机对话浪潮:语言助手、聊天机器人、机器伴侣J.中国计算机学会通讯, 2015, 11 (10) :55-56. 2张伟男, 刘挺.聊天机器人技术研究进展J.中国人工智能学会通讯, 2016, 6 (1) :17-21. 3Ji Zongcheng, Lu Zhengdong, Li Hang.An information retrieval approach to short text conversationJ.Computer Science, 2014, ar Xiv:14

23、08.6988. 4Cho K, Van Merri3nboer B, Gulcehre C, et al.Learning phrase representations using RNN encoder-decoder for statistical machine translationC/Empirical Methods in Natural Language Processing.2014:1724-1734. 5姚飞, 纪磊, 张成昱, 等.实时虚拟参考咨询服务新尝试清华大学图书馆智能聊天机器人J.现代图书情报技术, 2011, 27 (4) :77-81. 6宁长英.智能聊天机

24、器人的关键技术研究D.杭州:杭州电子科技大学, 2011. 7Thomas N T.An e-business chatbot using AIML and LSAC/International Conference on Advances in Computing, Communications and Informatics.2016:2740-2742. 8Yan Zhao, Duan Nan, Bao Junwei, et al.Doc Chat:An information retrieval approach for chatbot engines using unstructur

25、ed documentsC/Proceedings of the 54th Annual Meeting of the Association for Computational Linguistics.2016:516-525. 9Xu Anbang, Liu Zhe, Guo Yufan, et al.A new Chatbot for customer service on social mediaC/Proceedings of the 2017 CHI Conference on Human Factors in Computing Systems.2017:3506-3510. 1

26、0Ritter A, Cherry C, Dolan W B.Data-driven response generation in social mediaC/Conference on Empirical Methods in Natural Language Processing.2011:583-593. 11Vinyals O, Le Q.A neural conversational modelC/Proceedings of the 31st International Conference on Machine Learning.2015:370-377. 12Shang Lif

27、eng, Lu Zhengdong, Li Hang.Neural responding machine for short-text conversationC/Proceedings of the 53rd Annual Meeting of the Association for Computational Linguistics and the 7th International Joint Conference on Natural Language Processing.2015:1577-1586. 13Serban I V, Sordoni A, Bengio Y, et al

28、.Building end-toend dialogue systems using generative hierarchical neural network modelsC/Proceedings of the 30th AAAI Conference on Artificial Intelligence (AAAI16) .2016:3776-3783. 14Hinton G, Krizhevsky A, Wang S.Transforming auto-encodersC/Artificial Neural Networks and Machine Learning (ICANN)

29、.2011:44-51. 15Sepp Hochreiter, Jrgen Schmidhuber.Long short-term memoryJ.Neural Computation, 1997, 9 (8) :1735-1780. 16Dale R.The return of the chatbotsJ.Natural Language Engineering, 2016, 22 (5) :811-817. 17Zamora J.Rise of the Chatbots:Finding a place for artificial intelligence in India and USC/Proceedings of the22nd International Conference on Intelligent User Interfaces Companion.2017:109-112.

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 学术论文 > 期刊/会议论文

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报