文章快速检索     高级检索
  重庆大学学报  2020, Vol. 43 Issue (7): 91-100  DOI: 10.11835/j.issn.1000-582X.2020.244 RIS(文献管理工具)
0

引用本文 

许晓泓, 何霆, 王华珍, 陈坚. 结合Transformer模型与深度神经网络的数据到文本生成方法[J]. 重庆大学学报, 2020, 43(7): 91-100. DOI: 10.11835/j.issn.1000-582X.2020.244.
XU Xiaohong, HE Ting, WANG Huazhen, CHEN Jian. Research on data-to-text generation based on transformer model and deep neural network[J]. Journal of Chongqing University, 2020, 43(7): 91-100. DOI: 10.11835/j.issn.1000-582X.2020.244.

基金项目

国家重点研发计划资助项目(2018YFB1402500)

通信作者

何霆, 男, 教授, 博士生导师, 主要从事智慧计算、智慧服务、软件服务工程等研究, (E-mail)heting@hqu.edu.cn

作者简介

许晓泓(1996-), 女, 硕士研究生, 主要从事自然语言处理、文本生成技术研究。

文章历史

收稿日期: 2019-12-09
结合Transformer模型与深度神经网络的数据到文本生成方法
许晓泓 1, 何霆 1, 王华珍 1, 陈坚 2     
1. 华侨大学 计算机科学与技术学院, 福建 厦门 361021;
2. 智业软件股份有限公司, 福建 厦门 361000
摘要: 数据到文本的生成是指从结构化数据生成连贯文本的一种自然语言处理方法。近年来,由于端到端训练的深度神经网络的应用,数据到文本生成的方法显示出了巨大潜力。该方法能够处理大量数据自动生成连贯性文本,常用于新闻写作、报告生成等场景。然而,已有研究中对于数据中具体数值、时间等数据信息的推理存在较大缺陷,无法充分利用数据间的结构信息给出合理的生成指引,并且生成过程容易出现语义与句法分离训练的问题。因此,文中提出一种结合Transformer模型与深度神经网络的数据到文本生成方法,并提出一个用于内容规划的Transformer Text Planning(TTP)算法,有效地解决上述问题。在Rotowire公开数据集上进行方法验证,实验结果表明,文中方法性能优于已有数据到文本生成模型,可直接应用于结构化数据到连贯性文本的生成任务中,具有一定的实际应用价值。
关键词: 文本生成    Transformer模型    内容预选    内容规划    深度神经网络    
Research on data-to-text generation based on transformer model and deep neural network
XU Xiaohong 1, HE Ting 1, WANG Huazhen 1, CHEN Jian 2     
1. College of Computer Science and Technology, Huaqiao University, Xiamen, Fujian 361021, P. R. China;
2. ZoeSoft Corp. Ltd., Xiamen, Fujian 361000, P. R. China
Abstract: Data-to-text generation is a natural language processing method that generates coherent text from structured data. In recent years, data-to-text generation have shown great promise of profit due to the popular neural network architectures which are trained end-to-end. This method can automatically process large amounts of data and generate coherent text and is often used in news writing, report generation, etc. However, there are some defects in the reasoning of information such as the data of specific value and time in the existing researches, which make it unable to make full use of the structural information of data to provide reasonable guidance for the generation. Beyond that the generation process is prone to separate semantic from syntactic when training. In this paper, a data-to-text generation method based on transformer model and deep neural network was proposed, and the algorithm of transformer text planning(TTP) was also introduced so as to effectively control the context information of the generated text and remove the deficiencies of the previous model that resulted in semantics and syntax separation. Experiment results on the Rotowire public dataset show that the method proposed outperforms the existing model and it can be directly applied to the generation task of scattered data to coherent text.
Keywords: text generation    Transformer model    content preselecting    content planning    deep neural network    

在信息快速迭代发展的今天,人们很难做到不知疲倦地学习,如何让计算机学习海量知识并像人一样表达和创作逐渐演变成一个重要的研究课题[1]。数据到文本生成技术旨在将结构化数据自动转化为流畅且贴近事实的描述性文本,具有广泛的应用前景。该技术可用于智能写作系统,自动撰写高质量的自然语言文本;也可用于智能问答与机器翻译等系统,实现更加智能化的人机交互;还可用于产品描述的生成,解决日益更新的产品信息所需的大量产品描述生成问题,对数据到文本生成技术的探索具有重要的研究价值。

