Loading [MathJax]/extensions/TeX/AMSmath.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【问答对话】kbqa?开放域问答怎么有知识地生成

【问答对话】kbqa?开放域问答怎么有知识地生成

原创
作者头像
百川AI
修改于 2022-09-06 12:11:25
修改于 2022-09-06 12:11:25
1.3K0
举报
文章被收录于专栏:我还不懂对话我还不懂对话

问答是对话的重要任务之一,封闭的垂直领域可以构建问题库,通过检索召回、排序的方式回答,然而到了开放域,怎么既利用外部知识,又能够应对多样的问题,前有kbqa,利用结构化的知识库和语义链接,然而这是最优的么?而最近流行的大模型,如GPT-3也在开放域问答上有一定的能力,那么如何在大的语言模型基础上融合知识呢,其实主要面临两个问题,1)检索什么知识,怎么检索。2)怎么讲检索知识加入。

首先是检索什么知识,怎么检索,传统的倒排,TF-ID,BM25肯定是有效的,最近也有一些文章提出了一些新的思路

DPR

2020 EMNLP, Dense Passage Retrieval for Open-Domain Question Answering

这篇文章是关于怎么检索出知识的,对比的是TF-IDF 和 BM25,文章证明通过少量的query和passage数据就能够训练一个双塔模型,效果上几乎就能取代之前的TF-IDF 和 BM25。top20准确率超过BM25有9%-19%。

双塔模型就众所周知,这里主要说怎么构建正负样本数据,以及损失函数,先说损失函数,主要和正样本相似度要比其他负样本拉开差距:

构建数据:正样本是固定的(数据集答案、包含答案的段落),负样本选择对于训练至关重要,这里使用了三种方式来构建负样本:

  • Random:随机选择一些负样本。
  • BM25:BM25召回的但是不包含答案的样本,但是和问题token很match。(这个要慎重,之前facebook向量召回中讲到这种样本甚至会损伤召回,所以后面实验最好的也是加很少这种样本)
  • Gold: 训练集中其他样本的positive passage。
image.png
image.png

如图,实验中表现最好是mini-batch内的gold passage和一条BM25样本。明显优于BM25。

RAG

NeurIPS 2020, Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks

DPR主要优化检索阶段,那么在生成阶段的优化呢?在DPR基础上, RAG通过利用DPRetriever+BART来做问答,它能够用到预训练的语言模型(BART)和非参数memory(检索知识的dense vector)来生成。检索知识主要是Wiki百科索引。

DPR上面讲过了,那么怎么利用预训练seq2seq语言模型和pre-trained retriever呢,如图:

image.png
image.png

预训练的retriever更具query检索最小内积的topk document Zi,最后预测y时候,z作为隐变量输入,但是具体是怎么输入并且复用BART参数的呢?有两种方式:

  • RAG-Sequence Model:生成预测每一个token的时候,使用同一个文档,即每篇文档生成一个回答。
  • RAG-Token Model:生成预测每个token的时候,使用所有文档,所以可以允许生成的时候结合多个文档的答案片段。

FID

2021 EACL, Leveraging Passage Retrieval with Generative Models for Open Domain Question Answering

大模型能够在开发域的知识问答取得不错效果,但是参数量巨大,影响训练和推理,巨大的参数量中,又有哪些是存储着知识呢?本文通过检索方式引入文本知识(可能包含潜在的有用信息),取得了问答的SOTA。

image.png
image.png

如上图,某些回答信息可能存在于检索的某个片段之中,所以顺理成章就需要通过query和文本交互提取片段,整体框架包含两部分,检索和生成。

  • 检索部分:参考了DPR的向量召回方式,通过faiss召回。

生成部分模型也是简单有效,主要是怎么融合检索的知识:

image.png
image.png

查看其源码,passage包含title和context,即标题和内容,输入时候会加入prompt,即:query:xxx title: xxx context: xxx

