SPREADSHEETLLM: Encoding Spreadsheets for Large Language Models翻译

摘要

电子表格的特点是其广泛的二维网格、灵活的布局和多样的格式选项,这对大型语言模型 (LLM) 提出了重大挑战。为了应对这一挑战,我们引入了 SPREADSHEETLLM,开创了一种高效的编码方法,旨在释放和优化 LLM 对电子表格的强大理解和推理能力。最初,我们提出了一种结合单元格地址、值和格式的原始序列化方法。然而,这种方法受到 LLM 的token约束的限制,使其不适用于大多数应用程序。为了应对这一挑战,我们开发了 SHEETCOMPRESSOR,这是一个创新的编码框架,可以有效地为 LLM 压缩电子表格。它包含三个模块:基于结构锚点的压缩、反向索引转换和数据格式感知聚合。它显著提高了电子表格表格检测任务的性能,在 GPT4 的上下文学习设置中比原始方法高出 25.6%。此外,使用 SHEETCOMPRESSOR 微调的 LLM 的平均压缩率为 25 倍,但 F1 得分达到了 78.9%,比现有最佳模型高出 12.3%。最后,我们提出了电子表格链,用于电子表格理解的下游任务,并在一项新的、要求严格的电子表格 QA 任务中进行了验证。我们有条不紊地利用电子表格的固有布局和结构,证明了 SPREADSHEETLLM 在各种电子表格任务中都非常有效。

1.Introduction

在这里插入图片描述
  电子表格在数据管理中无处不在,在 Microsoft Excel 和 Google Sheets 等平台中得到广泛使用。理解电子表格的布局和结构是传统模型长期以来面临的挑战,但对于有效的数据分析和智能用户交互至关重要。最近,大型语言模型 (LLM) 的快速发展为表格处理和推理开辟了新领域。然而,电子表格给 LLM 带来了独特的挑战,因为它们的网格通常超出了流行 LLM 的token限制,而且它们固有的二维布局和结构不适合线性和顺序输入。此外,LLM 通常会难以处理电子表格的特征,例如单元格地址和格式,这使得它们难以有效地解析和利用电子表格数据,如附录 A 中所述。
  在本文中,我们介绍了 SPREADSHEETLLM,这是一个开创性的框架,旨在释放和最大化 LLM 在电子表格理解和推理方面的潜力。我们最初提出了一种原始编码方法,将电子表格序列化为序列,通过包含必要的单元格地址和(可选)格式来增强 Markdown 编码方法。此外,超过 LLM token限制的大型电子表格不仅会限制其处理,而且正如先前研究所观察到的那样,随着尺寸的增加,准确度性能也会降低。为了应对这一挑战,我们提出了 SHEETCOMPRESSOR,它具有一个新的编码框架,包含三个可移植模块:
  1) Structural Anchors for Efficient Layout Understanding:观察结果表明,大型电子表格通常包含大量同质行或列,这对理解布局和结构帮助甚微(见图 2 (a) 中的左图)。为了解决这个问题,我们确定了结构锚点——位于可能的表格边界处的异质行和列,它们可以提供大量的表格结构信息,如图 2 (b) 所示。然后,我们删除遥远的同质行和列,生成电子表格的精简“骨架”版本,如图 2 ( c ) 所示。
  2) Inverted-Index Translation for Token Efficiency:如图 2 © 所示,在处理包含大量空单元格和重复值的电子表格时,原始编码方法会消耗大量 token。为了提高效率,我们摒弃了传统的逐行和逐列序列化,而是采用 JSON 格式的无损倒排索引转换。此方法会创建一个字典,索引非空单元格文本并将地址与相同文本合并,从而优化 token 的使用,同时保持数据完整性。
  3) Data Format Aggregation for Numerical Cells:相邻的数字单元格通常具有相似的数字格式。认识到确切的数值对于掌握电子表格结构来说并不那么重要,我们从这些单元格中提取数字格式字符串和数据类型。然后将具有相同格式或类型的相邻单元格聚集在一起。此方法在图 2 的右侧示例中可视化,其中矩形区域由统一的格式字符串和数据类型表示,从而简化了对数值数据分布的理解,而无需过多的消耗token。
  我们对各种 LLM 的方法进行了全面评估。我们的实验表明,SHEETCOMPRESSOR 显著减少了 96% 的电子表格编码token使用量。此外,SPREADSHEETLLM 在电子表格表格检测(电子表格理解的基础任务)中表现出色,比之前的 SOTA 方法高出 12.3%。我们还将 SPREADSHEETLLM 应用于代表性电子表格 QA 任务。受思维链 (CoT) 方法的启发,我们提出了电子表格链 (CoS),将电子表格推理分解为表格检测-匹配-推理的管道。它的表现明显优于现有的表格 QA SOTA 方法。我们的主要贡献总结如下:

  • 我们提出了 SPREADSHEETLLM,这是第一项充分利用 LLM 来理解和分析电子表格数据的工作。为了应对电子表格的规模、多样性和复杂性方面的挑战,我们提出了 SHEETCOMPRESSOR,这是一种创新的编码框架,可以高效编码压缩 LLM 的电子表格。
  • 我们对各种SOTA LLM 进行了微调,以在电子表格表格检测上实现最佳性能,并展示了 SPREADSHEETLLM 在准确理解复杂电子表格布局和结构方面的高效性。
  • 为了将 SPREADSHEETLLM 的水平功能扩展到广泛的下游任务,我们提出了 CoS 并在电子表格 QA 上对其进行了验证,突出了其在智能用户交互方面的潜力。

