标签归档:文本生成

什么是NLG自然语言生成 ?

NLG范围很广,基于不同类型的输入有不同的子任务。输入包括图像、音频、表格、文本等等,最终都要生成文本。文本到文本的生成又可以包括多类子任务。比如基于长文本输出短文本,这就是文档摘要,而文本复述则是对文本的改写,输入输出长度相似,生成的文本与输入文本的语义相同,但文本表达会出现差异。  此外,还有对话生成、机器翻译也属于文本到文本生成的一个任务。机器翻译将一种语言的文本作为输入,输出另外一种语言的文本。对话生成则是根据上文生成回复。对话生成与机器翻译这两个领域很大,一般单独对待,而不归并到文本生成领域。除了文本到文本的生成之外,还有数据到文本的生成,比如根据财务报表生成财务描述文本等,在商业领域具有很重要的用途,目前很多单位都在研究这一技术。    根据语义、句法表示生成语句是学术界研究较多的一个NLG任务,在实际应用中实施起来比较复杂,因为会同时涉及到NLU和NLG两个难题。    最后,输入图像或视频,生成文本,这也是NLG的重点研究方向,更多研究则集中在计算机视觉(CV)领域。我们可以看到,NLG的整个范畴非常大,我个人则是最开始做文档摘要研究,后来逐步研究其他NLG任务。NLG的应用范围很广,包括现在非常受欢迎的对话机器人小冰、摘要生成、新闻生成、诗歌生成等。目前,NLG的应用需求很大,市场上对NLG技术的需求也十分广泛,包括一对多文章改写、小说剧本创作等等。但目前解决这些需求的难度很大,要让计算机实现真正意义上的创作难如登天,我们要做到的是让计算机起到辅助作用即可。对于一对多的文章改写,比如生产软文,如何把文章改写为各种风格,放在网上传播,让更多人看到。如果改写得不好,对于两篇内容高度相似的文章,改写的那篇会被屏蔽掉,我们需要保持原文语义不变的前提下进行大量改写,这一过程难度很大。此外,AI做主持人、进行辩论目前都很有挑战难度,虽然暂时无法投入使用,但可以先进行研究与探索。http://img.yuedusikao.com/1553740884044a1tLxjTeQp.jpg

文本生成算法包含哪些要点

文本生成要解决的一个关键问题,是根据给定的信息如何生成一段文本句子。这是一个简单输入复杂输出的任务,问题的复杂度太大,至今在准确和泛化上都没有兼顾的非常好的方法。2014年提出的Seq2Seq Model,是解决这类问题一个非常通用的思路,本质是将输入句子或其中的词Token做Embedding后,输入循环神经网络中作为源句的表示,这一部分称为Encoder;另一部分生成端在每一个位置同样通过循环神经网络,循环输出对应的Token,这一部分称为Decoder。通过两个循环神经网络连接Encoder和Decoder,可以将两个平行表示连接起来。另外一个非常重要的,就是Attention机制,其本质思想是获取两端的某种权重关系,即在Decoder端生成的词和Encoder端的某些信息更相关。它也同样可以处理多模态的问题,比如Image2Text任务,通过CNN等将图片做一个关键特征的向量表示,将这个表示输出到类似的Decoder中去解码输出文本,视频语音等也使用同样的方式(如下图所示)。可见Encoder-Decoder是一个非常通用的框架,它同样深入应用到了文本生成的三种主流方法,分别是规划式、抽取式和生成式,下面看下这几类方法各自的优劣势:规划式:根据结构化的信息,通过语法规则、树形规则等方式规划生成进文本中,可以抽象为三个阶段。宏观规划解决“说什么内容”,微观规划解决“怎么说”,包括语法句子粒度的规划,以及最后的表层优化对结果进行微调。其优势是控制力极强、准确率较高,特别适合新闻播报等模版化场景。而劣势是很难做到端到端的优化,损失信息上限也不高。抽取式:顾名思义,在原文信息中抽取一部分作为输出。可以通过编码端的表征在解码端转化为多种不同的分类任务,来实现端到端的优化。其优势在于:能降低复杂度,较好控制与原文的相关性。而劣势在于:容易受原文的束缚,泛化能力不强。生成式:通过编码端的表征,在解码端完成序列生成的任务,可以实现完全的端到端优化,可以完成多模态的任务。其在泛化能力上具有压倒性优势,但劣势是控制难度极大,建模复杂度也很高。目前的主流的评估方法主要基于数据和人工评测。基于数据可以从不同角度衡量和训练目标文本的相近程度,如基于N-Gram匹配的BLUE和ROUGE等,基于字符编辑距离(Edit Distance)等,以及基于内容Coverage率的Jarcard距离等。基于数据的评测,在机器翻译等有明确标注的场景下具有很大的意义,这也是机器翻译领域最先有所突破的重要原因。但对于我们创意优化的场景来说,意义并不大,我们更重要的是优化业务目标,多以线上的实际效果为导向,并辅以人工评测。另外,值得一提的是,近两年也逐渐涌现了很多利用GAN(Generative Adversarial Networks,生成对抗网络)的相关方法,来解决文本生成泛化性多样性的问题。有不少思路非常有趣,也值得尝试,只是GAN对于NLP的文本生成这类离散输出任务在效果评测指标层面,与传统的Seq2Seq模型还存在一定的差距,可视为一类具有潜力的技术方向。