前言

开放领域问答任务最常见的两个难点就是保证回答的答案具有事实性和时效性,但是模型通常在训练好后就是固定的即权重固定好了,尤其是时效性基本上很难保证。

今天要给大家介绍的这篇paper主要就是通过prompt来辅助解决这两个难点,感兴趣的小伙伴一起来看看吧~

论文链接:

https://arxiv.org/pdf/2203.05115v1.pdf

多提一句,除了问答还有根据答案生成问题的任务,也很有趣,感兴趣的小伙伴可以看之前笔者介绍过的一篇:

QA4QG: 一个多跳问题生成任务模型

方法

主要包含3个步骤,第一步就是检索,根据问题使用搜索引擎检索出一些相关的答案;第二步构建prompt作为模型的输入;第三步生成多个召回候选,然后重排等等最后结果。下面我们一个个看:

Retrieve

主要是使用的是google的搜索API,当来了一个问题时,使用其去检索得到top20的doc url,然后解析得到其相应的文本,但是这里有一个问题就是通常检索回来的doc通常都比较长(大多数都是来自于维基百科等等),而由于模型对输入长度是有限制的,所以很难直接应用,于是作者这里的做法是先将所有文档分为6个句子的段落,然后使用tf-idf分别对问题q和段落编码,然后使用余弦相似度作为对各个段落排序的分数,这样在最后只使用一些最相关的段落作为训练样本。

为了说明检索带来的好处,作者还将google和DPR(一种应用在维基百科问答上的端到端的模型)进行对比,具体的作者使用Wikipedia-derived NQ 数据集作为问题去分别用google搜索和DPR预测,结果发现还是google好,大概是86.5% vs 79.4%,这还不算google做的一些优化,比如为了公平只将google的返回结果也限制在维基百科上,如果放开到全网络那google的分数可以上升到92.4%。

Prompt

这里就是构建训练样本,作者在k-shot QA场景进行的,具体的原来的训练样本形式是⟨questions, answers⟩,首先使用questions去检索出一些相关的paragraph(上一步)作为evidence也即提示prompt,最后将训练样本扩展为⟨Evidence , questions, answers⟩,具体的k=20。

Rerank

说白了这里主要的思路就是尽可能的多召回几个答案候选,然后打分重排选出最好的,这样就可以尽大可能的达到容错的效果,作者还给了一个证明:已经有很多研究证明通过缩减参数来达到增加计算量,这样对提升few-shot tasks效果是有效的,即牺牲参数换计算量。

作者这里就是通过多召回来类比增加计算量,绕来绕去其实就是多召回几条看看,选个最好的。

具体的对于一般的问答任务就是先根据Q检索n = 50条Evidence,然后再根据每一个Evidence作为prompt生成多个后续答案,这样最后候选其实就很多了,而对于分类任务就更简单了就是预测所有类别的一个概率分布。

这里的候选的分数具体量化作者给了三种作为参考,其中q是问题,pi是检索出的第i个paragraph也即上述说的evidence也即论文标题说的prompt,ai是根据q和pi作为模型输入预测的结果

(1)Direct inference

(2)Noisy channel inference

(3)Product-of-Experts (PoE)

结合考虑上述两种

实验结果

效果当然是很好了,大家感兴趣的话可以去细读原论文实验部分。

总结

(1) 论文将检索结果作为prompt也即Evidence给到模型作为一部分输入,本质上来讲就相当于给模型的输入增加了信息量,理论上一定对结果是有增益的,额外给了一些相关信息当然对预测结果是有帮助的,额外给的这个信息量作者将其形象化为事实和时效,其实也许还有其它的,只不过这两个最明显,总的来说吧,这个idea一听就很work,还是挺有意思的。

(2) 这个idea能work的一个重要前提保障是检索出来的候选prompt一定要保证比较好且稳定,不然的话不但对结果没增益还有可能因为引入噪声而导致变差。

(3) 如果类比推荐流程,检索这一步一定程度上相当于是个粗排,给我们召回一批很好的prompt,基于此我们进行精排给出最后答案,而且这个粗排是一个很好用的已有的系统即市面上成熟的那些搜索引擎。站在巨人的肩膀上,事倍功半。

一起交流

想和你一起学习进步!『NewBeeNLP』目前已经建立了多个不同方向交流群(机器学习 / 深度学习 / 自然语言处理 / 搜索推荐 / 图网络 / 面试交流 / 等),名额有限,赶紧添加下方微信加入一起讨论交流吧!(注意一定o要备注信息才能通过)

