Text-to-Table: A New Way of Information Extraction

news2025/1/13 3:06:21

原文链接:

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中,自注意力的公式如下(W^{Q}W^{K}W^{V} 分别对应注意力机制中的Q、K、V):

        在作者提出的方法中,自注意的计算公式如下所示:

         其中r_{ij}^{K}r_{ij}^{V}表示第i个位置和第j个位置之间的关系向量表征,由以下方式定义:对于第i个位置的token,如果第j个位置的token数行标题的一部分,则r_{ij}^{K}r_{ij}^{V}被设定为行关系embedding TrK和 TrV。同样地,如果j位置的token是列标题的一部分,则r_{ij}^{K}r_{ij}^{V}被设置为列关系embedding,否则r_{ij}^{K}r_{ij}^{V}为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 constraintable 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模型比较,效果也没有很好。(但也可能是我不太懂,理解有些片面。)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/598430.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

分布式基础概念

分布式基础概念 1. 微服务2. 集群&分布式&节点3. 远程调用4. 负载均衡5. 服务注册/发现&注册中心6. 配置中心7. 服务熔断&服务降级8. API网关 1. 微服务 微服务架构风格&#xff0c;就是把一个单体架构按照业务拆分成多个服务模块&#xff0c;每个模块之间独立…

LAMP架构搭建实操(终有弱水替沧海,再无相思寄巫山”大概意思就是,你会遇到很多人,但不会有人像我那么爱你了。)

文章目录 一、安装Nginx服务1.安装依赖包2.创建Nginx运行用户3.编译安装Nginx源码包4.优化路径便于使用5、添加 Nginx 系统服务 二、安装Mysql服务1.安装Mysql环境依赖包2.创建Mysql运行用户3.编译安装4.修改mysql配置文件5.更改mysql安装目录和配置文件的属主属组6.设置路径环…

想知道如何把录音转变为文字?这三个录音转文字的方法和你分享

将录音转换为文字有许多实际应用场景&#xff0c;比如会议记录、学习和研究、采访记录、法律领域、医学领域、市场调研等等。总而言之&#xff0c;将录音转换为文字可以提供便利和效率&#xff0c;使得音频内容更易于阅读、搜索和编辑&#xff0c;并在需要时更方便地引用和分析…

Linux -- 进阶 Web服务器 搭建基于 HTTPS 协议的静态网站 (实验实操)

现在我们想架设一个 互联网网站的话&#xff0c;我们就得想法认证自己是官方的&#xff0c;得产生一个证书 这个证书呢&#xff0c;我们使用的是 X.509 格式的证书 该证书 包含三个文件 &#xff1a; key , csr , crt 。 先介绍下 &#xff1a; PKI&#xff08;Public Ke…

C++中关于引用变量初始化的一些总结

目录 1 问题2 引用初始化的说明3 示例代码 1 问题 函数的引用参数要求比较严格&#xff0c;今天就因为一个问题卡住了。我将此问题简化为下面的演示代码&#xff0c; #include <stdio.h>class CBase { public:CBase() {};virtual ~CBase() {}; };class CDerive :public …

