1、seq2seq+attention+beamsearch
端到端方法构建对话模型,引入 attention 机制,采用 beam search 进行搜索输出。可以通过代码解读,学习 tensorflow 的接口调用,针对闲聊数据的生成效果一般,主要存在安全回复,语义流畅性等问题。
模型解读:
呜呜哈:深度学习对话系统实战篇 -- 简单 chatbot 代码实现
代码:
2、Auto-Encoder Matching Model
为了解决在对话生成过程中的语义连贯性问题,提出了一种自动编码器匹配模型,其中包含两个自动编码器和一个映射模块。
论文:《An Auto-Encoder Matching Model for Learning Utterance-Level Semantic Dependency in Dialogue Generation》
论文链接:
模型解读:
super 涵:AEM Model for For Dialogue Generation 论文笔记
代码:
3、seqGAN
用对抗网络实现了离散序列数据的生成模型。解决了对抗生成网络难应用于 nlp 领域的问题,并且在文本生成任务上有优异表现。
论文:《Sequence Generative Adversarial Nets with Policy Gradient》
论文链接:
SeqGAN: Sequence Generative Adversarial Nets with Policy Gradient
模型解读:
小打小闹:《SeqGAN: Sequence Generative Adversarial Nets with Policy Gradient》论文笔记
代码:
4、GAN-AEL
论文:《Neural Response Generation via GAN with an Approximate Embedding Layer》
论文链接:
http://www.aclweb.org/anthology/D/D17/D17-1065.pdf
模型解读:
dcsyf:《Neural Response Generation via GAN with an APProximate Embedding Layer》阅读笔记
代码:
5、learning to ask
论文:《Learning to Ask Questions in Open-domain Conversational Systems with Typed Decoders》
论文链接:
Learning to Ask Questions in Open-domain Conversational Systems with Typed Decoders
模型解读:
本文研究如何赋予开放领域对话系统提问的能力,从而增强闲聊系统的交互性与持续性。如何提一个好问题,也较大程度体现了机器理解的能力。我们发现,一个好的提问由三种类型的词构成:疑问词、主题词与普通词,为此我们提出了 "类型化解码器"(Soft/Hard Typed Decoder)。在每个解码的位置上,解码器会先决定生成词的类型分布,并利用概率偏置提高生成对应类型词的可能性。对于 Soft 类型化解码器而言,每个解码位置上词的类别分布与词的生成概率分布进行混合;对于 Hard 类型化解码器,我们采用了 Gumbel-Softmax 的概率操作技巧(近似 argmax 功能),使得解码器具有选择动态词表的能力。自动评测和人工评测的结果说明了我们的模型所生成的提问相对基线模型具有明显的优势,更容易驱动对话继续下去。
随后会写一下这篇文章的详细解读。
代码:
victorywys/Learning2Ask_TypedDecoder
6、Sentence Function
生成特定功能的句子(疑问句、陈述句、祈使句)
论文:《Generating Informative Responses with Controlled Sentence Function》
论文链接:
http://coai.cs.tsinghua.edu.cn/hml/media/files/acl_senfun.pdf
论文解读:
本文着眼于闲聊对话生成领域,研究如何控制生成回复的全局功能特征,并解决功能控制和内容丰富性的兼容问题。句子功能(Sentence Function)是一种重要的语言学特征,按句子功能可将语言划分为疑问句、陈述句、祈使句等多个类别,该特征在对话中能够体现说话者的目的。本文引入条件变分自编码器,利用隐变量来建模和控制生成回复的功能特征;同时,我们在模型中设计了类别控制器,解码回复中的每个词之前会先根据隐变量和当前解码状态预测待生成词所属的类别(即功能控制词、话题词或普通词),再根据类别信息解码出相应的词,使得功能特征和内容信息能够在生成的回复中有机结合。自动评测和人工评测的结果表明,我们的模型生成的回复不仅在结构上符合设定的功能类别,而且在内容上具备丰富的信息量。
随后会写一下这篇文章的详细解读。
代码:
7、Prototype Editing
检索与生成相结合,采用编辑原有回复的方式,获取最终回复
论文:《Response Generation by Context-aware Prototype Editing》
论文链接:
https://arxiv.org/pdf/1806.07042v1.pdf
论文解读:
super 涵:Response Generation by Prototype Editing 论文笔记
代码:
待续。。。
赞!
原文:https://www.cnblogs.com/cx2016/p/13470258.html