Press "Enter" to skip to content

ACL 2022 | Text-to-Table:一种新的信息抽取任务

字节跳动 AI Lab 提出了一种全新的信息抽取任务 Text-to-Table:使用表格来展示自然语言文本中的主要信息 。表格具有清晰的结构,比纯文本更易读、更易理解,可以提高阅读者的阅读效率和阅读意愿。通过将表格进行序列化表示,我们便可以将常见的序列到序列模型用于表格的生成。为了更好地利用表格的结构化信息,研究中提出了两种改进方式来提升使用序列到序列模型生成表格的效果。目前这一成果已被 ACL 2022 接收,相关的数据集和代码也已经开源。

 

 

论文地址:

 

https ://arxiv.org/abs/2109.02707

 

项目地址:

 

https://github.com/shirley-wu/text_to_table

 

想要了解更多本篇论文的详情?

 

欢迎到TechBeat人工智能社区查看由 伊利诺伊大学香槟分校在读博士生吴雪晴 带来的Talk 《Text-to-Table:一种新的信息抽取任务》 。

 

观看链接:

 

https://www.techbeat.net/talk-info?id=692

 

一、简介

 

信息抽取任务旨在提取自然语言文本数据中的信息,将其用结构化的形式展示。命名实体识别、关系抽取、事件提取都是经典的信息抽取任务,这些任务通常都需要利用已经定义好的结构化表示(schema),例如命名实体识别需要从文本中抽取(实体名,实体种类)的二元组集合,而关系抽取需要抽取(主实体,客实体,关系)的三元组列表。

 

这篇工作提出了一种新颖的信息抽取任务设定,称为 Text-to-Table 。该任务的目标是使用一个或多个表格来展示一段自然语言文本的主要内容。例如,对于一场篮球比赛的战报,可以使用两个表格来概括这份战报,第一个表格给出两支球队的信息和得分情况,而第二个表格列出了双方球员在这场比赛中的数据。文中提出一种将表格进行序列化表示的方法,并使用序列到序列模型来生成表格。这样做的优点在于表格的结构化信息 (schema) 完全可以从数据中学习,不需要人工显式指定。此外,该方法既可以用于句级别的信息抽取,也可以用于篇章级别的信息抽取。虽然两者的边界并不是很明晰,但通常来说,篇章级别的长文本输入可以生成更大、内容更复杂的表格。

 

 

Text-to-Table 任务有多种使用场景。首先,它自身就是一种文本摘要 (Text summarization) 的方式,可以将大段文本中的关键信息用表格概括。比起文本,表格信息具有良好的结构,更加容易理解,可以提高阅读者获取信息的效率。除此之外,该任务对下游的数据挖掘任务也有帮助。例如球队和球员的数据表可以用来评估球队和运动员的表现,而利用 wikipedia 文本生成的信息表格 (infobox) 可以用于建立知识图谱。

 

这篇工作受到了 Data-to-Text 任务的启发,Data-to-Text 任务的目的是为结构化表格生成文本描述,Text-to-Table 任务可以认为是它的反向任务。得益于此,Text-to-Table 任务中可以用 Data-to-Text 的数据来训练和评估模型。

 

本文的主要贡献总结如下:

 

提出了一种全新的信息抽取任务 Text-to-Table ,并利用已有的 Data-to-Text 数据集来组建该任务的数据集。

 

将 Text-to-Table 形式化为序列到序列生成的问题,并在基础的序列到序列模型上提出表格解码约束和表格关系向量两项改进提升表格生成的效果。

 

在不同领域的四个数据集 (Rotowire、E2E、WikiTableText、WikiBio) 上进行深入的实验来验证方法的有效性,并指出了 Text-to-Table 任务中存在的多个挑战。

 

二、表格的序列化表示

 

表格的内容通常由行标题 (row header)、列表题 (column header) 和单元格 (cell) 组成。行标题和列标题用来标识每一行/列内容的含义,如下表中第一行的 “Assists”、”Points” 等文本是列标题,表示该列的数据分别是助攻数和得分,而第一列的 “Al Horford” 、”Derrick Rose” 等文本是行标题,表示该行的数据所归属的球员。根据表格是否拥有行列标题,可以将表格分成三种种类: 同时有行标题和列标题;只有行标题;和只有列标题的表格。

 

