首页> 中国专利> 搜索结果输出方法、装置、计算机设备及可读存储介质

搜索结果输出方法、装置、计算机设备及可读存储介质

摘要

本申请公开了一种搜索结果输出方法、装置、计算机设备及可读存储介质,涉及互联网技术领域,将场景以及搜索结果之间的关联性考虑在排序过程中,实现多样化排序,保证排在前面的搜索结果与用户的搜索需求贴合,提升输出的搜索结果的准确性,通用性较好。所述方法包括:获取初始结果队列;根据多个搜索结果中每个搜索结果与搜索内容、用户所处的地理位置之间的匹配度,将多个搜索结果划分为多个信息组;按照多个预设排序因子对多个信息组中每个信息组包括的搜索结果进行排序,得到中间结果队列;基于初始结果队列与中间结果队列中同一位次的搜索结果之间的关联性,调整中间结果队列包括的搜索结果的顺序,得到目标结果队列;输出目标结果队列。

著录项

  • 公开/公告号CN113254810A

    专利类型发明专利

  • 公开/公告日2021-08-13

    原文格式PDF

  • 申请/专利权人 浙江口碑网络技术有限公司;

    申请/专利号CN202110673372.0

  • 发明设计人 苑爱泉;

    申请日2021-06-17

  • 分类号G06F16/9537(20190101);G06F16/9538(20190101);G06Q30/06(20120101);

  • 代理机构11448 北京中强智尚知识产权代理有限公司;

  • 代理人黄耀威

  • 地址 310012 浙江省杭州市西湖区西斗门路3号天堂软件园A幢11楼G座

  • 入库时间 2023-06-19 12:13:22

说明书

技术领域

本申请涉及互联网技术领域,特别是涉及一种搜索结果输出方法、装置、计算机设备及可读存储介质。

背景技术

近年来,随着互联网技术的快速发展,各种互联网应用广泛深入各类领域,大数据呈现爆炸式增长,海量的数据和信息分散于网络空间,当用户需要获取信息和数据时,可以通过搜索平台进行信息搜索,从而使搜索平台可以输出相关的搜索内容。搜索平台作为用户与信息之间的重要纽带,一般会针对用户搜索的内容输出大量相关的搜索结果,尽可能的为用户提供足够的信息进行参考。

相关技术中,搜索平台会根据用户输入的搜索内容查询一系列与搜索内容相关的结果,对这些结果进行CTR(Click-Through-Rate,点击通过率)预估,之后按照预设的标准对预估的结果进行评估,进而对这些结果进行排序,并将排序后的结果输出给用户查看。

在实现本申请的过程中,申请人发现相关技术至少存在以下问题:

基于预设标准对信息进行排序后输出的搜索结果具有局限性,排在前面的搜索结果可能并不贴合用户真正的搜索需求,导致输出的搜索结果不够准确,通用性较差。

发明内容

有鉴于此,本申请提供了一种搜索结果输出方法、装置、计算机设备及可读存储介质,主要目的在于解决目前搜索结果具有局限性,排在前面的搜索结果可能并不贴合用户真正的搜索需求,导致输出的搜索结果不够准确,通用性较差的问题。

依据本申请第一方面,提供了一种搜索结果输出方法,该方法包括:

获取初始结果队列,所述初始结果队列包括基于用户输入的搜索内容确定的与所述搜索内容相关的多个搜索结果;

根据所述多个搜索结果中每个搜索结果与所述搜索内容、所述用户所处的地理位置之间的匹配度,将所述多个搜索结果划分为多个信息组;

按照多个预设排序因子对所述多个信息组中每个信息组包括的搜索结果进行排序,得到中间结果队列;

基于所述初始结果队列与所述中间结果队列中同一位次的搜索结果之间的关联性,调整所述中间结果队列包括的搜索结果的顺序,得到目标结果队列;

输出所述目标结果队列。

可选地,所述获取初始结果队列,包括:

接收所述用户输入的所述搜索内容;

解析所述搜索内容,查询与所述搜索内容相关的所述多个搜索结果;

对所述多个搜索结果进行点击通过率CTR预估,输出所述多个搜索结果的多个预估点击率;

按照所述多个预估点击率对所述多个搜索结果进行排序,得到所述初始结果队列。

可选地,所述根据所述多个搜索结果中每个搜索结果与所述搜索内容、所述用户进行搜索时所处的搜索场景之间的匹配度,将所述多个搜索结果划分为多个信息组,包括:

对于所述多个搜索结果中每个搜索结果,确定所述每个搜索结果的语义匹配度和场景匹配度,所述语义匹配度指示了所述搜索结果与所述搜索内容的语义相关程度,所述场景匹配度指示了所述搜索结果与所述搜索场景的相关程度;

确定多个语义匹配度取值区间和多个场景匹配度取值区间;

将所述每个搜索结果的所述语义匹配度和所述场景匹配度与所述语义匹配度取值区间和所述多个场景匹配度取值区间进行比对,将语义匹配度和场景匹配度均处于同一取值区间的搜索结果划分为同一组,得到所述多个信息组。

可选地,所述确定所述每个搜索结果的语义匹配度和场景匹配度,包括:

对于所述多个搜索结果中每个搜索结果,查询所述搜索结果和所述搜索内容之间的所述语义匹配度;

确定所述用户输入所述搜索内容时所处的地理位置以及所述搜索结果相关的门店的门店位置;

计算所述地理位置与所述门店位置之间的位置距离,获取所述位置距离指示的所述场景匹配度。

可选地,所述确定多个语义匹配度取值区间和多个场景匹配度取值区间,包括:

查询预设划分标准,在所述预设划分标准中提取所述多个语义匹配度取值区间和所述多个场景匹配度取值区间;或,

