Loading [MathJax]/jax/output/CommonHTML/jax.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【NLP】ACL2020表格预训练工作速览

【NLP】ACL2020表格预训练工作速览

作者头像
yuquanle
发布于 2020-08-27 08:46:22
发布于 2020-08-27 08:46:22
6.1K0
举报
文章被收录于专栏:AI小白入门AI小白入门

作者:哈工大SCIR 潘名扬、窦隆绪

1. 简介

近年来预训练语言模型(BERT、ERNIE、GPT-3)迅速发展,促进了NLP领域各种任务上的进步,例如阅读理解、命名实体识别等任务。但是目前的这些预训练模型基本上都是在通用文本上进行训练的,在需要一些需要对结构化数据进行编码的任务上(如Text-to-SQL、Table-to-Text),需要同时对结构化的表格数据进行编码,如果直接采用现有的BERT等模型,就面临着编码文本与预训练文本形式不一致的问题。

本文将详细介绍两个表格预训练模型:TaBert和TaPas。他们分别是FAIR&CMU和Google在ACL2020上提出的,通过对结构化的表格数据和与之相关的自然语言句子进行的预训练,增强‘文本’与‘表格’两种多模态数据的对齐。在相关的表格语义解析任务上取得了显著的实验效果。

2. 下游任务介绍与分析:Text-to-SQL

在这里,我们给出Text-to-SQL任务一个相对正式的定义:在给定关系型数据库(或表)的前提下,由用户的提问生成相应的SQL查询语句。下图是一个具体的实例,问题为:有哪些系的教员平均工资高于总体平均值,请返回这些系的名字以及他们的平均工资值。可以看到该问题对应的SQL语句是很复杂的,并且有嵌套关系。

图1 Spider数据集的样例

面向表格的语义解析(如Text-to-SQL)不同于一般的问答任务,不仅需要编码通用文本(如:“哪个国家的GDP最高”),还需要编码结构化的数据(如:有关各国经济情况的若干表格)。其中一个关键的挑战是,如何理解数据库表格中的结构信息(如:数据库名称、数据类型、列名以及数据库中存储的值等),以及自然语言表达和数据库结构的关系(如:GDP可能指的是表中的“国民生产总值”一列)。

因此,有关这一任务的语义解析尝试学习自然语言描述和数据库的(半)结构化信息的联合表示。但是,在应用预训练模型时存在一些问题:1)数据库中的信息存在很强的结构关系,而预训练模型是用于编码自由形式的文本;2)数据库中可能包含大量的行和列,使用简单的语言模型对其进行编码是很困难的;3)语义解析是和特定领域相关的,解析器的结构和底层数据库的结构高度耦合。

3. TaBert(FAIR&CMU)

Pengcheng Yin等人提出了TaBert模型,它是一个用于联合理解自然语言描述和(半)结构化表格数据的与训练方法。TaBert在BERT之上进行构建,能够将表格结构线性化以适配基于Transformer的BERT模型。

图2 TaBert原理概览

3.1 自然语言描述和表格结构的表示

图2给出了TaBert的原理概览,给定自然语言描述u和表格T,模型首先从表中选取与描述最相关的几行作为数据库内容的快照,之后对其中的每一行进行线性化,并将线性化的表格和自然语言描述输入到Transformer中,输出编码后的单词向量和列值向量。随后编码后的每一所有行被送入垂直自注意力编码层(Vertical Self-Attention),一个列值(一个单词)通过计算同一列的值(同一单词)的垂直排列向量的自注意力得到。最终经过池化层得到单词和列的表示。

3.1.1 数据库内容的快照

由于表格可能包含大量的行,但是只有少数的几行与输入描述相关,对所有的行进行编码是没必要的同时也是难以计算的。因此TaBert使用只包含几行预描述最相关的“内容快照”,它提供了一个有效的方法,能够从列值计算出列的表示。

TaBert使用一个简单的策略来得到一个K行的内容快照。如果K>1,对表中的每一行与输入描述计算n-gram覆盖率,选取前K行作为快照。如果K=1,为了尽可能多的获得表中的信息,TaBert构建了一个合成行,每一列都是从对应列选取n-gram覆盖率最高的一个值,作为合成行这一列的值。这样做的动机是,与描述相关的值可能存在于多行中。

3.1.2 行的线性化

TaBert对内容快照中的每一行进行线性化,作为Transformer的输入。每一个值表示成三部分:列名、类型和单元值,中间使用“|”分割。如上图的B,R2行的2005就可以表示为:

对于一行来说,其线性化即为将所有的值进行连接,中间使用”[SEP]“进行分割。之后在前面链接自然语言描述,作为Transformer的输入序列。

3.1.3 垂直自注意力机制(Vertical Self-Attention)

TaBert中Transformer输出了每一行的编码结果,但是每一行是单独计算的,因此是相互独立的。为了使信息在不同行的表示中流动,TaBert给出了垂直自注意力,可以在不同行的相互对齐的向量中进行计算。

如图2(C)所示,TaBert有V个垂直堆叠的自注意力层。为了生成垂直注意力的对齐输入,首先对每个单元值计算固定长度的初始向量(对Transformer的输出向量进行平均池化)。接下来将自然语言描述的向量序列与初始化后的单元值向量进行连接。

垂直注意力与Transformer拥有相同的参数,但是是对垂直对齐的元素(自然语言描述中的同一个单词,同一列中的单元值)进行操作。这种垂直注意力机制能够聚合不同行中的信息,允许模型捕获单元值的跨行依赖关系。

3.1.4 自然语言描述和列的表示

每一列的表示:在最后一个垂直层中,将对齐的单元值向量进行平均池化,得到该列的表示。描述中每一个单词的表示也采用类似的方式进行计算。

3.2 预训练过程

3.2.1 训练数据

TaBert使用了从英文维基百科和WDC WebTable语料库中收集的表格和与其相邻的文本作为训练数据。预处理后的语料包含26.6M个表和自然语言句子。

3.2.2 无监督学习目标

TaBert使用不同的目标来学习上下文和结构化表的表示。对于自然语言上下文,使用遮蔽语言模型(MLM)目标,在句子中遮蔽15%的token。

对于列的表示,TaBert设计了两个学习目标

  1. 遮蔽列预测(Masked Column Prediction,MCP)目标使模型能够恢复被遮蔽的列名和数据类型。具体来说就是从输入表中随机选取20%的列,在每一行的线性化过程中遮蔽掉它们的名称和数据类型。给定一列的表示,训练模型使用多标签分类目标来预测其名称和类型。直观来说,MCP使模型能够从上下文中恢复列的信息。
  2. 单元值恢复(Cell Value Recovery,CVR)目标能够确保单元值信息能够在增加垂直注意力层之后能够得以保留。具体而言,在MCP目标中,列ci被遮蔽之后(单元值未被遮蔽),CVR通过这一列某一单元值的向量表示s<i, j>来恢复这一单元值的原始值。由于一个单元值可能包含多个token,TaBert使用了基于范围(span)的预测目标,即使用位置向量e_k和单元的表示s<i, j>作为一个两层网络的输入,来预测一个单元值的token。

3.3 应用示例:基于表格的语义解析

3.3.1 有监督的语义解析

基准数据集:Spider是一个Text-to-SQL数据集,包含10181条数据和超过200个数据库。每一条数据包括:一条描述、一个数据库(包含一个或多个表)、和一条标注的SQL语句。SQL语句通常需要连接多个表进行查询,比如:SELECT COUNT(*) FROM Country JOIN Lang ON Country.Code = Lang.CountryCode WHERE Name = 'Aruba' 。

语义解析器:TranX是一个开源的通用语义解析器,根据用户定义的语法,将自然语言描述翻译成中间表示,中间表示可以转换为特定领域的查询语言(如SQL)。作者使用TaBert作为编码部分,并且使用IRNet中的SemQL(可以理解为SQL的简化版本)作为底层的语法表示。

3.3.2 弱监督的语义解析

弱监督语义解析是指从其执行结果中推断出正确查询的强化学习任务。与有监督的语义解析相比,弱监督语义解析更具有挑战性。因为解析器无法直接获取正确的查询,必须在执行结果的奖励信号的指导下,在指数级的空间中进行搜索。

基准数据集:WikiTableQuestions是一个弱监督语义解析数据集,包含来自维基百科的22033条句子和2108个半结构化的网络表格。与Spider数据集相比,WikiTableQuestions并不涉及夺标的连接,但是需要对表中的一系列条目进行组合、多步推理。

语义解析器:MAPO是一个弱监督的语义解析模型,它将查询的搜索偏向于模型已经发现的高回报的查询,提高了增强算法的效率。MAPO使用一种专门针对单个表回答组合问题的特定于领域的查询语言。作者使用TaBert替换了其中的LSTM编码器部分。

3.4 实验

作者基于BERT_large和BERT_base训练了两个不同的版本:TaBert_large和TaBert_base。并且对比了不同内容快照大小的情况(K=1和K=3),同时与只使用BERT的情况进行对比(可以看作是没有进行与训练的K=1的情况)。

