CN113343101B - 一种对象排序方法及系统 - Google Patents
一种对象排序方法及系统 Download PDFInfo
- Publication number
- CN113343101B CN113343101B CN202110718251.3A CN202110718251A CN113343101B CN 113343101 B CN113343101 B CN 113343101B CN 202110718251 A CN202110718251 A CN 202110718251A CN 113343101 B CN113343101 B CN 113343101B
- Authority
- CN
- China
- Prior art keywords
- ranking
- query
- historical
- recall
- query term
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
- G06F18/23213—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Probability & Statistics with Applications (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本说明书实施例公开了一种对象排序方法和系统,所述方法包括:获取查询词并确定其所属的查询词类别;基于所述查询词,召回一个或多个候选对象;利用目标排序算法处理候选对象,确定候选对象的排序分值;其中,所述目标排序算法与所述查询词所属的查询词类别相关;基于一个或多个候选对象的排序分值,确定目标排序结果。
Description
技术领域
本说明书实施例涉及互联网技术领域,特别涉及一种对象排序方法及系统。
背景技术
目前,搜索引擎可以基于用户输入的查询词,从数据库中获取与查询词相关的候选对象集合,并按照一定的排序规则,展示出最符合用户需求的对象列表。搜索引擎可用于各类互联网平台,例如,第三方支付平台、即时通讯平台和在线购物平台等。
然而,对象列表中对象的排序会直接影响平台用户的搜索体验,为此,希望提供一种对象排序方法及系统,提高对象排序的准确性,以提升用户搜索体验。
发明内容
本说明书实施例的一个方面提供一种对象排序方法,所述方法包括:获取查询词并确定其所属的查询词类别;基于所述查询词,召回一个或多个候选对象;利用目标排序算法处理候选对象,确定候选对象的排序分值;其中,所述目标排序算法与所述查询词所属的查询词类别相关;基于一个或多个候选对象的排序分值,确定目标排序结果。
本说明书实施例的一个方面提供一种对象排序系统,所述系统包括:获取模块,用于获取查询词并确定其所属的查询词类别;召回模块,用于基于所述查询词,召回一个或多个候选对象;第一确定模块,用于利用目标排序算法处理候选对象,确定候选对象的排序分值;其中,所述目标排序算法与所述查询词所属的查询词类别相关;第二确定模块,用于基于一个或多个候选对象的排序分值,确定目标排序结果。
本说明书实施例的一个方面提供一种对象排序装置,包括至少一个存储介质和至少一个处理器,所述至少一个存储介质用于存储计算机指令;所述至少一个处理器用于执行所述计算机指令以实现如前任一项所述的方法。
本说明书实施例的一个方面提供一种查询词类别获得方法,其包括:获取多个查询词的历史召回结果在预设若干个排序因子下的排序结果的排序评分;所述历史召回结果包括一个或多个历史候选对象;对于每一查询词,基于其对应的若干个排序评分,确定该查询词的向量表示;进而获得各查询词的向量表示;基于各查询词的向量表示进行聚类,得到多个查询词类别。
附图说明
本说明书将以示例性实施例的方式进一步描述,这些示例性实施例将通过附图进行详细描述。这些实施例并非限制性的,在这些实施例中,相同的编号表示相同的结构,其中:
图1是根据本说明书的一些实施例所示的对象排序系统的应用场景示意图;
图2是根据本说明书的一些实施例所示的对象排序方法的流程图;
图3是根据本说明书的一些实施例所示的获得查询词类别的方法的流程图;
图4是根据本说明书的一些实施例所示的获取排序评分的方法的流程图;
图5是根据本说明书的一些实施例所示的获取排序评分的方法的另一流程图;
图6是根据本说明书的一些实施例所示的获取排序评分的方法的另一流程图;
图7是根据本说明书的一些实施例所示的对象排序系统的模块图。
具体实施方式
为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本说明书的一些示例或实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图将本说明书应用于其它类似情景。除非从语言环境中显而易见或另做说明,图中相同标号代表相同结构或操作。
应当理解,本说明书中所使用的“系统”、“装置”、“单元”和/或“模组”是用于区分不同级别的不同组件、元件、部件、部分或装配的一种方法。然而,如果其他词语可实现相同的目的,则可通过其他表达来替换所述词语。
如本说明书和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其它的步骤或元素。
本说明书中使用了流程图用来说明根据本说明书的实施例的系统所执行的操作。应当理解的是,前面或后面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各个步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。
图1是根据本说明书的一些实施例所示的对象排序系统的应用场景示意图。
如图1所示,对象排序系统100可以包括处理设备110、网络120以及用户终端130。
处理设备110可用于处理与对象排序相关联的信息和/或数据来执行在本说明书中揭示的一个或者多个功能。在一些实施例中,处理设备110可以用于获取查询词并确定其所属的查询词类别。在一些实施例中,处理设备110可以基于查询词,召回一个或多个候选对象。在一些实施例中,处理设备110可以利用目标排序算法处理候选对象,确定候选对象的排序分值。在一些实施例中,处理设备110可以基于一个或多个候选对象的排序分值,确定目标排序结果。在一些实施例中,处理设备110可以包括一个或多个搜索引擎。在一些实施例中,处理设备110可以包括一个或多个处理引擎(例如,单核心处理引擎或多核心处理器)。仅作为范例,处理设备110可以包括中央处理器(中央处理器)、特定应用集成电路(ASIC)、专用指令集处理器(ASIP)、图像处理器(GPU)、物理运算处理单元(PPU)、数字信号处理器(DSP)、现场可程序门阵列(FPGA)、可程序逻辑装置(PLD)、控制器、微控制器单元、精简指令集计算机(RISC)、微处理器等中的一种或多种组合。
网络120可以促进信息和/或数据的交换。在一些实施例中,对象排序系统100的一个或者多个组件(例如处理设备110、用户终端130)可以通过网络120传送信息至对象排序系统100的其他组件。例如,处理设备110可以通过网络120获取用户终端130输入的查询词。又例如,用户终端130可以通过网络120获取处理设备110确定的目标排序结果。在一些实施例中,网络120可以是任意形式的有线或者无线网络,或其任意组合。仅作为范例,网络120可以是有线网络、光纤网络、远程通信网络、内部网络、互联网、局域网(LAN)、广域网(WAN)、无线局域网(WLAN)、城域网(MAN)、广域网(WAN)、公共交换电话网络(PSTN)、蓝牙网络等中的一种或多种组合。
用户终端130可以是带有数据获取、存储和/或发送功能的设备。在一些实施例中,用户终端130的使用者可以是使用互联网平台的用户。在一些实施例中,用户终端130可以包括但不限于移动设备130-1、平板电脑130-2、笔记本电脑130-3、台式电脑130-4等或其任意组合。示例性的移动设备130-1可以包括但不限于智能手机、个人数码助理(PersonalDigital Assistance,PDA)、掌上游戏机、智能手表、可穿戴设备、虚拟显示设备、显示增强设备等或其任意组合。在一些实施例中,用户终端130可以与对象排序系统100中的一个或多个设备进行数据交互。例如,用户终端130可以将获取到的数据传输至处理设备110。在一些实施例中,用户终端130获取到的数据可以是用户在用户终端130输入的查询词。
本说明书实施例所披露的技术方案可以应用于查询场景。在一些实施例中,用户可以通过用户终端输入查询词,处理设备(或搜索引擎)可以基于查询词召回一个或多个候选对象,并对一个或多个候选对象进行排序后生成对象列表展示给用户终端,用户从展示的对象列表中可以选择感兴趣的对象并使用。基于不同的应用平台,处理设备(或搜索引擎)可以对不同的候选对象进行排序,进而向用户展示相应的对象排序结果(即对象列表)。例如,线上金融服务平台可以对多个服务进行排序,向用户展示服务排序结果。又例如,在线购物平台可以对多个商品进行排序,向用户展示商品排序结果。
通过展示更精确和/或与查询词更相关的对象排序结果,可以提升平台用户的留存率及真实使用效率,从而提升平台搜索的活跃用户数量。因此,如何提高对象排序的精确性和/或相关性成为亟待解决的问题。
在一些实施例中,处理设备(或搜索引擎)可以利用相同的排序模型对不同查询词下的一个或多个候选对象进行打分,或者利用预设的规则对不同查询词下的一个或多个候选对象进行打分,基于候选对象的分值确定各查询词下的对象排序结果。然而,该排序方式并没有考虑不同查询词之间的差异性,即没有考虑查询词的类别。示例地,部分查询词可能偏向于权威信息的查询,即该查询词的类别可以是“权威信息查询”,例如,公积金和疫情等查询词,其召回结果基于候选对象的权威性排序会更优;部分查询词可能偏向于用户的个性化查询,即该查询词的类别可以是“个性化查询”,例如,外卖菜品、目的地等查询词,其召回结果基于用户的习惯或偏好进行排序会更优。由此可知,不同类别的查询词下的多个候选对象的更优排序方式并不相同。
因此,本说明书实施例披露了一种对象排序方法,考虑了查询词之间的差异性,针对不同类别的查询词,采用不同的排序算法对处理设备(或搜索引擎)召回的一个或多个候选对象进行排序,可以得到更精确及更相关的排序结果,提升用户的搜索体验,进而提升平台用户的留存率、真实使用效率以及平台搜索的活跃用户数量。以下将结合附图,对本说明书所披露的技术方案进行详细阐述。
图2是根据本说明书的一些实施例所示的对象排序方法的流程图。如图2所示,该流程200可以包括以下步骤:
步骤210,获取查询词并确定其所属的查询词类别。在一些实施例中,步骤210可以由获取模块710执行。
在一些实施例中,获取的查询词可以是用户输入的用于进行查询的关键词。在一些实施例中,用户可以是使用用户终端130包括的互联网平台的用户。例如,使用应用程序、小程序或网络浏览器的用户。用户输入查询词可以是文本形式、音频形式或图像形式。在一些实施例中,可以将用户输入的非文本形式查询词统一转化为文本形式,以便后续处理。
在一些实施例中,查询词与用户的查询需求相关。以使用的互联网平台的应用程序为例,若应用程序为线上金融服务平台,则用户的查询需求可以是使用线上金融服务平台提供的服务,对应的,查询词可以包括但不限于:公积金、利率等。若应用程序为在线购物平台,则用户的查询需求可以是购买在线购物平台销售的商品,对应的,查询词可以包括但不限于:衣服、凉鞋、帽子等。在一些实施例中,处理设备可以通过用户终端130获取查询词。
在一些实施例中,处理设备可以确定获取的查询词所属的查询词类别。
在一些实施例中,查询词的查询词类别可以通过人工标注和/或查询词分类模型得到。在一些实施例中,人工标注可以为经验标注。在一些实施例中,查询词分类模型可以是预先训练好的机器学习模型,训练好的查询词分类模型可以对查询词进行处理,得到其标注类别。
在一些实施例中,获取的查询词所属的查询词类别可以通过对多个查询词聚类得到。在一些实施例中,聚类所使用的多个查询词可以是多个历史查询词。历史查询词可以是历史时间点和/或历史时间段的任意用户在任意互联网平台输入的查询词。在一些实施例中,历史查询词可以通过历史数据获取,历史数据至少包括互联网平台上采集的真实曝光点击数据。
在一些实施例中,处理设备可以通过对多个查询词的向量表示进行聚类,得到多个查询词类别。通过聚类可以将相似的查询词聚集在一起,而将不相似的查询词划分到不同类别。关于确定多个查询词类别的具体细节可以参见图3及其相关描述,在此不再赘述。
在一些实施例中,处理设备可以从已有的多个查询词类别中确定获取的查询词所属的查询词类别。在一些实施例中,处理设备可以确定多个查询词类别对应的所有查询词中是否有与获取的查询词匹配的查询词;若是,则将匹配的查询词的查询词类别确定为获取的查询词所属的查询词类别;若否,则将获取的查询词所属的查询词类别确定为“未知”或“其他”。例如,获取的查询词与查询词类别A中的某个查询词相同,则可认为获取的查询词属于查询词类别A。
在一些实施例中,查询词可以是经过预处理后的结果。在一些实施例中,获取的查询词和/或聚类所使用的查询词可以是经过预处理后的结果。在一些实施例中,预处理可以包括以下中的一种或多种的组合:同义词改写、纠错和去除无效字符。
在一些实施例中,同义词改写可以是指将文本中具有同义词的词语进行替换。例如,用户输入的文本为“苹果预售”,该文本中的词语“苹果”具备同义词“iphone”,则同义词改写后得到的查询词可以包括“苹果预售”和“iphone预售”。在一些实施例中,纠错可以是指对文本进行拼写检查和/或错别字纠正。例如,用户输入的文本为“公基金”,则纠错后得到的查询词可以是“公积金”。在一些实施例中,去除无效字符可以是指去除文本中的空格和标点符号等无效字符。例如,用户输入的文本为“公积金,,”,则去除无效字符后得到的查询词可以是“公积金”。通过对查询词进行预处理,可以将语义相同但表达形式不同的查询词归一化成同一个查询词,便于聚类以及类别查找。
在一些实施例中,可以对查询词与已有类别的查询词的字符进行匹配,如果具有相同的关键词或关键字符则认为两者语义相似,属于同一查询词类别。在一些实施例中,处理设备可以确定查询词与已有类别的查询词的语义相似度;将语义相似度大于设定阈值或最大的已有类别的查询词的查询词类别确定为查询词所属的查询词类别。在一些实施例中,设定阈值可以根据实际需求具体设置。例如,设定阈值可以是0.95、0.96等。
在一些实施例中,处理设备可以计算查询词与已有类别的查询词的向量之间的语义距离确定两者的语义相似度。在一些实施例中,查询词(例如,获取的查询词和已有类别的查询词)的向量可以通过编码模型对查询词进行处理得到。在一些实施例中,编码模型可以包括但不限于以下的一种或多种组合:BERT模型(Bidirectional EncoderRepresentation from Transformers)、长短期记忆网络(LSTM,Long Short-TermMemory)、词向量编码、ELMO模型和GPT模型。在一些实施例中,语义距离可以包括但不限于以下的一种或多种组合:余弦距离、欧式距离、曼哈顿距离、马氏距离和闵可夫斯基距离。
步骤220,基于所述查询词,召回一个或多个候选对象。在一些实施例中,步骤220可以由召回模块720执行。
在一些实施例中,对象可以是互联网平台为用户提供的任何内容,例如,服务信息或商品等,其形式可以是文本、链接、图片或音频等。在一些实施例中,候选对象可以是互联网平台展示给用户的对象列表中的对象,以供用户选择。仍以上述互联网平台为线上金融服务平台为例,用户查询词为“公积金”,则候选对象可以是与公积金相关的政策或办理流程。
在一些实施例中,处理设备可以基于查询词,召回一个或多个候选对象。在一些实施例中,处理设备可以基于查询词中包括的一个或多个关键词,从数据库中召回一个或多个候选对象。在一些实施例中,数据库中包括海量(例如,千万级别)的备选对象。
在一些实施例中,处理设备可以针对数据库中包括的一个或多个备选对象,计算查询词或查询词中的关键词相对所述一个或多个备选对象的TF-IDF值,以确定各备选对象与查询词的关联度。在一些实施例中,处理设备可以基于关联度,从数据库中选取预设数量的备选对象,并将预设数量的备选对象确定为一个或多个候选对象。在一些实施例中,预设数量可以根据实际需求进行具体设置,例如,从数据库中选取关联度为前20或50等的备选对象。
在一些实施例中,处理设备可以基于查询词,利用召回引擎召回一个或多个候选对象。在一些实施例中,召回引擎可以包括但不限于以下的一种或多种组合:ElasticSearch引擎、Sphinx引擎以及Xapian引擎。
在一些实施例中,召回的一个或多个对象可以是对预设数量的备选对象进行粗排序后的结果。在一些实施例中,粗排序可以是指按照预设指标对预设数量的备选对象进行排序,并截取满足预设要求的备选对象。在一些实施例中,预设指标可以包括但不限于:点击转化率和/或质量分数等。在一些实施例中,预设要求可以根据实际需求进行具体设置,例如,点击转化率排名前10或15等。
步骤230,利用目标排序算法处理候选对象,确定候选对象的排序分值。在一些实施例中,步骤230可以由第一确定模块730执行。
在一些实施例中,目标排序算法可以与查询词所属的查询词类别相关。在一些实施例中,目标排序算法可以从与多个查询词类别分别对应的多个排序算法中选出。例如,多个查询词类别包括查询词类别1、查询词类别2和查询词类别3,与其分别对应的排序算法分别为排序算法1、排序算法2和排序算法3,当查询词所属的查询词类别为类别2时,目标排序算法可以是排序算法2。
在一些实施例中,排序算法可以包括排序模型。在一些实施例中,排序模型可以包括但不限于以下的一种或多种组合:逻辑回归模型、梯度提升树和神经网络模型。
在一些实施例中,与某查询词类别对应的排序模型可以基于该查询词类别中各查询词的历史查询数据训练得到。仍以前述示例为例,若查询词类别1包括查询词11、查询词12、……、查询词1n;查询词类别2包括查询词21、查询词22、……、查询词2n;查询词类别3包括查询词31、查询词32、……、查询词3n;则可以基于查询词11、查询词12、……、和查询词1n各自的历史查询数据训练得到排序模型1,基于查询词21、查询词22、……、和查询词2n各自的历史查询数据训练得到排序模型2,以此类推。
在一些实施例中,历史查询数据可以包括历史召回结果、以及以下信息中的一种或多种:用户特征信息、查询场景信息、查询词、用户与历史召回结果中的一个或多个历史候选对象的关联特征。
在一些实施例中,历史召回结果可以包括基于查询词召回的一个或多个历史候选对象。在一些实施例中,用户特征信息可以包括但不限于以下的一种或多种的组合:性别、年龄、职业、收入、当前位置和居住地。
在一些实施例中,查询场景信息可以包括与查询相关的用户的行为轨迹、用户所处的地理位置和查询的时间信息等。在一些实施例中,与查询相关的用户可以包括但不限于:输入当前查询词的用户和/或对当前查询词召回的一个或多个历史候选对象有过历史操作的其他用户。在一些实施例中,历史操作可以包括用户对对象(例如,服务)的任何操作。例如,浏览、点击、使用、评论等。在一些实施例中,用户的行为轨迹可以反映预设时间内(例如,近一个月、近十天等)的用户历史操作的信息。在一些实施例中,查询的时间信息可以反映查询的时间是否属于预设类型。例如,是否属于周末、周内、白天、中午和晚上等。
在一些实施例中,用户与历史召回结果中的一个或多个历史候选对象的关联特征至少可以反映用户是否选择了历史候选对象和/或用户是否使用过历史候选对象等。
在一些实施例中,处理设备可以基于历史数据得到各查询词的历史查询数据。关于历史数据的具体细节可以参见上述步骤210及其相关描述,在此不再赘述。
在一些实施例中,可以基于查询词类别中各查询词的历史查询数据确定该查询词类别对应的排序模型的多个第一训练样本。在一些实施例中,可以将该查询词类别中各查询词召回的各历史候选对象确定为第一训练样本,以得到多个第一训练样本。在一些实施例中,第一训练样本的输入特征可以包括历史候选对象、用户特征信息、查询场景信息、查询词等,第一训练样本还具有标签。
在一些实施例中,第一训练样本的标签可以基于其对应的用户与历史召回结果中的一个或多个历史候选对象的关联特征确定。例如,若用户点击了该第一训练样本对应的历史候选对象,则其标签为1;若用户未点击该第一训练样本对应的历史候选对象,则标签为0。在一些实施例中,若用户点击且使用(或购买)了该第一训练样本对应的历史候选对象,则标签为2。可以理解的,用户点击且使用了该历史候选对象可以表征用户深度使用了该历史候选对象,该历史候选对象转化成功,相应的,其标签值越大。
在一些实施例中,可以基于该查询词类别对应的多个携带有标签的第一训练样本,训练得到该查询词类别对应的排序模型。具体的,排序模型可以输出对应于第一训练样本的排序分值,可以基于模型预测的排序分值与第一训练样本的标签构造损失函数,可以基于多个第一训练样本迭代更新初始排序模型的参数,以使模型的损失函数满足预设条件,例如,损失函数收敛,或损失函数值小于预设值。当损失函数满足预设条件时模型训练完成,得到训练好的与该查询词类别对应的排序模型。
在一些实施例中,多个查询词类别可以包括“未知”或“其他”这一类。例如,在对查询词分类时,可以将难以确定查询词类别的查询词归为这一类。当获取的查询词所属查询词类别为“未知”或“其他”时,处理设备可以从与多个查询词类别对应的多个排序算法(例如,排序模型)中选择任一排序算法(例如,排序模型),确定为目标排序算法。在一些实施例中,也可以基于前述类似的方式,训练得到“未知”或“其他”类别对应的通用排序模型。对于查询词类别为“未知”或“其他”时,可以使用该通用排序模型对其召回的一个或多个候选对象进行排序。
在一些实施例中,排序算法还可以是预设的排序规则。在一些实施例中,预设排序规则可以根据实际需求进行具体设置。例如,针对不同的互联网平台设置不同的排序规则。
在本说明书的一些实施例中,通过对多个查询词进行聚类得到多个查询词类别,将获取的查询词根据其查询词类别利用相关的排序算法进行处理,即不同类别的查询词使用不同排序算法进行处理,考虑了不同查询词之间的差异性,可以得到更理想的排序结果。例如,对权威性类别的查询词,排序结果更符合权威性。由此提高了用户搜索的精确性和相关性,提升了用户搜索体验,可进一步提高用户的留存率、真实使用率以及搜索的活跃用户数量。
步骤240,基于一个或多个候选对象的排序分值,确定目标排序结果。在一些实施例中,步骤240可以由第二确定模块740执行。
在一些实施例中,处理设备可以基于一个或多个候选对象的排序分值进行降序排序,确定目标排序结果。在一些实施例中,处理设备可以基于一个或多个候选对象的排序分值,得到初始排序结果;再对初始排序结果进行重排序和/或规则排序,确定目标排序结果。在一些实施例中,初始排序结果可以是基于一个或多个候选对象的排序分值进行降序排序的结果。
在一些实施例中,重排序可以是对多个候选对象中的部分候选对象的位置进行局部调整。在一些实施例中,重排序可以是对多个候选对象中相似度超过预设阈值的部分候选对象进行重新排序。例如,将相似度超过预设阈值的两个候选对象进行分散排列。在一些实施例中,相似度可以是语义相似度。关于语义相似度的具体细节可以参见上述步骤210及其相关描述,在此不再赘述。
在一些实施例中,处理设备可以利用预先训练好的重排序模型对多个候选对象进行重排序处理。例如,个性化重排序(PRM,Personalized Re-ranking Mode)模型。通过对多个候选对象进行重排序,可以将相似度过高的候选对象分散排列,避免相同的候选对象集中展示,造成用户的搜索疲劳。
在一些实施例中,规则排序可以是基于预设限制规则对多个候选对象中的部分候选对象的位置进行局部调整。在一些实施例中,预设限制规则可以根据实际需求进行灵活设置。例如,将包含预设关键词的候选对象排序靠前。
图3是根据本说明书的一些实施例所示的获得查询词类别的方法的流程图。如图3所示,该流程300可以包括步骤310-步骤330。在一些实施例中,步骤310-步骤330可以由获取模块710执行。
步骤310,基于多个查询词的历史召回结果,确定各查询词在预设若干个排序因子下的排序评分。
在一些实施例中,历史召回结果可以包括一个或多个历史候选对象。例如,某用户使用某查询词进行一次或多次查询,召回的一个或多个历史候选对象。在一些实施例中,也可以不考虑用户维度,查询词的历史召回结果可以是该查询词在历史某一段时间(如过去三天、一个月、三个月或半年等)内被用户用于查询召回的全部历史候选对象。关于历史召回结果的具体细节可以参见步骤220及其相关描述,在此不再赘述。
在一些实施例中,排序因子可以是影响召回结果排序的因素或指标。在一些实施例中,可以算出召回结果在不同排序因子下的排序分值,并基于排序分值进行排序,基于不同的排序因子对相同的召回结果排序,可以得到不同的排序结果。示例性的,排序因子可以是权威级别、与用户偏好或习惯的匹配度等。当排序因子是权威级别的时候,候选对象的权威性越高,排序的分值就越高。当排序因子是用户偏好或习惯的匹配度时,候选对象与用户偏好越接近,排序分值就越高。预设若干个排序因子可以根据实际情况从多种排序因子选择出的固定的若干数量个排序因子,若干数量可以是5、8等。
在一些实施例中,对于相同的历史召回结果,在不同的排序因子下会得到不同的排序结果,可以对这些排序结果进行评估,得到排序评分。可见,排序评分可以反映该历史召回结果在不同排序因子下的排序优劣,查询词的召回结果在预设的不同排序因子下的排序评分分布在一定程度上可以反映该查询词的属性或特征。关于获取查询词在不同排序因子下的排序评分的具体细节可以参见图4、5、6及其相关描述,在此不再赘述。
步骤320,对于每一查询词,基于其对应的若干个排序评分,确定该查询词的向量表示;进而获得各查询词的向量表示。
在一些实施例中,若干个排序评分可以与预设若干个排序因子对应。在一些实施例中,对于每一查询词,处理设备可以拼接其对应的若干个排序评分,确定该查询词的向量表示。例如,以查询词1为例,若预设若干个排序因子包括排序因子1、排序因子2、排序因子3以及排序因子4,查询词1的历史召回结果在排序因子1下的排序评分1为0.5、在排序因子2下的排序评分2为0.8、在排序因子3下的排序评分3为0.2、在排序因子4下的排序评分4为0.6;则查询词1的向量表示可以为(0.5,0.8,0.2,0.6)。以此类推,可以获得多个查询词中各查询词的向量表示。例如,查询词2的向量表示为(0.6,0.9,0.3,0.5)、查询词3的向量表示为(0.7,0.3,0.2,0.1)等。
步骤330,基于各查询词的向量表示进行聚类,得到多个查询词类别。
在一些实施例中,处理设备可以基于各查询词的向量表示进行聚类,得到多个查询词类别。例如,可以对查询词1的向量表示(0.5,0.8,0.2,0.6)、查询词2的向量表示为(0.6,0.9,0.3,0.5)、以及查询词3的向量表示为(0.7,0.3,0.2,0.1)进行聚类,得到查询词1、2以及3的查询词类别。
在一些实施例中,聚类可以通过聚类算法实现。在一些实施例中,聚类算法可以包括但不限于以下的一种或多种的组合:K均值聚类算法、均值偏移聚类算法、基于密度的聚类算法和层次聚类算法。
在说明书的一些实施例中,查询词在若干个排序因子下的排序评分可以表征该查询词在不同的排序因子下的表达效果和该查询词对不同排序因子的依赖程度,即可以表征每个查询词的差异性,例如,某些查询词在对应权威性的排序因子(例如,对象等级)下的排序评分更高,则该查询词更可能是权威性的查询词。基于查询词在若干个排序因子下的排序评分得到各查询词的向量表示并进行聚类,可以使得到的多个查询词类别更准确。同时,查询词的向量表示基于历史数据计算得到,即基于实际数据计算得到,使得到的查询词聚类更加符合实际的数据分布,进一步提高聚类准确度。
图4是根据本说明书的一些实施例所示的获取某查询词在不同排序因子下的排序评分的方法的流程图。如图4所示,该流程400可以包括步骤410-步骤440。在一些实施例中,步骤410-步骤440可以由获取模块710执行。
步骤410,获取不同用户通过该查询词获得的历史召回结果。
在一些实施例中,不同用户可以是使用互联网平台的不同用户。例如,使用在线金融服务平台的不同用户。在一些实施例中,处理设备可以通过历史数据获取不同用户通过该查询词获得的历史召回结果。关于历史数据的具体细节可以参见上述步骤210及其相关描述,在此不再赘述。
示例地,以不同用户分别为用户a和用户b,该查询词为查询词1为例,则用户a通过查询词1获得的历史召回结果可以包括历史候选对象a1、a2、a3以及a4,用户b通过查询词1获得的历史召回结果可以包括历史候选对象b1、b2、b3以及b4。在一些实施例中,用户通过查询词获得的历史召回结果可以是一次或多次使用该查询词得到的。例如,历史候选对象a1、a2、a3以及a4可以来自不同次查询,也可以来自同一次查询。
步骤420,获取不同用户对应的历史召回结果在各排序因子下的排序结果。
在一些实施例中,处理设备可以对不同用户对应的历史召回结果中的多个历史候选对象,计算其在不同排序因子下的排序分值,基于各历史候选对象对应的各排序因子的排序分值进行分别降序排列,得到各排序因子下的排序结果。例如,仍以上述示例为例,若排序因子仍为前述的排序因子1-4,则针对用户a,处理设备可以基于历史候选对象a1、a2、a3以及a4各自对应的排序因子1的数值进行降序排列,得到排序因子1下的排序结果z1,如,历史候选对象a1、a3、a2以及a4;可以基于历史候选对象a1、a2、a3以及a4各自对应的排序因子2的数值进行降序排列,得到排序因子2下的排序结果z2,如,历史候选对象a4、a1、a2以及a3;以此类推,直至得到排序结果z4。对应的,以相同的方式,针对用户b,处理设备可以得到排序结果y1、y2、y3以及y4。
步骤430,基于不同用户对其对应的历史召回结果中的一个或多个历史候选对象的选择结果,确定不同用户对应的各排序因子下的排序结果的排序评分。
在一些实施例中,选择结果可以表征用户是否点击了历史候选对象。在一些实施例中,排序评分可以包括排序结果的auc值。在一些实施例中,auc值可以表征用户点击的历史候选服务排在用户未点击的历史候选服务的前面的概率。一般地,auc值越高,表征排序结果越成功。在一些实施例中,处理设备可以通过以下公式(1)得到排序结果的auc值:
其中,auc表示排序结果的auc值;αi表示排序结果中用户点击的历史候选服务排在用户未点击的历史候选服务的数量;m表示排序结果中用户点击的历史候选服务的数量;n表示排序结果中用户未点击的历史候选服务的数量。
示例地,以上述用户a的历史召回结果在排序因子1下的排序结果z1:历史候选对象a1、a3、a2以及a4为例,若用户点击了历史候选对象a3和a4,由于点击的历史候选对象a3仅排在了未点击的历史候选对象a2的前面,且点击的历史候选对象a4未排在任何未点击的历史候选对象的前面,则αi=1,对应的,该排序结果z1的auc值可以是:1/2*2=0.25。以此类推,处理设备可以确定用户a对应的排序结果z1-z4的auc值,以及确定用户b对应的排序结果y1-y4的auc值。
步骤440,对于每一排序因子,对不同用户对应的排序评分进行加权运算,得到该查询词对应该排序因子的排序评分。
在一些实施例中,处理设备可以对于每一排序因子,对不同用户对应的排序评分进行加权运算,得到该查询词对应该排序因子的排序评分。例如,对于排序因子1,可以对用户a的排序结果z1的auc值和用户b的排序结果y1的auc值进行加权运算,得到查询词1对应排序因子1的排序评分,其他排序因子的排序评分的计算方式以此类似,以得到查询词1对应排序因子1-4的排序评分。
在一些实施例中,加权运算可以包括加权求和及加权求平均。在一些实施例中,加权运算中的权重可以基于用户对应的历史召回结果中的一个或多个历史候选对象被该用户召回的频次。在一些实施例中,被用户召回的频次越多,对应的加权运算中的权重越大。
图5是根据本说明书的一些实施例所示的获取某查询词在不同排序因子下的排序评分的方法的另一流程图。如图5所示,该流程500可以包括步骤510-步骤540。在一些实施例中,步骤510-步骤540可以由获取模块710执行。
步骤510,获取该查询词的历史召回结果。
在一些实施例中,历史召回结果可以包括一个或多个历史候选对象。关于历史召回结果的具体细节可以参见步骤230及其相关描述,在此不再赘述。
在一些实施例中,处理设备可以通过历史数据获取该查询词的历史召回结果。关于历史数据的具体细节可以参见上述步骤220及其相关描述,在此不再赘述。
需要说明的是,流程500的历史召回结果可以不考虑用户维度,即查询词的历史召回结果可以是该查询词在历史一段时间内被不同用户使用得到的多个历史候选对象的并集。
步骤520,获取历史召回结果在各排序因子下的排序结果。
在一些实施例中,处理设备可以对历史召回结果中的一个或多个历史候选对象,基于其对应的各排序因子的排序分值进行降序排列,得到各排序因子下的排序结果。关于步骤520中排序结果的确定方式与上述步骤420类似,具体可参上述相关描述,在此不再赘述。
步骤530,获取历史召回结果中的一个或多个历史候选对象的重要性分数。
在一些实施例中,重要性分数可以表征历史候选对象与该查询词之间的相关性。在一些实施例中,重要性分数可以根据预设确定规则得到。在一些实施例中,重要性分数可以基于用户的点击情况确定,例如:在该查询词下历史候选对象被点击,其重要性分数为1;在该查询词下历史候选对象未被点击,其重要性分数为0;在一些实施例中,重要性分数可以基于用户的使用情况确定,例如:在该查询词下历史候选对象的重要性分数与其被用户点击且被使用的深度正相关。在一些实施例中,重要性分数可以基于用户的评价情况确定,例如:在该查询词下历史候选对象被用户点击且给与好评,则该历史候选对象的重要性分数越高。在一些实施例中,预设确定规则还可以包括其他限制,例如,候选对象的等级越高,重要性分数越高。如,候选对象的等级为社会公共类服务,且在该查询词下该候选对象被点击,则其重要性分数为1.5。
步骤540,对于每一排序因子,基于重要性分数确定该排序因子下的排序结果的搜索增益,将所述搜索增益确定为该查询词对应该排序因子的排序评分。
在一些实施例中,搜索增益可以是NDCG(normalizied discounted cumulativegain,归一化折损累积增益)值。在一些实施例中,该排序因子下的排序结果的NDCG值可以通过以下方式确定:该排序因子下的排序结果的折扣累积增益除以历史召回结果在重要性分数下的排序结果的折扣累积增益。在一些实施例中,历史召回结果在重要性分数下的排序结果可以是基于历史召回结果中多个候选对象各自的重要性分数,进行降序排列后得到的排列结果。基于重要性分数进行降序排列后得到的排序结果为理想排序结果,对应的,该排序结果的折扣累积增益为最大折扣累积增益。
在一些实施例中,处理设备可以通过下述公式(2)得到排序结果的NDCG值:
其中,NDCG表示该排序因子下的排序结果的NDCG值;DCG表示该排序因子下的排序结果的折扣累积增益;IDCG表示历史召回结果在重要性分数下的排序结果的折扣累积增益;i为历史候选对象在排序结果中的序数;K表示历史召回结果中的多个历史候选对象的数量;R(i)表示第i个历史候选对象的重要性分数。可以理解的,基于历史召回结果在重要性分数下的排序结果,利用上述DCG的计算公式进行计算得到的结果,即历史召回结果在重要性分数下的排序结果的折扣累积增益,也即上述IDCG。
在一些实施例中,搜索增益可以表征排序结果的收益。搜索增益越高,表示该排序结果中用户喜好的候选对象排列的越靠前,该排序结果越成功。
图6是根据本说明书的一些实施例所示的获取某查询词在不同排序因子下的排序评分的方法的另一流程图。如图6所示,该流程600可以包括步骤610-步骤640。在一些实施例中,步骤610-步骤640可以由获取模块710执行。
步骤610,获取该查询词的历史召回结果。
关于步骤610的具体细节可以参见上述步骤510及其相关描述,在此不再赘述。
步骤620,获取历史召回结果中的一个或多个历史候选对象在各排序因子下的排序分值,得到历史召回结果在各排序因子下对应的排序分值向量。
关于排序因子下的排序分值的具体细节可以参见上述步骤310及其相关描述,在此不再赘述。
在一些实施例中,处理设备可以拼接一个或多个历史候选对象在各排序因子下的排序分值,得到历史召回结果在各排序因子下对应的排序分值向量。例如,以查询词2的历史召回结果包括历史候选对象21、历史候选对象22、以及历史候选对象23为例,若历史候选对象21-23在排序因子1下对应的排序分值为0.3、0.8以及0.5,历史候选对象21-23在排序因子2下对应的排序分值为0.5、0.6以及0.1,历史候选对象21-23在排序因子3下对应的排序分值为0.4、0.8以及0.3,历史候选对象21-23在排序因子4下对应的排序分值为0.9、0.2以及0.5;则历史候选对象在排序因子1下对应的排序分值向量为(0.3,0.8,0.5),历史候选对象在排序因子2下对应的排序分值向量为(0.5,0.6,0.1),以此类推。
步骤630,获取历史召回结果中的一个或多个历史候选对象的重要性分数,得到历史召回结果对应的重要性分数向量。
关于重要性分数的具体细节可以参见上述步骤530及其相关描述,在此不再赘述。在一些实施例中,处理设备可以通过历史数据获取历史召回结果中的一个或多个历史候选对象的重要性分数。
在一些实施例中,处理设备可以拼接历史召回结果中一个或多个历史候选对象的重要性分数,得到历史召回结果的重要性分数向量。例如,仍以上述示例为例,若历史候选对象21-23的重要性分数分别为0、1和2,则查询词2的历史召回结果的重要性分数向量为(0,1,2)。
步骤640,对于每一排序因子,计算该排序因子下的排序分值向量与重要性分数向量的相关性分数,将所述相关性分数确定为该查询词对应该排序因子的排序评分。
在一些实施例中,由于重要性分数可以反映历史候选对象是否被点击,则相关性分数可以反映该排序因子下的排序分值与点击率之间的相关性。在一些实施例中,对于每一排序因子,处理设备可以通过以下公式(3)得到相关性分数:
其中,r(x,y)表示相关性分数;x表示该查询词下的历史召回结果在某一排序因子下的排序分值向量,y表示该查询词下的历史召回结果的重要性分数向量,cov(x,y)表示两个向量间的协方差;var(x)表示该排序因子下的排序分值向量中各元素的方差;var(y)表示重要性分数向量中各元素的方差。
图7是根据本说明书的一些实施例所示的对象排序系统的模块图。
如图7所示,该系统700可以包括获取模块710、召回模块720、第一确定模块730、以及第二确定模块740。
获取模块710可以用于获取查询词并确定其所属的查询词类别。在一些实施例中,查询词类别通过对多个查询词聚类获得。
在一些实施例中,获取模块710可以用于获取多个查询词的历史召回结果在预设若干个排序因子下的排序评分;所述历史召回结果包括一个或多个历史候选对象;对于每一查询词,基于其对应的若干个排序评分,确定该查询词的向量表示;进而获得各查询词的向量表示;基于各查询词的向量表示进行聚类,得到多个查询词类别。
在一些实施例中,获取模块710可以用于对于任一查询词:获取不同用户通过该查询词获得的历史召回结果;获取不同用户对应的历史召回结果在各排序因子下的排序结果;基于不同用户对其对应的历史召回结果中的一个或多个历史候选对象的选择结果,确定不同用户对应的各排序因子下的排序结果的排序评分;对于每一排序因子,对不同用户对应的排序评分进行加权运算,得到该查询词对应该排序因子的排序评分。在一些实施例中,加权运算中的权重基于用户对应的历史召回结果中的一个或多个历史候选对象被该用户召回的频次确定。在一些实施例中,所述排序评分包括排序结果的auc值。
在一些实施例中,获取模块710可以用于对于任一查询词:获取该查询词的历史召回结果;获取历史召回结果在各排序因子下的排序结果;获取历史召回结果中的一个或多个历史候选对象的重要性分数;对于每一排序因子,基于重要性分数确定该排序因子下的排序结果的搜索增益,将所述搜索增益确定为该查询词对应该排序因子的排序评分。
在一些实施例中,获取模块710可以用于对于任一查询词:获取该查询词的历史召回结果;获取历史召回结果中的一个或多个历史候选对象在各排序因子下的排序分值,得到历史召回结果在各排序因子下对应的排序分值向量;获取历史召回结果中的一个或多个历史候选对象的重要性分数,得到历史召回结果对应的重要性分数向量;对于每一排序因子,计算该排序因子下的排序分值向量与重要性分数向量的相关性分数,将所述相关性分数确定为该查询词对应该排序因子的排序评分。
在一些实施例中,获取模块710可以用于确定该查询词与已有类别的查询词的语义相似度;将语义相似度大于设定阈值或最大的已有类别的查询词的查询词类别确定为所述查询词所属的查询词类别。
召回模块720可以用于基于所述查询词,召回一个或多个候选对象。
第一确定模块730可以用于利用目标排序算法处理候选对象,确定候选对象的排序分值;其中,所述目标排序算法与所述查询词所属的查询词类别相关。在一些实施例中,所述目标排序算法从与多个查询词类别分别对应的多个排序算法中选出。在一些实施例中,所述排序算法包括排序模型,与某查询词类别对应的排序模型基于该查询词类别中各查询词的历史查询数据训练得到;其中,历史查询数据包括历史召回结果、以及以下信息中的一种或多种:用户特征信息、查询场景信息、查询词、用户与历史召回结果中的一个或多个历史候选对象的关联特征。在一些实施例中,所述查询词为经过预处理后的结果,所述预处理包括以下中的一种或多种的组合:同义词改写、纠错、去除无效字符。
第二确定模块740可以用于基于一个或多个候选对象的排序分值,确定目标排序结果。
应当理解,图7所示的系统及其模块可以利用各种方式来实现。例如,在一些实施例中,系统及其模块可以通过硬件、软件或者软件和硬件的结合来实现。其中,硬件部分可以利用专用逻辑来实现;软件部分则可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域技术人员可以理解上述的方法和系统可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本说明书的系统及其模块不仅可以有诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用例如由各种类型的处理器所执行的软件实现,还可以由上述硬件电路和软件的结合(例如,固件)来实现。
需要注意的是,以上对于对象排序系统700及其模块的描述,仅为描述方便,并不能把本说明书限制在所举实施例范围之内。可以理解,对于本领域的技术人员来说,在了解该系统的原理后,可能在不背离这一原理的情况下,对各个模块进行任意组合,或者构成子系统与其他模块连接。例如,图7中披露的获取模块710、召回模块720、第一确定模块730、以及第二确定模块740可以是一个系统中的不同模块,也可以是一个模块实现上述的两个模块的功能。又例如,对象排序系统700中各个模块可以共用一个存储模块,各个模块也可以分别具有各自的存储模块。诸如此类的变形,均在本说明书的保护范围之内。
本说明书实施例还提供一种对象排序装置,包括至少一个存储介质和至少一个处理器,所述至少一个存储介质用于存储计算机指令;所述至少一个处理器用于执行所述计算机指令以实现如前任一项所述的方法。
本说明书实施例可能带来的有益效果包括但不限于:(1)不同类别的查询词使用不同排序算法进行排序处理,考虑了不同查询词之间的差异性,得到更理想的排序结果,提升了用户搜索体验;(2)通过查询词在若干个排序因子下的排序评分表征该查询词在不同的排序因子下的表达效果和该查询词对不同排序因子的依赖程度,即表征每个查询词的差异性,并基于此排序评分得到各查询词的向量表示进行聚类,可以使得到的多个查询词类别更准确;(3)查询词的向量表示基于历史数据计算得到,即基于实际数据计算得到,使得到的查询词聚类更加符合实际的数据分布,进一步提高聚类准确度。
需要说明的是,不同实施例可能产生的有益效果不同,在不同的实施例里,可能产生的有益效果可以是以上任意一种或几种的组合,也可以是其他任何可能获得的有益效果。
上文已对基本概念做了描述,显然,对于本领域技术人员来说,上述详细披露仅仅作为示例,而并不构成对本说明书的限定。虽然此处并没有明确说明,本领域技术人员可能会对本说明书进行各种修改、改进和修正。该类修改、改进和修正在本说明书中被建议,所以该类修改、改进、修正仍属于本说明书示范实施例的精神和范围。
同时,本说明书使用了特定词语来描述本说明书的实施例。如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本说明书至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一个替代性实施例”并不一定是指同一实施例。此外,本说明书的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。
此外,本领域技术人员可以理解,本说明书的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的工序、机器、产品或物质的组合,或对他们的任何新的和有用的改进。相应地,本说明书的各个方面可以完全由硬件执行、可以完全由软件(包括固件、常驻软件、微码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为“数据块”、“模块”、“引擎”、“单元”、“组件”或“系统”。此外,本说明书的各方面可能表现为位于一个或多个计算机可读介质中的计算机产品,该产品包括计算机可读程序编码。
计算机存储介质可能包含一个内含有计算机程序编码的传播数据信号,例如在基带上或作为载波的一部分。该传播信号可能有多种表现形式,包括电磁形式、光形式等,或合适的组合形式。计算机存储介质可以是除计算机可读存储介质之外的任何计算机可读介质,该介质可以通过连接至一个指令执行系统、装置或设备以实现通讯、传播或传输供使用的程序。位于计算机存储介质上的程序编码可以通过任何合适的介质进行传播,包括无线电、电缆、光纤电缆、RF、或类似介质,或任何上述介质的组合。
本说明书各部分操作所需的计算机程序编码可以用任意一种或多种程序语言编写,包括面向对象编程语言如Java、Scala、Smalltalk、Eiffel、JADE、Emerald、C++、C#、VB.NET、Python等,常规程序化编程语言如C语言、Visual Basic、Fortran2003、Perl、COBOL2002、PHP、ABAP,动态编程语言如Python、Ruby和Groovy,或其他编程语言等。该程序编码可以完全在用户计算机上运行、或作为独立的软件包在用户计算机上运行、或部分在用户计算机上运行部分在远程计算机运行、或完全在远程计算机或处理设备上运行。在后种情况下,远程计算机可以通过任何网络形式与用户计算机连接,比如局域网(LAN)或广域网(WAN),或连接至外部计算机(例如通过因特网),或在云计算环境中,或作为服务使用如软件即服务(SaaS)。
此外,除非权利要求中明确说明,本说明书所述处理元素和序列的顺序、数字字母的使用、或其他名称的使用,并非用于限定本说明书流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本说明书实施例实质和范围的修正和等价组合。例如,虽然以上所描述的系统组件可以通过硬件设备实现,但是也可以只通过软件的解决方案得以实现,如在现有的处理设备或移动设备上安装所描述的系统。
同理,应当注意的是,为了简化本说明书披露的表述,从而帮助对一个或多个发明实施例的理解,前文对本说明书实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。但是,这种披露方法并不意味着本说明书对象所需要的特征比权利要求中提及的特征多。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。
一些实施例中使用了描述成分、属性数量的数字,应当理解的是,此类用于实施例描述的数字,在一些示例中使用了修饰词“大约”、“近似”或“大体上”来修饰。除非另外说明,“大约”、“近似”或“大体上”表明所述数字允许有±20%的变化。相应地,在一些实施例中,说明书和权利要求中使用的数值参数均为近似值,该近似值根据个别实施例所需特点可以发生改变。在一些实施例中,数值参数应考虑规定的有效数位并采用一般位数保留的方法。尽管本说明书一些实施例中用于确认其范围广度的数值域和参数为近似值,在具体实施例中,此类数值的设定在可行范围内尽可能精确。
针对本说明书引用的每个专利、专利申请、专利申请公开物和其他材料,如文章、书籍、说明书、出版物、文档等,特此将其全部内容并入本说明书作为参考。与本说明书内容不一致或产生冲突的申请历史文件除外,对本说明书权利要求最广范围有限制的文件(当前或之后附加于本说明书中的)也除外。需要说明的是,如果本说明书附属材料中的描述、定义、和/或术语的使用与本说明书所述内容有不一致或冲突的地方,以本说明书的描述、定义和/或术语的使用为准。
最后,应当理解的是,本说明书中所述实施例仅用以说明本说明书实施例的原则。其他的变形也可能属于本说明书的范围。因此,作为示例而非限制,本说明书实施例的替代配置可视为与本说明书的教导一致。相应地,本说明书的实施例不仅限于本说明书明确介绍和描述的实施例。
Claims (14)
1.一种对象排序方法,所述方法包括:
获取查询词并确定其所属的查询词类别;
基于所述查询词,召回一个或多个候选对象;
利用目标排序算法处理候选对象,确定候选对象的排序分值;其中,所述目标排序算法与所述查询词所属的查询词类别相关;
基于一个或多个候选对象的排序分值,确定目标排序结果;
其中,查询词类别通过以下方法获得:
基于多个查询词的历史召回结果,确定各查询词在预设若干个排序因子下的排序评分,其进一步包括,对于所述多个查询词中的每一个:分别基于各所述排序因子对其历史召回结果进行排序得到不同的排序结果,对各排序结果分别进行评估,得到该查询词对应的若干个排序评分;所述历史召回结果包括一个或多个历史候选对象,排序因子是影响召回结果排序的因素或指标;
对于每一查询词,基于其对应的若干个排序评分,确定该查询词的向量表示;进而获得各查询词的向量表示;
基于各查询词的向量表示进行聚类,得到多个查询词类别。
2.如权利要求1所述的方法,查询词类别通过对多个查询词聚类获得。
3.如权利要求1所述的方法,所述基于多个查询词的历史召回结果,确定各查询词在预设若干个排序因子下的排序评分,包括,对于任一查询词:
获取不同用户通过该查询词获得的历史召回结果;
获取不同用户对应的历史召回结果在各排序因子下的排序结果;
基于不同用户对其对应的历史召回结果中的一个或多个历史候选对象的选择结果,确定不同用户对应的各排序因子下的排序结果的排序评分;
对于每一排序因子,对不同用户对应的排序评分进行加权运算,得到该查询词对应该排序因子的排序评分。
4.如权利要求3所述的方法,加权运算中的权重基于用户对应的历史召回结果中的一个或多个历史候选对象被该用户召回的频次确定。
5.如权利要求3所述的方法,所述排序评分包括排序结果的auc值。
6.如权利要求1所述的方法,所述基于多个查询词的历史召回结果,确定各查询词在预设若干个排序因子下的排序评分,包括,对于任一查询词:
获取该查询词的历史召回结果;
获取历史召回结果在各排序因子下的排序结果;
获取历史召回结果中的一个或多个历史候选对象的重要性分数;
对于每一排序因子,基于重要性分数确定该排序因子下的排序结果的搜索增益,将所述搜索增益确定为该查询词对应该排序因子的排序评分。
7.如权利要求1所述的方法,所述基于多个查询词的历史召回结果,确定各查询词在预设若干个排序因子下的排序评分,包括,对于任一查询词:
获取该查询词的历史召回结果;
获取历史召回结果中的一个或多个历史候选对象在各排序因子下的排序分值,得到历史召回结果在各排序因子下对应的排序分值向量;
获取历史召回结果中的一个或多个历史候选对象的重要性分数,得到历史召回结果对应的重要性分数向量;
对于每一排序因子,计算该排序因子下的排序分值向量与重要性分数向量的相关性分数,将所述相关性分数确定为该查询词对应该排序因子的排序评分。
8.如权利要求1所述的方法,所述目标排序算法从与多个查询词类别分别对应的多个排序算法中选出。
9.如权利要求8所述的方法,所述排序算法包括排序模型,与某查询词类别对应的排序模型基于该查询词类别中各查询词的历史查询数据训练得到;
其中,历史查询数据包括历史召回结果、以及以下信息中的一种或多种:用户特征信息、查询场景信息、查询词、用户与历史召回结果中的一个或多个历史候选对象的关联特征。
10.如权利要求1或2所述的方法,所述查询词为经过预处理后的结果,所述预处理包括以下中的一种或多种的组合:同义词改写、纠错、去除无效字符。
11.如权利要求1所述的方法,确定查询词所属的查询词类别,包括:
确定该查询词与已有类别的查询词的语义相似度;
将语义相似度大于设定阈值或最大的已有类别的查询词的查询词类别确定为所述查询词所属的查询词类别。
12.一种对象排序系统,所述系统包括:
获取模块,用于获取查询词并确定其所属的查询词类别;
召回模块,用于基于所述查询词,召回一个或多个候选对象;
第一确定模块,用于利用目标排序算法处理候选对象,确定候选对象的排序分值;其中,所述目标排序算法与所述查询词所属的查询词类别相关;
第二确定模块,用于基于一个或多个候选对象的排序分值,确定目标排序结果;
其中,所述获取模块还用于:基于多个查询词的历史召回结果,确定各查询词在预设若干个排序因子下的排序评分,其进一步包括,对于所述多个查询词中的每一个:分别基于各所述排序因子对其历史召回结果进行排序得到不同的排序结果,对各排序结果分别进行评估,得到该查询词对应的若干个排序评分;所述历史召回结果包括一个或多个历史候选对象,排序因子是影响召回结果排序的因素或指标;对于每一查询词,基于其对应的若干个排序评分,确定该查询词的向量表示;进而获得各查询词的向量表示;基于各查询词的向量表示进行聚类,得到多个查询词类别。
13.一种对象排序装置,包括至少一个存储介质和至少一个处理器,所述至少一个存储介质用于存储计算机指令;所述至少一个处理器用于执行所述计算机指令以实现如权利要求1~11任一项所述的方法。
14.一种查询词类别获得方法,其包括:
基于多个查询词的历史召回结果,确定各查询词在预设若干个排序因子下的排序评分,其进一步包括,对于所述多个查询词中的每一个:分别基于各所述排序因子对其历史召回结果进行排序得到不同的排序结果,对各排序结果分别进行评估,得到该查询词对应的若干个排序评分;所述历史召回结果包括一个或多个历史候选对象,排序因子是影响召回结果排序的因素或指标;
对于每一查询词,基于其对应的若干个排序评分,确定该查询词的向量表示;进而获得各查询词的向量表示;
基于各查询词的向量表示进行聚类,得到多个查询词类别。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110718251.3A CN113343101B (zh) | 2021-06-28 | 2021-06-28 | 一种对象排序方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110718251.3A CN113343101B (zh) | 2021-06-28 | 2021-06-28 | 一种对象排序方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113343101A CN113343101A (zh) | 2021-09-03 |
CN113343101B true CN113343101B (zh) | 2023-08-04 |
Family
ID=77479190
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110718251.3A Active CN113343101B (zh) | 2021-06-28 | 2021-06-28 | 一种对象排序方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113343101B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114862447A (zh) * | 2022-04-08 | 2022-08-05 | 无线生活(杭州)信息科技有限公司 | 广告重排序方法及装置 |
CN115016873B (zh) * | 2022-05-05 | 2024-07-12 | 上海乾臻信息科技有限公司 | 前端数据交互方法、系统、电子设备及可读存储介质 |
CN115017361B (zh) * | 2022-05-25 | 2024-07-19 | 北京奇艺世纪科技有限公司 | 一种视频搜索方法、装置、电子设备及存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104050240A (zh) * | 2014-05-26 | 2014-09-17 | 北京奇虎科技有限公司 | 一种确定搜索查询词类别属性的方法和装置 |
WO2016126768A2 (en) * | 2015-02-03 | 2016-08-11 | Dolby Laboratories Licensing Corporation | Conference word cloud |
CN110020128B (zh) * | 2017-10-26 | 2023-04-28 | 阿里巴巴集团控股有限公司 | 一种搜索结果排序方法及装置 |
US11138248B2 (en) * | 2017-11-03 | 2021-10-05 | Dell Products L.P. | Understanding user product queries in real time without using any rules |
CN109033221A (zh) * | 2018-06-29 | 2018-12-18 | 上海银赛计算机科技有限公司 | 答案生成方法、装置及服务器 |
CN110807138B (zh) * | 2019-09-10 | 2022-07-05 | 国网电子商务有限公司 | 一种搜索对象类别的确定方法及装置 |
-
2021
- 2021-06-28 CN CN202110718251.3A patent/CN113343101B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN113343101A (zh) | 2021-09-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108804641B (zh) | 一种文本相似度的计算方法、装置、设备和存储介质 | |
CN113343101B (zh) | 一种对象排序方法及系统 | |
JP5350472B2 (ja) | トピックに関する複数の製品にランクを付ける製品ランク付け方法及び製品ランク付けシステム | |
CN106095845B (zh) | 文本分类方法和装置 | |
US10810374B2 (en) | Matching a query to a set of sentences using a multidimensional relevancy determination | |
US11682060B2 (en) | Methods and apparatuses for providing search results using embedding-based retrieval | |
US11734322B2 (en) | Enhanced intent matching using keyword-based word mover's distance | |
CN111382248B (zh) | 一种问题回复方法、装置、存储介质及终端设备 | |
CN110737756B (zh) | 确定针对用户输入数据的应答的方法、装置、设备和介质 | |
EP3608799A1 (en) | Search method and apparatus, and non-temporary computer-readable storage medium | |
CN111400613A (zh) | 物品推荐方法、装置、介质及计算机设备 | |
WO2020123689A1 (en) | Suggesting text in an electronic document | |
CN116521865A (zh) | 一种基于自动识别技术的元数据分类方法、存储介质及系统 | |
CN112487283A (zh) | 训练模型的方法、装置、电子设备及可读存储介质 | |
US11966687B2 (en) | Modifying a document content section of a document object of a graphical user interface (GUI) | |
CN113704599A (zh) | 营销转化用户的预测方法、装置及计算机设备 | |
CN110717008A (zh) | 基于语意识别的搜索结果排序方法及相关装置 | |
CN112287215A (zh) | 一种智能就业推荐方法和装置 | |
US12112133B2 (en) | Multi-model approach to natural language processing and recommendation generation | |
WO2019192122A1 (zh) | 文档主题参数提取方法、产品推荐方法、设备及存储介质 | |
CN112988699B (zh) | 模型训练方法、数据标签的生成方法及装置 | |
US10223728B2 (en) | Systems and methods of providing recommendations by generating transition probability data with directed consumption | |
CN113393303A (zh) | 物品推荐方法、装置、设备及存储介质 | |
WO2015159702A1 (ja) | 部分情報抽出システム | |
CN113204705A (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 |