文本生成概述
引言
文本生成是自然语言处理中一个重要的研究领域,具有广阔的应用前景。国内外已经有诸如Automated Insights、Narrative Science以及“小南”机器人和“小明”机器人等文本生成系统投入使用。这些系统根据格式化数据或自然语言文本生成新闻、财报或者其他解释性文本。例如,Automated Insights的WordSmith技术已经被美联社等机构使用,帮助美联社报道大学橄榄球赛事、公司财报等新闻。这使得美联社不仅新闻更新速度更快,而且在人力资源不变的情况下扩大了其在公司财报方面报道的覆盖面。
本文主要介绍了文本生成的定义、任务、评价指标和实现方法。重点介绍了目前正在成为文本生成技术主流的数据驱动方法。本文最后对文本生成技术的发展做了简单的展望。
文本生成的定义
Reiter等人将自然语言生成系统定义为接受非语言形式的信息作为输入,生成可读的文字表述。数据到文本的生成适用于这个定义。Wan等人将这个概念拓展为包括了文本到文本的生成、数据到文本的生成以及图像到文本的生成的文本生成技术。
文本生成任务
按照输入数据的区别,可以将文本生成任务大致分为以下三类:1)文本到文本的生成;2)数据到文本的生成;3)图像到文本的生成。
1)文本到文本的生成又可根据不同的任务分为(包括但不限于):文本摘要、 古诗生成、文本复述等。文本摘要又可以分为抽取式摘要和生成式摘要。抽取式摘要通常包含信息抽取和规划等主要步骤。近期,在这方面有许多有趣的工作:Hu在为论文自动生成相关工作部分文本的任务上使用主题模型PLSA将句子按照主题进行聚类,使用SVR(Support Vector Regression)计算句子的相似度,最后使用线性规划生成相关工作文本。Wang在基于短语级别为学术论文生成演示文件的研究中采用了四个步骤。首先从论文中抽取名词短语、动词短语作为候选短语, 利用人工设计的特征和基于随机森林的分类器决定短语是否应出现在演示文件中,再训练一个基于随机森林的分类器判断两个短语是否存在一级、二级标题的关系,最后使用贪心策略选择句子构成一个演示文件。Zhang在根据体育赛事直播文字生成赛事报道的任务上,主要采用了Learning to Rank的方法结合人工设计的特征模版对句子进行打分,进而采用行列式点过程(DPP, Determinantal Point Process)进行句子选择。最近ACL 2017上发表了多篇生成式摘要的论文。如See等人提出了解决生成事实性错误文本和重复性文本问题的方法,Zhou等人加入选择门网络(selective gate network)进行摘要生成。古诗生成方面,Zhang等人使用循环神经网络进行生成,Wang等人将古诗生成划分为规划模型和生成模型两部份。Zhang等人在Seq2Seq模型的基础上加入记忆模块。文本复述方面,Quirk等人使用机器翻译的方法生成复述文本,Max等人采用基于枢轴(pivot)的复述生成方法,以另一种语言作为中间媒介,将源语言翻译成另一种语言后再翻译为原来的语言。
2)结构化数据生成文本的任务上,Reiter等人将数据到文本的系统分为了信号处理(视输入数据类型可选)、数据分析、文档规划和文本实现四个步骤。Mei等人基于encoder-decoder模型加入了aligner选择重要信息,基于深度学习提出了一个端到端的根据数据生成文本的模型。
3)图像到文本的生成方面也有不同的任务,如image-caption、故事生成、基于图像的问答等。在为图像生成解释性文本(image-caption)的任务上,Vinyals等人使用类似encoder-decoder的模型进行生成。Xu等人则进一步加入Attention机制。Huang等人提出针对图片序列生成故事的任务,并且提供了单张图片的描述性文本、单张图片的故事以及图片序列的故事三个层级的数据集。在第三个数据集上,他们拓展之前的模型并加入一些技巧提供了该任务的一些baseline。并通过对自动化评价指标以及人工评价相关度的衡量,确定使用METEOR作为自动化评价指标。基于图像的问答任务上,Shih等人提出了使用基于Attention机制的模型用VGGnet编码图片,用词向量求均值表示问题,最后经过两层网络生成答案 、Wu等人提出了整合image-caption模型和外部知识库等生成答案。
文本生成方法
文本生成主要有基于规则、基于规划(Planning-based)以及数据驱动(data-driven)的方法本文重点介绍数据驱动的方法。
基于语言模型的自然语言生成
基于马尔可夫的语言模型在数据驱动的自然语言生成中有着重要的应用。它利用数据和文字间的对齐语料,主要采用两个步骤:内容规划和内容实现为数据生成对应的文本。Oh等人在搭建面向旅行领域的对话系统时,在内容规划部分使用bigram作特征根据近期的对话历史,选取待生成文本中需要出现的属性,内容实现部分使用n-gram语言模型生成对话。Ratnaparkhi等人经过实验对比发现在语言模型上加入依存语法关系有助于改善生成效果。Angeli等人则将文本生成的过程分为三种决策(以生成天气报道为例):1)宏观的内容选择,如选择温度等方面进行报道。2)微观内容选择,如选择最低温度或者最高温度进行报道。3)模版选择。这三个决策步骤交替进行。每次决策的时候会考虑到历史决策信息,这有助于处理需要考虑长距离的依赖关系的情况,如语义连贯性。
使用深度学习方法的自然语言生成
在文本到文本的生成方面,Zhang等人使用RNN进行中文古诗生成,用户输入关键词后首先拓展为短语,并用来生成诗的第一行。接下来的每一行结合当时所有已生成的诗句进行生成。Wang则将古诗生成分为规划模型和生成模型两部份。规划模型部分得到用户的输入,在使用TextRank进行关键词抽取和使用RNN语言模型和基于知识库的方法进行拓展后,获得一个主题词序列,作为写作大纲,每一个主题词在下一个部分生成一行诗。生成模型部分基于encoder-decoder模型,增加一个encoder为主题词获得一个向量表示。另一 个encoder编码已经生成的句子。使用attention-based的模型,decoder综合主题词和已经生成的句子,生成下一句的内容。通过这两个模型,在更好的控制每一行诗的主题的同时保持诗词的流畅性。最近,在ACL 2017上发表了多篇生成式摘要的论文。如See等人为了解决生成一些与事实不符的内容,在标准的基于attention的Seq2Seq模型上结合Pointer Network,使其既可以生成词,也可以从原文中直接把一些词放入生成的文本中。为了解决重复的问题,加入coverage模型。Zhou等人则通过在encoder和decoder之间加入一个选择门网络(selective gate network)作为输入句子的第二层表示,提高编码的有效性,降低decoder的负担。
在数据到文本的生成方面,Mei提出了encoder-aligner-decoder的端到端模型。主要特点是在标准的encoder和进行了改进的decoder之间加入用于选择将要描述的重要信息的aligner。它对每条记录生成的权重分为两个部分。第一部分是针对每条记录的向量表示单独计算一个权重。 第二部分是在decoder的第t步时,根据decoder已经生成的内容及对应记录的向量表示计算权重。 在两个数据集上取得比较好的效果提升。它的优势在于同步训练内容选择和生成部分且不需要针对任务人工设置特征,普适性较好。
在图像到文本的生成方面,Vinyals使用Seq2Seq的模型,首先利用深层卷积神经网络DCNN 对图像建模,然后由一个LSTM网络进行解码生成最终的文本。与传统的机器学习方法相比,无需进行图像和文本中词的对齐、调整顺序等步骤。Xu则进一步提出利用Attention机制来加强词语和图像块之间的对齐,在生成文字的时候,模拟人看东西时关注点逐渐转移的过程,以生成更符合人习惯的文本。
模型评价
No evaluation, no research。如何对生成的文本进行评价也是文本生成研究中重要的一环。Gkatzia总结2005年到2014年间的常用的针对文本生成的评价方法,将其分为内在评价和外在评价方法。其中内在评价关注文本的正确性、流畅度和易理解性。常见的内在评价方法又可分为两类:1)采用BLEU、NIST和ROUGE等进行自动化评价,评估生成文本和参考文本间相似度来衡量生成质量。2)通过人工评价,从有用性等对文本进行打分。外在评价则关注生成文本在实际应用中的可用性。根据他们的分析,内在评价方法是最为流行的评价方法。2012-2015年间发表的论文超半数使用自动化评价指标进行评价,但由于它需要有大量的对齐语料,且对于对齐语料的质量很敏感,所以在使用自动化评价指标的同时,研究者常常还会同时使用其它的评价方法,如直观且易于操作(与外在评价方法相比)的人工评价生成文本的正确性、流畅性方法。
展望
文本生成技术,尤其是数据到文本的生成已经在商业领域获得应用,近期,国内也出现了许多投入使用的利用文本生成技术自动生成新闻的系统。文本生成技术的应用前景广阔,具有巨大的市场需求。相信随着机器学习技术的进步、新的公开数据集的发布、市场需求的推动以及计算性能的飞速提高,文本生成领域的研究将取得更大的发展与突破。
「真诚赞赏,手留余香」
真诚赞赏,手留余香
使用微信扫描二维码完成支付
