赞
踩
一、文本生成概述
1、文本生成概述:
https://www.jiqizhixin.com/articles/2017-05-22
任务包括:对话生成、摘要生成、机器翻译。
2、NLP综述:自然语言生成-NLG:
https://zhuanlan.zhihu.com/p/85363175
3、清华NLP组年度巨献:机器翻译30年最重要论文阅读清单:
https://blog.csdn.net/qq_27009517/article/details/86566987
二、评价指标:
1、文本生成13:万字长文梳理文本生成评价指标:
https://zhuanlan.zhihu.com/p/144182853
2、阅读者的角度:生成句子是否符合正常语句表达
(1)没有语法问题
(2)符合正常的表达方式和逻辑
三、文本生成框架:seq2seq
1、介绍:seq2seq 是一个 Encoder–Decoder 结构的网络,它的输入是一个序列,输出也是一个序列,Encoder 中将一个可变长度的信号序列变为固定长度的向量表达,
Decoder 将这个固定长度的向量变成可变长度的目标的信号序列。
encoder的过程相似于人听到一段声音,然后在脑海中形成一个理解就【类似信息压缩的过程】,decoder就是然后再用自己的语言把它表达出来。
2、基于RNN、CONV、transformer的seq2seq模型的对比:
https://my.oschina.net/u/4303180/blog/3473051
四、文本生成模型分类
1、基于RNN的语言生成模型:重点
2、基于CNN的语言生成模型:重点
3、基于transformer的语言生成模型 :超重点
(1)transformerABS
(2)gpt系列——> gpt1、2、3 【文本生成领域使用预训练模型的尝试】
(3)bert系列 ——> BertSumABS
(4)结合gpt和bert——> bart、T5
4、基于GAN的语言生成模型【强化学习和GAN网络引入到文本生成】:了解
5、基于GCN的语言生成模型:了解
(一)基于RNN的文本生成模型
1、生成模型的组成部分:RNN系列模型
1-1、单层RNN:语言生成的主流模型
(1)RNN:
特点:rnn的记忆能力,每个隐状态取决于当前的隐状态和当前的输入。
论文地址:
https://arxiv.org/pdf/1409.2329.pdf
(2)LSTM :
特点:通过门结构使模型能够自由选择信息的传递。将循环函数从简单的全连接改为三个控制门的记忆单元
提高:进一步增加RNN的记忆能力,并减轻梯度爆炸和消失的问题。
论文 :
https://arxiv.org/abs/1506.04214
代码 :
https://github.com/loliverhennigh/Convolutional-LSTM-in-Tensorflow
代码torch :
https://github.com/loliverhennigh/Convolutional-LSTM-in-Tensorflow
(3)GRU:
特点:对LSTM的循环函数进行简化,三个门变为两个门
提高:解决LSTM的循环函数比较复杂的问题,在保证效果和LSTM相似的情况下,,提高学习和推理效率。
论文:
https://link.zhihu.com/?target=https%3A//arxiv.org/pdf/1406.1078.pdf
(4)LSTM和GRU的比较:
Empirical evaluation of gated recurrent Neural Networks on Sequence Modeling
An Empirical Exploration of Recurrent Network Architectures
(5)四个具有代表性的RNN扩展:
http://distill.pub/2016/augmented-rnns/#citation
1-2、双向RNN 和 多层RNN
解决问题:输入的时间序列很长的时候,就是输入长句子,单层RNN结构,前向传播很难有效记忆历史信息,反向传播也无法很好的梯度回传。
(1)多层RNN有更深的网络参数和更深的结构,能够提高对长句子的记忆能力。
(2)双向对输入的时间序列进行从左到右的编码,考虑当前词的前后文信息能够得到更好的序列表示,但生成任务中,一般只知道前文要模型输出下文,所以双向的模型一般只使用于NLU任务。例如bi-lstm、bi-gru常用于命名实体识别
2、基于RNN的seq2seq文本生成模型
2.1、seq2seq 原始版本
(1)两篇论文
论文:
Learning Phrase Representations using RNN Encoder–Decoder for
Statistical Machine Translation
时间:2014年
作者:Google Brain团队和Yoshua Bengio带领的团队提出
面向:机器翻译领域
亮点:较早提出seq2seq
使用:RNN
论文:Sequence to Sequence Learning with Neural Networks。
时间:2014
论文翻译:
https://helloai.blog.csdn.net/article/details/112359175
作者:Google的Ilya Sutskever博士(现在OpenAI)
面向:机器翻译领域
亮点:用Beam Search改善预测结果,逆序输入句子对效果的提升。Beam Search方法其实本质就是在解码各阶段保留多个候选句子,最后在选择概率最大的序列。如果该方法的保留个数为1,其实就是贪心的思想,每一次解码都选取概率最大的那个值。该论文给出的结论是当size为2的时候,模型的表现最好。
使用:LSTM
(2)组成
Encoder [特征抽取器]、Decoder、以及连接两者的中间状态向量 C,
总结:两个RNN(encoder RNN + decoder RNN)拼接成的seq2seq
编码解码流程:
https://bl
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。