我们生活在一个数据泛滥的时代。从关系型数据库到维基百科信息框,结构化表格承载了世界上大量知识。对于英语使用者来说,得益于能够执行表格问答 (Table Question Answering, TableQA) 的大语言模型 (LLM) ,获取这些数据变得越来越直观。你可以问: “哪一年的收入最高?”模型就能从财务报表中检索出答案。
但是,如果你讲孟加拉语或印地语呢?
尽管这些语言有数亿使用者,但在自然语言处理 (NLP) 领域,它们仍被视为“低资源”语言,因为它们缺乏训练复杂神经模型所需的大规模标注数据集。仅仅翻译英语数据集对表格来说效果不佳,因为表格具有严格的结构,而且翻译过程中容易丢失文化语境。
在这篇文章中,我们将深入探讨最近的一篇研究论文 《Table Question Answering for Low-resourced Indic Languages》 (低资源印度语言的表格问答) ,该论文提出了一种新颖且低成本的流程来解决这个问题。我们将探索研究人员如何在没有昂贵人工标注的情况下,为孟加拉语和印地语生成海量数据集,以及他们如何训练出在这些特定任务上超越 GPT-3.5 等通用 LLM 的模型。
核心问题: 为什么 TableQA 很难
TableQA 与基于文本的标准问答 (QA) 有着根本的不同。在文本 QA 中,答案通常隐藏在段落中的一段文本里。而在 TableQA 中,模型必须:
- 理解结构: 它需要知道哪个单元格属于哪一行和哪一列标题。
- 执行推理: 问题通常需要聚合 (求和、计数、平均) 、比较 (大于、小于) 或逻辑 (过滤行) 。
对于低资源语言,存在两大主要障碍:
- 数据匮乏: 像孟加拉语这样的语言没有大规模的 TableQA 数据集。
- 文化断层: 将关于“美国总统”的英语数据集翻译成孟加拉语,并不能帮助模型学习“西孟加拉邦公路网”。文化实体与语言不匹配。
研究人员通过构建全自动流程来生成高质量的训练数据,创建了 BanglaTabQA 和 HindiTabQA 数据集,从而解决了这个问题。
解决方案: 可扩展的数据生成流程
这项研究的核心是一个三步法,旨在生成合成但高质量的训练数据。目标是获取网络上的原始表格,并将它们转化为成对的自然语言问题和答案表。
步骤 1: 提取原生表格
研究人员没有翻译英语表格,而是直接从孟加拉语和印地语的维基百科转储 (dumps) 中抓取表格。这确保了内容——姓名、地点和事件——在文化上是相关的,在语言上是自然的。
步骤 2: SQL 桥梁
如何教机器针对表格提问?研究人员使用了 SQL (结构化查询语言) 作为中间步骤。
他们使用 SQUALL 数据集中的模板生成 SQL 查询。然而,他们引入了一个巧妙的转折: 代码混合 SQL (Code-Mixed SQL) 。 他们保留了英语的 SQL 关键字 (SELECT, WHERE, COUNT) ,但用步骤 1 中提取的原生孟加拉语或印地语术语填充表名、列名和值。
例如,一个查询可能看起来像这样:
SELECT count(district) FROM table WHERE road_section = 'Shimlapal...'
步骤 3: 从代码到对话
最后一步是将僵硬的 SQL 查询转化为流畅的自然语言问题 (NQ) 。为此,他们训练了一个序列到序列模型 (称为 SQL2NQ ),将代码混合查询翻译成自然的孟加拉语或印地语问题。
整个工作流程如下图所示:

图 1: 自动化流程。注意系统如何从维基百科表格开始 (左) ,生成代码混合 SQL 查询 (中) ,并将其转换为自然的孟加拉语问题,同时执行 SQL 以找到正确答案 (右) 。
质量控制: 过滤噪声
自动生成通常会产生噪声或无意义的数据。为了确保质量,研究人员实施了严格的质量控制 (QC) 机制。
他们使用句子相似度模型 (LaBSE) 将生成的自然语言问题与原始 SQL 查询进行比较。如果语义不足够接近,该样本就会被丢弃。
确定质量的“截断点”至关重要。研究人员绘制了正样本对 (匹配的 SQL 和问题) 与“硬负样本” (不相关的配对) 的相似度得分图。

图 2: 相似度得分分布。蓝色区域代表有效的 SQL-问题对,峰值接近 1.0。橙色区域代表负样本对。研究人员选择了 0.74 作为阈值 (橙色尾部结束处) ,以确保只有高质量数据进入训练集。
分析数据集
由此产生的 BanglaTabQA 数据集规模庞大,包含超过 19,000 个表格和 200 万个训练样本。但这足以教模型进行推理吗?
为了回答这个问题,我们可以看看生成的 SQL 查询的复杂度。SQL 查询中的关键字数量是衡量难度的一个很好的指标 (例如,简单的查找比经过过滤的聚合操作关键字要少) 。

图 3: 查询复杂度分布。大多数查询包含 3 到 5 个 SQL 关键字,提供了简单推理任务和中等复杂度推理任务的良好混合。
此外,数据集不仅限于简单的“获取此值”任务。它涵盖了 TableQA 必不可少的广泛操作,包括算术、排序和过滤。

图 4: 操作类型分布。“过滤” (例如,查找符合条件的行) 和“算术” (例如,计数或求和) 构成了数据集的很大一部分,确保模型学会真正的计算推理。
数学公式化
在看结果之前,了解模型实际上是如何“阅读”表格的很有帮助。神经网络处理的是文本序列,而不是网格。因此,表格必须被线性化 。
模型的输入是问题 (\(Q\)) 和表格 (\(T\)) 的拼接。表格逐行展平,使用特殊标记来标记列标题和行分隔。
输入序列如下所示:

这里,\(q\) 代表问题标记,\(h\) 代表标题,\(t\) 代表表格单元格。
然后训练模型生成答案表 (\(T_{out}\)) ,这也是一个包含结果标题和值的线性化序列:

这种公式化允许标准的编码器-解码器模型 (如 BART 或 T5) 像处理翻译任务一样处理结构化表格数据。
实验与结果
研究人员在他们的新数据集上训练了几个模型,特别是微调了 mBART-50 和 M2M100 等多语言模型。他们将这些模型与强基线进行了比较,包括 GPT-3.5、GPT-4 和 OdiaGenAI (一种针对孟加拉语调整的 Llama 模型) 。
主要发现
- 专用模型获胜: 在 BanglaTabQA 上训练的模型 (标记为 BnTQA-mBart )显著优于 GPT-3.5 和开源 Llama 基线。
- 在表格完全匹配 (Table Exact Match) 上,BnTQA-mBart 在测试集上达到了 35.88% 。
- GPT-4 达到了 26.83% 。
- GPT-3.5 仅达到 6.04% 。
这凸显了虽然 GPT-4 很强大,但在特定任务上,针对高质量、特定语言数据进行微调的较小模型可以胜过通用 LLM。
数字理解的重要性: 基线模型的一个主要失败模式是无法处理孟加拉语数字。特定的微调允许新模型使用本土文字有效地执行算术运算。
跨语言迁移: 也许最令人兴奋的结果是零样本跨语言迁移 。 研究人员采用了仅在孟加拉语 (BnTQA) 上训练的模型,并在印地语数据集 (HindiTabQA) 上对其进行了测试。
- 在没见过任何印地语训练样本的情况下,孟加拉语模型就能回答问题并对印地语表格进行推理。
- 经过简单的后处理 (将输出文字从孟加拉语翻译成印地语) ,该模型取得了显著的准确率,证明模型学会了 TableQA 的逻辑,而不仅仅是文本模式。
验证分数
研究人员还分析了中间 SQL 到问题模型的验证分数。印地语模型显示出比孟加拉语模型更高的 ROUGE 分数 (衡量文本重叠的指标) 。这表明孟加拉语问题可能在语言上更加多样化,或者与 SQL 关键字的对应不那么严格,这使得生成任务稍微困难一些,但也可能更自然。

表 1: SQL 到问题生成模型的验证分数。分数越高表示模型越能成功地将结构化查询转化为自然语言。
结论与启示
这篇研究论文为 AI 的民主化提供了一个蓝图。通过摆脱基于翻译的方法,转而采用自动化的、感知结构的生成流程,作者证明了我们可以在有限的预算下为低资源语言构建最先进的系统。
BanglaTabQA 和 HindiTabQA 的发布填补了一个关键空白,为印度语言的 TableQA 提供了首个大规模基准。此外,该方法是可泛化的。同样的流程——抓取本地表格、生成代码混合 SQL 并使用语义相似度进行过滤——可以应用于斯瓦希里语、越南语或任何其他拥有网络资源的语言。
对于学生和研究人员来说,这突显了一个重要的教训: 数据质量和相关性往往比模型大小更重要。当保留文化和语言语境时,在原生数据上训练的 6 亿参数模型可以击败万亿参数的通用模型。
](https://deep-paper.org/en/paper/2410.03576/images/cover.png)