在信息抽取方法中,不同种类的表格可以用不同的结构化表示。同时有行标题和列标题的可以用一个三元组的集合表示,如下表所示,(Al Horford, Assists, 5)、(Al Horford, points, 15)都是该集合的元素;而只有行标题的表格可以用一个二元组的集合表示。预定义的结构表示使得部分已有的信息抽取方法也可以用于特定数据集的表格生成:例如关系抽取可以用于 Rotowire,而命名实体识别可以用于 E2E、WikiTableText、WikiBio。但是,不同数据集中表格结构不同,这些方法无法被用于所有数据集中。

 

 

该研究提出将表格序列化表示。如上图所示,引入了两个特殊符号<s>和<n>来表示表格的结构化信息,其中<s>表示表格单元之间的分隔符,而<n>表示换行符。表格的每一行由分隔符<s>隔开的单元格组成,而完整的表格序列则由<n>隔开的行组成,表格的内容、结构化信息都包含在了序列之中。基于此,Text-to-Table 被形式化为一个序列到序列 (sequence-to-sequence) 的问题: 给定一个输入文本,使用序列到序列模型生成表格的序列化表示 。和已有的信息抽取任务相比,Text-to-Table 有以下特点:

 

可以在句级别或篇章级别使用。虽然两者的边界并不是很明晰,但通常来说,使用篇章级别的长文本可以生成更复杂的表格。

 

表格的结构信息 (Schema) 都是从数据中学习的,不需要显式指定。只要表格能够被序列化表示,就可以用相同的序列到序列方法进行生成。

 

三:模型改进

 

尽管基础的序列到序列模型 (Vanilla sequence-to-sequence model) 就可以用于 Text-to-Table 任务,但是它没有利用好表格中的结构化信息,会给表格的生成带来一系列的问题。如下图所示,不受控的序列到序列解码过程可能会生成错误的表格结构,在第一行有8列的情况下,模型生成了第二行的前7列后就生成了换行符<n>,导致两行的列数不一致。此外,虽然模型识别出球员 Rondo 得到了7分 (7 points) 和8个篮板 (8 total rebounds),但生成表格时却未将单元格准确地对齐到正确的列。

 

 

对此,文中提出对模型进行两项改进,可以有效利用表格结构信息,改善表格生成的效果。首先,为了保证表格结构是良好的,使用表格解码约束 (Table constraints) 来限制特殊结构符号的生成。受限解码在生成第一行时不做任何限制,并记录第一行的列数。生成后续的行时,通过限制特殊结构符号<s>和<n>的生成来保证其列数和第一行是一致的。解码限制可以保证每一个生成的表格都具有良好的结构。

 

其次,使用表格关系向量 (Table relation embeddings) 能够对单元格之间的关系进行建模,有效利用单元格所在行、列的信息。如下图所示,两种表格关系向量分别为行标题向量 (row header relation)和列标题向量 (column header relation),用来表示非标题单元格与其行/列标题之间的关系。

 

 

表格关系向量应用在模型解码器的自注意力层中。在下图中,左侧是原始的自注意力计算公式,计算输出序列中第 个符号到第 个符号之间的注意力,右侧公式在 key 和 value 上都添加了表格关系向量 来表示这两个符号在表格结构上的关系。当第 个符号是第 个符号的行/列标题的一部分时(注:一个行列标题可能由多个词或子词组成),表格关系向量设为行/列标题向量,否则将其设为零向量。

 

 

四:数据集和实验结果

 

本文在四个数据集 (Rotowire、E2E、WikiTableText、WikiBio) 上进行了 Text-to-Table 表格生成任务的实验,对比了传统信息抽取方法、基础序列到序列模型和结构化改进后模型的效果。以下是四个数据集的简介和示例:

 

Rotowire: 每个数据对包含一段篮球比赛战报和两个表格,表格分别是球队的数据和球员的表现。该数据集的输入文本较长,表格也有多行多列,是很有挑战性的数据集。

 

 