数据到文本生成任务主要包含两类方法:基于规则的方法以及数据驱动的方法[1]。基于规则的方法需要大量人工特征工程或规则干预,耗时耗力。随着机器学习方法的兴起,数据驱动的方法开始盛行,该方法无须过多的人工干预,通过机器的自主训练,能够生成丰富且流畅性较强的文字描述。基于数据驱动的方法已有学者进行了相关研究[2]。Duboue等[3]将输入的内容选择作为分类任务判定一个数据库条目是否应该出现在输出中;Barzilay等[4]将内容选择看作协作分类问题考虑数据库条目之间的依赖性;Liang等[5]提出隐半马尔可夫模型(HSMM, hidden semi-markov model)匹配数据记录与文本描述生成,实现分割文本到话语,并关联话语到每个对应记录的任务;Angeli等[6]在Liang等[5]的基础上加入对数线性模型,将生成过程细化为一系列本地决策,实现内容选择和表层生成统一;Konstas等[7]使用概率上下文无关语法,全局地描述输入数据的固有结构,使用超图结构来获得最后的推导;Kondadadi等[8]利用支持向量机构建基于模板的统计框架,将内容选择与表层生成任务联合成一个统计学习过程;Sowdaboina等[9]与Gkatzia等[10],分别提出使用机器学习解决对时序数据总结的内容选择方法、使用多标签分类被选择的内容,并利用强化学习方法总结时序数据的方法;Mahapatra等[11]、Hongyuan等[12]以及Lebret等[13]分别采用多属性创建多分区,概率性地选择内容实现多分区图的自然语言生成,利用深度学习实现与领域无关的编码解码框架的LSTM网络模型完成数据到文本生成任务,建立在文本生成的条件神经语言模型且利用事实表格生成初始语句;Wiseman等[2]采集大量NBA篮球比赛统计数据以及对应的文字战报,发布了新的数据集Rotowire;Qin等[14]利用HSMM学习文本中各部分词汇与输入数据项的对应关系模型,对齐结果也可为自然语言生成提供丰富的规则和模板。相比基于规则的方法,数据驱动的方法无须专家参与,并且更容易优化与扩展。已有的基于数据驱动方法对于数据中具体数值、时间等数据信息的推理存在较大缺陷,无法充分利用数据间的结构信息给出合理的生成指引,并且生成过程容易出现语义与句法分离训练的问题。

为解决上述问题,文中提出结合Transformer模型与深度神经网络的数据到文本生成方法,并在Rotowire数据集(如表 1表 2所示)上展开了方法的验证。该方法包含3个阶段:第一阶段是语句内容预选,通过多层感知器(MLP, multilayer perceptron)与注意力机制(attention mechanism)从输入的结构化数据中选择重要信息构建特征表示空间,有效地对数值、时间等类型数据进行推理,增强数据间的结构信息;第二阶段是文本内容规划,采用基于Transformer模型的Transformer Text Planning算法将上阶段的特征表示进行上下文信息的推导,给出生成指引序列,有效控制输出文本的连贯性,将语义与句法统一分析;第三阶段是文本生成,利用序列到序列结构中编码器解码器方式,在双向长短期记忆神经网络(BiLSTM, bi-directional long short-term memory)的基础上,采用联合复制与条件复制两种复制机制构建文本生成器生成最终文本,提高生成信息准确率与文本逻辑性。文中的主要贡献包括3个方面:一是提出一种新颖的数据到文本生成模型,该模型能够构建丰富的特征表示空间并生成连贯性较强的文本;二是提出Transformer Text Planning(TTP)算法进行文本内容规划,给出合理的生成指引,并改善先前工作中语义与句法分离的不足;三是在BiLSTM网络的基础上结合复制机制构造文本生成器,提高生成文本连贯性。

表 1 数据记录的样本(NBA赛事记录) Table 1 Example of data-records (NBA games)
表 2 人工撰写文本的样本(NBA赛事报道) Table 2 Example of human-written text(NBA games reports)
1 结合Transformer模型与深度神经网络的数据到文本生成方法 1.1 问题描述与定义

以Rotowire数据集为例,对整个数据到文本生成问题进行公式化建模。每条样本输入数据作为一个无序记录表RR中每条记录包含多维特征,经过降维分析,将其降为4个主要特征,如图 1所示,这4个特征分别为VALUE(即rj, 1)、ENTITY(即rj, 2)、TYPE(即rj, 3)、H/V(即rj, 4),其中,ENTITY表示球队/球员、H/V表示该队是主场队还是客场队、TYPE表示表 1中每个球队/球员对应的记录属性、VALUE表示TYPE对应的属性值(可为字符串、数字等)。文中对该问题做出如下2个定义。

图 1 结合Transformer模型与深度神经网络的数据到文本生成方法概述 Fig. 1 Overview of data-to-text generation methods with Transformer model and deep neural network

