首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

学习从较少的数据中推理表格

识别文本蕴涵的任务,也称为自然语言推理,包括确定一段文本(前提)是否可以被另一段文本(假设)暗示或矛盾(或两者都不矛盾)。虽然这个问题通常被认为是对机器学习 (ML) 系统推理技能的重要测试,并且已经对纯文本输入进行了深入研究,但在将此类模型应用于结构化数据(例如网站、表格)方面投入的精力要少得多、数据库等。然而,每当需要准确总结表格内容并呈现给用户时,识别文本蕴涵就尤为重要,并且对于高保真问答系统和 虚拟助手。

在发表于EMNLP 2020 的发现中的“使用中间预训练理解表”中,我们介绍了第一个为表解析定制的预训练任务,使模型能够从更少的数据中更好、更快地学习。我们建立在我们早期的TAPAS模型之上,它是BERT双向Transformer模型的扩展,具有特殊的嵌入功能,可以在表格中找到答案。将我们新的预训练目标应用于 TAPAS,可以在涉及表的多个数据集上产生最新的技术水平。在TabFact 上例如,它将模型与人类表现之间的差距缩小了约 50%。我们还系统地对选择相关输入以提高效率的方法进行了基准测试,实现了 4 倍的速度和内存增益,同时保留了 92% 的结果。用于不同任务和大小的所有模型都在GitHub 存储库上发布,您可以在其中自己在colab Notebook 中试用它们。

文字蕴涵

当应用于比纯文本表格数据文字蕴涵的任务更具挑战性。例如,考虑来自 Wikipedia 的表格,其中一些句子源自其关联的表格内容。评估表格的内容是否包含或矛盾的句子可能需要查看多个列和行,并可能执行简单的数值计算,如求平均、求和、求差等。

遵循TAPAS使用的方法,我们将语句和表格的内容编码在一起,通过Transformer模型,得到该语句被表格包含或反驳的概率的单个数字。

由于训练示例中唯一的信息是二进制值(即“正确”或“不正确”),因此训练模型以理解语句是否包含是具有挑战性的,并且突出了深度学习中实现泛化的难度,尤其是当提供的训练信号稀缺时。看到孤立的隐含或反驳的例子,模型可以轻松地获取数据中的虚假模式以进行预测,例如“Greg Norman 和 Billy Mayfair 并列”中存在“tie”一词,而不是真正的比较它们的等级,这是在原始训练数据之外成功应用模型所需要的。

预训练任务

通过为模型提供大量现成的未标记数据,预训练任务可用于“预热”模型。但是,预训练通常主要包括纯文本而不是表格数据。事实上,TAPAS 最初是使用简单的掩码语言建模目标进行预训练的,该目标不是为表格数据应用程序设计的。为了提高模型在表格数据上的性能,我们引入了两个新的预训练二元分类任务,称为反事实和合成,它们可以用作预训练的第二阶段(通常称为中间预训练)。

在反事实任务中,我们从维基百科中获取提到一个实体(人、地点或事物)的句子,这些实体也出现在给定的表格中。然后,在 50% 的情况下,我们通过将实体交换为另一个替代方案来修改语句。为了确保该语句是现实的,我们在表的同一列中的实体中选择一个替换。该模型经过训练以识别语句是否被修改。这个预训练任务包括数百万个这样的例子,虽然对它们的推理并不复杂,但它们通常听起来仍然很自然。

对于综合任务,我们遵循类似于语义解析的方法,其中我们使用一组简单的语法规则生成语句,这些规则要求模型理解基本的数学运算,例如总和和平均值(例如,“收入总和”) ,或了解如何使用某些条件过滤表中的元素(例如,“国家是澳大利亚”)。尽管这些陈述是人为的,但它们有助于提高模型的数值和逻辑推理能力。

结果

我们通过与基线 TAPAS 模型和在文本蕴涵域中表现出成功的两个先前模型、LogicalFactChecker (LFC) 和Structure Aware Transformer (SAT )。基线 TAPAS 模型表现出相对于 LFC 和 SAT 的改进性能,但预训练模型 (TAPAS+CS) 的性能明显更好,达到了新的最先进水平。

我们还将 TAPAS+CS 应用于SQA 数据集上的问答任务,这要求模型从对话设置中的表格内容中找到答案。包含 CS 目标将之前的最佳性能提高了 4 分以上,这表明这种方法还可以将性能概括为不仅仅是文本蕴涵。

数据和计算效率

反事实和合成预训练任务的另一个方面是,由于模型已经针对二元分类进行了调整,因此无需对 TabFact 进行任何微调就可以应用它们。我们探索仅在数据的一个子集(或什至没有)上训练时每个模型会发生什么。不看单个示例,TAPAS+CS 模型与强大的基线 Table-Bert 竞争,当只包含 10% 的数据时,结果与之前的 state-of-the-art 相当。

尝试使用像这样的大型模型对表进行操作时,一个普遍的担忧是它们的高计算要求使它们难以解析非常大的表。为了解决这个问题,我们研究了是否可以启发式地选择输入的子集以通过模型以优化其计算效率。

我们对过滤输入的不同方法进行了系统研究,并发现选择完整列和主题陈述之间的单词重叠的简单方法可提供最佳结果。通过动态选择要包含的输入令牌,我们可以使用更少的资源或以相同的成本处理更大的输入。挑战在于这样做不会丢失重要信息和损害准确性。

例如,上面讨论的模型都使用 512 个令牌的序列,这大约是变压器模型的正常限制(尽管最近的效率方法如改革者或表演者在缩放输入大小方面被证明是有效的)。我们在这里提出的列选择方法可以允许更快的训练,同时仍然在 TabFact 上实现高精度。对于 256 个输入标记,我们的准确率下降非常小,但现在可以对模型进行预训练、微调,并使预测速度提高两倍。使用 128 个令牌,该模型仍然优于之前最先进的模型,并且具有更显着的加速 - 全面快 4 倍。

使用我们提出的列选择方法和新颖的预训练任务,我们可以创建需要更少数据和更少计算能力的表解析模型以获得更好的结果。

我们在GitHub 存储库中提供了新模型和预训练技术,您可以在colab 中亲自试用。为了使这种方法更易于使用,我们还共享了大小不一的模型,一直到“微型”。我们希望这些结果将有助于在更广泛的研究社区中促进表格推理的发展。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20211010A04ZS800?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券