论文笔记--Won’t Get Fooled Again: Answering Questions with False Premises
1. 文章简介
- 标题:Won’t Get Fooled Again: Answering Questions with False Premises
- 作者:Shengding Hu, Yifan Luo, Huadong Wang, Xingyi Cheng, Zhiyuan Liu, Maosong Sun
- 日期:2023
- 期刊:arxiv
2. 文章概括
文章给出了第一份False Premises Questions(FPQs)数据集,并证明了PLMs本身具有识别False premise的能力,通过在少量FPQ上微调可以激活该能力。
下图为PLM能力激活的一个简单示例
3 文章重点技术
3.1 大模型面对FPQs的表现
一般来说,我们直接问大模型"Does the sun have eyes?“可以得到正确的答案"No”,但当我们把错误问题作为前提提问其它问题时,比如"How many eyes does the sun have?",这时候大模型往往会把错误问题中蕴含的前提当真,并继续给出错误的答案。具体来说,我们用<subject, predicate, object>表示一个三元组,上述问题的三元组为<triple, quantity, ?>,其中triple为<syn, has_property, eye>,针对此类triple中嵌套triple的问题,大模型往往无法正确作答。
文章测试了Bloon, OPT, Jurassic-1, GPT-3对一些FPQ的问答能力。如下表所示,大模型模型可以直接回答出单个三元组的问题,但无法正确回答错误假设下的问题FPQs。
3.2 False QAs数据集
为了解决上述问题,文章构建了一份False QAs数据集。由于从自然语言语料库中收集数据可能会是的收集的问题不可控,且难以对其校正。为此,文章手动构建数据集,希望构建的False QA数据集具有broad coverage, high quality, few shortcuts, detailed explanations。
首先,文章希望数据集包含尽可能多的问题分类。文章对错误问题进行了两种分类:按照错误类型进行分类(包括尝试错误、逻辑错误等);按照问题格式进行分类(包括事实类畏难而退,描述类问题等)。最后得到的数据集包括8种错误类型的问题,6种问题格式的问题,且每种类型的问题数量仅可能一致。
作者雇用了20个人类标记员来创造FPQs。首先从Generic-sKB数据库中获取单词为源单词及对应的简短的描述性句子,然后标记员根据该单词进行发散思考创造出包含/与单词相关的错误前提的问题。为了让PLMs更深刻地理解任务,我们让标记员对每个FPQs进行修正,且需保证修改最小从而确保模型可以学习到必要的知识。此外,每个标记员被要求对FPQs为什么是错误的给出解释,且解释不能仅仅是对错误的否定。下图为标记数据的流程。
最后,文章得到了FalseQA数据集,包含2365个问题对(包含False QA和修正后的True QA)。
3.3 训练和评估
为了让模型同时判断问题的假设是为真 并给出合理的解释,我们让模型生成判别tokens: “tricky question"或是"true question”,然后继续生成对判断的解释。由于判别tokens的token数很少,文章增加了额外的binary loss来进行学习,该loss和模型的生成时loss的比例为1。
评估阶段,如果生成的答案中包含“tricku question”,则认为该问题为一个FPQ,否则为一个TPQ。
4. 文章亮点
文章给出了第一个False Premise Questions数据集,在其基础上进行学习可以增强大模型对FPQs问题的判别和解释能力。且数值实验表明,在学习FPQs的过程中增加少量的原始QA数据(每次迭代使用小部分重复数据即可)可以有效地防止大模型的灾难性遗忘现象发生。False QAs数据集可供科研工作者进行进一步的该类研究,且文章提出的学习思路可供未来的QA数据集构建参考。
5. 原文传送门
Won’t Get Fooled Again: Answering Questions with False Premises