人机交互文本生成综述

一、摘要

  分享一篇综述文章《==AI-Powered Text Generation for Harmonious Human-Machine Interaction: Current State and Future Directions==》

二、引入

  这篇文章是5月1号在arxiv上发表的[1],来自西北工业大学,最后一位作者Zhiwen Yu是西北工业大学的教授[2],计算机领域还有一个Zhiwen Yu,是华南理工大学的教授,他俩名字一样,一开始还搞混了,后来查了一下发现不是一个人。

  本文作为nlp语义生成的一篇综述文章,整体结构很清晰,我当前主攻的一个方向在自然语言生成【nlg】,这篇文章对我帮助很大,分享一下,以下是这篇论文的翻译,其中有一些我个人的见解,以标绿显示。

三、nlg起源

image

  文中提到,第一个自动生成的文本【natural language generation,简称nlg】可以追溯到2014年3月17日,当时《洛杉矶时报》通过提供关于地震时间、地点和强度的详细信息,报道了加州贝弗利山附近发生的小地震。[3-4]原文如下:


image

  实际上远在2014年之前,自动生成报告的技术已经很多了,比如自动邮件、自动短信,事实上我们看这个报道很明显就是通过仪器的度数拼接预定义好的模板实现的,因为没有看到自由度较高的生成文本,没有新奇的技术。但是用在新闻领域是很少见的,因为大多数新闻事件时间、地点、类型都是不确定的,类似地震新闻是一个很特殊的能够严格描述报道方式和有明确数据源的场景。类似的还有各类比赛如NBA、天气预报等。当然随着技术不知道怎么的发展,其它都有办法克服,比如今后记者拍两张照片就能自动生成报道之类的。不过即便这样,事实上数据源的问题暂时还是离不开人类的,因为数据源含有人的意志和判断,即什么可以称为新闻,但具体的新闻描述却是一个技巧性的内容。

  其实在前面对机器学习能力边界研究的过程中我也发觉技巧和意图对计算机来说是两码事,计算机当前还没有意图,事实上当前所有算法都还是死的,所有的应用场景确定和算法迁移都需要人来实现。这意味着我们虽然拿到一些高大上的任务,但我们实际解决的却往往是场景很受限的一些问题。nlg领域更是如此,我们主要考虑方法。

四、nlg经典模型

【RNN模型】

  RNN的本质是对序列进行分类,而且理论上有无限大的序列识别能力。

  但和所有分类性任务一样,分类目标不能太多太复杂,否则难以对输出建模。所以rnn可以用来对语段提取关键词,或者判断情感倾向等等功能。

【seq2seq模型】

  seq2seq是2014年提出的[5],这个模型认为RNN虽然有很好的单分类能力,但缺乏很好的输出建模,但是如果我们假定所有输出都已经被表示出来了,比如是一个超大多维空间的向量,那么我们是否能够把实际表示的语义从向量中提取出来呢?

  实际上我们看到seq2seq的典型实现如上图,所有的表示能力其实都被压缩在了C中,虽然在语言翻译领域大放异彩,但对于长语段来说还是不够,主要原因在于描述C的向量空间还是不够大,比如经典实现中C的维度一般在100-200维,再大的话没法训练了。实际上深度学习的问题也在这里,你很难说清楚使用200维比使用100维好多少,最多做做实验测测,但是对于每个向量的单个维度都是无法解释的。有很多变化模型是对C的扩充,我个人觉得可以朝着对C的可解释性上做文章。

【增强学习模型】


image

  gan本身就是一个生成器【6】,但其本身并不支持文本等离散数据,所以有人对gan进行了调整使之满足文本生成的要求。

  文献[7]利用GAN中的鉴别器作为强化学习的奖励源,在判别器更新之前,生成器根据当前判别器的返回值不断优化自身,直到生成器生成的文本完全为真。利用奖励机制和政策梯度技术进行强化学习,巧妙地避免了GAN面对离散数据时梯度不能反向传播的问题。在用强化学习方法训练生成器的区间内,用原GAN方法训练判别器。

  文献[8]使用LSTM作为生成器,CNN作为识别器来实现文本生成任务。利用光滑逼近的思想对LSTM的输出进行逼近,解决了离散数据引起的梯度诱导问题。

