CN112131491B - 分层排序方法、计算设备和计算机可读存储介质 - Google Patents
分层排序方法、计算设备和计算机可读存储介质 Download PDFInfo
- Publication number
- CN112131491B CN112131491B CN202011309163.XA CN202011309163A CN112131491B CN 112131491 B CN112131491 B CN 112131491B CN 202011309163 A CN202011309163 A CN 202011309163A CN 112131491 B CN112131491 B CN 112131491B
- Authority
- CN
- China
- Prior art keywords
- data
- commodity
- recalled
- merchandise
- category
- 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
Images
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/9538—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0641—Shopping interfaces
- G06Q30/0643—Graphical representation of items or shoppers
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Economics (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Development Economics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开提供了一种分层排序方法、计算设备和计算机可读存储介质。该方法包括:基于多个用户的行为数据和商品类目数据构建样本集合;基于该样本集合训练相关性模型以产生训练后的相关性模型;将多个召回商品数据分为第一相关组和第一不相关组;对该第一相关组和该第一不相关组中的召回商品数据分别进行重新排序以产生第二相关组和第二不相关组;以及基于该特定用户的多个历史行为数据和梯度排序模型,对该第二相关组中的至少一部分召回商品数据进行重新排序以产生第三相关组。本发明通过结合搜索结果的相关性与用户的个性化,提高了搜索结果的排序与用户的匹配性。
Description
技术领域
本发明概括而言涉及机器学习领域,更具体地,涉及一种分层排序方法、计算设备和计算机可读存储介质。
背景技术
随着网络的不断发展,越来越多的用户通过电商搜索系统满足购物需求。通常情况下电商搜索系统根据用户输入的搜索词能够得到成千上万相匹配的商品,但是在实际情况中,用户通常只倾向于浏览前若干项结果,即曝光的位置有限。因此,如何使得与用户需求最匹配的商品显示在有限的头部曝光位置是搜索排序需要考虑的问题。
与用户需求最匹配的商品不仅应当与用户输入的搜索词最相关,而且应当与用户的个人偏好最相关。例如,以“电脑”作为召回词进行搜索时,电商搜索系统的召回结果可能不仅包括“台式电脑”和“笔记本电脑”类目的商品,还可能包括诸如“电脑显示器”、“电脑数据线”等类目的商品。而根据实际经验,“台式电脑”和“笔记本电脑”类目的商品与用户的召回词“电脑”的相关性可能更高。
此外,对于不同用户来说,同一召回词的情况下与用户需求最匹配的商品也可能不同。例如,在使用召回词“苹果”进行搜索的情况下,电商搜索系统返回的召回结果中可能存在“水果”品类和“手机”品类的商品,这两个品类与召回词“苹果”之间都具有较高的相关性,无法仅仅通过相关性进行排序。
发明内容
针对上述问题中的至少一个,本发明提供了一种分层排序方案,结合搜索结果的相关性与用户的个性化,提高了搜索结果的排序与用户的匹配性,从而提高搜索结果的点击通过率。
根据本发明的一个方面,提供了一种分层排序方法。该方法包括:基于多个用户的行为数据和商品类目数据构建样本集合,其中该样本集合包括多个样本,每个样本包括指示搜索词和与该搜索词相关的商品数据的第一字段和指示该搜索词和该商品数据之间的相关性的第二字段;基于该样本集合训练相关性模型以产生训练后的相关性模型;将基于特定用户输入的召回词的多个召回商品数据输入该训练后的相关性模型,以将该多个召回商品数据分为第一相关组和第一不相关组;基于每个召回商品数据的相关性和该召回商品数据的至少一种交易数据,对该第一相关组和该第一不相关组中的召回商品数据分别进行重新排序以产生第二相关组和第二不相关组;以及基于该特定用户的多个历史行为数据和梯度排序模型,对该第二相关组中的至少一部分召回商品数据进行重新排序以产生第三相关组。利用多个来源的数据构建大数据量的训练样本集并且利用组合模型降低了对线上系统的性能损耗。
在一种实现中,该样本集合包括第一样本集合和第二样本集合,并且其中基于多个用户的行为数据和商品类目数据构建样本集合包括:基于该多个用户的行为数据构建该第一样本集合,其中该第一样本集合包括多个第一样本,每个第一样本的第一字段包括用户搜索词和基于该用户搜索词的搜索结果的商品数据,该第一样本的第二字段包括指示该用户搜索词和基于该用户搜索词的搜索结果的商品数据之间的相关性的标签;基于该商品类目数据构建第二样本集合,其中该第二样本集合包括多个第二样本,每个第二样本的第一字段包括统计搜索词和与该统计搜索词对应的类目的商品数据,该第二样本的第二字段包括指示该统计搜索词和与该统计搜索词关联的类目的商品数据之间的相关性的标签;以及组合该第一样本集合和该第二样本集合以构建该样本集合。
在一种实现中,基于该商品类目数据构建第二样本集合包括:确定多个统计搜索词;对于每个统计搜索词,确定与该统计搜索词相对应的末级商品类目;从该末级商品类目中获取作为正样本的第一数量的商品数据,并且将该正样本的第二字段的标签设置为指示相关;以及从与该末级商品类目具有相同祖先的其他末级商品类目中获取作为负样本的第一数量的商品数据,并且将该负样本的第二字段的标签设置为指示不相关。
在一种实现中,从与该末级商品类目具有相同祖先的其他末级商品类目中获取作为负样本的第一数量的商品数据包括:从与该末级商品类目具有相同父级类目的其他末级商品类目中获取第二数量的商品数据,从与该末级商品类目具有相同祖父级类目且不同父级类目的其他末级商品类目中获取第三数量的商品数据,从与该末级商品类目具有相同曾祖父级类目且不同祖父级类目的其他末级商品类目中获取第四数量的商品数据,组合该第二数量的商品数据、第三数量的商品数据和第四数量的商品数据以获取作为负样本的第一数量的商品数据。
在一种实现中,基于该样本集合训练相关性模型以产生训练后的相关性模型包括:对该多个样本的每个样本的第一字段进行文本特征提取,以获得该搜索词和与该搜索词相关的商品数据的多个交叉特征;利用每个样本的多个交叉特征和第二字段对相关性模型进行训练以产生训练后的相关性模型,其中该多个交叉特征至少包括指示该搜索词和与该搜索词相关的商品数据所对应的末级商品类目之间的匹配性的特征和/或指示该搜索词和与该搜索词相关的商品数据的品牌之间的匹配性的特征。
在一种实现中,将该多个召回商品数据分为第一相关组和第一不相关组包括:接收该特定用户输入的召回词;根据该召回词进行检索以获得该多个召回商品数据;对该召回词和每个召回商品数据的组合进行文本特征提取,以获得该召回词和该召回商品数据之间的多个交叉特征;将该多个交叉特征输入该训练后的相关性模型以获得该召回词和该召回商品数据之间的相关性;以及基于该召回词和该多个召回商品数据的多个相关性将该多个召回商品数据分为第一相关组和第一不相关组。
在一种实现中,产生第二相关组和第二不相关组包括:确定每个召回商品数据的相关性和该召回商品数据的至少一种交易数据;为该召回商品数据的相关性和至少一种交易数据分别赋予不同的权重,其中该召回商品数据的相关性的权重大于该至少一种交易数据的权重;基于每个召回商品数据的相关性和至少一种交易数据以及对应的权重,确定每个召回商品数据的得分;基于每个召回商品数据的得分对该第一相关组和该第一不相关组中的召回商品数据分别进行排序以产生该第二相关组和该第二不相关组。
在一种实现中,产生第三相关组包括:获取该特定用户的多个历史行为数据,每个历史行为数据包括该特定用户的一个历史搜索词和与该历史搜索词相对应的搜索结果的用户行为;基于该用户行为为该历史行为数据赋予不同的标签;提取该历史行为数据的多个维度的特征,其中该多个维度的特征至少包括该特定用户与该历史行为数据中的用户行为之间的交叉维度特征;基于该特定用户的多个历史行为数据的多个维度的特征和每个历史行为数据的标签对该梯度排序模型进行训练以产生该特定用户的梯度排序模型;以及利用该特定用户的梯度排序模型对该第二相关组中的至少一部分召回商品数据进行排序以产生该第三相关组。
根据本发明的另一个方面,提供了一种计算设备。该计算设备包括:至少一个处理器;以及至少一个存储器,该至少一个存储器被耦合到该至少一个处理器并且存储用于由该至少一个处理器执行的指令,该指令当由该至少一个处理器执行时,使得该计算设备执行根据上述方法的步骤。
根据本发明的再一个方面,提供了一种计算机可读存储介质,其上存储有计算机程序代码,该计算机程序代码在被运行时执行如上所述的方法。
附图说明
通过参考下列附图所给出的本发明的具体实施方式的描述,将更好地理解本发明,并且本发明的其他目的、细节、特点和优点将变得更加显而易见。
图1示出了用于实现根据本发明的实施例的分层排序方法的系统的示意图。
图2示出了根据本发明的一些实施例的分层排序方法的流程图。
图3示出了根据本发明实施例的用于构建样本集合的步骤的流程图。
图4示出了根据本发明实施例的构建第二样本集合的子步骤的流程图。
图5示出了根据本发明实施例的对相关性模型进行训练的步骤的流程图。
图6示出了根据本发明实施例的对多个召回商品数据进行分组的步骤的流程图。
图7示出了根据本发明的实施例的对第一相关组和第一不相关组中的召回商品数据分别进行重新排序的步骤的流程图。
图8示出了根据本发明实施例的产生第三相关组的步骤的流程图。
图9示出了适合实现本发明的实施例的计算设备的结构方框图。
具体实施方式
下面将参照附图更详细地描述本发明的优选实施方式。虽然附图中显示了本发明的优选实施方式,然而应该理解,可以以各种形式实现本发明而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本发明更加透彻和完整,并且能够将本发明的范围完整的传达给本领域的技术人员。
在下文的描述中,出于说明各种发明的实施例的目的阐述了某些具体细节以提供对各种发明实施例的透彻理解。但是,相关领域技术人员将认识到可在无这些具体细节中的一个或多个细节的情况来实践实施例。在其它情形下,与本申请相关联的熟知的装置、结构和技术可能并未详细地示出或描述从而避免不必要地混淆实施例的描述。
除非语境有其它需要,在整个说明书和权利要求中,词语“包括”和其变型,诸如“包含”和“具有”应被理解为开放的、包含的含义,即应解释为“包括,但不限于”。
在整个说明书中对“一个实施例”或“一些实施例”的提及表示结合实施例所描述的特定特点、结构或特征包括于至少一个实施例中。因此,在整个说明书的各个位置“在一个实施例中”或“在一些实施例”中的出现不一定全都指相同实施例。另外,特定特点、结构或特征可在一个或多个实施例中以任何方式组合。
此外,说明书和权利要求中所用的第一、第二等术语,仅仅出于描述清楚起见来区分各个对象,而并不限定其所描述的对象的大小或其他顺序等。
图1示出了用于实现根据本发明的实施例的分层排序方法的系统1的示意图。如图1中所示,系统1包括用户终端10、计算设备20、服务器30和网络40。用户终端10、计算设备20和服务器30可以通过网络40进行数据交互。这里,每个用户终端10可以是终端用户的移动或固定终端,如手机、平板电脑、台式机等。用户终端10例如可以通过其上安装的电商企业应用程序或特定搜索引擎与电商企业的服务器30通信,以向服务器30发送信息和/或从服务器30接收信息。计算设备20基于来自用户终端10和/或服务器30的数据执行相应的操作。计算设备20可以包括至少一个处理器210和与该至少一个处理器210耦合的至少一个存储器220,该存储器220中存储有可由该至少一个处理器210执行的指令230,该指令230在被该至少一个处理器210执行时执行如下所述的方法100的至少一部分。注意,在本文中,计算设备20可以是服务器30的一部分或者可以独立于服务器30。计算设备20或服务器30的具体结构例如可以如下结合图9所述。
图2示出了根据本发明的一些实施例的分层排序方法100的流程图。方法100例如可以由图1中所示的系统1中的计算设备20或服务器30执行。以下以在计算设备20中执行为例,结合图1至图9对方法100进行描述。
如图2中所示,方法100包括步骤110,其中计算设备20基于多个用户的行为数据和商品类目数据构建样本集合。该样本集合可以包括多个样本,每个样本包括指示搜索词(Que)和与该搜索词Que相关的商品数据(Doc)的第一字段(Que- Doc)和指示该搜索词(Que)和所述商品数据(Doc)之间的相关性的第二字段。更具体地,该样本集合可以包括基于多个用户的行为数据的第一样本集合Dusers和基于商品类目数据的第二样本集合Ddoc。这里,商品数据(Doc)是指与特定商品相关的描述性数据,例如该商品的标题、详情、文字描述(文描)、品牌、所属的各级类目中的至少一部分。
图3示出了根据本发明实施例的用于构建样本集合的步骤110的流程图。
如图3中所示,步骤110可以包括子步骤112,其中计算设备20基于多个用户的行为数据构建第一样本集合Dusers。这里,用户的行为数据包括用户通过特定搜索引擎在服务器30中进行搜索时输入的搜索词和对基于该搜索词得到的搜索结果的操作行为,该行为数据可以是搜索系统的用户之前通过搜索引擎进行搜索所产生的并保存在服务器30(或与服务器30相连的数据库)中。
第一样本集合Dusers可以包括多个第一样本duser,每个第一样本duser的第一字段包括用户搜索词和基于该用户搜索词的搜索结果的商品数据,第二字段包括指示该用户搜索词和基于该用户搜索词的搜索结果的商品数据之间的相关性的标签。这里,该相关性的标签可以基于用户对搜索结果中的各个商品数据的用户操作来确定。例如,对于仅浏览的商品数据,可以将搜索词与商品数据之间的相关性的标签设置为指示不相关(如设置为0),而对于执行了点击、加入购物车或者购买的商品数据,可以将搜索词与商品数据之间的相关性的标签设置为指示相关(如设置为1)。
方法100还包括子步骤114,其中计算设备20基于商品类目数据构建第二样本集合Ddoc。这里,商品类目数据是指服务器30中存储的指示商品所属的类目的数据,多个商品的类目数据通常以树状结构存储在服务器30(或与其相连的数据库)中。每个商品数据可以对应于多个类目,从上到下依次为一级类目、二级类目、三级类目……等。对于不同企业和不同商品来说,其类目数据的树状结构的层级数可能不同。在本发明的描述中,以层级数为4为例,每个具体的商品数据位于最低一个层级(在本文中称为末级类目,层级数为4的情况下也可以称为四级类目),其上一个层级的类目称为父级类目(层级数为4的情况下也可以称为三级类目)、父级类目的上一个层级称为祖父级类目(层级数为4的情况下也可以称为二级类目)、祖父级类目的上一个层级称为曾祖父级类目(层级数为4的情况下也可以称为一级类目)。如果层级数大于4,则可以依次向上类推,如果层级数小于4,则可以从上到下依次称为一级类目、二级类目……。
第二样本集合Ddoc可以包括多个第二样本ddoc,每个第二样本ddoc的第一字段包括统计搜索词和与该统计搜索词关联的类目的商品数据,第二字段包括指示该统计搜索词和与该统计搜索词关联的类目的商品数据之间的相关性的标签。这里,与该统计搜索词关联的类目可以包括该统计搜索词本身所对应的类目(即末级类目)和/或与该统计搜索词本身所对应的类目具有相同祖先(相同父级类目、祖父级类目和/或曾祖父级类目)的其他末级类目。
图4示出了根据本发明实施例的构建第二样本集合Ddoc的子步骤114的流程图。
如图4中所示,子步骤114可以进一步包括子步骤1142,其中计算设备20确定多个统计搜索词。这里,统计搜索词是指过去一段时间内基于统计结果的搜索词。在一种实例中,可以选择过去一年内的多个热搜词和/或长尾词作为统计搜索词。
接下来,在子步骤1144,对于每个统计搜索词Q i ,计算设备20可以确定与该统计搜索词Q i 相对应的末级商品类目C i-j 。这里,可以通过对该统计搜索词Q i 进行类目预测确定与之相对应的末级商品类目C i-j 。
接下来,在子步骤1146,计算设备20从该末级商品类目C i-j 中获取作为正样本的第一数量的商品数据,并且将这些正样本的第二字段的标签设置为指示相关(例如设置为1)。例如,计算设备20可以从该末级商品类目C i-j 随机获取100个商品数据作为正样本,并且将这些正样本的相关性标签设置为指示相关。
接下来,在子步骤1148,计算设备20从与该末级商品类目C i-j 具有相同祖先的其他末级商品类目中获取作为负样本的第一数量的商品数据,并且将这些负样本的第二字段的标签设置为指示不相关(例如设置为0)。例如,计算设备20可以从与该末级商品类目C i-j 具有相同父级类目、祖父级类目和/或曾祖父级类目的其他末级商品类目C i-j-sib 中随机获取该第一数量的商品数据作为负样本,并且将这些负样本的相关性标签设置为指示不相关。
更具体地,在一种实例中,以如上所述的层级数为4的类目树为例,计算设备20可以从与该末级商品类目C i-j 具有相同父级类目(三级类目)的其他末级商品类目C i-j-sib-3 (其他四级类目)中获取第二数量的商品数据,从与该末级商品类目C i-j 具有相同祖父级类目(二级类目)且不同父级类目(三级类目)的其他末级商品类目C i-j-sib-2 (其他四级类目)中获取第三数量的商品数据,从与该末级商品类目C i-j 具有相同曾祖父级类目(一级类目)且不同祖父级类目(二级类目)的其他末级商品类目C i-j-sib-1 (其他四级类目)中获取第四数量的商品数据,并且组合该第二数量的商品数据、第三数量的商品数据和第四数量的商品数据以获取作为负样本的第一数量的商品数据。也就是说,计算设备20可以从与统计搜索词所属的末级商品类目具有各个不同级别祖先的其他末级商品类目中一共选择第一数量的商品数据作为负样本,其中,第二数量、第三数量和第四数量之和等于第一数量。通常,第二数量大于第三数量且第三数量大于第四数量。例如,在子步骤1146中为一个统计搜索词选择100个商品数据作为100个正样本的情况下,在子步骤1148中可以为该统计搜索词分别选择60、30、10个具有相同父类目、相同祖父类目且不同父类目、以及相同曾祖父类目且不同祖父类目的商品数据作为100个负样本。
继续图3,在步骤110的子步骤116,计算设备20组合子步骤112得到的第一样本集合Dusers和子步骤114得到的第二样本集合Ddoc以构建该样本集合Dall。例如,计算设备20可以将第一样本集合Dusers中的所有第一样本duser和第二样本集合Ddoc中的所有第二样本ddoc随机排列(例如使用shuffle函数)以产生所需的样本集合Dall。
在一种实例中,子步骤112中获取的第一样本duser的数量为200万,在子步骤114中,选择8000个热搜词和2000个长尾词作为统计搜索词,并且对于每个统计搜索词分别获取100条正样本和100条负样本,以产生200万第二样本ddoc,从而产生了一个具有400万条样本的样本集合Dall。
接下来,继续图2,在步骤120,计算设备20基于样本集合Dall训练一个相关性模型以产生训练后的相关性模型。
图5示出了根据本发明实施例的对相关性模型进行训练的步骤120的流程图。
如图5所示,步骤120可以包括子步骤122,其中对样本集合Dall中的每个样本的第一字段进行文本特征提取,以获得第一字段中的搜索词和商品数据的多个交叉特征。在一种实例中,多个交叉特征至少包括指示第一字段中的搜索词和商品数据所对应的末级商品类目之间的匹配性的特征(如下面表1所示的特征71至73)和/或指示第一字段中的搜索词和商品数据的品牌之间的匹配性的特征(如下面表1所示的特征74至76)。
表1示出了根据本发明实施例的一种交叉特征列表的实例。如表1中所示,在该实例中,对每个样本的第一字段进行文本特征提取,得到第一字段中的搜索词和商品数据之间的76个交叉特征。
接下来,在子步骤124,利用子步骤122获得的每个样本的多个交叉特征和第二字段(即相关性标签)对相关性模型进行训练以产生训练后的相关性模型。在根据本发明的一种实施例中,使用FM(Factor Machine,因子分解机)模型作为相关性模型,然而本领域技术人员可以理解,本发明并不局限于此,该相关性模型还可以包括LR(Logistic Regression,逻辑回归)模型、GBDT(Gradient Boosting Decision Tree,梯度提升决策树)模型等。
在得到训练后的相关性模型之后,在步骤130,计算设备将基于特定用户输入的召回词的多个召回商品数据输入该训练后的相关性模型以将多个召回商品数据分为第一相关组和第一不相关组。
图6示出了根据本发明实施例的对多个召回商品数据进行分组的步骤130的流程图。
如图6中所示,步骤130可以包括子步骤131,其中计算设备20接收特定用户输入的召回词。这里,该用户可以通过其用户终端10在搜索引擎中输入该召回词(搜索词),以获取与该召回词相对应的检索结果,即召回商品列表。
在子步骤132,计算设备20根据该用户输入的召回词进行检索以获得多个召回商品数据。这里,在子步骤132的检索例如可以通过搜索词匹配等方法获得召回结果,并不包含对召回结果中的多个召回商品进行排序。
接下来,在子步骤133,计算设备20对子步骤131接收的召回词和子步骤132获取的每个召回商品数据的组合进行文本特征提取,以获得该召回词和召回商品数据之间的多个交叉特征。获取召回词和召回商品数据之间的交叉特征的方法与上述结合子步骤122所述的方法类似,这里不再赘述。
接下来,在子步骤134,将子步骤133所获取的多个交叉特征输入步骤120中获得的训练后的相关性模型以获得该召回词和每个召回商品数据之间的相关性。
在一种实施例中,可以基于该多个交叉特征、与每个交叉特征对应的权重以及与每个交叉特征对应的隐向量来获得该召回词和召回商品数据之间的相关性。更具体地,该相关性可以通过以下公式(1)确定:
其中,x i 指示该多个交叉特征中的第i个交叉特征(i=1,2,……N,N是交叉特征的数量,在如表1所示的实例中,N=76),w i 指示第i个交叉特征的权重,其例如可以在相关性模型训练过程中通过调参来确定,v i,f 指示FM模型中与交叉特征x i 对应的隐向量,即将高维稀疏输入向量转换为低维密集的嵌入向量的嵌入(embedding)矩阵,f=1,2,……k,k是交叉特征x i 的隐向量v i,f 的长度,y指示多个交叉特征的相关性,y的值越高,多个交叉特征的相关性越高,y的值越低,多个交叉特征的相关性越低。
接下来,在子步骤135,基于该召回词和多个召回商品数据的多个相关性将多个召回商品数据分为第一相关组和第一不相关组。例如,可以将子步骤135获得的相关性y与一个相关性阈值(例如0.5)进行比较,并且将y大于该相关性阈值的召回商品数据放入第一相关组,将y小于或等于该相关性阈值的召回商品数据放入第一不相关组。
至此,基于大量用户数据和商品数据的特征对一个搜索词和基于该搜索词的搜索结果的相关性进行了分组,从而获得了该搜索结果的大数据相关性。
进一步地,方法100还可以包括步骤140,其中计算设备20基于步骤130获取的每个召回商品数据的相关性y和该召回商品数据的至少一种交易数据,对第一相关组和第一不相关组中的召回商品数据分别进行重新排序以产生第二相关组和第二不相关组。
图7示出了根据本发明的实施例的对第一相关组和第一不相关组中的召回商品数据分别进行重新排序的步骤140的流程图。
如图7中所示,步骤140可以包括子步骤142,其中计算设备20确定每个召回商品数据的相关性y(步骤130中得到)和该召回商品数据的至少一种交易数据。该至少一种交易数据例如可以包括该商品的销量数据、成交量数据、点击率数据等。
接下来,在子步骤144,计算设备20为该召回商品数据的相关性y和至少一种交易数据分别赋予不同的权重。
在一种实例中,为召回商品数据的相关性y赋予的权重大于该至少一种交易数据的权重。
接下来,在子步骤146,计算设备20基于每个召回商品数据的相关性y和至少一种交易数据以及对应的权重,确定每个召回商品数据的得分。例如,在一种实例中,可以基于如下公式(2)确定该召回商品数据的得分S:
S=α 0 * y+α 1 * s 1 +α 2 * s 2 + …… (2)
其中,α 0 是为该召回商品数据的相关性y赋予的权重,s 1 、s 2 、……是召回商品数据的至少一种交易数据,α 1 、α 2 、……是为该至少一种交易数据s 1 、s 2 、……分别赋予的权重。
在一种实例中,一种交易数据可以包括该召回商品数据对应的商品在过去一个时间段(如一个月)内的成交额(或其均值),对其平滑后取值在0到1之间,另一种交易数据可以包括该召回商品数据在过去一个时间段(如一个月)内在该召回词下的点击率(或其均值)。
接下来,在子步骤148,基于子步骤146中获得的每个召回商品数据的得分对步骤130获得的第一相关组和第一不相关组中的召回商品数据分别进行排序以产生第二相关组和第二不相关组。
通过这种方式,可以基于商品的业务因素对上述大数据相关性进行排序,从而获得了更加符合商品历史相关特性的排序结果。
如背景技术中所述,与用户需求最匹配的商品不仅应当与用户输入的搜索词最相关,而且应当与用户的个人偏好最相关。因此,方法100还可以包括步骤150,其中计算设备20基于该特定用户的多个历史行为数据和梯度排序模型,对步骤140产生的第二相关组中的至少一部分召回商品数据进行重新排序以产生第三相关组。
图8示出了根据本发明实施例的产生第三相关组的步骤150的流程图。
如图8中所示,步骤150可以包括子步骤151,其中计算设备20可以获取该特定用户的多个历史行为数据。这里,该特定用户的每个历史行为数据包括该特定用户的一个历史搜索词和与该历史搜索词相对应的搜索结果的用户行为。与历史搜索词相对应的搜索结果的用户行为例如可以包括用户对搜索结果的浏览行为、点击行为、加入购物车行为和/或购买行为。
接下来,在子步骤152,计算设备20可以基于与该历史搜索词相对应的搜索结果的用户行为为该历史行为数据赋予不同的标签。例如,在一种实例中,可以将仅曝光(用户浏览)的搜索结果(即召回商品数据)的标签设置为0,将仅点击未加入购物车或购买的搜索结果的标签设置为1,将加入购物车但并未购买的搜索结果的标签设置为3,将最终购买的搜索结果的标签设置为5。
在子步骤153,计算设备20提取该特定用户的历史行为数据的多个维度的特征。这里,多个维度的特征至少包括该特定用户与该历史行为数据中的用户行为之间的交叉维度特征,以用于确定用户的个人偏好。此外,该多个维度的特征还可以包括用户的个人维度的特征,商品本身的维度的特征等。
在一种实例中,多个维度的特征可以包括用户所属行业的名称或类别、用户所属公司的性质及经营信息、订单量及其占比、订单金额及其占比、sku购买量及其占比、sku购买金额及其占比、历史购买次数、品牌偏好或分布、产线偏好或分布、各级类目偏好或分布等。
接下来,在子步骤154,计算设备20基于子步骤153获得的多个维度的特征和子步骤152确定的每个历史行为数据的标签对梯度排序模型进行训练以产生该特定用户的梯度排序模型。
在根据本发明的一种实施例中,使用LambdaMART模型作为梯度排序模型,然而本领域技术人员可以理解,本发明并不局限于此,该梯度排序模型还可以包括 LambdaRank模型、Ranking SVM模型等。
以LambdaMART模型为例,子步骤154中的训练过程可以概括描述如下:
首先,对模型进行初始化:
然后,对于每个样本(特定用户的每个历史行为数据的多个维度的特征和标签)确定λ-梯度y i (如下面公式(4)所示)和权重w i (如下面公式(5)所示):
接下来,利用上述λ-梯度y i 构建决策树R lk :
其中可以基于牛顿迭代法确定决策树R lk 中的每个叶子节点γ lk 的输出值:
最后对模型进行更新直至收敛:
其中,在上述公式(3)至(8)中,i=0,1,……M,M是样本数量,k=0,1,……N,N是决策树R lk 的数量,l=0,1,……L,L是决策树R lk 的叶子节点γ lk 的数量,η是预设的学习率。
此外,在产生该特定用户的梯度排序模型之后,还可以使用诸如NDCG(Normalized Discounted Cumulative Gain,归一化折损累计增益)的指标优化算法对该模型进行优化。
接下来,在子步骤155,利用该特定用户的梯度排序模型对第二相关组中的至少一部分召回商品数据进行排序以产生第三相关组。
这里,可以对第二相关组中的前若干个(例如100个)召回商品数据进行排序。
通过这种方式,可以基于用户的历史行为数据获取该用户的个人偏好,并且基于用户的个人偏好对步骤140获得的第二相关组中的召回商品数据进行进一步排序,以获得更加个性化的商品排序结果。
图9示出了适合实现本发明的实施例的计算设备900的结构方框图。计算设备900例如可以是如上所述的计算设备20或服务器30。
如图9中所示,计算设备900可以包括一个或多个中央处理单元(CPU)910(图中仅示意性地示出了一个),其可以根据存储在只读存储器(ROM)920中的计算机程序指令或者从存储单元980加载到随机访问存储器(RAM)930中的计算机程序指令,来执行各种适当的动作和处理。在RAM 930中,还可存储计算设备900操作所需的各种程序和数据。CPU 910、ROM 920以及RAM 930通过总线940彼此相连。输入/输出(I/O)接口950也连接至总线940。
计算设备900中的多个部件连接至I/O接口950,包括:输入单元960,例如键盘、鼠标等;输出单元970,例如各种类型的显示器、扬声器等;存储单元980,例如磁盘、光盘等;以及通信单元990,例如网卡、调制解调器、无线通信收发机等。通信单元990允许计算设备900通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
上文所描述的方法100例如可由计算设备900(如计算设备20或服务器30)的CPU910执行。例如,在一些实施例中,方法100可被实现为计算机软件程序,其被有形地包括于机器可读介质,例如存储单元980。在一些实施例中,计算机程序的部分或者全部可以经由ROM 920和/或通信单元990而被载入和/或安装到计算设备900上。当计算机程序被加载到RAM 930并由CPU 910执行时,可以执行上文描述的方法100的一个或多个操作。此外,通信单元990可以支持有线或无线通信功能。
本领域技术人员可以理解,图9所示的计算设备900仅是示意性的。在一些实施例中,计算设备20或服务器30可以包含比计算设备900更多或更少的部件。
以上结合附图对根据本发明的分层排序方法100以及可用作计算设备20或服务器30的计算设备900进行了描述。然而本领域技术人员可以理解,方法100的步骤的执行并不局限于图中所示和以上所述的顺序,而是可以以任何其他合理的顺序来执行。此外,计算设备900也不必须包括图9中所示的所有组件,其可以仅仅包括执行本发明中所述的功能所必须的其中一些组件,并且这些组件的连接方式也不局限于图中所示的形式。
本发明可以是方法、装置、系统和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于执行本发明的各个方面的计算机可读程序指令。
在一个或多个示例性设计中,可以用硬件、软件、固件或它们的任意组合来实现本发明所述的功能。例如,如果用软件来实现,则可以将所述功能作为一个或多个指令或代码存储在计算机可读介质上,或者作为计算机可读介质上的一个或多个指令或代码来传输。
本文公开的装置的各个单元可以使用分立硬件组件来实现,也可以集成地实现在一个硬件组件,如处理器上。例如,可以用通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑器件、分立门或者晶体管逻辑、分立硬件组件或用于执行本文所述的功能的任意组合来实现或执行结合本发明所描述的各种示例性的逻辑块、模块和电路。
本领域普通技术人员还应当理解,结合本发明的实施例描述的各种示例性的逻辑块、模块、电路和算法步骤可以实现成电子硬件、计算机软件或二者的组合。
本发明的以上描述用于使本领域的任何普通技术人员能够实现或使用本发明。对于本领域普通技术人员来说,本发明的各种修改都是显而易见的,并且本文定义的一般性原理也可以在不脱离本发明的精神和保护范围的情况下应用于其它变形。因此,本发明并不限于本文所述的实例和设计,而是与本文公开的原理和新颖性特性的最广范围相一致。
Claims (10)
1.一种分层排序方法,包括:
基于多个用户的行为数据和商品类目数据构建样本集合,其中所述样本集合包括多个样本,每个样本包括指示搜索词和与所述搜索词相关的商品数据的第一字段和指示所述搜索词和所述商品数据之间的相关性的第二字段;
基于所述样本集合训练相关性模型以产生训练后的相关性模型;
将基于特定用户输入的召回词的多个召回商品数据输入所述训练后的相关性模型,以将所述多个召回商品数据分为第一相关组和第一不相关组;
基于每个召回商品数据的相关性和所述召回商品数据的至少一种交易数据,对所述第一相关组和所述第一不相关组中的召回商品数据分别进行重新排序以产生第二相关组和第二不相关组;以及
基于所述特定用户的多个历史行为数据和梯度排序模型,对所述第二相关组中的至少一部分召回商品数据进行重新排序以产生第三相关组。
2.如权利要求1所述的方法,其中所述样本集合包括第一样本集合和第二样本集合,并且其中基于多个用户的行为数据和商品类目数据构建样本集合包括:
基于所述多个用户的行为数据构建所述第一样本集合,其中所述第一样本集合包括多个第一样本,每个第一样本的第一字段包括用户搜索词和基于所述用户搜索词的搜索结果的商品数据,所述第一样本的第二字段包括指示所述用户搜索词和基于所述用户搜索词的搜索结果的商品数据之间的相关性的标签;
基于所述商品类目数据构建第二样本集合,其中所述第二样本集合包括多个第二样本,每个第二样本的第一字段包括统计搜索词和与所述统计搜索词对应的类目的商品数据,所述第二样本的第二字段包括指示所述统计搜索词和与所述统计搜索词关联的类目的商品数据之间的相关性的标签;以及
组合所述第一样本集合和所述第二样本集合以构建所述样本集合。
3.如权利要求2所述的方法,其中基于所述商品类目数据构建第二样本集合包括:
确定多个统计搜索词;
对于每个统计搜索词,确定与所述统计搜索词相对应的末级商品类目;
从所述末级商品类目中获取作为正样本的第一数量的商品数据,并且将所述正样本的第二字段的标签设置为指示相关;以及
从与所述末级商品类目具有相同祖先的其他末级商品类目中获取作为负样本的第一数量的商品数据,并且将所述负样本的第二字段的标签设置为指示不相关。
4.如权利要求3所述的方法,其中从与所述末级商品类目具有相同祖先的其他末级商品类目中获取作为负样本的第一数量的商品数据包括:
从与所述末级商品类目具有相同父级类目的其他末级商品类目中获取第二数量的商品数据,
从与所述末级商品类目具有相同祖父级类目且不同父级类目的其他末级商品类目中获取第三数量的商品数据,
从与所述末级商品类目具有相同曾祖父级类目且不同祖父级类目的其他末级商品类目中获取第四数量的商品数据,
组合所述第二数量的商品数据、第三数量的商品数据和第四数量的商品数据以获取作为负样本的第一数量的商品数据。
5.如权利要求1所述的方法,其中基于所述样本集合训练相关性模型以产生训练后的相关性模型包括:
对所述多个样本的每个样本的第一字段进行文本特征提取,以获得所述搜索词和与所述搜索词相关的商品数据的多个交叉特征;
利用每个样本的多个交叉特征和第二字段对相关性模型进行训练以产生训练后的相关性模型,其中
所述多个交叉特征至少包括指示所述搜索词和与所述搜索词相关的商品数据所对应的末级商品类目之间的匹配性的特征和/或指示所述搜索词和与所述搜索词相关的商品数据的品牌之间的匹配性的特征。
6.如权利要求1所述的方法,其中将所述多个召回商品数据分为第一相关组和第一不相关组包括:
接收所述特定用户输入的召回词;
根据所述召回词进行检索以获得所述多个召回商品数据;
对所述召回词和每个召回商品数据的组合进行文本特征提取,以获得所述召回词和所述召回商品数据之间的多个交叉特征;
将所述多个交叉特征输入所述训练后的相关性模型以获得所述召回词和所述召回商品数据之间的相关性;以及
基于所述召回词和所述多个召回商品数据的多个相关性将所述多个召回商品数据分为第一相关组和第一不相关组。
7.如权利要求1所述的方法,其中产生第二相关组和第二不相关组包括:
确定每个召回商品数据的相关性和所述召回商品数据的至少一种交易数据;
为所述召回商品数据的相关性和至少一种交易数据分别赋予不同的权重,其中所述召回商品数据的相关性的权重大于所述至少一种交易数据的权重;
基于每个召回商品数据的相关性和至少一种交易数据以及对应的权重,确定每个召回商品数据的得分;
基于每个召回商品数据的得分对所述第一相关组和所述第一不相关组中的召回商品数据分别进行排序以产生所述第二相关组和所述第二不相关组。
8.如权利要求1所述的方法,其中产生第三相关组包括:
获取所述特定用户的多个历史行为数据,每个历史行为数据包括所述特定用户的一个历史搜索词和与所述历史搜索词相对应的搜索结果的用户行为;
基于所述用户行为为所述历史行为数据赋予不同的标签;
提取所述历史行为数据的多个维度的特征,其中所述多个维度的特征至少包括所述特定用户与所述历史行为数据中的用户行为之间的交叉维度特征;
基于所述特定用户的多个历史行为数据的多个维度的特征和每个历史行为数据的标签对所述梯度排序模型进行训练以产生所述特定用户的梯度排序模型;以及
利用所述特定用户的梯度排序模型对所述第二相关组中的至少一部分召回商品数据进行排序以产生所述第三相关组。
9.一种用于分层排序的计算设备,包括:
至少一个处理器;以及
至少一个存储器,所述至少一个存储器被耦合到所述至少一个处理器并且存储用于由所述至少一个处理器执行的指令,所述指令当由所述至少一个处理器执行时,使得所述计算设备执行根据权利要求1至8中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序代码,所述计算机程序代码在被运行时执行如权利要求1至8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011309163.XA CN112131491B (zh) | 2020-11-20 | 2020-11-20 | 分层排序方法、计算设备和计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011309163.XA CN112131491B (zh) | 2020-11-20 | 2020-11-20 | 分层排序方法、计算设备和计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112131491A CN112131491A (zh) | 2020-12-25 |
CN112131491B true CN112131491B (zh) | 2021-02-26 |
Family
ID=73852414
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011309163.XA Active CN112131491B (zh) | 2020-11-20 | 2020-11-20 | 分层排序方法、计算设备和计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112131491B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113343046B (zh) * | 2021-05-20 | 2023-08-25 | 成都美尔贝科技股份有限公司 | 一种智能搜索排序系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102591948A (zh) * | 2011-12-27 | 2012-07-18 | 厦门市美亚柏科信息股份有限公司 | 一种基于用户行为分析的搜索结果改进的方法及其系统 |
CN106021374A (zh) * | 2016-05-11 | 2016-10-12 | 百度在线网络技术(北京)有限公司 | 查询结果的底层召回方法和装置 |
US20200183985A1 (en) * | 2018-10-24 | 2020-06-11 | Alibaba Group Holding Limited | Intelligent customer services based on a vector propagation on a click graph model |
-
2020
- 2020-11-20 CN CN202011309163.XA patent/CN112131491B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102591948A (zh) * | 2011-12-27 | 2012-07-18 | 厦门市美亚柏科信息股份有限公司 | 一种基于用户行为分析的搜索结果改进的方法及其系统 |
CN106021374A (zh) * | 2016-05-11 | 2016-10-12 | 百度在线网络技术(北京)有限公司 | 查询结果的底层召回方法和装置 |
US20200183985A1 (en) * | 2018-10-24 | 2020-06-11 | Alibaba Group Holding Limited | Intelligent customer services based on a vector propagation on a click graph model |
Non-Patent Citations (2)
Title |
---|
An apple-to-apple comparison of Learning-to-rank algorithms in terms of Normalized Discounted Cumulative Gain;Róbert Busa-Fekete等;《Ecai-12 Workshop》;20121201;第1-10页 * |
基于知识图谱用户偏好传播的实体推荐模型;刘勤 等;《计算机应用研究》;20201005;第37卷(第10期);第2926-2931页 * |
Also Published As
Publication number | Publication date |
---|---|
CN112131491A (zh) | 2020-12-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7885859B2 (en) | Assigning into one set of categories information that has been assigned to other sets of categories | |
US9934293B2 (en) | Generating search results | |
US8781813B2 (en) | Intent management tool for identifying concepts associated with a plurality of users' queries | |
US10204121B1 (en) | System and method for providing query recommendations based on search activity of a user base | |
US8407104B2 (en) | Catalog based price search | |
US7483894B2 (en) | Methods and apparatus for entity search | |
CN111523976A (zh) | 商品推荐方法、装置、电子设备及存储介质 | |
US10664888B2 (en) | Method and system for attribute extraction from product titles using sequence labeling algorithms | |
US20100235343A1 (en) | Predicting Interestingness of Questions in Community Question Answering | |
US20090327249A1 (en) | Intellegent Data Search Engine | |
US11836778B2 (en) | Product and content association | |
CN104834651B (zh) | 一种提供高频问题回答的方法和装置 | |
CN110827112B (zh) | 深度学习的商品推荐方法、装置、计算机设备及存储介质 | |
CN109410001B (zh) | 一种商品推荐方法、系统、电子设备和存储介质 | |
US11682060B2 (en) | Methods and apparatuses for providing search results using embedding-based retrieval | |
US8793201B1 (en) | System and method for seeding rule-based machine learning models | |
Prasetyo | Searching cheapest product on three different e-commerce using k-means algorithm | |
CN107093122B (zh) | 对象分类方法及装置 | |
CN112131491B (zh) | 分层排序方法、计算设备和计算机可读存储介质 | |
CN111428007B (zh) | 基于跨平台的同步推送反馈方法 | |
CN112328918B (zh) | 商品排序方法、计算设备和计算机可读存储介质 | |
CN111445302A (zh) | 商品排序方法、系统及装置 | |
Cherednichenko et al. | Item Matching Model in E-Commerce: How Users Benefit | |
CN112579896A (zh) | 一种信息推荐方法、装置、电子设备及存储介质 | |
CN113689260B (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 |