自然语言生成
自然语言生成(Natural Language Generation,NLG)
是自然语言处理领域一个重要的组成部分,实现高质量的自然语言生成也是人工智能迈向认知智能的重要标志。作为人工智能和计算语言学的子领域,自然语言生成从抽象的概念层次开始来生成文本。本文为《自然语言生成综述》论文的阅读笔记。
应用场景
NLG 技术具有极为广泛的应用价值:
应用于智能问答对话和机器翻译系统; 应用于机器新闻写作 医学诊断报告生成和天气预报生成 文章摘要、文本复述领域
任务分类
文本到文本生成:机器翻译、摘要生成、文本简化、文本复述 数据到文本生成:基于数值数据生成报告 图像到文本生成:图像文本描述
生成模型
马尔可夫链
在语言生成中,马尔可夫链通过当前单词可以预测句子中的下一个单词,是经常用于语言生成的算法。但由于仅注意当前单词,马尔可夫模型无法探测当前单词与句子中其他单词的关系以及句子的结构,使得预测结果不够准确,在许多应用场景中受限。
循环神经网络
循环神经网络(Recurrent Neural Network,RNN)
通过前馈网络传递序列的每个项目信息,并将模型的输出作为序列中下一项的输入,每个项目存储前面步骤中的信息。RNN能够捕捉输入数据的序列特征,但存在两大缺点:第一,RNN短期记忆无法生成连贯的长句子;第二,因为RNN不能并行计算,无法适应主流趋势。
长短期记忆网络
长短期记忆(Long Short-Term Memory,LSTM)
网络及其变体能够解决梯度消失问题并生成连贯的句子,旨在更准确地处理输入的长序列中的依赖性,但 LSTM 也有其局限性:LSTM处理难以并行化,限制了LSTM生成系统 利用GPU等现代计算设备的能力。
序列到序列模型
序列到序列(Sequence-to-Sequence,Seq2Seq)
模型通过 Encoder-Decoder 框架实现,目的是解决大部分序列不等长的问题,如机器翻译中,源语言和目标语言的句子往往并没有。

Attention 模型
Attention 模型是对人类大脑中的注意力进行模拟,旨在从众多信息中选择出对当前任务更关键的信息。在 Encoder-Decoder 框架中,Encoder 中的每个单词对输出文本中的每一个单词的影响是相同的,导致语义向量无法完全表示整个序列的信息,随着输入的序列长度的增加,解码后的生成文本的质量准确度下降。
Transformer 模型
Transformer 是一种基于注意力机制来加速深度学习算法的模型,由一组编码器和一组解码器组成,编码器负责处理任意长度的输入并生成其表达,解码器负责把新表达转换为目的词。
Transformer 模型利用注意力机制获取所有其他单词之间的关系,生成每个单词的新表示。Transformer 的优点是注意力机制能够在不考虑单词位置的情况下,直接捕捉句子中所有单词之间的关系。
BERT 模型
BERT(Bidirectional Encoder Representations from Transformers)
于 2018 年由 Google 团队首次提出。在自然语言生成任务中,BERT 模型采用双向 Transformer,模型的表示在所有层中,共同依赖于左右两侧的上下文。在自然语言生成中,该模通过查询字向量表将文本中的每个字转换为一维向量作为模型输入;模型输出则是输入各字对应的融合全
文语义信息后的向量表示。
文本到文本生成
机器翻译
在文本到文本生成领域中,机器翻译是使用机器自动将一种自然语言文本(源语言)翻译成另一种自然语言文本(目标语言)。
文本摘要
文本摘要通过分析输入的文本,捕捉原始文本的核心含义,摘取文本中的重要信息,通过提炼压缩等操作,生成篇幅短小的摘要,为用户提供阅读便利。根据实现技术方案的不同,文本摘要可以分为生成式文本摘要和抽取式文本摘要。
成式文本摘要是一个端到端的过程,首先利用自然语言理解对文本进行语法语义分析,进行信息融合后,再利用自然语言生成技术生成文本摘要。
抽取式文本摘要是从文档或文档集中抽取其中一句话或几句话,构成摘要。优点是简单实用,不易产生完全偏离文章主旨的点。
图像到文本生成
检索式图像描述
检索式图像描述是根据待描述图像,从句子池中检索出一个或一组句子来为图像生成描述。基于检索式图像到文本的生成方法能够使得生成文本在语法上具有正确性和流畅性。
生成式图像描述
在分析图像内容的基础上,使用语言模型来生成图像的描述。图像编码器在深度卷积神经网络的作用下实现图像特征的提取。文本编码器在提取单词特征的基础上学习并更新单词的特征表示,并将其按照上下文顺序馈送给循环神经网络。
基于生成对抗网络的图文生成
生成对抗网络由生成网络和判别网络组成,在两个神经网络相互博弈中进行学习。输入随机噪声后,生成网络会模拟真实样本进行输出。
基于强化学习的图文生成
强化学习是通过 Agent 与 Environment 交互的方式来获得奖励,以此来指导 Agent 的下一步行为。在每个时间步内,两个网络共同计算下一个最佳生成词,该方法借助实际奖励值来衡量图像与句子相似性,并以此评估生成的图像描述文本的正确性。
评估方法
BLEU
BLEU 是一个双语评估辅助工具,主要用来评估机器翻译的质量。n-gram
在自然语言处理中表示多元精度,可以用来评估一个句子是否合理,也可以用来评估两个字符串之间的差异程度。
BLEU 的核心思想是比较候选文本和参考文本里的n-gram
的重合程度,重合程度越高就认为译文质量越高。uni-gram
用于衡量单词翻译的准确性,高阶n-gram
用于衡量句子翻译的流畅性。通常是取 n=1~4,然后对进行
加权平均。
METEOR
METEOR又称显式排序的翻译评估指标,它在基于BLEU 的基础上进行了一些改进,其目的是克服一些 BLEU标准中的缺陷。使用 WordNet 计算特定的序列匹配,同义词,词根和词缀、释义之间的匹配关系,改善了 BLEU 的效果,使其跟人工判别有更强的相关性。
ROUGE
ROUGE大致分为 4 种:ROUGE-N、ROUGE-L、ROUGE-W、ROUGE-S。常 用的是前两种 ,ROUGE-N中的“N”指的是 n-gram,其计算方式与 BLEU 类似,只是 BLEU 基于精确率,而ROUGE基于召回率。
Perplexity
Perplexity 又称困惑度。它的核心思想是:首先根据参考句子,学习一个语言模型 P;然后根据语言模型 P,计算候选句子的得分;最后根据句子长度对上述得分进行标准化。
Perplexity 这一评估指标是基于语言模型的。困惑度越低,翻译质量越好,经常应用于机器翻译、语言模型。
# 竞赛交流群 邀请函 #

每天Kaggle算法竞赛、干货资讯汇总
与 22000+来自竞赛爱好者一起交流~