定义1.每条输入的样本数据为无序记录表$ R=\left\{r_{j}\right\}_{j=1}^{|r|}$,每个无序记录表中的单个记录表示为${r_j} = \varphi \left( {\left\{ {{r_{j, k}}} \right\}_{k = 1}^4} \right) $,其中,φ(x)为记录编码函数。每条输入样本对应的输出文本为 $ y=y_{1} y_{2} \cdots y_{|y|}$(yi 表示生成文本中的第i个单词,|y|为文本长度)。

定义2.整个数据到文本生成方法的目标函数为

$ {\theta ^*} = {\rm{arg}}\mathop {{\rm{max}}}\limits_\theta \sum\nolimits_{(R,y)} {{\rm{log}}} p(y|R;\theta )。$ (1)

结合2个定义,将问题分解为2个任务,并作为级联目标如下:

1) $ \max p\left(z_{q}=r_{j} \mid z_{ <q}, r\right)$

2) $\max p(y \mid z, r) $

目标1)中,r为每条样本的所有记录表示,z< q为段落内容规划输出的前q个规划,zq表示段落内容规划输出的第q个规划;目标2)中,z表示所有段落内容规划的集合,y表示最终输出文本。

文中所提出的结合Transformer模型与深度神经网络的数据到文本生成方法流程如图 1所示,主要包括语句内容预选、文本内容规划和文本生成3个阶段。

1.2 语句内容预选

在本小节采用多层感知器与注意力机制结合的方法实现语句内容预选。注意力机制最早在视觉图像领域提出,Dzmitry等[15]使用注意力机制在机器翻译任务上将翻译和对齐同时进行,首次提出将注意力机制应用到自然语言处理领域中,随后基于注意力机制的RNN与CNN的扩展模型开始应用到各种NLP任务中,不仅仅是序列到序列模型,各种分类问题都可以使用注意力机制进行模型构建,解决NLP各类文本词汇权重分配问题。

将VALUE、ENTITY、TYPE、H/V这4个特征进行向量拼接并输入到多层感知器,从而得到每一条记录的特征向量:

$ {r_j} = {f_r}({\mathit{\boldsymbol{W}}_r}[{r_{j,1}};{r_{j,2}};{r_{j,3}};{r_{j,4}}] + {\mathit{\boldsymbol{b}}_r})。$ (2)

式(2)为定义1中rj=φ(x)的实现,其中,$ \boldsymbol{W}_{r} \in \mathbb{R}^{n \times 4 n}, \boldsymbol{b}_{r} \in \mathbb{R}^{n}, \boldsymbol{W}_{r}$br为参数矩阵;[;]为拼接向量;fr代表线性整流函数(ReLU, rectified linear unit),ReLU是一个神经元激活函数,能够在线性变化(Wr[;]+br)之后进行fr(x)=max(0, x),从而输出非线性结果。

不同记录之间的关联信息可以用来确定该记录对于其余记录的重要性程度,从而给出所有记录对于语句的重要性排序。例如:就Rotowire数据集而言,一个球员得分较多,这些得分很可能有很多有价值的相关记录,如投篮得分、三分球、罚球等。为了更好地捕获记录之间的这种依赖关系,提出利用注意力机制进数据间结构关系的信息捕捉。

计算每个输入记录的注意力分数ξj, k,利用ξj, k为每个rj生成一个注意力向量表示rjatt

$ {\xi _{j,k}} \propto {\rm{exp}}(r_j^{\rm{T}}{\mathit{\boldsymbol{W}}_a}{r_k}), $ (3)
$ r_j^{{\rm{att}}} = {\mathit{\boldsymbol{W}}_g}[{r_j};\sum\nolimits_{k \ne j} {{\xi _{j,k}}} {r_k}], $ (4)

式(3)~式(4)中,$ \boldsymbol{W}_{a} \in \mathbb{R}^{n \times n}$$ \boldsymbol{W}_{g} \in \mathbb{R}^{n \times 2 n}$表示参数矩阵,并且$ \sum_{k \neq \xi} \xi_{j, k}=1$

将式(4)通过一个Sigmoid激活函数,可获得记每条记录新的特征向量rjcp

$ r_j^{{\rm{cp}}} = {f_{si}}(r_j^{{\rm{att}}}) \odot {r_j}, $ (5)

式中:⊙表示对应特征向量中元素的相乘;fsi表示Sigmoid神经元激活函数,Sigmoid(rjatt)∈[0, 1]n,Sigmoid激活函数通过fsi(x)=1/1+ex来实现。

语句内容预选阶段给出所有样本数据以VALUE、ENTITY、TYPE、H/V这4个特征拼接转换后的特征表示向量空间。该特征空间包含了不同类型数据(例如:比分、时间等)之间的对应关系以及各记录相对于语句的重要性排序信息。

1.3 文本内容规划

在内容规划阶段提出一个Transformer Text Planning(TTP)算法,该算法基于Transformer模型。Transformer是一种处理序列到序列问题的新模型,该模型仍然沿用了经典的编码器解码器(Encoder-Decoder)结构,但不再使用循环神经网络(RNN, recurrent neural network)或者卷积神经网络(CNN, convolutional neural networks)进行序列建模,而是完全使用自注意力机制(self-attention),该机制可对句子中所有单词之间的关系直接进行建模,而无须考虑各自的位置。Google研究结果[16]表明,与RNN或者CNN等结果相比,Transformer模型可以在减少计算量和提高并行效率的同时获得更好的学习效果。

基于Transformer模型的内容规划算法能够将所输入的每条样本的记录特征向量表示集合进行转化,从而输出生成文本所需的内容规划集合。文本内容规划能够令端到端训练的神经网络结构的文本生成器获取到一个明确的生成指引,该指引规定了文本将生成什么并以何种顺序生成。

假定内容规划序列$ z=z_{1} \cdots z_{|z|}$,每个zq指向一个输入记录rj。Transformer模型由多头注意力构成,每头注意力设为$ z_{q, v}(v \in\{1, 2, \cdots, h\})$,则:

$ {T(Q,K,V) = {f_{so}}(\frac{{Q{{(K)}^{\rm{T}}}}}{{\sqrt {|{d_k}|} }})V,} $ (6)
$ {{z_{q,v}} = T({r_j}\mathit{\boldsymbol{W}}_v^Q,r_j^{{\rm{cp}}}\mathit{\boldsymbol{W}}_v^K,{r_{i \ne j}}\mathit{\boldsymbol{W}}_v^V),} $ (7)
$ {{z_q} = {\mathit{\boldsymbol{W}}_o}[{z_{q,1}};{z_{q,2}}; \cdots ;{z_{q,h}}],} $ (8)

其中,fso代表Softmax神经元激活函数,适用于多分类任务,Softmax通过$ f_{s o}(x)_{p}=\mathrm{e}^{x_{p}} / \sum_{m=1}^{M} \mathrm{e}^{x_{p}}$来实现;T(x)表示单头注意力的计算函数。结合式(6)~式(8)与Transformer模型,提出一个文本内容规划算法Transformer Text Planning,如算法1所示。

算法1. Transformer Text Planning(TTP).

输入:每条样本中所有记录在初始状态下的特征向量表示集合$r=\left\{r_{1}, r_{2}, \cdots, r_{|r|}\right\} $;每条样本中所有记录在计算记录间相关关系状态下的特征向量表示集合$ {r^{cp}} = \left\{ {r_1^{c\rho }, r_2^{cp}, \cdots , r_{|r|}^{cp}} \right\}$

输出:文本内容规划序列$ z=\left\{z_{1}, \cdots z_{q} \cdots, z_{|z|}\right\}$

过程:

① 初始化内容规划集合:$z = \emptyset $

② 设置头注意力的头数为h

③ 初始化每头注意力的值为zq, vv∈{1, 2, …, h};

④ 设置文本输出维度为dmodelQKV 3个向量维度为dk=dmodel/h

⑤ 随机初始化4个矩阵$\boldsymbol{W}_{v}^{Q}, \boldsymbol{W}_{v}^{K}, \boldsymbol{W}_{v}^{V} $以及Wo,矩阵维度分别为dmodel×dkdmodel×dkdmodel×dk以及dmodel×hdk,矩阵随着模型训练迭代更新;

⑥ 令zqzzq指向一个输入记录rj

⑦ for q=1, 2, …, |z| do

⑧ 计算每个记录的$ r_{j} \boldsymbol{W}_{v}^{Q}, r_{j}^{c p} \boldsymbol{W}_{v}^{K}, r_{i \neq j} \boldsymbol{W}_{v}^{V}$

⑨ 根据式(6)与式(7)计算zq, v

⑩ 根据式(8)对所有zq, v进行向量拼接,并与Wo进行矩阵相乘获得zq

⑪ end for。

由算法1可知,文本内容规划概率计算为:

$ p({z_q} = {r_j}|{z_{ < q}},r) \propto {\rm{exp}}(z_{ < q}^{\rm{T}}{\mathit{\boldsymbol{W}}_{\rm{c}}}r_j^{{\rm{cp}}}), $ (9)

式中:z< qzq前的内容规划输出序列;Wc表示训练过程的所有参数矩阵。

1.4 文本生成

