文本生成是自然语言处理中一个重要的研究领域,具有广阔的应用前景。本文主要介绍了文本生成的定义、任务、评价指标和实现方法。重点介绍了目前正在成为文本生成技术主流的数据驱动方法。
1.文本生成定义
自然语言生成系统定义为接受非语言形式的信息作为输入,生成可读的文字表述。包括了文本到文本的生成、数据到文本的生成以及图像到文本的生成的文本生成技术。
2.文本生成任务按照输入数据的区别,可以将文本生成任务大致分为以下三类:1)文本到文本的生成;2)数据到文本的生成;3)图像到文本的生成。
1)文本到文本的生成又可根据不同的任务分为(包括但不限于):文本摘要、 古诗生成、文本复述等。
文本摘要又可以分为抽取式摘要和生成式摘要。抽取式摘要通常包含信息抽取和规划等主要步骤。近期,在这方面有许多有趣的工作:Hu[3]在为论文自动生成相关工作部分文本的任务上使用主题模型PLSA将句子按照主题进行聚类,使用SVR(Support Vector Regression)计算句子的相似度,最后使用线性规划生成相关工作文本。Wang[4]在基于短语级别为学术论文生成演示文件的研究中采用了四个步骤。首先从论文中抽取名词短语、动词短语作为候选短语, 利用人工设计的特征和基于随机森林的分类器决定短语是否应出现在演示文件中,再训练一个基于随机森林的分类器判断两个短语是否存在一级、二级标题的关系,最后使用贪心策略选择句子构成一个演示文件。Zhang[5]在根据体育赛事直播文字生成赛事报道的任务上,主要采用了Learning to Rank的方法结合人工设计的特征模版对句子进行打分,进而采用行列式点过程(DPP, Determinantal Point Process)进行句子选择。最近ACL 2017上发表了多篇生成式摘要的论文。如See等人提出了解决生成事实性错误文本和重复性文本问题的方法[6],Zhou等人加入选择门网络(selective gate network)进行摘要生成[7]。
古诗生成方面,Zhang等人[8]使用循环神经网络进行生成,Wang等人[9]将古诗生成划分为规划模型和生成模型两部份。Zhang等人[10]在Seq2Seq模型的基础上加入记忆模块。
文本复述方面,Quirk等人[11]使用机器翻译的方法生成复述文本,Max等人 [12]采用基于枢轴(pivot)的复述生成方法,以另一种语言作为中间媒介,将源语言翻译成另一种语言后再翻译为原来的语言。
2)结构化数据生成文本的任务上,Reiter等人[13]将数据到文本的系统分为了信号处理(视输入数据类型可选)、数据分析、文档规划和文本实现四个步骤。Mei等人[14]基于encoder-decoder模型加入了aligner选择重要信息,基于深度学习提出了一个端到端的根据数据生成文本的模型。
3)图像到文本的生成方面也有不同的任务,如image-caption、故事生成、基于图像的问答等。在为图像生成解释性文本(image-caption)的任务上,Vinyals等