在这里插入图片描述

2.Related Work

Spreadsheet Representation。电子表格表示涉及将电子表格转换为不同模型的特定表示。电子表格(表格)表示有多种方法。(Dong et al., 2019a,b) 增强了 MaskRCNN 以利用电子表格中的空间和视觉信息,并且 (Deng et al., 2024) 探索了使用 LLM 评估图像表格,但它对于将电子表格图像作为 VLM 的输入效果不佳。为了捕获行和列中的顺序语义,在行和列方向上进一步采用了 LSTM。然后提出了预训练的 LM 来理解电子表格。最近的研究探索了使用 Markdown 和 HTML 进行表格表示的有效性。但是,由于它们的单一表格输入,它们不太适合电子表格,如附录 B 中的实验所示。
  Spreadsheet Understanding。虽然大多数表格 LLM 仅限于单表设置,但包含多个表格的电子表格通常会超出 token 限制。此外,多表布局和结构的多样性使问题变得更加复杂。电子表格的表格检测任务旨在识别给定工作表上的所有表格并确定它们各自的范围。作为电子表格理解的一项基本任务,此任务在商业电子表格工具中每天平均触发数亿次使用,并且由于电子表格的灵活性和复杂性,其准确性仍然需要改进。
  Spreadsheet Downstream Tasks。电子表格理解可以实现一系列电子表格任务,例如表格问答分析、表格提取、公式或代码生成、错误检测等。在本文中,我们选择了电子表格问答,这是最需要的电子表格分析任务之一。它是电子表格数据中表格问答任务的扩展,增加了在电子表格中检测和匹配多个表格的复杂性。
  LLMs’ Token Efficiency。相关研究表明,在长上下文中,LLM 的性能会显著下降。为了提高模型性能和降低成本,人们开发了针对长提示的压缩技术。一些研究人员采用信息论指标来过滤冗余信息,此外,还提出了专门的模型来优化提示以进行压缩。然而,这些策略主要针对自然语言提示,可能不适合表格数据,从而可能导致大量的结构和数据信息丢失。DBCopilot 通过模式路由实现大型数据库上的文本到 SQL 的转换。然而,由于 LLM 对固有的多表布局和复杂表结构的理解能力不足,无法执行类似 SQL 的查询,模式路由并不切实际,限制了目前的表格工作在电子表格数据上的更广泛应用。

3.Method

我们提出了一种新的电子表格编码框架,采用类似 Markdown 的文本风格。为了实现更紧凑、更高效的表示,我们引入了三个独立但可组合的模块:基于结构锚点的提取、倒排索引转换和数据格式感知聚合,这可以实现高效的数据压缩并提高下游任务的性能。

3.1 Vanilla Spreadsheet Encoding with Cell Value, Address, and Format