使用双向长短期记忆神经网络结合上文的内容规划构建文本生成器,如图 2所示,该生成器为一个编码器解码器模型。

图 2 文本生成器的流程 Fig. 2 Processing of text generator

将内容规划z编码为$\left\{e_{q}\right\}_{q=1}^{|z|} $,由于内容规划是一个输入标记序列,文中直接将其对应的内容选择的记录向量表示$\left\{r_{j}^{\mathrm{cp}}\right\}_{j=1}^{|r|} $作为LSTM神经网络的输入层,该过程作为文本生成器的编码器部分。

解码器部分主要由LSTM神经网络构成,使用编码器最后一步的隐藏状态初始化解码器。解码到第t步时,将已预测的单词yt-1的向量表示输入到该步的LSTM神经元中,假设ht为第t个LSTM神经元的隐藏状态,则该步输出的词的计算公式为

$ {{\gamma _{t,k}} \propto {\rm{exp}}(h_t^{\rm{T}}{\mathit{\boldsymbol{W}}_b}{{\rm{e}}_k}),} $ (10)
$ {h_t^{{\rm{ att }}} = {f_t}({\mathit{\boldsymbol{W}}_d}[{h_t};\sum\nolimits_k {{\gamma _{t,k}}} {{\rm{e}}_k}]),} $ (11)
$ {{p_{{\rm{gen}}}}({y_t}|{y_{1:t}},z,r) = {f_{so}}{{({\mathit{\boldsymbol{W}}_y}h_t^{{\rm{att}}} + {\mathit{\boldsymbol{b}}_y})}_{yt}},} $ (12)

式中:$ \sum_{k} \gamma_{t, k}=1 ; \boldsymbol{W}_{b} \in \mathbb{R}^{n \times n}, \boldsymbol{W}_{d} \in \mathbb{R}^{n \times 2 n}, \boldsymbol{W}_{y} \in \mathbb{R}^{n \times d}, \boldsymbol{b}_{y} \in \mathbb{R}^{d}$均为参数矩阵;d表示输出词典长度;ft代表Tanh神经元激活函数,Tanh通过$ f_{t}(x)=\frac{\mathrm{e}^{z}-\mathrm{e}^{-z}}{\mathrm{e}^{z}+\mathrm{e}^{-z}}$实现。

文中在解码器部分改进了Wiseman等[2]提出的复制机制,该复制机制能够将文本内容规划序列z=z1z|z|中规划的内容进行复制,主要包括联合复制与条件复制2个部分。具体来说,对每一个时间步t引入变量εt∈{0, 1},其中,εt=0表示该记录或单词不必复制,而εt=1,则表示该记录或单词须复制。因此,第t步生成的词yt的概率分布计算为

$ p({y_t}|{y_{1:t - 1}},z,r) = \sum\limits_{{\varepsilon _t} \in \{ 0,1\} } p ({y_t},{\varepsilon _t}|{y_{1:t - 1}},z,r)。$ (13)
1.4.1 联合复制机制

联合复制(JC, joint copy)表示从内容规划后的规划序列z=z1z|z|中复制记录值或复制生成器生成的词的联合复制,复制规则如下:

$ p({y_t},{\varepsilon _t}|{y_{1:t - 1}},z,r) \propto \left\{ {\begin{array}{*{20}{l}} {\sum\nolimits_{{y_t} \leftarrow {z_q}} {{\rm{exp}}} (h_t^{\rm{T}}{\mathit{\boldsymbol{W}}_b}{{\rm{e}}_k}),{\varepsilon _t} = 1,}\\ {{\rm{exp}}({\mathit{\boldsymbol{W}}_y}h_t^{{\rm{att}}} + {b_y}),{\varepsilon _t} = 0}。\end{array}} \right. $ (14)

式(14)中,ytzq表示将zq复制给yt;其余参数参考式(10)~式(12)所述。

1.4.2 条件复制机制

条件复制(CC, conditional copy)在计算生成和复制的概率时,引入判断某个词来自生成模型或来自复制模型的概率作为条件,具体计算为

$ p({y_t},{\varepsilon _t}|{y_{1:t - 1}},z,r) = \left\{ {\begin{array}{*{20}{l}} {p({\varepsilon _t}|{y_{1:t - 1}},z,r)\sum\nolimits_{{y_t} \leftarrow {z_q}} {{\gamma _{t,k}}} ,{\varepsilon _t} = 1,}\\ {p({\varepsilon _t}|{y_{1:t - 1}},z,r){p_{{\rm{gen}}}}({y_t}|{y_{ < t}},z,r),{\varepsilon _t} = 0}。\end{array}} \right. $ (15)

式中,$ \gamma_{t, k}$$ p_{\text {gen }}\left(y_{t} \mid y_{ <t}, z, r\right) $分别由式(10)~式(12)计算而得。

联合复制和条件复制的区别在于条件复制能够分解联合复制的情况,在某些情况下更加高效准确。文中方法的文本生成器模块带有条件复制和联合复制2种复制机制,能够有效地提高生成文本数据的准确率,使得生成文本的信息更具有可靠性,实验部分也将对比这2种复制方式的效果。

1.5 损失与优化

为了实现模型训练目标θ*,采用损失函数:

$ L = - \sum\nolimits_{(r,z,y) \in E} {{\rm{log}}} p(z|r)p(y|r,z), $ (16)

进行优化训练,式中,E代表所有训练样本集(包括记录r、内容规划z以及对应的文本y)。

由式(1)与式(16)推导得:

$ {\rm{max}}\sum\nolimits_{(r,z,y) \in E} {{\rm{log}}} p(z|r) + {\rm{log}}p(y|r,z)。$ (17)

式(17)表示模型的2个级联目标,采用最大似然估计法来降低训练误差,实现模型优化。

2 实验 2.1 实验数据

在国际公开数据集Rotowire[2]上对结合Transformer模型与深度神经网络的数据到文本生成方法性能进行了评估。国际公开数据集Rotowire是一个包含赛事记录与专业人员撰写的NBA赛事报道的英文数据集,如表 1表 2所示。与其他数据到文本生成数据集(例如:E2E餐厅描述生成数据集、WikiBio人物传记生成数据集)不同的是,该数据集的文本(NBA赛事报道)平均长度在337词以上,显著长于其余数据集,并且输入数据更丰富(通常每篇报道包含5~7个语句);此外,Rotowire数据集的文本中直接提及或通过不同措辞蕴含的信息,需从具体的数值、时间等信息推断得出,无法从输入的表格数据中直接获取。例如,输入数据中并没有直接标示比赛的获胜球队,只列出了交战双方比分,而文字内诸如“The Atlanta Hawks beat the Miami Heat 103-95”中的“beat”一词,需要数据到文本生成的模型能够准确捕捉“A team with a higher score wins”这样的对应关系,对当前高度依赖连续向量表示的神经网络方法而言颇具挑战。

Rotowire包含2014年1月1日至2017年3月29日期间的NBA赛事记录数据与专业的赛事报道。该数据集共有4 853个样本数据,每个样本对应的赛事报道文本结构与篇幅长度(平均337词),样本词汇量约为11.3 K个,带标记词汇量为1.6 M个,赛事记录类型共39种,平均记录数为628条。文中遵循Wiseman等将数据集划分为3 398条样本数据用于训练集,727条样本数据用于验证集,728条样本数据用于测试集。

2.2 实验设置

关于实验参数的设置,在语句内容预选部分,注意力层数设置为64层,采用Glove预训练模型进行预训练并结合mean函数进行编码操作,词向量维度设置为600;在Transformer的文本内容规划部分,多头注意力的平行层数h设置为8,文本输出维度dmodel设置为344,QK向量维度dk设置为43。在文本生成器部分,使用了2层LSTM网络,dropout设置为0.3,使用Adagrad优化器对模型进行优化训练,epoch设置为25,初始学习率为0.15,从{0.5, 0.97}中选择学习率衰减,batch设置为10,所生成的赛事报道文本语句数量最小值与最大值分别设置为35与80。文中模型在Klein等[17]提出的OpenNMT-py模型上进行构建。

2.3 实验指标

采用CS、CO、RG、BLEU以及PPL这5个评价指标对文中方法进行验证。假设ygold为专业参考文本,ygen为模型输出文本,P%表示精确率,R%表示召回率,则评测指标含义如下:

1) CS[2](Content Selection):从ygen抽取出的记录数据与ygold中匹配的概率来评价内容选择层的性能,采用精确率与召回率的方式计算;

2) CO[2](content ordering):通过计算ygoldygen中记录序列之间的字符串编辑距离(Damerau-Levenshtein距离,即下文所述D%),评价内容规划层所给出的记录规划顺序的好坏程度;

3) RG[2](relation generation):通过从ygold抽取出的记录数据同时存在于原始输入记录表的比例来评价模型生成数据的真实性,采用精确率和匹配记录数(即#)来计算;

4) BLEU[18](bilingual evaluation understudy):由IBM提出一种基于精确度的相似性度量,用于分析ygoldygenn元组共同出现的程度;

5) PPL(perplexity):用于评价整体生成模型的困惑度,衡量语言模型好坏的指标。当语言模型面对一个句子困惑的程度越低,期望的语句出现概率越高,模型越好。

