掌桥专利:专业的专利平台
掌桥专利
首页

一种搜索结果排序方法及装置

文献发布时间:2023-06-19 11:29:13


一种搜索结果排序方法及装置

技术领域

本申请涉及互联网技术领域,具体涉及一种搜索结果排序方法及装置。

背景技术

随着计算机的普及,利用计算机进行网络搜索逐渐成为信息查找的主流方式。其中,网络搜索是指利用搜索引擎对互联网上的信息进行搜索;而且,网络搜索的具体过程为:用户在搜索引擎的搜索框中输入搜索关键词,使得搜索引擎能够根据该搜索关键词从索引数据库中找到匹配该搜索关键词的网页,作为搜索结果项进行显示。其中,搜索结果项是指匹配该搜索关键词的一个网页。

目前,为了提高网络搜索的全面性,可以使用多种数据来源进行搜索,使得搜索所得的多个搜索结果项具有不同数据来源。然而,因具有不同数据来源的搜索结果项(下面简称为:非同源搜索结果项)无法直接进行比较,导致非同源搜索结果项无法直接进行排序,从而使得如何实现具有不同数据来源的搜索结果项的混合排序(下面简称为:非同源搜索结果项混排)成为一项亟待解决的技术问题。

发明内容

有鉴于此,本申请实施例提供一种搜索结果排序方法及装置,可以解决现有技术中无法对具有不同数据来源的搜索结果进行混合排序的技术问题。

为解决上述问题,本申请实施例提供的技术方案如下:

一种搜索结果排序方法,所述方法包括:

接收客户端发送的搜索请求,获取所述搜索请求对应的第一搜索结果队列以及第二搜索结果队列,所述第一搜索结果队列包括至少一个第一搜索结果项,所述第二搜索结果队列包括至少一个第二搜索结果项;

根据预先训练的第一判别模型,从所述第二搜索结果队列中确定应该插入所述第一搜索结果队列的目标第二搜索结果项;

确定每个目标第二搜索结果项在所述第一搜索结果队列中的插入位置;

将每个目标第二搜索结果项插入所述第一搜索结果队列的相应插入位置,生成第三搜索结果队列。

在一种可能的实现方式中,所述根据预先训练的第一判别模型,从所述第二搜索结果队列中确定应该插入所述第一搜索结果队列的目标第二搜索结果项,包括:

将所述搜索请求的特征、待判别第二搜索结果项的特征以及所述第一搜索结果队列中预设个数的第一搜索结果项的特征,输入预先训练的第一判别模型,获得所述第一判别模型输出的针对所述待判别第二搜索结果项的第一判别结果;所述第一判别结果为所述待判别第二搜索结果项是否应该插入所述第一搜索结果队列,所述待判别第二搜索结果项属于所述第二搜索结果队列;

依据每个待判定第二搜索结果项分别对应的第一判别结果,确定所述目标第二搜索结果。

在一种可能的实现方式中,所述确定所述目标第二搜索结果项在所述第一搜索结果队列中的插入位置,包括:

将所述目标第二搜索结果项的特征与所述待比较第一搜索结果项的特征输入预先训练的第二判别模型,获得所述第二判别模型输出的第二判别结果;所述第二判别结果为所述目标第二搜索结果项是否优于所述待比较第一搜索结果项,所述待比较第一搜索结果项属于所述第一搜索结果队列;

根据所述第二判别结果,确定所述目标第二搜索结果项在所述第一搜索结果队列中的插入位置。

在一种可能的实现方式中,所述根据所述第二判别结果,确定所述目标第二搜索结果项在所述第一搜索结果队列中的插入位置,包括:

如果所述第二判别结果为所述目标第二搜索结果项优于所述待比较第一搜索结果项,将所述目标第二搜索结果项在所述第一搜索结果队列中的插入位置确定为在所述待比较第一搜索结果项之前。

在一种可能的实现方式中,所述根据所述第二判别结果,确定所述目标第二搜索结果项在所述第一搜索结果队列中的插入位置,包括:

根据所述第二判别结果,如果所述目标第二搜索结果项优于所述第一搜索结果队列中的连续多个待比较第一搜索结果项,将所述目标第二搜索结果项在所述第一搜索结果队列中的插入位置确定为在所述连续多个待比较第一搜索结果项之前。

在一种可能的实现方式中,所述根据所述第二判别结果,确定所述目标第二搜索结果项在所述第一搜索结果队列中的插入位置,包括:

将多个所述第二判别结果以及所述搜索请求的特征,输入预先训练的第三判别模型,获得所述第三判别模型输出的第三判别结果;所述第三判别结果为所述目标第二搜索结果项在所述第一搜索结果队列中的插入位置。

在一种可能的实现方式中,所述确定所述目标第二搜索结果项在所述第一搜索结果队列中的插入位置,包括:

将所述目标第二搜索结果项的特征与所述第一搜索结果队列中排序较高的多个第一搜索结果项的特征输入预先训练的第四判别模型,获得所述第四判别模型输出的第四判别结果;所述第四判别结果为所述目标第二搜索结果项在所述第一搜索结果队列中的插入位置。

在一种可能的实现方式中,所述第一判别模型的训练过程包括:

获取历史搜索请求对应的第一历史搜索结果队列、第二历史搜索结果队列以及第三历史搜索结果队列;所述第一历史搜索结果队列包括至少一个第一历史搜索结果项,所述第二历史搜索结果队列包括至少一个第二历史搜索结果项,第三历史搜索结果队列包括至少一个第一历史搜索结果项以及至少一个第二历史搜索结果项;

将所述历史搜索请求的特征、优选第二历史搜索结果项的特征以及所述第一历史搜索结果队列中预设个数的第一历史搜索结果项的特征确定为正样本数据;所述优选第二历史搜索结果项为在所述第三历史搜索结果队列中符合预设条件的第二历史搜索结果项;

将所述历史搜索请求的特征、非优选第二历史搜索结果项的特征以及所述第一历史搜索结果队列中预设个数的第一历史搜索结果项的特征确定为负样本数据;所述非优选第二历史搜索结果项为在所述第三历史搜索结果队列中不符合所述预设条件的第二历史搜索结果项;

根据所述正样本数据以及所述负样本数据训练生成第一判别模型。

在一种可能的实现方式中,所述第二判别模型的训练过程包括:

获取历史搜索请求对应的第三历史搜索结果队列;第三历史搜索结果队列包括至少一个第一历史搜索结果项以及至少一个第二历史搜索结果项;

将所述第二历史搜索结果项的特征以及所述第一历史搜索结果项的特征确定为第一训练数据,将所述第二历史搜索结果项是否优于所述第一历史搜索结果项的判别结果确定为所述第一训练数据对应的标签;

根据所述第一训练数据以及所述第一训练数据对应的标签训练生成第二判别模型。

在一种可能的实现方式中,依据下述方式确定所述第二历史搜索结果项是否优于所述第一历史搜索结果项的判别结果:

根据在触发所述历史搜索请求后,对所述第三历史搜索结果队列中的所述第一历史搜索结果项和/或所述第二历史搜索结果项的实际点击情况确定所述判别结果。

在一种可能的实现方式中,所述第三判别模型的训练过程包括:

获取历史搜索请求对应的第一历史搜索结果队列、第二历史搜索结果队列以及第三历史搜索结果队列;所述第一历史搜索结果队列包括至少一个第一历史搜索结果项,所述第二历史搜索结果队列包括至少一个第二历史搜索结果项,第三历史搜索结果队列包括至少一个第一历史搜索结果项以及至少一个第二历史搜索结果项;

将目标第二历史搜索结果项是否优于所述第一历史搜索结果项的判别结果以及所述搜索请求的特征确定为第二训练数据,将所述目标第二历史搜索结果项的优选插入位置确定为所述第二训练数据对应的标签;所述目标第二历史搜索结果项属于所述第二历史搜索结果队列;所述目标第二历史搜索结果项的优选插入位置是根据在触发所述历史搜索请求后,对所述第三历史搜索结果队列中所述目标第二历史搜索结果项的实际点击情况确定;

根据所述第二训练数据以及所述第二训练数据对应的标签训练生成第三判别模型。

在一种可能的实现方式中,所述第四判别模型的训练过程包括:

获取历史搜索请求对应的第一历史搜索结果队列、第二历史搜索结果队列以及第三历史搜索结果队列;所述第一历史搜索结果队列包括至少一个第一历史搜索结果项,所述第二历史搜索结果队列包括至少一个第二历史搜索结果项,第三历史搜索结果队列包括至少一个第一历史搜索结果项以及至少一个第二历史搜索结果项;

将目标第二历史搜索结果项的特征以及所述第一历史搜索结果队列中排序较高的多个第一历史搜索结果项的特征确定为第三训练数据,将所述目标第二历史搜索结果项的优选插入位置确定为所述第三训练数据对应的标签;所述目标第二历史搜索结果项属于所述第二历史搜索结果队列;所述目标第二历史搜索结果项的优选插入位置是根据在触发所述历史搜索请求后,对所述第三历史搜索结果队列中所述目标第二历史搜索结果项的实际点击情况确定;

根据所述第三训练数据以及所述第三训练数据对应的标签训练生成第四判别模型。

一种搜索结果排序装置,所述装置包括:

请求接收单元,用于接收客户端发送的搜索请求,获取所述搜索请求对应的第一搜索结果队列以及第二搜索结果队列,所述第一搜索结果队列包括至少一个第一搜索结果项,所述第二搜索结果队列包括至少一个第二搜索结果项;

第一确定单元,用于根据预先训练的第一判别模型,从所述第二搜索结果队列中确定应该插入所述第一搜索结果队列的目标第二搜索结果项;

第二确定单元,用于确定每个目标第二搜索结果项在所述第一搜索结果队列中的插入位置;

队列生成单元,用于将每个目标第二搜索结果项插入所述第一搜索结果队列的相应插入位置,生成第三搜索结果队列。

在一种可能的实现方式中,所述第一确定单元,包括:

第一获取子单元,用于将所述搜索请求的特征、待判别第二搜索结果项的特征以及所述第一搜索结果队列中预设个数的第一搜索结果项的特征,输入预先训练的第一判别模型,获得所述第一判别模型输出的针对所述待判别第二搜索结果项的第一判别结果;所述第一判别结果为所述待判别第二搜索结果项是否应该插入所述第一搜索结果队列,所述待判别第二搜索结果项属于所述第二搜索结果队列;

第一确定子单元,用于依据每个待判定第二搜索结果项分别对应的第一判别结果,确定所述目标第二搜索结果。

在一种可能的实现方式中,所述第二确定单元,包括:

第二获取子单元,用于将所述目标第二搜索结果项的特征与所述待比较第一搜索结果项的特征输入预先训练的第二判别模型,获得所述第二判别模型输出的第二判别结果;所述第二判别结果为所述目标第二搜索结果项是否优于所述待比较第一搜索结果项,所述待比较第一搜索结果项属于所述第一搜索结果队列;