统计第一预设数目的样本参数,基于机器学习深度模型对所述第一预设数目的样本参数进行语义训练,得到多个语义匹配度取值,按照所述多个语义匹配度取值之间的大小关系构建所述多个语义匹配度取值区间,并基于所述机器学习深度模型对所述第一预设数目的样本参数进行场景训练,得到多个场景匹配度取值,按照所述多个场景匹配度取值之间的大小关系构建所述多个场景匹配度取值区间。

可选地,所述按照多个预设排序因子对所述多个信息组中每个信息组包括的搜索结果进行排序,得到中间结果队列,包括:

对于所述多个信息组中每个信息组,基于所述多个预设排序因子,计算所述每个信息组包括的每个搜索结果的相关性评分;

按照所述相关性评分从大到小的顺序,对所述信息组包括的全部搜索结果进行排序,得到排序后的所述信息组;

分别为所述多个信息组中每个信息组包括的搜索结果计算相关性评分并进行排序,得到排序后的所述多个信息组;

按照所述多个信息组对应的分组等级从高到低的顺序将排序后的所述多个信息组进行组合,得到所述中间结果队列。

可选地,所述基于所述多个预设排序因子,计算所述每个信息组包括的每个搜索结果的相关性评分,包括:

对于所述信息组包括的所述每个搜索结果,查询所述搜索结果在所述多个预设排序因子上的多个因子评分;

获取所述多个预设排序因子对应的多个因子权重,基于所述多个因子权重对所述多个因子评分进行权重计算,得到所述搜索结果的所述相关性评分;

分别为所述每个搜索结果计算相关性评分,得到所述每个搜索结果的相关性评分。

可选地,所述获取所述多个预设排序因子对应的多个因子权重,包括:

对于所述多个预设排序因子中每个预设排序因子,查询用户输入的搜索内容对应的搜索意图和搜索行业;

基于线性函数,分别对所述搜索意图、所述搜索行业以及所述每个预设排序因子进行训练,得到所述多个因子权重。

可选地,所述基于所述初始结果队列与所述中间结果队列中同一位次的搜索结果之间的关联性,调整所述中间结果队列包括的搜索结果的顺序,得到目标结果队列,包括:

对于所述初始结果队列与所述中间结果队列中处于同一位次的每两个搜索结果,将所述两个搜索结果进行比对,确定所述两个搜索结果之间的关联性;

按照所述两个搜索结果之间的关联性,确定所述两个搜索结果的先后顺序并对所述中间结果队列进行调整,得到调整后的所述中间结果队列;

将调整后的所述中间结果队列输入至评估器进行评估,得到所述评估器输出的队列评分,采用所述队列评分对调整后的所述中间结果队列进行标注,所述评估器是基于多个样本队列进行训练的且指示有所述多个样本队列中每个样本队列的评分;

重复执行上述的比对过程,将调整后的所述中间结果队列与所述初始结果队列进行比对并对调整后的所述中间结果队列进行重新调整,直至调整次数达到预设轮转次数,得到数量满足所述预设轮转次数的队列评分;

在数量满足所述预设轮转次数的队列评分中提取队列评分最高的目标队列评分以及所述目标队列评分标注的目标中间结果队列;

确定第二预设数目,在所述目标中间结果队列的队首截取数量满足所述第二预设数目的搜索结果,将数量满足所述第二预设数目的搜索结果作为所述目标结果队列。

可选地,所述基于所述初始结果队列与所述中间结果队列中同一位次的搜索结果之间的关联性,调整所述中间结果队列包括的搜索结果的顺序,得到目标结果队列之后,所述方法还包括:

查询预设调控策略,确定所述预设调控策略的调控需求;

按照所述调控需求对所述目标结果队列包括的搜索结果进行顺序调整,得到调控后的所述目标结果队列;

将调控后的所述目标结果队列输出。

依据本申请第二方面,提供了一种搜索结果输出装置,该装置包括:

获取模块,用于获取初始结果队列,所述初始结果队列包括基于用户输入的搜索内容确定的与所述搜索内容相关的多个搜索结果;

划分模块,用于根据所述多个搜索结果中每个搜索结果与所述搜索内容、所述用户所处的地理位置之间的匹配度,将所述多个搜索结果划分为多个信息组;

排序模块,用于按照多个预设排序因子对所述多个信息组中每个信息组包括的搜索结果进行排序,得到中间结果队列;

调整模块,用于基于所述初始结果队列与所述中间结果队列中同一位次的搜索结果之间的关联性,调整所述中间结果队列包括的搜索结果的顺序,得到目标结果队列;

输出模块,用于输出所述目标结果队列。

可选地,所述获取模块,用于接收所述用户输入的所述搜索内容;解析所述搜索内容,查询与所述搜索内容相关的所述多个搜索结果;对所述多个搜索结果进行点击通过率CTR预估,输出所述多个搜索结果的多个预估点击率;按照所述多个预估点击率对所述多个搜索结果进行排序,得到所述初始结果队列。

可选地,所述划分模块,用于对于所述多个搜索结果中每个搜索结果,确定所述每个搜索结果的语义匹配度和场景匹配度,所述语义匹配度指示了所述搜索结果与所述搜索内容的语义相关程度,所述场景匹配度指示了所述搜索结果与所述搜索场景的相关程度;确定多个语义匹配度取值区间和多个场景匹配度取值区间;将所述每个搜索结果的所述语义匹配度和所述场景匹配度与所述语义匹配度取值区间和所述多个场景匹配度取值区间进行比对,将语义匹配度和场景匹配度均处于同一取值区间的搜索结果划分为同一组,得到所述多个信息组。

可选地,所述划分模块,用于对于所述多个搜索结果中每个搜索结果,查询所述搜索结果和所述搜索内容之间的所述语义匹配度;确定所述用户输入所述搜索内容时所处的地理位置以及所述搜索结果相关的门店的门店位置;计算所述地理位置与所述门店位置之间的位置距离,获取所述位置距离指示的所述场景匹配度。