由于 LLM 的电子表格编码缺乏标准化实践,我们首先探索传统的电子表格编码方法。附录 B 比较了不同的主流表格数据编码方法,包括 HTML、XML 和 Markdown。根据编码长度和电子表格理解任务的性能,我们使用类似 Markdown 的样式表示:
S = { C e l l i , j } i ∈ m , j ∈ n , (1) \mathcal S=\{Cell_{i,j}\}_{i\in m,j\in n},\tag{1} S={Celli,j}im,jn,(1)
T = m a r k d o w n { e n c o d e ( C e l l i , j ) } : = " ∣ A d d r e s s i , j , V a l u e i , j , F o r m a t ∣ . . . " (2) \mathcal T=markdown \{encode(Cell_{i,j})\}:="|Address_{i,j}, Value_{i,j}, Format|..."\tag{2} T=markdown{encode(Celli,j)}:="∣Addressi,j,Valuei,j,Format∣..."(2)
其中 S ∈ R m , n \mathcal S ∈ \mathbb R^{m,n} SRm,n 表示电子表格, T ∈ R 1 \mathcal T ∈ \mathbb R^1 TR1 表示单元格的文本表示, i , j , m , n i, j, m, n i,j,m,n 分别表示单元格的行和列索引以及 S \mathcal S S 的行和列范围。我们还探索了将单元格格式信息(如背景颜色、粗体字体、边框等)纳入每个单元格的表示中。然而,这些实验表明,由于快速超出token限制以及 LLM 无法有效处理格式信息,如此详细的编码会对模型性能产生不利影响,如附录 A 中所述。我们计划在未来的研究中进一步探索这一点,重点是提高模型理解和利用格式和结构线索的能力。

3.2 Structural-anchor-based Extraction

大型电子表格通常具有许多同质的行或列,这对理解其布局和结构几乎没有帮助,如图 2 (a) 所示。为了有效压缩电子表格,同时保留重要的布局和结构信息,我们提出了一种基于启发式的新方法,详见附录 C。此方法可识别表格边界边缘的异质行和列(称为结构锚点):
A = { r p , c q } p ∈ m , q ∈ n , (3) \mathcal A=\{r_p,c_q\}_{p\in m,q\in n},\tag{3} A={rp,cq}pm,qn,(3)
其中 r p = { C e l l i , j } i = p , j ∈ n r_p = \{Cell_{i,j}\}_{i=p,j∈n} rp={Celli,j}i=p,jn c q = { C e l l i , j } i ∈ m , j = q c_q = \{Cell_{i,j}\}_{i∈m,j=q} cq={Celli,j}im,j=q。使用这些锚点,我们的方法会丢弃距离任何锚点超过 k k k 个单位的行和列,因为它们很少用作表格边界。参数 k k k 用作控制邻域保留范围的阈值,有效地消除了主要填充同质数据的区域,这些数据对理解电子表格的布局和结构没有帮助。我们在一项消融研究中探讨了不同 k k k 值的影响,详见附录 D.1。
  提取的行和列可以表示为:
A + = { r p + , c q + } p + ∈ m , q + ∈ n , (4) \mathcal A_+=\{r_{p+},c_{q+}\}_{p+\in m,q+\in n},\tag{4} A+={rp+,cq+}p+m,q+n,(4)
其中提取的“骨架”定义为: r p + = { C e l l i , j } ∣ i − p ∣ < k , j ∈ n r_{p+}=\{Cell_{i,j}\}_{|i-p|<k,j\in n} rp+={Celli,j}ip<k,jn c q + = { C e l l i , j } i ∈ m , ∣ j − q ∣ < k c_{q+}=\{Cell_{i,j}\}_{i\in m,|j-q|<k} cq+={Celli,j}im,jq<k。然后我们获取到压缩后的表格:
S e = e x t r a c t ( S ) = a d d r e s s _ m a p ( r p + ∩ c q + ) . (5) \mathcal S_e=extract(\mathcal S)=address\_map(r_{p+}∩ c_{q+}).\tag{5} Se=extract(S)=address_map(rp+cq+).(5)
基于压缩后的电子表格 S e \mathcal S_e Se,我们可以获得极短的文本表示 T e \mathcal T_e Te。此外,在提取后,我们执行坐标重新映射以确保单元格坐标的连续性,从而保留压缩电子表格内数据关系的完整性。这种重新映射对于保持预测结果的准确性至关重要,确保分析即使在压缩后也保持一致。此方法过滤掉 75% 的电子表格内容,但保留表格边界边缘的 97% 的行和列。

3.3 Inverted-index Translation