第二确定子单元,用于根据所述第二判别结果,确定所述目标第二搜索结果项在所述第一搜索结果队列中的插入位置。

在一种可能的实现方式中,所述第二确定子单元,具体用于:

如果所述第二判别结果为所述目标第二搜索结果项优于所述待比较第一搜索结果项,将所述目标第二搜索结果项在所述第一搜索结果队列中的插入位置确定为在所述待比较第一搜索结果项之前。

在一种可能的实现方式中,所述第二确定子单元,具体用于:

根据所述第二判别结果,如果所述目标第二搜索结果项优于所述第一搜索结果队列中的连续多个待比较第一搜索结果项,将所述目标第二搜索结果项在所述第一搜索结果队列中的插入位置确定为在所述连续多个待比较第一搜索结果项之前。

在一种可能的实现方式中,所述第二确定子单元,具体用于:

将多个所述第二判别结果以及所述搜索请求的特征,输入预先训练的第三判别模型,获得所述第三判别模型输出的第三判别结果;所述第三判别结果为所述目标第二搜索结果项在所述第一搜索结果队列中的插入位置。

在一种可能的实现方式中,所述第二确定单元,具体用于:

将所述目标第二搜索结果项的特征与所述第一搜索结果队列中排序较高的多个第一搜索结果项的特征输入预先训练的第四判别模型,获得所述第四判别模型输出的第四判别结果;所述第四判别结果为所述目标第二搜索结果项在所述第一搜索结果队列中的插入位置。

在一种可能的实现方式中,所述第一判别模型的训练过程包括:

获取历史搜索请求对应的第一历史搜索结果队列、第二历史搜索结果队列以及第三历史搜索结果队列;所述第一历史搜索结果队列包括至少一个第一历史搜索结果项,所述第二历史搜索结果队列包括至少一个第二历史搜索结果项,第三历史搜索结果队列包括至少一个第一历史搜索结果项以及至少一个第二历史搜索结果项;

将所述历史搜索请求的特征、优选第二历史搜索结果项的特征以及所述第一历史搜索结果队列中预设个数的第一历史搜索结果项的特征确定为正样本数据;所述优选第二历史搜索结果项为在所述第三历史搜索结果队列中符合预设条件的第二历史搜索结果项;

将所述历史搜索请求的特征、非优选第二历史搜索结果项的特征以及所述第一历史搜索结果队列中预设个数的第一历史搜索结果项的特征确定为负样本数据;所述非优选第二历史搜索结果项为在所述第三历史搜索结果队列中不符合所述预设条件的第二历史搜索结果项;

根据所述正样本数据以及所述负样本数据训练生成第一判别模型。

在一种可能的实现方式中,所述第二判别模型的训练过程包括:

获取历史搜索请求对应的第三历史搜索结果队列;第三历史搜索结果队列包括至少一个第一历史搜索结果项以及至少一个第二历史搜索结果项;

将所述第二历史搜索结果项的特征以及所述第一历史搜索结果项的特征确定为第一训练数据,将所述第二历史搜索结果项是否优于所述第一历史搜索结果项的判别结果确定为所述第一训练数据对应的标签;

根据所述第一训练数据以及所述第一训练数据对应的标签训练生成第二判别模型。

在一种可能的实现方式中,依据下述方式确定所述第二历史搜索结果项是否优于所述第一历史搜索结果项的判别结果:

根据在触发所述历史搜索请求后,对所述第三历史搜索结果队列中的所述第一历史搜索结果项和/或所述第二历史搜索结果项的实际点击情况确定所述判别结果。

在一种可能的实现方式中,所述第三判别模型的训练过程包括:

获取历史搜索请求对应的第一历史搜索结果队列、第二历史搜索结果队列以及第三历史搜索结果队列;所述第一历史搜索结果队列包括至少一个第一历史搜索结果项,所述第二历史搜索结果队列包括至少一个第二历史搜索结果项,第三历史搜索结果队列包括至少一个第一历史搜索结果项以及至少一个第二历史搜索结果项;

将目标第二历史搜索结果项是否优于所述第一历史搜索结果项的判别结果以及所述搜索请求的特征确定为第二训练数据,将所述目标第二历史搜索结果项的优选插入位置确定为所述第二训练数据对应的标签;所述目标第二历史搜索结果项属于所述第二历史搜索结果队列;所述目标第二历史搜索结果项的优选插入位置是根据在触发所述历史搜索请求后,对所述第三历史搜索结果队列中所述目标第二历史搜索结果项的实际点击情况确定;

根据所述第二训练数据以及所述第二训练数据对应的标签训练生成第三判别模型。

在一种可能的实现方式中,所述第四判别模型的训练过程包括:

获取历史搜索请求对应的第一历史搜索结果队列、第二历史搜索结果队列以及第三历史搜索结果队列;所述第一历史搜索结果队列包括至少一个第一历史搜索结果项,所述第二历史搜索结果队列包括至少一个第二历史搜索结果项,第三历史搜索结果队列包括至少一个第一历史搜索结果项以及至少一个第二历史搜索结果项;

将目标第二历史搜索结果项的特征以及所述第一历史搜索结果队列中排序较高的多个第一历史搜索结果项的特征确定为第三训练数据,将所述目标第二历史搜索结果项的优选插入位置确定为所述第三训练数据对应的标签;所述目标第二历史搜索结果项属于所述第二历史搜索结果队列;所述目标第二历史搜索结果项的优选插入位置是根据在触发所述历史搜索请求后,对所述第三历史搜索结果队列中所述目标第二历史搜索结果项的实际点击情况确定;

根据所述第三训练数据以及所述第三训练数据对应的标签训练生成第四判别模型。

一种用于排序搜索结果的装置,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:

接收客户端发送的搜索请求,获取所述搜索请求对应的第一搜索结果队列以及第二搜索结果队列,所述第一搜索结果队列包括至少一个第一搜索结果项,所述第二搜索结果队列包括至少一个第二搜索结果项;

根据预先训练的第一判别模型,从所述第二搜索结果队列中确定应该插入所述第一搜索结果队列的目标第二搜索结果项;

确定每个目标第二搜索结果项在所述第一搜索结果队列中的插入位置;

将每个目标第二搜索结果项插入所述第一搜索结果队列的相应插入位置,生成第三搜索结果队列。

一种计算机可读介质,其上存储有指令,当由一个或多个处理器执行时,使得装置执行上述任一种搜索结果排序方法。

由此可见,本申请实施例具有如下有益效果:

本申请实施例提供的搜索结果排序方法中,在接收到客户端发送的搜索请求后,先获取该搜索请求对应的第一搜索结果队列以及第二搜索结果队列,并根据预先训练的第一判别模型,从第二搜索结果队列中的第二搜索结果项中确定应该插入第一搜索结果队列的目标第二搜索结果项;再确定该目标第二搜索结果项在第一搜索结果队列中的插入位置,并将目标第二搜索结果项插入第一搜索结果队列的相应插入位置,生成第三搜索结果队列。其中,因第一搜索结果项和第二搜索结果项分别来自于不同数据源,使得第三搜索结果队列是由具有不同数据来源的搜索结果项构成。另外,因第三搜索结果队列是通过将作为次数据源的第二搜索结果队列按照确定的插入位置插入到作为主数据源的第一搜索结果队列生成的,使得第三搜索结果队列中具有不同数据来源的搜索结果项是按照顺序排列的,实现了对具有不同数据来源的搜索结果项进行混合排序的目的。

附图说明

图1为本申请实施例提供的示例性应用场景的框架示意图;

图2为本申请实施例提供的搜索结果排序方法的流程图;

图3为本申请实施例提供的第一判别模型的训练过程流程图;

图4为本申请实施例提供的第二判别模型的训练过程流程图;

图5为本申请实施例提供的第三判别模型的训练过程流程图;

图6为本申请实施例提供的第四判别模型的训练过程流程图;

图7为本申请实施例提供的搜索结果排序装置结构示意图;

图8为本申请实施例提供的输入装置的结构示意图;

图9为本申请实施例提供的服务器的结构示意图。

具体实施方式

为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请实施例作进一步详细的说明。

为便于理解本申请提供的技术方案,下面将先对本申请的背景技术进行说明。

发明人在对传统的非同源搜索结果项混排方案进行研究中发现,传统的非同源搜索结果项混排方案通常使用预先设定的混排规则对具有不同数据来源的搜索结果项进行混合排序。但是,因预先设定的混排规则是由开发人员根据个人经验进行设定的,使得该预先设定的混排规则主观性较大,导致该预先设定的混排规则难以获得最优搜索结果。另外,因预先设定的混排规则是根据数据来源个数设定的,使得该预先设定的混排规则的逻辑复杂性会随着数据来源个数的增加而增加,导致预先设定的混排规则不易扩展维护。此外,在数据来源个数相同的情况下,随着优化搜索策略的增加,混排规则也会越来越复杂并难以维护;而且,一些情况(例如,因对下游数据源进行优化而导致其特征分布与之前的特征分布不一致等情况)会导致混排规则出现部分失效及不合理现象,此时需要逐句修正该混排规则,但是,因对该混排规则进行逐句修正的工作量大且易出错,从而导致混排规则难以获得最优搜索结果。

基于此,本申请实施例提供了一种搜索结果排序方法,可以解决上述技术问题,具体见下文实施例。

为便于理解本申请实施例提供的搜索结果排序方法,下面结合图1所示的示例性应用场景进行解释说明。其中,图1为本申请实施例提供的示例性应用场景的框架示意图;而且,本申请实施例提供的搜索结果排序方法可以应用于服务器10。

实际应用时,服务器10在接收到客户端20发送的搜索请求后,获取该搜索请求对应的第一搜索结果队列以及第二搜索结果队列,其中,第一搜索结果队列包括至少一个第一搜索结果项,第二搜索结果队列包括至少一个第二搜索结果项;根据预先训练的第一判别模型,从第二搜索结果项中确定应该插入第一搜索结果队列的目标第二搜索结果项;确定该目标第二搜索结果项在第一搜索结果队列中的插入位置;将该目标第二搜索结果项插入第一搜索结果队列的相应插入位置,生成第三搜索结果队列,以便后续服务器10将第三搜索结果队列发送至客户端20进行显示,使得用户能够在客户端20上点击查看第三搜索结果队列中的各个搜索结果项。

本领域技术人员可以理解,图1所示的框架示意图仅是本申请的实施方式可以在其中得以实现的一个示例。本申请实施方式的适用范围不受到该框架任何方面的限制。

