赞
踩
课程首先回顾了前面讲的语言模型和相关decode算法。
NLG是NLP的一大类任务类型,给定一些条件生成一些文本,NLG包括:
而语言模型Language Modeling是给出一些条件,计算概率,预测下一个单词,公式如图所示:
课程接下来回顾了如何train RNN LM以及greedy search和beam searc 算法。
另外两种搜索算法:
这种方法就是改变计算概率分布时的softmax公式,将公式改为:
softmax temperature是一种调整概率分布的手段,不是decoding算法。
课程介绍了一些常见NLG任务以及相关的问题和解决方式。
Summarization就是总结文本,给一段文本
x
x
x,输出文本
y
y
y,
y
y
y更短且包含
x
x
x的主要信息。
Summarization分为Single-document和Multi-document,区别在于是从单个文本还是多个文本总结信息。
下面是常用的数据集:
Sentence simplification是另外一个相关的任务,将源文本改写为更简单(有时是更短)的版本。
他的常用数据集有:
Summarization任务有两种主要的策略:Extractive summarization和Abstractive summarization
有人把Extractive summarization比作标记笔,把Abstractive summarization手写笔。
在深度学习之前的 summarization基本上都是extractive,包含三个部分:
Summarization 任务的主要的评价指标是ROUGE,类似于 BLEU,是基于 n-gram 覆盖的算法,不同之处在于:
ROUGE的公式如图所示:
通常也将recall和precision结合起来采用F1分进行评估。
BLUE是从n=1,2,3,4,n-gram开始依次计算,但是ROUGE就是单独计算n=1到L,如图所示:
从seq2seq开始,就可以将神经网络用于summarization,如图是使用seq2seq + attention NMT methods进行的总结得到的attention的可视化图表:
课程总结了在近几年的summarization的主要进展:
eq2seq+attention systems 善于生成流畅的输出,但是不擅长正确的复制细节(如罕见字)。因此,要对注意力机制进行改进,加入复制机制,使seq2seq系统很容易从输入复制单词和短语到输出。课程介绍了一篇论文的结构如图所示:
整体的思想就是在使用attention计算完成概率分布后,再去计算一个vocab的概率分布,之后将两者叠加去得到一个整体的分布,之后再去预测得到单词。主要公式如图所示:
引入copy机制又会经常出现一些问题:
可以借鉴pre-neural的方法,实施两步,内容选择与表面实现算法,而标准seq2seq + attention 的摘要系统,这两个阶段是混合在一起的,相当于把它拆开。
课程介绍了一篇论文,采用了Bottom-up summarization方法,分为两步:
原理结构如图所示:
这种方法可以有效进行整个的content的选取,而防止copy太多长句子。
将深度强化学习应用于summarization mode,去直接优化 ROUGE-L的评价指标。与之相比,maximum likelihood (ML)并不能优化ROUGE-L,因为他们并不是一类函数。
课程介绍的论文在优化时发现,直接通过强化学习可以增加ROUGE scores,但是会减小human
judgment scores,而通过结合强化学习与神经网络的训练则可以达到很好的效果,如图所示:
Dialogue主要分两种:
在深度学习普及之前 由于NLG的难度比较大,dialogue的产生经常使用预训练好的模板,或者直接从语料库中搜索得到对应的回答。seq2seq模型使dialogue重新恢复生机。
简单的seq2seq模型在Dialogue上有很多的缺点,主要包括:
课程依次分析了上述问题。
首先:seq2seq经常产生与用户无关的话语,主要原因有两个:
解决方法,去寻找输入输出之间的共性,先办法去保证这些特性在整个过程中不改变,或者说删除改变了这些特性的输出。提出了优化了输入S和输出T最大相关性信息Maximum Mutual Information (MMI),从而抑制模型去选择那些本来就很大概率的通用句子。公式如图:
简单的解决方法:
复杂的解决方法:
简单的解决方法:
复杂的解决方法:
顾名思义,就是讲一个故事:
深度学习也使这方面取得了很好的效果
如图根据图片生成了一首类似与taylor swfit歌词类似的歌,如图所示:
这里没有采用监督图像标题,因为没有大量并行的数据。
如何解决缺乏并行数据的问题:采用一个通用的sentence 编码空间。
collected from Reddit’s WritingPrompts subreddit.数据集,一个故事前面有一个简短的写作提示:
如图:
相关细节见ppt
在NLG自动的评价机制大多是基于word overlap (BLEU, ROUGE, METEOR, F1, etc.)
对于machine translation这些评价指标并不好,对于 summarization和dialogue就更差,主要原因是这些任务的答案都比较的开放,如图可以看出,这些评价指标和人类的评价并没有线性关系。
其他的一些评价指标:
所以总结一下,很难有哪种评价机制去自动的对整体的水平进行评价,应该将其拆分成多个单个评价方法:
人手工的评价通常被认为是黄金标准,但是人的评价通常是非常缓慢而且昂贵,还有别的很多问题,比如:
课程根据项目经验,建立了一些人工评价的完整的体系,从具体细致到总结概括型等等,如图所示:
具体的细节见课程ppt。
课程也给出了个人的一项想法:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。