Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

龚恒作者

EMNLP 2019 | 融合行、列和时间维度信息的层次化编码模型进行面向结构化数据的文本生成

论文名称:Table-to-Text Generation with Effective Hierarchical Encoder on Three Dimensions (Row, Column and Time)

论文作者:龚恒,冯骁骋,秦兵,刘挺

原创作者:龚恒

论文链接:https://www.aclweb.org/anthology/D19-1310/

1.任务

面向结构化数据的文本生成技术是文本生成的重要研究任务之一,其目标是由计算机根据给定的结构化数据自动生成相关的描述性文本。Gatt[1]等人的研究表明,文字描述要比数据和图表能更好的帮助用户对其进行理解和决策。如图1所示,输入的结构化数据包括某场体育赛事中球员和球队的相关统计数据,输出的是有关的赛事报道。

图1 ROTOWIRE数据集中的一个例子。左侧为输入的球队/球员的统计数据,右上为基线模型生成的结果,右下为参考文本。

2.背景和动机

近几年,ROTOWIRE数据集受到了研究者的关注。相比而言,它输入的结构化数据包括628个三元组(<球队/球员名,数据类型,数据值>),输出的文本(测试集)平均包含约24个三元组的信息。这意味着模型内容选择的能力是生成高质量赛事报道的关键之一。Wiseman[2]等人在提出这个数据集的时候探索了Joint Copy和Conditional Copy两种拷贝机制的效果,发现后者的效果较好。Li[3]等人通过首先生成模版,然后进行填槽的方法提升模型准确描述表格信息的能力。Nie[4]等人通过引入预定义的操作符计算得到的结果,增强生成高保真度文本的能力。Puduppully[5]等人提出两步生成模型,通过首先进行内容选择和规划,然后进行文本生成,提高了模型内容选择的能力。今年的ACL会议上,Puduppullyp[6]等人通过对实体进行建模,Iso [7]等人提出跟踪和生成模块进一步增强模型的性能。

但是,这些方法更关注解码时候的改进,在对表格进行建模的时候大多将628个三元组分别进行建模或视为一个长序列进行建模。我们认为,表格的建模方式仍有提升的空间。因为(1)表格包含行和列的结构信息,分别反映一个球队/球员的所有信息以及一类数据(如得分)不同球员的表现。将所有的信息视为一个长序列或者分开建模丢失了这种丰富的结构信息。(2)表格中的数值数据其实是一种时序信息。例如,多场比赛中某一个球员的得分数据的变化可以反映这个球员发挥水平的变化。

为了解决上面提到的问题,我们提出了一个层次化编码器同时建模表格的行、列和时间维度的信息。3.2和3.3对该方法进行了详细介绍。

3.方法

3.1 基线模型

基线模型采用的是基于注意力机制和条件拷贝机制(conditional copy)的序列到序列模型。对于每个三元组信息以及额外增加的一个球队/球员是否主场作战的特征,采用多层感知器进行建模:,其中,代表这个三元组球员/球队名的embedding,代表数据类型的embedding,代表数值的embedding,代表特征的embedding,是训练参数,接下来用表示编码得到的三元组表示。基于Luong[8]等人提出的基于注意力机制序列到序列模型,可以得到解码器第t步的状态和attention后得到的状态。条件拷贝机制将第t步生成各个词的概率分解成两个部分:从表格拷贝和从词表生成。其中是预测当前步应该从表格中进行拷贝的概率。代表用attention得到的权重作为具体拷贝某个词的概率。是根据解码器attention后得到的状态预测的从词表中生成某个词的概率。

3.2 三层层次化编码器

为了改进现有模型对表格的建模,我们提出三层层次化编码器。

(1)第一层:分别采用自注意力机制表示一个三元组数据与和它同行数据之间的关系、同列数据之间的关系以及和历史数据之间的关系。由于历史数据具有时序性,所以在对历史数据建模的时候,我们加入了Position Embedding。

以行维度的表示为例:

(2)第二层:我们采用了一个融合门机制将三元组来自行、列和时间维度的信息进行融合。首先通过多层感知器得到三元组来自行、列和时间维度的总体表示。然后通过对比,计算针对这个三元组,它的行、列以及时间维度表示的重要性,最后通过加权求和得到最终的三元组表示。用新得到的替换基线模型中的。以列维度的重要性为例:

(3)第三层:我们通过三元组表示的池化以及门机制[5],得到表格中每一行(球队/球员)的表示。

3.3 双注意力机制

由于层次化解码器提供了每一行(球队/球员)的表示,以及每一个三元组数据的表示,解码阶段,首先通过注意力机制从每一行(球队/球员)的表示中找到重要的信息,然后对每一行对应的数据通过注意力机制找到重要的具体三元组信息进行生成。