Encoder: 这阶段每个q和p交互,有利于提取其中的某些证据的信息。

Decoder: 输入是将每个qp片段的拼接,然后解码时候通过cross attention和这些片段交互,从而在生成阶段选择不同的信息生成不同的答案。

RETRO

如何以GPT-3的4%参数量实现与其相当的效果?RETRO的答案是加入检索知识,剥离模型中用于存储知识的参数。

检索:规模是万亿级别的token,因此并没有建立倒排,而是直接将句子块进行检索。

  • 数据库是key-value格式,key是句子向量,而value包含两部分:1)句子chunk,用于计算key向量。2)chunk的后续,
  • 使用BERT作为句子编码器,通过对token向量的average pooling获得句子向量。
  • 检索是会避免检索出当前句子的下文,避免数据泄露
image.png
image.png

模型:采用Transformer Encoder-Decoder,训练任务是自回归语言模型,将原始文本分成n块,生产第i块使用之前的文本以及第i-1块的检索出的k个neighbours作为增强的表达,因此第0块的检索信息是空。

image.png
image.png

模型也相对于FID,会较少的重复计算,因为FID中q和p会两两拼接获得解码向量,而Retro是

  • 编码阶段:先编码passage然后有一个cross attention计算q和a关联,从而将q的信息融合到 Retrieval Encoder 中。
  • 解码阶段:query拼接在解码前作为prompt,在chunked cross attention阶段来学当前生成token和p的关联。q作为prompt个人感觉生成也更加合理。

其实会有一个问题,为什么encoder和decoder中都有cross attention?编码阶段CA可以理解为输入(q)和检索结果的关联,而解码阶段,是去生成每一个字的时候,和检索结果的chunked cross attention,是一个实时生成的CA。

image.png
image.png

最后可以对比qa表现上的结果,没有战胜FID,作者认为是因为FID使用的T5模型有针对encoder的任务,使得模型encoder更强?而这一点对于qa非常重要😂。

image.png
image.png

哈哈,最终还是不如FID

Reference

这一期先到这了,下期继续。