可选地,所述划分模块,用于查询预设划分标准,在所述预设划分标准中提取所述多个语义匹配度取值区间和所述多个场景匹配度取值区间;或,统计第一预设数目的样本参数,基于机器学习深度模型对所述第一预设数目的样本参数进行语义训练,得到多个语义匹配度取值,按照所述多个语义匹配度取值之间的大小关系构建所述多个语义匹配度取值区间,并基于所述机器学习深度模型对所述第一预设数目的样本参数进行场景训练,得到多个场景匹配度取值,按照所述多个场景匹配度取值之间的大小关系构建所述多个场景匹配度取值区间。

可选地,所述排序模块,用于对于所述多个信息组中每个信息组,基于所述多个预设排序因子,计算所述每个信息组包括的每个搜索结果的相关性评分;按照所述相关性评分从大到小的顺序,对所述信息组包括的全部搜索结果进行排序,得到排序后的所述信息组;分别为所述多个信息组中每个信息组包括的搜索结果计算相关性评分并进行排序,得到排序后的所述多个信息组;按照所述多个信息组对应的分组等级从高到低的顺序将排序后的所述多个信息组进行组合,得到所述中间结果队列。

可选地,所述排序模块,用于对于所述信息组包括的所述每个搜索结果,查询所述搜索结果在所述多个预设排序因子上的多个因子评分;获取所述多个预设排序因子对应的多个因子权重,基于所述多个因子权重对所述多个因子评分进行权重计算,得到所述搜索结果的所述相关性评分;分别为所述每个搜索结果计算相关性评分,得到所述每个搜索结果的相关性评分。

可选地,所述排序模块,用于对于所述多个预设排序因子中每个预设排序因子,查询用户输入的搜索内容对应的搜索意图和搜索行业;基于线性函数,分别对所述搜索意图、所述搜索行业以及所述每个预设排序因子进行训练,得到所述多个因子权重。

可选地,所述调整模块,用于对于所述初始结果队列与所述中间结果队列中处于同一位次的每两个搜索结果,将所述两个搜索结果进行比对,确定所述两个搜索结果之间的关联性;按照所述两个搜索结果之间的关联性,确定所述两个搜索结果的先后顺序并对所述中间结果队列进行调整,得到调整后的所述中间结果队列;将调整后的所述中间结果队列输入至评估器进行评估,得到所述评估器输出的队列评分,采用所述队列评分对调整后的所述中间结果队列进行标注,所述评估器是基于多个样本队列进行训练的且指示有所述多个样本队列中每个样本队列的评分;重复执行上述的比对过程,将调整后的所述中间结果队列与所述初始结果队列进行比对并对调整后的所述中间结果队列进行重新调整,直至调整次数达到预设轮转次数,得到数量满足所述预设轮转次数的队列评分;在数量满足所述预设轮转次数的队列评分中提取队列评分最高的目标队列评分以及所述目标队列评分标注的目标中间结果队列;确定第二预设数目,在所述目标中间结果队列的队首截取数量满足所述第二预设数目的搜索结果,将数量满足所述第二预设数目的搜索结果作为所述目标结果队列。

可选地,所述装置还包括:

查询模块,用于查询预设调控策略,确定所述预设调控策略的调控需求;

所述调整模块,还用于按照所述调控需求对所述目标结果队列包括的搜索结果进行顺序调整,得到调控后的所述目标结果队列;

所述输出模块,还用于将调控后的所述目标结果队列输出。

依据本申请第三方面,提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述第一方面中任一项所述方法的步骤。

依据本申请第四方面,提供了一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面中任一项所述的方法的步骤。

借由上述技术方案,本申请提供的一种搜索结果输出方法、装置、计算机设备及可读存储介质,本申请在根据用户的搜索内容获取到初始结果队列后,根据初始结果队列中每个搜索结果与搜索内容、用户所处的地理位置之间的匹配度,将初始结果队列中的搜索结果划分为多个信息组,按照多个预设排序因子对多个信息组包括的搜索结果进行组内排序,并将排序后的多个信息组进行整合,得到中间结果队列。接着,基于初始结果队列与中间结果队列中同一位次的搜索结果之间的关联性,调整中间结果队列包括的搜索结果的顺序,得到目标结果队列并输出,使得用户进行搜索时所处的场景以及搜索结果之间的关联性均考虑在目标结果队列的排序过程中,实现搜索结果的多样化排序,保证目标结果队列中排在前面的搜索结果与用户的搜索需求贴合,提升输出的搜索结果的准确性,通用性较好。

上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1示出了本申请实施例提供的一种搜索结果输出方法流程示意图;

图2A示出了本申请实施例提供的一种搜索结果输出方法流程示意图;

图2B示出了本申请实施例提供的一种搜索结果输出方法的示意图;

图3A示出了本申请实施例提供的一种搜索结果输出装置的结构示意图;

图3B示出了本申请实施例提供的一种搜索结果输出装置的结构示意图;

图4示出了本申请实施例提供的一种计算机设备的装置结构示意图。

具体实施方式

下面将参照附图更详细地描述本申请的示例性实施例。虽然附图中显示了本申请的示例性实施例,然而应当理解,可以以各种形式实现本申请而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本申请,并且能够将本申请的范围完整的传达给本领域的技术人员。

本申请实施例提供了一种搜索结果输出方法,如图1所示,该方法包括:

101、获取初始结果队列,初始结果队列包括基于用户输入的搜索内容确定的与搜索内容相关的多个搜索结果。

102、根据多个搜索结果中每个搜索结果与搜索内容、用户所处的地理位置之间的匹配度,将多个搜索结果划分为多个信息组。