图2 融合行、列和时间维度信息的三层层次化编码器框架图

4. 实验

4.1  数据集

我们采用公开的ROTOWIRE数据集进行训练和测试,训练、开发和测试集的划分依照提出这个数据集的论文[2]进行。

4.2  评价指标

除了文本生成任务上常用的基于N-Gram匹配计算的BLEU值以外,Wiseman[2]等人提出通过训练一个信息抽取模型,从生成的文本中抽取三元组,和表格以及参考文本进行对比进行评价,得到RG、CS和CO三类指标。其中,RG通过对比生成的文本中抽取三元组和表格中的信息判断生成的内容是否正确。CS通过对比生成的文本中抽取三元组和参考文本中抽取三元组,判断生成的内容包含重要信息的能力,CO也是通过对比生成文本中抽取的三元组和参考文本中抽取的三元组判断生成的文本对于信息的排列是否自然。

人工评价部分,我们做了两组实验。第一组实验我们要求评价者统计各个句子里包含的正确的三元组数量(#Sup),以及和表格中的信息冲突的三元组数量(#Cont)。第二组实验我们每次给评价者两个不同模型生成的赛事报道,要求他们从语法(Gram),连贯性(Coher)和简明性(Conc)三个角度判断哪个结果最佳。图4中报告的数值是各个模型被判定更好的比例减去被判定较差的比例。

4.3  自动化评价结果

我们对比了基线模型、基于模版生成的结果、截止投稿时该数据集上的SOTA模型,一系列层次化编码模型,并且进行了消融实验,分析我们提出的模型中各个部件的影响,发现:

(1)在开发集和测试集上我们的模型在RG的准确率、CS的F1值、CO和BLEU上超越了之前的模型。

(2)和层次化编码模型的对比体现了引入列和时间维度的信息有助于提升模型的效果。

(3)消融实验表明各个组件都对最终提升模型性有帮助。

图3 自动化评价结果

4.4 人工评价结果

我们对比了我们的模型和基线模型(CC)、SOTA NCP+CC模型、基于模版生成的结果和参考文本生成的结果,发现:

(1)相比于另外两个基于神经网络的模型,我们的模型生成更少的错误信息。

(2)相比于另外两个基于神经网络的模型,我们的模型在语法(Gram),连贯性(Coher)和简明性(Conc)上表现更好。

图4 人工评价结果

4.5 生成案例

图5生成的案例体现了我们模型生成的文本中的一些优势:

(1)  正确的选出了图1所示基线模型没能选出的重要的球员Al Jefferson,这需要模型正确理解不同球员之间表现水平的关系(列维度的信息)。

(2)  正确提到了Al Jefferson拿到了“两双”,这需要模型捕捉这个球员各项数据之间的关系(行维度的信息)。

(3)  正确提到这是他三场比赛中第二次拿到这样的数据,这需要模型建模历史数据(时间维度的信息)。

图5 生成案例

5. 结论

本文中,我们提出了一个有效的层次化编码器模型,同时建模表格的行、列和时间维度的信息,并且在解码时首先选择重要的球队/球员(行),然后再选择重要的数据。自动化评价指标和人工评价结果均表明我们的模型相比之前的模型在生成正确文本、内容选择能力上得到提升。

参考文献

[1]Albert Gatt, Francois Portet, EhudReiter, James Hunter, Saad Mahamood, Wendy Moncur, and Somayajulu Sripada.2009. From Data to Text in the Neonatal Intensive Care Unit: Using NLGTechnology for Decision Support and Information Management. AI Communications, 22:153-186.

[2]Sam Wiseman, Stuart Shieber, andAlexander Rush. 2017. Challenges in data-to-document generation. In Proceedingsof the 2017 Conference on Empirical Methods in Natural Language Processing,pages 2253–2263. ACL.

[3]Liunian Li and Xiaojun Wan. 2018. Pointprecisely: Towards ensuring the precision of data in generated texts usingdelayed copy mechanism. In Proceedings of the 27th International Conference onComputational Linguistics, pages 1044–1055. ACL.

[4]Feng Nie, Jinpeng Wang, Jin-Ge Yao,Rong Pan, and Chin-Yew Lin. 2018. Operation-guided neural networks for highfidelity data-to-text generation. In Proceedings of the 2018 Conference onEmpirical Methods in Natural Language Processing, pages 3879–3889. ACL.

[5]Ratish Puduppully, Li Dong, and MirellaLapata. 2019. Data-to-text generation with content selection and planning. InProceedings of the AAAI Conference on Artificial Intelligence, pages 6908–6915.Association for the Advancement of Artificial Intelligence.

[6]Ratish Puduppully, Li Dong, and MirellaLapata. 2019. Data-to-text Generation with Entity Modeling. In Proceedings ofthe 57th Annual Meeting of the Association for Computational Linguistics, pages2023-2035. ACL.

[7]Hayate Iso, Yui Uehara, TatsuyaIshigaki, Hiroshi Noji, Eiji Aramaki, Ichiro Kobayashi, Yusuke Miyao, NaoakiOkazaki, and Hiroya Takamura. 2019. Learning to Select, Track, and Generate forData-to-Text. In Proceedings of the 57th Annual Meeting of the Association forComputational Linguistics, pages 2102-2113. ACL.

[8]Thang Luong, Hieu Pham, and ChristopherD. Manning. 2015. Effective approaches to attention-based neural machinetranslation. In Proceedings of the 2015 Conference on Empirical Methods inNatural Language Processing, pages 1412–1421. ACL.

哈工大SCIR
哈工大SCIR

哈尔滨工业大学社会计算与信息检索研究中心

理论EMNLP 2019文本生成NLP结构化数据
相关数据
Li Dong人物

现任职于爱丁堡大学语言认知计算中心(ILCC),研究兴趣:缔结结构化数据和文本之间的桥梁。

刘挺人物

哈工大人工智能研究院副院长,国内NLP方向领军人物。

池化技术

池化(Pooling)是卷积神经网络中的一个重要的概念,它实际上是一种形式的降采样。有多种不同形式的非线性池化函数,而其中“最大池化(Max pooling)”是最为常见的。它是将输入的图像划分为若干个矩形区域,对每个子区域输出最大值。直觉上,这种机制能够有效的原因在于,在发现一个特征之后,它的精确位置远不及它和其他特征的相对位置的关系重要。池化层会不断地减小数据的空间大小,因此参数的数量和计算量也会下降,这在一定程度上也控制了过拟合。通常来说,CNN的卷积层之间都会周期性地插入池化层。

权重技术

线性模型中特征的系数,或深度网络中的边。训练线性模型的目标是确定每个特征的理想权重。如果权重为 0,则相应的特征对模型来说没有任何贡献。

自注意力技术

自注意力(Self-attention),有时也称为内部注意力,它是一种涉及单序列不同位置的注意力机制,并能计算序列的表征。自注意力在多种任务中都有非常成功的应用,例如阅读理解、摘要概括、文字蕴含和语句表征等。自注意力这种在序列内部执行 Attention 的方法可以视为搜索序列内部的隐藏关系,这种内部关系对于翻译以及序列任务的性能非常重要。

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

规划技术

人工智能领域的「规划」通常是指智能体执行的任务/动作的自动规划和调度,其目的是进行资源的优化。常见的规划方法包括经典规划(Classical Planning)、分层任务网络(HTN)和 logistics 规划。

注意力机制技术

我们可以粗略地把神经注意机制类比成一个可以专注于输入内容的某一子集(或特征)的神经网络. 注意力机制最早是由 DeepMind 为图像分类提出的,这让「神经网络在执行预测任务时可以更多关注输入中的相关部分,更少关注不相关的部分」。当解码器生成一个用于构成目标句子的词时,源句子中仅有少部分是相关的;因此,可以应用一个基于内容的注意力机制来根据源句子动态地生成一个(加权的)语境向量(context vector), 然后网络会根据这个语境向量而不是某个固定长度的向量来预测词。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

准确率技术

分类模型的正确预测所占的比例。在多类别分类中,准确率的定义为:正确的预测数/样本总数。 在二元分类中,准确率的定义为:(真正例数+真负例数)/样本总数

生成模型技术

在概率统计理论中, 生成模型是指能够随机生成观测数据的模型,尤其是在给定某些隐含参数的条件下。 它给观测值和标注数据序列指定一个联合概率分布。 在机器学习中,生成模型可以用来直接对数据建模(例如根据某个变量的概率密度函数进行数据采样),也可以用来建立变量间的条件概率分布。

序列到序列技术

信息抽取技术

信息/数据抽取是指从非结构化或半结构化文档中提取结构化信息的技术。信息抽取有两部分:命名实体识别(目标是识别和分类真实世界里的知名实体)和关系提取(目标是提取实体之间的语义关系)。概率模型/分类器可以帮助实现这些任务。

文本生成技术

文本生成是生成文本的任务,其目的是使人类书写文本难以区分。

F1值技术

为了能够评价不同算法的优劣,在Precision和Recall的基础上提出了F1值的概念,来对Precision和Recall进行整体评价。F1的定义如下: F1值 = 正确率 * 召回率 * 2 / (正确率 + 召回率)

暂无评论
暂无评论~