五、问答和聊天系统

【问答系统】

  问答系统是一种end2end的方式,可以使用问题和答案进行直接的系统训练

  Wen等利用模块化神经生成模型构建了面向任务的对话系统。利用神经网络实现了各个模块的过程,实现了餐厅预订的具体任务[9]。

  Bordes等人利用神经生成模型将对话过程视为用户输入内容与模型回复内容之间的映射,并利用编解码器结构训练映射关系[10]。

  为了解决依赖外部知识库的问题在面向任务的对话系统中,Eric等人提出了端到端键值在检索网络,这是配备一种引起键值在条目知识库的检索机制,并可能从知识库中提取相关信息[11]。

【聊天系统】

  聊天比问答系统多了一个上下文语境的概念,Yan等[12]使用RNN将对话语句直接编码为一个整体序列,得到上下文的语义表示向量,在解码阶段作为附加输入。

  上下文很长的话,还可以使用多层网络提取上下文的信息。第一级是句级模型,对单个句子的语义信息进行编码,第二级是跨句级模型,利用第一层的输出作为输入,集成所有上下文信息。Tian等人对三种不同的跨句方法进行了实验,得出多层上下文信息提取模型的性能优于单层模型的结论[13]。

  除了上下文特征提取,也可以使用已有的主题模型对上下文进行直接的主题建模。[14]

  如果对对话质量设定了明确的考量目标的话,可以使用gan来训练模型参数[15-16]。

六、个性化生成

【个性化对话系统】

  对用户的个性化特征建模:

  Li等人首次对用户的个性化特征进行建模,并提出了基于角色的模型。采用相似的字嵌入方法将不同的用户嵌入到隐藏向量空间中。使用用户嵌入向量调整对话代理的对话风格和内容[17]。

  Kottur等人对之前的模型进行了扩展,并对用户特征进行了向量嵌入。该模型结合层次递归编解码器结构,能够更好地捕捉上下文相关信息,并考虑用户个性化特征,生成更高质量的对话内容[18]。

使用非对话的用户特征补充对话效果:

  Luan等人将多任务学习机制应用于个性化回复生成。首先利用少量的个性化对话数据训练应答生成模型,然后利用非会话数据训练自动编码器模型,通过多任务学习机制共享两种模型的参数,得到个性化应答生成模型[19]。

  Mo等[20]和Yang等[21]利用了迁移学习的思想。首先,他们训练了大量的一般对话数据来生成一个一般的回复模型,然后使用少量的个性化对话数据对模型进行微调,进行迁移学习,这样在生成回复时可以考虑用户的个性化信息。

考虑用户特征对回复内容的不同影响:

  Qian等人在回复生成过程中运用了监督机制来判断何时表达合适的用户头像[22]。

  Liu等人构建了一个双分支神经网络,从用户对话中自动学习用户配置文件,然后利用深度神经网络进一步学习用户查询、回复和用户配置文件的融合表示,从而从用户的角度实现对话过程[23]。

面向任务的对话系统:

  Joshi等人发布了面向任务的对话系统数据集,其中每个对话都包含用户的个性化信息,为后续研究提供数据支持[24]。

  Luo等人利用RNN记忆网络的一种变体实现了面向任务的个性化对话系统。使用Profile模型对用户的个性化信息进行编码,使用Preference模型解决同一查询在面对不同用户时的歧义问题。同时,存储了相似用户的对话历史记录。提取回复内容时,结合相似的用户对话历史和用户个性化特征信息,生成针对不同用户的个性化回复内容[25]。