103、按照多个预设排序因子对多个信息组中每个信息组包括的搜索结果进行排序,得到中间结果队列。

104、基于初始结果队列与中间结果队列中同一位次的搜索结果之间的关联性,调整中间结果队列包括的搜索结果的顺序,得到目标结果队列。

105、输出目标结果队列。

本申请实施例提供的方法,在根据用户的搜索内容获取到初始结果队列后,根据初始结果队列中每个搜索结果与搜索内容、用户所处的地理位置之间的匹配度,将初始结果队列中的搜索结果划分为多个信息组,按照多个预设排序因子对多个信息组包括的搜索结果进行组内排序,并将排序后的多个信息组进行整合,得到中间结果队列。接着,基于初始结果队列与中间结果队列中同一位次的搜索结果之间的关联性,调整中间结果队列包括的搜索结果的顺序,得到目标结果队列并输出,使得用户进行搜索时所处的场景以及搜索结果之间的关联性均考虑在目标结果队列的排序过程中,实现搜索结果的多样化排序,保证目标结果队列中排在前面的搜索结果与用户的搜索需求贴合,提升输出的搜索结果的准确性,通用性较好。

本申请实施例提供了一种搜索信息输出方法,如图2A所示,该方法包括:

201、获取初始结果队列。

搜索平台可以为用户提供信息查找的最大入口,是连接用户和信息的重要纽带,搜索平台作为最常用的搜索工具已经成为人们生活中必不可少的一部分。搜索平台在为用户提供搜索服务时,根据用户输入的搜索内容会搜索到大量相关的搜索结果,而考虑到搜索结果是存在优劣之分的,因此,搜索平台中设计有排序机制,会按照排序机制将得出的搜索结果进行排序,并将排序后的搜索结果输出至用户。目前,很多搜索平台在对搜索结果进行排序时,通常利用CTR(Click Through Rate,点击通过率)或者CVR(Conversion Rate,转化率)等模型预估每个搜索结果的预估点击率,将预估点击率较大的搜索结果排在前面,使用户通过搜索能够最先获取到优质的搜索结果。或者有些搜索平台是直接设置业务规则,按照业务规则对搜索结果进行排序。但是,申请人认识到,实际上搜索结果排序时还有很多点需要考虑,比如考虑用户的搜索体验、搜索效率、商家诉求等等,单纯依赖预估点击率或者业务规则进行搜索结果的排序不够柔性,虽然可解释性较强,但是最终的排序结果并不平滑,并非最优的排序方式。而且这种排序方式将复杂、高维的业务参数摒弃,难以在不同的搜索场景中通用,推广性较差。

因此,本申请提出了一种搜索信息输出方法,在根据用户的搜索内容获取到初始结果队列后,根据初始结果队列中每个搜索结果与搜索内容、用户所处的地理位置之间的匹配度,将初始结果队列中的搜索结果划分为多个信息组,按照多个预设排序因子对多个信息组包括的搜索结果进行组内排序,并将排序后的多个信息组进行整合,得到中间结果队列。接着,基于初始结果队列与中间结果队列中同一位次的搜索结果之间的关联性,调整中间结果队列包括的搜索结果的顺序,得到目标结果队列并输出,使得用户进行搜索时所处的场景以及搜索结果之间的关联性均考虑在目标结果队列的排序过程中,实现搜索结果的多样化排序,保证目标结果队列中排在前面的搜索结果与用户的搜索需求贴合,提升输出的搜索结果的准确性,通用性较好。

而为了实现本申请中的技术方案,首先需要获取初始结果队列,在后续以初始结果队列为基础进行后续的分组、组内排序、重排、调整等过程。其中,初始结果队列包括基于用户输入的搜索内容确定的与搜索内容相关的多个搜索结果。在生成初始结果队列时,首先,接收用户输入的搜索内容,解析搜索内容,查询与搜索内容相关的多个搜索结果。随后,对多个搜索结果进行CTR预估,输出多个搜索结果的多个预估点击率。最后,按照多个预估点击率对多个搜索结果进行排序,得到初始结果队列。

202、根据多个搜索结果中每个搜索结果与搜索内容、用户所处的地理位置之间的匹配度,将多个搜索结果划分为多个信息组。

在本申请实施例中,获取到初始结果队列之后,需要根据多个搜索结果中每个搜索结果与搜索内容、用户所处的地理位置之间的匹配度,将多个搜索结果划分为多个信息组,建立基于体验的分档,以保证搜索结果的可解释性。

其中,将多个搜索结果划分为多个信息组的过程实际上是对搜索结果进行分档的过程,在搜索场景下,划分多个信息组时需要考虑至少两种维度下的搜索体验。第一种维度需要考虑语义匹配度,语义匹配度指的是搜索结果与搜索内容之间的语义相关程度;第二种维度需要考虑场景匹配度,场景匹配度指的是搜索结果与搜索场景的相关程度,具体可以是搜索结果与用户的LBS(Location Based Service,基于位置服务)、物理、时空的匹配接近程度,较为常见的是距离。这样,将多个搜索结果划分为多个信息组的过程具体如下:

首先,对于多个搜索结果中每个搜索结果,需要确定每个搜索结果的语义匹配度和场景匹配度。具体地。对于多个搜索结果中每个搜索结果,可直接查询搜索结果和搜索内容之间的语义匹配度,并确定用户输入搜索内容时所处的地理位置以及搜索结果相关的门店的门店位置,计算地理位置与门店位置之间的位置距离,获取位置距离指示的场景匹配度。

随后,确定多个语义匹配度取值区间和多个场景匹配度取值区间。语义匹配度取值区间和场景匹配度取值区间是用来同时综合两个维度的参数进行信息组的划分的。具体地,可以设置3个语义匹配度取值区间和3个场景匹配度取值区间。比如,3个语义匹配度取值区间可以分别为(0~30%)、(30%~60%)以及(60%~90%),(0~30%)的区间标签为“不相关”,(30%~60%)的区间标签为“弱相关”,(60%~90%)的区间标签为“强相关”。3个场景匹配度取值区间可以分别为(0~500米)、(500米~2000米)以及(2000米以上),(0~500米)的区间标签为“近距”,(500米~2000米)的区间标签为“中距”,(2000米以上)的区间标签为“远距”。

需要说明的是,由于来自不同行业的搜索结果能够承受的阈值是不同的,比如用户在搜索娱乐场所时,可以承受更远的距离,区间标签“近距”对应的场景匹配度取值区间实际上可以扩展为(0~5000米)。而有些行业的搜索得到的全部搜索结果可能都在5000米以内,均属于“近距”这一区间,无法区分档位,没有划分的意义。因此,在本申请实施例中,可以采用两种方式确定多个语义匹配度取值区间和多个场景匹配度取值区间,一种方式是由工作人员根据行业的不同人工设置预设划分标准,在预设划分标准中限定多个语义匹配度取值区间和多个场景匹配度取值区间,这样,搜索平台直接查询预设划分标准,在预设划分标准中提取多个语义匹配度取值区间和多个场景匹配度取值区间。另一种方式是统计第一预设数目的样本参数,例如可以是10万的样本参数,基于机器学习深度模型对第一预设数目的样本参数进行语义训练,得到多个语义匹配度取值,按照多个语义匹配度取值之间的大小关系构建多个语义匹配度取值区间,并基于机器学习深度模型对第一预设数目的样本参数进行场景训练,得到多个场景匹配度取值,按照多个场景匹配度取值之间的大小关系构建多个场景匹配度取值区间,采用在线动态的聚类算法形成多个取值区间,保证取值区间更加贴合用户的搜索场景。

最后,将每个搜索结果的语义匹配度和场景匹配度与语义匹配度取值区间和多个场景匹配度取值区间进行比对,将语义匹配度和场景匹配度均处于同一取值区间的搜索结果划分为同一组,得到多个信息组,实现两个维度的嵌套排序。继续以上述设置3个语义匹配度取值区间和3个场景匹配度取值区间为例进行说明,在划分信息组时,实际上可以按照布尔逻辑,建立如图2B所示的二维正交网格。二维正交网格中的一维为3个语义匹配度取值区间,分别为“强相关”、“弱相关”和“不相关”,另一维为3个场景匹配度取值区间,分别为“近距”、“中距”和“远距”。这样,在划分信息组时,将语义匹配度处于“强相关”且场景匹配度处于“近距”的搜索结果划分为至阴影区域对应的信息组,将语义匹配度处于“弱相关”且场景匹配度处于“中距”的搜索结果划分为至空白区域对应的信息组,将语义匹配度处于“不相关”且场景匹配度处于“远距”的搜索结果划分为至黑色区域对应的信息组。需要说明的是,实际应用中有些搜索结果的语义匹配度处于“弱相关”,而场景匹配度处于“近距”,在这种情况下,按照图2B中的划分方式,将该搜索结果划分至空白区域对应的信息组即可。另外,为了便于区分多个信息组,方便后续对信息组的整合,可以为每个信息组设置信息组名称。继续参见图2B,由于阴影区域对应的信息组中包括的搜索结果是相关性优且距离近距的搜索结果,因此,阴影区域对应的信息组的信息组名称可以为“优”;而空白区域对应的信息组中包括的搜索结果是相关性弱且距离中距的搜索结果,因此,空白区域对应的信息组的信息组名称可以为“良”;而黑色区域对应的信息组中包括的搜索结果是相关性不相关且距离远距的搜索结果,因此,黑色区域对应的信息组的信息组名称可以为“差”。

203、按照多个预设排序因子对多个信息组中每个信息组包括的搜索结果进行排序,得到中间结果队列。

在本申请实施例中,完成信息组的划分后,需要按照多个预设排序因子对多个信息组中每个信息组包括的搜索结果进行排序,得到中间结果队列,实现信息组的组内排序以及信息组的整合。其中,多个预设排序因子可以为查询匹配度、场景匹配度、用户匹配度以及店铺质量度中的一种或一种以上。查询匹配度可以是搜索结果与搜索内容之间的文本相关性、类目一致性、实体一致性、知识相关性、通用大模型分等;场景匹配度可以是搜索结果的距离分档、距离平滑分、POI(Point Of Interesting,兴趣点)类型匹配等;用户匹配度可以是搜索结果对应的预估点击率、转化率;店铺质量度可以是搜索结果对应的门店的店铺业务质量分、店铺物料质量分等等。由于每个搜索结果在多个预设排序因子上会对应多个不同的因子评分,无法实现排序,因此,需要将多个因子评分融合为一个相关性评分,进而按照相关性评分实现组内排序。下面以任一信息组内的任一搜索结果为例描述相关性评分的生成过程:

首先,查询搜索结果在多个预设排序因子上的多个因子评分。随后,获取多个预设排序因子对应的多个因子权重,基于多个因子权重对多个因子评分进行权重计算,得到搜索结果的相关性评分,权重计算的公式如公式1所示:

公式1:相关性评分=w1×score1+w2×score2+….

其中,score1和score2为两个因子评分,w1和w2为两个因子评分对应的因子权重。需要说明的是,考虑到来自不同行业的搜索结果在同一预设排序因子上的敏感程度是存在差异的,比如餐饮行业对场景匹配度较为敏感,用户通常希望就近吃饭,而摄影行业对场景匹配度并不敏感,用户通常并不在乎摄影门店的距离,因此,实际上对于多个预设排序因子中每个预设排序因子,可以查询用户输入的搜索内容对应的搜索意图和搜索行业,基于线性函数,分别对搜索意图、搜索行业以及每个预设排序因子进行训练,得到多个因子权重。具体地,可以基于下述公式2进行因子权重的训练:

公式2:w=f(intention_id,trade_id,θ)

其中,w为因子权重;f用于指示采用的线性函数;intention_id为搜索意图,具体可以搜索内容的品牌、类型、内容、地址等属性;trade_id为搜索行业,比如餐饮、医药、零售、娱乐、健身等等;θ为当前训练的预设排序因子。而在后续为了继续优化因子权重,使因子权重能够符合每个信息组的取值区间的约束,可以采用下述公式3对计算得到的因子权重进行计算,使得信息组对应的因子权重均是最优的权重。

公式3:w`=argmaxw(∑τR/∣τ∣)

其中,w`为最优的权重,argmaxw指示使w取得最大值所对应的∑τR/∣τ∣,R是按照位置从高到低对得到的每个因子权重加权求和的结果,τ指示加权求和的轮次。

通过重复执行上述计算搜索结果的相关性评分的过程,便可以分别为每个搜索结果计算相关性评分,得到每个搜索结果的相关性评分。

计算得到每个搜索结果的相关性评分后,对于多个信息组中每个信息组,按照相关性评分从大到小的顺序,对信息组包括的全部搜索结果进行排序,得到排序后的信息组,从而实现信息组的组内排序。重复执行排序的过程便分别为多个信息组中每个信息组包括的搜索结果计算相关性评分并进行排序,得到排序后的多个信息组。具体参见步骤202中为信息组设置信息组名称的内容可知,多个信息组是存在优劣之分的,因此,在完成了信息组的组内排序后,需要按照多个信息组对应的分组等级从高到低的顺序将排序后的多个信息组进行组合,得到中间结果队列。例如,假设信息组“优”为“ACDBE”,信息组“良”为“FHIGJ”,信息组“差”为“OLKMN”,则得到的中间结果队列为“ACDBE FHIGJ OLKMN”。

204、基于初始结果队列与中间结果队列中同一位次的搜索结果之间的关联性,调整中间结果队列包括的搜索结果的顺序,得到目标结果队列。

在本申请实施例中,通过上述步骤202至步骤203中的过程,搜索结果已经形成了一个中间结果队列。但是搜索结果之间是存在内在联系的,且用户的意图在浏览过程中也是存在双向变化,因此,在本申请实施例中,会综合考虑搜索结果之间的内在联系以及中间结果队列的上下文环境对用户的影响,进行中间结果队列的调整重排,使调整后的中间结果队列更加合理,形成新的目标结果队列。调整中间结果队列的过程包括两个步骤,具体如下:

步骤一、将初始结果队列和中间结果队列进行比对,对中间结果队列进行调整。

其中,在将初始结果队列和中间结果队列进行比对时,对于初始结果队列与中间结果队列中处于同一位次的每两个搜索结果,将两个搜索结果进行比对,确定两个搜索结果之间的关联性,并按照两个搜索结果之间的关联性,确定两个搜索结果的先后顺序并对中间结果队列进行调整,得到调整后的中间结果队列。例如,假设初始结果队列为“12345”,中间结果队列为“23541”,则将初始结果队列中的“1”与中间结果队列中的“2”进行对比,当确定“2”优于“1”时,将“21”记录。接下来,继续将初始结果队列中的“2”与中间结果队列中的“3”进行比对,当确定“3”优于“2”时,在上面记录的内容上将“3”添加进去,得到“321”,以此类推,直至整个初始结果队列与中间结果队列均对比完成,得到调整后的中间结果队列即为“32145”。

实际应用的过程中,可以通过GRU(Gate Recurrent Unit,门控循环单元)和Attention(注意力)结构建模,识别两个搜索结果之间的内在联系,接着通过Pointer-network(指针网络)对两个搜索结果进行比较,如此迭代,得到调整后的中间结果队列。

步骤二、对调整后的中间结果队列进行评估,输出队列评分。

在搜索场景中,用户与最后输出的结果队列是否会产生交互除了与用户和搜索结果本身有关外,还极大地受到上下文环境的影响。这里,主要考虑这两种影响:一种是用户意图在浏览过程中的双向变化。比如用户在滑动浏览搜索结果时,浏览到第7位的搜索结果时想要回忆第3位的搜索结果是什么,就会重新向上寻找第3位,也即用户的滑动浏览过程并不是一味的向后浏览,还可能向回查看。一般的,在某一页的浏览中,除了顺序地浏览搜索结果时发生的意图变化,后续的搜索结果也会对用户的意图产生影响,尤其是在双列信息流的情况中。另一种是店铺之间的协同关系,这种与位置关系无关的影响有助于提取更加长期的关系依赖。比如,假设用户只喜欢火锅,所以火锅和米线无论如何进行排序,都不会影响用户对火锅的选择,即使米线排在前面了,用户还会向后滑动寻找火锅,所以在这个场景中两个搜索结果之间是不会发生影响的。而假设用户同时喜欢火锅和米线,则火锅和米线之间就有较强的内在联系,哪个排在前面哪个就容易被用户选中。因此,只有捕捉了结果列表中上下文环境产生的影响,才能真正达到上下文感知。

所以,搜索平台中设置有评估器,评估器是基于多个样本队列进行训练的且指示有多个样本队列中每个样本队列的评分,评估器能够根据用户意图和搜索结果之间的关联关系对调整后的中间结果队列进行评分,进而在后续选择评分最高的结果队列作为最后的结果队列。具体地,评估器可以通过Bi-LSTM(Bidirectional-Long Short Term Memory,双向长短时记忆) 和 Self-attention (自注力机制)对用户意图和搜索结果之间的协同关系进行建模得到,评估器指示有大量样本队列对应的评分,因此,将调整后的中间结果队列输入至评估器进行评估,得到评估器输出的队列评分,并采用队列评分对调整后的中间结果队列进行标注。例如,假设调整后的中间结果队列为“34521”,评估器中的样本队列“34521”对应的评分为10分,则调整后的中间结果队列的队列评分即为10分。

重复执行上述步骤一中的比对过程以及步骤二中的评分过程,将调整后的中间结果队列与初始结果队列进行比对,并对调整后的中间结果队列进行重新调整,直至调整次数达到预设轮转次数,便可以得到数量满足预设轮转次数的队列评分。随后,在数量满足预设轮转次数的队列评分中提取队列评分最高的目标队列评分以及目标队列评分标注的目标中间结果队列。考虑到输出的结果列表需要限定长度,因此,可以需要确定第二预设数目,在目标中间结果队列的队首截取数量满足第二预设数目的搜索结果,将数量满足第二预设数目的搜索结果作为目标结果队列。

需要说明的是,本申请实施例中,在确定目标结果队列时应用了第二预设数目,而在实际应用的过程中,可以在步骤一得到调整的中间结果队列时,便按照第二预设数目对调整的中间结果队列进行截取,从而减轻后续创建评估器以及基于评估器进行队列评估的压力。再有,第二预设数目可以根据信息组“优”的长度设置,可以与信息组“优”的长度一致或者大于信息组“优”的长度,使信息组“优”中的搜索结果均能被考虑到的同时,还能适当延伸到信息组“良”中,避免优秀的搜索结果被过滤掉。

205、按照调控需求对目标结果队列包括的搜索结果进行顺序调整。

在本申请实施例中,有些搜索场景中随着活动的投放、商家诉求的变化等会设置一些调控需求,比如将同一品牌的搜索结果打散、距离保序增强、新加搜索结果加权、反作弊等等。因此,实际应用的过程中,需要查询预设调控策略,确定预设调控策略的调控需求,并按照调控需求对目标结果队列包括的搜索结果进行顺序调整,得到调控后的目标结果队列,在后续将调控后的目标结果队列输出。

其中,预设调控策略可以分为三种,第一种是服务策略,比如同一品牌的搜索结果打散、距离保序增强等等。第二种是保序策略,按照搜索平台中的实时流量对目标结果队列中的搜索内容进行调控。第三种是反作弊策略,接入外部的反作弊系统,基于反作弊系统对目标结果队列进行干预。

206、输出目标结果队列。

在本申请实施例中,得到目标结果队列后,将目标结果队列输出即可。这样,通过上述过程,便实现了初始结果队列的多维分组、组内排序、队列重排以及服务调序,按照搜索结果的优良程度进行排序,使优秀的搜索结果排在前面。而且,在本申请中,组内排序以及队列重排均是基于大规模深度机器学习模型进行学习实现的,能够面对复杂、高维的参数空间,使得本申请提出的方法在多种场景中均具备较强的推广性。

本申请实施例提供的方法,在根据用户的搜索内容获取到初始结果队列后,根据初始结果队列中每个搜索结果与搜索内容、用户所处的地理位置之间的匹配度,将初始结果队列中的搜索结果划分为多个信息组,按照多个预设排序因子对多个信息组包括的搜索结果进行组内排序,并将排序后的多个信息组进行整合,得到中间结果队列。接着,基于初始结果队列与中间结果队列中同一位次的搜索结果之间的关联性,调整中间结果队列包括的搜索结果的顺序,得到目标结果队列并输出,使得用户进行搜索时所处的场景以及搜索结果之间的关联性均考虑在目标结果队列的排序过程中,实现搜索结果的多样化排序,保证目标结果队列中排在前面的搜索结果与用户的搜索需求贴合,提升输出的搜索结果的准确性,通用性较好。

进一步地,作为图1所述方法的具体实现,本申请实施例提供了一种搜索结果输出装置,如图3A所示,所述装置包括:获取模块301,划分模块302,排序模块303,调整模块304以及输出模块305。

该获取模块301,用于获取初始结果队列,所述初始结果队列包括基于用户输入的搜索内容确定的与所述搜索内容相关的多个搜索结果;

该划分模块302,用于根据所述多个搜索结果中每个搜索结果与所述搜索内容、所述用户所处的地理位置之间的匹配度,将所述多个搜索结果划分为多个信息组;

该排序模块303,用于按照多个预设排序因子对所述多个信息组中每个信息组包括的搜索结果进行排序,得到中间结果队列;

该调整模块304,用于基于所述初始结果队列与所述中间结果队列中同一位次的搜索结果之间的关联性,调整所述中间结果队列包括的搜索结果的顺序,得到目标结果队列;

该输出模块305,用于输出所述目标结果队列。

在具体的应用场景中,该获取模块301,用于接收所述用户输入的所述搜索内容;解析所述搜索内容,查询与所述搜索内容相关的所述多个搜索结果;对所述多个搜索结果进行点击通过率CTR预估,输出所述多个搜索结果的多个预估点击率;按照所述多个预估点击率对所述多个搜索结果进行排序,得到所述初始结果队列。

在具体的应用场景中,该划分模块302,用于对于所述多个搜索结果中每个搜索结果,确定所述每个搜索结果的语义匹配度和场景匹配度,所述语义匹配度指示了所述搜索结果与所述搜索内容的语义相关程度,所述场景匹配度指示了所述搜索结果与所述搜索场景的相关程度;确定多个语义匹配度取值区间和多个场景匹配度取值区间;将所述每个搜索结果的所述语义匹配度和所述场景匹配度与所述语义匹配度取值区间和所述多个场景匹配度取值区间进行比对,将语义匹配度和场景匹配度均处于同一取值区间的搜索结果划分为同一组,得到所述多个信息组。

在具体的应用场景中,该划分模块302,用于对于所述多个搜索结果中每个搜索结果,查询所述搜索结果和所述搜索内容之间的所述语义匹配度;确定所述用户输入所述搜索内容时所处的地理位置以及所述搜索结果相关的门店的门店位置;计算所述地理位置与所述门店位置之间的位置距离,获取所述位置距离指示的所述场景匹配度。

在具体的应用场景中,该划分模块302,用于查询预设划分标准,在所述预设划分标准中提取所述多个语义匹配度取值区间和所述多个场景匹配度取值区间;或,统计第一预设数目的样本参数,基于机器学习深度模型对所述第一预设数目的样本参数进行语义训练,得到多个语义匹配度取值,按照所述多个语义匹配度取值之间的大小关系构建所述多个语义匹配度取值区间,并基于所述机器学习深度模型对所述第一预设数目的样本参数进行场景训练,得到多个场景匹配度取值,按照所述多个场景匹配度取值之间的大小关系构建所述多个场景匹配度取值区间。

在具体的应用场景中,该排序模块303,用于对于所述多个信息组中每个信息组,基于所述多个预设排序因子,计算所述每个信息组包括的每个搜索结果的相关性评分;按照所述相关性评分从大到小的顺序,对所述信息组包括的全部搜索结果进行排序,得到排序后的所述信息组;分别为所述多个信息组中每个信息组包括的搜索结果计算相关性评分并进行排序,得到排序后的所述多个信息组;按照所述多个信息组对应的分组等级从高到低的顺序将排序后的所述多个信息组进行组合,得到所述中间结果队列。

在具体的应用场景中,该排序模块303,用于对于所述信息组包括的所述每个搜索结果,查询所述搜索结果在所述多个预设排序因子上的多个因子评分;获取所述多个预设排序因子对应的多个因子权重,基于所述多个因子权重对所述多个因子评分进行权重计算,得到所述搜索结果的所述相关性评分;分别为所述每个搜索结果计算相关性评分,得到所述每个搜索结果的相关性评分。

在具体的应用场景中,该排序模块303,用于对于所述多个预设排序因子中每个预设排序因子,查询用户输入的搜索内容对应的搜索意图和搜索行业;基于线性函数,分别对所述搜索意图、所述搜索行业以及所述每个预设排序因子进行训练,得到所述多个因子权重。

在具体的应用场景中,该调整模块304,用于对于所述初始结果队列与所述中间结果队列中处于同一位次的每两个搜索结果,将所述两个搜索结果进行比对,确定所述两个搜索结果之间的关联性;按照所述两个搜索结果之间的关联性,确定所述两个搜索结果的先后顺序并对所述中间结果队列进行调整,得到调整后的所述中间结果队列;将调整后的所述中间结果队列输入至评估器进行评估,得到所述评估器输出的队列评分,采用所述队列评分对调整后的所述中间结果队列进行标注,所述评估器是基于多个样本队列进行训练的且指示有所述多个样本队列中每个样本队列的评分;重复执行上述的比对过程,将调整后的所述中间结果队列与所述初始结果队列进行比对并对调整后的所述中间结果队列进行重新调整,直至调整次数达到预设轮转次数,得到数量满足所述预设轮转次数的队列评分;在数量满足所述预设轮转次数的队列评分中提取队列评分最高的目标队列评分以及所述目标队列评分标注的目标中间结果队列;确定第二预设数目,在所述目标中间结果队列的队首截取数量满足所述第二预设数目的搜索结果,将数量满足所述第二预设数目的搜索结果作为所述目标结果队列。

在具体的应用场景中,如图3B所示,该装置还包括:查询模块306。

该查询模块306,用于查询预设调控策略,确定所述预设调控策略的调控需求;

该调整模块304,还用于按照所述调控需求对所述目标结果队列包括的搜索结果进行顺序调整,得到调控后的所述目标结果队列;

该输出模块305,还用于将调控后的所述目标结果队列输出。

本申请实施例提供的装置,在根据用户的搜索内容获取到初始结果队列后,根据初始结果队列中每个搜索结果与搜索内容、用户所处的地理位置之间的匹配度,将初始结果队列中的搜索结果划分为多个信息组,按照多个预设排序因子对多个信息组包括的搜索结果进行组内排序,并将排序后的多个信息组进行整合,得到中间结果队列。接着,基于初始结果队列与中间结果队列中同一位次的搜索结果之间的关联性,调整中间结果队列包括的搜索结果的顺序,得到目标结果队列并输出,使得用户进行搜索时所处的场景以及搜索结果之间的关联性均考虑在目标结果队列的排序过程中,实现搜索结果的多样化排序,保证目标结果队列中排在前面的搜索结果与用户的搜索需求贴合,提升输出的搜索结果的准确性,通用性较好。

需要说明的是,本申请实施例提供的一种搜索结果输出装置所涉及各功能单元的其他相应描述,可以参考图1和图2A中的对应描述,在此不再赘述。

在示例性实施例中,参见图4,还提供了一种设备,该设备包括总线、处理器、存储器和通信接口,还可以包括输入输出接口和显示设备,其中,各个功能单元可以通过总线完成相互间的通信。该存储器存储有计算机程序,处理器,用于执行存储器上所存放的程序,执行上述实施例中的搜索结果输出方法。

一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述的搜索结果输出方法的步骤。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施场景所述的方法。

本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的模块或流程并不一定是实施本申请所必须的。

本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景描述进行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施场景的一个或多个装置中。上述实施场景的模块可以合并为一个模块,也可以进一步拆分成多个子模块。

上述本申请序号仅仅为了描述,不代表实施场景的优劣。

以上公开的仅为本申请的几个具体实施场景,但是,本申请并非局限于此,任何本领域的技术人员能思之的变化都应落入本申请的保护范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号