需要注意的是,客户端20可以承载于终端,该终端可以是现有的、正在研发的或将来研发的、能够通过任何形式的有线和/或无线连接(例如,Wi-Fi、LAN、蜂窝、同轴电缆等)相互交互的任何用户设备,包括但不限于:现有的、正在研发的或将来研发的智能可穿戴设备、智能手机、非智能手机、平板电脑、膝上型个人计算机、桌面型个人计算机、小型计算机、中型计算机、大型计算机等。本申请的实施方式在此方面不受任何限制。还需要注意的是,本申请实施例中服务器10可以是现有的、正在研发的或将来研发的、能够向客户端20提供信息搜索服务的设备的一个示例。本申请的实施方式在此方面不受任何限制。

为便于理解本申请实施例提供的技术方案,下面将结合附图对本申请实施例提供的搜索结果排序方法进行说明。

参见图2,该图为本申请实施例提供的搜索结果排序方法的流程图。

本申请实施例提供的搜索结果排序方法,包括步骤S21-S25:

S21:接收客户端发送的搜索请求。

搜索请求是根据用户在搜索引擎中输入的搜索关键词生成的请求;而且,搜索请求中携带有用户在搜索引擎中输入的搜索关键词。例如,当用户在搜索框中输入搜索关键词“深度学习算法”时,生成携带有搜索关键词“深度学习算法”的搜索请求。

在本申请实施例中,在用户需要进行网络搜索时,用户在客户端的搜索引擎中输入搜索关键词,以便客户端能够根据输入的搜索关键词生成搜索请求,且客户端将该搜索请求发送至服务器,以便后续服务器能够根据接收的搜索请求获取包括至少一个搜索结果项的搜索结果队列。

S22:获取搜索请求对应的第一搜索结果队列以及第二搜索结果队列。

其中,所述第一搜索结果队列和第二搜索结果队列分别记录来自不同数据源的搜索结果项。

第一搜索结果队列用于记录作为主数据源的搜索结果项;而且,第一搜索结果队列包括至少一个第一搜索结果项。其中,所谓主数据源是指针对搜索请求进行搜索的主要数据源。需要说明的是,本申请实施例不限定第一搜索结果队列的数据来源,例如,第一搜索结果队列可以是由通用搜索引擎(简称大搜引擎)针对搜索请求提供的搜索结果队列;而且,本申请不限定大搜引擎,例如,大搜引擎可以是搜狗搜索引擎或百度搜索引擎等。

第二搜索结果队列用于记录作为次数据源的搜索结果项;而且,第二搜索结果队列包括至少一个第二搜索结果项。其中,所谓次数据源是指针对搜索请求进行搜索的辅助数据源。需要说明的是,本申请实施例不限定第二搜索结果队列的数据来源,例如,第二搜索结果队列可以是由垂直搜索引擎(简称垂搜引擎)针对搜索请求提供的搜索结果队列;而且,本申请不限定垂搜引擎,例如,垂搜引擎可以是知乎搜索引擎或微信搜索引擎等。

还需要说明的是,在本申请实施例中,在进行非同源搜索结果项混排时,通常将来自次数据源的若干搜索结果项插入到来自主数据源的搜索结果队列中,以便得到包括主数据源的搜索结果项和次数据源的搜索结果项的混排搜索结果队列。

基于上述第一搜索结果队列和第二搜索结果队列的相关内容可知,在本申请实施例中,在接收到搜索请求后,针对该搜索请求,获取分别来自不同搜索引擎针对该搜索请求的搜索结果项,分别生成第一搜索结果队列和第二搜索结果队列,使得第一搜索结果队列的数据来源不同于第二搜索结果队列的数据来源。例如,在接收到搜索请求后,将大搜引擎针对搜索请求提供的搜索结果队列作为第一搜索结果队列,并将垂搜引擎针对搜索请求提供的搜索结果队列作为第二搜索结果队列;大搜引擎提供的搜索结果队列的数据来源不同于垂搜引擎提供的搜索结果队列的数据来源。

S23:根据预先训练的第一判别模型,从第二搜索结果队列中确定应该插入第一搜索结果队列的目标第二搜索结果项。

第一判别模型用于从第二搜索结果队列中筛选出应该插入第一搜索结果队列的目标第二搜索结果项。其中,第一判别模型的具体训练过程,将在下文进行介绍。

目标第二搜索结果项是指属于第二搜索结果队列且应该插入第一搜索结果队列的搜索结果项。

在本申请实施例中,在获取到第一搜索结果队列和第二搜索结果队列之后,利用第一判别模型对第二搜索结果队列所包括的至少一个第二搜索结果项进行筛选,以便从第二搜索结果队列中筛选出应该插入第一搜索结果队列的目标第二搜索结果项,以使后续能够将目标第二搜索结果项插入到第一搜索结果队列得到第三搜索结果队列。

S24:确定每个目标第二搜索结果项在第一搜索结果队列中的插入位置。

在本申请实施例中,在获取到目标第二搜索结果项之后,需要将每个目标第二搜索结果项和第一搜索结果队列所包括的至少一个第一搜索结果项分别进行比较,确定每个目标第二搜索结果项在第一搜索结果队列中的插入位置,以便后续能够将各目标第二搜索结果项按照各自对应的插入位置插入到第一搜索结果队列中,使得各个目标第二搜索结果项能够与第一搜索结果队列中的第一搜索结果项按照恰当的顺序进行排列。

S25:将各目标第二搜索结果项插入第一搜索结果队列的相应插入位置,生成第三搜索结果队列。

相应插入位置是指在步骤S24中确定的每个目标第二搜索结果项在第一搜索结果队列中对应的插入位置。

在本申请实施例中,在获取到目标第二搜索结果项以及该目标第二搜索结果项在第一搜索结果队列中的插入位置之后,可以将该目标第二搜索结果项插入第一搜索结果队列的相应插入位置,生成第三搜索结果队列,使得第三搜索结果队列可以包括数据来源不同的第一搜索结果项和第二搜索结果项。从而使得第三搜索结果队列不仅能够包括数据来源不同的搜索结果项,还能够实现这些数据来源不同的搜索结果项之间的合理排序,从而实现了非同源搜索结果项混排的目的。

通过上述实施例可知,因第一搜索结果项和第二搜索结果项分别来自于不同数据源,使得第三搜索结果队列是由具有不同数据来源的搜索结果项构成。另外,因第三搜索结果队列是通过将来自次数据源的若干第二搜索结果项按照合理的插入位置插入到作为主数据源的第一搜索结果队列生成的,使得第三搜索结果队列中具有不同数据来源的搜索结果项是按照合理顺序排列的,实现了对具有不同数据来源的搜索结果项进行混合排序的目的。此外,因第三搜索结果队列的生成过程不受数据来源个数的限制,使得生成的第三搜索结果队列不会因数据来源个数的变化而降低非同源搜索结果项混排的排序效果。

在本申请实施例一种可能的实现方式中,还提供了步骤S23所述的“根据预先训练的第一判别模型,从第二搜索结果项中确定应该插入第一搜索结果队列的目标第二搜索结果项”的一种实施方式,该实施方式具体可以包括步骤S231-S232:

S231:将搜索请求的特征、待判别第二搜索结果项的特征以及第一搜索结果队列中预设个数的第一搜索结果项的特征,输入预先训练的第一判别模型,获得该第一判别模型输出的针对该待判别第二搜索结果项的第一判别结果。

待判别第二搜索结果项是指需要被第一判别模型进行判别的第二搜索结果项;而且,待判别第二搜索结果项属于第二搜索结果队列,例如可以为所述第二搜索结果队列中的任一搜索结果项。

需要说明的是,本申请实施例不限定待判别第二搜索结果项的获取方式,作为示例,待判别第二搜索结果项可以按照预设选取规则选取,其中,该预设选取规则可以根据应用场景预先设定。例如,该预设选取规则可以是“从第二搜索结果队列中选取至少一个较符合搜索请求的第二搜索结果项”。所谓“较符合搜索请求的第二搜索结果项”可以根据第二搜索结果队列中第二搜索结果项的排序和/或第二搜索结果项的历史点击情况确定,例如可以选择第二搜索结果队列中排序较靠前的N个第二搜索结果项,或者选择第二搜索结果队列中历史点击率比较高的N个第二搜索结果项。其中,N可以根据应用场景预先设定,在此不做限定。

本申请实施例中,不限定预设个数的第一搜索结果项在第一搜索结果队列中的位置信息。例如,可以是指排序靠前的预设个数的第一搜索结果项,也可以是指随机抽取的预设个数的第一搜索结果项,还可以是指在预设位置获取的预设个数的第一搜索结果项。

其中,预设位置可以根据应用场景预先设定。例如,预设位置可以包括位置连续的预设个数位置,也可以包括位置不连续的预设个数位置,还可以包括部分位置连续的预设个数位置。例如,当预设个数为N时,则预设位置可以是指在第一搜索结果队列中排序第1的位置至排序第N的位置。

本申请实施例中,第一判别模型用于根据搜索请求的特征、待判别第二搜索结果项的特征以及第一搜索结果队列中预设个数的第一搜索结果项的特征,得到针对该待判别第二搜索结果项的第一判别结果,从而确定待判别第二搜索结果项是否应该插入第一搜索结果队列。

本申请实施例不限定第一判别结果的具体表示方式,作为示例,第一判别结果可以利用文字、符号、数字中的至少一种方式进行表示。例如,第一判别结果可以利用“1”和“0”分别表示待判别第二搜索结果项应该插入和不应该插入该第一搜索结果队列中。

基于上述内容可知,在本申请实施例中,由于第一判别结果能够表征待判别第二搜索结果项是否应该插入第一搜索结果队列,因而,在获取到待判别第二搜索结果项的第一判别结果之后,能够确定该待判别第二搜索结果项是否为目标第二搜索结果项。

S232:依据各待判定第二搜索结果项分别对应的第一判别结果,确定所述目标第二搜索结果。

其中,如果第一判别结果为待判别第二搜索结果项应该插入第一搜索结果队列,将该待判别第二搜索结果项确定为目标第二搜索结果项;否则,舍弃该待判别第二搜索结果项。

基于上述内容可知,因第一判别模型能够准确地确定出每个待判定第二搜索结果项的优劣性,使得第一判别模型能够准确地从第二搜索结果队列中筛选出较优的目标第二搜索结果项。

另外,在本申请实施例一种可能的实现方式中,还提供了“第一判别模型”的训练过程,如图3所示,第一判别模型的训练过程具体包括步骤S31-S34:

S31:获取历史搜索请求对应的第一历史搜索结果队列、第二历史搜索结果队列以及第三历史搜索结果队列。

其中,第一历史搜索结果队列用于记录作为主数据源的历史搜索结果项;而且,第一历史搜索结果队列包括至少一个第一历史搜索结果项。

第二历史搜索结果队列用于记录作为次数据源的历史搜索结果项;而且,第二历史搜索结果队列包括至少一个第二历史搜索结果项。