在这里插入图片描述
  电子表格通常包含大量空行、空列和分散的单元格。标准编码方法(如第 3.1 节所述)采用基于网格的方法,将单元格地址与其内容配对。这种方法需要记录空单元格以维护电子表格的二维结构,这大大增加了 token 的消耗。此外,具有相同值的单元格会被重复编码,这进一步加剧了 token 的使用。
  为了解决这些低效率问题,我们提出了一种基于倒排索引的两阶段转换方法。第一阶段涉及将传统的矩阵式编码转换为字典格式,其中单元格值用作索引地址的键。在第二阶段,合并具有相同值的单元格,排除空单元格并将单元格地址记为范围。此方法通过消除冗余并简化重复和空单元格的表示,有效地减少了所需的token数量。翻译过程在数学上表示如下:
T t = i n v e r t ( T ) : = { v a l u e : A d d r e s s   o r   A d d r e s s _ R e g i o n , . . . } . (6) \mathcal T_t=invert(\mathcal T):=\{value: Address~or~Address\_Region, ...\}.\tag{6} Tt=invert(T):={value:Address or Address_Region,...}.(6)
  倒排索引翻译是一种适用于所有电子表格理解任务的无损压缩方法,它显著提高了 SHEETCOMPRESSOR 的压缩率,从 4.41 提高到 14.91。更多详细信息请参见表 1。

3.4 Data-format-aware Aggregation

在电子表格中,相邻单元格通常共享相同的数据格式。如图 2 (3) 所示,C 列记录了不同产品的销售账单收入。尽管如此,具体的数值对于理解电子表格的结构和语义并不重要(尽管可能会丢失精确数量的精细训练细节,例如“18,476”和“18,674”,但这并不影响我们理解此列代表收入)。相反,数据类型对于理解电子表格至关重要。一方面,数据类型代表基本的语义属性,例如“时间”或“电话号码”。它促使我们实施规则以将单元格的值与不同的数据类型相匹配。另一方面,与详细的数值相比,相同的数据类型可以通过聚类进行压缩,从而减少token的数量。
  在本节中,我们将介绍数据格式感知聚合,以便进一步压缩和集成信息。具体来说,我们使用数字格式字符串 (NFS),它是电子表格中的内置单元格属性。默认情况下,可以使用 ClosedXML 或 OpenPyXL 等工具提取 NFS,用于将单元格数据的格式描述为字符串。例如,“2024.2.14”的 NFS 是“yyyymm-dd”,表示特定的日期格式。但是,电子表格用户并不总是明确将 NFS 添加到单元格,因此有时会缺少 NFS。作为补充,我们提出了一种基于规则的识别器,将单元格值映射到特定的预定义数据类型:年份、整数、浮点数、百分比、科学计数法、日期、时间、货币、电子邮件和其他。前九种类型广泛涵盖了我们数据集中来自真实世界语料库的约 55% 的单元格。
N F S s = n f s ( { C e l l i , j } i ∈ m , j ∈ n ) , (7) NFS_s=nfs(\{Cell_{i,j}\}_{i\in m,j\in n}),\tag{7} NFSs=nfs({Celli,j}im,jn),(7)
T a = a g g r e a t o r ( { C e l l i , j } i ∈ m , j ∈ n , N F S s , R ) , (8) \mathcal T_a=aggreator(\{Cell_{i,j}\}_{i\in m,j\in n}, NFS_s, R),\tag{8} Ta=aggreator({Celli,j}im,jn,NFSs,R),(8)
其中 R R R 表示如上所述的预定义规则。通过这种方式,我们进一步减少了 token 的数量。数据区域的压缩率也从 14.91 提高到了 24.79。不同模块的更详细压缩效果如表 1 所示。

3.5 Chain of Spreadsheet

为了将 SPREADSHEETLLM 的适用性扩展到更广泛的下游任务,我们引入了电子表格链 (CoS),它分为两个阶段:
  Table Identification and Boundary Detection。首先将压缩后的电子表格和具体任务query输入到LLM中,利用电子表格表格检测的进步,模型识别与query相关的表格,并确定相关内容的精确边界,确保后续分析只考虑相关数据,从而优化处理效率和重点。
  Response Generation。query和已识别的表格部分被重新输入到 LLM 中。然后,模型处理此信息以生成对query的准确响应。
  通过 CoS,SPREADSHEETLLM 可以有效地处理复杂的电子表格,将流程分解为可管理的部分,从而实现精确且上下文感知的响应。在本文中,我们验证了电子表格 QA 任务的效果,详见第 4.2 节。

4.Experiments

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值