Are We Asking the Right Questions? On Ambiguity in Natural Language Queries for Tabular Data Analysis

该论文提出将自然语言查询中的歧义重构为用户与系统共同承担责任的协作特征,通过建立区分可协作解析与不可解析查询的框架,揭示了现有评估中查询类型混杂的问题,并为表数据分析自然语言接口的设计与评估指明了未来方向。

Daniel Gomm, Cornelius Wolff, Madelon Hulsebos

发布于 2026-03-04
📖 1 分钟阅读☕ 轻松阅读

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

这篇论文探讨了一个非常有趣的问题:当我们用自然语言(比如说话或打字)向电脑询问表格数据时,我们到底是在问对问题了吗?

作者认为,目前的电脑系统(AI)往往把用户提问中的“模糊不清”当作一种错误,拼命想猜出用户心里唯一的那个“正确答案”。但作者提出,这种模糊其实是一种合作,是用户和系统之间的一种默契分工。

为了让你更容易理解,我们可以用"点菜"和"寻宝"这两个比喻来解释这篇论文的核心思想。

1. 核心比喻:点菜 vs. 寻宝

想象一下,你走进一家餐厅(这就是表格数据系统),你想吃点什么(这就是你的分析需求)。

  • 传统的做法(把模糊当错误):
    如果你说:“我想吃点好吃的。”
    现在的系统会崩溃,因为它不知道你是想吃辣的还是甜的,是吃面还是吃鱼。它觉得你“没把话说清楚”,是个坏顾客。它试图强行猜一个菜给你,或者报错。

  • 作者的新观点(模糊是合作):
    作者认为,你说“我想吃点好吃的”,其实是在和厨师(系统)合作

    • 你(用户)的责任:告诉厨师大概的方向(比如“想吃点好吃的”)。
    • 厨师(系统)的责任:根据常识(比如“好吃的通常指招牌菜”)或者主动问你(“您想吃辣的吗?”)来补全细节。
    • 结论:只要双方配合,哪怕你没说全,也能做出一道好菜。这种“没说完”不是你的错,而是你信任厨师能懂你。

2. 三种“点菜”方式

论文把用户的问题分成了三类,就像三种不同的点菜风格:

A. 完美无缺的“明确指令” (Unambiguous Queries)

  • 例子:“请给我一份2023 年 6 月到 8 月哥本哈根平均气温。”
  • 比喻:你不仅说了想吃鱼,还说了要“清蒸”、“去骨”、“只要 200 克”。
  • 作用:这种问题最适合用来测试厨师的手艺(系统的执行能力)。因为答案只有一个,如果厨师做错了,那就是厨师不行。

B. 懂得合作的“模糊指令” (Cooperative Queries)

  • 例子:“请告诉我哥本哈根夏天平均气温。”
  • 比喻:你说“夏天”,没说是哪一年,也没说具体哪几个月。但你信任厨师知道“夏天”通常指 6-8 月,而且默认是最近几年的数据。
  • 作用:这种问题适合测试厨师的悟性(系统的推理能力)。系统需要运用常识(比如“夏天=6-8 月”)来补全信息。如果系统能猜对,说明它很聪明,懂人情世故。

C. 无法合作的“乱点” (Uncooperative Queries)

  • 例子:“请告诉我平均气温。”
  • 比喻:你只说了“气温”,没说地点,也没说时间。这就像在餐厅里只说“我要吃热的”,厨师完全不知道是该给你上火锅还是热汤,甚至不知道你在哪个城市。
  • 作用:这种问题没法用来测试系统。因为它本身就是个死胡同。但它可以用来测试系统的抗干扰能力——看它会不会胡乱猜,或者能不能礼貌地告诉你“您没说清楚,我没法做”。

3. 现在的“考试”出了什么问题?

作者检查了目前流行的 15 个“考试卷”(数据集),发现了一个大麻烦:

  1. 题目太“作弊”了(数据特权):
    很多题目里藏着只有出题人知道的“暗号”。

    • 比喻:就像考试题目里直接写着“请查看表格第 3 列第 5 行的数据”。
    • 问题:在现实生活中,用户不知道表格长什么样,根本不会这么问。这种题目测不出系统真正的本事,只能测它会不会背答案。
  2. 题目类型太混乱(混合了):
    现在的考试把“明确指令”、“合作指令”和“乱点”混在一起考。

    • 比喻:就像一场考试,有的题考“背诵课文”(执行能力),有的题考“即兴创作”(推理能力),结果混在一起打分。
    • 后果:如果一个系统“背诵”很好但“创作”很烂,或者反过来,我们根本分不清它到底哪里强、哪里弱。这就像让一个只会背菜谱的厨师去评“创意奖”,或者让一个很有创意的厨师去评“背诵奖”,都不公平。

4. 作者的建议:我们要怎么改进?

作者提出了三个简单的改进方向:

  1. 分门别类地考试:
    如果要测系统“算得准不准”,就用明确指令(A 类);如果要测系统“懂不懂人话”,就用合作指令(B 类)。别把它们混在一起。

  2. 设计新的“寻宝图”:
    未来的数据集应该包含那种“没说完”的问题,并且要允许系统有多种合理的回答方式。

    • 比喻:不要只给标准答案,要告诉系统:“只要你的解释合乎逻辑,就算对。”
  3. 从“一问一答”变成“聊天”:
    当系统发现用户没说清楚时(比如 C 类问题),不要直接报错或瞎猜,而是应该像真人一样问:“您是指哪个城市的气温呢?”

    • 比喻:好的服务员会问您“您想吃辣的吗?”,而不是直接端上一盘辣椒。

总结

这篇论文的核心思想是:别再逼用户把话说得像机器代码一样精确了。

用户说话模糊是正常的,也是聪明的(因为人类习惯把细节留给对方去补全)。未来的智能系统不应该只追求“猜对唯一答案”,而应该学会理解用户的意图,并在用户没说清楚时,通过常识推理礼貌提问来共同完成任务。

这就好比,我们不需要一个只会死记硬背菜谱的机器人厨师,我们需要的是一个能听懂“我想吃顿好的”这种模糊指令,并主动问一句“那您喜欢清淡还是重口?”的贴心大厨