表1和表2展示了在WikiTableQuestion和Spider数据集上的端到端评价结果。可以看到,与现有的语义解析系统相比,使用TaBert作为问句和表格编码器的解析器更具有竞争力。

在WikiTableSQL数据集上,使用K=3的TaBert_large模型使MAPO得到增强,完全匹配准确率达到了52.3%,超过了之前最好的模型(46.9%)。

表1 WikiTableQuestion上的执行准确率

在Spider数据集上,解析器基于TranX构建,并使用和IRNet模型类似的SemQL语法,而TaBert具有更简单的解码器。有趣的是,可以观察到,只使用Bert_base的性能(61.8)与使用Bert增强的IRNet模型(61.9)性能相当。这说明了TaBert的基本解析器是一个有效的baseline。使用TaBert_large(K=3)/进行编码时,模型的准确率达到了65.2,比使用基本模型提升了2.8%,虽然排行榜上其他的系统拥有更复杂的模型,但是TaBert在开发集上的结果已经接近最佳提交(RyanSQL+Bert)的结果。这说明使用TaBert作为表示层可以得到更好的效果。

表2 Spider开发集上的精确匹配准确率

3.4.1 内容快照(content snapshot)的影响

TaBert使用内容快照来从数据库表格中获取与自然语言描述最相关的信息。因此作者实验了内容快照对数据库结构表示的影响(结果已包含在表1和表2中)。在不包含内容快照的设置下,列被表示为“列名 | 类型”而不包含单元值。可以看出,内容快照对于Bert和TaBert都是有效的,说明对列值进行编码有助于模型推断出描述中的实体和对应列之间的对齐。

此外,比较只用一个合成行的TaBert(K=1)和使用输入表中的多行的TaBert(K=3),后者的性能要更好一些。这表明,编码更多与输入句子相关的表的内容更有助于回答涉及多行信息推理的问题。

3.4.2 行线性化的影响

TaBert对表格进行线性化作为Transformer的输入,表3(上半部分)给出了不同线性化方法的效果,作者发现,添加类型信息和内容快照可以提高模型性能,因为他们提供了更多列的信息。

同时作者比较了现有的其他线性化方法(表3下半部分):Hwang等人使用Bert对连接的列名进行编码以学习列的表示,但是不编码单元值产生的性能较差。Chen等人提出了一种“自然”的线性化方法,来判断一个自然语言描述是否包含了表中列出的信息。

表3 不同线性化方式的性能

3.4.3 预训练目标的影响

TaBert使用了两个预训练目标:遮蔽列预测(MCP)和单元值恢复(CVR)。表4给出了不同的预训练目标下TaBert的性能。可以看出,使用CVR来辅助MCP得到了略微的提升,这表明CVR可以使列的表示在附加单元值的情况下更具有代表性。

表4 TaBert_base(K=3) 在不同与训练目标下的性能

3.5 小结与未来工作

TaBert是一个用于联合理解文本和表格数据的与训练编码器。实验结果显示,使用TaBert作为特征表示在两个数据集上取得了较好的结果。这也为未来的工作开辟了道路。

首先作者计划在其他涉及对文本和表格联合推理的相关任务上添加TaBert。其次,探索其他的表线性化策略,提升与训练语料库的质量,提出新的无监督目标。最后,将TaBert扩展到跨语言的设置下(使用外语的描述和英语的结构数据),并且使用更高级的语义相似性度量来创建内容快照。

4. TaPas(Google)

Jonathan Herzig等人提出的TaPas,是一种不需要生成逻辑表达式,直接通过表格回答问题的方法。TaPas从弱监督中得到训练,并通过选择表格单元格和选择性地应用相应的聚合运算符来预测结果。TaPas扩展了BERT的结构,使用从Wikipedia爬取的表格和文本片段进行预训练,并且是TaPas端到端的模型。

4.1 TaPas模型

TaPas的结构(如图3)基于BERT编码器,并添加了额外的位置embedding用于编码表的结构。该模型首先将表格平铺成单词序列,并将单词分割成wordpiece(token),并将其连接到问题token之后。此外模型还添加了两个分类层,用于选择单元格和对单元格进行操作的聚合操作符。

图3 TaPas模型(下)、单元值预测(右上)和集合操作预测(左上)

4.1.1 附加的Embedding