【个性化评论系统】

  Tintarev等人的研究结果表明,用户在描述自己喜欢的电影时,会提到不同的电影特征,而对于用户来说,简短、个性化的论据更有说服力。因此,个性化的用户评论生成有助于更好地推荐产品[26]。

  Radford等人的证明了情绪单位对模型生成过程的直接影响[27]。

  Lipton等人构建了一个提供用户/项目组合的系统,以生成用户在评审产品时会写的评论。他们设计了一个字符级的RNN来生成个性化的产品评论,该模型利用来自beer艾德沃卡网站的大量评论[29]。

  Costa等人的模型能够生成接近真实用户书面评论的句子,并能够识别拼写错误和特定领域的单词[28]。

  Zang等提出了一种深度神经网络模型,从代表用户意见的情感评分中生成中文评论。提出了一种具有注意一致性的分层译码器[30]。

  Dong等人提出了一种注意力增强的属性到序列模型,用于为给定的属性信息(如用户、产品和评级)生成产品评论。属性编码器学会了将输入属性表示为向量。然后,序列解码器通过调整这些向量的输出来生成注释。他们还引入了一种注意机制来联合注释并将单词与输入属性对齐[31]。

  Sharma等人使用了类似于[31]的模型,并添加了损失项来生成更符合规范的注释[32]。

  niet等人设计了一个review generation model,该模型可以利用用户和项目信息以及辅助文本输入和方面感知知识。在模型的编码阶段,有三个编码器(序列编码器、属性编码器和方面编码器)进行信息集成。解码器对编码信息的处理使GRU模型偏向于生成最接近输入的短语和语句[33]。

  Wang等人提出了一个新的基于惩罚的目标,该目标采用了一种更理性的方法来最小化总体惩罚,而不是最大化奖励。实验和理论表明,基于惩罚,它可以迫使每个生成器生成多个特定情感标签的文本,而不是生成重复但“安全”和“好的”例子[34]。

七、模型评价

【词重叠性评价】

BLEU (bilingual evaluation understudy):

  BLEU是一种比较模型输出和参考输出的n-gram,并计算匹配片段数的方法。要计算这个指标,您需要使用机器翻译的文本(称为候选文档)和一些由专业翻译人员翻译的文本(称为参考文档)。从本质上讲,BLEU是用来衡量机器翻译文本和参考文本之间的相似程度。它的值在0到1之间,值越接近1,机器翻译的结果就越好。

  BLEU采用N -gram匹配规则,计算比较翻译和参考翻译之间相似的N组词的比例。BLEU算法可以快速给出相对有价值的评价分数。

ROUGE (Recall-Oriented Understudy for Gisting Evaluation):

  ROUGE基于n-gram的共现信息对摘要进行评价,是一种面向n-gram单词召回率的评价方法。它的基本思想是由多个专家分别生成一组抽象的标准摘要,然后将自动生成的系统抽象与人工生成的标准摘要进行比较。通过计算两种抽象之间重叠的基本单位(n-gram、单词序列和单词对)的数量来评估摘要的质量。通过对多专家手册摘要的比较,提高了系统的稳定性和鲁棒性。该方法已成为抽象评价技术的一般方法之一。

【词向量评价】

贪婪匹配:

  贪婪匹配方法是一种基于词的等级的矩阵匹配方法。贪心匹配首次在智能导航系统中提出,后续研究发现,该方法的最优解往往是中心词与参考答案语义相似性较大的结果。

嵌入平均:

  嵌入平均是通过句子中的词向量计算句子特征向量的一种方法。一个句子的向量是通过对句子中每个单词的向量求平均值来计算的。这种方法已经在对话系统之外的许多NLP领域得到了应用,比如计算文本的相似度。在比较两句话时,分别计算嵌入平均,然后将两句话的余弦相似度作为评价相似度的指标。

八、文本生成面临的问题

【数据不足】

  与计算机视觉和机器翻译不同的是,文本生成领域缺乏高质量的数据,难以手工标注数据。

  这块处理有两种思路,一种是生成训练生成,另一种是利用其它信息源。生成训练生成面临的问题是怎么给对话赋予目的,以及单目的下如何实现多形式的对话,还有对话本身的特点。其它信息源就是比如用户个人的信息、或者对话主题的信息等。

【超长上下文】

  人机对话是文本生成研究的一个热点。虽然目前的聊天机器人可以初步理解上下文,但超长文本的理解仍然存在困难。如何在整个对话过程中有效地捕捉文本中的语义信息,保证语言和逻辑的一致性,是未来的一个热门话题。

  超长上下文主要是对seq2seq模型本身读入和输出的影响,seq2seq主要编码的是序列问题,上下文太长的话序列就很难编码。解决的方法一般都是对上下文进行一些处理,比如facebook的memNN之类的。

