Nothing Special   »   [go: up one dir, main page]

CN113239183B - 排序模型的训练方法、装置、电子设备和存储介质 - Google Patents

排序模型的训练方法、装置、电子设备和存储介质 Download PDF

Info

Publication number
CN113239183B
CN113239183B CN202110590613.5A CN202110590613A CN113239183B CN 113239183 B CN113239183 B CN 113239183B CN 202110590613 A CN202110590613 A CN 202110590613A CN 113239183 B CN113239183 B CN 113239183B
Authority
CN
China
Prior art keywords
search
sample
target
word
result
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.)
Active
Application number
CN202110590613.5A
Other languages
English (en)
Other versions
CN113239183A (zh
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.)
Beijing Dajia Internet Information Technology Co Ltd
Original Assignee
Beijing Dajia Internet Information Technology Co Ltd
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 Beijing Dajia Internet Information Technology Co Ltd filed Critical Beijing Dajia Internet Information Technology Co Ltd
Priority to CN202110590613.5A priority Critical patent/CN113239183B/zh
Publication of CN113239183A publication Critical patent/CN113239183A/zh
Application granted granted Critical
Publication of CN113239183B publication Critical patent/CN113239183B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/335Filtering based on additional data, e.g. user or group profiles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • G06F18/2148Generating training patterns; Bootstrap methods, e.g. bagging or boosting characterised by the process organisation or structure, e.g. boosting cascade
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/216Parsing using statistical methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Computation (AREA)
  • Evolutionary Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computational Linguistics (AREA)
  • Databases & Information Systems (AREA)
  • Probability & Statistics with Applications (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本公开关于排序模型的训练方法、装置、电子设备和存储介质。所述方法包括:获取样本长尾搜索词和被搜索次数多于样本长尾搜索词的至少一个样本高频搜索词;若样本长尾搜索词和任一样本高频搜索词的样本搜索结果中包含相同的公共搜索结果,则将公共搜索结果与任一样本高频搜索词之间的样本搜索相关特征作为泛化样本搜索相关特征;确定训练样本,包括样本长尾搜索词、多个公共搜索结果以及样本长尾搜索词分别与各个公共搜索结果之间的泛化搜索相关特征;将训练样本输入待训练模型,以获取待训练模型排序后输出的样本排序结果,并根据排序偏差训练待训练模型以得到排序模型。该模型能够提升搜索结果的排序效果,提升用户对于长尾搜索词的搜索体验。

Description

排序模型的训练方法、装置、电子设备和存储介质
技术领域
本公开涉及搜索领域,尤其涉及一种排序模型的训练方法、装置、电子设备和存储介质。
背景技术
现阶段,用户可以在搜索引擎(Search Engine)中输入搜索词(Query),以通过搜索引擎搜索与所输入搜索词相关的网络内容。相应的,搜索引擎将与搜索词相关的搜索结果(或称召回结果)进行排序后向用户输出。因为网络内容的热度不同,所以搜索引擎接收到的针对不同搜索词的搜索请求数量也存在差异:相对于搜索次数较多的高频搜索词,搜索次数较少的低频搜索词(或称长尾搜索词)往往因为搜索次数较少使得统计特征的误差较大,从而导致长尾搜索词所对应多个搜索结果的排列顺序往往并不合理。
为解决这一问题,相关技术中采用“降权”的方式加以处理,即降低排序过程中统计特征的权重。该方式虽然一定程度上减少了统计噪声的影响,但是在其他搜索特征区分度不高的情况下,仍然难以有效消除统计噪声对排序结果的不利影响。而且该方式在对于低质量搜索结果降低统计特征的权重的同时,也降低了优质搜索结果的统计特征的权重,所以仍然无法保证优质搜索结果的排序靠前,即难以有效提升搜索结果的排序质量,影响了用户对于长尾搜索词的搜索体验。
发明内容
本公开提供了搜索结果的排序方法、装置、电子设备和存储介质,以至少解决相关技术中的技术问题。本公开的技术方案如下:
根据本公开实施例的第一方面,提出一种排序模型的训练方法,包括:
获取样本长尾搜索词和被搜索次数多于所述样本长尾搜索词的至少一个样本高频搜索词,所述样本长尾搜索词和任一所述样本高频搜索词之间的相关性高于样本相关性阈值;
若所述样本长尾搜索词和任一样本高频搜索词的样本搜索结果中包含相同的公共搜索结果,则将所述公共搜索结果与所述任一样本高频搜索词之间的样本搜索相关特征作为所述公共搜索结果与所述样本长尾搜索词之间的泛化样本搜索相关特征;
确定训练样本,所述训练样本包括所述样本长尾搜索词、多个所述公共搜索结果以及所述样本长尾搜索词分别与各个所述公共搜索结果之间的所述泛化搜索相关特征,所述多个所述公共搜索结果被分别标注有真实排序结果;
将所述训练样本输入待训练模型,以获取所述待训练模型对所述训练样本中的多个所述公共搜索结果进行排序后输出的样本排序结果,并根据所述样本排序结果与所述真实排序结果之间的排序偏差训练所述待训练模型以得到所述排序模型。
可选的,所述获取样本长尾搜索词和被搜索次数多于所述样本长尾搜索词的至少一个样本高频搜索词,包括:
将预设时间段内的被搜索次数小于第一次数阈值的样本历史搜索词,作为样本长尾搜索词;以及,
将所述预设时间段内的样本历史搜索词按照语义划分为至少一个搜索词集合,并将各个所述搜索词集合中被搜索次数最高的样本历史搜索词分别作为样本高频搜索词,或者将所述样本长尾搜索词所在的搜索词集合中被搜索次数大于第二次数阈值的至少一个样本历史搜索词作为样本高频搜索词,所述第二次数阈值大于所述第一次数阈值。
可选的,所述待训练模型为基于pairwise的xgboost树模型,所述训练样本包括第一样本数据和第二样本数据,其中:
所述第一样本数据包括所述样本长尾搜索词、第一公共搜索结果和所述第一公共搜索结果对应的第一泛化搜索相关特征;
所述第二样本数据包括所述样本长尾搜索词、第二公共搜索结果和所述第二公共搜索结果对应的第二泛化搜索相关特征。
可选的,所述公共搜索结果与所述任一样本高频搜索词之间的样本搜索相关特征包括下述至少之一:
所述公共搜索结果与所述任一样本高频搜索词之间的相关性特征;
所述公共搜索结果的质量特征;
所述公共搜索结果的消费特征。
根据本公开实施例的第二方面,提出一种搜索结果的排序方法,包括:
获取目标长尾搜索词及其对应的多个目标搜索结果;
在历史搜索词中确定被搜索次数多于所述目标长尾搜索词的至少一个目标高频搜索词,所述目标长尾搜索词和任一所述目标高频搜索词之间的相关性高于相关性阈值,且任一所述目标高频搜索词的搜索结果中包含至少一个所述目标搜索结果;
确定各个目标搜索结果分别与所述目标长尾搜索词之间的泛化搜索相关特征,其中,任一目标搜索结果与所述目标长尾搜索词之间的泛化搜索相关特征,为所述任一目标搜索结果与搜索结果中包含所述任一目标搜索结果的目标高频搜索词之间的搜索相关特征;
将所述目标长尾搜索词、所述各个目标搜索结果、以及所述各个目标搜索结果分别与所述目标长尾搜索词之间的所述泛化搜索相关特征输入排序模型,以获取所述排序模型对所述各个目标搜索结果进行排序后输出的排序结果,所述排序模型为通过采用如第一方面中任一实施例所述的排序模型的训练方法预训练得到的模型。
可选的,所述在历史搜索词中确定被搜索次数多于所述目标长尾搜索词的至少一个目标高频搜索词,包括:
在至少一个搜索词集合中确定搜索次数最高或者搜索次数大于搜索阈值的高频搜索词,所述至少一个搜索词集合被按照语义对预设时间段内的历史搜索词进行划分得到;
在至少一个高频搜索词的搜索结果中包含任一目标搜索结果的情况下,将所述至少一个高频搜索词中与所述目标长尾搜索词相似度最高的高频搜索词,确定为所述任一目标搜索结果对应的目标高频搜索词。
可选的,所述将所述至少一个高频搜索词中与所述目标长尾搜索词相似度最高的高频搜索词,确定为所述任一目标搜索结果对应的目标高频搜索词,包括:
若仅有一个高频搜索词的搜索结果中包含所述任一目标搜索结果,则将该高频搜索词确定为所述任一目标搜索结果对应的目标高频搜索词;
若有多个高频搜索词的搜索结果中包含所述任一目标搜索结果,则依次确定所述目标长尾搜索词的特征向量与所述多个高频搜索词的特征向量之间的向量距离,并将所述向量距离最小的高频搜索词确定为所述任一目标搜索结果对应的目标高频搜索词。
可选的,所述目标长尾搜索词的特征向量与所述多个高频搜索词的特征向量,通过预训练的特征提取模型提取得到。
可选的,所述任一目标搜索结果与搜索结果中包含所述任一目标搜索结果的目标高频搜索词之间的搜索相关特征,包括下述至少之一:
所述任一目标搜索结果与搜索结果中包含所述任一目标搜索结果的目标高频搜索词之间的相关性特征;
所述任一目标搜索结果的质量特征;
所述任一目标搜索结果的消费特征。
可选的,还包括:
将所述排序结果发送至发起所述目标长尾搜索词所对应搜索请求的客户端,所述客户端用于按照所述排序结果展示所述多个目标搜索结果。
根据本公开实施例的第三方面,提出一种排序模型的训练装置,包括:
搜索词获取单元,被配置为获取样本长尾搜索词和被搜索次数多于所述样本长尾搜索词的至少一个样本高频搜索词,所述样本长尾搜索词和任一所述样本高频搜索词之间的相关性高于样本相关性阈值;
特征泛化单元,被配置为若所述样本长尾搜索词和任一样本高频搜索词的样本搜索结果中包含相同的公共搜索结果,则将所述公共搜索结果与所述任一样本高频搜索词之间的样本搜索相关特征作为所述公共搜索结果与所述样本长尾搜索词之间的泛化样本搜索相关特征;
样本确定单元,被配置为确定训练样本,所述训练样本包括所述样本长尾搜索词、多个所述公共搜索结果以及所述样本长尾搜索词分别与各个所述公共搜索结果之间的所述泛化搜索相关特征,所述多个所述公共搜索结果被分别标注有真实排序结果;
模型训练单元,被配置为将所述训练样本输入待训练模型,以获取所述待训练模型对所述训练样本中的多个所述公共搜索结果进行排序后输出的样本排序结果,并根据所述样本排序结果与所述真实排序结果之间的排序偏差训练所述待训练模型以得到所述排序模型。
可选的,所述搜索词获取单元还被配置为:
将预设时间段内的被搜索次数小于第一次数阈值的样本历史搜索词,作为样本长尾搜索词;以及,
将所述预设时间段内的样本历史搜索词按照语义划分为至少一个搜索词集合,并将各个所述搜索词集合中被搜索次数最高的样本历史搜索词分别作为样本高频搜索词,或者将所述样本长尾搜索词所在的搜索词集合中被搜索次数大于第二次数阈值的至少一个样本历史搜索词作为样本高频搜索词,所述第二次数阈值大于所述第一次数阈值。
可选的,所述待训练模型为基于pairwise的xgboost树模型,所述训练样本包括第一样本数据和第二样本数据,其中:
所述第一样本数据包括所述样本长尾搜索词、第一公共搜索结果和所述第一公共搜索结果对应的第一泛化搜索相关特征;
所述第二样本数据包括所述样本长尾搜索词、第二公共搜索结果和所述第二公共搜索结果对应的第二泛化搜索相关特征。
可选的,所述公共搜索结果与所述任一样本高频搜索词之间的样本搜索相关特征包括下述至少之一:
所述公共搜索结果与所述任一样本高频搜索词之间的相关性特征;
所述公共搜索结果的质量特征;
所述公共搜索结果的消费特征。
根据本公开实施例的第四方面,提出一种搜索结果的排序装置,包括:
目标搜索词获取单元,被配置为获取目标长尾搜索词及其对应的多个目标搜索结果;
高频搜索词获取单元,被配置为在历史搜索词中确定被搜索次数多于所述目标长尾搜索词的至少一个目标高频搜索词,所述目标长尾搜索词和任一所述目标高频搜索词之间的相关性高于相关性阈值,且任一所述目标高频搜索词的搜索结果中包含至少一个所述目标搜索结果;
泛化特征确定单元,被配置为确定各个目标搜索结果分别与所述目标长尾搜索词之间的泛化搜索相关特征,其中,任一目标搜索结果与所述目标长尾搜索词之间的泛化搜索相关特征,为所述任一目标搜索结果与搜索结果中包含所述任一目标搜索结果的目标高频搜索词之间的搜索相关特征;
搜索结果排序单元,被配置为将所述目标长尾搜索词、所述各个目标搜索结果、以及所述各个目标搜索结果分别与所述目标长尾搜索词之间的所述泛化搜索相关特征输入排序模型,以获取所述排序模型对所述各个目标搜索结果进行排序后输出的排序结果,所述排序模型为通过采用如第一方面中任一实施例所述的排序模型的训练方法预训练得到的模型。
可选的,所述高频搜索词获取单元还被配置为:
在至少一个搜索词集合中确定搜索次数最高或者搜索次数大于搜索阈值的高频搜索词,所述至少一个搜索词集合被按照语义对预设时间段内的历史搜索词进行划分得到;
在至少一个高频搜索词的搜索结果中包含任一目标搜索结果的情况下,将所述至少一个高频搜索词中与所述目标长尾搜索词相似度最高的高频搜索词,确定为所述任一目标搜索结果对应的目标高频搜索词。
可选的,所述高频搜索词获取单元还被配置为:
若仅有一个高频搜索词的搜索结果中包含所述任一目标搜索结果,则将该高频搜索词确定为所述任一目标搜索结果对应的目标高频搜索词;
若有多个高频搜索词的搜索结果中包含所述任一目标搜索结果,则依次确定所述目标长尾搜索词的特征向量与所述多个高频搜索词的特征向量之间的向量距离,并将所述向量距离最小的高频搜索词确定为所述任一目标搜索结果对应的目标高频搜索词。
可选的,所述目标长尾搜索词的特征向量与所述多个高频搜索词的特征向量,通过预训练的特征提取模型提取得到。
可选的,所述任一目标搜索结果与搜索结果中包含所述任一目标搜索结果的目标高频搜索词之间的搜索相关特征,包括下述至少之一:
所述任一目标搜索结果与搜索结果中包含所述任一目标搜索结果的目标高频搜索词之间的相关性特征;
所述任一目标搜索结果的质量特征;
所述任一目标搜索结果的消费特征。
可选的,还包括:
排序结果发送单元,被配置为将所述排序结果发送至发起所述目标长尾搜索词所对应搜索请求的客户端,所述客户端用于按照所述排序结果展示所述多个目标搜索结果。
根据本公开实施例的第五方面,提出一种电子设备,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如上述第二方面中任一实施例所述的排序模型的训练方法,或者第二方面中任一实施例所述的搜索结果的排序方法。
根据本公开实施例的第六方面,提出一种计算机可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行上述第二方面中任一实施例所述的排序模型的训练方法,或者第二方面中任一实施例所述的搜索结果的排序方法。
根据本公开实施例的第七方面,提供一种计算机程序产品,包括计算机程序和/或指令,所述计算机程序和/或指令被处理器执行时实现上述第二方面中任一实施例所述的排序模型的训练方法,或者第二方面中任一实施例所述的搜索结果的排序方法。
本公开的实施例提供的技术方案至少带来以下有益效果:
根据本公开的实施例,能够在样本高频搜索词与样本长尾搜索词各自的样本搜索结果包含相同的公共搜索结果的情况下,将公共搜索结果与样本高频搜索词之间的样本搜索相关特征作为公共搜索结果与样本长尾搜索词之间的泛化样本搜索相关特征,从而实现对搜索特征的泛化处理。因此,将该泛化样本搜索相关特征作为训练样本参与训练得到的排序模型,能够在对目标搜索词的目标搜索结果进行排序时,充分考虑不同搜索结果所对应的泛化搜索相关特征之间的差异,并根据该差异实现对目标搜索结果的准确排序。通过该方案,排序结果中与目标长尾搜索词之间的相关性高、内容质量高、内容时鲜性(及时性)好的优质搜索结果被排列的相对靠前,而非优质搜索结果被排列的相对靠后,从而有效提升对于长尾搜索词的搜索结果的排序效果,有助于提升用户对长尾搜索词的搜索体验。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本公开的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是一示例性实施例提供的一种内容搜索系统的架构示意图;
图2是根据本公开的实施例示出的一种搜索引擎响应搜索请求的过程示意图;
图3是根据本公开的实施例示出的一种排序模型的训练方法的流程图;
图4是根据本公开的实施例示出的一种搜索结果的排序方法的流程图;
图5是根据本公开的实施例示出的另一种排序模型的训练方法的流程图;
图6是根据本公开的实施例示出的一种样本高频搜索词的确定过程示意图;
图7是根据本公开的实施例示出的另一种搜索结果的排序方法的流程图;
图8是根据本公开的实施例示出的一种目标高频搜索词的确定过程示意图;
图9是根据本公开的实施例示出的一种排序模型的训练装置的示意框图;
图10是根据本公开的实施例示出的一种搜索结果的排序装置的示意框图;
图11是根据本公开的实施例示出的一种电子设备的结构图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
随着互联网技术的迅猛发展,搜索技术也可以快速更新迭代。现阶段,用户通常通过搜索引擎搜索互联网中的网络内容:用户在客户端中输入搜索词(即搜索关键词)后,搜索引擎对该搜索词进行分析并获取相应的搜索结果,最终将搜索结果排序后输出至客户端向用户展示。因为网络内容的热度不同,所以搜索引擎接收到的针对不同搜索词的搜索请求数量也存在差异。对于搜索引擎来说,除了搜索次数较多的高频搜索词(相对更热门)之外,其还会接收到搜索次数较少的长尾搜索词(相对更冷门),这类搜索词的搜索、展现、点击次数通常较少。例如,“电影评分”可能为高频搜索词,而“电影Movie1的演员表”则可能为长尾搜索词;又例如,“电影Movie1男主角”可能为高频搜索词,而“演员Actor1在电影Movie1中扮演的角色名称”则为长尾搜索词等。
实际上,某一个长尾搜索词的搜索量虽然比较小,但是服务端接收到的长尾搜索词总体数量庞大,加起来的搜索、展示、点击往往并不比高频搜索词的搜索、展示、点击次数少,因此对于这类长尾搜索词的搜索结果进行优化,将有助于显著提升长尾搜索词的搜索体验。然而,正因为这类长尾搜索词的搜索结果的基数较小,所以在搜索结果的排序过程中统计特征出现的随机噪声、系统噪声等统计噪声相对较大,从而导致长尾搜索词所对应的多个搜索结果的排列顺序往往并不合理。例如,用户在搜索“演员Actor1在电影Movie1中扮演的角色名称”这一长尾搜索词后,排列在前的搜索结果可能与用户的真实搜索意图关联性并不强,甚至将其他演员甚至与电影Movie1完全无关的搜索结果排列在前面。
为解决这一问题,相关技术中采用“降权”的方式加以处理,即降低排序过程中统计特征的权重。该方式虽然一定程度上减少了统计噪声的影响,但是在相关性特征、质量特征、消费特征等其他搜索特征区分度不高的情况下,仍然难以有效消除统计噪声对排序结果的不利影响。而且,该方式在对于低质量搜索结果降低统计特征的权重的同时,也同样降低了优质搜索结果的统计特征的权重,所以仍然无法保证优质搜索结果的排序靠前,即难以有效提升搜索结果的排序质量,导致用户对于长尾搜索词的搜索体验通常较差。
为解决上述问题,本公开实施例提出一种排序模型的训练方法,以及一种利用基于该方法训练得到的排序模型对搜索结果进行排序的方法,通过将长尾搜索词与搜索结果之间的搜索相关特征泛化为高频搜索词与搜索结果之间的搜索相关特征,能够将优质的高频搜索结果与长尾搜索词之间的相关性体现在对于长尾关键词的搜索结果排序中,从而有效提升搜索结果的排序质量,进而提升用户对于长尾搜索词的搜索体验。下面结合相关实施例对上述方法进行详细说明。
本方案提出的搜索结果的排序方法可以应用于内容搜索系统中。图1是一示例性实施例提供的一种内容搜索系统的架构示意图。如图1所示,该系统可以包括网络10、服务器11、至少一个电子设备,比如第一手机12、第二手机13和第三手机14等。
服务器11可以为包含一独立主机的物理服务器,或者该服务器11也可以为主机集群承载的虚拟服务器。在运行过程中,服务器11可以运行某一应用的服务器侧的程序,以实现该应用的相关业务功能,比如当该服务器11运行搜索引擎的程序时,可以实现为该搜索引擎的服务端。而在本公开一个或多个实施例的技术方案中,可由服务器11通过与第一手机12、第二手机13和第三手机14上运行的客户端进行配合,以实现内容搜索及展示方案;而服务器11可以用于实现本公开实施例所述的排序模型的训练方法和搜索结果的排序方法。
另外,需要说明的是,该服务器11所实现的搜索引擎可以为独立的网络资源搜索引擎,如浏览器中的搜索引擎等;或者也可以为集成式的搜索引擎或可被其他应用程序调用的搜索引擎,如直播平台的搜索功能对应的搜索引擎、内容提供平台的搜索功能对应的搜索引擎、购物平台的搜索功能对应的搜索引擎等,本公开实施例对于所涉及搜索引擎的应用场景及具体形式并不进行限制。
第一手机12、第二手机13和第三手机14只是用户可以使用的一种类型的电子设备。实际上,用户显然还可以使用诸如下述类型的电子设备:平板设备、笔记本电脑、掌上电脑(PDAs,Personal Digital Assistants)、可穿戴设备(如智能眼镜、智能手表等)等,本公开一个或多个实施例并不对此进行限制。在运行过程中,该电子设备可以运行某一应用的客户端侧的程序,以实现该应用的相关业务功能,比如当该电子设备运行搜索引擎的程序时,可以实现为该搜索引擎的客户端,任一客户端可以向服务端11实现的搜索引擎的服务端发送携带搜索关键词的搜索请求,并接收搜索引擎返回的搜索结果、利用本公开实施例得到的排序结果或者排序后的搜索结果。
需要指出的是:搜索引擎的客户端的应用程序可以被预先安装在电子设备上,使得该客户端可以在该电子设备上被启动并运行;当然,当采用诸如HTML5技术的在线“客户端”时,无需在电子设备上安装相应的应用程序,即可获得并运行该客户端。
而对于网络10,可以包括多种类型的有线或无线网络。
图2是根据本公开的实施例示出的一种搜索引擎响应搜索请求的过程示意图。如图2所示,该过程可以包括下述步骤202-208。
步骤202,接收搜索请求。
使用客户端的用户可以在客户端中输入或指定搜索词,从而客户端可以在接收到搜索词后即生成包含该搜索词的搜索请求,并将该请求发送至搜索引擎的服务端。
步骤204,获取搜索结果。
搜索引擎响应于接收到的搜索请求,对搜索词进行必要的分析,以结合查询词和用户信息正确获知用户的真正搜索意图。然后,可以根据预先建立的搜索索引或者本地缓存,甚至调用网络爬虫获取符合用户真正搜索意图的搜索结果,如新闻、文章、网页、视频、图片、地理位置等,当然,对于搜索结果的具体形式和内容,本公开实施例并不进行限制。实际上,上述获取搜索结果的过程,可以理解为相关技术中响应于搜索请求进行召回的过程,所得的搜索结果可以为召回过程的召回结果。
步骤206,对搜索结果进行排序。
对搜索结果进行排序的过程,即为确定各个搜索结果向用户展示时的展示顺序的过程。在对搜索结果进行排序之前,搜索引擎的服务端可以采用本公开实施例所述的排序模型的训练方法训练排序模型,并在获取到某一长尾搜索词及其对应的搜索结果之后,可以使用预先训练得到的排序模型对搜索结果进行排序。
需要说明的是,本公开实施例所述的排序模型的训练方法可以由搜索引擎的服务端执行,当然也可以由其他设备执行,并将训练完成的排序模型提供至搜索引擎的服务端,甚至运行在搜索引擎可访问的其他设备中。而本公开实施例所述的搜索结果的排序方法,可以搜索引擎的服务端执行,此时,该方法可以以功能模块的形式集成在搜索引擎中,本公开实施例并不对此进行限制。当然,该搜索结果的排序方法也可以由搜索引擎的客户端实现,如将上述功能模块部署在搜索引擎的客户端中,从而搜索引擎的服务端可以在获取到上述搜索结果后不进行排序处理,而是直接发送至客户端进行排序并展示,此时将针对搜索结果的排序过程下放至客户端,有助于减轻服务端的处理压力。但是,为避免排序模型体量较大可能导致的客户端卡顿,可以对上述排序模型进行轻量化处理后再部署至客户端中,具体过程不再赘述。
步骤208,输出排序结果。
对搜索结果进行排序后得到的排序结果可以发送至发起搜索请求的客户端,或者,也可以将搜索结果按照该排序结果排序后发送至该客户端,不再赘述。用户端可以将上述搜索结果按照排序结果向用户展示,从而将长尾搜索词的多个搜索结果中的高质量搜索结果靠前的相对更靠前,而非优质搜索结果展示的相对更靠后,实现对长尾搜索词所对应搜索结果的优化。
下面结合图3-图8对模型训练和搜索结果的排序过程进行详细说明。
图3是根据本公开的实施例示出的一种排序模型的训练方法的流程图。如图3所示,该方法应用于服务端等模型训练设备,可以包括以下步骤302-308。
步骤302,获取样本长尾搜索词和被搜索次数多于所述样本长尾搜索词的至少一个样本高频搜索词,所述样本长尾搜索词和任一所述样本高频搜索词之间的相关性高于样本相关性阈值。
在本实施例中,模型训练设备可以从预设时间段(如一小时、一天、一周、一月等)内产生的历史搜索记录中获取样本长尾搜索词和样本高频搜索词,并基于获取到的样本长尾搜索词和样本高频搜索词确定出训练样本。因为在相关技术中,用户搜索长尾搜索词得到的(排序后的)搜索结果可能并不满意,如连续2、3页均未查看到合适的搜索结果,此时用户往往并不会点击当前的不合适结果,而会选择直接更换其他(语义)相关的搜索词再次进行搜索。
例如在视频搜索场景下,对于搜索词A,在用户对当前搜索结果不满意的情况下,其通常并不会实施长播(触发播放视频并观看超出一定时长)、点赞、转发、进入视频发布方主页等相关交互操作,而是会更换一个与A语义相近的搜索词A’再次尝试搜索。可见,在用户连续发出的两个搜索词语义相近且并未对前一搜索词实施预设操作的情况下,可以判定用户对于前一搜索词对应的搜索结果不满意。因此,模型训练设备可以在预设时间段的全部历史搜索记录中获取多个(如10万、20万等)语义相近且搜索结果不满意的相邻搜索词,并将获取到的多个相邻搜索词作为后续步骤中的样本历史搜索词。通过该方式,能够保证样本历史搜索词与用户的不满意搜索行为相对应,从而保证后续使用的样本历史搜索词包括足够多的长尾搜索词。
其中,前一搜索词和后一搜索词之间“语义相近”,即表征二者之间的相关性高于样本相关性阈值,而在搜索场景下,可以使用语义相似度表征二者之间的相关性。例如,上述搜索词A与A’之间的语义相似度,可以通过A和A’各自特征向量之间的特征距离进行计算。如在确定出相邻搜索词中的前一搜索词对应的搜索结果未发生上述转发、点赞等预设操作的情况下,可以提取此时相邻搜索词A和A’的Emdedding向量:Ea和Eb,并计算Ea和Eb之间的向量距离,如可以计算二者之间的余弦距离cos(Ea,Eb)。显然,向量距离越小,搜索词A与A’之间的语义相似度越高;否则,向量距离越大,搜索词A与A’之间的语义相似度越低。进一步的,上述A和A’各自的特征向量,可以通过经过预训练的向量提取模型提取得到,如该模型可以为经过训练的bert网络模型。还可以预先设置向量距离的阈值,如在余弦距离小于0.2的情况下,即确定A和A’语义相似;当然,该阈值可以设置的稍大些,如0.4、0.6、0.5等,以保证样本搜索词的数量足够多,在方案实践中,可以根据搜索词类型、搜素方式、搜索时刻等具体情况设置该阈值,本公开实施例并不对此进行限制。当然,还可以通过其他方式对A与A’进行语义分析,以确定之间的语义相似度,不再赘述。
在一实施例中,对于上述预设时间段内的大量样本历史搜索词,模型训练设备可以将其中被搜索次数小于第一次数阈值的搜索词确定为样本长尾搜索词。并且,还可以将上述预设时间段内的样本历史搜索词按照语义划分为至少一个搜索词集合。例如,对于“电影资源、NBA、txt资源、电影Movie2男主角、2020年Movie2作文大赛冠军、体育直播、标题、历史上扑球最多的世界杯守门员、文学家、大满贯”等样本历史搜索词,可以按照语义划分为分别与电影、文字和体育相关的三个搜索词集合:“电影资源、电影Movie2男主角”、“文学家、txt资源、2020年Movie2作文大赛冠军、标题”和“体育直播、NBA、历史上扑球最多的世界杯守门员、大满贯”。当然,需要说明的是,因为上述样本历史搜索词包括长尾搜索词和高频搜索词,所以划分后的任一搜索词集合中可能同时包含长尾搜索词和高频搜索词,如“文学家、txt资源、2020年Movie2作文大赛冠军、标题”中即包含长尾搜索词“2020年Movie2作文大赛冠军”和高频搜索词“文学家、txt资源、标题”。此时,模型训练设备可以将上述各个搜索词集合中被搜索次数最高的样本历史搜索词分别作为样本高频搜索词。然而,由于样本可能存在的局限性,搜索词集合中搜索次数最高的历史搜索词的实际搜索次数可能并非高频,因此为保证所确定的样本高频搜索词确实为高频搜索词,还可以将样本长尾搜索词所在的搜索词集合中被搜索次数大于第二次数阈值的至少一个样本历史搜索词作为样本高频搜索词。
步骤304,若所述样本长尾搜索词和任一样本高频搜索词的样本搜索结果中包含相同的公共搜索结果,则将所述公共搜索结果与所述任一样本高频搜索词之间的样本搜索相关特征作为所述公共搜索结果与所述样本长尾搜索词之间的泛化样本搜索相关特征。
在本实施例中,确定出的任一样本长尾搜索词与其对应的任一样本高频搜索词,至少存在一个公共搜索结果,如用户搜索样本长尾搜索词“电影Movie2男主角”时的搜索结果中包含关于某一男演员的百科页面,而用户在搜索样本高频搜索词“悬疑剧”时的搜索结果中,也包含该页面,则此时的样本长尾搜索词和样本高频搜索词分别为“电影Movie2男主角”和“悬疑剧”,公共搜索结果即为上述页面。
此时,因为确定出的样本长尾搜索词和样本高频搜索词包含公共搜索结果,所以可以对样本长尾搜索词的公共搜索结果进行特征泛化,即将样本高频搜索词与公共搜索结果之间的样本搜索相关特征作为样本长尾搜索词与公共搜索结果之间的泛化样本搜索相关特征。另外,因为同一个样本长尾搜索词的不同搜索结果可能同时为不同样本高频搜索词的搜索结果(即同一样本长尾搜索词可能与不同的样本高频搜索词具有不同的公共搜索结果),所以对于任一公共搜索结果,可以将其与任一样本高频搜索词之间的样本搜索相关特征作为样本长尾搜索词与该公共搜索结果之间的泛化样本搜索相关特征。
其中,公共搜索结果与任一样本高频搜索词之间的样本搜索相关特征可以包括下述至少之一:公共搜索结果与上述任一样本高频搜索词之间的相关性特征,如可以为该任一样本高频搜索词的特征向量与公共搜索结果的特征向量之间的向量距离等,用于表征二者之间的相关程度:该向量距离越近,表明二者之间的相关性越强(语义相关性越强等)。也可以包括上述公共搜索结果的质量特征,如根据公共搜索结果的分辨率、帧率、清晰度等质量参数提取得到的特征等,用于表征公共搜索结果的内容质量的优劣。还可以包括公共搜索结果的消费特征,即与用户针对该公共搜索结果的消费行为相关的特征,如前述的点赞、转发等行为,或者还可以为举报、投诉等行为,本公开实施例并不对此进行限制。
其中,需要说明的是,公共搜索结果的消费特征仅对应于用户在上述任一样本高频搜索词下针对该公共搜索结果的消费行为,而与用户在推荐或其他搜索词下针对该搜索结果的消费行为无关。其中,上述质量特征和相关性特征由公共搜索结果与样本搜索词自身决定,因此可称为公共搜索结果的先验特征,而上述消费特征与用户的消费行为相关,因此可称为公共搜索结果的后验特征。通过上述先验特征和/或后验特征的泛化,使得特征泛化处理后的泛化样本搜索相关特征能够充分而全面的反映公共搜索结果与样本高频搜索词相关的特征,从而使得在样本长尾搜索词下的排序过程中仍然能够充分考量该特征,保证高质量的公共搜索结果被排列在样本长尾搜索词的全部搜索结果中的前部,进而保证根据该样本数据训练得到的排序模型对于高低质量结果的准确排序。
步骤306,确定训练样本,所述训练样本包括所述样本长尾搜索词、多个所述公共搜索结果以及所述样本长尾搜索词分别与各个所述公共搜索结果之间的所述泛化搜索相关特征,所述多个所述公共搜索结果被分别标注有真实排序结果。
步骤308,将所述训练样本输入待训练模型,以获取所述待训练模型对所述训练样本中的多个所述公共搜索结果进行排序后输出的样本排序结果,并根据所述样本排序结果与所述真实排序结果之间的排序偏差训练所述待训练模型以得到所述排序模型。
在上述特征泛化处理结束后,模型训练设备可以根据上述泛化结果构建训练样本,并基于训练样本对待训练模型进行训练。其中,上述训练样本中所包含的多个公共搜索结果被分别标注有真实排序结果,该真实排序结果可以为预先针对公共搜索结果进行的排序标注,或者也可以在确定上述训练样本后,对该训练样本所涉及的多个公共搜索结果进行标注。其中,上述搜索结果的排序表述可以采用人工标注。
在一实施例中,上述待训练模型可以为基于pairwise的xgboost树模型。因为在基于pairwise的xgboost模型中,仅关注在样本长尾搜索词的查询下,各个公共搜索结果之间的绝对相关度,而并不关注其他搜索结果与样本长尾搜索词之间的相关度,所以通过上述训练样本,基于xgboost模型训练得到的排序模型能够充分考虑同一样本长尾搜索词所对应各个公共搜索结果的泛化搜索相关特征,进而保证训练所得排序模型能够充分反映泛化搜索相关特征对于排序结果的影响。
另外,因为基于pairwise的xgboost树模型的一组输入通常包括两条样本数据,所以上述训练样本包括第一样本数据和第二样本数据,其中,第一样本数据可以包括样本长尾搜索词、第一公共搜索结果和第一公共搜索结果对应的第一泛化搜索相关特征,而第二样本数据可以包括样本长尾搜索词、第二公共搜索结果和第二公共搜索结果对应的第二泛化搜索相关特征。可见,上述第一样本数据和第二样本数据分别包含同一样本长尾搜索词对应的两条公共搜索结果及各自对应的泛化搜索相关特征,所以通过该训练样本能够保证训练结果尽量接近训练样本被标注的真实排序结果,从而实现更好的训练效果。
根据本公开的实施例,能够在样本高频搜索词与样本长尾搜索词各自的样本搜索结果包含相同的公共搜索结果的情况下,将公共搜索结果与样本高频搜索词之间的样本搜索相关特征作为公共搜索结果与样本长尾搜索词之间的泛化样本搜索相关特征,从而实现对搜索特征的泛化处理。因此,将该泛化样本搜索相关特征作为训练样本参与训练得到的排序模型,能够在对目标搜索词的目标搜索结果进行排序时,充分考虑不同搜索结果所对应的泛化搜索相关特征之间的差异,并根据该差异实现对目标搜索结果的准确排序。通过该方案,排序结果中与目标长尾搜索词之间的相关性高、内容质量高、内容时鲜性(及时性)好的优质搜索结果被排列的相对靠前,而非优质搜索结果被排列的相对靠后,从而有效提升对于长尾搜索词的搜索结果的排序效果,有助于提升用户对长尾搜索词的搜索体验。
图4是根据本公开的实施例示出的一种搜索结果的排序方法的流程图。如图4所示,该方法应用于排序设备,可以包括以下步骤:
步骤402,获取目标长尾搜索词及其对应的多个目标搜索结果。
在本实施例中,排序设备可以为搜索引擎的服务端,当然,也可以为搜索引擎的客户端或除二者之外的其他设备,本公开实施例并不对此进行限制。下面以排序设备为搜索引擎的服务端(以下简称服务端)为例进行说明。
步骤404,在历史搜索词中确定被搜索次数多于所述目标长尾搜索词的至少一个目标高频搜索词,所述目标长尾搜索词和任一所述目标高频搜索词之间的相关性高于相关性阈值,且任一所述目标高频搜索词的搜索结果中包含至少一个所述目标搜索结果。
客户端检测到用户实施的搜索操作后,可以根据用户输入或指定的搜索词生成搜索请求并发送至服务端。而服务端在接收到搜索请求后,可以从该请求中提取其中携带的目标搜索词,并响应于该搜索请求获取相应的目标搜索结果。例如,对于目标搜索词,可以获取到200个与该目标搜索词相关的网页地址,或者获取到1000个与目标搜索词相关的短视频等,上述网页地址或者短视频即为该目标搜索词对应的搜索结果,当然,搜索结果还可以为其他形式,不再赘述。其中,服务端可以通过预先训练的召回模型获取搜索结果(该搜索结果即为目标搜索词对应的目标搜索结果),具体过程可以参见相关技术中的记载,此处不再赘述。
另外,服务端可以判断该目标搜索词是否为长尾搜索词,例如,在服务端维护有历史搜索词或搜索词的搜索记录的情况下,可以统计该目标搜索词在上述预设时间段内的搜索次数,并在其搜索次数低于预设次数阈值的情况下,确定该目标搜索词为长尾搜索词。其中,上述预设时间段对应的预设次数阈值可以为每天10次、每周50次等,本公开实施例并不对此进行限制。而且,在目标搜索词满足上述预设次数阈值的情况下,还可以进一步对目标搜索词进行分词,并在分词后的实义词(如名词、形容词、动词等)的数量不少于预设数量的情况下将该目标搜索词确定为长尾搜索词,当然还可以通过其他方式确定,不再赘述。在确定目标搜索词为长尾词的情况下,即确定该目标搜索词为目标长尾搜索词,此时可采用图3所述实施例的方法训练得到的排序模型对响应于搜索请求获取到的目标搜索结果(即该目标长尾搜索词对应的搜索结果)进行排序。
在排序之前,需要先对目标长尾搜索词和相应的目标搜索结果进行预处理,以便基于目标搜索词和目标搜索结果得到符合排序模型输入要求的输入数据。
在本实施例中,服务端可以先确定与目标搜索词存在相同的搜索结果(即共同目标搜索结果)的目标高频搜索词,即确定目标搜索结果对应的目标高频搜索词。例如,服务端可以先确定至少一个搜索词集合中搜索次数最高或者搜索次数大于搜索阈值的高频搜索词,其中,上述搜索次数阈值可以为预设固定值,如可以为每天10次、每周100万次等;另外,上述至少一个搜索词集合可以由服务端预先按照语义对预设时间段内的历史搜索词进行划分得到,或者由其他设备预先按照语义对预设时间段内的历史搜索词进行划分得到后提供至服务端,又或者服务端通过其他设备提供的调用接口获取上述历史搜素词等,本公开实施例并不对此进行限制。
然后,服务端可以判断各个高频搜索词的搜索结果,若至少一个高频搜索词的搜索结果中包含任一目标搜索结果(该搜索结果同时为目标长尾搜索词和该高频搜索词的搜索结果,下称共同目标搜索结果),则服务端可以将所述至少一个高频搜索词中与目标长尾搜索词相似度最高的高频搜索词确定为共同目标搜索结果对应的目标高频搜索词。通过该方式,能够保证确定出的至少一个目标高频搜索词对应于各个共同目标搜索结果(任一高频搜索词可以对应于多个共同目标搜索结果),进而保证搜索结果的排序结果准确性和合理性。
进一步的,因为搜索结果中包含共同目标搜索结果的高频搜索词并非固定,所以可以根据高频搜索词的个数确定共同目标搜索结果对应的目标高频搜索词。例如,若仅有一个高频搜索词的搜索结果中包含共同目标搜索结果,则服务端可以将该高频搜索词确定为该共同目标搜索结果对应的目标高频搜索词;若有多个高频搜索词的搜索结果中包含相同的共同目标搜索结果,则服务端可以依次确定目标长尾搜索词的特征向量与多个高频搜索词的特征向量之间的向量距离,并将向量距离最小的高频搜索词确定为共同目标搜索结果对应的目标高频搜索词。通过上述方式,能够准确的确定出各个共同目标搜索结果分别对应的高频搜索词,从而有助于保证后续创建的输入数据符合排序模型的数据输入标准。
进一步的,上述实施例中提及的目标长尾搜索词的特征向量与多个高频搜索词的特征向量,可以通过预训练的特征提取模型提取得到。例如,可以通过预训练的bert网络模型提取得到。
步骤406,确定各个目标搜索结果分别与所述目标长尾搜索词之间的泛化搜索相关特征,其中,任一目标搜索结果与所述目标长尾搜索词之间的泛化搜索相关特征,为所述任一目标搜索结果与搜索结果中包含所述任一目标搜索结果的目标高频搜索词之间的搜索相关特征。
确定上述各个目标搜索结果分别对应的目标高频搜索词之后,服务端可以将各个目标搜索结果与相应的目标高频搜索词之间的搜索相关特征分别作为各个目标搜索结果与目标长尾搜索词之间的泛化搜索相关特征,从而实现对各个目标搜索结果的特征泛化处理。其中,上述任一目标搜索结果对应的搜索相关特征可以包括下述至少之一:可以为该任一目标搜索结果与其对应的高频搜索词之间的相关性特征,如该目标搜索结果的特征向量与该目标搜索结果对应的高频搜索词的特征向量之间的向量距离;该向量距离用于表征目标搜索结果与该高频搜索词之间的相关程度,距离越近,表明二者的相关性越强,如语义相关性越强等。搜索相关特征也可以包括上述任一目标搜索结果的质量特征,如根据任一目标搜索结果的分辨率、帧率、清晰度等质量参数提取得到的特征等,用于表征该任一目标搜索结果的内容质量的优劣。还可以包括任一目标搜索结果的消费特征,即与用户针对该任一目标搜索结果的消费行为相关的特征,如前述的点赞、转发等行为,或者还可以为举报、投诉等行为,本公开实施例并不对此进行限制。
其中,需要说明的是,上述任一目标搜索结果的消费特征仅对应于用户在上述目标高频搜索词下针对该任一目标搜索结果的消费行为,而与用户在推荐或其他搜索词下针对该搜索结果的消费行为无关。其中,上述质量特征和相关性特征由上述任一目标搜索结果与目标搜索词自身决定,因此可称为该目标搜索结果的先验特征,而上述消费特征与用户的消费行为相关,因此可称为目标搜索结果的后验特征。通过上述先验特征和/或后验特征的泛化,使得特征泛化处理后的泛化目标搜索相关特征能够充分而全面的反映上述任一目标搜索结果与高频搜索词相关的特征,从而使得在目标长尾搜索词下的排序过程中能够充分考量该特征,保证高质量的公共搜索结果被排列在目标长尾搜索词的全部搜索结果中的前部,进而保证排序模型对于高低质量结果的准确排序。
步骤408,将所述目标长尾搜索词、所述各个目标搜索结果、以及所述各个目标搜索结果分别与所述目标长尾搜索词之间的所述泛化搜索相关特征输入排序模型,以获取所述排序模型对所述各个目标搜索结果进行排序后输出的排序结果,所述排序模型为通过采用如步骤302-308所述的排序模型的训练方法预训练得到的模型。
在一实施例中,服务端可以获取上述排序模型输出的排序结果,并将该排序结果发送至发起目标长尾搜索词所对应搜索请求的客户端,从而该客户端可以按照该排序结果向用户展示多个目标搜索结果,以便用户查看该方法得到的排序后的输出结果。当然,服务端也可以将该排序结果对应的排序后的输出结果返回至上述客户端,从而该服务端可以根据排序结果对搜索结果进行排序,并将排序后的搜索结果返回至客户端用户展示。
如前所述,前述过程训练得到的排序模型能够在对目标搜索词的目标搜索结果进行排序时,充分考虑不同搜索结果所对应的泛化搜索相关特征之间的差异,并根据该差异实现对目标搜索结果的准确排序,所以在根据目标长尾搜索词和其对应的目标高频搜索词对其搜索结果进行排序的过程中,能够充分考虑不同搜索结果所对应的泛化搜索相关特征之间的差异,从而根据该差异实现对目标搜索结果的准确排序。通过该方案,排序结果中与目标长尾搜索词之间的相关性高、内容质量高、内容时鲜性好(发布时刻距离当前时刻越近的内容,时鲜性越好)的优质搜索结果被排列的相对靠前,而非优质搜索结果被排列的相对靠后,从而有效提升对于长尾搜索词的搜索结果的排序效果,提升了用户对于长尾搜索词的搜索体验。
下面结合图5-图6对排序模型的训练过程进行详细说明。图5是根据本公开的实施例示出的另一种排序模型的训练方法的流程图,如图5所示,该方法应用于模型训练设备,以模型训练设备为搜索引擎的服务端为例,该排序模型的训练方法包括下述步骤502-514。
步骤502,获取样本历史搜索词。
在本实施例中,服务端可以从预设时间段(如一小时、一天、一周、一月等)内产生的历史搜索记录中获取样本历史搜索词。其中,上述历史搜索记录可以保存在服务端的本地存储空间、服务端可访问的其他设备或存储空间等处,本公开实施例并不对此进行限制。
在相关技术中,用户搜索长尾搜索词得到的排序后的搜索结果往往并不满意,如连续多页均未查看到合适符合自身搜索意愿的搜索结果,用户往往并不会点击当前的不合适结果或一致刷新,而通常会直接更换其他与当前搜索词在语义上存在一定关联的搜索词再次尝试搜索。因此,服务端可以在预设时间段的全部历史搜索记录中获取多个(如10万、20万等)语义相近且搜索结果不满意(服务端未接收到预设的长播、点赞、转发、跳转预设页面等操作行为对应的通知消息)的相邻搜索词,并将获取到的多个相邻搜索词作为后续步骤中的样本历史搜索词。通过该方式,能够获取与用户的不满意搜索行为相对应的样本历史搜索词,从而保证后续使用的样本历史搜索词包含足够多的长尾搜索词。
步骤504,将样本历史搜索词划分为至少一个搜索词集合。
在一实施例中,对于上述预设时间段内的大量样本历史搜索词,服务端可以按照语义将其划分为至少一个搜索词集合。相关实施例可参见前述记载,此处不再赘述。此时,服务端可以将划分后的各个搜索词集合中被搜索次数最高的样本历史搜索词分别作为样本高频搜索词。然而,由于样本可能存在的局限性,搜索词集合中搜索次数最高的历史搜索词的实际搜索次数可能并非高频,因此为保证所确定的样本高频搜索词确实为高频搜索词,还可以将样本长尾搜索词所在的搜索词集合中被搜索次数大于第二次数阈值的至少一个样本历史搜索词作为样本高频搜索词。
如图6所示,假设共有7个样本历史搜索词Q11~Q33,按照各个搜索词的语义,被分别划分至3个搜索词集合:C1(包括Q11、Q12和Q13)、C2(包括Q21和Q22)和C3(包括Q31、Q32和Q33)。例如,可以根据各个样本历史搜索词的语义特征向量之间的向量距离,将各个样本历史搜索词划分为上述搜索词集合。或者,也可以采用聚类算法对上述样本历史搜索词进行划分,具体划分方式可以参见相关技术中的记载,此处不再赘述。
步骤506,确定样本长尾搜索词及其对应的样本搜索结果。
在上述样本历史搜索词中,服务端可以将其中被搜索次数小于第一次数阈值的搜索词确定为样本长尾搜索词。如图6所示,不妨假设确定出的样本长尾搜索结果为Q33。
另外,可以将样本长尾搜索词对应的最新(发布时刻距离当前时刻最近)的历史搜索记录中的搜索结果作为其对应的样本搜索结果,以保证样本搜索结果的时效性。或者,为获得更好的时效性,也可以在确定样本长尾搜索词后,通过前述召回方式获取相应的搜索结果作为样本搜索结果。
步骤508,确定样本高频搜索词及其对应的样本搜索结果。
此时,服务端可以将划分得到的各个搜索词集合中被搜索次数最高的样本历史搜索词分别作为样本高频搜索词。如图6所示,可以将搜索词集合C1~C3中被搜索次数最高的样本历史搜索词分别作为样本高频搜索词,如粗体所示的Q13、Q21和Q32。
当然,为保证所确定的样本高频搜索词确实为高频搜索词,还可以将样本长尾搜索词所在的搜索词集合中被搜索次数大于第二次数阈值的至少一个样本历史搜索词作为样本高频搜索词。例如,可以将Q33所在搜索词集合C3中搜索次数大于10万的历史搜索词Q32作为高频搜索词。
步骤510,对公共搜索结果进行特征泛化处理。
在确定上述样本长尾搜索词和样本高频搜索词之后,可以进行特征泛化处理。如图6所示,可以依次比较样本高频搜索词Q13、Q21、Q32和样本长尾搜索词Q33各自对应的样本搜索结果,并在任一样本高频搜索词与样本长尾搜索词Q33的样本搜索结果存在相同的公共搜索结果的情况下,将该样本高频搜索词与该公共搜索结果之间的样本搜索相关特征作为样本长尾搜索词Q33与该公共搜索结果之间的泛化样本搜索相关特征。
例如,不妨假设Q33存在两个样本历史搜索结果P1和P2,则在Q13的样本历史搜索结果中也存在P1的情况下,可以将Q13与P1之间的样本搜索相关特征作为Q33与P1之间的泛化样本搜索相关特征;而在Q32的样本历史搜索结果中也存在P2的情况下,可以将Q32与P2之间的样本搜索相关特征作为Q33与P2之间的泛化样本搜索相关特征。
其中,以样本长尾搜索词与样本历史搜索结果之间的样本搜索相关性特征可以有多种情况,以Q33与P1为例,二者之间的样本搜索相关性特征可以包括下述至少之一:Q33与P1之间的相关性特征,如可以为该Q33的特征向量与片的特征向量之间的向量距离等,用于表征二者之间的相关程度,如该向量距离越近,表明二者之间的相关性越强,如语义相关性越强等;反之,该向量距离越远,表明二者之间的相关性越弱,如语义相关性越弱等。也可以包括上述P1的质量特征,如根据P1的分辨率、帧率、清晰度等质量参数提取得到的特征等,用于表征P1的内容质量的优劣。还可以包括P1的消费特征,即与用户针对P1的消费行为相关的特征,如前述的点赞、转发等行为,或者还可以为举报、投诉等行为,本公开实施例并不对此进行限制。
其中,需要说明的是,P1的消费特征仅对应于用户在Q13下针对P1的消费行为,而与用户在推荐或其他搜索词下针对该搜索结果的消费行为无关。其中,上述质量特征和相关性特征由P1与Q33自身决定,可认为是P1的先验特征,而上述消费特征与用户的消费行为相关,可认为是P1的后验特征。通过上述先验特征和/或后验特征的泛化,使得特征泛化处理后的泛化样本搜索相关特征能够充分而全面的反映P1与Q13相关的特征,从而使得在Q33下的排序过程中仍然能够充分考量该特征,保证高质量的P1被排列在Q33的全部搜索结果中的前部。
步骤512,构建训练样本。
步骤514,使用训练样本训练排序模型。
在上述特征泛化处理结束后,服务端可以根据上述泛化结果构建训练样本,并基于训练样本对待训练模型进行训练。例如,可以构建多条样本,每条样本包含上述样本长尾搜索词、公共搜索结果及其二者之间的泛化样本搜索相关特征。其中,上述多条训练样本中所包含的各个公共搜索结果被标注有真实排序结果,该真实排序结果可以为预先针对公共搜索结果进行的排序标注,或者也可以在确定上述训练样本后,对该训练样本所涉及的多个公共搜索结果进行标注。其中,上述搜索结果的排序表述可以采用人工标注。
以训练模型采用pairwise的xgboost树模型为例,因为该模型仅关注在查询样本长尾搜索词时,各个公共搜索结果之间的绝对相关度,而并不关注其他搜索结果与样本长尾搜索词之间的相关度,所以通过上述训练样本,基于xgboost模型训练得到的排序模型能够充分考虑同一样本长尾搜索词所对应各个公共搜索结果的泛化搜索相关特征,进而保证训练所得排序模型能够充分反映泛化搜索相关特征对于排序结果的影响。
另外,因为基于pairwise的xgboost树模型的一组输入通常包括两条样本数据,所以上述训练样本可以包括第一样本数据和第二样本数据。例如,该模型的任一训练样本包含第一样本数据和第二样本数据。如图6所示,第一样本数据可以为Q33、P1以及Q33和P1之间的泛化样本搜索相关特征F1,第二样本数据可以为Q33、P2以及Q33和P2之间的泛化样本搜索相关特征F2。可见,上述第一样本数据和第二样本数据均包含Q33对应的两条公共搜索结果P1和P2及各自对应的泛化搜索相关特征F1和F2,而且两条公共搜索结果P1和P2被分别标注有真实排序结果。
例如,不妨假设真实排序结果为P1>P2(即P1在排序后位于P2前方,下同),则若待训练模型输出结果为P1>P2,可以继续输入其他训练样本;而若待训练模型输出结果为P2>P1,则可以相应的调整模型参数,如调整模型中特征向量的向量长度、向量个数等参数,以使模型输出为P1>P2。当然,也可以同时输入多条训练样本(即设置训练过程中的Batch大于1)进行集中训练,具体过程可以参见相关技术中的记载,此处不再赘述。
在训练过程中,可以监控每次训练样本输出结果的排序误差,如多条公共搜索结果的排序结果与被表述的真实排序结果之间的排序偏差(如平均顺序偏差等),并在该偏差小于预设阈值的情况下停止训练。或者也可以预先设置训练次数(及固定训练样本数目),并在训练完成后停止。通过上述训练过程得到的该训练样本能够保证训练结果尽量接近训练样本的真实排序结果,从而实现更好的训练效果。
下面结合图7-图8对使用前述过程训练得到的排序模型对搜索结果进行排序的过程进行说明。图7是根据本公开的实施例示出的另一种搜索结果的排序方法的流程图,如图7所示,该方法可以应用于搜索引擎的服务端、客户端等排序设备,下面以服务端为例进行说明,该排序模型的训练方法包括下述步骤702-714。
步骤702,预先划分搜索词集合。
为进行下述排序处理,服务端可以预先根据历史搜索记录中的历史搜索词或者自行创建的搜索特征词进行划分,即按照语义划分为多个搜索词集合。当然,该划分处理还可以由其他设备预先划分得到后提供至服务端,又或者服务端通过其他设备提供的调用接口获取上述历史搜素词等,本公开实施例并不对此进行限制。
如图8所示,假设此时的划分结果与图6相同,其中,假设共有7个样本历史搜索词Q11~Q33,按照各个搜索词的语义,被分别划分至3个搜索词集合:C1(包括Q11、Q12和Q13)、C2(包括Q21和Q22)和C3(包括Q31、Q32和Q33)。
步骤704,获取目标长尾搜索词及其对应的目标搜索结果。
客户端检测到用户实施的搜索操作后,可以根据用户输入或指定的搜索词生成搜索请求并发送至服务端。而服务端在接收到搜索请求后,可以从该请求中提取其中携带的目标搜索词,并响应于该搜索请求获取相应的目标搜索结果。例如,对于目标搜索词Q,可以获取到200个与Q相关的网页地址,或者获取到1000个与Q相关的短视频等,上述网页地址或者短视频即为Q对应的目标搜索结果,当然,搜索结果还可以为其他形式,不再赘述。服务端获取搜索结果的具体过程可以参见相关技术中的记载,此处不再赘述。
另外,服务端可以判断目标搜索词Q是否为长尾搜索词,例如,在服务端维护有历史搜索词或搜索词的搜索记录的情况下,可以统计Q在上述预设时间段内的搜索次数,并在其搜索次数低于预设时间段对应的预设次数阈值(如每天10次、每周50次等)的情况下,确定该目标搜索词为长尾搜索词。而且,在Q满足上述预设次数阈值的情况下,还可以进一步对Q进行分词,并在分词后的实义词(如名词、形容词、动词等)的数量不少于预设数量的情况下将Q确定为长尾搜索词,当然还可以通过其他方式确定,不再赘述。在确定Q为长尾词的情况下,即确定Q为目标长尾搜索词。
步骤706,获取目标高频搜索词及其对应的目标搜索结果。
此时,服务端可以先确定与目标长尾搜索词Q存在相同的搜索结果(即共同目标搜索结果)的目标高频搜索词,即确定目标搜索结果对应的目标高频搜索词。例如,服务端可以先确定上述至少一个搜索词集合搜索词集合中搜索次数最高或者搜索次数大于搜索阈值(如每天10次、每周100万次等)的高频搜索词。然后,服务端可以判断各个高频搜索词的搜索结果,若存在至少一个高频搜索词的搜索结果中包含与Q的搜索结果相同的共同目标搜索结果,则排序设备可以将所述至少一个高频搜索词中与Q相似度最高的高频搜索词,确定为共同目标搜索结果对应的目标高频搜索词。通过该方式,能够保证确定出的至少一个高频搜索词对应于各个共同目标搜索结果(任一高频搜索词可以对应于多个共同目标搜索结果),进而保证搜索结果的排序结果准确性和合理性。
如图8所示,假设Q存在两个目标搜索结果P1和P2。若C1的聚类中心Q13和和C2的聚类中心Q21的搜索结果中均处在P1(即P1为共同目标搜索结果),则可以分别计算Q与Q13和Q21之间的距离(特征向量的向量距离),并将距离较小的搜索词确定为目标高频搜索词,如Q与Q13的距离小于Q与Q21的距离,则可以确定Q13为P1对应的目标高频搜索词。类似的,若C2的聚类中心Q21和和C3的聚类中心Q32的搜索结果中均存在P2(即P2为共同目标搜索结果),则可以分别计算Q与Q21和Q32之间的距离(特征向量之间的向量距离),并将距离较小的特征向量所表征的搜索词确定为目标高频搜索词,如Q与Q32的距离小于Q与Q21的距离,则可以确定Q32为P1对应的目标高频搜索词。通过上述方式,可以依次确定Q的各个目标搜索结果分别对应的目标高频搜索词。
步骤708,进行特征泛化处理并构建输入数据。
进一步的,上述实施例中提及的目标长尾搜索词的特征向量与多个高频搜索词的特征向量,可以通过预训练的特征提取模型提取得到。例如,可以通过预训练的bert网络模型提取得到。
确定各个目标搜索结果分别对应的目标高频搜索词之后,服务端可以将各个目标搜索结果与相应的目标高频搜索词之间的搜索相关特征分别作为各个目标搜索结果与目标长尾搜索词之间的泛化搜索相关特征,从而实现对各个目标搜索结果的特征泛化处理。
例如,对于Q的目标搜索结果P1,服务端可以将Q13与P1之间的搜索相关特征作为Q与P1之间的泛化搜索相关特征,并将Q32与P2之间的搜索相关特征作为Q与P2之间的泛化搜索相关特征。另外,上述泛化搜索相关特征可以包括目标搜索结果与其对应的高频搜索词之间的相关性特征、目标搜索结果的质量特征和/或目标搜索结果的消费特征,具体内容可以参见前述记载,此处不再赘述。
进一步的,服务端可以根据上述泛化搜索相关特征构建输入数据,如任一条输入数据可以包括目标搜索词、目标搜索结果以及二者之间的泛化搜索相关特征。例如,P1对应的输入数据可以为“Q、P1、Q与P1之间的泛化搜索相关特征(即Q13与P1之间的搜索相关特征)”,P2对应的输入数据可以为“Q、P2、Q与P2之间的泛化搜索相关特征(即Q32与P2之间的搜索相关特征)”。
步骤710,将输入数据输入预训练的排序模型。
步骤712,接收排序模型输出的排序结果。
步骤714,将搜索结果发送至客户端。
服务端可以将上述输入数据输入排序模型,并将接受该模型进行排序后输出的排序结果。进而,排序设备可以获取上述排序模型输出的排序结果,并将该排序结果发送至目标长尾搜索词所对应搜索请求的客户端,从而该客户端可以按照该排序结果向用户展示多个目标搜索结果,以便用户查看该方法得到的排序后的输出结果。当然,排序设备也可以将该排序结果对应的排序后的输出结果返回至上述客户端,从而该服务端可以根据排序结果对搜索结果进行排序,并将排序后的搜索结果返回至客户端用户展示。
与前述排序模型的训练方法的实施例相对应地,本公开还提出了排序模型的训练装置的实施例。图9是根据本公开的实施例示出的一种排序模型的训练装置的示意框图。本实施例所示的排序模型的训练装置可以适用于模型训练设备,该设备可以为包含一独立主机的物理服务器、主机集群承载的虚拟服务器、云服务器,如可以为搜索引擎的服务端等。
如图9所示,所述排序模型的训练装置可以包括:
搜索词获取单元901,被配置为获取样本长尾搜索词和被搜索次数多于所述样本长尾搜索词的至少一个样本高频搜索词,所述样本长尾搜索词和任一所述样本高频搜索词之间的相关性高于样本相关性阈值;
特征泛化单元902,被配置为若所述样本长尾搜索词和任一样本高频搜索词的样本搜索结果中包含相同的公共搜索结果,则将所述公共搜索结果与所述任一样本高频搜索词之间的样本搜索相关特征作为所述公共搜索结果与所述样本长尾搜索词之间的泛化样本搜索相关特征;
样本确定单元903,被配置为确定训练样本,所述训练样本包括所述样本长尾搜索词、多个所述公共搜索结果以及所述样本长尾搜索词分别与各个所述公共搜索结果之间的所述泛化搜索相关特征,所述多个所述公共搜索结果被分别标注有真实排序结果;
模型训练单元904,被配置为将所述训练样本输入待训练模型,以获取所述待训练模型对所述训练样本中的多个所述公共搜索结果进行排序后输出的样本排序结果,并根据所述样本排序结果与所述真实排序结果之间的排序偏差训练所述待训练模型以得到所述排序模型。
可选的,所述搜索词获取单元901还被配置为:
将预设时间段内的被搜索次数小于第一次数阈值的样本历史搜索词,作为样本长尾搜索词;以及,
将所述预设时间段内的样本历史搜索词按照语义划分为至少一个搜索词集合,并将各个所述搜索词集合中被搜索次数最高的样本历史搜索词分别作为样本高频搜索词,或者将所述样本长尾搜索词所在的搜索词集合中被搜索次数大于第二次数阈值的至少一个样本历史搜索词作为样本高频搜索词,所述第二次数阈值大于所述第一次数阈值。
可选的,所述待训练模型为基于pairwise的xgboost树模型,所述训练样本包括第一样本数据和第二样本数据,其中:
所述第一样本数据包括所述样本长尾搜索词、第一公共搜索结果和所述第一公共搜索结果对应的第一泛化搜索相关特征;
所述第二样本数据包括所述样本长尾搜索词、第二公共搜索结果和所述第二公共搜索结果对应的第二泛化搜索相关特征。
可选的,所述公共搜索结果与所述任一样本高频搜索词之间的样本搜索相关特征包括下述至少之一:
所述公共搜索结果与所述任一样本高频搜索词之间的相关性特征;
所述公共搜索结果的质量特征;
所述公共搜索结果的消费特征。
图10是根据本公开的实施例示出的一种搜索结果的排序装置的示意框图。本实施例所示的搜索结果的排序装置可以适用于排序设备,该排序设备可以为包含一独立主机的物理服务器、主机集群承载的虚拟服务器、云服务器等,如搜索引擎的客户端或服务端等。
如图10所示,所述搜索结果的排序装置可以包括:
目标搜索词获取单元1001,被配置为获取目标长尾搜索词及其对应的多个目标搜索结果;
高频搜索词获取单元1002,被配置为在历史搜索词中确定被搜索次数多于所述目标长尾搜索词的至少一个目标高频搜索词,所述目标长尾搜索词和任一所述目标高频搜索词之间的相关性高于相关性阈值,且任一所述目标高频搜索词的搜索结果中包含至少一个所述目标搜索结果;
泛化特征确定单元1003,被配置为确定各个目标搜索结果分别与所述目标长尾搜索词之间的泛化搜索相关特征,其中,任一目标搜索结果与所述目标长尾搜索词之间的泛化搜索相关特征,为所述任一目标搜索结果与搜索结果中包含所述任一目标搜索结果的目标高频搜索词之间的搜索相关特征;
搜索结果排序单元1004,被配置为将所述目标长尾搜索词、所述各个目标搜索结果、以及所述各个目标搜索结果分别与所述目标长尾搜索词之间的所述泛化搜索相关特征输入排序模型,以获取所述排序模型对所述各个目标搜索结果进行排序后输出的排序结果,所述排序模型为通过采用如上述任一实施例所述的排序模型的训练方法预训练得到的模型。
可选的,所述高频搜索词获取单元1002还被配置为:
在至少一个搜索词集合中确定搜索次数最高或者搜索次数大于搜索阈值的高频搜索词,所述至少一个搜索词集合被按照语义对预设时间段内的历史搜索词进行划分得到;
在至少一个高频搜索词的搜索结果中包含任一目标搜索结果的情况下,将所述至少一个高频搜索词中与所述目标长尾搜索词相似度最高的高频搜索词,确定为所述任一目标搜索结果对应的目标高频搜索词。
可选的,所述高频搜索词获取单元1002还被配置为:
若仅有一个高频搜索词的搜索结果中包含所述任一目标搜索结果,则将该高频搜索词确定为所述任一目标搜索结果对应的目标高频搜索词;
若有多个高频搜索词的搜索结果中包含所述任一目标搜索结果,则依次确定所述目标长尾搜索词的特征向量与所述多个高频搜索词的特征向量之间的向量距离,并将所述向量距离最小的高频搜索词确定为所述任一目标搜索结果对应的目标高频搜索词。
可选的,所述目标长尾搜索词的特征向量与所述多个高频搜索词的特征向量,通过预训练的特征提取模型提取得到。
可选的,所述任一目标搜索结果与搜索结果中包含所述任一目标搜索结果的目标高频搜索词之间的搜索相关特征,包括下述至少之一:
所述任一目标搜索结果与搜索结果中包含所述任一目标搜索结果的目标高频搜索词之间的相关性特征;
所述任一目标搜索结果的质量特征;
所述任一目标搜索结果的消费特征。
可选的,还包括:
排序结果发送单元1005,被配置为将所述排序结果发送至发起所述目标长尾搜索词所对应搜索请求的客户端,所述客户端用于按照所述排序结果展示所述多个目标搜索结果。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本公开的实施例还提出一种电子设备,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如上述任一实施例所述的排序模型的训练方法或者搜索结果的排序方法。
本公开的实施例还提出一种存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行上述任一实施例所述的排序模型的训练方法或者上述任一实施例所述的搜索结果的排序方法。
本公开的实施例还提出一种计算机程序产品,包括计算机程序和/或指令,所述计算机程序和/或指令被处理器执行时实现上述任一实施例所述的排序模型的训练方法或者上述任一实施例所述的搜索结果的排序方法。
图11是根据本公开的实施例示出的一种电子设备的示意框图。例如,电子设备1100可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图11,电子设备1100可以包括以下一个或多个组件:处理组件1102,存储器1104,电源组件1106,多媒体组件1108,音频组件1110,输入/输出(I/O)的接口1112,传感器组件1114,以及通信组件1118。
处理组件1102通常控制电子设备1100的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件1102可以包括一个或多个处理器1120来执行指令,以完成上述排序模型的训练方法或搜索结果的排序方法的全部或部分步骤。此外,处理组件1102可以包括一个或多个模块,便于处理组件1102和其他组件之间的交互。例如,处理组件1102可以包括多媒体模块,以方便多媒体组件1108和处理组件1102之间的交互。
存储器1104被配置为存储各种类型的数据以支持在电子设备1100的操作。这些数据的示例包括用于在电子设备1100上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器1104可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件1106为电子设备1100的各种组件提供电力。电源组件1106可以包括电源管理系统,一个或多个电源,及其他与为电子设备1100生成、管理和分配电力相关联的组件。
多媒体组件1108包括在电子设备1100和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件1108包括一个前置摄像头和/或后置摄像头。当电子设备1100处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件1110被配置为输出和/或输入音频信号。例如,音频组件1110包括一个麦克风(MIC),当电子设备1100处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器1104或经由通信组件1118发送。在一些实施例中,音频组件1110还包括一个扬声器,用于输出音频信号。
I/O接口1112为处理组件1102和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件1114包括一个或多个传感器,用于为电子设备1100提供各个方面的状态评估。例如,传感器组件1114可以检测到电子设备1100的打开/关闭状态,组件的相对定位,例如所述组件为电子设备1100的显示器和小键盘,传感器组件1114还可以检测电子设备1100或电子设备1100一个组件的位置改变,用户与电子设备1100接触的存在或不存在,电子设备1100方位或加速/减速和电子设备1100的温度变化。传感器组件1114可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件1114还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件1114还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
图像采集组件1116可以用于采集被摄对象的图像数据,以形成关于被摄对象的图像,并可以对该图像进行必要的处理。该图像采集组件1116可以包括相机模组,相机模组中的图像传感器(Sensor)通过镜头感应来自被摄对象的光线,将得到的感光数据提供给图像信号处理器(ISP,Image Signal Processing),由后者根据感光数据生成对应于被摄对象的图像。其中,上述图像传感器可以为CMOS传感器或CCD传感器,当然,也可以为红外传感器、深度传感器等;相机模组可以内置在电子设备1100中,也可以为电子设备1100的外接模组;上述ISP可以内置在相机模组中,也可以外挂在上述电子设备中(不在相机模组内)。
通信组件1118被配置为便于电子设备1100和其他设备之间有线或无线方式的通信。电子设备1100可以接入基于通信标准的无线网络,如WiFi,运营商网络(如2G、3G、4G或5G),或它们的组合。在一个示例性实施例中,通信组件1118经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件1118还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在本公开一实施例中,电子设备1100可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述排序模型的训练方法或搜索结果的排序方法。
在示例性实施例中,还提供了一种包括指令的计算机可读存储介质,例如包括指令的存储器804,上述指令可由装置800的处理器820执行以完成上述排序模型的训练方法或搜索结果的排序方法。可选地,计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由上面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
需要说明的是,在本公开中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本公开实施例所提供的方法和装置进行了详细介绍,本文中应用了具体个例对本公开的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本公开的方法及其核心思想;同时,对于本领域的一般技术人员,依据本公开的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本公开内容不应理解为对本公开的限制。

Claims (23)

1.一种排序模型的训练方法,其特征在于,包括:
获取样本长尾搜索词和被搜索次数多于所述样本长尾搜索词的至少一个样本高频搜索词,所述样本长尾搜索词和任一所述样本高频搜索词之间的相关性高于样本相关性阈值;
若所述样本长尾搜索词和任一样本高频搜索词的样本搜索结果中包含相同的公共搜索结果,则将所述公共搜索结果与所述任一样本高频搜索词之间的样本搜索相关特征作为所述公共搜索结果与所述样本长尾搜索词之间的泛化样本搜索相关特征;
确定训练样本,所述训练样本包括所述样本长尾搜索词、多个所述公共搜索结果以及所述样本长尾搜索词分别与各个所述公共搜索结果之间的所述泛化搜索相关特征,所述多个所述公共搜索结果被分别标注有真实排序结果;
将所述训练样本输入待训练模型,以获取所述待训练模型对所述训练样本中的多个所述公共搜索结果进行排序后输出的样本排序结果,并根据所述样本排序结果与所述真实排序结果之间的排序偏差训练所述待训练模型以得到所述排序模型。
2.根据权利要求1所述的方法,其特征在于,所述获取样本长尾搜索词和被搜索次数多于所述样本长尾搜索词的至少一个样本高频搜索词,包括:
将预设时间段内的被搜索次数小于第一次数阈值的样本历史搜索词,作为样本长尾搜索词;以及,
将所述预设时间段内的样本历史搜索词按照语义划分为至少一个搜索词集合,并将各个所述搜索词集合中被搜索次数最高的样本历史搜索词分别作为样本高频搜索词,或者将所述样本长尾搜索词所在的搜索词集合中被搜索次数大于第二次数阈值的至少一个样本历史搜索词作为样本高频搜索词,所述第二次数阈值大于所述第一次数阈值。
3.根据权利要求1所述的方法,其特征在于,所述待训练模型为基于pairwise的xgboost树模型,所述训练样本包括第一样本数据和第二样本数据,其中:
所述第一样本数据包括所述样本长尾搜索词、第一公共搜索结果和所述第一公共搜索结果对应的第一泛化搜索相关特征;
所述第二样本数据包括所述样本长尾搜索词、第二公共搜索结果和所述第二公共搜索结果对应的第二泛化搜索相关特征。
4.根据权利要求1-3中任一项所述的方法,其特征在于,所述公共搜索结果与所述任一样本高频搜索词之间的样本搜索相关特征包括下述至少之一:
所述公共搜索结果与所述任一样本高频搜索词之间的相关性特征;
所述公共搜索结果的质量特征;
所述公共搜索结果的消费特征。
5.一种搜索结果的排序方法,其特征在于,包括:
获取目标长尾搜索词及其对应的多个目标搜索结果;
在历史搜索词中确定被搜索次数多于所述目标长尾搜索词的至少一个目标高频搜索词,所述目标长尾搜索词和任一所述目标高频搜索词之间的相关性高于相关性阈值,且任一所述目标高频搜索词的搜索结果中包含至少一个所述目标搜索结果;
确定各个目标搜索结果分别与所述目标长尾搜索词之间的泛化搜索相关特征,其中,任一目标搜索结果与所述目标长尾搜索词之间的泛化搜索相关特征,为所述任一目标搜索结果与搜索结果中包含所述任一目标搜索结果的目标高频搜索词之间的搜索相关特征;
将所述目标长尾搜索词、所述各个目标搜索结果、以及所述各个目标搜索结果分别与所述目标长尾搜索词之间的所述泛化搜索相关特征输入排序模型,以获取所述排序模型对所述各个目标搜索结果进行排序后输出的排序结果,所述排序模型为通过采用如权利要求1至4中任一项所述的排序模型的训练方法预训练得到的模型。
6.根据权利要求5所述的方法,其特征在于,所述在历史搜索词中确定被搜索次数多于所述目标长尾搜索词的至少一个目标高频搜索词,包括:
在至少一个搜索词集合中确定搜索次数最高或者搜索次数大于搜索阈值的高频搜索词,所述至少一个搜索词集合被按照语义对预设时间段内的历史搜索词进行划分得到;
在至少一个高频搜索词的搜索结果中包含任一目标搜索结果的情况下,将所述至少一个高频搜索词中与所述目标长尾搜索词相似度最高的高频搜索词,确定为所述任一目标搜索结果对应的目标高频搜索词。
7.根据权利要求6所述的方法,其特征在于,所述将所述至少一个高频搜索词中与所述目标长尾搜索词相似度最高的高频搜索词,确定为所述任一目标搜索结果对应的目标高频搜索词,包括:
若仅有一个高频搜索词的搜索结果中包含所述任一目标搜索结果,则将该高频搜索词确定为所述任一目标搜索结果对应的目标高频搜索词;
若有多个高频搜索词的搜索结果中包含所述任一目标搜索结果,则依次确定所述目标长尾搜索词的特征向量与所述多个高频搜索词的特征向量之间的向量距离,并将所述向量距离最小的高频搜索词确定为所述任一目标搜索结果对应的目标高频搜索词。
8.根据权利要求7所述的方法,其特征在于,所述目标长尾搜索词的特征向量与所述多个高频搜索词的特征向量,通过预训练的特征提取模型提取得到。
9.根据权利要求5-8中任一项所述的方法,其特征在于,所述任一目标搜索结果与搜索结果中包含所述任一目标搜索结果的目标高频搜索词之间的搜索相关特征,包括下述至少之一:
所述任一目标搜索结果与搜索结果中包含所述任一目标搜索结果的目标高频搜索词之间的相关性特征;
所述任一目标搜索结果的质量特征;
所述任一目标搜索结果的消费特征。
10.根据权利要求5所述的方法,其特征在于,还包括:
将所述排序结果发送至发起所述目标长尾搜索词所对应搜索请求的客户端,所述客户端用于按照所述排序结果展示所述多个目标搜索结果。
11.一种排序模型的训练装置,其特征在于,包括:
搜索词获取单元,被配置为获取样本长尾搜索词和被搜索次数多于所述样本长尾搜索词的至少一个样本高频搜索词,所述样本长尾搜索词和任一所述样本高频搜索词之间的相关性高于样本相关性阈值;
特征泛化单元,被配置为若所述样本长尾搜索词和任一样本高频搜索词的样本搜索结果中包含相同的公共搜索结果,则将所述公共搜索结果与所述任一样本高频搜索词之间的样本搜索相关特征作为所述公共搜索结果与所述样本长尾搜索词之间的泛化样本搜索相关特征;
样本确定单元,被配置为确定训练样本,所述训练样本包括所述样本长尾搜索词、多个所述公共搜索结果以及所述样本长尾搜索词分别与各个所述公共搜索结果之间的所述泛化搜索相关特征,所述多个所述公共搜索结果被分别标注有真实排序结果;
模型训练单元,被配置为将所述训练样本输入待训练模型,以获取所述待训练模型对所述训练样本中的多个所述公共搜索结果进行排序后输出的样本排序结果,并根据所述样本排序结果与所述真实排序结果之间的排序偏差训练所述待训练模型以得到所述排序模型。
12.根据权利要求11所述的装置,其特征在于,所述搜索词获取单元还被配置为:
将预设时间段内的被搜索次数小于第一次数阈值的样本历史搜索词,作为样本长尾搜索词;以及,
将所述预设时间段内的样本历史搜索词按照语义划分为至少一个搜索词集合,并将各个所述搜索词集合中被搜索次数最高的样本历史搜索词分别作为样本高频搜索词,或者将所述样本长尾搜索词所在的搜索词集合中被搜索次数大于第二次数阈值的至少一个样本历史搜索词作为样本高频搜索词,所述第二次数阈值大于所述第一次数阈值。
13.根据权利要求11所述的装置,其特征在于,所述待训练模型为基于pairwise的xgboost树模型,所述训练样本包括第一样本数据和第二样本数据,其中:
所述第一样本数据包括所述样本长尾搜索词、第一公共搜索结果和所述第一公共搜索结果对应的第一泛化搜索相关特征;
所述第二样本数据包括所述样本长尾搜索词、第二公共搜索结果和所述第二公共搜索结果对应的第二泛化搜索相关特征。
14.根据权利要求11-13中任一项所述的装置,其特征在于,所述公共搜索结果与所述任一样本高频搜索词之间的样本搜索相关特征包括下述至少之一:
所述公共搜索结果与所述任一样本高频搜索词之间的相关性特征;
所述公共搜索结果的质量特征;
所述公共搜索结果的消费特征。
15.一种搜索结果的排序装置,其特征在于,包括:
目标搜索词获取单元,被配置为获取目标长尾搜索词及其对应的多个目标搜索结果;
高频搜索词获取单元,被配置为在历史搜索词中确定被搜索次数多于所述目标长尾搜索词的至少一个目标高频搜索词,所述目标长尾搜索词和任一所述目标高频搜索词之间的相关性高于相关性阈值,且任一所述目标高频搜索词的搜索结果中包含至少一个所述目标搜索结果;
泛化特征确定单元,被配置为确定各个目标搜索结果分别与所述目标长尾搜索词之间的泛化搜索相关特征,其中,任一目标搜索结果与所述目标长尾搜索词之间的泛化搜索相关特征,为所述任一目标搜索结果与搜索结果中包含所述任一目标搜索结果的目标高频搜索词之间的搜索相关特征;
搜索结果排序单元,被配置为将所述目标长尾搜索词、所述各个目标搜索结果、以及所述各个目标搜索结果分别与所述目标长尾搜索词之间的所述泛化搜索相关特征输入排序模型,以获取所述排序模型对所述各个目标搜索结果进行排序后输出的排序结果,所述排序模型为通过采用如权利要求1至4中任一项所述的排序模型的训练方法预训练得到的模型。
16.根据权利要求15所述的装置,其特征在于,所述高频搜索词获取单元还被配置为:
在至少一个搜索词集合中确定搜索次数最高或者搜索次数大于搜索阈值的高频搜索词,所述至少一个搜索词集合被按照语义对预设时间段内的历史搜索词进行划分得到;
在至少一个高频搜索词的搜索结果中包含任一目标搜索结果的情况下,将所述至少一个高频搜索词中与所述目标长尾搜索词相似度最高的高频搜索词,确定为所述任一目标搜索结果对应的目标高频搜索词。
17.根据权利要求16所述的装置,其特征在于,所述高频搜索词获取单元还被配置为:
若仅有一个高频搜索词的搜索结果中包含所述任一目标搜索结果,则将该高频搜索词确定为所述任一目标搜索结果对应的目标高频搜索词;
若有多个高频搜索词的搜索结果中包含所述任一目标搜索结果,则依次确定所述目标长尾搜索词的特征向量与所述多个高频搜索词的特征向量之间的向量距离,并将所述向量距离最小的高频搜索词确定为所述任一目标搜索结果对应的目标高频搜索词。
18.根据权利要求17所述的装置,其特征在于,所述目标长尾搜索词的特征向量与所述多个高频搜索词的特征向量,通过预训练的特征提取模型提取得到。
19.根据权利要求15-18中任一项所述的装置,其特征在于,所述任一目标搜索结果与搜索结果中包含所述任一目标搜索结果的目标高频搜索词之间的搜索相关特征,包括下述至少之一:
所述任一目标搜索结果与搜索结果中包含所述任一目标搜索结果的目标高频搜索词之间的相关性特征;
所述任一目标搜索结果的质量特征;
所述任一目标搜索结果的消费特征。
20.根据权利要求15所述的装置,其特征在于,还包括:
排序结果发送单元,被配置为将所述排序结果发送至发起所述目标长尾搜索词所对应搜索请求的客户端,所述客户端用于按照所述排序结果展示所述多个目标搜索结果。
21.一种电子设备,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1至4中任一项所述的排序模型的训练方法,或者如权利要求5至10中任一项所述的搜索结果的排序方法。
22.一种计算机可读存储介质,其特征在于,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如权利要求1至4中任一项所述的排序模型的训练方法,或者如权利要求5至10中任一项所述的搜索结果的排序方法。
23.一种计算机程序产品,包括计算机程序和/或指令,其特征在于,所述计算机程序和/或指令被处理器执行时实现权利要求1至4中任一项所述的排序模型的训练方法,或者如权利要求5至10中任一项所述的搜索结果的排序方法。
CN202110590613.5A 2021-05-28 2021-05-28 排序模型的训练方法、装置、电子设备和存储介质 Active CN113239183B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110590613.5A CN113239183B (zh) 2021-05-28 2021-05-28 排序模型的训练方法、装置、电子设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110590613.5A CN113239183B (zh) 2021-05-28 2021-05-28 排序模型的训练方法、装置、电子设备和存储介质

Publications (2)

Publication Number Publication Date
CN113239183A CN113239183A (zh) 2021-08-10
CN113239183B true CN113239183B (zh) 2024-08-02

Family

ID=77135547

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110590613.5A Active CN113239183B (zh) 2021-05-28 2021-05-28 排序模型的训练方法、装置、电子设备和存储介质

Country Status (1)

Country Link
CN (1) CN113239183B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114186682A (zh) * 2021-12-10 2022-03-15 北京达佳互联信息技术有限公司 搜索视频排序网络的训练方法、搜索视频排序方法和装置
CN114461843A (zh) * 2022-01-04 2022-05-10 杭州网易云音乐科技有限公司 资源排序方法、装置、计算设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109508414A (zh) * 2018-11-13 2019-03-22 北京奇艺世纪科技有限公司 一种同义词挖掘方法及装置
CN110147426A (zh) * 2017-12-01 2019-08-20 北京搜狗科技发展有限公司 一种查询文本的分类标签确定方法及相关装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110795628B (zh) * 2017-06-29 2023-04-11 北京拉勾科技有限公司 一种基于相关性的搜索词处理方法、装置及计算设备
CN107679186B (zh) * 2017-09-30 2021-12-21 北京奇虎科技有限公司 基于实体库进行实体搜索的方法及装置
CN109977293B (zh) * 2019-03-29 2021-04-20 北京搜狗科技发展有限公司 一种搜索结果相关性的计算方法及装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110147426A (zh) * 2017-12-01 2019-08-20 北京搜狗科技发展有限公司 一种查询文本的分类标签确定方法及相关装置
CN109508414A (zh) * 2018-11-13 2019-03-22 北京奇艺世纪科技有限公司 一种同义词挖掘方法及装置

Also Published As

Publication number Publication date
CN113239183A (zh) 2021-08-10

Similar Documents

Publication Publication Date Title
CN107526744B (zh) 一种基于搜索的信息展示方法和装置
CN106874308B (zh) 一种推荐方法和装置、一种用于推荐的装置
CN110232137B (zh) 一种数据处理方法、装置和电子设备
CN111859020B (zh) 推荐方法、装置、电子设备及计算机可读存储介质
CN107784045B (zh) 一种快捷回复方法和装置、一种用于快捷回复的装置
CN108073606B (zh) 一种新闻推荐方法和装置、一种用于新闻推荐的装置
CN111708943B (zh) 一种搜索结果展示方法、装置和用于搜索结果展示的装置
CN109783656B (zh) 音视频数据的推荐方法、系统及服务器和存储介质
CN109918565B (zh) 一种搜索数据的处理方法、装置及电子设备
WO2015182064A1 (en) Information processing device, information processing method, and program
CN113239183B (zh) 排序模型的训练方法、装置、电子设备和存储介质
CN110020106B (zh) 一种推荐方法、推荐装置和用于推荐的装置
CN112307281B (zh) 一种实体推荐方法及装置
CN106649781B (zh) 应用推荐方法及装置
CN110162691B (zh) 在线内容服务中的话题推荐、运营方法、装置和机器设备
CN112784142A (zh) 一种信息推荐方法及装置
CN112131466A (zh) 群组展示方法、装置、系统和存储介质
CN112148923A (zh) 搜索结果的排序方法、排序模型的生成方法、装置及设备
WO2021147949A1 (zh) 视频推荐方法及装置
CN111368161A (zh) 一种搜索意图的识别方法、意图识别模型训练方法和装置
CN110110046B (zh) 同名实体推荐方法及装置
CN112328809A (zh) 实体分类方法、装置及计算机可读存储介质
CN107301188B (zh) 一种获取用户兴趣的方法及电子设备
CN114398514B (zh) 一种视频展示方法、装置及电子设备
CN113177162B (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
GR01 Patent grant
GR01 Patent grant