- 文章链接:Asking the Right Question at the Right Time: Human and Model Uncertainty Guidance to Ask Clarification Questions
- 发表:EACL 2024
- 代码:未提供
- 领域:LLM-Clarification
- 一句话总结:在协作对话式绘图任务中,传统对话系统往往要么始终不提问直接执行(易在关键信息缺失时累积错误),要么模仿人类/用外部决策器学习 “何时提问”(但人类澄清策略多样、与模型不确定性相关性弱,导致提问时机不稳定);本文提出基于 Silent Drawer 的不确定性驱动澄清框架 QDrawer,先对下一步动作的预测分量显式估计不确定性(用分布熵等度量),再在不确定性超过阈值时以模板化澄清问题主动补齐缺失信息并将问答反馈到后续决策,从而在可控的提问次数下显著提升预测准确率与整体任务相似度
- 摘要:澄清问题是对话中一种关键工具,用于表明误解、歧义以及语言使用中的欠具体化。尽管人类从儿童时期起就能够通过提问来消解不确定性,现代对话系统却难以生成有效的问题。为推动该方向的发展,我们以一个协作式对话任务作为试验平台,研究模型不确定性与人类不确定性之间的关系——这是一个迄今研究不足的问题。我们表明,模型不确定性并不会映射人类的澄清寻求行为,这意味着将人类澄清问题作为监督来决定何时提问,可能并不是消解模型不确定性的最有效方式。为解决这一问题,我们提出一种基于模型不确定性估计来生成澄清问题的方法,并将其与若干替代方案进行比较,结果显示该方法在任务成功方面带来了显著提升。我们的发现强调:为对话系统赋予评估自身不确定性并在交互中加以利用的能力具有重要意义
文章目录
1. 背景
1.1 LLM 的澄清提问
- 在日常对话中,人类可以几乎毫不费力地通过澄清性问题来处理并解决不确定性,但 LLM 并不天然具备这种能力,早期的先进 LLM 在面对含糊指令时也难以生成澄清性问题
- LLM 流行之前,对话系统领域已经意识到澄清性提问的重要性,当时的主流方法通常是基于规则的
基于规则的方法:在对话管理层按规则(如置信度阈值)或决策论(如最大化期望效用)触发,再用提问模板或少量规则把 “要澄清的点” 表面化成问题
- 近年来在 LLM 协作式对话任务背景下,人们对这一目标的兴趣再度升温,基本方法可以分成两类
深度学习类方法:这类方法通过构造人类澄清提问数据集训练深度学习模型,使其能够决定提问时机。但由于不同的人对确认/求证有不同偏好(马上确认、先推断再提问、委婉地暗示等),构造数据集往往含有混合的澄清模式。对于监督学习这会导致标签冲突,对于强化学习这会放大奖励噪声,导致模型性能受到影响基于不确定性的方法:这类方式使用模型的内部不确定性决定 “何时问” 或 “问什么”,不确定度量包括 “动作集合上模型预测分布的熵”、“ASR置信分数” 等;还有些工作不显示计算不确定度,而是先基于 beam search 生成多个候选输出,然后用 “top-2 概率差” 来近似不确定性,或使用中间预测引导输出重排序。这些工作可以取得较好的性能,但本文之前没有工作深入分析过模型不确定性和人类不确定性的相关程度
1.2 CoDraw 任务
- 本文以 CoDraw 任务与数据集作为测试平台,研究协作式智能体中由不确定性驱动的澄清策略。CoDraw 是一个协作绘画游戏,涉及在部分可观测的虚拟环境中进行感知、交流和行动

如图所示,游戏由两名玩家 Teller 和 Drawer 交互进行。Teller 看到由剪贴画元素组成的抽象场景,其布局具有语义意义;Drawer 看到的是一个初始为空白的画布。两名玩家需要通过自然语言交流进行协作,使绘制者用剪贴画重构讲述者看到的图像

- Drawer 模型的性能由目标图像和 Drawer 在对话结束时绘制图像的相似度来度量。相似度分数是多方面质量的加权分数:包括检查目标场景中的剪贴画是否出现在重建场景中、绘制剪贴画的属性(大小、位置、翻转、人物面部表情与身体姿态等附加属性)等。本文作者在此基础上对相似度分数指标做了一些修改
- CoDraw 任务包含一个带有细粒度标注澄清请求的数据集,作者使用这些标注在研究了人类不确定性与模型不确定性之间的关系,并提出一个 CoDraw Drawer 模型,使其基于自身不确定性提出澄清问题
2. 本文方法
2.1 CoDraw 不确定性分析
- CoDraw 中 Drawer 模型收到一条指令后需要就 “绘制哪些剪贴画” 以及 “它们对应的属性” 作出决策。作者想设计一个基于内部不确定性进行提问的模型,因此设计了基于 Silent Drawer 模型的 CoDraw 绘制决策不确定性估计方法
2.1.1 Silent Drawer 模型
- Silent Drawer 模型简单地把 Teller 的描述转换为绘制决策,不输出任何自然语言进行对话,因此其被称为 “Silent”,该模型使用 CoDraw 数据集训练,平均相似度分数为 3.31
- 模型输入:使用双向 LSTM 提取 Teller 描述的特征,用一个向量描述当前画布状态(已添加的剪贴画及其属性),二者拼接后作为输入
- 中间层:稠密的前馈神经网络
- 模型输出:一个大向量,包含 58 个可用剪贴画的大小、位置、朝向和一个无界分数,分数高于 0 的剪贴画都会被绘制到画布上
- Silent Drawer 的训练损失由多个部分组成
- 剪贴画大小是离散的,对 small、medium、large 做交叉熵损失
- 剪贴画朝向是离散的,对 right、left 做交叉熵损失
- 剪贴画位置是连续的,对 x, y 做 L2 损失
- 剪贴画分数是无界实数,其先通过 sigmoid 变为概率形式,再用二分类交叉熵训练
2.1.2 CoDraw 决策的模型不确定性度量
- 基于 Silent Drawer 模型,作者设计的 CoDraw 决策不确定性度量如下
- 对于 剪贴画选择,使用 Silent Drawer 分配给每个剪贴画的分数作为模型不确定性的度量。分数越低越不确定
- 对于 大小(small、medium、large) 与 朝向(right、left) 属性,使用每个属性在可能标签上的概率分布的熵描述该标签上的不确定性
- 对于 位置 属性,Drawer 为每个剪贴画输出两个值,对应画布的 x 轴与 y 轴坐标。由于度量连续值的不确定性比离散变量更困难,作者使用模型集成方法,将使用不同随机初始化种子训练得到的五个 Silent Drawer 模型的预测方差作为位置不确定性度量
2.2 模型不确定性与人类不确定性相关性低
- 作者分析了模型内部的不确定性是否和人类玩家相似。为此,使用针对澄清提问进行了精细标记的 CoDraw-iCR 数据集,其中约 40% 的对话至少出现一次澄清请求,用这些澄清请求作为人类不确定的信号。作者使用探针思想,以模型不确定性为输入,训练逻辑回归模型预测人类是否会发起澄清请求,若预测性能良好,则认为二者有高度一致性。具体地
- 使用 2.1.2 节所述方法计算每轮的模型不确定性,不确定性是一个4维向量,描述了剪贴画选择、大小、朝向、位置的不确定性(若一轮涉及多个剪贴画绘制动作,则取各项不确定性的最大值
- 逻辑回归模型输入模型不确定性4维向量,预测 “下一回合人类是否会提出澄清问题”
- 实验表明
- 逻辑回归的平均精度仅 0.188(略高于随机 0.142),且只有 clipart 选择不确定性具显著性,说明模型不确定性与人类不确定性相关性总体较弱
- 进一步分析发现人类澄清策略高度不一致:即便指令遗漏关键属性(如未给 size 或未给位置),人类也常常不会追问,且追问时也不一定针对缺失属性。因此作者认为用人类澄清决策来监督学习 “何时提问” 可能并非最优
人类可能更谨慎或更冒险,承担更多或更少风险,或猜测/希望之后的对话中会补充更多信息,从而导致在 “是否澄清” 决策上的高度分歧
2.3 基于不确定性提出澄清问题
- 基于 2.2 分析,使用带澄清提问的人类数据微调 LLM 很可能不是好思路,因此作者聚焦于使用模型内部的不确定性来触发澄清提问。具体地,仅针对剪贴画的尺寸属性进行提问,因为该属性对于所有剪贴画是普适的,且人类 Teller 常常不会指明尺寸。目标是验证由尺寸不确定性触发的提问能否提升 Drawer 在尺寸属性的准确率和整体相似度分数
- 作者对 2.1.1 节所述的 Silent Drawer 进行改造得到 QDrawer,其模型结构完全不变,但修改了交互方式,使其可以基于尺寸不确定性发起澄清提问。为了隔离 “提问” 本身的影响、并避免与语言生成相关的混杂因素,作者采用 基于模板(template-based)的方法来生成澄清问题及其回答
这里所谓 “基于模板” 其实就是一些填词规则,使用这种方式的原因,除了避免语言生成影响以外,Silent Drawer 和 QDrawer 这种模型结构本身也不支持生成自然语言
- QDrawer 和 Silent Drawer 的主要区别在于交互方式不同,具体而言
- Silent Drawer 每轮交互输入场景描述和画布状态 ( Teller t , Canvas t ) (\text{Teller}_t, \text{Canvas}_t) (Tellert,Canvast),输出绘制动作 a t a_t at,即 a t = π ( Teller t , Canvas t ) Canvas t + 1 = Apply ( Canvas t , a t ) \begin{aligned}a_t &= \pi(\text{Teller}_t, \text{Canvas}_t) \\ \operatorname{Canvas}_{t+1}&=\operatorname{Apply}\left(\operatorname{Canvas}_{t}, a_{t}\right) \end{aligned} atCanvast+1=π(Tellert,Canvas


被折叠的 条评论
为什么被折叠?