2.4 实验结果

提出的结合Transformer模型与深度神经网络的数据到文本生成方法(ATL),在联合复制(JC)和条件复制(CC)2种复制机制下与Wiseman等[2]提出基线模型WS-2017和Puduppully等[19]提出的NCP模型进行性能对比,实验结果如表 3所示。

表 3 CS、RG、CO和BLEU指标下的模型评测结果 Table 3 Evaluation results by model on CS, RG, CO and BLEU metrics

表 3可看出,在验证集与测试集的模型评测结果中,ATL模型对比基线模型WS-2017与NCP模型相比在CO指标得分提升最高,CS、RG、BLEU指标与NCP模型几乎达到一致性能甚至在CS的P%与RG的P%能够保持验证集与测试集指标得分均增长,有力地证明了文中提出的文本内容规划TTP算法能够带来性能提升。BLEU指标也有所提升,可以验证文中算法的文本流畅性能力有所提高。除此之外,可以发现,相比JC,CC下模型的性能更好。因此,文中基于条件复制机制进行进一步分析。

在测试集下,利用条件复制机制展开了模型的困惑度(PPL, perplexity)评估。如表 4所示,文中构建的ATL模型在PPL指标上均低于2个基线模型,文中方法困惑度有效下降,模型更好地收敛,验证了模型性能较优。

表 4 PPL指标下的模型评测结果 Table 4 Evaluation results by model on PPL metrics

为了验证生成文本长度对文本连贯性的影响,在测试集下进行了BLEU-n指标的评测,结果如表 5所示。

表 5 BLEU(B-1, 2, 3, 4)指标下的模型评测结果 Table 5 Evaluation results by model on BLEU(B-1~B-4) metrics

BLEU-n中的n表示n-gram,即n个单词长度的词组集合。当n=1时,主要衡量模型输出文本与专业参考文本的相似度,而n>1时,BLEU指标可以用来衡量句子的流畅性。由表 5可知,文中所构建的ATL模型在B-2的评测中,语句流畅性较好;当以B-4进行评测时,文本流畅性有所降低,这是由于数据到文本生成领域中,由于数据结构化的特点导致生成短句的优势一般远大于长句,因此,当评测的词组集合越大,BLEU指标也将呈现下降趋势。

3 结束语

提出了一种结合Transformer模型与深度神经网络的数据到文本生成方法,该方法包括基于多层感知器和注意力机制的语句内容预选、基于Transformer模型的文本内容规划以及基于双向长短期记忆神经网络的文本生成器模块。在文本内容规划模块,还提出了一种用于内容规划的Transformer Text Planning(TTP)算法。实验结果表明,在CS、RG、CO、BLEU、PPL等指标评测下,相比已有的模型,文中方法整体性能有所提高,尤其在CO指标得分上展现出了优势。所改进的内容规划是对生成文本的语义与句法的一致性的改进,由实验分析可知,文中方法增强了模型的推理能力,同时提升了文本的连贯性。团队会继续研究关于自然语言生成的相关任务,并期望在数据到文本的生成任务中对于长句的生成也展现其更好的性能。