在被送入模型之前,token embedding需要与位置embedding进行结合,模型试用了一下位置embedding:

  • 位置ID:token在序列中的索引(与BERT相同)
  • 片段ID:有两个值:0表示描述,1表示表头和单元值
  • 列、行ID:列、行的索引值。0表示自然语言描述
  • 序数ID:如果一列的值可以被转换为浮点数或日期,就将它们进行排序,基于它们的叙述给定对应的embedding(0表示无法比较,1表示最小,以此类推)
  • 历史答案:在多轮对话的设置中,当前问题可能指示了之前问题或者其答案,于是添加了一个特殊标记:如果该token为前一问题的答案则为1,否则为0。

图4 TaPas编码示例

4.1.2 单元格选取

分类层选取表中单元值的一个子集。由于还可能存在聚合操作,这些单元值可以是最终答案,也可以是用于计算最终答案的输入。每个单元值被建模为伯努利分布,首先计算每个token的logit值,随后计算单元内所有token的logit的平均值作为当前单元的logit值。然后选取所有概率大于0.5的单元格。

此外作者发现,在单一列中选取单元值可以起到一定作用。模型添加了一个分类变量来选取正确的列,通过计算一列中所有单元值的平均值embedding,经过一个线性层得到该列的logit值。此外还添加了一个单独的列,表示不选取任何单元格。

4.1.3 聚合操作预测

语义解析任务通常需要对表格进行推理,如求和、计算平均值等。为了在不生成逻辑形式的情况下处理这些情况,TaPas需要对预测的单元值给定一个聚合操作符。操作符由一个线性层选择,在第一个token的最后一层应用softmax得到选取每一中操作符的概率。

4.2 预训练

作者从维基百科中提取了620万条表格和文本数据,包括330万个infobox和290万个WikiTable。并且只考虑少于500个单元格的表。类似于TaBert,TaPas也采用了MLM(masked language model)作为预训练目标。同时还尝试添加了另一个训练目标:判断表格是否符合文本描述,但是发现对于我们的任务并没有提升。

为了提升训练效率,TaPas将序列的长度控制在一定范围以内。为了适应这一点作者在进行预训练时,从描述中随机选取8~16个单词的文本片段。对于表,首先添加每个列和单元格的第一个单词,然后逐渐添加单词知道达到最大序列长度。为每个表生成10个这样的序列。

图5 一个表格(左)和与之相关的问题示例(右,最后一个问题是上下文关联的)

4.3 Fine-tuning

首先给出弱监督语义解析的形式化定义:对于训练集

,其中

表示自然语言描述,

表示表格,

表示与之相关的正确答案。模型的目标是从自然语言描述

映射到一段程序

,可以在表格

上执行,并得到正确答案

。其中,

包括表中单元格的子集和一个可选的聚合操作符,表T将单元格映射到它对应的值。

在预处理过程中,y被表示为一个元组(C, s)其中C表示单元格的集合,s为一个数值。如果正确答案答案是直接选取单元格,那么s不会出现,此时训练模型去选择对应的单元格;否则,C就为空,s出现,此时训练模型预测聚合操作得到s。

接下来对这两种境况分别进行讨论:

4.3.1 单元值选取 (无聚合操作)

这种只选取单元格的情况下,y就是单元格的集合C。模型首先预测一个单独的列,然后只从该列中选取单元值。在训练时,列选取的是正确答案中单元值出现次数最多的列。对于模型所采用的数据集来说,C都是包含在同一列中的,因此这起到了很好的效果。

训练模型去选取某一列中的值,loss的计算分为3部分:

  1. 选择列的平均交叉熵损失:

为交叉熵loss,

为指示函数

  1. 列中单元格选择的平均交叉熵损失:

表示col列中的所有单元格

  1. 对于不适用聚合操作的情况,定义聚合操作为None(赋值给

),集合操作loss为:

最终求和得到总的loss:

,

为标准化超参数。

4.3.2 数值型答案(带聚合操作)

这种情况下,y是没有出现在表格中的一个单独的数值。这通常需要对一个或多个单元格进行聚合操作得到。但是我们无法直接从答案中推断出要选取的单元格和聚合操作。

模型的训练可以采用直接搜索程序(单元格集合和聚合操作)的方式,但是随着表中单元格数量的增多,伪程序(选取的单元格和聚合操作不符合描述但是得到的结果与正确答案一致)的数量也会随之增加。

表5 聚合操作符的概率估计实现

TaPas采用了一种训练策略,无须对正确的单元格和聚合操作进行搜索。模型为每一个操作符实现了一个软可微的估计(如表5所示,给定token选取的概率和单元格的值就可以计算得到)。得到所有可能的聚合操作的估计之后,就可以计算出预测的结果:

其中

是除了None之外的聚合操作的概率分布。

数值型答案的loss可以由以下公式给出:

其中,

是超参数。作者发现这个损失函数比平方损失函数更稳定。此外,对于没有选取聚合操作的情况也给出了一个惩罚项:

最终得到数值型答案的总loss:

,其中

为标准化超参数。

4.3.3 有歧义的答案

如果一个答案是数值型的,并且同时存在于表格中,则以上两种情况是都有可能出现的。这种情况下模型动态的选择使用哪一种策略。具体而言就是设定一个超参数阈值

,当

时就选择第一种策略,反之就选择第二种。对于伪程序,模型选择可能性最大的一个作为正确结果。

4.4 实验

4.4.1 数据集

实验中使用了一下三种单表推理的语义解析数据集(如表6):

表6 数据集信息

4.4.2 实验配置

作者使用标准的BERT tokenizer对问题、单元格、表头进行分词。并且使用相同的包含32k word piece 单词表。模型在BERT-large基础上进行预训练,使用了32个云TPU核心进行预训练(最大序列长度为512)和微调,在这种配置下预训练大约需要3天,微调需要10小时(WikiTQ、WikiSQL)或20小时(SQA)左右。

在微调阶段,在WIkiTQ、WikiSQL数据集上作者使用了黑盒贝叶斯优化器,SQA数据集上则使用网格搜索(grid-search)。

4.4.3 实验结果

所有结果报告了弱监督训练下的denotation准确率,为5此独立运行的中位数。

表7和表8显示了WikiSQL和WikiTQ的结果。表6表明,在弱监督的设置中,TaPas为WikiSQL实现了最接近最优模型的性能(83.6 vs 83.9)。给定标准的聚合操作和单元格(从SQL语句中提取)后,使之成为有监督的训练,性能可以达到86.4。与SQL语句相比,这种监督信号可以由非专业人士给出。

表7 WikiSQL的准确率

对于WikiTQ,仅使用原始数据就达到了42.6的准确率。在使用WikiSQL或SQA进行预训练之后,准确率可以达到48.7和48.8。

表8 WikiTQ的准确率

对于SQA,表9显示了TaPas在所有的指标上都有了实质性的改进,所有指标提高了至少11个百分点。序列准确率从28.1提高到40.4,平均问题准确率从55.1提高到了67.2。

表9 SQA测试集结果(ALL为平均问题的准确率,SEQ为序列准确率、QX为第X问题的准确率)

表10展示了删除不同embedding之后在不同数据集上的效果。可以看出,在所有的数据集上,表、行、列的embedding都起到了重要的作用,位置和序数embedding也起到了一定作用但是效果提升较小。

表10 删除不同的embedding后,在开发集上的准确率(模型未进行预训练,使用了原始的BERT模型,没有聚合操作的模型只训练了单元格选择损失)

此外作者发现,当删除掉聚合loss之后,TaPas在每个数据集上效果都有所下降。WikiTQ准确率从29.0降到23.1,WikiSQL从84.7降到82.6。由于WikiSQL中大部分用不到聚合操作,所以效果下降的不是很明显。大概有17%的数据包含聚合操作,但是超过98%的聚合操作都是应用在0个或1个单元格上的。这意味着SUM和AVERAGE操作,可以通过直接选择一个单元格来作为回答。对于COUNT操作来说,去掉聚合操作准确率从66.5下降到了28.2。

4.4.4 WikiTQ上的定性分析

通过手动分析WikiTQ上的预测发现,聚合操作预测正确的情况下,有96%的单元格预测也是正确的。预测正确的聚合操作中有14%是只选取一个单元格,并且可以直接从表中选取而不进行聚合。

通过错误分析发现了以下的特殊现象:

  • 12%左右的数据存在多个答案(“Name at least two labels that released the group’s albums.”)、标签错误或信息缺失
  • 10%的数据需要进行复杂的时间比较,而且也复发通过SQL语句等形式进行解析(“what country had the most cities founded in the 1830’s ?”)
  • 16%的标准答案中的文本类型的值未出现在表格中,需要对其执行字符串操作。
  • 10%的表格过大,超过了512的序列长度限制
  • 13%的数据没有选择任何单元格,需要对这种行为进行惩罚
  • 2%的情况,答案是两个数值之间的差,是模型所处理不了的(“how long did anne churchill/spencer live?”))

4.4.5 预训练分析

为了理解TaPas在预训练阶段学到了什么,作者分析了10000条留存数据(hold-out data,这些数据并不出现在训练集当中)的表现。表11显示了遮蔽word piece 在不同位置、不同类型时的准确率。可以发现,跨位置的平均准确率相对较高(71.4),而且预测表头中的token是最容易的(96.6),也许是因为很多维基百科的文章使用了相同类型的表。预测单元格中的token(63.4)要比预测文本中的token(69.8)更困难一些。而且对单词(74.1)和数字(53.9)的预测差别是非常大的。这其实也在预料之内,因为数字是非常具体的,而且很难概括。