E2E、WikiTableText 和 WikiBio: 每个数据对包含一段文本和一个含有两列的表格。E2E是餐厅评价数据集、而 WikiTableText 和 WikiBio 都是 Wikipedia 数据。

 

 

实验中使用 F1 来评价行列标题生成的准确率和非标题单元格生成的准确率。计算 F1 时分别使用了完全匹配 (Exact) 、字符级别匹配 (Chrf) 和BERTScore (BERT) 来衡量预测的结果和标准答案的相似度。下表对比了不同的方法在Rotowire数据集上的效果。改进后的序列到序列模型 (Our method) 起到了最好的效果,其次是基础的序列到序列模型 (Vanilla Seq2Seq),两者都显着好于使用关系抽取方法 (RE) 生成的表格。

 

 

下表对比了改进后的序列到序列模型 (Our method)、基础的序列到序列模型 (Vanilla Seq2Seq) 和命名实体识别 (NER) 在其余三个数据集上的效果。在这三个表格结构简单的数据集上 (表格仅有两列),改进后的序列到序列模型模型和基础版的效果相当。命名实体识别基线的F1得分不如序列到序列模型,因为它仅在比较确定时才会做出判断,它的准确率高但召回率低。

 

 

下表是在四个数据集上进行消融学习 (ablation study) 的结果,其中 Pre 表示使用预训练模型初始化,TC 表示表格解码约束 (Table Constraint),TRE表示表格关系向量 (Table Relation Embeddings) 。文中提出的两种改进方法在 Rotowire 数据集上都起到了显着的提升,说明这些方法在有多行多列的大表格上非常有效。但是因为其余几个数据集上的表格结构都非常简单,这两个方法在结构简单的数据集上无法提升效果。此外,使用预训练模型也可以显着提升在每个数据集上的效果,其中对数据量小且难度高的 Rotowire 和 WikiTable 数据集的提升尤为显着。而 E2E 数据集较为简单,WikiBio 数据量大,预训练模型在这两个数据集上的提升较小。

 

 

基础的序列到序列模型在 Rotowire 数据集上经常生成结构错误的表格,尤其是在行列数最多的球员数据表格上,错误率高达 7.40%。这说明了序列到序列模型无法很好地将单元格内容和其对应的行列标题对齐。研究中提出的两个改进方案可以有效解决这个问题,在避免表格结构错误的同时,利用结构信息将单元格对齐到对应的行列标题,提升了复杂表格生成的准确率。

 

五:总结和挑战

 

该研究提出了 Text-To-Table ,一个全新的信息抽取任务。该任务将文本中的关键信息提取为表格。通过将表格序列化表示,使用序列到序列的模型可以进行表格生成任务。针对序列到序列模型无法良好利用表格结构信息的缺点,论文中提出了两种改进方案,使序列到序列模型可以更好地利用表格的结构化信息,提升表格生成任务的效果。

 

Text-To-Table 任务有广泛的应用前景,可以作为文本摘要手段使用,也可以给下游的数据挖掘任务提供支持。但是实验结果表明该任务仍然有很多挑战有待解决。研究分析了在四个不同的数据集上的效果,总结了五项关键的挑战:

 

文本多样性: 模型需要具备从同义词中识别出同一个实体的能力。例如Rotowire数据集中 “Knicks” 和 “New Tork”(球队 Knicks 的家乡城市)指代的是同一支队伍。

 

文本冗余: Text-to-Table 任务同时也是一项文本概括任务,需要模型有足够强的能力将文本中的不重要的部分省略掉。

 

多行多列表格生成: 虽然文中提出了两项改进,但从长篇文本中生成多行多列的大表格仍然是很困难的。

 

背景知识储备: 使用 WikiTableText 和 WikiBio 等开放领域的数据集做表格生成时,背景知识是非常重要的。更强的预训练模型和外部知识库潜在能够提供更多背景知识。

 

推理能力增强: 关键信息有时会间接地表示在文本中,需要推理获得。模型必须有推理能力才能够解决此类问题。

 

 

作者: 吴雪晴

Illustration  b y Oleg Shcherba from icon s8

Be First to Comment

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注