Decomposition-Driven Multi-Table Retrieval and Reasoning for Numerical Question Answering

本文提出了 DMRAL 框架,通过构建表关系图、设计表对齐问题分解器与覆盖感知检索器以及子问题引导推理器,有效解决了大规模表格集合中数值多表问答面临的复杂关系支持不足、检索低效及答案生成不准确等挑战,显著提升了检索与回答准确率。

Feng Luo, Hai Lan, Hui Luo, Zhifeng Bao, Xiaoli Wang, J. Shane Culpepper, Shazia Sadiq

发布于 Tue, 10 Ma
📖 1 分钟阅读☕ 轻松阅读

Each language version is independently generated for its own context, not a direct translation.

这篇论文介绍了一个名为 DMRAL 的新系统,它专门用来解决一个非常棘手的问题:如何从成千上万张杂乱无章的表格中,找出正确的数据,并算出复杂的数字答案。

想象一下,你是一位超级侦探,手里拿着一张复杂的线索卡(比如:“计算 2010 年后获得诺贝尔物理学奖的女性科学家的总引用次数”)。你的任务不是去查一本整齐的字典,而是要潜入一个巨大的、混乱的**“表格迷宫”**(比如整个互联网上的公开数据湖),找到散落在不同角落的线索,把它们拼凑起来,最后算出那个数字。

现有的方法在这个迷宫里经常迷路,而 DMRAL 就是为了解决这个问题而生的“导航仪”。

1. 为什么现有的方法会“翻车”?

在 DMRAL 出现之前,处理这类问题主要有两种笨办法:

  • 方法 A(像查字典): 假设所有表格都整齐地放在一个图书馆里,有明确的目录和索引(数据库)。但现实中的表格像是一堆散落在地上的废纸,没有目录,甚至标题都丢了。这种方法一上来就晕了。
  • 方法 B(像猜谜): 让 AI 直接去猜哪些表格有用。但 AI 经常“想当然”,比如它可能只找到了“诺贝尔奖得主”的表格,却漏掉了“女性”的表格,或者漏掉了“引用次数”的表格。这就导致最后算出来的答案是错的,或者根本算不出来。

核心痛点: 表格太多(成千上万)、表格之间关系复杂(有的能合并,有的能连接)、数据不完整(标题缺失)。

2. DMRAL 是怎么工作的?(三大绝招)

DMRAL 把解决这个问题分成了三个聪明的步骤,就像侦探破案一样:

第一步:画一张“关系地图” (Table Relationship Graph)

在开始找线索之前,DMRAL 先花点时间把整个迷宫的地图画出来。

  • 比喻: 想象你有一堆散落的乐高积木。DMRAL 会先检查哪些积木的接口是匹配的(可连接性,比如“年份”列和“年份”列能对上),哪些积木的图案是一样的可以拼在一起(可合并性,比如两个表格都是“2010 年销售表”)。
  • 作用: 它把这些能“握手”的表格连成一张大网。这样,当需要找线索时,它就知道该往哪个方向走,而不是盲目乱撞。

第二步:把大任务拆成小任务 (Decomposition-Driven)

这是 DMRAL 最聪明的地方。面对“计算女性获奖者总引用次数”这种大问题,AI 容易懵。

  • 比喻: 就像你要做一道复杂的“佛跳墙”,不能直接把所有食材扔进锅里。DMRAL 会先拆解菜谱
    1. 先找"2010 年后诺贝尔物理学奖得主”的名单(任务 A)。
    2. 再从名单里挑出“女性”(任务 B)。
    3. 最后去查这些女性的“引用次数”并求和(任务 C)。
  • 创新点: 它不是随便拆,而是对着表格的结构拆。它会先看看表格里有哪些列(比如“性别”、“年份”),确保拆出来的小问题都能在某张具体的表里找到答案。这就像给每个小任务都配了一把专属钥匙

第三步:像“查漏补缺”一样找表格 (Coverage-Aware Retriever)

有了小任务,现在要去迷宫里找对应的表格了。

  • 比喻: 传统的 AI 就像是一个只盯着“关键词”的猎人,看到“诺贝尔”就抓一张表,不管它是不是完整的。
  • DMRAL 的做法: 它像一个严谨的质检员
    1. 它先根据小任务找一些候选表格。
    2. 然后它会检查:“哎呀,我找到了‘获奖者名单’,但好像缺了‘女性’这一列的信息,或者缺了‘引用次数’的表。”
    3. 一旦发现缺口(Gap),它会立刻生成一个新的“补漏任务”,专门去找那张缺失的表。
  • 结果: 它确保找到的表格组合能100% 覆盖所有问题需求,不会漏掉任何关键信息。

第四步:边做边改的“编程助手” (Sub-question Guided Reasoner)

最后,要把找到的表格数据变成最终答案,需要写一段代码(比如 SQL 或 Python)。

  • 比喻: 就像让一个新手厨师直接做满汉全席,很容易把菜烧焦。
  • DMRAL 的做法: 它让 AI一步一步来
    1. 先写代码算出“获奖者名单”。
    2. 运行一下,看看对不对。
    3. 如果错了(比如语法错误),AI 会看到错误提示,然后自我修正,重新写代码。
    4. 最后把这几步代码拼起来,执行得到最终数字。

3. 效果怎么样?

论文在两个巨大的数据集上做了测试(就像在两个超大的图书馆里找书):

  • 找表更准了: 相比以前的方法,DMRAL 找对表格的概率提高了 24%
  • 算数更对了: 最终算出的数字答案,准确率提高了惊人的 55%

总结

DMRAL 就像一个拥有“超级地图”、“拆解大师”和“质检员”三重身份的侦探。

它不再试图一次性解决所有问题,而是:

  1. 先理清表格之间的关系(画地图);
  2. 把大问题拆成小问题,确保每个小问题都有对应的表格(拆任务);
  3. 检查有没有漏掉的表格,缺什么补什么(查漏补缺);
  4. 最后一步步写出代码并自我修正,算出正确答案(边做边改)。

这种方法让 AI 在面对海量、杂乱、不完整的现实世界数据时,也能像人类专家一样,精准地找到线索并算出复杂的数字答案。