《A Deep Generative Framework for Paraphrase Generation》-- 总结

一、研究背景

1. 应用

复述生成可以应用很很多场景,像机器翻译、生成摘要等等都涉及到复述生成;而且复述生成还可以扩充语料,更好的进行训练;不仅如此,还可以应用于智能对话等场景,eg:用户的提问方式不可能都是符合预期设定的同种方式,此时就需要判断用户提问的与系统设定的哪种问题是一样的,这也涉及复述生成...

总结来说:

复述生成的应用场景有:问答,信息检索,信息提取,系统对话...

2. 现有工作

既然复述生成这么重要,那一定有很多学者进行了研究,他们都是怎么做的?本文提出的方法和他们提出的又有什么不同呢?

针对复述生成问题,比较常见的方法有:VAE模型(基于变分思想的深度学习生成模型,可以学习高维输入的非线性表示)、条件生成模型、sequence-to-sequence模型(及其变形)......

上述方法提到的模型虽然复杂,但生成框架缺乏规则,而且一般生成的复述句只有一个,即使有多个,第一个和最后一个的准确度也相差很多。

本文提出的方法:简单、模块化、能产生多个复述句

二、实现方式

1. 概述:

LSTM(sequence to sequence模型)+VAE(deep generative模型)

(参考资料:https://zhuanlan.zhihu.com/p/42870213、https://www.cnblogs.com/xueqiuqiu/articles/7602231.html、https://www.cntofu.com/book/85/dl/gan/vae.md)

2. 数据集:

N组训练数据,每一组包含一个原始句子和一个复述句子。分别表示第n组数据中原始句和复述句的单词集,在下文中简化为:。此外,为原始句和复述句的向量表示,通过LSTM网络学习,其参数将与模型的其余部分一起以端到端的方式学习。

3. 整体架构:三个LSTM编码器和一个LSTM解码器(总共四个LSTM)

如图2所示:

VAE输入部分用了2个LSTM:(相当于图1中的虚线部分)

    第一个LSTM,将原始句转换成向量形式

    第二个LSTM,输入为和复述句,输出为经过一个前馈神经网络得到的(个人理解相当于下一部分的z)。

VAE 输出部分:(相当于图1中的实线部分)

    输入内容:隐编码z、原始句的向量表示(由第三个LSTM生成);

    输出:复述句

    :应用于decoder的第一阶段,用来初始化LSTM  decoder(第四个LSTM);

    z :(z与第三个LSTM生成的串联后)应用于LSTM decoder(第四个LSTM)的各个阶段。

4. 目标函数(与VAE类似):

(KL散度:相对熵,用来度量两个函数的相似程度或者相近程度。当两个随机分布相同时,它们的相对熵为零;当两个随机分布的差别增大时,它们的相对熵也会增大)

最大化公式2,以平衡复述向量的重构期望,同时确保 z 的后验与前验接近。之后,按照(Bowman et al.2015,https://www.aclweb.org/anthology/K16-1002.pdf)中采用的相同训练过程训练模型。

三、实验

https://blog.csdn.net/weixin_41640583/article/details/107974955

你可能感兴趣的:(Paraphrase,Generation,人工智能)