表11 Mask LM的准确率

4.4.6 局限性

TaPas将单个表作为上下文进行处理,而且限制了最大序列长度。因此TaPas无法处理非常大的表和多个表的数据库。这就需要对多表进行过滤和压缩,只对相关的内容进行编码,这是后续需要进行的工作。

TaPas尽管可以处理组合的操作(如图5的问题2),但是仅限于对一个表单元格子集上的聚合,无法处理具有多个聚合操作的结构(比如:给出参与者平均分大于4的人数)。尽管存在这一限制,TaPas仍然在3个数据集上取得了不错的效果,而且并没有遇到类似的错误。这说明语义解析数据集在组合性上还是存在局限性。

4.5 小结

TaPas作为一个弱监督的语义解析模型,避免了生成逻辑彪马,并且有效地训练了大规模的“文本-表格”对的数据,成功预测了被遮蔽的词和单元格。模型可以仅使用弱监督的方法,在语义解析数据集上进行微调。实验结果显示,与优秀的语义解析模型相比,TaPas具有更好或更有竞争力的效果。

5. 模型对比与未来工作

TaBert和TaPas虽然在相关任务上取得了很大的进度,但是提供的还都是单表格context,对于一些复杂的任务,需要同时编码多个表格,未来的工作可以1)在multi-table context进行探索 2)提高用于预训练的表格及描述的质量 3)探索更多的无监督预训练目标函数 4)在更多的与表格相关的任务上,如表格描述生成(table-to-text)做探索。

参考资料

[1]

TABERT: Pretraining for Joint Understanding of Textual and Tabular Data.

[2]

TAPAS: Weakly Supervised Table Parsing via Pre-training.

[3]

Spider: A Large-Scale Human-Labeled Dataset for Complex and Cross-Domain Semantic Parsing and Text-to-SQL Task.

本期责任编辑:丁 效

本期编辑:顾宇轩

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-08-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 AI小白入门 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
ACL 2020 | 用BERT解决表格问答任务,谷歌提出弱监督表格解析器TaPas
世上许多信息都是以表格形式存储的,这些表格见诸于网络、数据库或文件中。它们包括消费产品的技术规格、金融和国家发展统计数据、体育赛事结果等等。目前,要想找到问题的答案,人们仍需以人工方式查找这些表格,或使用能提供特定问题(比如关于体育赛事结果的问题)的答案的服务。如果可通过自然语言来查询这些信息,那么取用这些信息会容易很多。
代码医生工作室
2020/06/18
1.2K0
ACL 2020 | 用BERT解决表格问答任务,谷歌提出弱监督表格解析器TaPas
结构化数据,最熟悉的陌生人
而本文着重提及的结构化数据则是指数据点之间具有清晰的、可定义的关系,并包含一个预定义的模型的数据(如图 1 所示)。看起来结构化数据应该更容易处理,而基于机器学习的特性(特征提取),大家更多的注意力集中在了对文本这类非结构化数据的处理,好像对于结构化数据的处理过去都不怎么热门。但是随着机器学习的发展,过去传统的结构化数据分析方法已经不能满足我们的需求了,而且这些结构化数据其实都是质量很高的数据,如何在神经网络中利用这些数据也是很重要的任务。
机器之心
2020/12/17
7100
结构化数据,最熟悉的陌生人
【微软】【ICLR 2022】TAPEX:通过学习神经 SQL 执行器进行表预训练
论文:https://arxiv.org/abs/2107.07653 代码:https://github.com/microsoft/Table-Pretraining
小爷毛毛_卓寿杰
2022/12/02
1.2K0
【人工智能】Transformers之Pipeline(十六):表格问答(table-question-answering)
pipeline(管道)是huggingface transformers库中一种极简方式使用大模型推理的抽象,将所有大模型分为音频(Audio)、计算机视觉(Computer vision)、自然语言处理(NLP)、多模态(Multimodal)等4大类,28小类任务(tasks)。共计覆盖32万个模型
LDG_AGI
2024/09/11
4310
【人工智能】Transformers之Pipeline(十六):表格问答(table-question-answering)
Transformers 4.37 中文文档(九十四)
SpeechEncoderDecoderModel 可用于使用任何预训练语音自编码模型作为编码器(例如 Wav2Vec2,Hubert)和任何预训练自回归模型作为解码器初始化语音到文本模型。
ApacheCN_飞龙
2024/06/26
3460
Transformers 4.37 中文文档(九十四)
【NAACL 2021】RCI:在基于 Transformer 的表格问答中行和列语义捕获
最近,基于 Transformer 的架构被用于越来越多被应用于Table QA。在本文中,作者提出了两种新颖的方法,证明一种方法可以在不使用任何这些专门的预训练技术的情况下在 Table QA 任务上实现卓越的性能。
小爷毛毛_卓寿杰
2022/11/02
8880
【NAACL 2021】RCI:在基于 Transformer 的表格问答中行和列语义捕获
ACL 2019 | 精选8篇微软ACL论文解读,一览最新研究进展
近两年,自然语言中的预训练模型如ELMo、GPT和BERT给自然语言处理带来了巨大的进步,成为研究热点中的热点。这些模型首先需要在大量未标注的文本上训练一个从左到右(left-to-right language model)或从右到左(right-to-left language model)或完形填空式(masked language model)的语言模型。以上过程称为预训练(pre-training)。预训练完的模型便具有了表示一个句子或一个词序列的能力,再针对不同的下游任务进行微调(finetuning),然后可以在下游任务上取得不错的效果。
AI科技大本营
2019/07/12
1.3K0
ACL 2019 | 精选8篇微软ACL论文解读,一览最新研究进展
【中文版 | 论文原文】BERT:语言理解的深度双向变换器预训练
  本文介绍一种称之为BERT的新语言表征模型,意为来自变换器的双向编码器表征量(BidirectionalEncoder Representations from Transformers)。不同于最近的语言表征模型(Peters等,2018; Radford等,2018),BERT旨在基于所有层的左、右语境来预训练深度双向表征。因此,预训练的BERT表征可以仅用一个额外的输出层进行微调,进而为很多任务(如问答和语言推理)创建当前最优模型,无需对任务特定架构做出大量修改。
