介绍
在数据世界中,电子表格为王。从小型企业到财富 500 强公司,Microsoft Excel 和 Google Sheets 是结构化数据的默认操作系统。然而,尽管它们无处不在,电子表格对于当今最强大的人工智能工具来说,仍然是一个巨大的盲点。
虽然大语言模型 (LLM) 如 GPT-4 和 Llama 3 已经精通散文、代码甚至诗歌,但在面对电子表格的二维网格时却举步维艰。为什么?因为 LLM 是按顺序阅读文本的——从左到右,从上到下。而电子表格是空间性的。Z100 单元格在数学上可能依赖于 A1,但在线性文本流中,它们相距甚远。此外,表示稀疏、格式化网格所需的海量 Token 通常会导致“上下文溢出”,在模型开始推理之前就撑爆了它的 Token 限制。
在微软最近一篇题为 “Encoding Spreadsheets for Large Language Models” 的论文中,研究人员提出了一个名为 SHEETENCODER 的突破性框架。该系统不仅仅是将原始数据输入给 LLM;它从根本上重新构想了电子表格的序列化、压缩以及呈现给 AI 的方式。通过实现 25 倍的压缩比并将准确率提高 12% 以上,SHEETENCODER 可能最终成为解锁目前被困在 .xlsx 文件中海量知识的关键。
在这篇文章中,我们将拆解 SHEETENCODER 的架构,探索它如何将庞大的网格转化为 LLM 能够真正理解的简洁、语义化的提示 (prompt) 。
问题所在: 为什么电子表格会让 LLM 崩溃
在理解解决方案之前,我们必须认识到问题的难度。电子表格不仅仅是表格。它们是灵活、无边界的网格,通常包含:
- 多张表: 一张工作表可能包含三张不同的表和一个图表。
- 格式线索: 粗体标题、背景颜色和边框通常比文本本身更能定义语义结构。
- 稀疏性: 电子表格可能在第 1 行和第 10,000 行有数据,而中间什么都没有。

如 图 1 所示,目标是创建一个流水线,让原始电子表格在到达 LLM 之前通过一个编码器 (绿色框) 。LLM 随后执行诸如“电子表格理解” (检测表格) 或下游推理 (回答像“哪个产品在第三季度收入最高?”这样的问题) 的任务。
然而,标准的编码方法在这里失效了。
- Markdown/HTML: 这些方法非常消耗 Token。表示空单元格需要重复的标签或分隔符 (
| | | |) ,这会迅速耗尽上下文窗口。 - 线性化: 逐行读取会破坏垂直上下文。如果一个表有 1,000 行,当 LLM 读到第 1,000 行时,它可能已经“忘记”了第 1 行的标题。
研究人员发现,直接将大型电子表格输入 GPT-4 通常会导致模型“迷失在中间 (lost in the middle) ”,随着文件大小的增加,性能显著下降。
解决方案: SHEETENCODER
研究人员提出了 SHEETENCODER , 这是一个旨在压缩电子表格同时保留其结构骨架的框架。它超越了简单的序列化,转向了智能提取。

上面的 图 2 提供了该方法的高级路线图。它将一个庞大、蔓延的电子表格 (左) 转换为高度压缩、Token 高效的表示形式 (右) 。这种转换通过三个特定的模块发生,我们将在下面详细介绍。
1. 朴素编码策略 (Vanilla Encoding Strategy)
在压缩之前,论文建立了一个基准的“朴素 (Vanilla) ”编码。他们没有直接转储文本,而是显式地编码了每个单元格的坐标、值和格式。
格式大致如下:
Address, Value, Format
例如:
B2, Sales, Bold | B3, 500, Normal
虽然这保留了 2D 信息 (地址 B2 告诉 LLM 数据确切位于何处) ,但它非常冗长。对于大型表格,仅这种方法是不切实际的,因为它会超出 Token 限制。这种对效率的需求导致了三个压缩模块的开发。
2. 模块 I: 基于结构锚点的提取
论文的第一个主要见解是: 你不需要阅读每一行来理解表格结构。
想象一份有 10,000 行的销售报告。第 5 行到第 9,995 行在 结构 上很可能是相同的——它们都包含日期、产品名称和金额。阅读所有这些行对于理解表格的 布局 没有任何新信息。
SHEETENCODER 使用一种启发式算法来识别“结构锚点”。这些是表格的边界——表头、页脚和边缘列。
- 骨架法: 系统识别潜在表格的上、下、左、右边界。
- 邻域 (\(k\)) : 它保留锚点行/列以及周围 \(k\) 行的小邻域 (例如 4 行) 。
- 剪枝: 它丢弃同质化的中间部分。

图 7 展示了这个模块的影响。
- 上图 (之前) : 原始电子表格很大。模型看到了空白空间和不连贯的数据,导致它产生幻觉,认为有两个独立的表 (
B2:AK14和B19:F25) 。 - 下图 (之后) : 提取模块移除了空白的中间地带并压缩了重复行。剩下的“骨架”非常紧凑 (
B2:M20) 。
至关重要的是,提取后,系统会执行 坐标重映射 。 它有效地将表格“缝合”回一起,使 LLM 将其视为一个连续的、虽然较短的网格。仅此步骤就过滤掉了 75% 的内容,同时保留了 97% 的结构边界。
3. 模块 II: 倒排索引转换
即使移除了中间行,电子表格仍然受到空单元格和重复值 (例如,“类别”列中“办公用品”出现了 500 次) 的困扰。
传统的网格编码 (第 1 行、第 2 行、第 3 行…) 强迫你写出每个空单元格以保持对齐。SHEETENCODER 通过使用 倒排索引转换 彻底颠覆了这一点。
不再是:
Cell A1: "Cat", Cell A2: "Cat"
系统将其编码为字典 (JSON 风格) :
"Cat": ["A1", "A2"]
"Dog": ["B1:B5"]

图 8 展示了这种转变的威力。
- 左图 (标准) : 模型难以看清远距离单元格之间的关系,并预测出一个巨大的、错误的表。
- 右图 (倒排) : 通过按 值 对单元格进行分组,编码自然地处理了稀疏数据,而不会将 Token 浪费在空白空间上。这种字典格式是无损的——没有数据被删除——但 Token 数量大大减少。这使得 GPT-4 能够正确识别两个不同的表,而不是将它们合并。
4. 模块 III: 数据格式感知聚合
最后的压缩步骤需要一次抽象的飞跃。对于 表格检测 (查找表格的起始和结束位置) 等任务,数字的具体 值 并不重要。无论一个单元格包含“\(10.50”还是“\)1,000,000”,结构上的事实是它是一个“货币”单元格。
SHEETENCODER 利用了 数据格式感知聚合 。 它查看 数字格式字符串 (NFS)——Excel 中隐藏的元数据,定义单元格是日期、百分比、货币还是文本。
该算法将具有相同数据类型的相邻单元格聚类。

看 图 9 :
- 之前: 编码器列出了每一个日期和浮点数值。这非常消耗 Token。
- 之后: 系统识别出
B2到B38都是“值”类型 (浮点数) 。它用表示范围和类型的单个 Token 替换了单独的数字。 - 结果: LLM 看到了一张简化的地图: “标题在 B1,浮点数从 B2 到 B38”。
这种抽象允许 LLM 理解数据的 形状 和 类型,而不会陷入 内容 的泥潭。
实验结果
这个复杂的流水线真的有效吗?研究人员在两个主要任务上测试了 SHEETENCODER: 电子表格表格检测 和 电子表格问答 (QA) 。
压缩比
首先,让我们看看效率。这三个模块的结合带来了巨大的 Token 节省。

如 表 1 所示,完整的流水线 (模块 1&2&3) 实现了近 25 倍 的压缩比。一个最初需要约 150 万 Token (远超 GPT-4 限制) 的电子表格被压缩到约 6.2 万 Token。这使得将海量企业电子表格输入当前的 LLM 上下文窗口成为可能。
表格检测的准确性
如果压缩破坏了信息,那是无用的。为了测试准确性,研究人员微调了模型 (包括 GPT-4、Llama 2 和 Mistral) 来检测表格边界。

表 2 重点展示了使用 F1 分数 (精确率和召回率的混合) 的性能:
- GPT-4 + SHEETENCODER (微调后) : 实现了 0.789 的 F1 分数 (无聚合) ,显著优于之前的 SOTA 模型 TableSense-CNN (0.666)。
- 巨型电子表格: 差异在“巨型”数据集上最为明显。标准 GPT-4 得分为 0.000——它基本上完全失败了,因为提示词太长了。使用 SHEETENCODER,即使在巨型表格上,模型也能保持高准确率。
成本降低
由于 LLM API 按 Token 收费,压缩等于省钱。作者指出,SHEETENCODER 将处理电子表格的平均成本降低了 96% 。 对于每天处理数千个文件的企业应用来说,这是一个颠覆性的改变。
电子表格编码链 (CoS)
研究人员并没有止步于识别表格。他们将该框架扩展到了 电子表格问答 (QA) ——回答用户关于数据的问题。
他们引入了一个名为 电子表格编码链 (CoS) 的流水线,灵感来自思维链 (Chain-of-Thought) 推理:
- 检测: 使用压缩后的 SHEETENCODER 提示词来查找相关的表格边界。
- 提取: 从原始文件中 仅 提取该特定表格。
- 推理: 将未压缩 (或轻度压缩) 的目标表格输入 LLM,以回答具体问题。

表 4 显示这种两步法击败了现有的表格问答模型,如 TAPEX 和 Binder。通过首先使用压缩的“骨架”定位数据,然后放大寻找答案,模型避免了电子表格其余部分的干扰。
结论
SHEETENCODER 代表了让 AI 获取结构化数据的重要一步。它摆脱了“将一切视为文本”的幼稚做法,拥抱了电子表格的独特属性: 视觉布局、稀疏性和类型化格式。
通过实施 结构锚点、倒排索引 和 格式聚合 , 该框架将电子表格的弱点 (庞大、稀疏的网格) 转化为优势 (结构化、可压缩的模式) 。
对于 NLP 和数据科学领域的学生和研究人员来说,这篇论文提供了一个至关重要的教训: 表示 (Representation) 至关重要。 简单地扩大模型规模并不总是答案。有时,你需要重新设计向模型输入数据的方式,才能释放其真正的潜力。
- 核心要点: 如果你正在使用 LLM 处理结构化数据,请停止输入原始网格。寻找数据的“骨架”——标题、边界和类型——让 LLM 在淹没于细节之前先对结构进行推理。
](https://deep-paper.org/en/paper/file-3023/images/cover.png)