通过prompt方法增强开放领域问答模型相关推荐

  1. 【论文阅读】开放域问答论文总结,文本召回与问答的另一种思路

    [论文总结]开放域问答,纯文本召回与精排的另一种思路 前言 SCIVER: Verifying Scientific Claims with Evidence 任务介绍 数据样例 开放域问答 Read ...

  2. 检索器与阅读器:开放域问答的综述 Retrieving and Reading: A Comprehensive Survey on Open-domain Question Answering

    开放域问答(OpenQA)是自然语言处理(NLP)中的一项重要任务,旨在基于大规模非结构化文档以自然语言的形式回答问题.最近,关于 OpenQA 的研究文献数量激增,特别是与神经机器阅读理解 (MRC ...

  3. EMNLP 2020 | 基于超边融合的文本增强知识图谱开放域问答

    ©PaperWeekly 原创 · 作者|舒意恒 学校|南京大学硕士生 研究方向|知识图谱 论文标题: Open Domain Question Answering based on Text Enh ...

  4. DSTC10开放领域对话评估比赛冠军方法总结

    本文介绍了国际竞赛DSTC10开放领域对话评估赛道的冠军方法MME-CRS,该方法设计了多种评估指标,并利用相关性重归一化算法来集成不同指标的打分,为对话评估领域设计更有效的评估指标提供了参考.相关方 ...

  5. Facebook刷新开放域问答SOTA:模型训模型!Reader当Teacher!

    文 | Sherry 不是小哀 编 | 小轶 一部问答系统发展史就是一部人工智能发展史.早在1950年的图灵测试就提出:如果人类无法通过问答将机器和人区分开,那么这个机器就可以被认为具有智能.问答系统 ...

  6. MedicalGPT:基于LLaMA-13B的中英医疗问答模型(LoRA)、实现包括二次预训练、有监督微调、奖励建模、强化学习训练[LLM:含Ziya-LLaMA]。

    项目设计集合(人工智能方向):助力新人快速实战掌握技能.自主完成项目设计升级,提升自身的硬实力(不仅限NLP.知识图谱.计算机视觉等领域):汇总有意义的项目设计集合,助力新人快速实战掌握技能,助力用户 ...

  7. 《预训练周刊》第19期:歧义短语的类量子语境性研究、自然语言处理中prompt方法的系统综述...

    No.19 智源社区 预训练组 预 训 练 研究 观点 资源 活动 关于周刊 超大规模预训练模型是当前人工智能领域研究的热点,为了帮助研究与工程人员了解这一领域的进展和资讯,智源社区整理了第19期&l ...

  8. 论文浅尝 | 通过知识到文本的转换进行知识增强的常识问答

    笔记整理:陈卓,浙江大学在读博士,主要研究方向为低资源学习和知识图谱 论文链接:https://www.aaai.org/AAAI21Papers/AAAI-10252.BianN.pdf 发表会议: ...

  9. 论文浅尝 | 面向单关系事实问题的中文问答模型

    来源:NLPCC 2017 论文下载地址:http://tcci.ccf.org.cn/conference/2017/papers/2003.pdf 动机 开放领域的QA问题是一个被广泛研究的问题, ...

最新文章

  1. OpenEye | Windows下安装配置OpenEye
  2. iis6 php5.3 mysql_Win 2003下IIS6+Mysql+php5.2  isapi搭建 升级php5.2到5.3测试 借助fastcgi实现...
  3. Spring Security and Shiro
  4. QT小例子 ---文件查找
  5. wp7中的fill_parent
  6. java高效率素数算法_《Core Java》里给出的算法,效率比较高。 统计2000000以内的所有的素数。...
  7. java编程中的di是什么_java-在Spring IoC / DI中使用@Component注释对接口...
  8. 谷歌插件开发ajax请求,chrome插件 注入js以及发送ajax(message/request)
  9. HttpSession 和 HttpSession
  10. 数据:Purpose以太坊ETF的持仓量达到4万枚ETH
  11. pytorch learning
  12. 运用SQL Server安全模型来保护数据
  13. 三菱M80加工中心伺服电机调试软件带序列号
  14. 搞定 office 2007 错误 1706
  15. 重磅!上海985教授当选!全球仅4人!
  16. GIS招聘 | 中煤航测遥感集团(大量测绘、地信、遥感岗位)
  17. doctype 怪异模式和标准模式
  18. MATLAB中plot函数使用
  19. svn: E155004: There are unfinished work items in ‘D:\workspace\xxx‘; run ‘svn cleanup‘ firs
  20. 寒假宅喵java学习

热门文章

  1. 简单设计企业级JOB平台
  2. 55.函数模板指针匹配(模板自动匹配*多的)
  3. React-Native 之 TabBarIOS
  4. 面向对象的七种设计原则
  5. Driver 初始化顺序
  6. 一个项目需要提交哪了些文档?
  7. 宜昌方言RAP 说唱 《在宜昌》
  8. DBGridEh全部属性设置详解
  9. java代码里出现中文乱码怎么解决
  10. 【Statistics】均值