智能文本生成:进展与挑战( 四 )


近几年,随着深度学习技术的发展和突破,基于深度学习的文本生成已成为最主流的技术路线,每年在领域重要国际会议(包括ACL、EMNLP、NAACL、EACL、AACL、AAAI、IJCAI、INLG 等)均有大量相关学术论文发表,推动文本生成任务的技术创新和性能提升 。深度学习技术可用于流水线框架的各个阶段,但更主流的做法通常是将文本生成任务看作从输入到输出的端到端转换过程,因此业界通常采用深度学习模型完成端到端的文本生成 。上述方式的优点是文本生成性能提升明显,且相对更容易开发(现有多个深度学习平台(如、等)支持各类深度学习模型的复用与开发 。),缺点是高度依赖大规模标注数据,模型的可解释性不好 。
图2总结了任务的两种框架:流水线框架和端到端框架 。图2以足球比赛赛事简讯生成任务为例,通过赛事数据页面(见左上角)获得输入数据,然后采用任一框架进行赛事简讯生成,输出结果见右上角文本 。
图2 基于足球比赛数据的赛事简讯生成任务的两种框架
(左上角为足球比赛数据展示页面,右上角为输出的简讯文本)
3.2基于编码器-解码器框架的文本生成方法
尽管不同的深度学习模型被尝试应用于文本生成,但近些年最成功的模型是基于编码器-解码器(-)框架的方法 。编码器用于对输入数据进行理解和编码,计算数据的语义向量表示,而解码器则以编码器的输出为输入,进行词语序列的解码输出 。面向不同的文本生成任务,编码器可采用不同的深度学习模型对不同类型的输入进行编码,包括循环神经网络(, RNN)、长短时记忆网络(long,LSTM)、卷积神经网络(,CNN)、网络等 。不同文本生成任务的输出均为文本,也即词语序列,因此解码器可采用RNN、LSTM或网络,这些模型基于已有的词语序列预测下一个词语 。具体来说,其先解码输出第一个词语,接着解码第二个、第三个词语,以此类推,直到输出结束符号为止 。
许多文本生成任务可看作序列转换问题,即将输入符号序列转换为输出符号序列 。输入符号序列不限于词语,也可包括数值、特殊符号等,例如任务输入的符号序列可包括词语、数值、标签等,任务输入的符号序列可包括概念、概念关系标签、特殊符号等 。用于求解序列转换问题的模型统称为模型,其本质上也基于编码器-解码器框架 。图3展示了以循环神经网络为基础的模型框架 。图3将输入符号序列(A, B,C,D)转换为输出符号序列(X,Y),其中为起始符号,为结束符号 。
为获得更好的文本生成结果,模型一般采用注意力机制,使解码阶段能够关注到输入端的序列信息 。例如,对于图3的例子,解码第二个符号Y时可能更关注输入符号序列中的符号C,而其他符号A、B、D对Y的生成影响较小 。模型会根据当前解码状态与编码器每个状态的相关度计算注意力权重,然后基于注意力权重计算获得关于输入信息的上下文向量,并用该向量帮助解码 。
图3 以循环神经网络为基础的模型框架
模型同样基于编码器-解码器框架,也适用于处理序列转换问题,可看作一种充分利用注意力机制的特殊模型 。模型的编码器主要由多头注意力(multi-head )、残差连接与层归一化(add &norm)、前向反馈(feed )网络等模块构成,为每个输入符号获得一个上下文感知的语义向量表示 。解码器与编码器类似,主要由隐码多头注意力( multi-head )、多头注意力、残差连接与层归一化、前向反馈网络等模块构成 。解码器通过多头注意力对编码器输出信息进行有效的访问和利用,同时通过隐码多头注意力访问和利用已经生成的序列信息 。模型在各类文本生成任务上均具有卓越的性能表现,已成为当前文本生成乃至整个自然语言处理领域的代表性和突破性技术之一,具有重要的落地应用价值 。