image.png
image.png

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
RAG检索策略深度解析:从BM25到Embedding、Reranker,如何为LLM选对“导航系统”?
大家好!今天我们来聊聊一个热门技术——RAG(检索增强生成)中至关重要的“检索”环节。如果你正在探索如何让你的大型语言模型(LLM)更智能、回答更靠谱,那这篇文章你可千万别错过。
LeonAlgo
2025/07/01
2820
RAG检索策略深度解析:从BM25到Embedding、Reranker,如何为LLM选对“导航系统”?
LLM in Reranking——利用LLM进行重排
重排器(Reranker)作为信息检索的第二阶段,需要根据查询和文档的相关性,对候选文档做细粒度的排序。经典的重排方法一般使用交叉编码器,结合文档和查询的语义信息进行打分和排序。
NewBeeNLP
2023/10/25
2.7K0
LLM in Reranking——利用LLM进行重排
介绍 RAG(检索增强生成)
RAG(Retrieval-Augmented Generation)是一种将检索和生成结合在一起的模型架构,特别适用于回答开放域问答、生成相关文本以及需要丰富背景信息的任务。它结合了检索系统和生成模型的优势,通过从大型数据库中检索相关信息并使用生成模型对其进行处理,生成更准确和上下文相关的答案或内容。
IT蜗壳-Tango
2024/07/29
1.6K0
生成对抗网络(GAN)
GAN的思想就是:这是一个两人的零和博弈游戏,博弈双方的利益之和是一个常数,比如两个人掰手腕,假设总的空间是一定的,你的力气大一点,那你就得到的空间多一点,相应的我的空间就少一点,相反我力气大我就得到的多一点,但有一点是确定的就是,我两的总空间是一定的,这就是二人博弈,但是呢总利益是一定的。
狼啸风云
2020/11/27
2.3K0
LLM4Rec:当推荐系统遇到大语言模型
大模型LLM在越来越多的领域开始崭露头角,前段时间我们整理了大模型在推荐系统中的应用 survey,当时留了一些坑没填上,今天补上。
NewBeeNLP
2024/01/17
3.6K0
LLM4Rec:当推荐系统遇到大语言模型
斯坦福NLP课程 | 第10讲 - NLP中的问答系统
教程地址:http://www.showmeai.tech/tutorials/36
ShowMeAI
2022/05/12
7400
斯坦福NLP课程 | 第10讲 - NLP中的问答系统
AAAI'22「腾讯」多任务推荐系统中的跨任务知识蒸馏
多任务学习被广泛应用于推荐系统,先前的工作专注于设计底部层的结构来共享输入数据的信息,但是由于它们采用特定任务的二分类标签作为训练的监督信号,因此关于如何准确排序商品的知识并未在任务之间完全共享。
秋枫学习笔记
2022/09/19
4980
双塔模型的瓶颈究竟在哪?
开放域问答系统的泛化性和鲁棒性一直是一个业界难题,其中位于最顶层的稠密检索模型(Dense Retriever)常常被诟病其OOD泛化能力不如传统的BM25算法。
NewBeeNLP
2024/04/26
2870
双塔模型的瓶颈究竟在哪?
Tailored Visions:利用个性化提示重写增强文本到图像生成
当前,我们正在通过自监督学习的方式来训练越来越强大的基础模型。这些大型预训练模型(LPM)充当高效的压缩器,压缩大量互联网数据。这种压缩使得我们可以通过自然语言描述方便地提取这些模型中编码的知识。尽管还处于起步阶段,但这种方法显示出超越传统搜索引擎的潜力,成为知识和信息获取的优质来源。与改进搜索引擎的查询类似,提供给LPM的提示(Prompt)也必须精心设计。然而,与传统搜索引擎相比,提示的复杂性、模型响应的不可预测性带来了独特的挑战。为了理解LPM如何对各种提示做出反应,一些研究检验了重写提示以提高特异性的可行性。然而,在无法访问用户个人数据和行为的情况下,定制提示以准确满足用户的需求仍然具有挑战性。
用户1324186
2023/12/20
2670
Tailored Visions:利用个性化提示重写增强文本到图像生成
斯坦福NLP课程 | 第8讲 - 机器翻译、seq2seq与注意力机制
教程地址:http://www.showmeai.tech/tutorials/36
ShowMeAI
2022/05/10
7980
斯坦福NLP课程 | 第8讲 - 机器翻译、seq2seq与注意力机制
大模型理论基础(so-large-lm)课程笔记!
在当前信息时代,大型语言模型(Large Language Models,LLMs)的发展速度和影响力日益显著。随着技术进步,我们见证了从基本的Transformer架构到更为复杂和高效的模型架构的演进,如Mixture of Experts (MOE) 和Retrieval-Augmented Generation (RAG)。这些进步不仅推动了人工智能领域的边界,也对理解和应用这些技术提出了新的要求。
Datawhale
2024/04/24
3100
大模型理论基础(so-large-lm)课程笔记!
总结!语义信息检索中的预训练模型
本文对预训练模型在召回(retrieval), 排序(re-ranking),以及其他部分的应用做一个总结,参考学长们的综述:Pre-training Methods in Information Retrieval[1]
NewBeeNLP
2022/11/11
2K0
总结!语义信息检索中的预训练模型
Facebook刷新开放域问答SOTA:模型训模型!Reader当Teacher!
一部问答系统发展史就是一部人工智能发展史。早在1950年的图灵测试就提出:如果人类无法通过问答将机器和人区分开,那么这个机器就可以被认为具有智能。问答系统和人工智能有着密不可分的关系。从基于规则和结构化数据的自动问答,到基于精细设计神经网络的文本问答,再到T5[1]将一切文本任务都转化为问答,我们足以看出自动问答系统在走向机器智能的过程中的重要性。
godweiyang
2021/02/24
1K0
Facebook刷新开放域问答SOTA:模型训模型!Reader当Teacher!
WWW'22「快手」序列推荐:解耦长短期兴趣
4. 最后由于长期和短期兴趣的重要性是动态变化的,通过基于注意力的网络自适应地聚合它们进行预测。
秋枫学习笔记
2022/09/19
9290
降维算法 - SNE
SNE是一种数据降维算法,最早出现在2002年,它改变了MDS和ISOMAP中基于距离不变的思想,将高维映射到低维的同时,尽量保证相互之间的分布概率不变,SNE将高维和低维中的样本分布都看作高斯分布,而Tsne将低维中的坐标当做T分布,这样做的好处是为了让距离大的簇之间距离拉大,从而解决了拥挤问题。。 SNE 高维数据用X表示,Xi表示第i个样本,低维数据用Y表示,则高维中的分布概率矩阵P定义如下: image.png P(i,j)表示第i个样本分布在样本j周围的概率。\sigma是依据最大熵原
为为为什么
2022/08/05
8310
降维算法 - SNE
NLP札记3-信息抽取
具体到新词提取中,给定字符串S作为词语选取,X定义为左边可能出现的字符(左邻字),则成H(X)为S的左信息熵。
皮大大
2021/03/02
8570
CIKM'21「网易」新用户冷启动:MAIL生成虚拟用户交互表征
本文是针对新用户方面的冷启动文章,作者提出双塔结构的MAIL,一个塔用于冷启动,另一个塔关注排序问题。
秋枫学习笔记
2022/09/19
4830
机器学习之从极大似然估计到最大熵原理以及EM算法详解
极大似然估计是建立在极大似然原理的基础上的一个统计方法,极大似然原理的直观想法是,一个随机试验如有若干个可能的结果A,B,C,... ,若在一次试验中,结果A出现了,那么可以认为实验条件对A的出现有利,也即出现的概率P(A)较大。极大似然原理的直观想法我们用下面例子说明。设甲箱中有99个白球,1个黑球;乙箱中有1个白球.99个黑球。现随机取出一箱,再从抽取的一箱中随机取出一球,结果是黑球,这一黑球从乙箱抽取的概率比从甲箱抽取的概率大得多,这时我们自然更多地相信这个黑球是取自乙箱的。一般说来,事件A发生的概率与某一未知参数 \theta 有关, \theta 取值不同,则事件A发生的概率P(A|\theta )也不同,当我们在一次试验中事件A发生了,则认为此时的\theta 值应是t的一切可能取值中使P(A|\theta )达到最大的那一个,极大似然估计法就是要选取这样的t值作为参数t的估计值,使所选取的样本在被选的总体中出现的可能性为最大。
大黄大黄大黄
2018/04/01
3.1K17
机器学习之从极大似然估计到最大熵原理以及EM算法详解
深度学习应用篇-元学习[15]:基于度量的元学习:SNAIL、RN、PN、MN
元学习可以被定义为一种序列到序列的问题, 在现存的方法中,元学习器的瓶颈是如何去吸收同化利用过去的经验。 注意力机制可以允许在历史中精准摘取某段具体的信息。
汀丶人工智能
2023/10/11
8650
深度学习应用篇-元学习[15]:基于度量的元学习:SNAIL、RN、PN、MN
WWW'22「京东」使用变分推断学习冷启动embedding
本文提出变分embedding学习框架VELF来缓解CTR预测中的冷启动问题,VELF 通过两种方式缓解由数据稀疏性引起的过拟合来解决冷启动问题:
秋枫学习笔记
2022/09/19
5820
推荐阅读
相关推荐
RAG检索策略深度解析:从BM25到Embedding、Reranker,如何为LLM选对“导航系统”?
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档