CN114880452A - 一种基于多视角对比学习的文本检索方法 - Google Patents

一种基于多视角对比学习的文本检索方法 Download PDF

Info

Publication number
CN114880452A
CN114880452A CN202210578261.6A CN202210578261A CN114880452A CN 114880452 A CN114880452 A CN 114880452A CN 202210578261 A CN202210578261 A CN 202210578261A CN 114880452 A CN114880452 A CN 114880452A
Authority
CN
China
Prior art keywords
query
loss
bert
document
training
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202210578261.6A
Other languages
English (en)
Other versions
CN114880452B (zh
Inventor
曾骏
于扬
赵翊竹
朱泓宇
文俊浩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chongqing University
Original Assignee
Chongqing University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Chongqing University filed Critical Chongqing University
Priority to CN202210578261.6A priority Critical patent/CN114880452B/zh
Publication of CN114880452A publication Critical patent/CN114880452A/zh
Application granted granted Critical
Publication of CN114880452B publication Critical patent/CN114880452B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • G06F18/2155Generating training patterns; Bootstrap methods, e.g. bagging or boosting characterised by the incorporation of unlabelled data, e.g. multiple instance learning [MIL], semi-supervised techniques using expectation-maximisation [EM] or naïve labelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/088Non-supervised learning, e.g. competitive learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Evolutionary Computation (AREA)
  • Molecular Biology (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Evolutionary Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及一种基于多视角对比学习的文本检索方法,该方法包括MvCR整体框架,其中Inner‑type对比学习模块中,通过参数共享机制为双编码器生成查询和文档的增强视图,并使用批量负样本以无监督的方式提高双编码器的表示能力;Cross‑type对比学习模块中,利用Inner‑type对比学习模块生成的增强视图的表示,并使用通过监督学习方法训练的异构数据增强技术采样的“硬负样本”,显着降低了影响由假阴性和未标记的阳性样本引起的噪声。另外该方还加入异构数据增强方法,可以生成多样化和代表性的训练示例。实验表明本方法在两个流行的稠密文本检索基准上实现很高的性能。

Description

一种基于多视角对比学习的文本检索方法
技术领域
本发明涉及稠密文本检索技术领域,特别涉及基于多视角对比学习的文本检索方法。
背景技术
一个典型的稠密文本检索模型采用双编码器结构将查询和文档编码成为稠密向量,并且查询和文档之间的相关性通过嵌入向量之间的相似度来度量。通常双编码器是通过对比学习方式进行训练的,例如,对于给定的查询和它对应的正样本文档,稠密文本检索任务首先通过负采样策略获得一定数量的负样本文档,然后经过双编码器获得稠密向量后去优化InfoNCE损失,优化目标为在嵌入空间中使查询与正样本文档的距离更加接近,查询与负样本文档的距离更加远。在真实世界稠密文本检索的应用程序中,语料中的文档被预先计算为稠密向量,并且利用近似最近邻搜索进行高效的文本检索。
最近的研究探索了构建稠密文本检索系统的负样本训练实例以及负采样的各种方法。例如,BM25负采样通过使用BM25算法在预料库中召回top-k文档,根据文档的BM25分数筛选出查询的负样本,这种负样本由于更加关注查询和文档之间的精确匹配信号,很可能在语义层面会遗漏一个查询的相关段落。Gao等人在当前或最近的小批次中选择“硬”负样本,但是在DPR研究中发现,分批处理局部负样本虽然在学习单词或视觉表征方面有效,但在稠密文本检索的表征学习方面并不明显优于BM25等稀疏文本检索方法,并且没有办法避免“假负例”的情况。Qu等人建议利用交叉编码器启发式地过滤“假负例”,以进一步提高性能,并且该方法提出了一种数据增强技术,即利用交叉编码器在大规模无监督数据上生成伪标签去覆盖域外用户检索意图,结果显示了负采样技术和数据增强在稠密文本检索任务的重要性。值得注意的是,上述的负采样策略专注于挖掘语义层面的“硬”负样本,却忽略了BM25负样本的精确匹配特征,此外,数据增强虽然有效,但是过多的训练数据导致训练时间成倍增长。
另一方面,双编码器的模型体系结构能够独立并且高效地对查询和文档进行编码,这是文本检索任务必然需要考虑的方面,但是高效的双塔结构由于缺少查询和文档之间的交互建模,因此在性能方面逊色于基于Cross-Encoder体系结构(在Cross-Encoder体系结构中,查询和文档通过[SEP]符号连接输入到模型中)的检索性能。有大量工作通过在双编码器上添加额外的交互层弥补精度与效率的间隙,例如Khattab等人使用一个后期交互层Maxsim:它计算查询中每一个术语对所有文档单词的最大相似度分数,查询和文档的相似度得分由所有最大相似度分数加权得到。Humeau等人通过在BERT之后建立一个两阶段的注意力网络进行交互,它通过关注全局信息指导生成查询和文档的稠密向量,额外的结构不可避免的导致模型参数量以及检索的响应时间增加,并且从结果来看,性能并不稳定。此外,一些针对稠密文本检索任务的预训练方法,例如Condensor和coCondener通过“建立结构阅读”和“段落对比训练”的方式鼓励模型去学习将信息聚合到CLS向量中,生成高质量的CLS表示,虽然结果是有竞争性的,但是从头预训练一个稠密文本检索的深度结构需要大量的计算资源。
发明内容
针对现有技术存在的上述问题,本发明要解决的技术问题是:如何设计一种在保证文本检索效率的同时又能改进文本检索性能的方法。
为解决上述技术问题,本发明采用如下技术方案:一种基于多视角对比学习的文本检索方法,包括如下步骤:
S1:对于一个有标签的语料库。
S11:通过BM25算法召回和查询相关的top-k文档,在剔除查询对应的地面真值文档后,构建BM25负样本。
S12:利用BM25负样本通过InfoNCE损失训练一个基于BERT的双编码器,然后使用训练好的双编码器在语料库中检索最相关的top-k文档,在剔除地面真值后构建神经负样本。
通过S12得到训练实例集T,T中的每个训练实例由一组文本对组成,q1表示第一个查询,
Figure BDA0003661274100000021
表示第一个查询对应的正样本文档,
Figure BDA0003661274100000022
表示第一个查询对应的负样本文档,qn表示第n个查询,
Figure BDA0003661274100000023
表示第n个查询对应的正样本文档,
Figure BDA0003661274100000024
表示第n个查询对应的负样本文档。
Figure BDA0003661274100000025
S2:构建和训练MvCR整体框架:包括Cross-type对比学习模块和Inner-type对比学习模块,其中Cross-type对比学习模块包括两个独立的稠密编码器EP(·)和EQ(·),采用两个预训练好的BERTq和BERTp分别对应的初始化EP(·)和EQ(·)。
克隆BERTq
Figure BDA0003661274100000026
克隆BERTp
Figure BDA0003661274100000027
Figure BDA0003661274100000028
构成Inner-type对比学习模块,中提供查询和文档的正样本表示的编码器。
对于BERTq将来自BERT最后一层的[CLS]向量对应的查询的整体表示cq,对于BERTp将来自BERT最后一层的[CLS]向量对应的文档的整体表示cp,并进行一次Cross类型的对比学习,其优化目标是让查询与正样本的距离更接近,与负样本的距离更远,形式上定义为Cross_Loss1
cq=BERTq(query)[cls] (2)
cp=BERTp(document)[cls] (3)
Figure BDA0003661274100000031
其中sim(·)函数计算两个向量之间的点积,n为负样本的个数。
S21:Inner-type对比学习模块:
Figure BDA0003661274100000032
Figure BDA0003661274100000033
在训练的时候被固定。
采用一个额外的平均池化层对
Figure BDA0003661274100000034
Figure BDA0003661274100000035
的最后一层输出取平均值生成查询和文档的正样本表示,同时采用In-batch负样本以无监督的对比学习方式训练。
对于查询对比学习模块BERTq
Figure BDA0003661274100000036
Inner-type的优化定义为InnerLoss1
Figure BDA0003661274100000037
Figure BDA0003661274100000038
Figure BDA0003661274100000039
对于文档对比学习模块BERTp
Figure BDA00036612741000000310
定义InnerLoss2为:
Figure BDA00036612741000000311
在公式(7)和公式(8)中,N为批次的大小,sim(·)函数计算两个向量之间的点积。
S22:Cross-type对比学习模块:
希望
Figure BDA00036612741000000312
与cq具有相同的正负文档样本,也就是
Figure BDA00036612741000000313
Figure BDA00036612741000000314
数量相同,优化目标为让嵌入空间中的
Figure BDA00036612741000000315
Figure BDA00036612741000000316
的距离更接近,
Figure BDA00036612741000000317
Figure BDA00036612741000000318
的距离更远,优化目标被形式化为Cross_Loss2
Figure BDA00036612741000000319
Figure BDA00036612741000000320
两者与原文档表示具有相同的查询,即cq,优化目标是让
Figure BDA00036612741000000321
与cq的距离更加接近,同时让
Figure BDA00036612741000000322
与cq距离更远,优化目标被形式化为Cross_Loss3
Figure BDA00036612741000000323
Figure BDA00036612741000000324
其中,sim(·)函数计算两个向量之间的点积,n为负样本的个数。
S23:联合上述损失,采用线性组合定义最终的训练损失函数:
Figure BDA0003661274100000041
将S1得到的训练实例集T中的训练实例输入MvCR整体框架,当损失Losstotal不再变化时,得到训练好的MvCR整体框架。
S3:对于一个新查询,将该新查询输入训练好的MvCR整体框架,训练好的MvCR整体框架输出在语料库中检索的最相关的top-k’文档。
具体的,所述S2训练MvCR的整体框架时,考虑采用动态权重去组合Losstotal
Figure BDA0003661274100000042
其中,α表示Gross_Loss1的权重,β表示Gross_Loss2的权重,γ表示Gross_Loss3的权重,δ表示InnerLoss1的权重,ε表示InnerLoss2的权重。
相对于现有技术,本发明至少具有如下优点:
1.现有的研究为双编码器分配两个独立的模型,将查询和文档分别嵌入到独立的空间中,本方法通过多视角对比学习的方式采用联合训练去优化模型生成更好的表示,其中Inner-type和Cross-type对比学习模块之间相互依赖,因此,本方法将所有模型进行参数共享,它支持一个模型完成上述所有流程,在无损性能的条件下提供了更高的效率。
2.本发明提出了一种基于多视图对比学习的稠密文本检索框架MvCR。在Inner-type对比学习模块中,本发明通过参数共享机制为双编码器生成查询和文档的增强视图,并使用批量负样本以无监督的方式提高双编码器的表示能力。在Cross-type对比学习模块中,本发明利用Inner-type对比学习模块生成的增强视图的表示,并使用通过监督学习方法训练的异构数据增强技术采样的“硬负样本”,显着降低了影响由假阴性和未标记的阳性样本引起的噪声。此外,本发明提出了一种异构数据增强方法,可以生成多样化和代表性的训练示例。实验结果表明,本发明的方法在两个流行的稠密文本检索基准上实现了最新的技术水平。
附图说明
图1为MvCR的整体框架。
图2为异质数据增强示例。
具体实施方式
下面对本发明作进一步详细说明。
本发明主要考虑一个针对文本检索的对比学习范式,给出一个问题q和一个包含C个文档的集合,文本检索的目的是从C个文本文档中检索出与q最相关的k个文档p+={p1,…,pi,…pk},(|P+|<<|C|)。训练实例由一组文本对组成:
Figure BDA0003661274100000051
在OpenQA的场景中,
Figure BDA0003661274100000052
是为包含问题答案的文档。文本检索模型为双编码器结构包括两个独立的稠密编码器EP(·)和EQ(·)用于将文档和查询映射到d维稠密向量,具体的,采用两个BERT模型分别初始化EP(·)和EQ(·),并将EP(·)和EQ(·)最后一层的输出中的[CLS]标记的表示作为查询和文档的编码,即得EP(p)和EQ(q);然后通过Faiss索引向量并进行有效的检索。查询q和文档p之间的相似性使用向量之间点积定义:
sim(q,p)=EQ(q)T·EP(p) (13)
稠密文本检索模型通过传统的对比学习方式训练,本质是学习查询和段落的稠密表示,使查询与积极的段落在嵌入空间的距离更接近,与消极的段落彼此远离,形式上,给定一组文本对
Figure BDA0003661274100000053
本文最小化以下损失函数:
Figure BDA0003661274100000054
本发明的目标是优化具有n个负文档训练实例的负对数可能性。由于计算成本限制,n的值实际上被设置为远远小于语料库文档的数量C。在本发明中,用于训练稠密文本检索的负样本由数据增强技术产生,后面将讨论数据增强方法和负样本个数n对文本检索的影响。
直接从预训练的语言模型中获取句子向量用于稠密文本检索会导致召回灾难,因此本发明采用半监督的多视角对比学习方式生成高质量的句子表示改进这个缺陷。总体而言,MvCR由两个对比学习模块组成,在Cross-type对比学习模块中,本发明采用监督学习的方式利用数据增强后的数据训练一个双编码器结构的检索器,在Inner-type对比学习模块中,本发明采用无监督的方式修改语言模型,激励语言模型在嵌入空间中意识到不同句子之间的相似性。MvCR整体框架见图1。
一种基于多视角对比学习的文本检索方法,包括如下步骤:
在文本检索任务中,查询与文档之间的精确匹配和语义匹配特征对训练模型都非常有用,因此本发明提出了一种数据增强策略,它可以生成具有多样性以及代表性的“硬负样本”。异构数据增强模块如图2所示,
S1:数据增强策略,对于一个有标签的语料库。
S11:通过BM25算法召回和查询相关的top-k文档,在剔除查询对应的地面真值文档后,构建BM25负样本;所述BM25算法是现有技术。
S12:利用BM25负样本通过InfoNCE损失训练一个基于BERT的双编码器,然后使用训练好的双编码器在语料库中检索最相关的top-k文档,在剔除地面真值后构建神经负样本;
通过S12得到训练实例集T,T中的每个训练实例由一组文本对组成,q1表示第一个查询,
Figure BDA0003661274100000061
表示第一个查询对应的正样本文档,
Figure BDA0003661274100000062
表示第一个查询对应的负样本文档,qn表示第n个查询,
Figure BDA0003661274100000063
表示第n个查询对应的正样本文档,
Figure BDA0003661274100000064
表示第n个查询对应的负样本文档;
Figure BDA0003661274100000065
S2:构建和训练MvCR整体框架:包括Cross-type对比学习模块和Inner-type对比学习模块,其中Cross-type对比学习模块包括两个独立的稠密编码器EP(·)和EQ(·),采用两个预训练好的BERTq和BERTp分别对应的初始化EP(·)和EQ(·)。
克隆BERTq
Figure BDA0003661274100000066
克隆BERTp
Figure BDA0003661274100000067
Figure BDA0003661274100000068
构成Inner-type对比学习模块,中提供查询和文档的正样本表示的编码器;文本检索模型为双编码器结构包括两个独立的稠密编码器EP(·)和EQ(·)用于将文档和查询映射到d维稠密向量,具体的,采用两个BERT模型分别初始化EP(·)和EQ(·),并将EP(·)和EQ(·)最后一层的输出中的[CLS]标记的表示作为查询和文档的编码,即得EP(p)和EQ(q)。
对于BERTq将来自BERT最后一层的[CLS]向量对应的查询的整体表示cq,对于BERTp将来自BERT最后一层的[CLS]向量对应的文档的整体表示cp,并进行一次Cross类型的对比学习,其优化目标是让查询与正样本的距离更接近,与负样本的距离更远,形式上定义为Cross_Loss1
cq=BERTq(query)[cls] (2)
cp=BERTp(document)[cls] (3)
Figure BDA0003661274100000069
其中sim(·)函数计算两个向量之间的点积,n为负样本的个数。
S21:Inner-type对比学习模块:
Figure BDA0003661274100000071
Figure BDA0003661274100000072
在训练的时候被固定;即更新MvCR整体框架的参数时,
Figure BDA0003661274100000073
Figure BDA0003661274100000074
的参数一直都是初始化时的参数。
对于
Figure BDA0003661274100000075
Figure BDA0003661274100000076
为了降低计算效率,它们在训练的时候被固定,用来提供查询与文档的正视角表示,固定
Figure BDA0003661274100000077
Figure BDA0003661274100000078
能够尽可能的利用预训练模型的知识信息,如果不固定,这些信息可能在微调的过程中被破坏。
采用一个额外的平均池化层对
Figure BDA0003661274100000079
Figure BDA00036612741000000710
的最后一层输出取平均值生成查询和文档的正样本表示,同时采用In-batch负样本以无监督的对比学习方式训练;
对于查询对比学习模块BERTq
Figure BDA00036612741000000711
MvCR的优化目标是拉近查询表示cq
Figure BDA00036612741000000712
生成的增强正例视图
Figure BDA00036612741000000713
的距离,拉远cp与同一批次内其余实例的距离。Inner-type的优化定义为Inner Loss1
Figure BDA00036612741000000714
Figure BDA00036612741000000715
Figure BDA00036612741000000716
对于文档对比学习模块BERTp
Figure BDA00036612741000000717
遵循查询对比模块中的思想,但是优化目标被修改为让文档表示cp和增强视图
Figure BDA00036612741000000718
的距离更加接近,与同批次内其余样本彼此远离。定义Inner Loss2为:
Figure BDA00036612741000000719
在公式7和公式8中,N为批次的大小,sim(·)函数计算两个向量之间的点积;Inner-type对比学习模块通过生成不同角度的视图改进双编码器的表示。
S22:Cross-type对比学习模块:
根据查询和文档的增强视图
Figure BDA00036612741000000720
Figure BDA00036612741000000721
本发明做了Cross-type的对比学习去尽可能的捕捉未标注的阳性样本,同时进一步改进双编码器的表示能力。希望
Figure BDA00036612741000000722
与cq具有相同的正负文档样本,也就是
Figure BDA00036612741000000723
Figure BDA00036612741000000724
数量相同,优化目标为让嵌入空间中的
Figure BDA00036612741000000725
Figure BDA00036612741000000726
的距离更接近,
Figure BDA00036612741000000727
Figure BDA00036612741000000728
的距离更远,优化目标被形式化为Cross_Loss2
Figure BDA00036612741000000729
Figure BDA00036612741000000730
两者与原文档表示具有相同的查询,即cq,优化目标是让
Figure BDA00036612741000000731
与cq的距离更加接近,同时让
Figure BDA00036612741000000732
与cq距离更远,优化目标被形式化为Cross_Loss3
Cross-type对比学习模块可以看作是另一种的数据增强方式,但是它不依赖额外的数据工程同时可以构建具有高区分性的对比样本。
Figure BDA0003661274100000081
Figure BDA0003661274100000082
其中,sim(·)函数计算两个向量之间的点积,n为负样本的个数。
S23:联合上述损失,采用线性组合定义最终的训练损失函数:
Figure BDA0003661274100000083
将S1得到的训练实例集T中的训练实例输入MvCR整体框架,当损失Losstotal不再变化时,得到训练好的MvCR整体框架。
S3:对于一个新查询,将该新查询输入训练好的MvCR整体框架,训练好的MvCR整体框架输出在语料库中检索的最相关的top-k’文档。
具体的,S12中利用BM25负样本通过InfoNCE损失训练一个基于BERT的双编码器的过程如下:
1.采用BM25算法在文档语料库中为查询召回top-k文档,将BM25分数从大到小排列,排除真之后按照顺序取固定数量的负例文档(8个)
2.构建基于BERT的双编码器的训练实例,其每个样本由本文对组成:一个查询,一个正例文档,8个负例文档。
3.根据第2步构建的训练实例,训练一个只带有Cross loss1损失的双塔BERT检索器Retrieve。
4.利用第3步的检索器重新在语料库中问查询进行文档召回,按照召回分数从大到小排列,排除真值后按照顺序构建BERT负例。
即使是专家标注的数据集中,也存在大量未标记的阳性样本,为此,本发明采用一个训练有素的交叉编码器结构根据提前设定的阈值对训练实例去噪,并且在无标签语料库中生成伪标签,它以查询和文档的连接(例如[SEP]符号)作为输入,并输出查询与文档之间的相关性得分。在本发明的实验中,设置如果相关性得分高于0.9,则标记为正样本,如果得分小于0.1则标记为“硬”负样本。最后本发明在三种负样本集合中随机采样生成具有多样性的训练实例,这包括BM25负样本所关注的精确匹配特征以及去噪之前和去噪之后的神经“硬负样本”关注的语义特征。
具体的,所述S2训练MvCR的整体框架时,考虑采用动态权重去组合Losstotal
Figure BDA0003661274100000091
其中,α表示Cross_Loss1的权重,β表示Cross_Loss2的权重,γ表示Gross_Loss3的权重,δ表示Inner Loss1的权重,ε表示Inner Loss2的权重。
实验与分析
1.数据集
本发明在两个流行的基准上进行实验:Nature Questions(NQ)和MS-MARCO文档排名。它们的详细的信息见表1。
表1 MSMARCO和Natural Questions数据集细节
数据集 训练集查询数量 开发集查询数量 测试集中查询数量 文档数量
MSMARCO 502,939 6,980 6,837 8,841,323
Nature Questions 58,812 6,515 3,610 21,015,324
MS-MARCO是迄今为止最大的公共搜索基准,有大约880万个文档以及从Bing搜索日志中取样的查询,OpenQA实验使用了NQ数据集,它包括大约2100万文档以及从谷歌搜索日志中收集的查询。本发明使用Qu等人的数据处理脚本,并且根据异质数据增强技术为两个数据集进生成训练实例。本发明关注第一阶段的检索步骤,即从整个语料库中找到相关的段落。
2评价指标
本发明采用平均倒数排名(MRR)和top-k排名的召回(Recall@k)来评估文本检索的性能。MRR计算检索到第一个正样本文档排名的平均倒数。Recall@k计算检索到的top-k文档包含正样本的比例。
3实验环境设置
表2 MvCR训练的超参数
Figure BDA0003661274100000092
Figure BDA0003661274100000101
本发明使用深度学习框架Pytorch,并且基于Hugging Face库在4张RTX 3060GPUs(12G显存)执行实验,利用APEX和梯度累计降低GPU内存消耗。双编码器用BERT-Base进行初始化,额外的,本发明也尝试使用Condensor初始化,它是一个针对稠密文本检索任务的预训练模型,它通过额外关注[CLS]位置信息,可以有效地将信息压缩成单个稠密向量表示。对于实验流程,第一步,本发明遵循DPR的实验设置,首先使用BM25负样本训练一个双编码器,并检索top-200的文档,然后本发明加载了一个训练有素的交叉编码器模型,例如ERNIE-2.0-Large,对被检索到的文档去噪和并且利用异质数据增强策略生成多样性的训练实例,第二步,本发明以Condensor初始化另外一个双编码器,并且在具有多样性属性的NQ和MS-MARCO数据集上微调双编码器。对于稠密文本检索任务,验证检查点需要对整个语料库进行编码,因此评估检查点会变得非常昂贵,例如使用一张RTX 3060GPU编码需要花费6小时。由于本发明的计算资源的限制,所以本发明采取最后一个训练检查点去评估模型,本发明对两个数据集作同样的事情。其他详细的超参数见表2。
4对比实验模型
表3 MvCR在MS-MARCO和Natural Questions数据集上的文本检索结果
Figure BDA0003661274100000102
Figure BDA0003661274100000111
本发明将MvCR与以前的最先进模型比较,被考虑的基线包括稀疏和稠密文本检索方法。在稀疏检索模型中,除了基于精确匹配的传统BM25检索器,还有4个被强化神经网络检索器,这包括doc2query、DeepCT、docTTTTTquery和GAR。DeepCT使用BERT学习术语权重增强BM25系统,doc2query和docTTTTTquery使用生成式神经网络扩展文档,GAR使用生成模型,表3中间部分列出了稠密文本检索任务的最新研究进展,DPR使用BERT-Base初始化双编码器作为检索器,同ME-BERT一样,使用同批次负样本或BM25“硬负样本”训练模型。ColBERT同样使用BM25负样本,但是在结构上它通过在双编码器上添加额外的层建模查询和文档之间的交互。ANCE使用Roberta去初始化双编码器,采用迭代的方式根据不同训练阶段的检查点在整个语料库上渐进式的检索“硬负样本”。RocketQA和PAIR,Condensor以及coCondensor通过构造高质量“硬负样本”,多阶段训练,数据增强,知识蒸馏,对比预训练等方式改进稠密文本检索。表3底部展示了本发明方法,它在稠密文本检索方面展示了最新的结果。
5实验结果分析
5.1主要实验结果见表3,本发明从原始论文中复制结果,如果原论文没有报告研究结果,本发明以空格填充,最好和第二好的结果分别是粗体和下划线的字体。本发明报告了MvCR在负样本个数为32的结果。
①本发明可以看到,MvCR在MS-MARCO和NQ数据集上都显著优于所有基线。RocketQA和PAIR是与MvCR同一时期的工作。RocketQA通过跨批负、结合Re-Ranker去噪的“硬负样本”训练双编码器。PAIR利用以查询为中心和以文档为中心的对比关系进行稠密的文本检索,它同样采用了RocketQA的数据增强方法。本发明观察到MvCR在MSMARCO以及NQ数据集上的MRR,Recall@50,Recall@1K都优于现阶段最新的RocketQA和PAIR,本发明认为MvCR的多重对比结构以及异质数据增强改进了检索器,使它特别的适用于稠密文本检索。
②在稀疏文本检索方法中,COIL是一种上下文精确匹配检索架构,它带来了语义词汇匹配,它根据重叠查询文档标记的上下文表示对查询和段落进行评分,并且是一个相当强大的基线。
本发明还观察到,稀疏检索器的总体表现比稠密检索器差,这样的发现在之前的研究中也有报道,这表明了稠密文本检索方法的有效性。特别的,在稠密文本检索的基线中,模型依赖训练的负样本质量,例如DPR,ME-BERT,Col-BERT使用BM25负样本,ANCE迭代的挖掘“硬负样本”,RocketQA和PAIR采用启发式数据增强去除硬负样本中的“假负样本”。本发明的方法在此基础上构建多样性训练实例,稠密文本检索的性能随着负样本的质量而逐渐改进,此外本发明发现,结合稠密编码与对比学习的预训练方法Condensor和coCondensor对稠密文本检索也有促进作用。
5.2负样本个数的影响
在异质数据增强模块中,本发明专注于获得具有多样性和代表性的“硬负样本”,本发明发现“硬负样本”的数量会显著地影响MvCR的性能和训练时间。在表4中,本发明报告了在负样本个数为n的情况下,处理每个批次的延迟以及对应的检索性能。此外,为了公平的对比,本发明为不同的负样本个数设置相同的批次大小以固定Inner-type对比学习模块的影响,在这种设置下,本发明发现MvCR的MRR@10和Recall@1K不断被改进直到n为32(由于计算成本问题,MvCR仅在64个负样本内进行验证)。数量多而且质量高的负样本似乎是改进模型的一个重要推进器,但是计算成本过高也是一个需要考虑的问题。后续的所有消融实验均在MSMARCO数据集上,并且建立在n=8的条件下。
表4负样本数量对检索性能的影响
N MRR@10 R@1 R@50
n=1 34.56 22.09 84.48
n=4 38.26 25.37 87.32
n=8 38.70 25.77 87.64
n=1 38.86 26.07 87.79
n=3 39.08 26.13 87.82
n=6 38.58 25.69 87.64
为了检验多视角对比学习框架对稠密文本检索的效果,除了传统的对比训练损失(Cross_Loss1)外,本发明一个接着一个的删除了其余的对比损失,例如Inner-type对比学习模块中的Inner Loss1和Inner Loss2,Cross-type对比学习模块中的Cross_Loss2和Cross_Loss3。此外,本发明验证了异质数据增强策略对MvCR性能的影响,本发明通过使用BM25负样本而不是数据增强处理后的数据实现。表5显示了消融的实验结果,本发明可以看到,多视角对比学习框架对稠密文本检索有显著改进,其中Cross-type对比学习模块的影响最大,本发明将Cross-type对比模块视作一种没有数据工程的数据增强方式,它可以模拟大量未标记样本,从而明显地区分正向和负向样本,Inner-type对比学习则进一步的改进了模型的表示能力。去掉数据增强模块导致MVCR的性能下降,也直观的说明了大规模训练数据对稠密文本检索任务有效性和必要性。
表5 MvCR的消融实验
Method MRR@10 R@1 R@50
MvCR 38.70 25.77 87.64
w/o InnerLoss1 38.65(-0.05) 25.42 87.39
w/o InnerLoss2 38.35(-0.30) 25.36 87.23
w/o CrossLoss2 38.24(-0.11) 25.34 87.12
w/o CrossLoss3 37.78(-0.46) 24.98 86.76
w/o数据增强 37.00(-0.78) 23.89 85.59
5.3预训练模型的影响
本发明注意到基线模型中选择了不同预训练语言模型作为初始化,并进行实验验证了MvCR对语言模型的敏感性,结果展示在表6中,本发明注意到,针对稠密文本检索的预训练模型对MvCR性能有所改进,非特定预训练的Bert-like模型并不是改进性能的主要因素。
表6预训练模型对MvCR的影响
语言模型类别 MRR@10 R@1 R@50
BERT-base 38.70 25.77 87.64
Roberta-base 38.75 25.74 87.65
Condensor 39.08 26.13 87.82
最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。

Claims (2)

1.一种基于多视角对比学习的文本检索方法,其特征在于:包括如下步骤:
S1:对于一个有标签的语料库;
S11:通过BM25算法召回和查询相关的top-k文档,在剔除查询对应的地面真值文档后,构建BM25负样本;
S12:利用BM25负样本通过InfoNCE损失训练一个基于BERT的双编码器,然后使用训练好的双编码器在语料库中检索最相关的top-k文档,在剔除地面真值后构建神经负样本;
通过S12得到训练实例集T,T中的每个训练实例由一组文本对组成,q1表示第一个查询,
Figure FDA0003661274090000011
表示第一个查询对应的正样本文档,
Figure FDA0003661274090000012
表示第一个查询对应的负样本文档,qn表示第n个查询,
Figure FDA0003661274090000013
表示第n个查询对应的正样本文档,
Figure FDA0003661274090000014
表示第n个查询对应的负样本文档;
Figure FDA0003661274090000015
S2:构建和训练MvCR整体框架:包括Cross-type对比学习模块和Inner-type对比学习模块,其中Cross-type对比学习模块包括两个独立的稠密编码器EP(·)和EQ(·),采用两个预训练好的BERTq和BERTp分别对应的初始化EP(·)和EQ(·);
克隆BERTq
Figure FDA0003661274090000016
克隆BERTp
Figure FDA0003661274090000017
Figure FDA0003661274090000018
Figure FDA0003661274090000019
构成Inner-type对比学习模块,中提供查询和文档的正样本表示的编码器;
对于BERTq将来自BERT最后一层的[CLS]向量对应的查询的整体表示cq,对于BERTp将来自BERT最后一层的[CLS]向量对应的文档的整体表示cp,并进行一次Cross类型的对比学习,其优化目标是让查询与正样本的距离更接近,与负样本的距离更远,形式上定义为Cross_Loss1
cq=BERTq(query)[cls] (2)
cp=BERTp(document)[cls] (3)
Figure FDA00036612740900000110
其中sim(·)函数计算两个向量之间的点积,n为负样本的个数;
S21:Inner-type对比学习模块:
Figure FDA00036612740900000111
Figure FDA00036612740900000112
在训练的时候被固定;
采用一个额外的平均池化层对
Figure FDA00036612740900000113
Figure FDA00036612740900000114
的最后一层输出取平均值生成查询和文档的正样本表示,同时采用In-batch负样本以无监督的对比学习方式训练;
对于查询对比学习模块BERTq
Figure FDA0003661274090000021
Inner-type的优化定义为Inner Loss1
Figure FDA0003661274090000022
Figure FDA0003661274090000023
Figure FDA0003661274090000024
对于文档对比学习模块BERTp
Figure FDA0003661274090000025
定义Inner Loss2为:
Figure FDA0003661274090000026
在公式(7)和公式(8)中,N为批次的大小,sim(·)函数计算两个向量之间的点积;
S22:Cross-type对比学习模块:
希望
Figure FDA0003661274090000027
与cq具有相同的正负文档样本,也就是
Figure FDA0003661274090000028
Figure FDA0003661274090000029
数量相同,优化目标为让嵌入空间中的
Figure FDA00036612740900000210
Figure FDA00036612740900000211
的距离更接近,
Figure FDA00036612740900000212
Figure FDA00036612740900000213
的距离更远,优化目标被形式化为Cross_Loss2
Figure FDA00036612740900000214
Figure FDA00036612740900000215
两者与原文档表示具有相同的查询,即cq,优化目标是让
Figure FDA00036612740900000216
与cq的距离更加接近,同时让
Figure FDA00036612740900000217
与cq距离更远,优化目标被形式化为Cross_Loss3
Figure FDA00036612740900000218
Figure FDA00036612740900000219
其中,sim(·)函数计算两个向量之间的点积,n为负样本的个数;
S23:联合上述损失,采用线性组合定义最终的训练损失函数:
Figure FDA00036612740900000220
将S1得到的训练实例集T中的训练实例输入MvCR整体框架,当损失Losstotal不再变化时,得到训练好的MvCR整体框架;
S3:对于一个新查询,将该新查询输入训练好的MvCR整体框架,训练好的MvCR整体框架输出在语料库中检索的最相关的top-k’文档。
2.如权利要求1所述的一种基于多视角对比学习的文本检索方法,其特征在于:所述S2训练MvCR的整体框架时,考虑采用动态权重去组合Losstotal
Figure FDA00036612740900000221
Figure FDA0003661274090000031
其中,α表示Cross_Loss1的权重,β表示Cross_Loss2的权重,γ表示Cross_Loss3的权重,δ表示Inner Loss1的权重,ε表示Inner Loss2的权重。
CN202210578261.6A 2022-05-25 2022-05-25 一种基于多视角对比学习的文本检索方法 Active CN114880452B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210578261.6A CN114880452B (zh) 2022-05-25 2022-05-25 一种基于多视角对比学习的文本检索方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210578261.6A CN114880452B (zh) 2022-05-25 2022-05-25 一种基于多视角对比学习的文本检索方法

Publications (2)

Publication Number Publication Date
CN114880452A true CN114880452A (zh) 2022-08-09
CN114880452B CN114880452B (zh) 2024-06-14

Family

ID=82676891

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210578261.6A Active CN114880452B (zh) 2022-05-25 2022-05-25 一种基于多视角对比学习的文本检索方法

Country Status (1)

Country Link
CN (1) CN114880452B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115344672A (zh) * 2022-10-18 2022-11-15 北京澜舟科技有限公司 文档检索模型训练方法、检索方法及存储介质
CN116610795A (zh) * 2023-07-14 2023-08-18 深圳须弥云图空间科技有限公司 文本检索方法及装置
CN116932729A (zh) * 2023-09-13 2023-10-24 长威信息科技发展股份有限公司 基于长、短文本语义分析检索的知识搜索方法及系统
CN117290491A (zh) * 2023-11-27 2023-12-26 语仓科技(北京)有限公司 基于聚合检索增强的大模型多轮对话方法、系统及设备
CN118013020A (zh) * 2024-04-09 2024-05-10 北京知呱呱科技有限公司 一种基于检索生成联合式训练的专利查询方法及系统
CN118094028A (zh) * 2024-04-28 2024-05-28 北方健康医疗大数据科技有限公司 一种疾病搜索排序方法、系统、终端及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021150313A1 (en) * 2020-01-20 2021-07-29 Microsoft Technology Licensing, Llc Contrastive learning for question answering (qa)
CN113887215A (zh) * 2021-10-18 2022-01-04 平安科技(深圳)有限公司 文本相似度计算方法、装置、电子设备及存储介质
CN113887471A (zh) * 2021-10-15 2022-01-04 西安电子科技大学 基于特征解耦和交叉对比的视频时序定位方法
CN114201581A (zh) * 2021-11-29 2022-03-18 中国科学院深圳先进技术研究院 一种基于对比学习的长文本检索模型
US20220107645A1 (en) * 2020-10-02 2022-04-07 Naver Corporation Unsupervised contrastive learning of visual representations using negative mixing

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021150313A1 (en) * 2020-01-20 2021-07-29 Microsoft Technology Licensing, Llc Contrastive learning for question answering (qa)
US20220107645A1 (en) * 2020-10-02 2022-04-07 Naver Corporation Unsupervised contrastive learning of visual representations using negative mixing
CN113887471A (zh) * 2021-10-15 2022-01-04 西安电子科技大学 基于特征解耦和交叉对比的视频时序定位方法
CN113887215A (zh) * 2021-10-18 2022-01-04 平安科技(深圳)有限公司 文本相似度计算方法、装置、电子设备及存储介质
CN114201581A (zh) * 2021-11-29 2022-03-18 中国科学院深圳先进技术研究院 一种基于对比学习的长文本检索模型

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
VLADIMIR KARPUKHIN等: "Dense Passage Retrieval for Open-Domain Question Answering", 《ARXIV:2004.04906 SEARCH》, 10 April 2020 (2020-04-10), pages 1 - 13 *
YANG YU等: "Multi-views contrastive learning for dense text retrieval", 《KNOWLEDGE-BASED SYSTEMS》, vol. 274, 15 August 2023 (2023-08-15), pages 1 - 20 *
梁明亮: "基于自然语言的弱监督图像目标定位算法研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》, no. 07, 15 July 2021 (2021-07-15), pages 138 - 468 *
裴焱栋等: "基于内容和语义的三维模型检索综述", 《计算机应用》, vol. 40, no. 07, 20 May 2020 (2020-05-20), pages 7 - 16 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115344672A (zh) * 2022-10-18 2022-11-15 北京澜舟科技有限公司 文档检索模型训练方法、检索方法及存储介质
CN116610795A (zh) * 2023-07-14 2023-08-18 深圳须弥云图空间科技有限公司 文本检索方法及装置
CN116610795B (zh) * 2023-07-14 2024-03-15 深圳须弥云图空间科技有限公司 文本检索方法及装置
CN116932729A (zh) * 2023-09-13 2023-10-24 长威信息科技发展股份有限公司 基于长、短文本语义分析检索的知识搜索方法及系统
CN117290491A (zh) * 2023-11-27 2023-12-26 语仓科技(北京)有限公司 基于聚合检索增强的大模型多轮对话方法、系统及设备
CN118013020A (zh) * 2024-04-09 2024-05-10 北京知呱呱科技有限公司 一种基于检索生成联合式训练的专利查询方法及系统
CN118013020B (zh) * 2024-04-09 2024-06-18 北京知呱呱科技有限公司 一种基于检索生成联合式训练的专利查询方法及系统
CN118094028A (zh) * 2024-04-28 2024-05-28 北方健康医疗大数据科技有限公司 一种疾病搜索排序方法、系统、终端及存储介质

Also Published As

Publication number Publication date
CN114880452B (zh) 2024-06-14

Similar Documents

Publication Publication Date Title
CN114880452A (zh) 一种基于多视角对比学习的文本检索方法
Chen et al. Shallowing deep networks: Layer-wise pruning based on feature representations
Sau et al. Deep model compression: Distilling knowledge from noisy teachers
WO2020048445A1 (en) End-to-end structure-aware convolutional networks for knowledge base completion
CN112417097A (zh) 一种用于舆情解析的多模态数据特征提取与关联方法
CN117201122B (zh) 基于视图级图对比学习的无监督属性网络异常检测方法及系统
CN114816497B (zh) 基于bert预训练模型的链接生成方法
CN116594994B (zh) 视觉语言知识蒸馏在跨模态哈希检索的应用方法
CN115422369B (zh) 基于改进TextRank的知识图谱补全方法和装置
Shen et al. Hierarchical Attention Based Spatial-Temporal Graph-to-Sequence Learning for Grounded Video Description.
CN111582506A (zh) 基于全局和局部标记关系的偏多标记学习方法
CN109086463B (zh) 一种基于区域卷积神经网络的问答社区标签推荐方法
CN110909116A (zh) 一种面向社交媒体的实体集合扩展方法及系统
Yang et al. Model compression with multi-task knowledge distillation for web-scale question answering system
CN117312500A (zh) 一种基于ann和bert的语义检索模型建立方法
CN111666375B (zh) 文本相似度的匹配方法、电子设备和计算机可读介质
CN116385946A (zh) 面向视频的目标片段定位方法、系统、存储介质及设备
Cao et al. Image retrieval via gated multiscale NetVLAD for social media applications
Jiang et al. A CTR prediction approach for text advertising based on the SAE-LR deep neural network
CN112309577B (zh) 一种优化帕金森语音数据的多模态特征选择方法
Yang et al. Unsupervised multi-hashing for image retrieval in non-stationary environments
Shen et al. Semi-supervised vision-language mapping via variational learning
CN112214511A (zh) 一种基于wtp-wcd算法的api推荐方法
CN117521812B (zh) 基于变分知识蒸馏的算术文字题自动解答方法及系统
CN117874175B (zh) 一种基于信息瓶颈的信息检索方法和系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant