CN115374362A - 多路召回模型训练方法、多路召回方法、装置及电子设备 - Google Patents

多路召回模型训练方法、多路召回方法、装置及电子设备 Download PDF

Info

Publication number
CN115374362A
CN115374362A CN202211064264.4A CN202211064264A CN115374362A CN 115374362 A CN115374362 A CN 115374362A CN 202211064264 A CN202211064264 A CN 202211064264A CN 115374362 A CN115374362 A CN 115374362A
Authority
CN
China
Prior art keywords
recall
model
training
data
negative
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.)
Pending
Application number
CN202211064264.4A
Other languages
English (en)
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.)
Huawei Technologies Co Ltd
Renmin University of China
Original Assignee
Huawei Technologies Co Ltd
Renmin University of China
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 Huawei Technologies Co Ltd, Renmin University of China filed Critical Huawei Technologies Co Ltd
Priority to CN202211064264.4A priority Critical patent/CN115374362A/zh
Publication of CN115374362A publication Critical patent/CN115374362A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • 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/3331Query processing
    • G06F16/334Query execution
    • G06F16/3344Query execution using natural language analysis
    • 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

Abstract

一种多路召回模型训练方法、多路召回方法、装置及电子设备,涉及人工智能技术领域。多路召回模型包括M个单路召回模型,该训练方法包括获取多组训练数据,每组训练数据包括检索词对应的目标正样本和多个负样本;通过第M‑1个单路召回模型获取各组训练数据中所有样本的相关性分数,然后根据该相关性分数以及第一损失函数进行数据拟合,确定第M个单路召回模型的第一期望召回结果,第一损失函数用于确定第M‑1个单路召回模型的损失;根据第一期望召回结果及第二损失函数,确定第M个单路召回模型的损失;以该损失最小为目标,训练第M个单路召回模型。这样使得第M个单路召回模型能够尽可能弥补第M个模型的损失,以提升多路召回模型的整体召回效果。

Description

多路召回模型训练方法、多路召回方法、装置及电子设备
技术领域
本申请涉及人工智能技术领域,尤其涉及一种多路召回模型训练方法、多路召回方法、装置及电子设备。
背景技术
召回模型(retrieval model)是搜索引擎的核心技术,主要作用是根据用户输入的搜索词(query),从千亿的候选集合中召回千数的相关文档(doc),输入到下游的精排模型,从而将召回的相关文档根据相关性排序后,显示给用户。
在相关技术中,由于单路召回模型往往因自身性能存在一定局限性,导致召回效果不佳,因此搜索引擎中可以采用多路召回方式,即利用多个单路召回模型分别进行召回,然后汇总各个单路召回模型召回的文档,输入到下游。然而,由于多个单路召回模型彼此独立,所以这些模型之间的召回效果可能存在相似的问题,不仅浪费模型训练和推理成本,且多个单路召回模型的总体召回效果也无法相对于其中的单个模型有所提升,总体召回效果不佳。
发明内容
本申请提供了一种多路召回模型训练方法、多路召回方法、装置、电子设备、计算机存储介质及计算机程序产品,能够提高多路召回的召回效果。
第一方面,本申请提供一种多路召回模型训练方法,该多路召回模型包括M个单路召回模型,M≥2,方法包括:
获取多组训练数据,每组训练数据包括检索词对应的目标正样本和多个负样本,每个样本包括检索词和对应文档;
通过第M-1个单路召回模型,获取各组训练数据中所有样本的相关性分数,相关性分数表征对应样本中的文档与检索词的匹配程度;
根据各组训练数据的相关性分数,以及第一损失函数,进行数据拟合,确定第M个模型的第一期望召回结果,第一损失函数用于确定第M-1个模型在召回对应训练数据时与第二期望召回结果之间的偏差;
根据第一期望召回结果以及第二损失函数,确定第M个单路召回模型的损失,损失表示第M个单路召回模型在召回对应训练数据时与第一期望召回结果之间的偏差;
以损失最小为目标,训练第M个单路召回模型。
在本申请提供的训练方法中,第M-1个单路召回模型往往与其对应的第二期望召回结果,即期望该模型能够达到的召回结果,有所偏差,这个偏差就是该单路召回模型的损失。故而,为了弥补第M-1个单路召回模型的损失,在训练过程中,可以通过第M-1个单路召回模型对各组训练数据进行召回,得到这些训练数据的相关性分数。然后通过第M-1个单路召回模型的第一损失函数,以及得到的这些相关性分数,进行数据拟合,能够确定一个接近第一期望召回结果的第二期望召回结果,使召回结果作为第M个单路召回模型的期望目标,以第M个单路召回模型的损失最小为目标进行训练,可以使第M个单路召回模型输出的召回结果与该第一期望召回结果的差距尽可能的小。这样,就可以利用训练得到的第M个单路召回模型尽可能弥补第M-1个单路召回模型的损失,以与第M-1个单路召回模型功能互补,从而提高多路召回模型的整体召回效果。
在一种可能的实现方式中,在以损失最小为目标,训练第M个单路召回模型之后,训练方法还包括:
根据各组训练数据,第一权重,第二权重以及代理函数,确定预设的神经网络模型的总损失,其中,预设的神经网络模型包括M个单路召回模型,总损失表征该神经网络模型的输出数据与期望输出数据之间的误差,第一权重包括M-1个,M-1个第一权重分别为第1至第M-1个单路召回模型的权重,第二权重为第M个单路召回模型的权重;
调节第二权重的值,以向着总损失最小的方向,对该神经网络模型进行训练;
将停止训练时总损失对应的第二权重的值,确定为第M个单路召回模型的目标权重。
这样,每训练一个单路召回模型,都对应确定一个该单路召回模型的目标权重,从而利用各个单路召回模型的目标权重,均衡多路召回模型中各个单路召回结果,实现单路召回结果的有效融合。
在一种可能的实现方式中,将停止训练时总损失对应的第二权重的值,确定为第M个单路召回模型的目标权重,包括:
将对神经网络模型每轮训练过程中的总损失的值,有序地放入一个定长序列;
当预设时长内,定长序列中最大值和最小值的差值的变量率低于预设阈值,停止训练,以将停止训练时对应的第二权重的值,确定为目标权重。
这样,通过定长序列监测神经网络模型每轮训练过程中的总损失的变化,能够及时反映当前训练使用的第二权重是否是第M个单路召回模型的适合权重,从而快速高效确定目标权重,提高模型训练效率。
在一种可能的实现方式中,,获取多组训练数据中,包括:
通过预设的召回模型,获取基于检索词召回的多个文档的相关性分数,其中,多个文档来自预设的数据集,数据集为包括若干与检索词相关的文档的集合,且该集合中的部分文档是标注为正样本的文档;
将多个文档按照其相关性分数由大到小的顺序排列后,将排在前T位且未标注为正样本的文档,确定为第一负样本;
利用多个第一负样本,形成负样本集,以根据负样本集和正样本得到训练数据。
在该实现方式中,可以通过能够对检索词进行稀疏表征的成熟召回模型,基于数据集进行检索词召回操作,获取基于检索词召回的多个文档的相关性分数。然后通过比较相关性分数的大小,筛选出相关性分数较高但不是正样本的文档,作为第一负样本,以形成训练数据。这样,可以将所采集的数据中,相关性较高但不应作为正样本的文档,如用户不感兴趣的文档,作为负样本,提高模型训练效果,如提高模型训练准确率。
在一些可能的实现方式中,获取多组训练数据中,还包括:
利用第一模型,获取基于检索词从数据集召回的所有文档的相关性分数,其中,数据集包括正样本集和负样本集,其中,负样本集中包括多个负样本;
根据召回的所有文档的相关性分数,确定目标样本,目标样本为根据其相关性分数达到预设值且标注错误的样本;
根据负样本集中所有负样本对应的文档的相关性分数,获取所有负样本的概率分布数据;
根据概率分布数据,选取负样本集中分布于预设值域内的负样本,作为第二负样本,以使第二负样本和正样本集形成训练数据,其中第二负样本中不包括目标样本。
在该实现方式中,可以通过第M-1个单路召回模型,基于数据集中的正样本集和负样本集进行召回操作,获取数据集中所有文档的相关性分数。然后通过对所有负样本的概率分布处理,过滤出相关性分数较高但标注错误的的文档,如没有被正确标注为正样本的文档,将符合预设概率值域的负样本作为第二负样本,以形成训练数据。这样,可以基于所采集的数据进行负样本的重新采样,过滤掉相关性较高但错误标注的负样本,缓解训练过程中的假负例问题,提高模型训练效果。
第二方面,本申请提供了一种多路召回方法,该多路召回方法通过前述训练得到的多路召回模型实现,多路召回模型包括M个单路召回模型,M≥2,该多路召回方法包括:
将检索词分别输入多路召回模型中的各个单路召回模型中,得到各个单路召回模型的第一召回结果;
利用各个单路召回模型对应的权重,对各个第一召回结果进行融合,得到第二召回结果。
由于多路召回模型中的单路召回模型之间功能互补,因此利用该多路召回模型进行多路召回,并利用各个单路召回模型对应的权重融合对应的召回结果,实现多路模型联合召回的有效均衡。
第三方面,本申请提供了一种多路召回模型训练装置,多路召回模型包括M个单路召回模型,M≥2,训练装置包括:
第一获取模型,用于获取多组训练数据,每组训练数据包括检索词对应的目标正样本和多个负样本,每个样本包括检索词和对应文档;
第一处理模块,用于通过第M-1个单路召回模型,获取各组训练数据中所有样本的相关性分数,相关性分数表征对应样本中的文档与检索词的匹配程度;
第一处理模块,还用于根据各组训练数据的相关性分数,以及第一损失函数,进行数据拟合,确定第M个模型的第一期望召回结果,第一损失函数用于确定第M-1个模型在召回对应训练数据时与第二期望召回结果之间的偏差;
第一处理模块,还用于根据第一期望召回结果以及第二损失函数,确定第M个单路召回模型的损失,损失表示第M个单路召回模型在召回对应训练数据时与第一期望召回结果之间的偏差;
第一处理模块,还用于以损失最小为目标,训练第M个单路召回模型。
在一种可能的实现方式中,第一处理模块,还用于根据各组训练数据,第一权重,第二权重以及代理函数,确定预设的神经网络模型的总损失,其中,预设的神经网络模型包括M个单路召回模型,总损失表征该神经网络模型的输出数据与期望输出数据之间的误差,第一权重包括M-1个,M-1个第一权重分别为第1至第M-1个单路召回模型的权重,第二权重为第M个单路召回模型的权重;
第一处理模块,还用于调节第二权重的值,以向着总损失最小的方向,对该神经网络模型进行训练;
第一处理模块,还用于将停止训练时总损失对应的第二权重的值,确定为第M个单路召回模型的目标权重。
在一种可能的实现方式中,第一处理模块,还用于将对神经网络模型每轮训练过程中的总损失的值,有序地放入一个定长序列;
第一处理模块,还用于当预设时长内,定长序列中最大值和最小值的差值的变量率低于预设阈值,停止训练,以将停止训练时对应的第二权重的值,确定为目标权重。
在一种可能的实现方式中,第一处理模块,还用于通过预设的召回模型,获取基于检索词召回的多个文档的相关性分数,其中,多个文档来自预设的数据集,数据集为包括若干与检索词相关的文档的集合,且该集合中的部分文档是标注为正样本的文档;
第一处理模块,还用于将多个文档按照其相关性分数由大到小的顺序排列后,将排在前T位且未标注为正样本的文档,确定为第一负样本;
第一处理模块,还用于利用多个第一负样本,形成负样本集,以根据负样本集和正样本得到训练数据。
在一种可能的实现方式中,第一处理模块,还用于利用第一模型,获取基于检索词从数据集召回的所有文档的相关性分数,其中,数据集包括正样本集和负样本集,其中,负样本集中包括多个负样本;
第一处理模块,还用于根据召回的所有文档的相关性分数,确定目标样本,目标样本为根据其相关性分数达到预设值且标注错误的样本;
第一处理模块,还用于根据负样本集中所有负样本对应的文档的相关性分数,获取所有负样本的概率分布数据;
第一处理模块,还用于根据概率分布数据,选取负样本集中分布于预设值域内的负样本,作为第二负样本,以使第二负样本和正样本集形成训练数据,其中第二负样本中不包括目标样本
第四方面,本申请提供了一种多路召回装置,该装置包括;
第二获取模型,用于获取检索词;
第二处理模型,用于将检索词分别输入多路召回模型中的各个单路召回模型中,得到各个单路召回模型的第一召回结果;
第二处理模型,还用于利用各个单路召回模型对应的融合权重,对各个第一召回结果进行融合,得到第二召回结果。
第五方面,本申请提供一种电子设备,包括:至少一个存储器,用于存储程序;至少一个处理器,用于执行存储器存储的程序;其中,当存储器存储的程序被执行时,处理器用于执行第一方面或第二方面的任一种可能的实现方式所描述的方法。
第六方面,本申请提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,当计算机程序在处理器上运行时,使得处理器执行第一方面或第二方面的任一种可能的实现方式所描述的方法。
第七方面,本申请提供一种计算机程序产品,其特征在于,当计算机程序产品在处理器上运行时,使得处理器执行第一方面或第二方面的任一种可能的实现方式所描述的方法。
第八方面,本申请提供一种芯片,其特征在于,包括至少一个处理器和接口;至少一个处理器通过接口获取程序指令或者数据;至少一个处理器用于执行程序行指令,以实现第一方面或第二方面的任一种可能的实现方式所描述的方法。
可以理解的是,上述第二方面至第八方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
附图说明
图1是本申请实施例提供的一种多路召回的流程示意图;
图2是本申请实施例提供的一种多路召回模型的结构示意图;
图3是本申请实施例提供的一种多路召回模型训练方法的流程示意图;
图4是本申请实施例提供的一种对负样本重采样的流程示意图;
图5是本申请实施例提供的一种权重搜索的流程示意图;
图6是本申请实施例提供的一种多路召回方法的流程的示意图;
图7是本申请实施例提供的一种多路召回方法的流程示意图;
图8是本申请实施例提供的一种多路召回模型训练装置的结构示意图;
图9是本申请实施例提供的一种多路召回装置的结构示意图
图10是本申请实施例提供的一种芯片的结构示意图。
具体实施方式
本文中术语“和/或”,是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。本文中符号“/”表示关联对象是或者的关系,例如A/B表示A或者B。
本文中的说明书和权利要求书中的术语“第一”和“第二”等是用于区别不同的对象,而不是用于描述对象的特定顺序。例如,第一响应消息和第二响应消息等是用于区别不同的响应消息,而不是用于描述响应消息的特定顺序。
在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
在本申请实施例的描述中,除非另有说明,“多个”的含义是指两个或者两个以上,例如,多个处理单元是指两个或者两个以上的处理单元等;多个元件是指两个或者两个以上的元件等。
首先对本申请涉及的技术术语进行介绍。
(1)正样本(positive example):在信息检索(information retrieval,IR)领域,如果文档(doc)与检索词(query)是正确匹配的一对数据,则该对数据为正样本。
(2)负样本(negative example):在IR领域,如果文档与检索词是不能正确匹配的一对数据,则该对数据为负样本。
(3)召回(match):指根据检索词从全量信息集合中筛选尽可能多的正确信息。
(4)召回模型:指具有召回能力的神经网络模型。
(5)单路召回模型;指单个召回模型。
(6)多路召回模型:指由多个单路召回模型组成的组合模型,其能够利用多个单路召回模型分别进行单路召回,并将各单路召回的结果融合后输出。
一般地,常用的召回模型包括稀疏表征模型(sparse model)和稠密表征模型(dense model)。其中,稀疏表征模型可扩展性和可解释性较好,但是存在词汇匹配错误(vocabularymismatch)的问题,导致召回效果不佳。因此,稀疏表征模型作召回模型时,虽然能高效支撑亿万级的文档匹配索引,但只能满足基本的召回功能,召回的文档与检索词匹配精度较差。而稠密表征模型做召回时的语义匹配效果虽然较好,却又缺少可解释性,数据可扩展性不如稀疏表征模型,因此只适用于小数据集的信息检索,对工业级的文档量检索,效果较差。
对此,基于这两种模型在语义匹配、精准匹配、效率、可解释性和可维护性这几个维度上能力互补的特点,可以采用多路召回的方式,分别训练稀疏表征模型和稠密表征模型,然后将两种模型输出的召回结果一起进行排序,作为最终的多路召回结果,但是,这种方式由于两种模型独立召回,不能保证两种模型彼此的召回效果互补。故而,在另一种多路召回方式中,可以利用基于残差的语言表示模型(complement lexical retrieval modelwith semantic residual embeddings,CLEAR),通过启发式的残差设计,在一个无监督的稀疏表征模型,如相似度模型(best match25,BM25)的基础上,训练一个稠密表征模型,去拟合BM25的召回结果和真实召回结果间的残差,以根据拟合的残差,确定真实召回结果。这种拟合残差的过程,可以通过以下公式(1)和公式(2)表示:
mr(Slex(q,d+),Slex(q,d-))=ξ-λtrain(Slex(q,d+),Slex(q,d-)) (1)
Figure BDA0003827656360000061
在公式(1)和公式(2)中,q表示检索词query,(q,d+)表示正样本,(q,d-)表示负样本,Slex表示BM25的损失,Semb表示训练稠密表征模型时的损失,mr,ξ,及λtrain均为训练该稠密表征模型所设置的超参数,
Figure BDA0003827656360000062
为BM25的召回结果和真实召回结果间的残差。
在上述基于启发式的残差设计只适用于上述这一种组合模型,缺乏通用性和有效性。并且,这种方式为召回模型局部的优化,只能优化稠密表征模型,无法做到全局的优化,所以在大规模数据集上效果下降显著,难以应用到实际引擎中。
为了能够提高召回模型的召回效果,本申请实施例中提供了一种多路召回模型训练方法、多路召回方法、装置及电子设备。其中,该多路召回模型训练方法是一种基于增强理论(boosting)进行多路召回模型训练的方法。boosting理论即加法性增强理论,使每轮训练的单路召回模型都是在前一个单路召回模型的基础上进行的优化,通过迭代来降低整个模型召回结果的偏差。并且,每轮训练的单路召回模型都是对前一个单路召回模型的召回效果互补的模型,这样,最终训练得到的多路召回模型中包括至少两个模型,且该至少两个模型之间召回效果互补。另外,本申请实施例的多路召回方法,可以利用最终训练得到的多路召回模型进行多路召回,并在多路召回的过程中,通过单路召回模型对应的融合权重,来平衡该各个单路召回模型的召回结果,实现多路召回结果的有效融合,从而有效提升多路召回模型的整体召回效果。
为便于理解本申请实施例的技术方案,下面首先对本申请实施例中利用多路召回模型进行多路召回的一些场景进行说明。
示例性的,本申请实施例中的多路召回模型,其应用的系统场景可以是基于机器学习的搜索引擎召回场景。其中,搜索引擎中的多路召回模型进行多路召回的一般过程为:用户输入希望查询的query,然后搜索引擎通过各单路召回模型分别去多个索引查询结果,之后各个索引的结果融合并筛选得到相关文档,输入到下游任务。
示例性的,多路召回模型具体可以应用于大搜、信息流或者服务平台或应用程序(application,App)内的搜索召回场景,其中:
在大搜应用场景中,大搜即大搜索,是利用关键词搜索实现相关信息的显示。例如,根据用户搜索的query,匹配用户可能感兴趣的网页信息并进行显示。举例说明,如图1所示的流程图,通过S1从互联网采集的网页数据形成数据集,并经过S2数据预处理后,通过S3创建该数据集的索引(indexer)。当用户通过搜索引擎页面提供的搜索框输入关键词(即检索词,下同),如“专利申请”后,搜索引擎的多路召回模型执行S4来获取该关键词后,通过S5进行多路召回,以利用indexer访问数据集,从数据集中召回与关键词“专利申请”相关的网页信息,如专利申请官方网站信息、专利检索网站信息、专利代理机构网站信息等。并且多路召回模型还为召回的网页信息标记相关性分数,然后经过S6融合后,输送到下游的精排模型,通过S7对所有召回的网页信息按照对应相关性分数排序,将排序结果通过S8输出到搜索页面进行显示。
在信息流应用场景中,信息流是利用用户的爱好和喜好等特征实现相关信息的展示。例如,用户的偏好特征信息包括“音乐”这一信息,则多路召回模型获取“音乐”这一关键词后,可以进行多路召回,以根据其他具有音乐这一相同偏好特征的用户所感兴趣的信息,如歌曲、乐器、音乐会信息等,从数据库中召回关于歌曲、乐器、音乐会的数据并显示。
在服务平台应用场景中,服务平台可以包括专门提供特定业务的平台,如互联网资源搜索平台、购物平台、在线视频媒体平台等。服务平台可以收集用户的关键词或偏好特征,通过多路召回模型,从对应数据库中召回相关数据进行显示。如用户在购物平台的历史输入关键词包括“背包”,通过多路召回模型可以召回若干关于背包的购物网页,并显示给用户。或者,用户在在线视频媒体平台提供的网页上,输入电视剧名或角色名等关键词,就可以通过对应的多路召回模型,召回与关键词相关的视频或音频网页,显示给用户。
在App内搜索应用场景中,App可以包括终端内部署的应用市场程序、视频App、音乐App、新闻App、浏览器等。这些App可以收集用户的关键词或偏好特征,通过多路召回模型从对应数据库中召回相关数据进行显示。
在一些示例中,多路召回模型可以应用于问答系统、推荐系统等业务系统中,根据用户输入的关键词或偏好特征,召回相关数据信息。
示例性的,图2示出了一种多路召回模型的结构。可以理解,该模型可以部署在任何具有计算、处理能力的装置、设备、平台、或设备集群中。图2所示的多路召回模型200包括第一模型210和第二模型220,第二模型220为在第一模型210的基础上,根据第一模型210的损失训练得到的互补模型,其中,第一模型210的损失表征第一模型210的召回结果与期望召回结果之间的偏差。
本实施例中,第一模型210可以为独立的单路召回模型,能够根据输入的检索词进行单路召回。
示例性的,第一模型210可以为稀疏表征模型或者稠密表征模型,本实施例对第一模型210的类型不做限定。例如,第一模型210可以为稠密表征模型。在该例子中,第一模型210可以包括输入层211,表示层212,和匹配层213。其中,输入层211,也可以称为词嵌入(token embedding)层,用于把文本映射到低维向量空间转化成词向量提供给表示层212,其中该文本包括检索词以及文档库中的文档。表示层212可以用于通过神经网络对词向量进行表示,表示即从词到句子的构建。匹配层213可以用于将表示层212输出的向量(包括检索对应的表示向量和文档对应的表示向量)进行语义匹配,并对检索词与匹配的文档之间的相关性进行打分,得到对应的相关性分数。其中,相关性即检索词和文档之间的相似度,故而,相关性分数表征的是检索词与文档的匹配程度。打分可以通过计算检索对应的表示向量和文档对应的表示向量之间的余弦相似度、或者欧几里得相似度,或者通过内积运算等方式实现。
本实施例中,第二模型220可以是与第一模型210类型相同的模型,也可以是与第一模型210类型不同的模型,本实施例不做限定。例如,第一模型210为稀疏表征模型,与之互补的第二模型220可以为稀疏表征模型,也可以为稠密表征模型。并且,第二模型220可以根据第一模型210的损失,进行训练,形成第一模型210的互补模型。本实施例中,互补模型是指与前一个单路召回模型召回效果互补的模型。
其中,召回效果互补,即当前训练的单路召回模型可以实现前一个单路召回模型未达到的召回效果。例如,第一模型210的召回结果精确率为90%,第二模型220基于第一模型210的损失进行训练后,其准确率可以达到95%,准确率高于第一模型210,从而在利用第一模型210和第二模型220进行多路召回过程中,提高整体多路召回模型的召回效果。
本实施例中,第一模型210的损失,指的是该模型在召回文档时与其期望召回结果之间的偏差。基于第一模型210的损失,通过数据拟合得到一个能够尽可能弥补该损失的第一期望召回结果,并朝着靠近该第一期望召回结果的方向训练得到第二模型220。因此训练完成后的第二模型220能够在第一模型210的基础上实现召回效果的优化,保证第二模型220必然为第一模型210召回效果互补的模型。这样,利用第一模型210和第二模型220进行联合多路召回时,也可以避免第二模型220与第一模型210的召回效果相似的情况发生,避免造成模型训练和推理的成本浪费。
在一个具体示例中,可以在图2所示的多路召回模型基础上,继续训练一个或多个单路召回模型。具体来说,第1个模型的输出结果的损失,可以用于指导第2个模型的训练,这样,保证训练得到的第2个模型必然是第1个模型的互补模型。同理,也可以基于第2个模型输出结果的损失,训练第3个模型。这样训练得到的第3个模型,实际是基于第1个模型和第2个模型训练得到,即第3个模型是第1个模型和第2个模型的总和的互补模型。因此,可以理解为,当本实施例中的多路召回模型中包括M个模型时,第M个模型是前M-1个模型的互补模型。这样,多路召回模型中所有单路召回模型逐级关联优化,可以提高整体模型的召回效果。
并且,可以理解的是,本申请实施例中,第二模型220作为第一模型210的互补模型,是基于第一模型210的损失进行训练,因此只与对应的损失函数强相关。一些具体示例中,可以不必考虑第二模型的内部结构和内部特性,直接根据第一模型210的损失对第二模型进行黑盒(black box testing)训练。
以上是对本申请实施例提供的多路召回模型的介绍,通过该多路召回模型,可以进行多路召回。
接下来,基于上文所描述的内容,对本申请实施例提供的一种多路召回模型训练方法进行介绍。可以理解的是,该方法是基于上文所描述的内容提出,该方法中的部分或全部内容可以参见上文中的描述。
请参阅图3,图3是本申请实施例提供的一种多路召回模型训练方法的流程示意图。可以理解,该方法可以通过任何具有计算、处理能力的装置、设备、平台、设备集群来执行。
如图3所示,该多路召回模型训练方法可以包括S301-S306:
S301,获取第一训练集,第一训练集包括正样本集和负样本集。
本实施例中,正样本集和负样本集均为第一训练集的子集,每个子集中均包括多个样本。
本实施例中,正样本集和负样本集均可以但不限于通过搜索引擎收集,收集得到的正样本集和负样本集形成该第一训练集。
其中,对于正样本集,可以通过以下方式获取:
示例性的,可以使用搜索引擎收集用户输入的检索词和用户点击的对应网页,得到正样本集。例如,用户向搜素引擎中输入的检索词为“树叶”,通过搜索引擎中已有的召回模型,召回与树叶相关的500个网页,该500个网页中用户历史点击过其中的80个网页,则可以将这80个网页分别对应检索词“树叶”,形成80个数据对(query,doc),每个数据对标注为一个正样本,形成包含80个正样本的正样本集,用于后续模型训练。
可以理解的是,本实施例中获取的正样本集中,也可以包括多个检索词及其对应的文档构成的数据对。例如正样本集中包括数据对(检索词Q1,文档D1),(检索词Q2,文档D2),(检索词Q3,文档D3),(检索词Q4,文档D4),……。
本实施例中,对于负样本集,可以通过以下方式中的任意一种或几种来收集:
方式一:
示例性的,负样本可以是从全量文档库中随机采样的样本,全量文档库即具有若干文档的数据库,该数据库中的所有文档与若干个检索词具有索引关系,使得单路召回模型可以基于检索词和对应的索引关系,找到数据库中的相关文档。例如,搜索引擎的全量文档库中有5000万个网页,其中1000个网页与检索词“树叶”具有索引关系,可以从5000万个网页中随机采样40个网页作为对应检索词“树叶”的负样本,形成负样本集。
可以理解的是,负样本集对应正样本集的检索词构建,例如,正样本集中包括10个检索词对应的正样本,负样本集中也包括这10个检索词对应的负样本。在一些具体示例中,不同检索词对应的作为负样本的文档,可以相同,例如,检索词Q1和检索词Q2,均有10个负样本,检索词Q1对应负样本的10个文档,可以与检索词Q2对应负样本的10个文档相同。下文几种获取的负样本集的方式同理,获取的负样本集均对应正样本集的检索词构建。
方式二:
示例性的,也可以通过进行一次采样,将单路召回模型根据检索词召回的文档中未被用户点击的文档作为负样本,形成负样本集。例如,检索词为“树叶”时,搜索引擎召回500个相关网页,从中随机选取40个用户未点击过的网页作为负样本,构建得到负样本集。
方式三:
在一个可能的实施方式中,可以通过以下S3011至S3014来获取负样本集,其中,该负样本集中包括多个第一负样本:
S3011,通过单独的召回模型对基于检索词召回的文档进行相关性打分,得到这些文档的相关性分数,其中,召回的文档来自预设的数据集,数据集为由若干与该检索词相关的文档构成的数据集合,且数据集中的部分文档为标注为正样本的文档。
本实施例中,预先收集与检索词相关的文档构建数据集,并将数据集中的部分文档标记为正样本。示例性的,可以使用搜索引擎收集用户输入的检索词及其对应召回的网页构建得到数据集。例如,基于用户向搜索引擎输入的检索词Q进行召回检索,总共得到500个相关网页,形成数据集,并将数据集中用户历史点击过的80个网页标记为正样本,作为正样本集。
构建数据集之后,将检索词输入一个简单的召回模型,利用该召回模型基于检索词对数据集中的所有相关文档进行召回和相关性打分,得到这些文档的相关性分数。其中,该召回模型可以是任意类型或结构且能够对检索词进行稀疏表征的召回模型,如BM25模型。
示例性的,可以参考图2中所示的第一模型为例,对S3011的执行过程进行说明。参考图2所示,检索词query输入第一模型210之后,query和数据集中的文档均在输入层211中被切分为至少一个分词token,token可以记作Toki,i=1,2,3,…i,…,N。并且,通过设置起始标识符cls和结束标识符sep,标记属于同一个词语的Toki。所有分词Toki通过词嵌入(token embedding)处理转换成词向量的形式,每个词向量可以表征所属词语一定的语义信息。然后检索词和文档对应的词向量通过表示层212构建为表示向量,如句子。表示向量输入匹配层213进行语义匹配,并在匹配过程中通过计算检索词表示向量与每个文档表示向量之间的相似度(如余弦相似度)进行相关性打分,该相似度计算结果即每个文档的相关性分数。
S3012,将S3011中召回的文档按照其相关性分数由大到小排序后,将排名前T位且未标注为正样本的文档,确定为第一负样本。
本实施例中,通过S3011得到的召回文档的相关性分数之后,可以根据其相关性分数的从大到小的顺序,对召回的文档进行排序。然后将排序结果中排名靠前、相关性较高但不是正样本的文档,作为第一负样本。其中,T可以根据实际采样需求预先设置,T为正整数,如T=50。
例如,数据集包含的500个网页中,有80个网页被标记为正样本。通过S3011得到这500个网页的相关性分数之后,按照相关性分数从大到小的顺序对网页排序,然后筛选排名前20位但不是正样本的网页,作为第一负样本。
可以理解的是,获取前述第一负样本过程中,在对文档排序的时候,也可以按照其相关性分数从小到大的顺序,此时可以将排名后T位且未标注为正样本的文档,作为第一负样本。
这样,可以将相关性较高但并非正样本(例如相关性很高但用户不感兴趣的样本)的文档筛选出来,作为第一负样本,并与正样本集一起形成静态的第一训练集,用于后续互补模型的训练,利于提高互补模型的准确率。
可选的,在一些示例中,如果采集的第一负样本的数量较少,可以将其与通过前述方式一或者方式二获得的负样本一起,形成负样本集,并将该负样本集与前述任一种方式获取的正样本集一起作为第一训练集,用于后续互补模型的训练。
本申请实施例中,通过上述任意一种或多种方式获取正样本集和负样本集之后,可以得到第一训练集。在一些具体示例中,该第一训练集可以直接用于后续对互补模型的训练。
在另一些具体示例中,为提高对互补模型的训练效果,还可以基于获取的第一训练集或其他预先构建的训练集,对负样本进行重新采样,形成新的训练集,用于对互补模型的训练。
接下来以基于第一训练集,对负样本重新采样并形成新的训练集,即第二训练集为示例,进行说明。参考图4所示,本示例中,对负样本重新采样形成新的训练集具体可以包括S401至S404:
S401,利用第一模型,对第一训练集的所有文档进行相关性打分,得到对应文档的相关性分数。
本实施例中,参考图2所示,以第一训练集的正样本集和负样本集中的所有文档作为数据集,将正样本集和负样本集对应的检索词输入第一模型210,从该数据集中召回所有文档并对其相关性进行打分,得到这些文档的相关性分数,也即得到正样本集和负样本集中所有样本对应的相关性分数。其中,第一模型210对正样本集和负样本集中的所有文档进行相关性打分的过程,可以参考上述S011中单路召回模型对召回文档打分的过程,此处不再赘述。
S402,根据相关性分数,确定目标样本,目标样本为根据相关性分数从大到小的顺序对所有文档排序之后,其对应文档排在前m位且标注错误的样本。
本实施例中,将第一训练集中所有样本对应的文档按照其相关性分数从小到大的顺序进行排序,相关性较高的文档排列位置靠前,反之排列位置靠后。然后基于所有排序的文档,确定其对应文档排在前m位且标注错误的文档,其中,标注错误的文档即相关性分数较高但没有正确标注为正样本的样本,或者说是相关性分数较高但被错误标注为负样本的样本。然后将这些确定的标注错误的样本作为目标样本。其中,m为正整数。
S403,根据负样本集中所有文档对应的相关性分数,获取负样本集中所有负样本的概率分布数据。
本实施例中,将负样本集中每个检索词对应的文档的相关性分数映射为预设区间上的概率值,根据负样本集中所有文档的概率值,可以获得负样本集中所有文档在特定区间的概率分布数据,也即获得负样本集中所有负样本的概率分布数据。
示例性的,可以通过归一化指数函数(softmax)将负样本集中所有文档的相关性分数映射到[0,1]空间,得到负样本集中所有文档的概率值,且负样本集中所有文档的概率值的总和为1。这样,根据负样本集中各个文档的概率值,确定这些文档在[0,1]空间上的分布情况,从而可以直观的反映出负样本集中所有负样本的概率分布情况。
S404,根据概率分布数据,选取负样本集中分布于预设值域内的负样本,作为第二负样本,以使第二负样本和正样本集形成第二训练集,其中第二负样本中不包括目标样本。
本实施例中,对负样本集中每个检索词对应的文档进行概率分布映射处理之后,可以基于得到的所有负样本的概率分布情况,从中筛选更利于训练的负样本。示例性的,可以通过预设一个概率值域,然后根据该值域重新采样得到第二负样本,且得到的第二负样本中不包括目标样本,即不包括相关性分数较高但标注错误的样本。
例如,负样本集中有40个负样本,通过softmax函数映射得到负样本集中40个负样本的概率分布数据,且最大概率值为0.7,最小概率值为0.01。由于相关性分数越高的样本概率值越高,被重新采样选中的可能性也越高,反之可能性越低,故而可以使预设值域为[0.05,0.2],将分布于该值域中的负样本,作为第二负样本,从而过滤掉相关性分数较高但标注错误的负样本。
这是由于负样本集中可能存在一些假负例(False Negative),这类负例样本指的是其文档理论上能够与检索词正确匹配,但实际又没有被正确标注为正样本的样本,且这类负例样本的相关性分数也往往较高,用于模型训练时会对训练效果产生不利影响。因此,本实施例中,基于负样本集的负样本概率分布情况,利用预设的概率值域重新采样,可以从所有负样本中过滤掉相关性分数较高的错误样本作为第二负样本,从而过滤掉可能是假负例的样本。
这样,利用第二负样本构建得到新的负样本集,并与正样本集形成第二训练集,用于后续互补模型的训练,能够有效缓解后续互补模型训练过程中存在的假负例的问题,降低所训练的互补模型的损失,以利于提升对该模型的训练效果。
可以理解的是,预设值域可以根据实际训练需求确定,保证重新采样得到的该第二负样本的数量满足训练需求。
本申请实施例中,通过前述S301获取的第一训练集中,或者前述获取的第二训练集中,其正样本集均包括多个正样本。可以将正样本集中的每个正样本分别与对应的负样本集作为一组训练数据D,
Figure BDA0003827656360000111
q表示检索词,d+表示q对应正样本的文档,d-表示q对应负样本的文档,L为负样本的数量。这样可以得到多组训练数据,然后基于每组训练数据,通过以下S302至S305,基于第一模型的损失迭代训练得到第二模型,使第二模型与之召回效果互补。
下面以任一组训练数据D为例,对S302至S305的执行过程进行说明。
S302,通过第一模型对目标正样本及负样本集对应的所有文档进行相关性打分,得到第一相关性分数和L个第二相关性分数,其中,目标正样本为前述正样本集中的正样本之一,第一相关性分数表征目标正样本中文档与检索词的匹配程度,负样本集中包括L个负样本,每个第二相关性分数用于表征对应负样本中文档与检索词的匹配程度。
本实施例中,以前述获取的第一训练集或第二训练集中的正样本集中,任一正样本做为目标正样本为例,参考图2中所示的第一模型210,对目标正样本和负样本集形成的一组训练数据在第一模型210中的处理过程进行说明。
示例性的,将目标正样本和负样本集的所有文档作为数据集,并将该目标正样本和负样本集对应的检索词输入第一模型210的输入层211。输入层211进行词嵌入处理,将检索词文本和该数据集文本转换为词向量的形式,进入表示层212进行向量表示。接下来表示层212输出的检索词表示向量和数据集各个文档的表示向量进入匹配层213进行语义匹配,通过对检索词表示向量和数据集各个文档的表示向量之间的相似度计算,得到各个文档相对于该检索词的相关性分数,即得到目标正样本的第一相关性分数,以及各个负样本的第二相关性分数。
S303,根据第一相关性分数和所有第二相关性分数,以及第一损失函数进行数据拟合,确定第二模型的第一期望召回结果,第一损失函数用于确定第一模型对任一正样本召回时与第二期望召回结果之间的偏差。
本实施例中,第一模型210对正样本集中的任一正样本召回时得到的召回结果,往往与期望第一模型能够达到的召回结果,即第二期望召回结果,有所偏差,该偏差即第一模型在召回对应正样本时的损失(下文简称为“第一模型的损失”)。因此,为了提高多路召回模型的整体召回效果,可以通过训练一个第二模型,使第二模型能够尽可能地弥补第一模型的损失,从而使第二模型与第一模型的召回效果互补,提升整体召回效果。
示例性的,为了使得到的第二模型能够弥补第一模型的损失,本示例中,可以基于残差损失函数(residual-based loss)的原理,利用第一模型210的召回结果与第二期望召回结果之间的差距(即残差),通过数据拟合,得到靠近该第二期望召回结果的第一期望召回结果,第一期望召回结果即期望第二模型220能够达到召回结果。这样在训练第二模型的过程中,通过使第二模型220输出的召回结果与该第一期望召回结果的差距尽可能的小,进而使得训练得到的第二模型220在与第一模型210进行多路召回时,能够尽可能地弥补第一模型210的损失,实现对第一模型的优化。
其中,第一模型210的损失可以通过第一损失函数确定。这样,在确定第一期望召回结果时,可以利用第一模型210的第一损失函数,构造拟合函数,然后将第一相关性分数和所有第二相关性分数代入拟合函数中,拟合得到接近第二期望召回结果的第一期望召回结果。
可以理解的是,该第一损失函数可以根据第一模型210的召回任务确定,本实施例不做具体限定。例如,第一损失函数可以采用负对数似然(negative log-likelyhood)损失函数、二元交叉熵(binary cross entropy)损失函数或铰链损失函数(hinge loss)等。
例如,以第一损失函数采用负对数似然(negative log-likelyhood)函数为例,第一模型的损失可以表示为:
Figure BDA0003827656360000131
公式(3)中,M为当前所训练的单路召回模型的标号,则
Figure BDA0003827656360000132
表示标号为M-1的单路召回模型的损失,即,M为第二模型220的标号时,
Figure BDA0003827656360000133
为第一模型210的损失。s(q,d+)表示目标正样本(q,d+)的第一相关性分数与第二期望召回结果之间的相似度。
Figure BDA0003827656360000134
表示负样本集中对应的第l个负样本的相关性分数与第二期望召回结果之间的相似度,l=1,2,…,L,l为正整数。其中,s(q,d+)和
Figure BDA0003827656360000135
计算的相似度均可以是余弦相似度或欧几里得相似度等,本示例不做唯一限定。
示例性的,利用第一模型210的第一损失函数构造拟合函数,以确定第二期望召回结果,即确定第二模型训练过程中的拟合目标时,可以利用第一模型在每个正样本上的损失对其第一相关性分数求导,得到第二期望召回结果。则,具体地,该拟合函数可以通过以下公式(4)表示:
Figure BDA0003827656360000136
公式(4)中,
Figure BDA0003827656360000137
为当前所训练第M个单路召回模型对应的期望召回结果,FM-1(q,d+)表示第M-1个单路召回模型基于目标正样本9q,d+)输出的相关性分数。即,
Figure BDA0003827656360000138
为第二模型的第一期望召回结果时,FM-1(q,d+)为第一模型基于目标正样本(q,d+)输出的第一相关性分数和第二相关性分数。
这样,将第一相关性分数和第二相关性分数带入公式(4)表示的拟合函数,可以得到第一期望召回结果。
在本示例中,仍以第一损失函数为前述公式(3)表示的负对数似然函数为例说明。公式(3)中,
Figure BDA0003827656360000139
可以转化为
Figure BDA00038276563600001310
其中,PM-1(q,d+)表示目标正样本(q,d+)的第一相关性分数相对于当前组训练数据中所有样本的相关性分数的分布概率,该目标正样本(q,d+)的第一相关性分数通过第M-1个单路召回模型输出。示例性的,每个样本的相关性分数的分布概率,均可以通过softmax函数映射到[0,1]空间得到。
因此将
Figure BDA00038276563600001311
带入公式(4)进行推导,则有:
Figure BDA00038276563600001312
在公式(5)中,
Figure BDA00038276563600001313
为第M-1个单路召回模型输出的第l个负样本的相关性分数。由此可推导得到,第二模型标号为M时,其第一期望召回结果的函数还可以表示为:
Figure BDA00038276563600001314
然后将第一相关性分数和L个第二相关性分数通过softmax映射为概率分布,得到PM-1(q,d+),从而快速确定第一期望召回结果。
S304,根据第一期望召回结果和第二损失函数,确定第二模型的损失,该损失表征第二模型在召回目标正样本时与第一期望召回结果之间的偏差。
本实施例中,第二损失函数是用于计算第二模型的损失的函数。可以理解的是,第二损失函数可以根据第二模型的召回任务确定,本实施例不做具体限定。例如,第二损失函数可以采用负对数似然(negative log-likelyhood)损失函数、二元交叉熵(binary crossentropy)损失函数或铰链损失函数(hingeloss)等。
本实施例中,第二期望召回结果可以作为第二损失函数的权重,确定第二模型的损失。
示例性的,以第二损失函数为negative log-likelyhood函数为例,参考上述对公式(3)的变换原理,可以得知第二损失函数
Figure BDA0003827656360000141
可以表示为:
Figure BDA0003827656360000142
其中,PM(q,d+)即第一相关性分数相对于当前组训练数据中所有样本的相关性分数的分布概率,该第一相关性分数通过第M个单路召回模型基于目标正样本输出。本示例中,第二模型的标号为M。
则第二模型的损失
Figure BDA0003827656360000143
与第二期望召回结果之间的关系可以通过以下公式(6)表示:
Figure BDA0003827656360000144
S305,以第二模型的损失最小为目标,训练第二模型。
本实施例中,确定第二模型的损失后,将目标正样本和负样本集构成的当前组训练数据,输入第二模型,并以第二模型的损失最小为目标,进行训练。
示例性的,假设第二训练集的正样本集中包括K个正样本,每个正样本依次作为目标正样本,继而与负样本集可以形成K组训练数据DN,k=1,2,…,K,K为正整数。初始化时,第二模型的第二损失函数为
Figure BDA0003827656360000145
基于第一组训练数据D1,执行一轮S302至S304的步骤,再将第一组训练数据D1输入第二模型中,以本轮S304得到的损失损失
Figure BDA0003827656360000146
最小为目标,进行第一轮训练。第一轮训练结束后,基于第二组训练数据D2,再次执行一轮S302至S304步骤,之后再将第二组训练数据D2输入第二模型中,并以本轮S304得到的损失
Figure BDA0003827656360000147
最小为目标,进行第二轮训练,……,直至全部训练数据用尽或者训练结果达到预设条件(如预设次数),训练结束,此时得到与第一模型互补的第二模型。
本实施例中,由于指导第二模型训练时是基于第一模型的损失实现的,因此训练得到的第二模型必然是第一模型的功能互补模型。
在一些可能的实现方式中,可以在获取第一训练集之后,生成多组第一训练数据,并基于多组第一训练数据,迭代执行S302至S305,以对预设的神经网络进行训练,得到暖身(warm-up)模型。本示例中,暖身模型,即在训练第二模型过程中的初步训练结果。接下来,可以在得到第二训练集之后,再以第二训练集生成多组第二训练数据。然后基于多组第二训练数据,迭代执行S302至S305,以继续训练暖身模型,直至迭代结束,得到与第一模型功能互补的第二模型。
在一些可能的实现方式中,如果训练得到第二模型之后,其与第一模型构成的多路召回模型的整体召回效果未达到期望目标,则可以基于第二模型的损失,继续训练第三模型,……,以此类推,直至训练得到第n模型之后,所有单路召回模型的整个召回结果达到期望目标,如达到期望的准确率,本实施例不具体限定。
本申请实施例中,在多路召回模型训练过程中,若其包括M个单路召回模型,则训练的第M个单路召回模型是在前M-1个单路召回模型的基础上进行训练的,例如第二模型是在第一模型的基础上训练的。而由于多路召回模型投入使用时,是对各个单路召回模型分别单路召回的结果进行融合,实现联合召回,所以,为保证召回结果融合的有效性,本实施例中,在每训练一个单路召回模型之后,都通过预设的神经网络模型,基于反向传播算法,训练该第M个单路召回模型的权重,以是第M个单路召回模型基于该权重,与前M-1个单路召回模型的召回结果进行融合。
示例性的,参考图5所示,在训练得到第M个单路召回模型之后,方法还可以包括S501-S506:
S501,获取样本训练集,样本训练集包括G组样本数据,每组样本数据中包括一个正样本和多个负样本。
本实施例中,样本训练集可以是上述获取的第一训练集、第二训练集或其他预先构建的训练集。该样本训练集中包括正样本集和负样本集,其中,正样本集中包括G个正样本,负样本集中包括L个负样本。将正样本集中的G个正样本分别作为目标正样本,以分别与负样本集组成G组样本数据Dd,
Figure BDA0003827656360000153
q表示检索词,d+表示正样本的文档,d-表示负样本的文档,L为负样本的数量。
S502,根据样本数据,第一权重,第二权重以及代理函数,确定预设的神经网络模型的总损失,其中,预设的神经网络模型包括M个单路召回模型,总损失表征预设神经网络模型的输出数据与期望输出数据之间的误差,第一权重包括M-1个,M-1个第一权重分别为第1至第M-1个单路召回模型的权重,第二权重为第M个单路召回模型的权重。
本实施例中,预设神经网络模型是适配前述训练得到的多路召回模型的神经网络模型,多路召回模型中每训练一个单路召回模型,预设神经网络模型都随之为该单路召回模型确定对应的权重。例如,多路召回模型中只包括前述第一模型时,预设神经网络模型随之确定第一模型的权重β1,多路召回模型中包括前述第二模型时,预设神经网络模型随之确定第二模型的权重β2。因此,当多路召回模型中训练到第M个单路召回模型,前M-1个单路召回模型的权重,即第一权重,为已知参数。预设神经网络模型需要通过训练得到第M个单路召回模型的权重。
示例性的,当该多路召回模型基于M-1个单路召回模型训练得到第M个单路召回模型时,预设神经网络模型也为包括该M-1个单路召回模型和该第M个单路召回模型的网络模型,且预设神经网络模型中该M-1个单路召回模型均具有各自对应的第一权重,第M个单路召回模型具有配置的初始化权重,即第二权重具有初始值。
本示例中,通过预设的神经网络模型进行训练的目的,在于确定第M个单路召回模型的适合权重或最优权重。因此,在开始第一轮训练时,预设的神经网络模型先配置一个初始值,作为第二权重,然后可以基于第一组样本数据,第一权重,第二权重和代理函数,确定该预设的神经网络模型的总损失。
由于各权重的作用是均衡其对应单路召回模型在多路召回模型中的召回结果,每个单路召回模型的最终召回结果为输出结果和权重的乘积。所以,本示例中,预设神经网络模型以第一组样本数据为输入,基于前M-1个单路召回模型和第一权重,第M个单路召回模型和第二权重,得到的输出结果为:M个单路召回模型召回结果与其各自权重乘积的加和结果。则,预设神经网络模型的输出数据与期望输出数据之间的误差,即总损失,是该加和结果与该期望输出数据之间的误差,因此可以通过代理函数h(β)表示为:
Figure BDA0003827656360000151
公式(7)中,h(β)表示代理函数(proxyh(β))的值;βM-1为第M-1个单路召回模型的权重,
Figure BDA0003827656360000152
为前M-1个模型的召回结果的加和,fM(q,d)为第M个单路召回模型的召回结果,βM为第M个单路召回模型的权重。
S503,调节第二权重的值,以总损失最小为目标,对预设的神经网络模型进行训练。
本实施例中,利于剩余G-1组样本数据依次输入预设的神经网络模型,进行批训练(batch)。训练过程中,通过反向传播算法,每进行一轮训练,调整一次第二权重βM的值,以改变该神经网络模型的总损失,使该模型朝着总损失最小的方向进行迭代。
示例性的,可以预先构建βM的数据集,该数据集中包括多个值。通过权重搜索算法,每进行一轮训练时,从训练集中调用一个值作为βM,参与本轮训练。其中,该数据集中的多个值可以按照从大到小的顺序排列。该预设的神经网络模型开始训练时,可以调用该数据集中大于初始值的第一值,进行前向传播,如果此时得到的总损失值增加了,则进行反向传播,调用该数据集中小于第一值的第二值参与训练,以使总损失减小。以此类推,不断朝着总损失最小的方向,调用该数据集的值进行训练,直至迭代结束。
S504,根据停止训练时对应的总损失的值,确定目标权重。
本实施例中,该神经网络模型每进行一轮批训练,都会得到一个h(β)的值,即总损失的值。当该神经网络模型迭代至达到预设条件,训练停止。此时可以根据训练停止时,获取的总损失的值,确定目标权重。
示例性的,确定目标融合权重的过程具体可以包括S5041至S5042:
S5041,将每轮训练过程中对应的总损失的值,有序地放入定长序列。
本示例中,定长序列是长度固定的队列。总损失h(β)的值按照其生成顺序,有序地放入定长队列中。并且,在定长序列中h(β)的值的数量饱和时,按照先入先出的规则,剔除当前定长序列中最先放入的值,并使最新得到的值放入定长序列的末尾。这样,可以保持定长序列中始终是最新的数据且数量固定。
S5042,当预设时长内,定长序列中最大值和最小值的差值的变量率低于预设阈值,停止训练,以将停止训练时的第二权重,确定为目标权重。
本示例中,监测并记录每轮训练过程中使用的第二权重的值,并记录定长序列中的最大值和最小值的差值的变量率,当该变化率低于预设阈值,如预设阈值为0,停止迭代,并将停止迭代时对应的第二权重的值,确定为目标权重。这样,利用目标权重均衡多路召回模型中训练的互补模型,利于各个单路召回模型的召回结果能够有效融合。
在一些其他示例中,也可以当定长序列中最大值和最小值的均值的变量率低于预设阈值时,停止训练,以将停止训练时的第二权重,确定为目标权重。或者,也可以在样本数据用尽,或者迭代次数达到预设次数时,停止训练,并将停止训练时的第二权重,确定为目标权重。
本申请实施例中,上述多路召回模型训练方法中,使用的样本均为检索词对应的样本,进而可以得到基于检索词进行召回,且其中的单路召回模型之间互补的多路召回模型。可以理解的是,当训练基于图片、音频等多媒体数据进行召回的多路召回模型时,可以利用与上述多路召回模型训练方法相同技术构思的方式,以对应的多媒体数据为样本进行训练。例如使用图片形式的样本,训练基于图片进行召回,且其中的单路召回模型之间互补的多路召回模型,或者使用音频形式的样本,训练基于音频进行召回,且其中的单路召回模型之间互补的多路召回模型。
接下来,基于上文所描述的内容,对本申请实施例提供的一种多路召回方法进行介绍。可以理解的是,该方法是基于上文所描述的内容提出,该方法中的部分或全部内容可以参见上文中的描述。
图6示出了本申请实施例提供的一种多路召回方法的流程示意图。可以理解,该方法可以基于图2所示从多路召回模型实现,且该方法可以通过任何具有计算、处理能力的装置、设备、平台、设备集群来执行。如图所示,该多路召回方法可以包括S601-S602:
S601,将检索词分别输入多路召回模型中的各个单路召回模型中,得到各个单路召回模型的第一召回结果。
本实施例中,检索词可以为字、词和/或句构成的文本信息。
在一些可能实现的方式中,检索词也可以是通过对图片、音频、视频中的内容进行提取或识别之后确定的信息。
例如,用户可以通过搜索页面的搜索框,输入“树叶”两个字作为检索词。
或者,用户在搜索框,通过搜索框语音输入功能,发出“树叶”的语音,搜索引擎通过语音识别功能,从语音中识别出“树叶”这个词汇信息,作为检索词。
再或者例如,用户在搜索框上传一个包含树叶图形的图片,搜索引擎通过图像识别功能,从图片中识别出“树叶”这个词汇信息,作为检索词。
本实施例中,各个单路召回模型均可以基于检索词,召回多个相关文档,并且为所召回的相关文档与该检索词的匹配程度(如语义匹配度),进行相关性打分,得到对应的相关性分数。单路召回模型召回的文档及召回文档的相关性分数,形成该单路召回模型的第一召回结果。
可以理解的是,在一些具体示例中,多路召回模型进行多路召回时,其中的各个单路召回模型可以采用不同的召回策略或特征,以分别召回一部分文档。例如,对于购物推荐的召回场景,多路召回模型的各个单路召回模型可以分别以“热门商品”,“用户偏好特征召回”,“关键词召回”,“商品类别召回”,“协同过滤召回”等等策略进行单路召回。
举例来说,继续参阅图3所示的多路召回模型,用户向搜索引擎输入检索词Q1后,如图7所示,搜索引擎通过多路召回模型中的第一模型对检索词Q1进行离散化表征,得到向量q1,然后基于向量q1召回候选集d1。并且,搜索引擎还通过多路召回模型中的第二模型对检索词Q1进行稠密表征,得到向量q2,然后基于向量q2召回候选集q2。
S602,利用各个单路召回模型对应的权重,对各个第一召回结果进行融合,得到第二召回结果。
本实施例中,得到多个单路召回模型的第一召回结果后,将第一召回结果中各个文档的相关性分数乘以各自对应的权重,然后将各个第一召回结果乘以权重的结果进行加和,得到融合后的召回结果,即第二召回结果,输出给下游排序模型。
示例性的,若多路召回模型包括M个单路召回模型,该多路召回模型的第二召回结果可以表示为:
Figure BDA0003827656360000171
在公式(8)中,x表示输入数据,即检索词。θM为第M个模型的模型参数,βM为第M个模型的权重,fM(x,θM)为第M个模型的第一召回结果,
Figure BDA0003827656360000172
为多路召回模型输出的第二召回结果。
这样,多路召回模型中的各个单路召回模型召回效果互补,且各个单路召回模型还可以通过训练得到的权重,对单路召回模型的召回结果进行平衡,能够解决多个单路召回模型之间的异质性问题,从而利于提升多路召回模型的整体召回效果。并且,基于单个多个单路召回模型之间互补的性能,还可以复合不同类型的单路召回模型,如第1个模型为稠密表征模型,第2个模型为稀疏表征模型等,从而在搜索领域实现工业级联合优化的多路召回模型框架,通用性强,能够高效,快速实现多种任务和场景下的召回。
另外,基于图2所示的多路召回模型进行上述多路召回方法的召回时,通过在多个数据集上进行离线测试,与成熟的搜索引擎中的召回模型比较,有如下对比结果:
在开源真实用户数据集上进行搜索实验过程中,当在微软必应(Bing)的问答(question answering,QA)搜索数据集(如MSMACRO,Trec19等数据集)上进行搜索实验时,与深度上下文词权重框架(deep contextualized term,DeepCT)模型,预训练语言模型Doc2query,基于最邻近负对比估计(approximate nearest neighbor negativecontrastive estimation,ANCE)的模型,开放域问答工具RocketQA,句子表征对比学习(contrastive learning for sentence representation,CLEAR)的预训练语言模型,上下文倒排(contextualized inverted list,COIL)检索模型,以及把文档扩展与词权重同时进行学习的sparterm检索模型等这些成熟检索模型的召回效果相比,基于本申请实施例中的多路召回模型进行上述多路召回方法的召回效果,在Recall@1000,MRR@10等评价指标方面均优于上述成熟检索模型。
在模拟的大规模数据集搜索实验过程中,以MSMACRO数据集基础上生成混乱的文本作为负样本,生成的大规模数据集进行搜索实验,较之于BM25模型,sentence-bert句子表征模型,以及condenser句子表征模型等成熟语言模型的召回效果,本申请实施例通过经过上述负样本重采样等方式训练得到的多路召回模型进行上述多路召回之后的召回结果,错误率也优于这些成熟语言模型。
在大搜业务数据集搜索实验过程中,当基于大搜query和用户点击的网页正文数据进行搜索实验时,较之于sparterm检索模型的召回效果,基于本申请实施例中的多路召回模型进行上述多路召回方法的召回效果,在召回率Recall@1000,平均倒数排序(meanreciprocal ranking,MRR@10)等评价指标方面均优于sparterm检索模型。
经过搜索实验比对,本申请实施例训练得到的多路召回模型在进行多路召回过程中,其召回效果在公开数据集上超过了最优效果描述(state of the art,SOTA)模型,并且在MSMARCO数据集上MRR@10相对提升4.2%,在TREC19 Doc数据集上MRR@10相对提升12%。且本申请实施例训练得到的多路召回模型在进行多路召回过程中,在大规模索场景下较稳定,显著超过基准baseline模型,与dense模型相比提升相对77.5%。另外,本申请实施例训练得到的多路召回模型在进行多路召回过程中,与大搜目前正使用的sparterm检索模型对比,MRR@10离线效果相对提升超过50%。
综上,本申请实施例训练得到的多路召回模型在进行多路召回过程中,泛用性强,整体召回效果较高。
基于上述实施例中的多路召回模型训练方法,本申请实施例提供了一种多路召回模型训练装置。请参阅图8,图8是本申请实施例提供的一种多路召回模型训练装置的结构示意图。
如图8所示,该多路召回模型训练装置800,该多路召回模型包括M个单路召回模型,M≥2。装置800可以包括:第一获取模块801和第一处理模块802。其中,第一获取模块801可以用于获取多组训练数据,每组训练数据包括检索词对应的目标正样本和多个负样本,每个样本包括检索词和对应文档。第一处理模块802可以用于通过第M-1个单路召回模型,获取各组训练数据中所有样本的相关性分数,相关性分数表征对应样本中的文档与检索词的匹配程度。然后第一处理模块802还可以用于根据各组训练数据的相关性分数,以及第一损失函数,进行数据拟合,确定第M个模型的第一期望召回结果,第一损失函数用于确定第M-1个模型在召回对应训练数据时与第二期望召回结果之间的偏差。并且,第一处理模块802还用于根据第一期望召回结果以及第二损失函数,确定第M个单路召回模型的损失,损失表示第M个单路召回模型在召回对应训练数据时与第一期望召回结果之间的偏差。然后第一处理模块802还用于以损失最小为目标,训练第M个单路召回模型。
在一些实施例中,第一处理模块802还用于根据各组训练数据,第一权重,第二权重以及代理函数,确定预设的神经网络模型的总损失,其中,预设的神经网络模型包括所述M个单路召回模型,所述总损失表征该神经网络模型的输出数据与期望输出数据之间的误差,第一权重包括M-1个,M-1个第一权重分别为第1至第M-1个单路召回模型的权重,第二权重为第M个单路召回模型的权重。并且,该,第一处理模块802还用于调节所述第二权重的值,以向着所述总损失最小的方向,对该神经网络模型进行训练,并将停止训练时所述总损失对应的第二权重的值,确定为第M个单路召回模型的目标权重。
在一些实施例中,第一处理模块802还用于将对所述神经网络模型每轮训练过程中的总损失的值,有序地放入一个定长序列。以及,当预设时长内,所述定长序列中最大值和最小值的差值的变量率低于预设阈值,停止训练,以将停止训练时对应的第二权重的值,确定为所述目标权重。
在一些实施例中,第一处理模块802还用于通过预设的召回模型,获取基于所述检索词召回的多个文档的相关性分数,其中,所述多个文档来自预设的数据集,所述数据集为包括若干与所述检索词相关的文档的集合,且该集合中的部分文档是标注为正样本的文档;然后将所述多个文档按照其相关性分数由大到小的顺序排列后,将排在前T位且未标注为正样本的文档,确定为第一负样本;并且利用多个所述第一负样本,形成负样本集,以根据负样本集和所述正样本得到所述训练数据。
在一些实施例中,第一处理模块802还用于利用第一模型,获取基于所述检索词从数据集召回的所有文档的相关性分数,其中,所述数据集包括正样本集和负样本集,其中,负样本集中包括多个负样本。然后第一处理模块802根据召回的所有文档的相关性分数,确定目标样本,目标样本为根据其相关性分数达到预设值且标注错误的样本。并且,第一处理模块802还用于根据所述负样本集中所有负样本对应的文档的相关性分数,获取所述所有负样本的概率分布数据;然后根据所述概率分布数据,选取所述负样本集中分布于预设值域内的负样本,作为第二负样本,以使第二负样本和所述正样本集形成所述训练数据,其中第二负样本中不包括目标样本。
应当理解的是,上述训练装置用于执行上述实施例中的训练方法,装置中相应的程序模块,其实现原理和技术效果与上述训练方法中的描述类似,该装置的工作过程可参考上述训练方法中的对应过程,此处不再赘述。
基于上述实施例中的多路召回方法,本申请实施例提供了一种多路召回装置。请参阅图9,图9是本申请实施例提供的一种多路召回装置900的结构示意图。
如图9所示,该多路召回装置900可以包括第二获取模块901和第二处理模块902。其中,第二获取模块901可以用于获取检索词;第二处理模块902可以用于将检索词分别输入多路召回模型中的各个单路召回模型中,得到各个单路召回模型的第一召回结果;第二处理模块902还可以用于利用各个单路召回模型对应的融合权重,对各个第一召回结果进行融合,得到第二召回结果。
应当理解的是,上述多路召回装置用于执行上述实施例中的训练方法,该装置中相应的程序模块,其实现原理和技术效果与上述多路召回方法中的描述类似,该装置的工作过程可参考上述多路召回方法中的对应过程,此处不再赘述。
基于上述实施例中的方法,本申请实施例提供了一种电子设备。该电子设备可以包括:至少一个存储器,用于存储程序;至少一个处理器,用于执行存储器存储的程序;其中,当存储器存储的程序被执行时,处理器用于执行上述实施例中的方法。
基于上述实施例中的方法,本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,当计算机程序在处理器上运行时,使得处理器执行上述实施例中的方法。
基于上述实施例中的方法,本申请实施例提供了一种计算机程序产品,其特征在于,当计算机程序产品在处理器上运行时,使得处理器执行上述实施例中的方法。
基于上述实施例中的方法,本申请实施例还提供了一种芯片。请参阅图10,图10为本申请实施例提供的一种芯片的结构示意图。如图10所示,芯片1000包括一个或多个处理器1001以及接口电路1002。可选的,芯片1000还可以包含总线1003。其中:
处理器1001可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器1001中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器1001可以是通用处理器、数字通信器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
接口电路1002可以用于数据、指令或者信息的发送或者接收,处理器1001可以利用接口电路1002接收的数据、指令或者其它信息,进行加工,可以将加工完成信息通过接口电路1002发送出去。
可选的,芯片1000还包括存储器,存储器可以包括只读存储器和随机存取存储器,并向处理器提供操作指令和数据。存储器的一部分还可以包括非易失性随机存取存储器(NVRAM)。
可选的,存储器存储了可执行软件模块或者数据结构,处理器可以通过调用存储器存储的操作指令(该操作指令可存储在操作系统中),执行相应的操作。
可选的,接口电路1002可用于输出处理器1001的执行结果。
需要说明的,处理器1001、接口电路1002各自对应的功能既可以通过硬件设计实现,也可以通过软件设计来实现,还可以通过软硬件结合的方式来实现,这里不作限制。
应理解,上述方法实施例的各步骤可以通过处理器中的硬件形式的逻辑电路或者软件形式的指令完成。
可以理解的是,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。此外,在一些可能的实现方式中,上述实施例中的各步骤可以根据实际情况选择性执行,可以部分执行,也可以全部执行,此处不做限定。
可以理解的是,本申请的实施例中的处理器可以是中央处理单元(centralprocessing unit,CPU),还可以是其他通用处理器、数字信号处理器(digital signalprocessor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现场可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件,硬件部件或者其任意组合。通用处理器可以是微处理器,也可以是任何常规的处理器。
本申请的实施例中的方法步骤可以通过硬件的方式来实现,也可以由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于随机存取存储器(random access memory,RAM)、闪存、只读存储器(read-only memory,ROM)、可编程只读存储器(programmable rom,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)、寄存器、硬盘、移动硬盘、CD-ROM或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者通过所述计算机可读存储介质进行传输。所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
可以理解的是,在本申请的实施例中涉及的各种数字编号仅为描述方便进行的区分,并不用来限制本申请的实施例的范围。

Claims (16)

1.一种多路召回模型训练方法,其特征在于,所述多路召回模型包括M个单路召回模型,M≥2,所述训练方法包括:
获取多组训练数据,每组训练数据包括检索词对应的目标正样本和多个负样本,每个样本包括所述检索词和对应文档;
通过第M-1个单路召回模型,获取各组训练数据中所有样本的相关性分数,所述相关性分数表征对应样本中的文档与所述检索词的匹配程度;
根据各组所述训练数据的相关性分数,以及第一损失函数,进行数据拟合,确定第M个单路召回模型的第一期望召回结果,所述第一损失函数用于确定所述第M-1个单路召回模型在召回对应训练数据时与第二期望召回结果之间的偏差;
根据第一期望召回结果以及第二损失函数,确定第M个单路召回模型的损失,所述损失表示第M个单路召回模型在召回对应训练数据时与所述第一期望召回结果之间的偏差;
以所述损失最小为目标,训练所述第M个单路召回模型。
2.根据权利要求1所述的训练方法,其特征在于,在所述以所述损失最小为目标,训练所述第M个单路召回模型之后,所述训练方法还包括:
根据各组训练数据,第一权重,第二权重以及代理函数,确定预设的神经网络模型的总损失,其中,预设的神经网络模型包括所述M个单路召回模型,所述总损失表征该神经网络模型的输出数据与期望输出数据之间的误差,第一权重包括M-1个,M-1个第一权重分别为第1至第M-1个单路召回模型的权重,第二权重为所述第M个单路召回模型的权重;
调节所述第二权重的值,以向着所述总损失最小的方向,对该神经网络模型进行训练;
将停止训练时所述总损失对应的第二权重的值,确定为所述第M个单路召回模型的目标权重。
3.根据权利要求2所述的训练方法,其特征在于,所述将停止训练时所述总损失对应的第二权重的值,确定为第M个单路召回模型的目标权重,包括:
将对所述神经网络模型每轮训练过程中的总损失的值,有序地放入一个定长序列;
当预设时长内,所述定长序列中最大值和最小值的差值的变量率低于预设阈值,停止训练;
将停止训练时对应的第二权重的值,确定为所述目标权重。
4.根据权利要求1-3任一所述的训练方法,其特征在于,所述获取多组训练数据中,包括:
通过预设的召回模型,获取基于所述检索词召回的多个文档的相关性分数,其中,所述多个文档来自预设的数据集,所述数据集为包括若干与所述检索词相关的文档的集合,且该集合中的部分文档是标注为正样本的文档;
将所述多个文档按照其相关性分数由大到小的顺序排列后,将排在前T位且未标注为正样本的文档,确定为第一负样本;
利用多个所述第一负样本,形成负样本集,以根据负样本集和所述正样本得到所述训练数据。
5.根据权利要求1-3任一所述的训练方法,其特征在于,所述获取多组训练数据中,还包括:
利用第一模型,获取基于所述检索词从数据集召回的所有文档的相关性分数,其中,所述数据集包括正样本集和负样本集,其中,负样本集中包括多个负样本;
根据召回的所有文档的相关性分数,确定目标样本,目标样本为根据其相关性分数达到预设值且标注错误的样本;
根据所述负样本集中所有负样本对应的文档的相关性分数,获取所述所有负样本的概率分布数据;
根据所述概率分布数据,选取所述负样本集中分布于预设值域内的负样本,作为第二负样本,以使第二负样本和所述正样本集形成所述训练数据,其中第二负样本中不包括目标样本。
6.一种多路召回方法,其特征在于,所述方法通过多路召回模型实现,所述多路召回模型包括M个单路召回模型,M≥2,所述多路召回方法包括:
将检索词分别输入多路召回模型中的各个所述单路召回模型中,得到各个所述单路召回模型的第一召回结果;
利用各个单路召回模型对应的权重,对各个所述第一召回结果进行融合,得到第二召回结果。
7.一种多路召回模型训练装置,其特征在于,所述多路召回模型包括M个单路召回模型,M≥2,所述训练装置包括:
第一获取模型,用于获取多组训练数据,每组训练数据包括检索词对应的目标正样本和多个负样本,每个样本包括所述检索词和对应文档;
第一处理模块,用于通过第M-1个单路召回模型,获取各组训练数据中所有样本的相关性分数,所述相关性分数表征对应样本中的文档与所述检索词的匹配程度;
所述第一处理模块,还用于根据各组所述训练数据的相关性分数,以及第一损失函数,进行数据拟合,确定第M个单路召回模型的第一期望召回结果,所述第一损失函数用于确定所述第M-1个单路召回模型在召回对应训练数据时与第二期望召回结果之间的偏差;
所述第一处理模块,还用于根据第一期望召回结果以及第二损失函数,确定第M个单路召回模型的损失,所述损失表示所述第M个单路召回模型在召回对应训练数据时与所述第一期望召回结果之间的偏差;
所述第一处理模块,还用于以所述损失最小为目标,训练所述第M个单路召回模型。
8.根据权利要求7所述的装置,其特征在于,
所述第一处理模块,还用于根据各组训练数据,第一权重,第二权重以及代理函数,确定预设的神经网络模型的总损失,其中,预设的神经网络模型包括所述M个单路召回模型,所述总损失表征该神经网络模型的输出数据与期望输出数据之间的误差,第一权重包括M-1个,M-1个第一权重分别为第1至第M-1个单路召回模型的权重,第二权重为第M个单路召回模型的权重;
所述第一处理模块,还用于调节所述第二权重的值,以向着所述总损失最小的方向,对该神经网络模型进行训练;
所述第一处理模块,还用于将停止训练时所述总损失对应的第二权重的值,确定为第M个单路召回模型的目标权重。
9.根据权利要求7或8所述的装置,其特征在于,
所述第一处理模块,还用于将对所述神经网络模型每轮训练过程中的总损失的值,有序地放入一个定长序列;
所述第一处理模块,还用于当预设时长内,所述定长序列中最大值和最小值的差值的变量率低于预设阈值,停止训练,并将停止训练时对应的第二权重的值,确定为所述目标权重。
10.根据权利要求7-9任一所述的装置,其特征在于,
所述第一处理模块,还用于通过预设的召回模型,获取基于所述检索词召回的多个文档的相关性分数,其中,所述多个文档来自预设的数据集,所述数据集为包括若干与所述检索词相关的文档的集合,且该集合中的部分文档是标注为正样本的文档;
所述第一处理模块,还用于将所述多个文档按照其相关性分数由大到小的顺序排列后,将排在前T位且未标注为正样本的文档,确定为第一负样本;
所述第一处理模块,还用于利用多个所述第一负样本,形成负样本集,以根据负样本集和所述正样本得到所述训练数据。
11.根据权利要求7-9任一所述的装置,其特征在于,
所述第一处理模块,还用于利用第一模型,获取基于所述检索词从数据集召回的所有文档的相关性分数,其中,所述数据集包括正样本集和负样本集,其中,负样本集中包括多个负样本;
所述第一处理模块,还用于根据召回的所有文档的相关性分数,确定目标样本,目标样本为根据其相关性分数达到预设值且标注错误的样本;
所述第一处理模块,还用于根据所述负样本集中所有负样本对应的文档的相关性分数,获取所述所有负样本的概率分布数据;
所述第一处理模块,还用于根据所述概率分布数据,选取所述负样本集中分布于预设值域内的负样本,作为第二负样本,以使第二负样本和所述正样本集形成所述训练数据,其中第二负样本中不包括目标样本。
12.一种多路召回装置,其特征在于,所述装置包括第二获取模型和第二处理模块,
第二获取模块,用于获取检索词;
第二处理模块,用于将所述检索词分别输入多路召回模型中的各个单路召回模型中,得到各个单路召回模型的第一召回结果;
第二处理模块,还用于利用各个单路召回模型对应的权重,对各个第一召回结果进行融合,得到第二召回结果。
13.一种电子设备,其特征在于,包括:
至少一个存储器,用于存储程序;
至少一个处理器,用于执行所述存储器存储的程序;
其中,当所述存储器存储的程序被执行时,所述处理器用于执行如权利要求1-5任一所述的训练方法或者权利要求6所述的多路召回方法。
14.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,当所述计算机程序在处理器上运行时,使得所述处理器执行如权利要求1-5任一所述的训练方法或者权利要求6所述的多路召回方法。
15.一种计算机程序产品,其特征在于,当所述计算机程序产品在处理器上运行时,使得所述处理器执行如权利要求1-5任一所述的训练方法或者权利要求6所述的多路召回方法。
16.一种芯片,其特征在于,包括至少一个处理器和接口;
所述至少一个处理器通过所述接口获取程序指令或者数据;
所述至少一个处理器用于执行所述程序行指令,以实现如权利要求1-5任一所述的训练方法或者权利要求6所述的多路召回方法。
CN202211064264.4A 2022-09-01 2022-09-01 多路召回模型训练方法、多路召回方法、装置及电子设备 Pending CN115374362A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211064264.4A CN115374362A (zh) 2022-09-01 2022-09-01 多路召回模型训练方法、多路召回方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211064264.4A CN115374362A (zh) 2022-09-01 2022-09-01 多路召回模型训练方法、多路召回方法、装置及电子设备

Publications (1)

Publication Number Publication Date
CN115374362A true CN115374362A (zh) 2022-11-22

Family

ID=84069734

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211064264.4A Pending CN115374362A (zh) 2022-09-01 2022-09-01 多路召回模型训练方法、多路召回方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN115374362A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115624755B (zh) * 2022-12-08 2023-03-14 腾讯科技(深圳)有限公司 一种数据处理方法、装置及计算机设备、存储介质
CN115809312A (zh) * 2023-02-02 2023-03-17 量子数科科技有限公司 一种基于多路召回的搜索召回方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115624755B (zh) * 2022-12-08 2023-03-14 腾讯科技(深圳)有限公司 一种数据处理方法、装置及计算机设备、存储介质
CN115809312A (zh) * 2023-02-02 2023-03-17 量子数科科技有限公司 一种基于多路召回的搜索召回方法
CN115809312B (zh) * 2023-02-02 2023-04-07 量子数科科技有限公司 一种基于多路召回的搜索召回方法

Similar Documents

Publication Publication Date Title
CN110162593B (zh) 一种搜索结果处理、相似度模型训练方法及装置
KR101721338B1 (ko) 검색 엔진 및 그의 구현 방법
CN109508414B (zh) 一种同义词挖掘方法及装置
CN108829822B (zh) 媒体内容的推荐方法和装置、存储介质、电子装置
US10482136B2 (en) Method and apparatus for extracting topic sentences of webpages
CN106709040B (zh) 一种应用搜索方法和服务器
CN105183833B (zh) 一种基于用户模型的微博文本推荐方法及其推荐装置
CN110674317B (zh) 一种基于图神经网络的实体链接方法及装置
CN110704640A (zh) 一种知识图谱的表示学习方法及装置
CN115374362A (zh) 多路召回模型训练方法、多路召回方法、装置及电子设备
CN111382283B (zh) 资源类别标签标注方法、装置、计算机设备和存储介质
CN109241243B (zh) 候选文档排序方法及装置
RU2731658C2 (ru) Способ и система выбора для ранжирования поисковых результатов с помощью алгоритма машинного обучения
Yan et al. " Shall I Be Your Chat Companion?" Towards an Online Human-Computer Conversation System
RU2733481C2 (ru) Способ и система генерирования признака для ранжирования документа
CN112966091A (zh) 一种融合实体信息与热度的知识图谱推荐系统
CN115577185A (zh) 基于混合推理和中智群决策的慕课推荐方法及装置
US20120059786A1 (en) Method and an apparatus for matching data network resources
WO2020041413A1 (en) Sibling search queries
CN111930949A (zh) 搜索串处理方法、装置、计算机可读介质及电子设备
CN107729509B (zh) 基于隐性高维分布式特征表示的篇章相似度判定方法
Brochier et al. New datasets and a benchmark of document network embedding methods for scientific expert finding
US11695645B2 (en) Methods and systems for dynamic re-clustering of nodes in computer networks using machine learning models
Panchenko et al. Large-scale parallel matching of social network profiles
CN113312523B (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