第三历史搜索结果队列是由第一历史搜索结果队列和第二历史搜索结果队列混排得到的混排队列,包括至少一个第一历史搜索结果项以及至少一个第二历史搜索结果项。

需要说明的是,第一历史搜索结果队列的数据来源与上述第一搜索结果队列的数据来源相同,且第二历史搜索结果队列的数据来源与上述第二搜索结果队列的数据来源相同。

在本申请实施例中,获取历史搜索记录,其中包括历史搜索请求,以及不同搜索引擎针对该历史搜索请求提供的历史搜索结果项,分别生成第一历史搜索结果队列和第二历史搜索结果队列,然后由第一历史搜索结果队列和第二历史搜索结果队列混排得到第三历史搜索结果队列。例如,将大搜引擎针对该历史搜索请求提供的历史搜索结果队列作为第一历史搜索结果队列,并将垂搜引擎针对历史搜索请求提供的历史搜索结果队列作为第二历史搜索结果队列。

S32:将历史搜索请求的特征、优选第二历史搜索结果项的特征、以及第一历史搜索结果队列中预设个数的第一历史搜索结果项的特征确定为正样本数据。

优选第二历史搜索结果项用于表征:在由第三历史搜索结果队列中,符合预设条件的第二历史搜索结果项。其中,预设条件可以用于衡量第二历史搜索结果项的质量,预设条件可以根据应用场景设定。例如,假设预设条件为:第二历史搜索结果项的实际点击情况超过预设点击阈值,此时,对于第三历史搜索结果队列中的各个第二历史搜索结果项来说,若第二历史搜索结果项的历史实际点击情况超过预设点击阈值,则确定该第二历史搜索结果项符合预设条件,则将该第二历史搜索结果项作为优选第二历史搜索结果项;若第二历史搜索结果项的历史实际点击情况未超过预设点击阈值,则确定该第二历史搜索结果项不符合预设条件,则将该第二历史搜索结果项作为非优选第二历史搜索结果项。

需要说明的是,本申请实施例不限定优选第二历史搜索结果项的获取方式。例如,优选第二历史搜索结果项可以直接通过第二历史搜索结果项的历史实际点击情况确定,也可以通过人工校正后的实际点击情况确定,也可以由人工直接指定,还可以根据第二历史搜索结果项的实际点击情况以及第二历史搜索结果项在第三历史搜索结果队列中的插入位置来确定(例如,可以将在第三历史搜索结果队列中的插入位置靠前的第二历史搜索结果项和/或实际点击率较高的第二历史搜索结果项作为优选第二历史搜索结果项)。

还需要说明的是,类似于上文相关内容,本申请实施例不限定预设个数的第一历史搜索结果项在第一历史搜索结果队列中的位置信息。

S33:将历史搜索请求的特征、非优选第二历史搜索结果项的特征、以及第一历史搜索结果队列中预设个数的第一历史搜索结果项的特征确定为负样本数据。

非优选第二历史搜索结果项用于表征:在第三历史搜索结果队列中,不符合预设条件的第二历史搜索结果项。需要说明的是,类似的,本申请实施例也不限定非优选第二历史搜索结果项的获取方式。

基于S32和S33的内容可知,在获取到历史搜索请求、第一历史搜索结果队列、第二历史搜索结果队列和第三历史搜索结果队列之后,可以依据预设条件从第二历史搜索结果队列中挑选出优选第二历史搜索结果项和非优选第二历史搜索结果项,以便后续可以基于历史搜索请求的特征、优选第二历史搜索结果项、非优选第二历史搜索结果项的特征以及第一历史搜索结果队列中预设个数的第一历史搜索结果项的特征,分别生成正样本数据和负样本数据。

S34:根据正样本数据以及负样本数据训练生成第一判别模型。

本申请实施例不限定第一判别模型的结构,第一判别模型的结构可以是任一种分类回归模型的结构。例如,第一判别模型的结构可以是随机森林模型的结构或其他机器学习算法的结构。

在本申请实施例中,在获取到正样本数据以及负样本数据之后,利用正样本数据以及负样本数据对第一判别模型进行训练,使得训练好的第一判别模型能够准确地判断出第二历史搜索结果项是否为优选第二历史搜索结果项。如此,在后续搜索过程中,该训练好的第一判别模型能够准确地从第二搜索结果队列中筛选出应该插入第一搜索结果队列的目标第二搜索结果项。

通过上述实施例可知,在利用第一判别模型筛选得到目标第二搜索结果项之前,需要利用历史搜索请求以及该历史搜索请求对应的第一历史搜索结果队列、第二历史搜索结果队列和第三历史搜索结果队列得到正负样本数据,对第一判别模型进行训练,以便使得训练好的第一判别模型能够准确地从第二搜索结果队列中筛选出应该插入第一搜索结果队列的目标第二搜索结果项。

另外,在实际应用中,由于目标第二搜索结果项在第一搜索结果队列中的插入位置能够影响非同源搜索结果混排的排序效果,因而,为了提高非同源搜索结果混排的排序效果,需要确定出目标第二搜索结果项在第一搜索结果队列中恰当的插入位置,使得目标第二搜索结果项与第一搜索结果队列中的各个第一搜索结果项能够按照恰当的排列顺序进行混排。

基于此,在本申请实施例一种可能的实现方式中,还提供了步骤S24所述的“确定目标第二搜索结果项在第一搜索结果队列中的插入位置”的两种实施方式,下面依次对该两种实施方式进行介绍。

作为步骤S24的第一种实施方式,其具体可以包括步骤S24A1-S24A2:

S24A1:将目标第二搜索结果项的特征与待比较第一搜索结果项的特征输入预先训练的第二判别模型,获得该第二判别模型输出的第二判别结果。

待比较第一搜索结果项是指在确定目标第二搜索结果项在第一搜索结果队列中的插入位置的过程中,需要与目标第二搜索结果项进行特征比较的第一搜索结果项。

需要说明的是,类似于上文内容,本申请实施例不限定待比较第一搜索结果项的获取方式,且也不限定待比较第一搜索结果项在第一搜索结果队列中的位置信息,也不限定待比较第一搜索结果项的个数。例如,待比较第一搜索结果项可以为第一搜索结果队列中排序最靠前10个第一搜索结果项。

本申请实施例中,第二判别模型用于比较目标第二搜索结果项的特征与待比较第一搜索结果项的特征,并基于该比较结果确定目标第二搜索结果项是否优于待比较第一搜索结果项。

需要说明的是,搜索结果项的优劣程度用于表征该搜索结果项对搜索请求的符合程度,具体为:搜索结果项越优,则表示该搜索结果越符合搜索请求;搜索结果越劣,则表示该搜索结果越不符合搜索请求。第二判别结果用于表示目标第二搜索结果项是否优于待比较第一搜索结果项。需要说明的是,类似于上文内容,本申请实施例不限定第二判别结果的具体表示方式。

基于上述内容可知,在本申请实施例中,在获取到目标第二搜索结果项的特征之后,先从第一搜索结果队列中确定待比较第一搜索结果项,再将目标第二搜索结果项的特征与待比较第一搜索结果项的特征输入第二判别模型,使得第二判别模型通过对目标第二搜索结果项的特征与待比较第一搜索结果项的特征进行优劣比较,得到第二判别结果后进行输出。

S24A2:根据第二判别结果,确定目标第二搜索结果项在第一搜索结果队列中的插入位置。

在本申请实施例中,如果第二判别结果为目标第二搜索结果项优于待比较的第一搜索结果项,则表示该目标第二搜索结果项比该待比较的第一搜索结果项更符合搜索请求,可以确定目标第二搜索结果项在第一搜索结果队列中的插入位置应该比该待比较的第一搜索结果项在第一搜索结果队列中的排列位置靠前;否则,则确定目标第二搜索结果项在第一搜索结果队列中的插入位置,应该比该待比较的第一搜索结果项在第一搜索结果队列中的排列位置靠后。

需要说明的是,本申请实施例不限定目标第二搜索结果项与待比较的第一搜索结果项之间优劣性的比较过程(例如,按照待比较的第一搜索结果项的排列顺序进行比较)。

基于上述S24的第一种实施方式的相关内容可知,由于目标第二搜索结果项与待比较第一搜索结果项之间的优劣关系,能够准确地表征目标第二搜索结果项在第一搜索结果队列中的插入位置、与该待比较的第一搜索结果项在第一搜索结果队列中的排列位置之间的相对前后关系,因而,在根据第二判别结果确定的目标第二搜索结果项在第一搜索结果队列中的插入位置,能够准确地表征目标第二搜索结果项与待比较第一搜索结果项对搜索请求的符合程度的高低,使得通过将目标第二搜索结果项插入到第一搜索结果队列得到的第三搜索结果队列能够按照恰当的排列顺序进行非同源搜索结果项混排。

另外,为了提高目标第二搜索结果项插入位置的确定效率以及确定准确率,本申请实施例还提供了步骤S24A2所述的“根据第二判别结果,确定目标第二搜索结果项在第一搜索结果队列中的插入位置”的三种实施方式,下面依次进行介绍。

作为步骤S24A2的第一种实施方式,其可以为:如果第二判别结果为目标第二搜索结果项优于待比较第一搜索结果项,将该目标第二搜索结果项在第一搜索结果队列中的插入位置确定为在待比较第一搜索结果项之前。

在该实施方式中,可以依据目标第二搜索结果项与每个待比较第一搜索结果项的优劣性,确定目标第二搜索结果项与每个待比较第一搜索结果项的排序位置,其具体为:在根据第二判别结果确定目标第二搜索结果项优于待比较第一搜索结果项时,可以确定目标第二搜索结果项在第一搜索结果队列中的插入位置应该位于该待比较的第一搜索结果项在第一搜索结果队列中的排列位置之前;反之,可以确定目标第二搜索结果项在第一搜索结果队列中的插入位置应该位于该待比较的第一搜索结果项在第一搜索结果队列中的排列位置之后。

例如,当目标第二搜索结果项优于在第一搜索结果队列中排序第8的第一搜索结果项,且目标第二搜索结果项劣于在第一搜索结果队列中排序第9的第一搜索结果项时,则确定目标第二搜索结果项在第一搜索结果队列中的插入位置应该位于排序第8的第一搜索结果项与排序第9的第一搜索结果项的排列位置之间。

基于上述内容可知,因在步骤S24A2的第一种实施方式提供的插入位置的确定过程中,只需基于目标第二搜索结果项与每个待比较第一搜索结果项之间的优劣关系,便可以得到在第三搜索结果队列中目标第二搜索结果项与每个待比较第一搜索结果项之间的先后顺序,使得非同源搜索结果项的混排过程简单易行,提高了非同源搜索结果项混排的排序效率。