参考文献
[1]
曹娟, 龚隽鹏, 张鹏洲. 数据到文本生成研究综述[J]. 计算机技术与发展, 2019, 29(1): 80-84, 89.
CAO Juan, GONG Junpeng, ZHANG Pengzhou. Review of data-to-text generation[J]. Computer Technology and Development, 2019, 29(1): 80-84, 89. (in Chinese)
[2]
Wiseman S, Shieber S, Rush A. Challenges in data-to-document generation[C]//Proceedings of the 2017 Conference on Empirical Methods in Natural Language Processing. Stroudsburg, PA, USA: Association for Computational Linguistics, 2017: 2253-2263.
[3]
Duboue P A, McKeown K R. Statistical acquisition of content selection rules for natural language generation[C]//Proceedings of the 2003 conference on Empirical methods in natural language processing. Morristown, NJ, USA: Association for Computational Linguistics, 2003: 121-128.
[4]
Barzilay R, Lapata M. Collective content selection for concept-to-text generation[C]//Proceedings of the conference on Human Language Technology and Empirical Methods in Natural Language Processing-HLT'05. Morristown, NJ, USA: Association for Computational Linguistics, 2005: 331-338.
[5]
Liang P, Jordan M I, Klein D. Learning semantic correspondences with less supervision[C]//Proceedings of the Joint Conference of the 47th Annual Meeting of the ACL and the 4th International Joint Conference on Natural Language Processing of the AFNLP: Volume 1-ACL-IJCNLP'09. Morristown, NJ, USA: Association for Computational Linguistics, 2009: 91-99.
[6]
Angeli G, Liang P, Klein D. A simple domain-independent probabilistic approach to generation[C]//Proceedings of the 2010 conference on empirical methods in natural language processing. Cambridge, Massachusetts: Association for Computational Linguistics, 2010: 502-512.
[7]
Konstas I, Lapata M. Unsupervised concept-to-text generation with hypergraphs[C]//Conference of the North American chapter of the association for computational linguistics: human language technologies. Montreal, Canada: Association for Computational Linguistics, 2012: 752-761.
[8]
Kondadadi R, Howald B, Schilder F. A statistical NLG framework for aggregated planning and realization[C]//Proceedings of the 51st annual meeting of the association for computational linguistics.Sofia, Bulgaria: Association for Computational Linguistics, 2013: 1406-1415.
[9]
Sowdaboina P K V, Chakraborti S, Sripada S. Learning to summarize time series data[M]. Computational Linguistics and Intelligent Text Processing. Berlin, Heidelberg: Springer Berlin Heidelberg, 2014: 515-528.
[10]
Gkatzia D, Hastie H, Lemon O. Comparing multi-label classification with reinforcement learning for summarisation of time-series data[C]//Proceedings of the 52nd Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers). Stroudsburg, PA, USA: Association for Computational Linguistics, 2014: 1231-1240.
[11]
Mahapatra J, Naskar S K, Bandyopadhyay S. Statistical natural language generation from tabular non-textual data[C]//Proceedings of the 9th International Natural Language Generation Conference. Stroudsburg, PA, USA: Association for Computational Linguistics, 2016: 143-152.
[12]
Hongyuan M, Mohit B, Matthew R W. What to talk about and how? Selective generation using LSTMs with coarse-to-Fine alignment[J/OL]. arXiv: Computation and Language, 2015(2015-09-02)[2019-09-25]. http://www.oalib.com/paper/4051216#.
[13]
Lebret R, Grangier D, Auli M. Neural text generation from structured data with application to the biography domain[C]//Proceedings of the 2016 Conference on Empirical Methods in Natural Language Processing. Stroudsburg, PA, USA: Association for Computational Linguistics, 2016: 1203-1213.
[14]
Qin G H, Yao J G, Wang X N, et al. Learning latent semantic annotations for grounding natural language to structured data[C]. Proceedings of the 2018 Conference on Empirical Methods in Natural Language Processing, Brussels, Belgium. Stroudsburg, PA, USA: Association for Computational Linguistics, 2018: 3761-3771.
[15]
Dzmitry B, Kyunghyun C, Yoshua B. Neural machine translation by jointly learning to align and translate[J/OL]. arXiv: Computation and Language, 2014[2019-09-25]. https://arxiv.org/abs/1409.0473.
[16]
Vaswani A, Shazeer N, Parmar N, et al. Attention is all you need[C]//Advances in neural information processing systems, Montreal: NIPS, 2017: 5998-6008.
[17]
Klein G, Kim Y, Deng Y T, et al. OpenNMT: open-source toolkit for neural machine translation[C]//Proceedings of ACL 2017, System Demonstrations. Stroudsburg, PA, USA: Association for Computational Linguistics, 2017: 62-72.
[18]
Papineni K, Roukos S, Ward T, et al. Bleu: a method for automatic evaluation of machine translation[C]//ACL'02 Proceedings of the 40th Annual Meeting on Association for Computational Linguistics.Stroudsburg, PA, USA: Association for Computational Linguistics 2002: 311-318.
[19]
Puduppully R, Dong L, Lapata M. Data-to-text generation with content selection and planning[J]. Proceedings of the AAAI Conference on Artificial Intelligence, 2019, 33: 6908-6915.
表 1 数据记录的样本(NBA赛事记录) Table 1 Example of data-records (NBA games)
表 2 人工撰写文本的样本(NBA赛事报道) Table 2 Example of human-written text(NBA games reports)
图 1 结合Transformer模型与深度神经网络的数据到文本生成方法概述 Fig. 1 Overview of data-to-text generation methods with Transformer model and deep neural network
图 2 文本生成器的流程 Fig. 2 Processing of text generator
表 3 CS、RG、CO和BLEU指标下的模型评测结果 Table 3 Evaluation results by model on CS, RG, CO and BLEU metrics
表 4 PPL指标下的模型评测结果 Table 4 Evaluation results by model on PPL metrics
表 5 BLEU(B-1, 2, 3, 4)指标下的模型评测结果 Table 5 Evaluation results by model on BLEU(B-1~B-4) metrics
结合Transformer模型与深度神经网络的数据到文本生成方法
许晓泓 , 何霆 , 王华珍 , 陈坚