Baumer工业相机堡盟工业相机如何使用BGAPISDK联合Halcon将图像中的六一快乐字体提取出来(C#)

Baumer工业相机堡盟工业相机如何使用BGAPISDK联合Halcon将图像中的六一快乐字体提取出来&#xff08;C#&#xff09; Baumer工业相机Baumer工业相机使用Halcon图像算法的技术背景Baumer工业相机通过BGAPI SDK联合Halcon使用图像算法1.引用合适的类文件2.BGAPISDK在图像回调中引…

ppt怎么转pdf?经验分享

随着现代技术的不断发展&#xff0c;PPT已经成为了一种常见的演示工具。然而&#xff0c;在某些情况下&#xff0c;我们需要将PPT转换成PDF文件。PDF文件具有易读性强、占用空间小、易于传输等优点&#xff0c;因此在一些场合下&#xff0c;PDF文件更为实用。那么&#xff0c;如…

【JavaSE】Java基础语法(四十二):NIO

文章目录 1. 概述2. NIO与BIO的区别3. NIO三大模块4. NIO创建缓冲区对象【应用】5. NIO缓冲区添加数据【应用】6. NIO缓冲区获取数据【应用】7. 小结 1. 概述 BIO Blocking IO,阻塞型IONIO No Blocking IO,非阻塞型IO阻塞IO的弊端 在等待的过程中,什么事也做不了非阻塞IO的好处…

【正点原子STM32连载】 第二十三章 电容触摸按键实验 摘自【正点原子】STM32F103 战舰开发指南V1.2

1&#xff09;实验平台&#xff1a;正点原子stm32f103战舰开发板V4 2&#xff09;平台购买地址&#xff1a;https://detail.tmall.com/item.htm?id609294757420 3&#xff09;全套实验源码手册视频下载地址&#xff1a; http://www.openedv.com/thread-340252-1-1.html 第二十…

Java网络开发(Tomcat)—— 登陆 和 注册功能 的实现 和 迭代升级

目录 引出登陆功能---从html到jsp1.登陆--用post请求2.用html文件的form表单登陆&#xff08;1&#xff09;index.html页面&#xff08;2&#xff09;login.html登陆的页面&#xff08;3&#xff09;LoginServlet.java处理输入信息的代码&#xff08;4&#xff09;登陆成功&…

分布式事务一 事物以及分布式事物介绍

一 事务简介 事务(Transaction)是访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。在关系数据库中&#xff0c;一个事务由一组SQL语句组成。事务应该具有4个属性&#xff1a;原子性、一致性、隔离性、持久性。这四个属性通常称为ACID特性。 原子性&#xff08;at…

MyBatis - Spring Boot 集成 MyBatis

文章目录 1.版本要求2.导入依赖3.自动配置2.可配置项 MyBatis-Spring-Boot-Starter 可以帮助你更快地在 Spring Boot 之上构建 MyBatis 应用。通过使用该模块我们能够快速实现以下目的&#xff1a; 构建单体应用程序将几乎不需要样板配置使用更少的 XML 配置 1.版本要求 MyB…

Apache Kafka - 构建数据管道 Kafka Connect

文章目录 概述主要概念ConnectorTasksWorkesConvertersTransformsDead Letter Queue 主要使用场景主要价值Kafka Connect API vs Producer 和 Consumer API构建数据管道时需要考虑的主要问题ETL VS ELT数据整合方式的不同ETL 和 ELT 各有优缺点: 概述 Kafka Connect 是一个工具…

Linux二——Web基础与HTTP协议

Web基础与HTTP协议 一、Web基础1. 域名的概念2.域名空间结构3.域名注册4.网页的概念5. HTML概念6.网页基本标签1 二、HTTP协议1.HTTP概念2.HTML的基本标签3.头标签中常用标签4.内容标签中常用的标签 三、动态网页与静态网页1.静态网页2.动态网页3.动态网页和静态网页的区别4.动…

软件测试目的是什么?软件测试公司可提供哪些测试服务类型?

随着科技的不断发展&#xff0c;软件行业的发展也越来越迅速。然而&#xff0c;随着软件的增多和复杂性的提高&#xff0c;开发者们需要更多的手段来确保软件质量。软件测试就是通过一系列的测试来发现软件的问题&#xff0c;从而提高软件的质量。 一、软件测试目的是什么? …

Unity中的UniTask如何取消指定的任务或所有的任务

今天儿童节&#xff0c;犬子已经9个多月了&#xff0c;今天是他的第一个儿童节。中年得子&#xff0c;其乐无穷无尽啊… 〇、 示例效果 一连创建5个异步任务[id 从0~4]&#xff0c;先停止其中的第id 4的任务&#xff0c;再停止所有的任务 一、CancellationTokenSource有什…

利用矩阵分解实现图像压缩(实验)

机器学习的课程&#xff0c;老师布置了一个实验报告&#xff0c;当我看到实验内容&#xff0c;傻眼了&#xff0c;手写计算矩阵特征值和特征向量的函数&#xff0c;这给我整无语了&#xff0c;直接调用已有的不好吗&#xff0c; 我直接摆烂。 实验报告放这了&#…

【C#图解教程】 第六章 方法(上)

方法的结构 方法是一块具有名称的代码&#xff0c;在类和结构中都经常用到 局部变量 局部变量位于方法内部&#xff0c;在方法中声明时产生&#xff0c;在方法执行结束时结束 类型推断与var关键字 某些情况下&#xff0c;在声明的开始部分包含类型名是多余的&#xff0c;因为…

Python-python判断语句:布尔类型和比较运算符、if语句的基本格式、if else语句、if el if else语句、判断语句的嵌套、实战案例

版本说明 当前版本号[20230601]。 版本修改说明20230601初版 知识总览图 目录 文章目录 版本说明知识总览图目录Python判断语句布尔类型和比较运算符布尔类型布尔类型的定义 比较运算符 if语句的基本格式if判断语句if语句的注意点 if else 语句语句注意点 if elif else语句注…

7min 到 40s:SpringBoot 优化居然可以玩出这么多花样!

0 背景 公司 SpringBoot 项目在日常开发过程中发现服务启动过程异常缓慢&#xff0c;常常需要6-7分钟才能暴露端口&#xff0c;严重降低开发效率。通过 SpringBoot 的 SpringApplicationRunListener 、BeanPostProcessor 原理和源码调试等手段排查发现&#xff0c;在 Bean 扫描…