另外,在一些情况下,例如,第一搜索结果队列的排序存在不准确的情况,导致排序第T+1的第一搜索结果项比排序第1至第T的第一搜索结果项更符合搜索请求,则该排序第T+1的第一搜索结果项可能是最优第一搜索结果项,如果在排序第1至第T的第一搜索结果项中至少一个之前插入一个目标第二搜索结果项,则会导致最符合搜索请求的最优第一搜索结果项在第三搜索结果队列中的排序位置下降至少一位,如此因最符合搜索请求的最优第一搜索结果项的排序位置下降而导致第三搜索结果队列的排序效果变差。

为了解决上述问题,本申请实施例还提供了步骤S24A2的第二种实施方式,其可以为:根据第二判别结果,如果目标第二搜索结果项优于第一搜索结果队列中的连续多个待比较第一搜索结果项,将该目标第二搜索结果项在第一搜索结果队列中的插入位置确定为在该连续多个待比较第一搜索结果项之前。

需要说明的是,本申请实施例不限定连续多个的个数(例如,3个)。

在该实施方式中,可以依据目标第二搜索结果项与连续多个待比较第一搜索结果项的优劣性,确定目标第二搜索结果项与该连续多个待比较第一搜索结果项的排序位置,其具体为:在根据第二判别结果确定目标第二搜索结果项优于第一搜索结果队列中的连续多个待比较第一搜索结果项时,可以确定目标第二搜索结果项在第一搜索结果队列中的插入位置应该位于该连续多个待比较第一搜索结果项之前;反之,可以确定目标第二搜索结果项在第一搜索结果队列中的插入位置应该位于该连续多个待比较第一搜索结果项之后。

例如,“连续多个”的个数为3个,目标第二搜索结果项优于在第一搜索结果队列中排序第8的第一搜索结果项、排序第9的第一搜索结果项以及排序第10的第一搜索结果项,且目标第二搜索结果项劣于在第一搜索结果队列中排序第5的第一搜索结果项、排序第6的第一搜索结果项和排序第7的第一搜索结果项中至少一项时,则确定目标第二搜索结果项在第一搜索结果队列中的插入位置应该位于排序第7的第一搜索结果项与排序第8的第一搜索结果项之间。

基于上述内容可知,因在步骤S24A2的第二种实施方式提供的插入位置的确定过程中,目标第二搜索结果项必须优于连续多个待比较第一搜索结果项中所有项才确定目标第二搜索结果项比较优。如此,能够有效地避免因最符合搜索请求的最优第一搜索结果项的排序位置下降而导致第三搜索结果队列的排序效果变差现象的发生,从而提高了非同源搜索结果项混排的排序效果。

另外,本实施例还可以利用模型确定目标第二搜索结果项在第一搜索结果队列中的插入位置。基于此,本申请实施例还提供了步骤S24A2的第三种实施方式,在该实施方式中,步骤S24A2可以为:将多个第二判别结果以及搜索请求的特征,输入预先训练的第三判别模型,获得该第三判别模型输出的第三判别结果。其中,第三判别结果为目标第二搜索结果项在第一搜索结果队列中的插入位置。

本申请实施例中,第三判别模型用于根据目标第二搜索结果项与待比较第一搜索结果项之间的优劣关系以及搜索请求,确定目标第二搜索结果项在第一搜索结果队列中的插入位置。

在上述步骤S24A2的第三种实施方式中,因第三判别模型能够根据目标第二搜索结果项与待比较第一搜索结果项之间的优劣关系以及搜索请求,准确地确定出目标第二搜索结果项在第一搜索结果队列中的插入位置,使得通过将目标第二搜索结果项插入到第一搜索结果队列得到的第三搜索结果队列能够按照较恰当的排列顺序进行非同源搜索结果项混排,提高了非同源搜索结果项混排的排序效果。另外,由于利用第三判别模型进行位置确定的过程简单易行,提高了非同源搜索结果项混排的排序效率。此外,还因第三判别模型的训练数据量要求较低,提高了第三判别模型的训练效率。

另外,为了进一步提高非同源搜索结果项混排的排序效果和排序效率,可以基于目标第二搜索结果项和第一搜索结果队列,利用模型直接预测目标第二搜索结果项在第一搜索结果队列中的插入位置。基于此,本申请实施例还提供了步骤S24的第二种实施方式,其可以为:将目标第二搜索结果项的特征与第一搜索结果队列中排序较高的多个第一搜索结果项的特征输入预先训练的第四判别模型,获得第四判别模型输出的第四判别结果。其中,第四判别结果为目标第二搜索结果项在第一搜索结果队列中的插入位置。

第四判别模型用于基于目标第二搜索结果项与第一搜索结果队列中排序较高的至少一个第一搜索结果项,确定目标第二搜索结果项在第一搜索结果队列中的插入位置。

在上述步骤S24的第二种实施方式中,由于第四判别模型能够利用目标第二搜索结果项的特征与第一搜索结果队列中排序较高的至少一个第一搜索结果项的特征,准确地确定出目标第二搜索结果项在第一搜索结果队列中的插入位置,使得通过将目标第二搜索结果项插入到第一搜索结果队列得到的第三搜索结果队列,能够按照较恰当的排列顺序进行非同源搜索结果项混排,提高了非同源搜索结果项混排的排序效果。另外,还由于利用第四判别模型进行位置确定的过程简单易行,提高了非同源搜索结果项混排的排序效率。

另外,在本申请实施例一种可能的实现方式中,还提供了“第二判别模型”的训练过程,如图4所示,其可以包括步骤S41-S43:

S41:获取历史搜索请求对应的第三历史搜索结果队列。

第三历史搜索结果队列用于表征对第二判别模型进行训练时所使用的包括混排的非同源搜索结果项的历史搜索结果队列。其中,第三历史搜索结果队列包括至少一个第一历史搜索结果项以及至少一个第二历史搜索结果项。另外,在第三历史搜索结果队列中还包括各个第一历史搜索结果项与各个第二历史搜索结果项之间的优劣关系。

S42:将第二历史搜索结果项的特征以及第一历史搜索结果项的特征确定为第一训练数据,将第二历史搜索结果项是否优于第一历史搜索结果项的判别结果确定为第一训练数据对应的标签。

S43:根据第一训练数据以及该第一训练数据对应的标签训练生成第二判别模型。

在本申请实施例中不限定第二判别模型的模型结构,第二判别模型的结构可以是任一种分类回归模型的结构。例如,第二判别模型的结构可以是随机森林模型的结构或其他机器学习算法的结构。

需要说明的是,本申请实施例不限定确定各个第一历史搜索结果项与各个第二历史搜索结果项之间的优劣关系的依据,例如,该依据可以包括历史搜索结果项在第三历史搜索结果队列中的位置(也就是,在第三历史搜索结果队列中位置靠前的历史搜索结果项优于位置靠后的历史搜索结果项)、历史搜索结果项的实际点击情况中的至少一项等。

其中,所谓“实际点击情况”是指用户对搜索结果项的线上点击相关情况;而且,该“实际点击情况”可以包括点击次数、点击时间点、点击顺序以及其他点击相关参数。

还需要说明的是,依据历史搜索结果项的实际点击情况确定优劣性时,可以利用以下任一种原则进行确定:

(1)点击的历史搜索结果项优于未点击的历史搜索结果项。

例如,当第三历史搜索结果队列包括排序前十的历史搜索结果项,且用户依次点击了第1至第3个历史搜索结果项进行查看时,则第1至第3个历史搜索结果项均优于第4至第10个历史搜索结果项。

(2)末次点击的历史搜索结果项优于其他任一历史搜索结果项,非末次点击的历史搜索结果项优于未点击的历史搜索结果项。其中,末次点击是指在客户端上显示了历史搜索请求对应的第三历史搜索结果队列之后,用户在点击查看搜索结果项的过程中执行的最后一次点击操作。

例如,当第三历史搜索结果队列包括排序前十的历史搜索结果项,用户依次点击了第1至第3个历史搜索结果项进行查看,且用户最后一次点击了第3个历史搜索结果项进行查看时,则第3个历史搜索结果项优于第1和第2个历史搜索结果项,且第1、第2和第3个历史搜索结果项均优于第4至第10个历史搜索结果项。

(3)对于排序位置比末次点击的历史搜索结果项的位置靠前的各个历史搜索结果项来说:点击的历史搜索结果项优于未点击的历史搜索结果项,且末次点击的历史搜索结果项也优于未点击的历史搜索结果项。另外,不确定排序位置比末次点击的历史搜索结果项的位置靠后的各个历史搜索结果项的优劣性。

例如,当第三历史搜索结果队列包括排序前十的历史搜索结果项,用户依次点击了第1、第2、第5个历史搜索结果项进行查看,且用户最后一次点击了第5个历史搜索结果项进行查看时,则第1、第2和第5个历史搜索结果项均优于第3个和第4个历史搜索结果项,而且,第6至第10个历史搜索结果项不参与优劣性的比较。

(4)对于排序位置比末次点击的历史搜索结果项的位置靠前的各个历史搜索结果项来说:点击的历史搜索结果项优于未点击的历史搜索结果项,且末次点击的历史搜索结果项优于点击的历史搜索结果项。另外,不确定排序位置比末次点击的历史搜索结果项的位置靠后的各个历史搜索结果项的优劣性。

例如,当第三历史搜索结果队列包括排序前十的历史搜索结果项,用户依次点击了第1、第2、第5个历史搜索结果项进行查看,且用户最后一次点击了第5个历史搜索结果项进行查看时,则第1、第2和第5个历史搜索结果项均优于第3和第4个历史搜索结果项,而且,第5个历史搜索结果项优于第1和第2个历史搜索结果项,而且,第6至第10个历史搜索结果项不参与优劣性的比较。

通过上述实施例可知,在利用第二判别模型确定目标第二搜索结果项的特征与待比较第一搜索结果项的特征之间优劣关系之前,需要利用历史搜索请求对应的第三历史搜索结果队列,对第二判别模型进行训练,以便使得训练好的第二判别模型能够准确地确定出目标第二搜索结果项的特征与待比较第一搜索结果项的特征之间优劣关系。

另外,在本申请实施例一种可能的实现方式中,还提供了“第三判别模型”的训练过程,如图5所示,其可以包括步骤S51-S53:

S51:获取历史搜索请求对应的第一历史搜索结果队列、第二历史搜索结果队列以及第三历史搜索结果队列。

第一历史搜索结果队列包括至少一个第一历史搜索结果项,第二历史搜索结果队列包括至少一个第二历史搜索结果项。

第三历史搜索结果队列是由第一历史搜索结果队列和第二历史搜索结果队列混排得到的混排队列,包括至少一个第一历史搜索结果项以及至少一个第二历史搜索结果项。

