原文链接:
https://aclanthology.org/2022.acl-long.180.pdf
ACL 2022
介绍
作者受到table-to-text任务(用于生成描述给定表格的文本语言)的启发,提出了text-to-table的新任务,根据给定的文本,来生成用于文本总结和文本挖掘的表格(如下图所示)。例如,体育比赛的得分表可以作为原始输入的总结,可以明显的看出运动员的表现。
作者认为与传统的IE(information extraction)方法比,text-to-table任务有以下不同:
1)text-to-table能够用于句子级别和文件级别,一般来说文件级的输出会更加复杂。
2)用于提取的模式隐含在训练数据中,例如标题。不需要明确地定义模式,减少了对模式设计和标注的人工成本。
方法
总体上,作者将该任务视为一个seq2seq,输入一段文本序列,与传统的seq2seq不同的是该认为要求输出表格。所以还是使用seq2seq的模型来解决该问题,并在该模型的基础上提出了两种方法:table constrain 和table relation embeddings,使得输出的表格更加的规范。
seq2seq
对于一个表格t,我们用一连串的单元格来代表每一行ti,这些单元格由分隔符划定(使用分离标记〈s〉,换行标记表示为〈n〉):
作者使用一连串的行来表示整个表,以换行标记为界:
示例中的运动员表格的表示如下图所示:
table constrain
即在解码阶段,会计算第一行单元格的数量,然后使其他行与该行对齐。
table relation embeddings
将行的关系embedding和列的关系embedding传入了transformer 解码器中进行自注意力计算。传统transform的decoder中,自注意力的公式如下(、、 分别对应注意力机制中的Q、K、V):
在作者提出的方法中,自注意的计算公式如下所示:
其中、表示第i个位置和第j个位置之间的关系向量表征,由以下方式定义:对于第i个位置的token,如果第j个位置的token数行标题的一部分,则和被设定为行关系embedding TrK和 TrV。同样地,如果j位置的token是列标题的一部分,则和被设置为列关系embedding,否则、为0。
”11“这个值和一个<s>的关系向量的构建如下图所示。红色和黄色额箭头分别表示与列头、行头的对齐情况。
在推理过程中,为了确定一个token的行标题和列标题,对目前产生的所有序列进行解析,使用序列中的换行和分离标记来创建一个部分表格(partial table)。
实验
数据集和实验设置
作者对table-to-text任务的数据集进行了一定处理,用于该任务的训练和测试。在每个数据集中,作者对只在表格中并没有出现在文本中的数据进行剔除。另外作者准备将处理后的数据进行公开,以便后续的研究。数据具体信息如下:
Rotowire数据集是关于体育的、E2E是关于餐厅的、WikiTableText是来自维基百科的一个开放阈数据集、WikiBio来自维基百科的传记页面。第一个数据集比较复杂、后三个数据集都比较简单。
由于目前不存在能直接运用于text-to-table任务的方法。因此作者将以下方法作为baseline:对于每个数据集,首先根据训练集定义一个框架,然后使用现有的关系提取或者命名实体识别的方法来提取信息,最后基于提取的信息和定义的框架来创建表格(具体步骤将在对应实验分析中介绍)。
作者定义了评价指标:1)标题正确的数量;2)非标题的单元格数量。具体的:
O(·) 表示相似计算的一种,作者考虑3种:1)完全匹配;2)Chrf:计算两个文本之间的字符集n-gram相似度;3)BERTScore 计算文本在BERT embedding的相似度。对于非标题的单元格,要计算对应单元格中的内容相似度,并将标题相似度和单元格内容相似度的乘积作为O(·)。
对比实验
在Rotowire数据集上的结果如下表所示(错误率指:输出序列不能表示为规范的表格所占百分比):
可以看见大多数情况下作者提出的方法效果是最好的(感觉也没有很好?)。文件级的RE比句子级的RE表现更好,因为在该数据集中有些信息只有在跨句子上下文的情况下才能被提取出来。
其中关系提取的baseline,是将队伍名字、运动员名字和分数作为实体,分数的类别(这里不是很明白 什么是分数的类别?)作为关系。句子级的RE预测每个句子中实体之间的关系,文件级的RE预测窗口(大小为12个实体)内实体之间的关系。
在剩余三个数据集上的表现如下表所示:
可以看出seq2seq方法比baseline表现要好,作者提出的方法与seq2seq相当,作者认为这是因为这三个数据集中的表格结构非常简单,一个表只有两列。因此提出的两种方法没有起到更好的效果。NER的baseline虽然有较高的精确度,但召回率较低,作者认为主要是NER只有在明确的情况下才能做出正确的决定。
其中NER baseline的实现:将非标题单元格作为实体,标题作为实体类型。在训练中,将非标题单元格与文本相匹配,只有部分非标题单元格能够匹配到文本中。
消融实验
作者对预训练语言模型、table constrain和table relation embeddings这3个部分进行消融实验,对非标题单元格的F1值(基于exact match)进行了展示:
可以看出作者提出的两个方法在Rotowire数据集上有了明显的提升,但在其他数据集上的表现不是很好,作者认为还是因为其他数据集的表格太简单了,而本文提出的方法在多个行、多列的表格中表现更好。另外,预训练模块能够极大的提升在所有数据集上的表现,特别是Rotowire和WikiTableText数据集,这表明预训练语言模型在任务复杂且训练数据集少的情况是是很有帮助的。
作者还对预训练模型规模的大小进行了实验,结果如下所示:
可以看出在使用BART large的情况下,得到的结果更好。
作者发现原始的seq2seq模型比本文提出的方法错误率更高,以下就是一个例子:
讨论
作者任务text-to-table任务存在以下挑战:
1)文本的多样性:(同义词)使用不同表达的同一个实体。
2)文本的冗余性:数据集中往往存在冗余的信息,这就要求tetx-to-table模型有较好的总结能力。
3)大型的表格。
4)背景知识:对于开放阈的信息,需要用到很多背景只是,解决该问题的方法就是使用更大的预训练模型或者外部知识库
5)逻辑性:有些信息没有明显的表示在文本中,因此逻辑推理也是重要的能力。
总结
本文最大的创新点应该就是提出的这个新任务:text-to-table(但其实这个不就是table-to-text的逆过程吗?感觉任务创新点也不是很大) ,并且基于seq2seq模型提出了两个方法来规范序列模型的输出(说实话,感觉table constrain 这也算一个techniques?)。实验结果也不是很好,跟不加这两个方法的seq2seq模型比较,效果也没有很好。(但也可能是我不太懂,理解有些片面。)