1.一种基于多视角对比学习的文本检索方法,其特征在于:包括如下步骤:S1:对于一个有标签的语料库;S11:通过BM25算法召回和查询相关的top‑k文档,在剔除查询对应的地面真值文档后,构建BM25负样本;S12:利用BM25负样本通过InfoNCE损失训练一个基于BERT的双编码器,然后使用训练好的双编码器在语料库中检索最相关的top‑k文档,在剔除地面真值后构建神经负样本;通过S12得到训练实例集T,T中的每个训练实例由一组文本对组成,q1表示第一个查询,表示第一个查询对应的正样本文档,表示第一个查询对应的负样本文档,qn表示第n个查询,表示第n个查询对应的正样本文档,表示第n个查询对应的负样本文档;
S2:构建和训练MvCR整体框架:包括Cross‑type对比学习模块和Inner‑type对比学习模块,其中Cross‑type对比学习模块包括两个独立的稠密编码器EP(·)和EQ(·),采用两个预训练好的BERTq和BERTp分别对应的初始化EP(·)和EQ(·);克隆BERTq为克隆BERTp为和构成Inner‑type对比学习模块,中提供查询和文档的正样本表示的编码器;对于BERTq将来自BERT最后一层的[CLS]向量对应的查询的整体表示cq,对于BERTp将来自BERT最后一层的[CLS]向量对应的文档的整体表示cp,并进行一次Cross类型的对比学习,其优化目标是让查询与正样本的距离更接近,与负样本的距离更远,形式上定义为Cross_Loss1:cq=BERTq(query)[cls] (2)cp=BERTp(document)[cls] (3)其中sim(·)函数计算两个向量之间的点积,n为负样本的个数;S21:Inner‑type对比学习模块:在公式(7)和公式(8)中,N为批次的大小,sim(·)函数计算两个向量之间的点积;S22:Cross‑type对比学习模块:希望与cq具有相同的正负文档样本,也就是和数量相同,优化目标为让嵌入空间中的与的距离更接近,与的距离更远,优化目标被形式化为Cross_Loss2:与两者与原文档表示具有相同的查询,即cq,优化目标是让与cq的距离更加接近,同时让与cq距离更远,优化目标被形式化为Cross_Loss3:其中,sim(·)函数计算两个向量之间的点积,n为负样本的个数;S23:联合上述损失,采用线性组合定义最终的训练损失函数:将S1得到的训练实例集T中的训练实例输入MvCR整体框架,当损失Losstotal不再变化时,得到训练好的MvCR整体框架;S3:对于一个新查询,将该新查询输入训练好的MvCR整体框架,训练好的MvCR整体框架输出在语料库中检索的最相关的top‑k’文档。2.如权利要求1所述的一种基于多视角对比学习的文本检索方法,其特征在于:所述S2训练MvCR的整体框架时,考虑采用动态权重去组合Losstotal:其中,α表示Cross_Loss1的权重,β表示Cross_Loss2的权重,γ表示Cross_Loss3的权重,δ表示Inner Loss1的权重,ε表示Inner Loss2的权重。