需要说明的是,步骤S51的内容与上述步骤S31的内容相同,为了简要起见,在此不再赘述,步骤S51的技术详情请参见上述步骤S31。另外,本申请实施例不限定第三判别模型的训练过程中所使用的第一历史搜索结果队列和第二历史搜索结果队列,其分别可以与第一判别模型的训练过程中所使用的第一历史搜索结果队列、第二历史搜索结果队列相同,也分别可以与第一判别模型的训练过程中所使用的第一历史搜索结果队列和第二历史搜索结果队列不相同。则第三判别模型的训练过程中所使用的第三历史搜索结果队列可以与第一判别模型的训练过程中所使用的第三历史搜索结果队列相同或不同。

S52:将目标第二历史搜索结果项是否优于第一历史搜索结果项的判别结果以及搜索请求的特征确定为第二训练数据,将目标第二历史搜索结果项的优选插入位置确定为第二训练数据对应的标签。

其中,目标第二历史搜索结果项属于第二历史搜索结果队列,目标第二历史搜索结果项的优选插入位置是根据在触发所述历史搜索请求后,对第三历史搜索结果队列中目标第二历史搜索结果项的实际点击情况确定。

需要说明的是,步骤S52中“目标第二历史搜索结果项是否优于第一历史搜索结果项的判别结果”的实施方式可以采用在上述步骤S41中提供的“第二历史搜索结果项是否优于第一历史搜索结果项的判别结果”的任一实施方式,为了简要起见,在此不再赘述,其技术详情请参照上述步骤S41。

而目标第二历史搜索结果项的优选插入位置可以表征目标第二历史搜索结果项在第三历史搜索结果队列中应该插入的位置,作为第三判别模型的训练目标。其可以通过在第三历史搜索结果队列中目标第二历史搜索结果项的实际点击情况确定。

需要说明的是,本申请实施例不限定第二训练数据对应的标签的确定方法。例如,第二训练数据对应的标签可以根据目标第二历史搜索结果项在第三历史搜索结果队列中的实际插入位置以及目标第二历史搜索结果项的实际点击情况,对目标第二历史搜索结果项在第三历史搜索结果队列中的实际插入位置进行修正后,由该修正后的插入位置确定。此外,第二训练数据对应的标签还可以根据人工标记的目标第二历史搜索结果项在第三历史搜索结果队列中的插入位置确定。S53:根据第二训练数据以及第二训练数据对应的标签训练生成第三判别模型。

在本申请实施例中不限定第三判别模型的模型结构,第三判别模型的结构可以是任一种分类回归模型的结构。例如,第三判别模型的结构可以是随机森林模型的结构或其他机器学习算法的结构。

通过上述实施例可知,在利用第三判别模型根据目标第二搜索结果项的特征与待比较第一搜索结果项的特征之间优劣关系以及搜索请求确定目标第二搜索结果项在第一搜索结果队列中的插入位置之前,需要利用历史搜索请求对应的第一历史搜索结果队列、第二历史搜索结果队列和第三历史搜索结果队列得到第二训练数据以及第二训练数据对应的标签,对第三判别模型进行训练,以便使得训练好的第三判别模型能够基于目标第二搜索结果项的特征与待比较第一搜索结果项的特征之间优劣关系以及搜索请求,准确地确定出目标第二搜索结果项在第一搜索结果队列中的插入位置。

另外,在本申请实施例一种可能的实现方式中,还提供了“第四判别模型”的训练过程,如图6所示,其可以包括步骤S61-S63:

S61:获取历史搜索请求对应的第一历史搜索结果队列、第二历史搜索结果队列以及第三历史搜索结果队列。

第一历史搜索结果队列包括至少一个第一历史搜索结果项,第二历史搜索结果队列包括至少一个第二历史搜索结果项。

第三历史搜索结果队列是由第一历史搜索结果队列和第二历史搜索结果队列混排得到的混排队列,包括至少一个第一历史搜索结果项以及至少一个第二历史搜索结果项。

需要说明的是,步骤S61的内容与上述步骤S31的内容相同,为了简要起见,在此不再赘述,步骤S61的技术详情请参见上述步骤S31。另外,类似于上文内容,本申请实施例不限定第四判别模型的训练过程中所使用的第一历史搜索结果队列、第二历史搜索结果队列和第三历史搜索结果队列。

S62:将目标第二历史搜索结果项的特征以及第一历史搜索结果队列中排序较高的多个第一历史搜索结果项的特征确定为第三训练数据,将目标第二历史搜索结果项的优选插入位置确定为第三训练数据对应的标签。

目标第二历史搜索结果项是指属于第二历史搜索结果队列且应该插入第一历史搜索结果队列的历史搜索结果项,目标第二历史搜索结果项的优选插入位置是根据在触发所述历史搜索请求后,对第三历史搜索结果队列中目标第二历史搜索结果项的实际点击情况确定。

目标第二历史搜索结果项的优选插入位置可以表征目标第二历史搜索结果项在第三历史搜索结果队列中应该插入的位置,作为第四判别模型的训练目标。其可以通过在第三历史搜索结果队列中目标第二历史搜索结果项的实际点击情况确定。需要说明的是,类似于上文内容,本申请实施例不限定第三训练数据对应的标签的确定方法。

S63:根据第三训练数据以及该第三训练数据对应的标签训练生成第四判别模型。

在本申请实施例中不限定第四判别模型的模型结构,第四判别模型的结构可以是任一种分类回归模型的结构。例如,第四判别模型的结构可以是随机森林模型的结构或其他机器学习算法的结构。

通过上述实施例可知,在利用第四判别模型根据目标第二搜索结果项的特征与第一搜索结果队列中排序较高的至少一个第一搜索结果项的特征确定目标第二搜索结果项在第一搜索结果队列中的插入位置之前,需要利用历史搜索请求对应的第一历史搜索结果队列、第二历史搜索结果队列和第三历史搜索结果队列得到第三训练数据以及第三训练数据对应的标签,对第四判别模型进行训练,以便使得训练好的第四判别模型能够基于目标第二搜索结果项的特征与第一搜索结果队列中排序较高的至少一个第一搜索结果项的特征,准确地确定出目标第二搜索结果项在第一搜索结果队列中的插入位置。

基于上述提供的搜索结果排序方法的任一实施方式可知,在本申请实施例中,通过利用比较非同源搜索结果项优劣的方式来解决将非同源搜索结果项进行混排的问题,降低了解决将非同源搜索结果项进行混排的难度以及复杂度,提高了非同源搜索结果项混排的排序效率。另外,在本申请实施例提供的搜索结果排序方法中,可以利用第一判别模型从第二搜索结果队列中确定出应该插入第一搜索结果队列的目标第二搜索结果项,也可以利用第二判别模型确定目标第二搜索结果项与待比较第一搜索结果项之间的优劣关系,也可以利用第三判别模型基于目标第二搜索结果项与待比较第一搜索结果项之间的优劣关系,确定目标第二搜索结果项在第一搜索结果队列中的插入位置,还可以利用第四判别模型基于目标第二搜索结果项直接确定出目标第二搜索结果项在第一搜索结果队列中的插入位置,因而,当搜索请求对应的非同源搜索结果项的特征分布发生较大变化时,只需更新对应模型即可,如此使得本申请实施例提供的搜索结果排序方法能够快速地适应于特征分布发生较大变化的情况。

此外,在本申请实施例提供的搜索结果排序方法中,可以利用各个搜索结果项的线上点击情况来确定上述各个判别模型训练数据对应的标签,无需由人工标注的方式生成标签或仅需少量人工标注标签加以校正即可,节约了标签的生产成本,从而降低了非同源搜索结果项混排的排序成本。

基于上述方法实施例提供的搜索结果排序方法,本申请实施例还提供了一种搜索结果排序装置,下面结合附图进行解释和说明。

参见图7,该图为本申请实施例提供的搜索结果排序装置结构示意图。本申请实施例提供的搜索结果排序装置,包括:

请求接收单元701,用于接收客户端发送的搜索请求,获取所述搜索请求对应的第一搜索结果队列以及第二搜索结果队列,所述第一搜索结果队列包括至少一个第一搜索结果项,所述第二搜索结果队列包括至少一个第二搜索结果项;

第一确定单元702,用于根据预先训练的第一判别模型,从所述第二搜索结果队列中确定应该插入所述第一搜索结果队列的目标第二搜索结果项;

第二确定单元703,用于确定每个目标第二搜索结果项在所述第一搜索结果队列中的插入位置;

队列生成单元704,用于将每个目标第二搜索结果项插入所述第一搜索结果队列的相应插入位置,生成第三搜索结果队列。

在一种可能的实现方式中,所述第一确定单元702,包括:

第一获取子单元,用于将所述搜索请求的特征、待判别第二搜索结果项的特征以及所述第一搜索结果队列中预设个数的第一搜索结果项的特征,输入预先训练的第一判别模型,获得所述第一判别模型输出的针对所述待判别第二搜索结果项的第一判别结果;所述第一判别结果为所述待判别第二搜索结果项是否应该插入所述第一搜索结果队列,所述待判别第二搜索结果项属于所述第二搜索结果队列;

第一确定子单元,用于依据每个待判定第二搜索结果项分别对应的第一判别结果,确定所述目标第二搜索结果。

在一种可能的实现方式中,所述第二确定单元703,包括:

第二获取子单元,用于将所述目标第二搜索结果项的特征与所述待比较第一搜索结果项的特征输入预先训练的第二判别模型,获得所述第二判别模型输出的第二判别结果;所述第二判别结果为所述目标第二搜索结果项是否优于所述待比较第一搜索结果项,所述待比较第一搜索结果项属于所述第一搜索结果队列;

第二确定子单元,用于根据所述第二判别结果,确定所述目标第二搜索结果项在所述第一搜索结果队列中的插入位置。

在一种可能的实现方式中,所述第二确定子单元,具体用于:

如果所述第二判别结果为所述目标第二搜索结果项优于所述待比较第一搜索结果项,将所述目标第二搜索结果项在所述第一搜索结果队列中的插入位置确定为在所述待比较第一搜索结果项之前。

在一种可能的实现方式中,所述第二确定子单元,具体用于:

根据所述第二判别结果,如果所述目标第二搜索结果项优于所述第一搜索结果队列中的连续多个待比较第一搜索结果项,将所述目标第二搜索结果项在所述第一搜索结果队列中的插入位置确定为在所述连续多个待比较第一搜索结果项之前。

在一种可能的实现方式中,所述第二确定子单元,具体用于:

将多个所述第二判别结果以及所述搜索请求的特征,输入预先训练的第三判别模型,获得所述第三判别模型输出的第三判别结果;所述第三判别结果为所述目标第二搜索结果项在所述第一搜索结果队列中的插入位置。

在一种可能的实现方式中,所述第二确定单元703,具体用于:

将所述目标第二搜索结果项的特征与所述第一搜索结果队列中排序较高的多个第一搜索结果项的特征输入预先训练的第四判别模型,获得所述第四判别模型输出的第四判别结果;所述第四判别结果为所述目标第二搜索结果项在所述第一搜索结果队列中的插入位置。

在一种可能的实现方式中,所述第一判别模型的训练过程包括:

获取历史搜索请求对应的第一历史搜索结果队列、第二历史搜索结果队列以及第三历史搜索结果队列;所述第一历史搜索结果队列包括至少一个第一历史搜索结果项,所述第二历史搜索结果队列包括至少一个第二历史搜索结果项,第三历史搜索结果队列包括至少一个第一历史搜索结果项以及至少一个第二历史搜索结果项;

将所述历史搜索请求的特征、优选第二历史搜索结果项的特征以及所述第一历史搜索结果队列中预设个数的第一历史搜索结果项的特征确定为正样本数据;所述优选第二历史搜索结果项为在所述第三历史搜索结果队列中符合预设条件的第二历史搜索结果项;

将所述历史搜索请求的特征、非优选第二历史搜索结果项的特征以及所述第一历史搜索结果队列中预设个数的第一历史搜索结果项的特征确定为负样本数据;所述非优选第二历史搜索结果项为在所述第三历史搜索结果队列中不符合所述预设条件的第二历史搜索结果项;

根据所述正样本数据以及所述负样本数据训练生成第一判别模型。

在一种可能的实现方式中,所述第二判别模型的训练过程包括:

获取历史搜索请求对应的第三历史搜索结果队列;第三历史搜索结果队列包括至少一个第一历史搜索结果项以及至少一个第二历史搜索结果项;

将所述第二历史搜索结果项的特征以及所述第一历史搜索结果项的特征确定为第一训练数据,将所述第二历史搜索结果项是否优于所述第一历史搜索结果项的判别结果确定为所述第一训练数据对应的标签;

根据所述第一训练数据以及所述第一训练数据对应的标签训练生成第二判别模型。

在一种可能的实现方式中,依据下述方式确定所述第二历史搜索结果项是否优于所述第一历史搜索结果项的判别结果:

根据在触发所述历史搜索请求后,对所述第三历史搜索结果队列中的所述第一历史搜索结果项和/或所述第二历史搜索结果项的实际点击情况确定所述判别结果。

在一种可能的实现方式中,所述第三判别模型的训练过程包括:

获取历史搜索请求对应的第一历史搜索结果队列、第二历史搜索结果队列以及第三历史搜索结果队列;所述第一历史搜索结果队列包括至少一个第一历史搜索结果项,所述第二历史搜索结果队列包括至少一个第二历史搜索结果项,第三历史搜索结果队列包括至少一个第一历史搜索结果项以及至少一个第二历史搜索结果项;

将目标第二历史搜索结果项是否优于所述第一历史搜索结果项的判别结果以及所述搜索请求的特征确定为第二训练数据,将所述目标第二历史搜索结果项的优选插入位置确定为所述第二训练数据对应的标签;所述目标第二历史搜索结果项属于所述第二历史搜索结果队列;所述目标第二历史搜索结果项的优选插入位置是根据在触发所述历史搜索请求后,对所述第三历史搜索结果队列中所述目标第二历史搜索结果项的实际点击情况确定;

根据所述第二训练数据以及所述第二训练数据对应的标签训练生成第三判别模型。

在一种可能的实现方式中,所述第四判别模型的训练过程包括:

获取历史搜索请求对应的第一历史搜索结果队列、第二历史搜索结果队列以及第三历史搜索结果队列;所述第一历史搜索结果队列包括至少一个第一历史搜索结果项,所述第二历史搜索结果队列包括至少一个第二历史搜索结果项,第三历史搜索结果队列包括至少一个第一历史搜索结果项以及至少一个第二历史搜索结果项;

将目标第二历史搜索结果项的特征以及所述第一历史搜索结果队列中排序较高的多个第一历史搜索结果项的特征确定为第三训练数据,将所述目标第二历史搜索结果项的优选插入位置确定为所述第三训练数据对应的标签;所述目标第二历史搜索结果项属于所述第二历史搜索结果队列;所述目标第二历史搜索结果项的优选插入位置是根据在触发所述历史搜索请求后,对所述第三历史搜索结果队列中所述目标第二历史搜索结果项的实际点击情况确定;

根据所述第三训练数据以及所述第三训练数据对应的标签训练生成第四判别模型。

需要说明的是,本实施例中各个单元的具体实现可以参见上述方法实施例,本实施例在此不再赘述。

图8示出了一种输入装置800的框图。例如,装置800可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。

参照图8,装置800可以包括以下一个或多个组件:处理组件802,存储器804,电源组件806,多媒体组件808,音频组件810,输入/输出(I/O)的接口812,传感器组件814,以及通信组件816。

处理组件802通常控制装置800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理元件802可以包括一个或多个处理器820来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理部件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。

存储器804被配置为存储各种类型的数据以支持在设备800的操作。这些数据的示例包括用于在装置800上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。

电源组件806为装置800的各种组件提供电力。电源组件806可以包括电源管理系统,一个或多个电源,及其他与为装置800生成、管理和分配电力相关联的组件。

多媒体组件808包括在所述装置800和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当设备800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。

音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(MIC),当装置800处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。

I/O接口为处理组件802和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。

传感器组件814包括一个或多个传感器,用于为装置800提供各个方面的状态评估。例如,传感器组件814可以检测到设备800的打开/关闭状态,组件的相对定位,例如所述组件为装置800的显示器和小键盘,传感器组件814还可以检测装置800或装置800一个组件的位置改变,用户与装置800接触的存在或不存在,装置800方位或加速/减速和装置800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。

通信组件816被配置为便于装置800和其他设备之间有线或无线方式的通信。装置800可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信部件816经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信部件816还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。

在示例性实施例中,装置800可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行下述方法:

接收客户端发送的搜索请求,获取所述搜索请求对应的第一搜索结果队列以及第二搜索结果队列,所述第一搜索结果队列包括至少一个第一搜索结果项,所述第二搜索结果队列包括至少一个第二搜索结果项;

根据预先训练的第一判别模型,从所述第二搜索结果队列中确定应该插入所述第一搜索结果队列的目标第二搜索结果项;

确定每个目标第二搜索结果项在所述第一搜索结果队列中的插入位置;

将每个目标第二搜索结果项插入所述第一搜索结果队列的相应插入位置,生成第三搜索结果队列。

可选的,所述根据预先训练的第一判别模型,从所述第二搜索结果队列中确定应该插入所述第一搜索结果队列的目标第二搜索结果项,包括:

将所述搜索请求的特征、待判别第二搜索结果项的特征以及所述第一搜索结果队列中预设个数的第一搜索结果项的特征,输入预先训练的第一判别模型,获得所述第一判别模型输出的针对所述待判别第二搜索结果项的第一判别结果;所述第一判别结果为所述待判别第二搜索结果项是否应该插入所述第一搜索结果队列,所述待判别第二搜索结果项属于所述第二搜索结果队列;

依据每个待判定第二搜索结果项分别对应的第一判别结果,确定所述目标第二搜索结果。

可选的,所述确定所述目标第二搜索结果项在所述第一搜索结果队列中的插入位置,包括:

将所述目标第二搜索结果项的特征与所述待比较第一搜索结果项的特征输入预先训练的第二判别模型,获得所述第二判别模型输出的第二判别结果;所述第二判别结果为所述目标第二搜索结果项是否优于所述待比较第一搜索结果项,所述待比较第一搜索结果项属于所述第一搜索结果队列;

根据所述第二判别结果,确定所述目标第二搜索结果项在所述第一搜索结果队列中的插入位置。

可选的,所述根据所述第二判别结果,确定所述目标第二搜索结果项在所述第一搜索结果队列中的插入位置,包括:

如果所述第二判别结果为所述目标第二搜索结果项优于所述待比较第一搜索结果项,将所述目标第二搜索结果项在所述第一搜索结果队列中的插入位置确定为在所述待比较第一搜索结果项之前。

可选的,所述根据所述第二判别结果,确定所述目标第二搜索结果项在所述第一搜索结果队列中的插入位置,包括:

根据所述第二判别结果,如果所述目标第二搜索结果项优于所述第一搜索结果队列中的连续多个待比较第一搜索结果项,将所述目标第二搜索结果项在所述第一搜索结果队列中的插入位置确定为在所述连续多个待比较第一搜索结果项之前。

可选的,所述根据所述第二判别结果,确定所述目标第二搜索结果项在所述第一搜索结果队列中的插入位置,包括:

将多个所述第二判别结果以及所述搜索请求的特征,输入预先训练的第三判别模型,获得所述第三判别模型输出的第三判别结果;所述第三判别结果为所述目标第二搜索结果项在所述第一搜索结果队列中的插入位置。

可选的,所述确定所述目标第二搜索结果项在所述第一搜索结果队列中的插入位置,包括:

将所述目标第二搜索结果项的特征与所述第一搜索结果队列中排序较高的多个第一搜索结果项的特征输入预先训练的第四判别模型,获得所述第四判别模型输出的第四判别结果;所述第四判别结果为所述目标第二搜索结果项在所述第一搜索结果队列中的插入位置。

可选的,所述第一判别模型的训练过程包括:

获取历史搜索请求对应的第一历史搜索结果队列、第二历史搜索结果队列以及第三历史搜索结果队列;所述第一历史搜索结果队列包括至少一个第一历史搜索结果项,所述第二历史搜索结果队列包括至少一个第二历史搜索结果项,第三历史搜索结果队列包括至少一个第一历史搜索结果项以及至少一个第二历史搜索结果项;

将所述历史搜索请求的特征、优选第二历史搜索结果项的特征以及所述第一历史搜索结果队列中预设个数的第一历史搜索结果项的特征确定为正样本数据;所述优选第二历史搜索结果项为在所述第三历史搜索结果队列中符合预设条件的第二历史搜索结果项;

将所述历史搜索请求的特征、非优选第二历史搜索结果项的特征以及所述第一历史搜索结果队列中预设个数的第一历史搜索结果项的特征确定为负样本数据;所述非优选第二历史搜索结果项为在所述第三历史搜索结果队列中不符合所述预设条件的第二历史搜索结果项;

根据所述正样本数据以及所述负样本数据训练生成第一判别模型。

可选的,所述第二判别模型的训练过程包括:

获取历史搜索请求对应的第三历史搜索结果队列;第三历史搜索结果队列包括至少一个第一历史搜索结果项以及至少一个第二历史搜索结果项;

将所述第二历史搜索结果项的特征以及所述第一历史搜索结果项的特征确定为第一训练数据,将所述第二历史搜索结果项是否优于所述第一历史搜索结果项的判别结果确定为所述第一训练数据对应的标签;

根据所述第一训练数据以及所述第一训练数据对应的标签训练生成第二判别模型。

可选的,依据下述方式确定所述第二历史搜索结果项是否优于所述第一历史搜索结果项的判别结果:

根据在触发所述历史搜索请求后,对所述第三历史搜索结果队列中的所述第一历史搜索结果项和/或所述第二历史搜索结果项的实际点击情况确定所述判别结果。

可选的,所述第三判别模型的训练过程包括:

获取历史搜索请求对应的第一历史搜索结果队列、第二历史搜索结果队列以及第三历史搜索结果队列;所述第一历史搜索结果队列包括至少一个第一历史搜索结果项,所述第二历史搜索结果队列包括至少一个第二历史搜索结果项,第三历史搜索结果队列包括至少一个第一历史搜索结果项以及至少一个第二历史搜索结果项;

将目标第二历史搜索结果项是否优于所述第一历史搜索结果项的判别结果以及所述搜索请求的特征确定为第二训练数据,将所述目标第二历史搜索结果项的优选插入位置确定为所述第二训练数据对应的标签;所述目标第二历史搜索结果项属于所述第二历史搜索结果队列;所述目标第二历史搜索结果项的优选插入位置是根据在触发所述历史搜索请求后,对所述第三历史搜索结果队列中所述目标第二历史搜索结果项的实际点击情况确定;

根据所述第二训练数据以及所述第二训练数据对应的标签训练生成第三判别模型。

可选的,所述第四判别模型的训练过程包括:

获取历史搜索请求对应的第一历史搜索结果队列、第二历史搜索结果队列以及第三历史搜索结果队列;所述第一历史搜索结果队列包括至少一个第一历史搜索结果项,所述第二历史搜索结果队列包括至少一个第二历史搜索结果项,第三历史搜索结果队列包括至少一个第一历史搜索结果项以及至少一个第二历史搜索结果项;

将目标第二历史搜索结果项的特征以及所述第一历史搜索结果队列中排序较高的多个第一历史搜索结果项的特征确定为第三训练数据,将所述目标第二历史搜索结果项的优选插入位置确定为所述第三训练数据对应的标签;所述目标第二历史搜索结果项属于所述第二历史搜索结果队列;所述目标第二历史搜索结果项的优选插入位置是根据在触发所述历史搜索请求后,对所述第三历史搜索结果队列中所述目标第二历史搜索结果项的实际点击情况确定;

根据所述第三训练数据以及所述第三训练数据对应的标签训练生成第四判别模型。

一种非临时性计算机可读存储介质,当所述存储介质中的指令由移动终端的处理器执行时,使得移动终端能够执行显示方法,所述方法包括:

接收客户端发送的搜索请求,获取所述搜索请求对应的第一搜索结果队列以及第二搜索结果队列,所述第一搜索结果队列包括至少一个第一搜索结果项,所述第二搜索结果队列包括至少一个第二搜索结果项;

根据预先训练的第一判别模型,从所述第二搜索结果队列中确定应该插入所述第一搜索结果队列的目标第二搜索结果项;

确定每个目标第二搜索结果项在所述第一搜索结果队列中的插入位置;

将每个目标第二搜索结果项插入所述第一搜索结果队列的相应插入位置,生成第三搜索结果队列。

可选的,所述根据预先训练的第一判别模型,从所述第二搜索结果队列中确定应该插入所述第一搜索结果队列的目标第二搜索结果项,包括:

将所述搜索请求的特征、待判别第二搜索结果项的特征以及所述第一搜索结果队列中预设个数的第一搜索结果项的特征,输入预先训练的第一判别模型,获得所述第一判别模型输出的针对所述待判别第二搜索结果项的第一判别结果;所述第一判别结果为所述待判别第二搜索结果项是否应该插入所述第一搜索结果队列,所述待判别第二搜索结果项属于所述第二搜索结果队列;

依据每个待判定第二搜索结果项分别对应的第一判别结果,确定所述目标第二搜索结果。

可选的,所述确定所述目标第二搜索结果项在所述第一搜索结果队列中的插入位置,包括:

将所述目标第二搜索结果项的特征与所述待比较第一搜索结果项的特征输入预先训练的第二判别模型,获得所述第二判别模型输出的第二判别结果;所述第二判别结果为所述目标第二搜索结果项是否优于所述待比较第一搜索结果项,所述待比较第一搜索结果项属于所述第一搜索结果队列;

根据所述第二判别结果,确定所述目标第二搜索结果项在所述第一搜索结果队列中的插入位置。

可选的,所述根据所述第二判别结果,确定所述目标第二搜索结果项在所述第一搜索结果队列中的插入位置,包括:

如果所述第二判别结果为所述目标第二搜索结果项优于所述待比较第一搜索结果项,将所述目标第二搜索结果项在所述第一搜索结果队列中的插入位置确定为在所述待比较第一搜索结果项之前。

可选的,所述根据所述第二判别结果,确定所述目标第二搜索结果项在所述第一搜索结果队列中的插入位置,包括:

根据所述第二判别结果,如果所述目标第二搜索结果项优于所述第一搜索结果队列中的连续多个待比较第一搜索结果项,将所述目标第二搜索结果项在所述第一搜索结果队列中的插入位置确定为在所述连续多个待比较第一搜索结果项之前。

可选的,所述根据所述第二判别结果,确定所述目标第二搜索结果项在所述第一搜索结果队列中的插入位置,包括:

将多个所述第二判别结果以及所述搜索请求的特征,输入预先训练的第三判别模型,获得所述第三判别模型输出的第三判别结果;所述第三判别结果为所述目标第二搜索结果项在所述第一搜索结果队列中的插入位置。

可选的,所述确定所述目标第二搜索结果项在所述第一搜索结果队列中的插入位置,包括:

将所述目标第二搜索结果项的特征与所述第一搜索结果队列中排序较高的多个第一搜索结果项的特征输入预先训练的第四判别模型,获得所述第四判别模型输出的第四判别结果;所述第四判别结果为所述目标第二搜索结果项在所述第一搜索结果队列中的插入位置。

可选的,所述第一判别模型的训练过程包括:

获取历史搜索请求对应的第一历史搜索结果队列、第二历史搜索结果队列以及第三历史搜索结果队列;所述第一历史搜索结果队列包括至少一个第一历史搜索结果项,所述第二历史搜索结果队列包括至少一个第二历史搜索结果项,第三历史搜索结果队列包括至少一个第一历史搜索结果项以及至少一个第二历史搜索结果项;

将所述历史搜索请求的特征、优选第二历史搜索结果项的特征以及所述第一历史搜索结果队列中预设个数的第一历史搜索结果项的特征确定为正样本数据;所述优选第二历史搜索结果项为在所述第三历史搜索结果队列中符合预设条件的第二历史搜索结果项;

将所述历史搜索请求的特征、非优选第二历史搜索结果项的特征以及所述第一历史搜索结果队列中预设个数的第一历史搜索结果项的特征确定为负样本数据;所述非优选第二历史搜索结果项为在所述第三历史搜索结果队列中不符合所述预设条件的第二历史搜索结果项;

根据所述正样本数据以及所述负样本数据训练生成第一判别模型。

可选的,所述第二判别模型的训练过程包括:

获取历史搜索请求对应的第三历史搜索结果队列;第三历史搜索结果队列包括至少一个第一历史搜索结果项以及至少一个第二历史搜索结果项;

将所述第二历史搜索结果项的特征以及所述第一历史搜索结果项的特征确定为第一训练数据,将所述第二历史搜索结果项是否优于所述第一历史搜索结果项的判别结果确定为所述第一训练数据对应的标签;

根据所述第一训练数据以及所述第一训练数据对应的标签训练生成第二判别模型。

可选的,依据下述方式确定所述第二历史搜索结果项是否优于所述第一历史搜索结果项的判别结果:

根据在触发所述历史搜索请求后,对所述第三历史搜索结果队列中的所述第一历史搜索结果项和/或所述第二历史搜索结果项的实际点击情况确定所述判别结果。

可选的,所述第三判别模型的训练过程包括:

获取历史搜索请求对应的第一历史搜索结果队列、第二历史搜索结果队列以及第三历史搜索结果队列;所述第一历史搜索结果队列包括至少一个第一历史搜索结果项,所述第二历史搜索结果队列包括至少一个第二历史搜索结果项,第三历史搜索结果队列包括至少一个第一历史搜索结果项以及至少一个第二历史搜索结果项;

将目标第二历史搜索结果项是否优于所述第一历史搜索结果项的判别结果以及所述搜索请求的特征确定为第二训练数据,将所述目标第二历史搜索结果项的优选插入位置确定为所述第二训练数据对应的标签;所述目标第二历史搜索结果项属于所述第二历史搜索结果队列;所述目标第二历史搜索结果项的优选插入位置是根据在触发所述历史搜索请求后,对所述第三历史搜索结果队列中所述目标第二历史搜索结果项的实际点击情况确定;

根据所述第二训练数据以及所述第二训练数据对应的标签训练生成第三判别模型。

可选的,所述第四判别模型的训练过程包括:

获取历史搜索请求对应的第一历史搜索结果队列、第二历史搜索结果队列以及第三历史搜索结果队列;所述第一历史搜索结果队列包括至少一个第一历史搜索结果项,所述第二历史搜索结果队列包括至少一个第二历史搜索结果项,第三历史搜索结果队列包括至少一个第一历史搜索结果项以及至少一个第二历史搜索结果项;

将目标第二历史搜索结果项的特征以及所述第一历史搜索结果队列中排序较高的多个第一历史搜索结果项的特征确定为第三训练数据,将所述目标第二历史搜索结果项的优选插入位置确定为所述第三训练数据对应的标签;所述目标第二历史搜索结果项属于所述第二历史搜索结果队列;所述目标第二历史搜索结果项的优选插入位置是根据在触发所述历史搜索请求后,对所述第三历史搜索结果队列中所述目标第二历史搜索结果项的实际点击情况确定;

根据所述第三训练数据以及所述第三训练数据对应的标签训练生成第四判别模型。

图9是本发明实施例中服务器的结构示意图。该服务器900可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,CPU)922(例如,一个或一个以上处理器)和存储器932,一个或一个以上存储应用程序942或数据944的存储介质930(例如一个或一个以上海量存储设备)。其中,存储器932和存储介质930可以是短暂存储或持久存储。存储在存储介质930的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器922可以设置为与存储介质930通信,在服务器900上执行存储介质930中的一系列指令操作。

终端900还可以包括一个或一个以上电源926,一个或一个以上有线或无线网络接口950,一个或一个以上输入输出接口956,一个或一个以上键盘956,和/或,一个或一个以上操作系统941,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。

需要说明的是,本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统或装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。

还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

相关技术
  • 一种搜索结果排序方法及搜索结果排序装置
  • 一种搜索结果排序方法和搜索结果排序器
技术分类

06120112941317