好文档 - 专业文书写作范文服务资料分享网站

递 归 算 法 一 文 读 懂 

天下 分享 时间: 加入收藏 我要投稿 点赞

神经生成对话研究的热情。目前神经生成模型的热门研究课题大概有如下几个方面。

1.1 Sequence-to-Sequence Models 给定包含 个词语的输入序列(message) 和长度为T的目标序列(response) 模型最大化Y在X下的条件概率:?

具体来说,Seq2Seq模型是在encoder-decoder结构中,下图是这种结构的示意:

编码器将X逐字读入,并通过递归神经网络(RNN)将其表示为上下文向量c, 然后解码器将c 作为输入估计Y 的生成概率。

Encoder :

Encoder过程很简单,直接使用RNN(一般用LSTM)进行语义向量生成: 其中f 是非线性函数,例如LSTM,GRU,是上一隐节点输出,是当前时刻的输入。向量c 通常为RNN中的最后一个隐节点(h, Hidden state),或者是多个隐节点的加权和。

Decoder :

模型的decoder过程是使用另一个RNN通过当前隐状态来预测当前的输出符号,这里的和都与其前一个隐状态和输出有关,Seq2Seq的目标函数定义为:

1.2. 对话上下文(Dialogue Context)

考虑对话的上下文信息的是构建对话系统的关键所在,它可以使对话保持连贯和增进用户体验。使用层次化的RNN模型,捕捉个体语句的意义,

然后将其整合为完整的对话。

同时,分别用字级别和句子级别的注意力方法扩展层次化的结构。 试验证明:

层次化 RNNs的表现通常优于非层次化的RNNs;

在考虑上下文相关的信息后,神经网络趋向于产生更长的、更有意义和多样性的回复。

1.3 回复多样性(Response Diversity)

在当前Seq2Seq对话系统中,一个具有挑战性的问题是,它们倾向于产生无关紧要的或不明确的、普通的、几乎没有意义的回复,而这些回复常常涉及到一些诸如“I don't know”,“I am OK”这样的无意义回复。

解决这类问题的一个很有效的方法是找到并设置一个更好的目标函数。除此之外,解决此类问题的一个方法是增加模型的复杂度。下图这篇论文《Building End-To-End Dialogue Systems

Using Generative Hierarchical Neural Network Models》使用了 latent variable 来解决无意义回复这个问题。

1.4 主题和个性化(Topic and Personality)

明确对话的内在属性是提高对话多样性和保证一致性的另一种方法。在不同的属性中,主题和个性被广泛地进行研究探讨。

下图的模型提出了一种两阶段的训练方法,使用大规模数据对模型进行初始化,然后对模型进行微调,生成个性化响应。

1.5 外部知识库(Outside Knowledge Base)

人类对话与对话系统之间的一个重要区别是它是否与现实相结合。结

合外部知识库(KB)是一种很有前途的方法,可以弥补背景知识之间的差距,即对话系统和人之间的差距。

当个定一个输入S和历史,需要在 Fact 集合里面检索相关的facts,这里采用的IR引擎进行检索,然后经过 Fact Encoder 进行 fact injection。

评价生成回复的质量是对话系统的一个重要方面。任务导向型的对话系统可以基于人工生成的监督信号进行评估,例如任务完成测试或用户满意度评分等,

然而,由于高回复的多样性,自动评估非任务导向的对话系统所产生的响应的质量仍然是一个悬而未决的问题。目前的方法有以下几种:

计算 BLEU 值,也就是直接计算 word overlap、ground truth和你生成的回复。由于一句话可能存在多种回复,因此从某些方面来看,BLEU 可能不太适用于对话评测。

计算 embedding的距离,这类方法分三种情况:直接相加求平均、先取绝对值再求平均和贪婪匹配。

衡量多样性,主要取决于 distinct-ngram 的数量和 entropy 值的大小。

进行图灵测试,用 retrieval 的 discriminator 来评价回复生成。 2. 基于检索的方法

基于检索的方法从候选回复中选择回复。检索方法的关键是消息-回复匹配,匹配算法必须克服消息和回复之间的语义鸿沟。?

2.1 单轮回复匹配

检索聊天机器人的早期研究主要集中在反应选择单轮的谈话,只有消息用于选择一个合适的回复。

目前比较新的方法如下图,利用深度卷积神经网络体系结构改进模型,学习消息和响应的表示,或直接学习两个句子的相互作用表示,然后用多层感知器来计算匹配的分数。

2.2 多轮回复匹配

模型选择一个自然的、与整个上下文相关的响应。重要的是要在之前的话语中找出重要的信息,并恰当地模仿话语的关系,以确保谈话的连贯性。

多轮对话的难点在于不仅要考虑当前的问题,也要考虑前几轮的对话情景。多轮对话的难点主要有两点:

如何明确上下文的关键信息(关键词,关键短语或关键句); 在上下文中如何模拟多轮对话间的关系。

现有检索模型的缺陷:在上下文中容易丢失重要信息,因为它们首先将整个上下文表示为向量,然后将该上下文向量与响应sentence向量进行匹配。

下图的方法通过RNN-LSTM的结构将上下文(所有之前的话语和当前消息的连接)和候选响应分别编码到上下文向量和回复向量中,然后根据这两个向量计算出匹配度分数。

目前关于检索模型的闲聊还停留在单轮对话中,下面这篇论文提出了基于检索的多轮对话闲聊。论文提出了一个基于检索的多轮闲聊架构,进一步改进了话语关系和上下文信息的利用,通过将上下文中的语句与卷积

神经网络的不同层级进行匹配,然后通过一个递归的神经网络在时间序列中堆积这些向量,以建立对话之间的关系。

2.3 混合的方法(Hybrid Methods)

将生成和检索方法结合起来能对系统性能起到显著的提升作用。基于检索的系统通常给出精确但是较为生硬的答案,而基于生成的系统则倾向于给出流畅但却是毫无意义的回答。

将生成和检索方法结合起来能对系统性能起到显著的提升作用。基于检索的系统通常给出精确但是较为生硬的答案,而基于生成的系统则倾向于给出流畅但却是毫无意义的回答。

在集成模型中,被抽取的候选对象和原始消息一起被输入到基于RNN的回复生成器中。这种方法结合了检索和生成模型的优点,这在性能上具备很大的优势。

未来的发展

深度学习已成为对话系统的一项基本技术。研究人员将神经网络应用于传统任务导向型对话系统的不同组成部分,包括自然语言理解、自然语言生成、对话状态跟踪。近年来,端到端的框架不仅在非面向任务的聊天对话系统中流行,而且在面向任务的对话系统中逐步流行起来。

深度学习能够利用大量的数据,从而模糊了任务导向型对话系统和非任务导向型对话系统之间的界限。值得注意的是,目前的端到端模型仍然远非完美。尽管取得了上述成就,但这些问题仍然具有挑战性。接下来,我们将讨论一些可能的研究方向。

快速适应。虽然端到端模型越来越引起研究者的重视,我们仍然需要

递 归 算 法 一 文 读 懂 

神经生成对话研究的热情。目前神经生成模型的热门研究课题大概有如下几个方面。1.1Sequence-to-SequenceModels给定包含个词语的输入序列(message)和长度为T的目标序列(response)模型最大化Y在X下的条件概率:?具体来说,Seq2Seq模型是在encoder-decoder结构中,下图是这种结构的示意:<
推荐度:
点击下载文档文档为doc格式
9r2x32rza88njyy26yqz6tzp834daf018pj
领取福利

微信扫码领取福利

微信扫码分享