10JQKA
2018/12/27
3.2K0
表格问答2:模型
说回正题,今天我们将介绍两个NL2SQL模型,X-SQL和HydraNet。它俩都来自微软,分别推出于2019年和2020年。X-SQL跟它之前的方案比如SQlNET[2]、SQLOVA[3]都比较像,很有代表性;HydraNet对前人解决问题的大框架做了一些修改,变得更加简洁,也更符合预训练语言模型的使用习惯,应该会给大家一点启发。
朴素人工智能
2020/04/20
1.3K0
人工智能时代如何高效发掘数据库的价值?NL2SQL值得你关注
在 AI、区块链、IoT、AR 等高新技术飞速发展的当下,数据库这一宝库似乎被大家遗忘在了角落。数据库存储了大量的个人或者企业的生产运营数据,我们每天都会和数据库产生或多或少的交互。通常,查询数据库中的数据需要通过像 SQL 这样的程序式查询语言来进行交互,这就需要懂 SQL 语言的专业技术人员来执行这一操作。为了让非专业用户也可以按需查询数据库,当前流行的技术方案设计了基于条件筛选的专门界面,用户可以通过点选不同的条件来查询数据库,比如下面这个筛选汽车的界面。
机器之心
2019/06/05
1.9K0
人工智能时代如何高效发掘数据库的价值?NL2SQL值得你关注
BERT新转变:面向视觉基础进行预训练!
ViLBERT: Pretraining Task-Agnostic Visiolinguistic Representations for Vision-and-Language Tasks
AI科技评论
2019/12/31
1K0
BERT新转变:面向视觉基础进行预训练!
最强NLP预训练模型!谷歌BERT横扫11项NLP任务记录
作者:Jacob Devlin、Ming-Wei Chang、Kenton Lee、Kristina Toutanova
机器之心
2018/10/22
1.3K0
最强NLP预训练模型!谷歌BERT横扫11项NLP任务记录
文档智能理解:通用文档预训练模型与数据集
预训练模型把迁移学习很好地用起来了,让我们感到眼前一亮。这和小孩子读书一样,一开始语文、数学、化学都学,读书、网上游戏等,在脑子里积攒了很多。当他学习计算机时,实际上把他以前学到的所有知识都带进去了。如果他以前没上过中学,没上过小学,突然学计算机就不懂这里有什么道理。这和我们预训练模型一样,预训练模型就意味着把人类的语言知识,先学了一个东西,然后再代入到某个具体任务,就顺手了,就是这么一个简单的道理。
机器学习AI算法工程
2020/12/15
1.8K0
夺冠首届中文自动转SQL大赛,准确率高达92%,国防科大如何刷新纪录?
首届中文 NL2SQL 挑战赛最近终于落下了帷幕,在 3 个月的角逐中,选手们围绕中文句子生成 SQL 查询语句探索了更多的解决思路。评委代表、复旦大学教授肖仰华说:「从所有参赛队伍的演讲与问答,我们可以看出选手都有非常深厚的理论功底、有很娴熟的 NLP 技巧、都会复现与改进 SOTA 模型,以及都吻合『预训练+调优』这一主流研究思路。」
机器之心
2019/10/17
1.5K0
GPT+结构化数据:可分析数据、作图和建模
GPT-3和ChatGPT等语言模型在遵循不同的人类指令和执行各种任务方面表现出卓越的能力,然而在表格数据(结构化数据)理解任务中表现不佳。这可能是因为这些模型主要是在一维自然语言文本上预训练的,而表格作为二维对象,需要更复杂的信息处理能力。(个人认为也可能因为神经网络不太擅长异构数据,也不太擅长数值表示)
算法进阶
2024/01/04
1.1K0
GPT+结构化数据:可分析数据、作图和建模
数据太多太凌乱?教你打造一个能"看懂"表格图片的数据助手
在当前大数据时代的背景下,我们每天面临着各种形式的数据,其中有结构化的,也有非结构化的。特别是对图片形式这种非结构化的数据,如何高效地获取、处理以及分析仍旧是一系列颇有挑战的任务。我们常常会拿到一份表格的数据材料, 或许是一页传单,或许是书页上的数据整理,或许是一页实验报告,又或许是某产品规格参数等等,然后基于传统的操作方式, 将数据逐项录入到系统,存储到数据库,通过SQL命令跟数据库交互,并二次处理后返回给用户。整个过程比较繁琐,更重要的是,要求用户具备数据库和其他IT技能。本项目探索了一种新的思路,即直接解析表格图片的数据并用人类自然语言直接查询所需数据, 让普通用户更好的满足该场景下的数据需求。
用户1386409
2021/11/17
9720
数据太多太凌乱?教你打造一个能"看懂"表格图片的数据助手
新一届最强预训练模型上榜,出于BERT而胜于BERT
【导读】预训练方法设计有不同的训练目标,包括语言建模、机器翻译以及遮蔽语言建模等。最近发表的许多论文都使用了微调模型,并预先训练了一些遮蔽语言模型的变体。然而,还有一些较新的方法是通过对多任务微调提高性能,结合实体嵌入,跨度预测和自回归预训练的多种变体。它们通常在更大数据上训练更大的模型来提高性能。本文的目标是通过复制、简化和更好地微调训练BERT,以作为更好理解上述方法的相对性能的参考值。
AI科技大本营
2019/08/06
9410
ACL 2019提前看:预训练语言模型的最新探索
ACL,英文全称是 The Association for Computational Linguistics,中文全称是国际计算语言学协会。ACL 于 1962 年成立,主要致力于为研究自然语言处理或者计算语言学的专业人士提供服务。为了促进自然语言处理领域的学术交流,ACL 每年都会举办学术会议,如 ACL、EMNLP 和 NAACL 等。ACL 2019(第 57 届会议)即将于 2019 年 7 月 28 日至 8 月 2 日在意大利佛罗伦萨举办。
机器之心
2019/07/30
8400
结构化表格也成模态!浙大TableGPT2开源,最强表格AI问世
现在正是多模态大模型的时代,图像、视频、音频、3D、甚至气象运动都在纷纷与大型语言模型的原生文本模态组合。而浙江大学及其计算机创新技术研究院的一个数十人团队也将结构化数据(包括数据库、数仓、表格、json 等)视为了一种独立模态。
机器之心
2025/02/14
3490
结构化表格也成模态!浙大TableGPT2开源,最强表格AI问世
SQLNET:无强化学习的由自然语言生成结构化查询语句
来源:arXiv 作者:Xiaojin Xu*、Chang Liu、Dawn Song 编辑:智察(ID:Infi-inspection) 文章字数:9238 预计阅读用时:12分钟 摘要 从自然语言中合成SQL查询语句问题是一个长期的开放性问题,并已经引起人们极大的兴趣。为了解决这个问题,实际方法是使用序列到序列风格的模型,而这种方法必然要求SQL查询序列化。因为相同的SQL查询可能具有多个等效序列化,而训练序列到序列风格的模型对从其中选择一个是敏感的,这种现象被记录为“顺序影响”问题。而现
企鹅号小编
2018/01/31
3K0
SQLNET:无强化学习的由自然语言生成结构化查询语句
推荐阅读
相关推荐
ACL 2020 | 用BERT解决表格问答任务,谷歌提出弱监督表格解析器TaPas
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档