简介
转载于:Chain-of-Table论文解读。
表格理解任务包括基于表格的问题回答、事实验证等。与泛化的推理不同,基于表格的推理需要从自由形式的文字和半结构化的表格数据中提取出深层次的语义信息。
目前的方法如思维链(Chain-of-Thought)虽然能够将推理过程以文本的形式整合,但如何有效地利用表格数据在推理过程中仍然是一个问题。作者提出了一个名为CHAIN-OF-TABLE的框架,该框架明确地将表格数据用作推理链中的中间思想的代理。通过使用情境学习来指导LLMs,框架能够迭代地生成操作并更新表格,从而形成一条表示表格推理链的链条。这种动态规划的推理过程使得LLMs能够基于前一个操作的结果来计划下一个操作,从而形成一个连续的推理链条。这个链条包含了结构化的中间结果信息,有助于更准确和可靠的预测。
该框架在多个LLM选择上达到了新的最先进性能,包括在WikiTQ、FeTaQA和TabFact基准测试上的表现。这表明CHAIN-OF-TABLE框架在表格推理任务中具有实际的应用价值和潜力。
1. 简介
表格数据的理解在自然语言处理领域相当重要,与纯文本的形式不通,表格数据通过行列的交互传递信息。理解表格数据对于执行基于表格的事实验证、问答等任务至关重要,但由于表格的结构化特性增加了LLM理解的难度,这也是个很有挑战性的问题。
已有各类研究来解决这类问题,有的研究致力于在LLM中添加专门的嵌入层或者注意力机制,并预训练模型从而理解表格结构;合成SQLquery对来预训练模型作为SQL执行器;以及利用LLM通过Prompt技巧来进行推理。
然而这些通用的推理以及基于编程的推理在处理复杂表格数据的时候通常会将推理步骤表示为自由形式的文本或者代码,这并不适合解决涉及到复杂表格的场景,因为这些自由形式的表示往往不能很好地映射出表格数据丰富的结构,限制了对复杂表关系的理解和操作。
本文提出了一种名为Chain-of-Table的方法,该方法通过逐步对表格进行操作变换来进行推理,从而形成表格链。这些操作模仿了SQL和DataFrame的常用操作,比如添加列、选择行、分组聚合等。通过这些操作,可以动态丰富或者精简表格,并以更加结构化的方式来表示中间推理步骤。这样的方式不仅能够保留表格数据的结构化特性,同时通过可视化中间结果,更有助于实现准确的表格内容理解。
作者团队在WikiTQ、TabFact和FeTaQA这三个benchmark上验证了Chain-of-Table的有效性。
2. Chain-of-Table整体框架
本文提出的Chain-of-Table整体的流程如下,
每次重复以下的步骤,完成chain的构建:
- 根据当前表格T,用户查询Q,以及历史的chain,决定下一步的计划f。
- 根据当前表格T,用户查询Q,以及当前的规划f,确定f的参数列表。
- 执行f,得到更新后的表格T,同时将f添加到chain。
然后在最终的表格T上执行用户查询操作,得到答案。
这里,最关键的步骤就是“决定下一步的规划”以及“确定当前规划的参数列表”。
2.1 任务规划
相关的prompt示例如下:
2.2 参数生成
相关的prompt如下:
3. 实验
3.1 基础实验
对比文本推理和符号推理的方式,Chain-of-Table在多个数据集上都取得明显提升。
3.2 推理步数的影响
整体来看,随着需要的推理步数的增加,意味着问题复杂度的增加,各种方法的效果都会有所下降。Chain-of-Table似乎比其他的常规方法更加稳健,即便是在操作步数适当增加的情况下,其性能下降也比较小。
这意味着Chain-of-Table可能更加有利于处理实际世界中复杂多变的表格推理问题,因为它可以在问题难度升高时,保持较为稳定的性能表现。
3.3 表格大小的影响
随着表格规模的增加,性能下降,但是同样地,Chain-of-Table方法下降更加温和一点,这也表明了它在处理长表格时候的有效性。
3.4 推理效率
相比目前的一些典型方法(Binder和Dater),Binder和Dater是与Chain-of-Table相比较的两种比较新的方法。Binder通过生成SQL查询,依赖于大量的样本从而获得一致性的结果;而Dater则需要执行多个固定的精细步骤,并在每一步都适用自洽策略来提高准确性。
与这些方法不同,Chain-of-Table采用了一种贪心搜索策略来进行表格推理,它不依赖于自洽样本来提升性能。因此,虽然Chain-of-Table采用了迭代的推理过程,它仍然能够减少样本的数量。具体来说,Chain-of-Table所需要的查询数量远低于其他最新的baseline方法,这表明它在查询效率上有显著优势。
参考
- Chain-of-Table: Evolving Tables in the Reasoning Chain for Table Understanding
- https://blogs.sap.com/2024/01/12/generative-ai-structured-data-extraction-the-release-of-chain-of-tables/
- llamaindex实现 https://github.com/run-llama/ll…