赞
踩
DTT: An Example-Driven Tabular Transformer for Joinability by Leveraging Large Language Models
标题: 使用大型语言模型的示例驱动表格变换器DTT:实现可连接性
作者: 阿拉什·达尔加希·诺巴里(加拿大阿尔伯塔大学)和达乌德·拉菲伊(加拿大阿尔伯塔大学)
方法: 我们的框架可以高效地学习从源格式到预期目标格式的映射模式,只需少量示例即可应用于表格连接、填补缺失值和错误检测等任务。与现有的映射和连接方法相比,我们的框架在真实世界和合成数据集上表现出更高的准确性和可扩展性。
实验结果: 我们的实验评估显示,使用我们微调模型的框架表现与GPT-3等大型语言模型相当或更好,尽管它们的大小有显著差异。此外,在我们的框架内使用大型语言模型能提升它们的表现。
目录
本文的重点是表格数据(例如,电子表格、网络表格和关系数据库)的自动转换
我们的目标是为 S中的任何值找到目标格式。例如,值 'Jean Chretien' 和 'Kim Campbell' 可能被映射为 'jchretien' 和 'kcampbell'。
这种转换可以用于使表格可连接,例如允许源表格的一列与目标表格的一列连接。它还可以用于填充目标列中的缺失值。在本研究中,我们假设源值和示例已经提供。这是为了限制问题的范围,并集中精力在数据转换上。
如果用户未提供示例,则可以使用不等连接方法或基于token示例生成方法来提供示例集。但需要注意,自动生成的示例可能包含噪声和无效对,我们将讨论如何处理这些嘈杂的示例。
在表格数据转换的研究领域中,有多种方法旨在通过示例来实现源格式到目标格式的转换。这些方法主要集中在处理电子表格数据方面,以下是几种代表性方法的概述和比较:
综上所述,各种方法在处理表格数据转换中都有其优缺点。未来的研究可以继续探索如何结合语言模型和更智能的搜索算法,以进一步提高表格数据转换的效率和准确性。
大型语言模型是我们框架的核心组成部分,下面简要介绍了这些模型的背景和发展:
通过利用这些先进的语言模型,我们的框架能够更有效地处理表格数据的转换任务,提高了转换的准确性和泛化能力。
我们提出的模型也遵循编码器-解码器架构,专门设计用于DTT中的生成任务。
在应用方面,这些模型被广泛应用于不同的数据处理任务,包括实体匹配、文本到SQL 、问答系统和数据生成文本。这些任务与我们的任务有所区别,但表格序列化已经成为许多这些任务中的通用模块。为了在保留所需结构关系的同时将表格转换为序列,已经开发出多种序列化技术。由于需要保留的结构关系可能依赖于具体任务,因此选择合适的序列化方法也可能是任务相关的。例如,Iida等人将行和列分别作为两个单独的序列传递给两个变压器块,并对每个单元格的行和列值进行平均,以生成单元格的表示。而在RPT 中,使用两个特殊的令牌 [A] 和 [V] 对表格进行序列化,分别编码属性名称和其对应的值。
用于通过例子集将源表中的每一行转化为目标表中的行。这个过程使用大型语言模型(LLM),例如BERT和GPT-3,这些模型对输入长度有一定的限制。由于表格数据可能非常大,需要对问题进行分解,将大问题拆解成多个小任务,从而在不超过模型输入长度限制的情况下处理数据。
总的来说,这种方法通过分解大任务、选择适当的上下文示例、使用特殊符号编码输入以及多次提示模型,来处理大表格数据的转换问题,确保每次输入都在模型的长度限制内,并通过聚合多个预测结果来提高准确性和一致性。
如何将表格数据转化为适合大语言模型(LLM)处理的形式,特别是在选择合适的分词器和模型架构方面的一些技术细节。以下是对这段文字的分解和解释:
在自然语言处理(NLP)中,模型通常期望输入是向量,因此需要首先对输入进行分词(tokenization),然后将每个词元(token)分配给一个向量。对于传统的NLP任务,分词是非常明确的步骤,但在处理表格数据时,如何选择分词方式就不那么显而易见了。
传统的NLP模型(如word2vec、GloVe)使用词汇中的单词作为分词单位,并且将词汇表中没有的单词统一处理为一个未知词元。现代的深度学习模型更倾向于使用能更好处理词语形态结构的分词方式,比如WordPiece或Byte Pair Encoding (BPE)。
这两种分词方式会将频率更高的连续字节对作为新符号加入词汇表,即将单词分解成子词元(subword tokens)。这种方法在处理自然语言时非常有效,因为常见单词会作为单个词元处理,而罕见单词会被分解成多个词元。
在处理表格数据时,使用子词级分词器可能并不合适,因为表格中的值可能来自任何领域,并不一定是特定语言的单词。理解单词的意义或将它们分解成小的有意义的部分并不一定对预测输出有帮助。例如,对于“Justin Trudeau”和“J.Trudeau”这对,首字母“J”决定了输出中的“J”,而在另一个例子“Justin Trudeau”和“Trudeau, Justin”中,“Justin”作为一个整体出现在输出中。
为了应对这些问题,采用字节级分词器(如ByT5)可能是更好的选择。字节级分词器在处理短文本任务时表现出色,表格单元格通常存储的是短文本内容。ByT5模型使用UTF-8字节编码器作为分词器,这结合了字符级分词器的准确性和相对较短的输入长度。
将输入表示为一系列词元后,问题变成了文本到文本的转换任务。适合的模型架构是一个包含编码器和解码器的序列到序列模型(sequence-to-sequence model)。大多数表格嵌入模型使用WordPiece和BPE分词器并且仅使用编码器架构,或者依赖表格的元数据和结构,这使得它们不适用于当前的问题设置。
研究表明,当输入是字符序列时,使用更深层的编码器比平衡模型表现更好。ByT5模型是一个字节级模型,其编码器部分比解码器部分深三倍,这被用作训练的起点。这意味着编码器有更多层,可以更深入地处理输入数据,而解码器层数较少,更专注于生成输出。与原始模型不同的是,我们对目标中的所有字符进行掩码,训练目标是预测被掩码的字节。解码器是自回归的,仅将初始词元传递给解码器。
如何在多个上下文中使用序列到序列模型(sequence-to-sequence model)来预测目标表中的行,并结合这些预测来生成最终结果。
通过这种方法,利用不同的上下文多次输入模型并生成多个候选输出,然后通过统计这些候选输出的频率,选择出现频率最高的输出作为最终预测结果。这种方法能够缓解由于数据噪声和不一致性带来的影响,并提高预测的准确性。
如何使用所提出的模型在各种下游任务中生成目标行,并着重讨论了异构表格的连接(join)任务。
模型的应用:给定一个源行和一组源-目标示例对,所提出的模型能够生成一个符合这些示例的目标行。这个框架在许多下游任务中都很有用,如自动完成和自动填充电子表格、预测缺失值、错误纠正以及表格连接等。
通过这种方法,模型可以在源表和目标表之间建立连接,即使源表和目标表的列格式不同。关键在于利用模型生成的近似目标值和目标表中的值进行字符串相似性匹配,使用编辑距离来寻找最佳匹配。这种方法允许一定程度的预测误差,仍然能够有效地实现表格连接。
尽管使用T5、BERT和GPT-2等预训练生成模型可以处理大量未标记的数据,但对于我们特定的任务,依赖这些模型的预训练知识并不足够。真实世界的表格数据通常较短,且同列的不同条目之间关联性较低。这使得预训练语言模型的知识在这种任务中作用有限。因此,我们提出生成合成数据来训练模型。
训练数据需要具备以下几个关键特征:
我们通过构建一组文本转换(包括子字符串、拆分、大小写转换和常量等基本转换单元),随机选择单元和参数,生成多样化的例子。每个转换的输出由其单元的输出拼接而成。此外,我们允许最多三个转换单元的随机堆叠,以增加数据的多样性。源文本随机生成,包括字母、数字、符号和特殊字符。生成的源文本长度也随机选择。
我们使用三组真实世界的数据集和四组合成数据集来评估方法的有效性:
我们训练了一个包含2000组转换的合成数据集,每组生成10对源-目标样本,输入长度随机在8到35之间。80%的样本用于训练,20%用于验证。在评估中,每个输入表的行被分成两等份,一份作为上下文输入模型,另一份用于测试。我们使用五次不同上下文输入的平均结果来提高预测的鲁棒性。
对于每个样本对 (声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。