【Co-textual 信息】

  现有的研究大多只关注文本内容,忽略了文本信息的共文性。然而,在现实中,自然语言通常是在特定的环境中产生的,如时间、地点、情感或情感。因此,只有考虑这些共文信息,才能在特定的语境中生成语法正确、语义合理、合理的文本内容。

  共文信息等同于数据不足的补数据。

【评价指标】

  文本生成领域缺乏统一的评价指标体系,最好的评价方法是人工判断。高质量评价指标是人工智能领域研究的关键。只有通过合理统一的评价指标,研究人员才能知道自己的研究工作是否合理。这是未来研究的一个重大空白。

  如何量化好的对话和坏的对话,人类判断文章质量都是需要学习的,而且比如高考作文都需要好几个老师一起阅卷,否则就可能有偏颇。模型一般都是衡量的客观内容,但对于文本生成却需要衡量主观内容。

【个性化文本生成】

  个性化文本生成的研究越来越受到人们的关注。现有的研究大多是基于用户个性化档案的编码。如何有效地获取个性化档案与文本内容之间的关系是未来研究的重点。另一个问题是缺乏个性化数据对模型培训的影响。

九、参考文献

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
[1] Zhang, Qiuyun et al. 2019. “AI-Powered Text Generation for Harmonious Human-Machine Interaction: Current State and Future Directions.” arXiv:1905.01984 [cs]. http://arxiv.org/abs/1905.01984 (May 7, 2019).
[2] Zhiwen Yu,个人博客,http://www.ccm.media.kyoto-u.ac.jp/~yu/publication.htm
[3] Oremus, W. (2014). The first news report on the LA earthquake was written by a robot. Slate. In. https://slate.com/technology/2014/03/quakebot-los-angeles-times-robot-journalist-writes-article-on-la-earthquake.html
[4] 别惊讶!机器人才是洛杉矶地震首篇新闻报道作者,http://tech.qq.com/a/20140319/010344.htm
[5] Cho, Kyunghyun et al. 2014. “Learning Phrase Representations Using RNN Encoder-Decoder for Statistical Machine Translation.” arXiv:1406.1078 [cs, stat]. http://arxiv.org/abs/1406.1078 (April 24, 2019).
[6] Goodfellow, I. J., Pouget-Abadie, J., Mirza, M., Xu, B., Warde-Farley, D., Ozair, S., … Bengio, Y. (2014). Generative Adversarial Networks. ArXiv:1406.2661 [Cs, Stat]. Retrieved from http://arxiv.org/abs/1406.2661
[7] Yu, L., Zhang, W., Wang, J., and Yu, Y. (2017). Seqgan: Sequence generative adversarial nets with policy gradient. In Thirty-First AAAI Conference on Artificial Intelligence.
[8] Zhang, Y., Gan, Z., and Carin, L. (2016). Generating text via adversarial training. In NIPS workshop on Adversarial Training.
[9] Wen, T.-H., Vandyke, D., Mrksic, N., Gasic, M., Rojas-Barahona, L. M., Su, P.-H., et al. (2016). A network-based end-to-end trainable task-oriented dialogue system. arXiv preprint arXiv:1604.04562.
[10] Bordes, A., Boureau, Y.-L., and Weston, J. (2016). Learning end-to-end goal-oriented dialog. arXiv preprint arXiv:1605.07683.
[11] Eric, M., and Manning, C. D. (2017). Key-value retrieval networks for task-oriented dialogue. arXiv preprint arXiv:1705.05414.
[12] Yan, R., Song, Y., and Wu, H. (2016). Learning to respond with deep neural networks for retrieval-based human-computer conversation system. In Proceedings of the 39th International ACM SIGIR conference on Research and Development in Information Retrieval.
[13] Tian, Z., Yan, R., Mou, L., Song, Y., Feng, Y., and Zhao, D. (2017). How to make context more useful? an empirical study on context-aware neural conversational models. In Proceedings of the 55th Annual Meeting of the Association for Computational Linguistics (Volume 2: Short Papers).
[14] Xing, C., Wu, W., Wu, Y., Liu, J., Huang, Y., Zhou, M., et al. (2017). Topic aware neural response generation. In Thirty-First AAAI Conference on Artificial Intelligence.
[15] Li, J., Monroe, W., Ritter, A., Galley, M., Gao, J., and Jurafsky, D. (2016). Deep reinforcement learning for dialogue generation. arXiv preprint arXiv:1606.01541.
[16] Li, J., Monroe, W., Shi, T., Jean, S., Ritter, A., and Jurafsky, D. (2017). Adversarial learning for neural dialogue generation. arXiv preprint arXiv:1701.06547.
[17] Li, J., Galley, M., Brockett, C., Spithourakis, G. P., Gao, J., and Dolan, B. (2016). A persona-based neural conversation model. arXiv preprint arXiv:1603.06155.
[18] Kottur, S., Wang, X., and Carvalho, V. (2017). Exploring Personalized Neural Conversational Models. In IJCAI.
[19] Luan, Y., Brockett, C., Dolan, B., Gao, J., and Galley, M. (2017). Multi-task learning for speaker-role adaptation in neural conversation models. arXiv preprint arXiv:1710.07388.
[20] Mo, K., Zhang, Y., Li, S., Li, J., and Yang, Q. (2018). Personalizing a dialogue system with transfer reinforcement learning. In Thirty-Second AAAI Conference on Artificial Intelligence.
[21] Yang, M., Zhao, Z., Zhao, W., Chen, X., Zhu, J., Zhou, L., et al. (2017). Personalized response generation via domain adaptation. In Proceedings of the 40th International ACM SIGIR Conference on Research and Development in Information Retrieval.
[22] Qian, Q., Huang, M., Zhao, H., Xu, J., and Zhu, X. (2018). Assigning Personality/Profile to a Chatting Machine for Coherent Conversation Generation. In IJCAI.
[23] Liu, B., Xu, Z., Sun, C., Wang, B., Wang, X., Wong, D. F., et al. (2018). Content-Oriented User Modeling for Personalized Response Ranking in Chatbots. IEEE/ACM Transactions on Audio, Speech and Language Processing (TASLP), 26(1), 122-133.
[24] Joshi, C. K., Mi, F., and Faltings, B. (2017). Personalization in goal-oriented dialog. arXiv preprint arXiv:1706.07503.
[25] Luo, L., Huang, W., Zeng, Q., Nie, Z., and Sun, X. (2018). Learning personalized end-to-end goal-oriented dialog. arXiv preprint arXiv:1811.04604.
[26] Tintarev, N., and Masthoff, J. (2007). Effective explanations of recommendations: user-centered design. In Proceedings of the 2007 ACM conference on Recommender systems.
[27] Radford, A., Jozefowicz, R., and Sutskever, I. (2017). Learning to generate reviews and discovering sentiment. arXiv preprint arXiv:1704.01444.
[28] Costa, F., Ouyang, S., Dolog, P., and Lawlor, A. (2018). Automatic generation of natural language explanations. In Proceedings of the 23rd International Conference on Intelligent User Interfaces Companion.
[29] Lipton, Z. C., Vikram, S., and McAuley, J. (2015). Generative concatenative nets jointly learn to write and classify reviews. arXiv preprint arXiv:1511.03683.
[30] Zang, H., and Wan, X. (2017). Towards automatic generation of product reviews from aspect-sentiment scores. In Proceedings of the 10th International Conference on Natural Language Generation.
[31] Dong, L., Huang, S., Wei, F., Lapata, M., Zhou, M., and Xu, K. (2017). Learning to generate product reviews from attributes. In Proceedings of the 15th Conference of the European Chapter of the Association for Computational Linguistics: Volume 1, Long Papers.
[32] Sharma, V., Sharma, H., Bishnu, A., and Patel, L. (2018). Cyclegen: Cyclic consistency based product review generator from attributes. InProceedings of the 11th International Conference on NaturalLanguage Generation.
[33] Ni, J., and McAuley, J. (2018). Personalized Review Generation by Expanding Phrases and Attending on Aspect-Aware Representations. In Proceedings of the 56th Annual Meeting of the Association forComputational Linguistics (Volume 2: Short Papers).
[34] Wang, K., and Wan, X. (2018). SentiGAN: Generating Sentimental Texts