1.本公开涉及人工智能领域,尤其涉及自然语言处理、深度学习等技术领域。
背景技术:
2.信息检索是人们获取知识的重要途径,信息检索的核心问题在于:对于用户提出的问题,如何快速、准确地从海量信息中找出与该问题相关答案。基于语义的文档检索技术(在低维语义空间中表示问题和相关文档) 已经大大领先于传统的基于关键词的检索技术(bm25,tf
‑
i df)。
3.目前常用的基于语义的文档检索模型是双塔式检索模型(dua l mode l)。双塔模型的侧重点在于文本建模,它用两个子模型分别对query (问题)文本和候选文档文本进行建模,得到它们各自的语义向量表示;之后通过内积的方式计算query和候选文档语义向量之间的相似度,作为两者的相关性得分。现有方法主要考虑query和文档之间的相似度关系,通过增加query和正例文档之间的相似度,减少query和负例文档之间的相似度来进行训练。
技术实现要素:
4.本公开提供了一种用于双塔模型训练方法、检索方法、装置及电子设备,用于提升构建的语义空间中正例候选对象与负例候选对象的区分度。
5.本公开的第一方面,提供了一种双塔模型训练方法,包括:
6.确定样本集合,样本集合包括查询项以及查询项对应的正例候选对象、负例候选对象;
7.基于样本集合训练目标双塔模型,其中,构建的训练目标双塔模型中的损失函数用于使得样本查询项的正例候选对象与样本查询项的负例候选对象之间的相似度小于样本查询项的正例候选对象与样本查询项的相似度。
8.根据本公开的第二方面,提供了一种检索方法,包括:
9.确定目标查询项,以及确定目标查询项对应的候选对象;
10.基于目标查询项以及目标查询项对应的候选对象,通过根据第一方面训练的目标双塔模型确定目标查询项的目标对象。
11.根据本公开的第三方面,提供了一种双塔模型训练装置,包括:
12.第一确定模块,用于确定样本集合,样本集合包括查询项以及查询项对应的正例候选对象、负例候选对象;
13.第一训练模块,用于基于确定模块确定的样本集合训练目标双塔模型,其中,构建的训练目标双塔模型的损失函数用于使得样本查询项的正例候选对象与样本查询项的负例候选对象之间的相似度小于样本查询项的正例候选对象与样本查询项的相似度。
14.本公开的第四方面,提供了一种检索装置,包括:
15.第六确定模块,用于确定目标查询项,以及确定目标查询项对应的候选对象;
16.第七确定模块,用于基于目标查询项以及目标查询项对应的候选对象,通过根据第一方面训练的目标双塔模型确定目标查询项的目标对象。
17.根据本公开的第五方面,提供了一种电子设备,该电子设备包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行如本公开的第一方面和/或第二方面中所示的方法。
18.根据本公开的第六方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,计算机指令用于使计算机执行如本公开的第一方面和/或第二方面中所示的方法。
19.根据本公开的第七方面,提供了一种计算机程序产品,包括计算机程序,计算机程序在被处理器执行时实现如本公开的第一方面和/或第二方面中所示的方法。
20.应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
21.附图用于更好地理解本方案,不构成对本公开的限定。其中:
22.图1是本公开实施例提供的双塔模型训练方法的流程示意图;
23.图2是本公开实施例的语义空间中正例候选对象与负例候选对象区分度对比示例图;
24.图3是本公开实施例提供的双塔模型训练流程示例图;
25.图4是本公开实施例提供的检索方法的流程示意图;
26.图5是本公开实施例提供的检索方法的流程示例图;
27.图6是本公开实施例提供的双塔模型训练装置的结构示意图;
28.图7是本公开实施例提供的检索装置的结构示意图
29.图8是用来实现本公开实施例的电子设备的框图。
具体实施方式
30.以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
31.实施例一
32.图1示出了本公开实施例提供的一种提供了一种双塔模型训练方法,如图1所示,该方法包括:
33.步骤s101,确定样本集合,样本集合包括查询项以及查询项对应的正例候选对象、负例候选对象;
34.具体地,可以通过人工标注的方式确定样本集合,或者通过无监督、弱监督的方式对无标注的样本数据进行处理,得到样本集合。其中,该样本集合中,包括查询项(query)以及查询项对应的正例候选对象、负例候选对象。其中,不同的查询项对应的正例候选对象、
负例候选对象的数量可以相同,也可以不相同,如查询项a对应的正例候选对象为3个,负例候选对象为2个,查询项b对应的正例候选对象为4个,负例候选对象为 1个;其中,部分查询项可以仅有正例候选对象、负例候选对象的一个。其中,正例候选对象表示该候选对象为查询项的查询目标,负例候选对象表示该候选对象非查询项的查询目标。
35.步骤s102,基于样本集合训练目标双塔模型,其中,构建的训练目标双塔模型中的损失函数用于使得样本查询项的正例候选对象与样本查询项的负例候选对象之间的相似度小于样本查询项的正例候选对象与样本查询项的相似度。
36.具体地,本申请的双塔模型的训练考虑以候选对象为中心的相似度关系,并基于该以候选对象为中心的相似度关系确定训练目标双塔模型的损失函数,使得样本查询项的正例候选对象与样本查询项的负例候选对象之间的相似度小于样本查询项的正例候选对象与样本查询项的相似度,从而能够拉大构建的语义空间中正例候选对象与负例候选对象的距离,进而能够更好的区分正例候选对象与负例候选对象。
37.本申请实施例,提供了一种双塔模型训练方法,与现有的构建的候选查询对象的语义空间中,相似候选查询对象的表示过于密集,从而导致训练的双塔模型对正负例候选对象的区分能力不足相比,本申请实施例,通过学习以候选查询对象为中心的相似度关系,拉大正例候选对象与负例候选对象的距离,提升了正例候选对象与负例候选对象在构建的语义空间的区分度。
38.本申请实施例提供了一种可能的实现方式,其中,构建的训练目标双塔模型的损失函数还用于使得样本查询项的正例候选对象与样本查询项的相似度大于样本查询项的负例候选对象与样本查询项的相似度。
39.具体地,本申请的双塔模型的训练考虑两种损失函数,分别建模两种相似度关系,包括以查询项query为中心的相似度关系以及候选对象为中心的相似度关系,分别对应query
‑
centric损失函数以及passage
‑
centric损失函数。
40.其中,查询项query为中心的相似度关系用于使得样本查询项的正例候选对象与样本查询项的相似度大于样本查询项的负例候选对象与样本查询项的相似度。以候选对象为中心的相似度关系,用于使得样本查询项的正例候选对象与样本查询项的负例候选对象之间的相似度小于样本查询项的正例候选对象与样本查询项的相似度,从而能够拉大构建的语义空间中正例候选对象与负例候选对象的距离,进而能够更好的区分正例候选对象与负例候选对象。
41.具体地,可以基于查询项query为中心的相似度关系以及候选对象为中心的相似度关系,进行线性或非线性组合,得到训练目标双塔模型的损失函数。
42.对于本申请实施例,在考虑以查询项为中心的相似度关系的基础上,进一步来学习以候选查询对象为中心的相似度关系,从而保证查询项与正例候选对象的距离小于查询项与负例候选对象的距离,也即保证查询项对应的查询结果正确性的同时,拉大正例候选对象与负例候选对象的距离,提升了正例候选对象与负例候选对象在构建的语义空间的区分度。
43.本申请实施例提供了一种可能的实现方式,样本集合的构建包括:
44.确定任一第一查询项以及任一第一查询项对应的多个候选对象;
45.具体地,可以确定任一第一查询项,然后确定任一第一查询项对应的多个候选对
象,可以通过预训练的词嵌入神经网络,得到第一查询项的向量表达,以及各第一查询项对应的候选对象的向量表达。
46.基于确定的任一第一查询项以及任一第一查询项对应的各个候选对象,通过预训练的交叉注意力模型,确定任一第一查询项与任一第一查询项对应的各个候选对象的相似度;
47.具体地,可以将第一查询项的向量与其中一个对应的候选对象的向量进行拼接,然后输入至预训练的交叉注意力模型,得到第一查询项与该对应的候选对象的相似度。针对各个候选对象进行上述操作,从而得到任一第一查询项与对应的各个候选对象的相似度。
48.基于确定的任一第一查询项与任一第一查询项对应的各个候选对象的相似度,确定任一第一查询项的正例候选对象和/或负例候选对象;
49.具体地,可以是当任一第一查询项与任一第一查询项对应的候选对象的相似度大于预定第一阈值时,将该候选对象确定为任一第一查询项的正例候选对象;
50.和/或,当任一第一查询项与任一第一查询项对应的候选对象的相似度小于预定第二阈值时,将该候选对象确定为任一第一查询项负例候选对象。也即是说,通过候选对象与查询项的相似度关系,确定候选对象为正例候选对象或负例候选对象,从而解决了样本数据的确定问题。此外,可以根据具体情况,设定不同的阈值,进一步提升确定的样本数据的质量。其中,候选对象与查询项的相似度关系可以是通过计算两者的余弦距离或欧式距离,或者其他向量之间的距离实现的。
51.其中,第一阈值与第二阈值可以相同,也可以不同,优选地,第一阈值大于第二阈值,从而能够进一步提升确定的样本数据的质量。
52.基于任一第一查询项以及任一第一查询项的正例候选对象和/或负例候选对象构建样本集合。
53.对于本申请实施例,实现了无标注数据的标注,解决了样本集合的确定问题,其中,预训练的交叉注意力模型相当于教师模型,基于通过交叉注意力模型得到的标注的样本数据进行双塔模型的训练,相当于把交叉注意力模型中的知识教给双塔模型,提升了训练双塔模型的样本数据的数据质量。
54.本申请实施例提供了一种可能的实现方式,交叉注意力模型的训练过程包括:
55.针对任一第二查询项,基于初始双塔模型确定任一第二查询项对应的正例候选对象以及负例候选对象;其中,初始双塔模型可以是基于少量样本数据得到的;
56.具体的,可以将第二查询项与任一对应的候选对象输入至初始双塔模型,得到第二查询项与该任一对应的候选对象相似度评分;对各个候选对象执行上述操作,可以得到第二查询项各个候选对象的相似度,可以将相似度高的候选对象作为正例候选对象,相似度低的候选对象作为负例候选对象。
57.基于多个第二查询项以及第二查询项对应的正例候选对象以及负例候选对象训练交叉注意力模型。
58.对于本申请实施例,在训练交叉注意力模型时,负样本的质量越高,训练后的模型能力越强。利用初始双塔模型进行候选对象的检索,相对于其他传统检索方法,能够得到相关性更强的候选集合;因此,在这一集合上选取的负样本具有更高的质量,从而可以得到更
加有效的交叉注意力模型。同时,这样得到的训练数据符合双塔模型的召回分布,从而使得交叉注意力模型能够为下一步双塔模型的训练提供相匹配的弱监督数据,实现了双塔模型与交叉注意力模型的匹配,提升交叉注意力模型对无标注样本数据的标注结果与双塔模型确定的候选对象的正负例结果的一致性。
59.本申请实施例的一种实现方式,确定目标双塔模型的过程为预训练阶段,该方法还包括:
60.调整阶段;调整阶段包括:对确定的目标双塔模型进行调整;调整阶段构建的损失函数用于使得样本查询项的正例候选对象与样本查询项的相似度大于样本查询项的负例候选对象与样本查询项的相似度。
61.示例性地,如图3所示,在预训练阶段,可以使用结合了query
‑
centric 损失函数和passage
‑
centric损失函数的优化方式,可以同时使用大量无标注的query集合,通过知识蒸馏方式获得大规模弱监督数据作为训练数据 (即通过训练交叉注意力模型作为教师模型,然后基于教师模型确定训练双塔模型的样本)。其中,知识蒸馏指的是模型压缩的思想,通过一步一步地使用一个较大的已经训练好的网络去教导一个较小的网络确切地去做什么,小网络被训练以学习大网络的准确行为。
62.在调整阶段(fine tuning阶段),使用query
‑
centric损失函数来优化双塔模型,从而优化后的模型可以专注于优化任务特定的目标,以获得更好的检索性能。同时,可以使用标注数据以及从标注数据中query通过知识蒸馏获得的伪标签数据(即通过训练交叉注意力模型作为教师模型,然后基于教师模型确定训练双塔模型的样本数据)作为训练数据。
63.对于本申请实施例,在预训练阶段,采用query
‑
centric和para
‑
centric 损失函数同时进行训练,使模型对检索对象(可以为文档、图片、音频)的表示能够编码在一个更好的语义空间,增强了区分相似检索对象(文档、图片、音频)的能力。在调整阶段,由于任务的目标是判断query和检索对象 (文档、图片、音频)的相关性,因此只采用与下游任务更为接近的 query
‑
centric损失函数即可。这一损失函数与任务的目标直接相关,能够使模型在任务上取得更好效果;并且预训练阶段获取到的区分相似检索对象(文档、图片、音频)的能力也不会遗忘。
64.可选地,候选对象为文本对象、图像对象或者音频对象。
65.具体地,双塔模型可以通过对两段文本进行编码为固定长度的向量,然后通过两个向量间进行计算相似度来计算两段文本之间的关系。对于本申请实施例,候选对象不限于文本对象,还可以是图像对象或音频对象,相应的双塔模型为通过对文本与图像、图像与图像、文本与音频、图像与音频、音频与音频等进行编码为固定的长度的向量,然后通过两个向量间进行计算相似度来计算文本与图像、图像与图像、文本与音频、图像与音频、音频与音频之间的关系。
66.示例性地,以文本检索为例,现有的双塔模型训练方法只考虑了query 和文档之间的相似度关系,通过增加query和正例文档之间的相似度,减少query和负例文档之间的相似度来进行训练,现有技术忽略了文档间的相似度关系,这样可能会导致在语义空间中,相似文档的表示过于密集,从而让模型对正负例文档的区分能力不足。如图2中(a)所示,对于一个query q,可能有一些负例文档p
‑
与正例文档p 很相似,我们使用 query
‑
centric损失进行优化的时候,训练的双塔模型很难区分正例文档和负例文档。其中,query
‑
centric
损失函数是传统的基于语义的双塔模型的损失函数,优化的相似度关系为:
67.s
(q)
(q,p
)>s
(q)
(q,p
‑
)
ꢀꢀꢀꢀ
(公式1
68.损失函数形式为:
[0069][0070]
本申请实施例,结合以文档为中心(passage
‑
centric)的损失函数来处理这个问题。passage
‑
centric损失函数考虑了文档为中心的相似度关系,让正负例文档之间的相似度小于正例文档和query的相似度,使得正例文档远离负例文档的同时,更加靠近query,如图2(b)所示,示例性地,本申请设计的相似度关系为:
[0071]
s
(p)
(p
,q)>s
(p)
(p
,p
‑
)
ꢀꢀꢀꢀꢀ
(公式3
[0072]
损失函数形式为:
[0073][0074]
其中,α为超参数,n为样本数;s
(q)
(q,p
)>s
(q)
(q,p
‑
),s
(q)
(q,p
)表示样本查询项的正例候选对象与样本查询项的相似度,s
(q)
(q,p
‑
)表示样本查询项的负例候选对象与样本查询项的相似度;s
(p)
(p
,q)>s
(p)
(p
,p
‑
), s
(p)
(p
,q)表示样本查询项的正例候选对象与样本查询项的相似度, s
(p)
(p
,p
‑
)表示样本查询项的正例候选对象与样本查询项的负例候选对象之间的相似度。
[0075]
由上,示例性地,对于训练的用于文本检索的双塔模型,可以同时学习上述的query为中心和文档为中心的相似度关系,因此,可以结合两个损失函数,来获得最终的损失函数,示例性地,其中的最终的损失函数的形式可以为:
[0076]
l=(1
‑
α)*l
q
α*l
p
ꢀꢀꢀꢀꢀ
(公式5
[0077]
其中,α是实验中调节的超参数。通过考虑了文档为中心的相似度关系,我们的方法可以更好地区分正例文档和相似的负例文档。
[0078]
对于本申请实施例,根据不同应用场景,检索对象可以不同,解决了针对不同检索对象的双塔模型的训练问题。
[0079]
实施例二
[0080]
根据本公开的第二方面,提供了一种检索方法,包括:
[0081]
步骤201,确定目标查询项,以及确定目标查询项对应的候选对象;
[0082]
步骤202,基于目标查询项以及目标查询项对应的候选对象,通过根据实施例一训练的目标双塔模型确定目标查询项的目标对象。
[0083]
具体地,获取用户的目标查询项,并确定该目标查询项对应的候选对象;基于实施例一的目标双塔模型确定目标查询项与各个候选对象的相似度值得分,将相似度值超过一定阈值的候选对象确定为目标对象。
[0084]
双塔模型包括两个模型,示例性地,如图5所示,将目标查询项输入至查询项对应的第一模型,经过编码处理,得到目标查询项的向量表达,以及将候选对象(文本检索时为候选文本)输入至候选对象对应的第二模型,得到候选对象的向量表达,然后通过计算两个向量表达的相似度,确定目标查询项与候选文本的相关度得分。进一步的,可以根据确定的目标查询项与各个候选对象的相似度得分确定目标查询项查询的目标对象。其中,目标对
象可以为一个,也可以为多个,如可以将相关度得分超过一定阈值的多个候选对象确定为目标对象。
[0085]
本申请实施例提供了一种检索方法,基于实施例一的目标双塔模型确定目标查询项的检索目标结果,其中,实施例一训练的目标双塔模型在考虑查询项为中心的相似度关系的基础上,进一步来学习以候选查询对象为中心的相似度关系,从而能够避免正例候选对象与负例候选对象距离太近,难以区分,导致可能产生目标查询与正例候选对象与负例候选对象的距离较近,难以区分正例候选对象与负例候选对象,导致将负例候选对象也确定目标查询项检索结果,出现检索结果错误的问题。也即避免出现这样的问题:构建的语义空间中,正例候选对象a与负例候选对象b的距离非常近,从而导致计算的目标查询与正例候选对象a与负例候选对象b的距离都较近,无法进行有效区分,进而导致将并非正确检索结果的负例候选对象b误作为正确检索结果。
[0086]
实施例三
[0087]
根据本公开的第三方面,提供了一种双塔模型训练装置,包括:
[0088]
第一确定模块301,用于确定样本集合,样本集合包括查询项以及查询项对应的正例候选对象、负例候选对象;
[0089]
第一训练模块302,用于基于确定模块确定的样本集合训练目标双塔模型,其中,构建的训练目标双塔模型的损失函数用于使得样本查询项的正例候选对象与样本查询项的负例候选对象之间的相似度小于样本查询项的正例候选对象与样本查询项的相似度。
[0090]
可选地,构建的训练目标双塔模型的损失函数还用于使得样本查询项的正例候选对象与样本查询项的相似度大于样本查询项的负例候选对象与样本查询项的相似度。
[0091]
可选地,该装置还包括:
[0092]
第二确定模块,用于确定任一第一查询项以及任一第一查询项对应的多个候选对象;
[0093]
第三确定模块,用于基于确定的任一第一查询项以及任一第一查询项对应的各个候选对象,通过预训练的交叉注意力模型,确定任一第一查询项与任一第一查询项对应的各个候选对象的相似度;
[0094]
第四确定模块,用于基于确定的任一第一查询项与任一第一查询项对应的各个候选对象的相似度,确定任一第一查询项的正例候选对象和/或负例候选对象;
[0095]
构建模块,用于基于任一第一查询项以及任一第一查询项的正例候选对象和/或负例候选对象构建样本集合。
[0096]
可选地,其中,第四确定模块具体用于,当任一第一查询项与任一第一查询项对应的候选对象的相似度大于预定第一阈值时,将该候选对象确定为任一第一查询项的正例候选对象;以及用于当任一第一查询项与任一第一查询项对应的候选对象的相似度小于预定第二阈值时,将该候选对象确定为任一第一查询项负例候选对象。
[0097]
可选地,该装置还包括:
[0098]
第五确定模块,用于针对任一第二查询项,基于初始双塔模型确定任一第二查询项对应的正例候选对象以及负例候选对象;
[0099]
第二训练模块,用于基于多个第二查询项以及第二查询项对应的正例候选对象以及负例候选对象训练交叉注意力模型。
[0100]
可选地,确定目标双塔模型的过程为预训练阶段,该装置还包括:
[0101]
调整模块,用于通过调整阶段对确定的目标双塔模型进行调整;调整阶段构建的损失函数用于使得样本查询项的正例候选对象与样本查询项的相似度大于样本查询项的负例候选对象与样本查询项的相似度。
[0102]
可选地,候选对象为文本对象、图像对象或者音频对象。
[0103]
可选地,构建的训练目标双塔模型中的损失函数为:
[0104]
l=(1
‑
α)*l
q
α*l
p
;
[0105]
其中,
[0106]
其中,
[0107]
其中,α为超参数,n为样本数量;s
(q)
(q,p
)>s
(q)
(q,p
‑
), s
(q)
(q,p
)表示样本查询项的正例候选对象与样本查询项的相似度,s
(q)
(q,p
‑
)表示样本查询项的负例候选对象与样本查询项的相似度;s
(p)
(p
,q)>s
(p)
(p
,p
‑
),s
(p)
(p
,q)表示样本查询项的正例候选对象与样本查询项的相似度,s
(p)
(p
,p
‑
)表示样本查询项的正例候选对象与样本查询项的负例候选对象之间的相似度。
[0108]
本申请实施例的具体实施方式以及有益效果同实施例一相似,此处不再赘述。
[0109]
本公开的第四方面,提供了一种检索装置,包括:
[0110]
第六确定模块401,用于确定目标查询项,以及确定目标查询项对应的候选对象;
[0111]
第七确定模块402,用于基于目标查询项以及目标查询项对应的候选对象,通过根据第一方面训练的目标双塔模型确定目标查询项的目标对象。
[0112]
本申请实施例的具体实施方式以及有益效果同实施例二的方法实施例相似,此处不再赘述。
[0113]
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
[0114]
该电子设备包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行如本公开实施例提供的方法。
[0115]
该电子设备与现有技术相比,训练双塔模型时,构建的训练模型的损失函数可以使得样本查询项的正例候选对象与样本查询项的负例候选对象之间的相似度小于样本查询项的正例候选对象与样本查询项的相似度,从而通过学习以候选查询对象为中心的相似度关系,拉大正例候选对象与负例候选对象的距离,提升了正例候选对象与负例候选对象在构建的语义空间的区分度。
[0116]
该可读存储介质为存储有计算机指令的非瞬时计算机可读存储介质,其中,计算机指令用于使计算机执行如本公开实施例提供的方法。
[0117]
该可读存储介质与现有技术相比,训练双塔模型时,构建的训练模型的损失函数可以使得样本查询项的正例候选对象与样本查询项的负例候选对象之间的相似度小于样本查询项的正例候选对象与样本查询项的相似度,从而通过学习以候选查询对象为中心的相似度关系,拉大正例候选对象与负例候选对象的距离,提升了正例候选对象与负例候选
对象在构建的语义空间的区分度。
[0118]
该计算机程序产品,包括计算机程序,计算机程序在被处理器执行时实现如本公开的第一方面中所示的方法。
[0119]
该计算机程序产品与现有技术相比,训练双塔模型时,构建的训练模型的损失函数可以使得样本查询项的正例候选对象与样本查询项的负例候选对象之间的相似度小于样本查询项的正例候选对象与样本查询项的相似度,从而通过学习以候选查询对象为中心的相似度关系,拉大正例候选对象与负例候选对象的距离,提升了正例候选对象与负例候选对象在构建的语义空间的区分度。
[0120]
图8示出了可以用来实施本公开的实施例的示例电子设备800的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
[0121]
如图8所示,设备800包括计算单元801,其可以根据存储在只读存储器(rom)802中的计算机程序或者从存储单元808加载到随机访问存储器(ram)803中的计算机程序,来执行各种适当的动作和处理。在 ram803中,还可存储设备800操作所需的各种程序和数据。计算单元801、 rom802以及ram803通过总线804彼此相连。输入/输出(i/o)接口805 也连接至总线804。
[0122]
设备800中的多个部件连接至i/o接口805,包括:输入单元806,例如键盘、鼠标等;输出单元807,例如各种类型的显示器、扬声器等;存储单元808,例如磁盘、光盘等;以及通信单元809,例如网卡、调制解调器、无线通信收发机等。通信单元809允许设备800通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
[0123]
计算单元801可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元801的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元801执行上文所描述的各个方法和处理,例如方法双塔模型训练或者检索方法。例如,在一些实施例中,双塔模型训练和/或者检索方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元808。在一些实施例中,计算机程序的部分或者全部可以经由rom802和/或通信单元809而被载入和/或安装到设备800上。当计算机程序加载到ram803并由计算单元801执行时,可以执行上文描述的方法双塔模型训练和/或者检索方法的一个或多个步骤。备选地,在其他实施例中,计算单元801可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行方法双塔模型训练和/或者检索方法。
[0124]
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/ 或解释,该可编程处理器
可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
[0125]
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
[0126]
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd
‑
rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
[0127]
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入) 来接收来自用户的输入。
[0128]
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。
[0129]
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端
‑
服务器关系的计算机程序来产生客户端和服务器的关系。
[0130]
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
[0131]
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
技术特征:
1.一种双塔模型训练方法,包括:确定样本集合,所述样本集合包括查询项以及所述查询项对应的正例候选对象、负例候选对象;基于所述样本集合训练目标双塔模型,其中,构建的训练所述目标双塔模型的损失函数用于使得样本查询项的正例候选对象与所述样本查询项的负例候选对象之间的相似度小于所述样本查询项的正例候选对象与所述样本查询项的相似度。2.根据权利要求1所述的方法,其中,构建的训练所述目标双塔模型的损失函数还用于使得所述样本查询项的正例候选对象与所述样本查询项的相似度大于所述样本查询项的负例候选对象与所述样本查询项的相似度。3.根据权利要求1或2所述的方法,其中,所述样本集合的构建包括:确定任一第一查询项以及所述任一第一查询项对应的多个候选对象;基于确定的所述任一第一查询项以及所述任一第一查询项对应的各个候选对象,通过预训练的交叉注意力模型,确定所述任一第一查询项与所述任一第一查询项对应的各个候选对象的相似度;基于确定的所述任一第一查询项与所述任一第一查询项对应的各个候选对象的相似度,确定所述任一第一查询项的正例候选对象和/或负例候选对象;基于所述任一第一查询项以及所述任一第一查询项的正例候选对象和/或负例候选对象构建所述样本集合。4.根据权利要求3所述的方法,其中,基于确定的所述任一第一查询项与所述任一第一查询项对应的各个候选对象的相似度,确定所述任一第一查询项的正例候选对象和/或负例候选对象,包括:当所述任一第一查询项与所述任一第一查询项对应的候选对象的相似度大于预定第一阈值时,将该候选对象确定为所述任一第一查询项的正例候选对象;和/或,当所述任一第一查询项与所述任一第一查询项对应的候选对象的相似度小于预定第二阈值时,将该候选对象确定为所述任一第一查询项负例候选对象。5.根据权利要求3所述的方法,其中,所述交叉注意力模型的训练过程包括:针对任一第二查询项,基于初始双塔模型确定任一第二查询项对应的正例候选对象以及负例候选对象;基于多个所述第二查询项以及所述第二查询项对应的正例候选对象以及负例候选对象训练所述交叉注意力模型。6.根据权利要求1或2所述的方法,其中,确定目标双塔模型的过程为预训练阶段,该方法还包括:调整阶段;所述调整阶段包括:对确定的所述目标双塔模型进行调整;所述调整阶段构建的损失函数用于使得所述样本查询项的正例候选对象与所述样本查询项的相似度大于所述样本查询项的负例候选对象与所述样本查询项的相似度。7.根据权利要求1或2所述的方法,其中,所述候选对象为文本对象、图像对象或者音频对象。8.一种检索方法,包括:确定目标查询项,以及确定所述目标查询项对应的候选对象;
基于所述目标查询项以及所述目标查询项对应的候选对象,通过根据权利要求1
‑
7任一项训练的目标双塔模型确定所述目标查询项的目标对象。9.一种双塔模型训练装置,包括:第一确定模块,用于确定样本集合,所述样本集合包括查询项以及所述查询项对应的正例候选对象、负例候选对象;第一训练模块,用于基于所述确定模块确定的所述样本集合训练目标双塔模型,其中,构建的训练所述目标双塔模型的损失函数用于使得样本查询项的正例候选对象与所述样本查询项的负例候选对象之间的相似度小于所述样本查询项的正例候选对象与所述样本查询项的相似度。10.根据权利要求9所述的装置,其中,构建的训练所述目标双塔模型的损失函数还用于使得所述样本查询项的正例候选对象与所述样本查询项的相似度大于所述样本查询项的负例候选对象与所述样本查询项的相似度。11.根据权利要求9或10所述的装置,其中,该装置还包括:第二确定模块,用于确定任一第一查询项以及所述任一第一查询项对应的多个候选对象;第三确定模块,用于基于确定的所述任一第一查询项以及所述任一第一查询项对应的各个候选对象,通过预训练的交叉注意力模型,确定所述任一第一查询项与所述任一第一查询项对应的各个候选对象的相似度;第四确定模块,用于基于确定的所述任一第一查询项与所述任一第一查询项对应的各个候选对象的相似度,确定所述任一第一查询项的正例候选对象和/或负例候选对象;构建模块,用于基于所述任一第一查询项以及所述任一第一查询项的正例候选对象和/或负例候选对象构建所述样本集合。12.根据权利要求11所述的装置,其中,所述第四确定模块具体用于,当所述任一第一查询项与所述任一第一查询项对应的候选对象的相似度大于预定第一阈值时,将该候选对象确定为所述任一第一查询项的正例候选对象;以及用于当所述任一第一查询项与所述任一第一查询项对应的候选对象的相似度小于预定第二阈值时,将该候选对象确定为所述任一第一查询项负例候选对象。13.根据权利要求11所述的装置,其中,该装置还包括:第五确定模块,用于针对任一第二查询项,基于初始双塔模型确定任一第二查询项对应的正例候选对象以及负例候选对象;第二训练模块,用于基于多个所述第二查询项以及所述第二查询项对应的正例候选对象以及负例候选对象训练所述交叉注意力模型。14.根据权利要求9或10所述的装置,其中,确定目标双塔模型的过程为预训练阶段,该装置还包括:调整模块,用于通过调整阶段对确定的所述目标双塔模型进行调整;所述调整阶段构建的损失函数用于使得所述样本查询项的正例候选对象与所述样本查询项的相似度大于所述样本查询项的负例候选对象与所述样本查询项的相似度。15.根据权利要求9或10所述的装置,其中,所述候选对象为文本对象、图像对象或者音频对象。
16.一种检索装置,包括:第六确定模块,用于确定目标查询项,以及确定所述目标查询项对应的候选对象;第七确定模块,用于基于所述目标查询项以及所述目标查询项对应的候选对象,通过根据权利要求1
‑
7任一项训练的目标双塔模型确定所述目标查询项的目标对象。17.一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1
‑
8中任一项所述的方法。18.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1
‑
8中任一项所述的方法。19.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1
‑
8中任一项所述的方法。
技术总结
本公开公开了一种双塔模型训练方法、检索方法、装置及电子设备,涉及人工智能技术领域,尤其涉及自然语言处理、深度学习等技术领域。具体实现方案为:训练双塔模型时,构建的训练双塔模型的损失函数可以使得样本查询项的正例候选对象与样本查询项的负例候选对象之间的相似度小于样本查询项的正例候选对象与样本查询项的相似度,从而通过学习以候选查询对象为中心的相似度关系,拉大正例候选对象与负例候选对象的距离,提升了正例候选对象与负例候选对象在构建的语义空间的区分度。候选对象在构建的语义空间的区分度。
技术研发人员:曲瑛琪 吕尚文 任瑞阳 刘璟 吴华 王海峰
受保护的技术使用者:北京百度网讯科技有限公司
技术研发日:2021.03.24
技术公布日:2021/6/29
转载请注明原文地址:https://doc.8miu.com/read-22553.html