CN116777529B - 一种对象推荐的方法、装置、设备、存储介质及程序产品 - Google Patents
一种对象推荐的方法、装置、设备、存储介质及程序产品 Download PDFInfo
- Publication number
- CN116777529B CN116777529B CN202311011432.8A CN202311011432A CN116777529B CN 116777529 B CN116777529 B CN 116777529B CN 202311011432 A CN202311011432 A CN 202311011432A CN 116777529 B CN116777529 B CN 116777529B
- Authority
- CN
- China
- Prior art keywords
- distribution
- matrix
- category
- objective function
- random
- 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
- 238000000034 method Methods 0.000 title claims abstract description 90
- 238000003860 storage Methods 0.000 title claims abstract description 25
- 238000009826 distribution Methods 0.000 claims abstract description 662
- 239000011159 matrix material Substances 0.000 claims description 442
- 230000006870 function Effects 0.000 claims description 153
- 238000012545 processing Methods 0.000 claims description 80
- 230000008569 process Effects 0.000 claims description 30
- 230000009977 dual effect Effects 0.000 claims description 23
- 238000000354 decomposition reaction Methods 0.000 claims description 9
- 238000011156 evaluation Methods 0.000 claims description 8
- 238000012163 sequencing technique Methods 0.000 claims description 7
- 229940050561 matrix product Drugs 0.000 claims description 5
- 238000005516 engineering process Methods 0.000 abstract description 28
- 230000000694 effects Effects 0.000 abstract description 7
- 238000013473 artificial intelligence Methods 0.000 description 14
- 238000004891 communication Methods 0.000 description 13
- 238000004590 computer program Methods 0.000 description 9
- 238000010276 construction Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 238000010801 machine learning Methods 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000013528 artificial neural network Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- 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/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0241—Advertisements
- G06Q30/0251—Targeted advertisements
- G06Q30/0269—Targeted advertisements based on user profile or attribute
-
- 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/0631—Item recommendations
Landscapes
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- Engineering & Computer Science (AREA)
- Development Economics (AREA)
- Marketing (AREA)
- Economics (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Game Theory and Decision Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请实施例公开了一种对象推荐的方法、装置、设备、存储介质及程序产品,至少涉及云技术等,提升推荐效果。该方法包括:获取n个对象的类别分布、评分分布、位置权重分布以及历史类别曝光分布;基于类别分布、位置权重分布以及目标变量构建目标函数,以及基于评分分布、位置权重分布、历史类别曝光分布预设误差阈值以及目标变量构建约束条件;在约束条件下,基于类别分布、评分分布、位置权重分布以及历史类别曝光分布对目标函数进行求解,确定多个位置排序分布,每个位置排序分布均用于指示n个对象的排序位置;从多个位置排序分布中选取目标位置排序分布,并基于目标位置排序分布对n个对象进行推荐。
Description
技术领域
本申请实施例涉及计算机技术领域,具体涉及一种对象推荐的方法、装置、设备、存储介质及程序产品。
背景技术
在许多推荐场景、搜索场景等业务场景中,除了提供高度相关的内容以外,呈现一个平衡的多样性推荐结果也是一个值得考虑的方面。
在传统多样性推荐的方案中,通常是先利用Canopy算法与K-means算法对用户数据进行分类等处理,以确定高度相关的相似用户。然后再根据全量订单数据构建知识图谱,以便于获取与用户实时兴趣关联的商品单位(standard product unit,SPU)。最后根据相似用户和与用户实时兴趣关联的SPU获得商品推荐列表,以此按照该商品推荐列表实现对用户进行商品推荐。然而,该传统推荐方案依旧是从用户实时兴趣等个性化角度来实现商品的推荐,并不利于用户关注其他类型的产品,无法平衡不同类型产品之间的推荐结果,导致推荐效果欠佳。
发明内容
本申请实施例提供了一种对象推荐的方法、装置、设备、存储介质及程序产品,能够平衡不同类别对象之间的相关性与多样性,提升推荐效果。
第一方面,本申请实施例提供了一种对象推荐的方法。该方法包括:获取n个对象的类别分布、评分分布、位置权重分布以及历史类别曝光分布,其中,类别分布用于反映每个对象所属r个对象类别时的权重情况,评分分布用于反映每个对象的对象评估情况,位置权重分布用于反映每个排序位置的权重情况,n、r≥2、且n、r为整数;基于类别分布、位置权重分布以及目标变量构建目标函数,以及基于评分分布、位置权重分布、历史类别曝光分布预设误差阈值以及目标变量构建约束条件,目标函数用于指示每个对象在每个对象类别上获得的预期曝光量的求解目标,目标变量用于指示n个对象获取预期曝光量时的第一排序位置概率分布或位置排序分布;在约束条件下,基于类别分布、评分分布、位置权重分布以及历史类别曝光分布对目标函数进行求解,确定多个位置排序分布,每个位置排序分布均用于指示n个对象的排序位置,每个位置排序分布不相同;从多个位置排序分布中选取目标位置排序分布,并基于目标位置排序分布对n个对象进行推荐。
第二方面,本申请实施例提供一种对象推荐装置。该对象推荐装置包括但不限于终端设备、服务器等。该对象推荐装置包括获取单元和处理单元。其中,获取单元,用于获取n个对象的类别分布、评分分布、位置权重分布以及历史类别曝光分布。其中,类别分布用于反映每个对象所属r个对象类别时的权重情况,评分分布用于反映每个对象的对象评估情况,位置权重分布用于反映每个排序位置的权重情况,n、r≥2、且n、r为整数。处理单元,用于基于类别分布、位置权重分布以及目标变量构建目标函数,以及基于评分分布、位置权重分布、历史类别曝光分布预设误差阈值以及目标变量构建约束条件。其中,目标函数用于指示每个对象在每个对象类别上获得的预期曝光量的求解目标,目标变量用于指示n个对象获取预期曝光量时的第一排序位置概率分布或位置排序分布。处理单元,用于在约束条件下,基于类别分布、评分分布、位置权重分布以及历史类别曝光分布对目标函数进行求解,确定多个位置排序分布,每个位置排序分布均用于指示n个对象的排序位置,每个位置排序分布不相同。处理单元,用于从多个位置排序分布中选取目标位置排序分布,并基于目标位置排序分布对n个对象进行推荐。
在一些可选的实施方式中,处理单元用于:基于类别分布、位置权重分布以及第一目标变量确定第一预期曝光量分布,第一预期曝光量分布用于反映n个对象在每个对象类别上获得的预期曝光量,第一目标变量用于指示n个对象获取预期曝光量时的第一排序位置概率分布,第一排序位置概率分布用于反映n个对象获得预期曝光量时的排序位置的概率情况;基于第一预期曝光量分布与历史类别曝光分布计算第一KL散度;基于评分分布、位置权重分布以及第一目标变量构建第一目标函数,以及基于第一KL散度与预设误差阈值构建第一约束条件,第一目标函数用于指示每个对象在每个对象类别上获得的预期曝光量的求解目标。
在另一些可选的实施方式中,处理单元用于:在第一约束条件下,基于类别分布、评分分布、位置权重分布以及历史类别曝光分布对第一目标函数进行求解,确定第一排序位置概率分布;对第一排序位置概率分布进行分布分解处理,得到多个位置排序分布。
在另一些可选的实施方式中,处理单元用于:设置第一KL散度不大于预设误差阈值,得到第一约束条件。
在另一些可选的实施方式中,处理单元用于执行如下步骤,即步骤1:基于双随机矩阵构建随机置换矩阵,随机置换矩阵用于指示任意一个位置排序分布,双随机矩阵用于反映第一排序位置概率分布;步骤2:基于随机置换矩阵与双随机矩阵,计算随机置换矩阵的权重系数;步骤3:计算双随机矩阵与第一矩阵之间的矩阵差值,以得到更新后的双随机矩阵,第一矩阵基于随机置换矩阵与随机置换矩阵的权重系数得到;重复执行步骤1至步骤3,直至更新后的双随机矩阵中每个元素均为零,以得到多个随机置换矩阵与每个随机置换矩阵的权重系数,每个随机置换矩阵用于指示对应的位置排序分布,双随机矩阵为多个随机置换矩阵与对应的权重系数之间的乘积之和。
在另一些可选的实施方式中,处理单元用于:基于随机置换矩阵和双随机矩阵之间的矩阵乘积构建第三目标函数,以及基于随机置换矩阵中每行元素之和与每列元素之和均为1、双随机矩阵中每行元素之和与每列元素之和均为1构建第三约束条件;在第三约束条件下,对第三目标函数进行线性规划问题求解,得到随机置换矩阵的权重系数。
在另一些可选的实施方式中,处理单元用于:从多个随机置换矩阵中,选取随机置换矩阵的权重系数中最大系数所对应的随机置换矩阵作为目标置换矩阵;将目标置换矩阵对应的位置排序分布作为目标位置排序分布。
在另一些可选的实施方式中,处理单元还用于:在第一约束条件下,基于类别分布、评分分布、位置权重分布以及历史类别曝光分布对第一目标函数进行求解,确定第一排序位置概率分布之后,对第一排序位置概率分布进行更新处理,得到第二排序位置概率分布。处理单元,用于基于第二排序位置概率分布更新第一目标函数和第一约束条件。
在另一些可选的实施方式中,处理单元用于:删除双随机矩阵的最后n-k列元素,得到第二矩阵,双随机矩阵用于反映第一排序位置概率分布;基于第二矩阵对双随机矩阵进行更新,得到更新后的双随机矩阵,更新后的双随机矩阵用于指示第二排序位置概率分布。
在另一些可选的实施方式中,处理单元用于执行如下步骤,即步骤1:计算双随机矩阵与第二矩阵之间每行元素的行和差值,以确定第三矩阵,第三矩阵的行数与双随机矩阵的行数相同,第三矩阵的列数为一列;步骤2:从第三矩阵中选取最大元素值,并基于最大元素值构建第四矩阵,第四矩阵的行数与双随机矩阵的行数相同,第四矩阵的列数为一列,最大元素值在第四矩阵中放置的行位置与在第三矩阵中放置的行位置相同;步骤3:将第四矩阵添加至第二矩阵,得到更新后的第二矩阵;重复执行步骤1至步骤3,直至更新后的第二矩阵中每行元素的行和为1,以生成更新后的双随机矩阵。
在另一些可选的实施方式中,处理单元用于:基于类别分布、位置权重分布以及第二目标变量确定第二预期曝光量分布,第二预期曝光量分布用于反映每个排序位置上的对象在每个对象类别上获得的预期曝光量,第二目标变量用于指示n个对象获取预期曝光量时的位置排序分布;基于第二预期曝光量分布与历史类别曝光分布计算第二KL散度;基于评分分布、位置权重分布、第二目标变量以及第二KL散度构建第二目标函数,以及基于第二KL散度与预设误差阈值构建第二约束条件,第二目标函数用于指示每个排序位置上的对象在每个对象类别上获得的预期曝光量的求解目标。
在另一些可选的实施方式中,处理单元用于:在第二约束条件下,基于类别分布、评分分布、位置权重分布以及历史类别曝光分布对第二目标函数进行求解,确定多个位置排序分布。
在另一些可选的实施方式中,处理单元还用于:基于类别分布、位置权重分布以及第一目标变量确定第一预期曝光量分布,第一预期曝光量分布用于反映n个对象在每个对象类别上获得的预期曝光量;基于第一预期曝光量分布、历史类别曝光分布对第二目标函数进行函数变形处理,得到更新后的第二目标函数。处理单元,用于基于更新后的第二目标函数和第二约束条件确定多个位置排序分布。
在另一些可选的实施方式中,获取单元用于:获取每个对象的类别信息。处理单元用于:基于每个对象的类别信息计算对应对象属于r个对象类别时的类别概率;基于n个对象属于r个对象类别时的类别概率构建类别分布。
本申请实施例第三方面提供了一种对象推荐设备,包括:存储器、输入/输出(I/O)接口和存储器。存储器用于存储程序指令。处理器用于执行存储器中的程序指令,以执行上述第一方面的实施方式对应的对象推荐的方法。
本申请实施例第四方面提供了一种计算机可读存储介质,计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行以执行上述第一方面的实施方式对应的方法。
本申请实施例第五方面提供了一种包含指令的计算机程序产品,当其在计算机或者处理器上运行时,使得计算机或者处理器执行上述以执行上述第一方面的实施方式对应的方法。
从以上技术方案可以看出,本申请实施例具有以下优点:
本申请实施例中,类别分布能够反映每个对象所属r个对象类别时的权重情况,评分分布能够反映每个对象的对象评估情况,而且位置权重分布能够反映每个对象的排序位置的权重情况。那么,在获取到n个对象的类别分布、评分分布、位置权重分布以及历史类别曝光分布之后,能够基于类别分布、位置权重分布以及目标变量构建目标函数,以及基于评分分布、位置权重分布、历史类别曝光分布以及预设误差阈值构建约束条件。所描述的目标函数能够指示每个对象在每个对象类别上获得的预期曝光量的求解目标,目标变量能够指示n个对象获取预期曝光量时的第一排序位置概率分布或位置排序分布。这样,在约束条件下,基于类别分布、评分分布、位置权重分布以及历史类别曝光分布对目标函数进行求解,确定多个位置排序分布,进而通过每个位置排序分布能够获知这n个对象的排序位置。所描述的每个位置排序分布均不相同。随后,再从多个位置排序分布中选取目标位置排序分布,并基于目标位置排序分布对n个对象进行推荐。通过上述方式,不仅从对象的评分分布、位置权重分布以及历史类别曝光分布的角度考虑,而且还综合考虑n个对象分别属于r个对象类别时的类别分布。并且,从线性规划问题的角度来构建与排序位置概率分布或者位置排序分布相关的目标函数和约束条件,以此从求解线性规划的角度来确定多个位置排序分布,以便于确定这n个对象的排序位置。换句话说,通过确定这多个位置排序分布,能够关注到不同类别的对象,以平衡不同类别的对象之间的推荐结果,从而在后续对这n个对象的推荐的过程中,能够提升推荐效果。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本申请实施例提供的对象推荐的应用场景示意图;
图2示出了本申请实施例提供的对象推荐的方法的一种流程图;
图3示出了本申请提供的对排序位置概率分布进行求解的处理流程示意图;
图4示出了本申请实施例中对双随机矩阵进行更新的处理流程示意图;
图5示出了本申请实施例中提供的对象推荐装置的一个实施例示意图;
图6示出了本申请实施例中提供的对象推荐设备的硬件结构示意图。
实施方式
本申请实施例提供了一种对象推荐的方法、装置、设备、存储介质及程序产品,能够平衡不同类别对象之间的相关性与多样性,提升推荐效果。
可以理解的是,在本申请的具体实施方式中,涉及到用户信息等相关的数据,当本申请以上实施例运用到具体产品或技术中时,需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
随着商品、产品、物品、广告或者资讯等待推荐的对象不断地更新迭代,用户可以接触到越来越多不同种类的对象。譬如说,对于电影产品,可以包括但不限于喜剧片、恐怖片、纪录片或者体育片等类型;又譬如,对于视频内容推荐等产品,可以包括但不限于搞笑片、文艺片、动漫片、生活记录片等短视频或长视频。在进行对象推荐或者对象搜索等场景中,用户既希望能欣赏到与个性化相匹配的对象以外,也希望接触到不同类型的对象。
因此,在对象推荐或者对象搜索等场景下,除了给用户提供高度相关的内容以外,呈现一个平衡的多样性推荐结果也成为了一个重要目标。举例来说,在电影推荐场景中,既要在不同类型的电影之间实现推荐的平衡性,也要在与用户个性化匹配的电影与推荐权重较高的热门电影之间保持平衡性。因此,如何保持推荐或者搜索场景下对象之间的相关性、多样性之间的平衡,成为了一个热点话题。
在传统多样性推荐的方案中,主要是通过对用户数据进行分类处理,以此确定出高度相关的相似用户,继而根据相似用户和与用户实时兴趣关联的SPU获得商品推荐列表,以实现对用户进行商品推荐。但是,该传统推荐方案依旧是从用户的个性化需求的角度来实现商品的推荐,并不利于用户关注其他类型的产品,从而不同类型产品的推荐结果之间无法达到相对平衡的状态,导致推荐效果欠佳。
因此,为了解决上述提及的技术问题,本申请实施例提供了一种对象推荐的方法。该对象推荐的方法能够应用在推荐场景、搜索场景等,具体本申请实施例中不做限定说明。图1示出了本申请实施例提供的对象推荐的应用场景示意图。如图1所示,该应用场景中可以包括n个对象,譬如对象1至对象n。并且,每个对象可以属于r个对象类别,例如类别1、类别2、类别r等,具体本申请实施例中不做限定。其中,n、r≥2、且n、r为整数。
示例性地,在本申请提供的对象推荐的方法中,先获取n个对象的类别分布、评分分布、位置权重分布以及历史类别曝光分布。接着,在获取到上述提及n个对象的各种分布信息之后,再基于类别分布、位置权重分布以及目标变量构建目标函数,以及基于评分分布、位置权重分布、历史类别曝光分布以及预设误差阈值构建约束条件。而且,所描述的目标函数能够指示每个对象在每个对象类别上获得的预期曝光量的求解目标,目标变量能够指示n个对象获取预期曝光量时的第一排序位置概率分布或位置排序分布。这样,在约束条件下,基于类别分布、评分分布、位置权重分布以及历史类别曝光分布对目标函数进行求解,确定多个位置排序分布,进而通过每个位置排序分布能够获知这n个对象的排序位置。所描述的每个位置排序分布均不相同。最后,再从多个位置排序分布中选取目标位置排序分布,并基于目标位置排序分布对n个对象进行推荐。换句话说,在本申请实施例中能够从线性规划问题的角度来构建与排序位置概率分布或者位置排序分布相关的目标函数和约束条件,以此从求解线性规划的角度来确定多个位置排序分布.也就是理解成,本申请通过确定多个位置排序分布,能够关注到不同类别的对象,以平衡不同类别的对象之间的推荐结果,从而在后续对这n个对象的推荐的过程中,能够提升推荐效果。
随着人工智能(artificial intelligence, AI)技术研究和进步,人工智能技术在多个领域展开研究和应用,例如常见的智能家居、智能穿戴设备、虚拟助理、智能音箱、无人驾驶、自动驾驶、无人机、机器人、智能医疗、智能客服等,相信随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。示例性地,本申请实施例提供的对象推荐的方法可以基于人工智能实现。人工智能是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音技术、自然语言处理技术以及机器学习/深度学习等几大方向。
在本申请实施例中,主要涉及的人工智能技术包括上述所提及的机器学习等方向。例如,可以涉及机器学习(machine learning,ML)中的深度学习(deep learning),包括人工神经网络等,具体本申请实施例中不做限定说明。
本申请提供的对象推荐的方法可以应用于具有数据处理能力的对象推荐设备,如终端设备、服务器、问答机器人等。其中,终端设备可以包括但不限于智能手机、台式计算机、笔记本电脑、平板电脑、智能音箱、车载设备、智能手表、可穿戴智能设备、智能语音交互设备、智能家电、飞行器等。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(context deliverynetwork,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器等,本申请不做具体限定。另外,所提及的终端设备以及服务器可以通过有线通信或无线通信等方式进行直接连接或间接连接,本申请不做具体限定。
另外,该对象推荐设备还可以具备机器学习能力。机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括神经网络等技术。
示例性地,本申请实施例提供的对象推荐的方法还可应用在云技术(cloudtechnology)领域等场景中,例如公有云场景、私有云场景等,具体本申请实施例中不做限定说明。
所描述的云技术是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。云技术基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个对象都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。
所提及的云计算(cloud computing)是一种计算模式,它将计算任务分布在大量计算机构成的资源池上,使各种应用系统能够根据需要获取计算力、存储空间和信息服务。提供资源的网络被称为“云”。“云”中的资源在使用者看来是可以无限扩展的,并且可以随时获取,按需使用,随时扩展,按使用付费。作为云计算的基础能力提供商,会建立云计算资源池(简称云平台,一般称为基础设施即服务(infrastructure as a service,IaaS)平台,在资源池中部署多种类型的虚拟资源,供外部客户选择使用。云计算资源池中主要包括:计算设备(为虚拟化机器,包含操作系统)、存储设备、网络设备。按照逻辑功能划分,在IaaS层上可以部署平台即服务(platform as a service,PaaS)层,PaaS层之上再部署软件即服务(Software as a Service,SaaS)层,也可以直接将SaaS部署在IaaS上。PaaS为软件运行的平台,如数据库、web容器等。SaaS为各式各样的业务软件,如web门户网站、短信群发器等。一般来说,SaaS和PaaS相对于IaaS是上层。
下面结合附图对本申请实施例提供的一种对象推荐的方法进行介绍。图2示出了本申请实施例提供的对象推荐的方法的一种流程图。如图2所示,该对象推荐的方法可以包括如下步骤:
201、获取n个对象的类别分布、评分分布、位置权重分布以及历史类别曝光分布,其中,类别分布用于反映每个对象所属r个对象类别时的权重情况,评分分布用于反映每个对象的对象评估情况,位置权重分布用于反映每个排序位置的权重情况。
该示例中,用户欲想使用或观看某些对象时,会基于自身的需求等向对象推荐设备发送推荐请求。对象推荐设备在接收到推荐请求后,会基于对象的相关性、多样性等分析,进而将相应的推荐结果反馈给用户。示例性地,在对象推荐设备进行对象推荐的过程中,对象推荐设备会先获取n个对象的类别分布、评分分布、位置权重分布以及历史类别曝光分布。
针对n个对象中的每个对象,可以理解成待推荐给用户使用或观看的对象,譬如说视频、文章、图片、商品、物品或者广告等产品,具体本申请实施例中不做限定说明。
另外,每个对象可属于一个或多个类别。譬如,某个电影,既可以属于动作类的电影,也可以属于喜剧类电影,还可以属于科幻类电影等,具体本申请实施例中不做限定。示例性地,在获取类别分布的过程中,可以先获取这n个对象中每个对象的类别信息。所描述的类别信息可以指示对应对象所属的对象类别。这样,再基于每个对象的类别信息计算对应对象属于r个对象类别时的类别概率,进而基于n个对象属于r个对象类别时的类别概率构建得到该n个对象的类别分布。
所描述的类别分布,能够反映出每个对象所属r个对象类别时的权重情况。作为一个示意性的描述,类别分布可以使用一个n×r矩阵来表述,例如矩阵。其中,矩阵A中第i行元素表示第i个对象属于r个对象类别时的类别概率;第j列元素表示第j个对象类别的权重;Aij表示第i个对象属于第j个对象类别时的权重,0≤Aij≤1。需说明,针对该矩阵A,每一行元素之和为1,每一列元素之和为1。
此外,评分分布能够反映出每个对象的对象评估情况。示例性地,在获取评分分布的过程中,可先通过深度神经网络等推荐模型分别对这n个对象中每个对象的对象特征等信息进行评估处理,从而计算出每个对象对应的对象评分。随后,在计算出每个对象的对象评分后,基于这n个对象的对象评分构建得到相应的评分分布。作为一个示意性的描述,评分分布可以使用一个n×1矩阵来表述,例如矩阵。其中,矩阵S中第n行元素(即Sn)表示第n个对象的对象评分,Sn≥0。
一般情况下,位置排序靠前的对象会比位置排序靠后的对象获得更多的曝光和关注。因此,还可以为每个排序位置赋予相应的权重,以构建得到位置权重分布。譬如说,可以基于每个排序位置的位置信息计算得到相应的权重,例如,,1≤m≤n,m为整数。通过位置权重分布,能够获知每个排序位置的权重情况。作为一个示意性的描述,位置权重分布可以使用一个1×n矩阵来表述,例如矩阵。其中,矩阵中第m列元素(即)表示第m个排序位置的位置权重,并且,即。
此外,还可以获取历史时间段内对用户进行对象推荐时,用户对所推荐的对象进行观看或使用时的历史点击数据,继而对历史点击数据进行分析,以此构建得到相应的历史类别曝光分布。通过该历史类别曝光分布,能够获知在历史时间段内,用户所关注或曝光的对象类别有哪些。作为一个示意性的描述,历史类别曝光分布可以使用矩阵q来表述,该矩阵。
202、基于类别分布、位置权重分布以及目标变量构建目标函数,以及基于评分分布、位置权重分布、历史类别曝光分布、预设误差阈值以及目标变量构建约束条件,目标函数用于指示每个对象在每个对象类别上获得的预期曝光量的求解目标,目标变量用于指示n个对象获取预期曝光量时的第一排序位置概率分布或位置排序分布。
该示例中,由于考虑到每个对象属于一个或多个对象类别,那么在为了平衡推荐过程中对象的多样性等,在本申请实施例中可以从线性规划问题的角度来考虑构建相应的目标问题和约束条件,以此通过求解线性规划问题来确定合理的位置排序分布,进而按照该位置排序分布中的排序位置对相应的对象进行推荐,能够平衡对象之间的多样性等。
在本申请实施例中,在获取到n个对象的类别分布、评分分布、位置权重分布以及历史类别曝光分布后,可基于类别分布、位置权重分布以及目标变量构建目标函数。同样地,基于评分分布、位置权重分布、历史类别曝光分布、预设误差阈值以及目标变量构建约束条件。
所提及的目标函数能够指示每个对象在每个对象类别上获得的预期曝光量的求解目标。所提及的目标变量能够指示n个对象获得预期曝光量时的第一排序位置概率分布或位置排序分布。通过第一排序位置概率分布,能够获知每个对象在排序位置上的概率值,譬如第n个对象排列在第m个排序位置的概率值为0.5等。此外,通过位置排序分布,能够获知每个对象的排序位置情况。
示例性地,在构建目标函数和约束条件的过程中,既可以从构建与排序位置概率分布相关的角度来构建,也可以直接从构建与位置排序分布相关的角度来构建。具体可以参照下述两种方式进行理解,即:
(一)从与排序位置概率分布相关的角度构建
在一些可选的示例中,由于第一排序位置概率分布能够反映n个对象获得预期曝光量时的排序位置的概率情况,那么在构建目标函数和约束条件的过程中,可以将第一排序位置概率分布设置为待求解的变量,即第一目标变量。换句话说,通过第一目标变量,可指示n个对象获取预期曝光量时的第一排序位置概率分布。
此外,由于需要考虑不同对象之间的多样性,而且双随机矩阵是一个非负矩阵,每行元素之和与每列元素之和均为1,通过学习该双随机矩阵能够实现不同对象在推荐过程中的相关性与多样性的分布。基于此,针对该第一目标变量,可使用一个n×n的双随机矩阵来表述,即矩阵。其中,矩阵P用于指示第一排序位置概率分布;矩阵P中第i行元素,表示第i个对象在每个排序位置(即排序位置1至排序位置n)中出现的概率。此外,该矩阵P中第m列元素表示第m个排序位置;Pim表示第i个对象在第m个排序位置中出现的概率,Pim≥0。譬如说,若P13=0.2,则表示对象1在排序位置3中出现的概率为0.2。需说明,针对该矩阵P,每行元素之和为1,并且每列元素之和为1。也就是理解成,该矩阵P应满足如下条件,即:。
其中,m表示排序位置,i表示对象,R表示矩阵,表示矩阵P是一个n维×n维的矩阵,PT表示矩阵P的转置矩阵。
随后,在构建目标函数和约束条件的过程中,可先基于类别分布、位置权重分布以及第一目标变量确定第一预期曝光量分布。示例性地,可将类别分布对应的矩阵(即前述提及的矩阵A)的转置矩阵、位置权重分布对应的矩阵(即前述提及的矩阵)以及该第一目标变量对应的矩阵(即矩阵P)进行矩阵乘积处理(matmul product),得到乘积后的矩阵p(P),例如。需说明,通过该矩阵p(P),能够指示第一预期曝光量分布。第一预期曝光量分布,用于反映n个对象在每个对象类别上获得的预期曝光量。其中,可以理解成每个对象的预期曝光量。
因希望预期曝光量分布能够尽可能地贴近历史曝光量分布,而且KL散度能够衡量一个分布与另外一个分布之间的差异。因此,在计算出第一预期曝光量分布后,再基于第一预期曝光量分布与历史类别曝光分布计算第一KL散度,例如。其中,q表示历史类别曝光分布,表示第j个对象类别对应的历史类别曝光分布的对数值,表示第j个对象类别对应的第一预期曝光分布的对数值,表示第一KL散度。
最后,基于评分分布、位置权重分布以及第一目标变量构建第一目标函数。第一目标函数用于指示每个对象在每个对象类别上获得的预期曝光量的求解目标。示例中地,可以将评分分布对应的矩阵(即前述提及的矩阵S)的转置矩阵、第一目标变量对应的矩阵(即矩阵P)、以及位置权重分布对应的矩阵(即矩阵)来构建得到该第一目标函数。譬如说,第一目标函数可以表示为:。其中,为非负常数,表示预设误差阈值;为非负的常数,表示平衡最小化相关性误差和最大化稀疏性的权重,ST表示矩阵S的转置矩阵,表示非负常数的转置。
同样地,还基于第一KL散度与预设误差阈值构建第一约束条件。作为一个示意性的描述,可以设置第一KL散度不大于预设误差阈值,即,以此得到该第一约束条件。此外,该第一约束条件中还包括该第一目标变量对应的矩阵P应当满足的条件,即P∈Ds(n)。此处所描述的P∈Ds(n)可表示矩阵P是一个双随机矩阵,具体参照前述所描述的内容进行理解,此处不做赘述。示例性地,双随机矩阵有时候也称为双重随机矩阵,具体不做限定。
由此,基于上述构建得到的第一目标函数和第一约束条件,可以生成对应的优化问题,即:
S.t
(二)从与位置排序分布的角度构建
在另一些示例中,由于位置排序分布能够反映出n个对象的排序位置情况,那么在构建目标函数和约束条件的过程中,也直接可以将位置排序分布设置为待求解的变量,即第二目标变量。也就是理解成,通过第二目标变量,可指示n个对象获取预期曝光量时的位置排序分布。
另外,置换矩阵是一个非负矩阵,并且每行元素和每列元素中仅有一个元素取值为1,其他取值为0,并且每行元素之和与每列元素之和均为1。因此,在通过位置排序分布来指示不同对象所放置的排序位置的情况下,可以通过学习该置换矩阵便能够实现不同对象在推荐过程中的排序位置。基于此,针对该第二目标变量,可以使用一个n×n的置换矩阵来表述,即矩阵。其中,矩阵Q用于指示位置排序分布;矩阵Q中每个元素均为0或1,并且满足每行元素之和、每一列元素之和均为1。譬如说,针对该矩阵Q中第一行元素,若Q11=1,则其余的元素Q12至Q1n均为0。此时Q11=1表明对象1应放置在第一个排序位置,或者看作将第1个对象分配给第一个排序位置,便于优先推荐。通过该矩阵Q中元素的取值是否为1,可以直接明确出这n个对象的排序位置。
此外,双随机矩阵P可以通过L(L≥2、且L为整数)个置换矩阵的凸组合来实现。所提及的凸组合,是指对于一组元素,通过将它们按照一定的比例进行线性组合的方式,使得每个元素的系数都是非负的,并且系数之和为1。基于此,针对每个置换矩阵需满足如下条件,即:。
其中,R表示矩阵,表示矩阵Q也是一个n维×n维的矩阵,QT表示矩阵Q的转置矩阵。另外,此处所描述的i、m、n可以参照前述所描述的内容进行理解,此处不做赘述。
随后,在构建目标函数和约束条件的过程中,可先基于类别分布、位置权重分布以及第二目标变量确定第二预期曝光量分布。示例性地,可将类别分布对应的矩阵(即前述提及的矩阵A)的转置矩阵、位置权重分布对应的矩阵(即前述提及的矩阵)以及该第二目标变量对应的矩阵(即矩阵Q)进行矩阵乘积处理,得到乘积后的矩阵p(Q),例如。需说明,通过该矩阵p(Q),能够指示该第二预期曝光量分布。所描述的第二预期曝光量分布,用于反映每个排序位置上的对象在每个对象类别上获得的预期曝光量。其中,也可以理解成每个对象的预期曝光量。
因希望预期曝光量分布能够尽可能地贴近历史曝光量分布。因此在计算出第二预期曝光量分布后,还可基于第二预期曝光量分布与历史类别曝光分布计算第二KL散度,例如。其中,q表示历史类别曝光分布。此处具体如何计算该第二KL散度的过程,也可以参照前述第一KL散度的计算过程进行理解此处不做赘述。
此外,还可以基于第二KL散度为每个排序位置进行加权。因此,在构建第二目标函数的过程中,具体可以基于评分分布、位置权重分布、第二目标变量、以及第二KL散度构建第二目标函数。第二目标函数用于指示每个排序位置上的对象在每个对象类别上获得的预期曝光量的求解目标。示例中地,可以将评分分布对应的矩阵(即前述提及的矩阵S)的转置矩阵、第二目标变量对应的矩阵(即矩阵Q)、以及位置权重分布对应的矩阵(即矩阵)、以及第二KL散度来构建得到该第二目标函数。譬如说,第二目标函数可以表示为:。需说明,此处所描述的、、ST等均可以参照前述内容进行理解,此处不做赘述。
同样地,还基于第二KL散度与预设误差阈值构建第二约束条件。作为一个示意性的描述,可以设置第二KL散度不大于预设误差阈值,即,以此得到该第二约束条件。此外,该第二约束条件中还包括该第二目标变量对应的矩阵Q应当满足的条件,即Q∈Q(n)。此处所描述的Q(n)可参照前述所描述的内容进行理解,此处不做赘述。
由此,基于上述构建得到的第二目标函数和第二约束条件,可以生成对应的优化问题,即:
S.t
需说明,上述(一)和(二)仅仅从不同的角度来构建目标函数和约束条件。在实际应用中,还可以基于其他的方式来构建,本申请实施例不做限定。
203、在约束条件下,基于类别分布、评分分布、位置权重分布以及历史类别曝光分布对目标函数进行求解,确定多个位置排序分布,每个位置排序分布均用于指示n个对象的排序位置,每个位置排序分布不相同。
该示例中,在构建得到约束条件和目标函数的情况下,则可以在该约束条件下,基于类别分布、评分分布、位置权重分布以及历史类别曝光分布对目标函数进行求解,从而求解得到具体的多个位置排序分布。
针对上述步骤202中提及的(一)和(二)分别构建的目标函数和约束条件,其具体的求解过程可分别参照下述内容进行理解,即:
(一)针对第一目标函数和第一约束条件
示例性地,双随机矩阵可以通过置换矩阵的凸组合来实现。也就是说,第一排序位置概率分布可通过位置排序分布的凸组合来实现。因此,在经过步骤202中方式(一)所构建得到关于第一目标变量的第一目标函数和第一约束条件后,可以先求解出第一目标变量具体的取值,即具体的第一排序位置概率分布。随后,再基于凸组合的特性对第一排序位置概率分布进行求解,从而得到相应的位置排序分布。具体过程如下所示:
先在该第一约束条件下,基于类别分布、评分分布、位置权重分布以及历史类别曝光分布对第一目标函数进行求解,确定第一排序位置概率分布。作为一个示意性的描述,可以在第一约束条件下,使用线性规划(linear programming,LP)求解器等线性规划求解模型基于类别分布、评分分布、位置权重分布以及历史类别曝光分布对第一目标函数进行求解,从而得到具体的第一排序位置概率分布。
随后,再对该第一排序位置概率分布进行分布分解处理,从而得到多个位置排序分布。示例性地,针对第一排序位置概率分布,其具体可以使用双随机矩阵来描述,即前述的矩阵。如何对第一排序位置概率分布进行分布分解处理的过程,具体可以图3示出的处理流程示意图进行理解。如图3所示,至少包括如下步骤:
步骤301:基于双随机矩阵构建随机置换矩阵。
也就是说,在计算得到第一排序位置概率分布后,通过借助双随机矩阵来反映该第一排序位置概率分布后,随机地初始化一个置换矩阵。该随机置换矩阵能够指示任意一个所需要求解的位置排序分布。作为一个示意性的描述,此处所提及的随机置换矩阵可使用前述的置换矩阵矩阵进行表述。
步骤302:基于随机置换矩阵与双随机矩阵,计算随机置换矩阵的权重系数。
在该步骤中,随机置换矩阵的权重系数,能够反映出对应的随机置换矩阵在整个双随机矩阵中所占的权重。权重系数越大,说明按照对应的随机置换矩阵中指示的排序位置对这n个对象进行准确排序的可能性越大。因此,在初始化得到随机置换矩阵后,可以基于该随机置换矩阵与双随机矩阵计算相应的权重系数。
作为一个示意性的描述,在计算权重系数的过程中,也可以通过构建线性规划问题来求解。譬如说,可以基于随机置换矩阵和双随机矩阵之间的矩阵乘积构建第三目标函数,例如。其中,Pim表示双随机矩阵P中第i行第m列的元素,Qim表示随机置换矩阵Q中第i行第m列的元素。同样地,还需要基于随机置换矩阵Q中每行元素之和与每列元素之和均为1、双随机矩阵P中每行元素之和与每列元素之和均为1构建第三约束条件。这样,在构建得到第三目标函数和第三约束条件之后,在第三约束条件下,可以借助线性规划求解模型对第三目标函数进行线性规划问题求解,从而得到该随机置换矩阵的权重系数,例如表示第个随机置换矩阵的权重系数。其中,1≤l≤L,为整数。
步骤303:计算双随机矩阵与第一矩阵之间的矩阵差值,以得到更新后的双随机矩阵。
该步骤中,第一矩阵是基于随机置换矩阵与随机置换矩阵的权重系数得到。换句话说,基于随机置换矩阵的权重系数对对应的随机置换矩阵进行加权处理,以此得到第一矩阵,例如。
另外,双随机矩阵P是由L个随机置换矩阵Q的凸组合构成,即;或者,也可以表示成。那么,在计算得到第一矩阵后,还需要计算目标双随机与第一矩阵之间的矩阵差值。举例来说,若在计算出第一个随机置换矩阵Q1对应的第一矩阵为W1,此时计算双随机矩阵P与第一矩阵W1之间的差值,从而得到更新后的双随机矩阵,即。
步骤304:重复执行步骤301至步骤303,直至更新后的双随机矩阵中每个元素均为零,以得到多个随机置换矩阵与每个随机置换矩阵的权重系数。
该步骤中,在执行上述步骤301至步骤303,得到任意一个随机置换矩阵和对应的权重系数之后,再重复执行步骤301至步骤303。直至步骤303中所示的更新后的双随机矩阵中每个元素均为零,以此跳出该执行循环,从而得到多个随机置换矩阵与每个随机置换矩阵的权重系数。譬如说,可以得到具体的L个随机置换矩阵Q1至QL,以及随机置换矩阵Q1至QL各自对应的权重系数至。
在另一些可选的示例中,在求解确定出第一排序位置概率分布之后,还可以对该第一排序位置概率分布进行更新处理,以得到第二排序位置概率分布。示例性地,更新第一排序位置概率分布的过程,具体可以参照下述方式进行理解,即:
首先,删除双随机矩阵的最后n-k列元素,得到第二矩阵。譬如说,在使用双随机矩阵P指示第一排序位置概率分布的情况下,此时删除最后n-k列元素后,所得到的第二矩阵可以使用矩阵D表示,例如。所提及的矩阵D为n×k维矩阵。
也就是说,在对象推荐过程中,通常情况下会推荐前k个排序位置上的对象,而针对最后的n-k个对象很少会曝光。因此,对矩阵P删除n-k列元素后,能够更加地关注在前k个对象的曝光上。
由于双随机矩阵P为n×n维矩阵,为能够在后续求解相应的随机置换矩阵中能够满足凸组合的特性,那么在删除n×k列元素得到第二矩阵后,还可以基于该第二矩阵对双随机矩阵进行更新,以此得到更新后的双随机矩阵。换句话说,即通过第二矩阵重新构建出一个n×n的双随机矩阵,为后续求解随机置换矩阵提供基础。示例性地,图4示出了本申请实施例中对双随机矩阵进行更新的处理流程示意图。如图4所示,对双随机矩阵P进行更新,以得到更新后的双随机矩阵的过程,至少包括如下步骤:
步骤401:计算双随机矩阵与第二矩阵之间每行元素的行和差值,以确定第三矩阵。所描述的第三矩阵的行数与双随机矩阵P的行数相同,第三矩阵的列数为一列。
步骤402:从第三矩阵中选取最大元素值,并基于最大元素值构建第四矩阵。所提及的第四矩阵的行数与双随机矩阵P的行数相同,第四矩阵的列数为一列,最大元素值在第四矩阵中放置的行位置与在第三矩阵中放置的行位置相同。并且,在该第四矩阵中,除了最大元素值以外,其他行位置上的元素取值均为0。
步骤403:将第四矩阵添加至第二矩阵,得到更新后的第二矩阵。
步骤404:重复执行步骤401至步骤403,直至更新后的第二矩阵中每行元素的行和为1,以生成更新后的双随机矩阵。
举例来说,由于双随机矩阵P中每行元素之和为1,而且第二矩阵D由于是对双随机矩阵P中最后n-k列元素进行删除,那么该第二矩阵D中每行元素之和均小于或等于1。此时,所计算得到的第三矩阵中的每行元素,则等价于相同行位置上,双随机矩阵P与第二矩阵D之间每行元素的行和差值。
譬如说,以双随机矩阵P为4×4矩阵为例,例如,若删除最后2列元素后,第二矩阵表示为。经过计算,第三矩阵表示为。
随后,从第三矩阵X中可知,最大元素值为X11,取值为0.5。此时,基于该最大元素值所构建得到的第四矩阵,可以表示为。这样,将该第四矩阵V添加至第二矩阵D中,以此得到更新后的第二矩阵D*,即。
进一步地,继续计算双随机矩阵P与更新后的第二矩阵D*中每行元素之和之间的差值,以此得到第三矩阵X,即。随后,从第三矩阵中可知,最大元素值为X41,取值为0.4。此时,基于该最大元素值所构建得到的第四矩阵,可以表示为。这样,将该第四矩阵添加至上一循环中所得到的更新后的第二矩阵D*中,以此得到本次循环更新后的第二矩阵D*,即。不断地重复上述的步骤,直至该更新后的第二矩阵D*中每行元素的行和为1,或者直至第三矩阵X中每个元素取值为0,此时便得到更新后的双随机矩阵。例如更新后的双随机矩阵为。
需说明,若第四矩阵V中的取值添加至上一循环中所得到的更新后的第二矩阵D*后,导致该更新后的第二矩阵D*中对应行元素之和大于1时,则可以从该第四矩阵V中选择部分数值,使得更新后的第二矩阵D*中对应行元素之和等于1即可。
进一步地,在得到更新后的双随机矩阵后,便可将该更新后的双随机矩阵用来表示第二排序位置概率分布。这样,再基于第二排序位置概率分布更新前述提及的第一目标函数和第一约束条件。作为一个示意性的描述,基于第二排序位置概率分布更新第一目标函数和第一约束条件,所更新得到的第一目标函数和第一约束条件可以表述为:
S.t
在另一些示例中,除了对第一排序位置概率分布进行更新以外,还可以基于步骤401至步骤404中同样的原理对位置权重分布进行更新,进而得到更新后的位置权重分布。随后,结合第二排序位置概率分布实现对第一目标函数和第一约束条件的更新处理。比如,所更新得到的第一目标函数和第一约束条件也可以表述为:
S.t
这样,在得到更新后的第一目标函数和第一约束条件后,也可以执行步骤202至步骤203中方式(一)中示出的处理过程,以便求解得到相应的位置排序分布。
通过上述重新构建更新后的双随机矩阵或者更新后的位置权重分布,来更新第一目标函数和第一约束条件,能够提高计算处理效率,加速优化求解出位置排序分布。
(二)针对第二目标函数和第二约束条件
示例性地,在经过前述步骤202中构建得到关于第二目标变量的第二目标函数和第二约束条件后,也可以在该第二约束条件下,基于类别分布、评分分布、位置权重分布以及历史类别曝光分布对第二目标函数进行求解,确定多个位置排序分布。
在求解第二目标函数的过程中,具体可以借助前述提及的第一预期曝光量分布p(Q)进行求解。具体地,先基于类别分布、位置权重分布以及第一目标变量确定第一预期曝光量分布。需说明,此处所描述的第一预期曝光量分布,具体参照前述步骤202中(一)的内容进行理解,此处不做赘述。在得到第一预期曝光量分布之后,基于第一预期曝光量分布、历史类别曝光量分布对第二目标函数进行函数变形处理,得到更新后的第二目标函数。
示例性地,使用I表示有序集中的对象,例如I1至Im,其中Im表示添加到排名中第m个位置的对象。此时基于相应的KL散度进行加权后,得到加权后的目标函数为。其中p(I)表示有序集I中给出的位置加权排名的预期曝光量分布。当I的取值等于n时,此时该加权后的目标函数可以简单地表示为前述提及的第二目标函数。
针对第二目标函数中的第二KL散度(即),实际上也可以等价于第一KL散度(即)的求解。或者说,通过求解出该第一KL散度,可以等价计算得到相应的第二KL散度。基于此,在计算第一KL散度的过程中,可使用对数函数(即)的凹性来计算。此外,对进行最大化求解,实际上是利用的凹性求解一个最大化的下界,具体如下:
因此,在基于第一预期曝光量分布和历史类别曝光分布后,可以计算出相应第一KL散度的相反数的最大化下界。此时,可以基于该最大化下界对上述的第二目标函数进行函数变形处理,以此得到更新后的第二目标函数,即:。
此时,再按照前述图3中所描述的内容进行求解,便可以得到相应的随机置换矩阵Q和对应的权重系数θ。
204、从多个位置排序分布中选取目标位置排序分布,并基于目标位置排序分布对n个对象进行推荐。
该示例中,在求解得到多个位置排序分布后,便可以从多个位置排序分布中选取目标位置排序分布,并基于目标位置排序分布对n个对象进行推荐。作为一个示意性的描述,在选取目标位置排序分布的过程中,具体可以从多个随机置换矩阵中,选取随机置换矩阵的权重系数中最大系数所对应的随机置换矩阵作为目标置换矩阵。进一步地,将目标置换矩阵对应的位置排序分布作为目标位置排序分布。
举例来说,若分解得到3个随机置换矩阵分别为Q1、Q2以及Q3,并且对应的权重系数分别为0.5、0.2、0.3。此时,可以将随机置换矩阵选择作为目标置换矩阵,继而将该随机置换矩阵对应的位置排序分布作为目标位置排序分布。这样,从随机置换矩阵对应的位置排序分布,便能够获知这n个对象的排序位置,进而按照对应的排序位置实现对这n个对象的推荐处理。
譬如说,以n=3(即对象1至对象3)为例,若随机置换矩阵,此时从该矩阵Q1获知这对象1至对象3的排序位置为:位置2、位置3、位置1。这样,在推荐过程中,则可以先推荐对象3,然后推荐对象1,最后推荐对象2。
需说明,上述针对各个不同的矩阵使用不同的字母来表述,仅仅是一个示意性的描述,在本申请实施例中不做具体限定。
通过上述方式,不仅从对象的评分分布、位置权重分布以及历史类别曝光分布的角度考虑,而且还综合考虑n个对象分别属于r个对象类别时的类别分布。并且,从线性规划问题的角度来构建与排序位置概率分布或者位置排序分布相关的目标函数和约束条件,以此从求解线性规划的角度来确定多个位置排序分布,以便于确定这n个对象的排序位置。换句话说,通过确定这多个位置排序分布,能够关注到不同类别的对象,以平衡不同类别的对象之间的推荐结果,从而在后续对这n个对象的推荐的过程中,能够提升推荐效果。
上述主要从方法的角度对本申请实施例提供的方案进行了介绍。可以理解的是为了实现上述功能,包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本申请中所公开的实施例描述的各示例的模块及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对装置进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
下面对本申请实施例中的对象推荐装置进行详细描述,图5为本申请实施例中提供的对象推荐装置的一个实施例示意图。如图5所示,该对象推荐装置可以包括获取单元501和处理单元502。
其中,获取单元501,用于获取n个对象的类别分布、评分分布、位置权重分布以及历史类别曝光分布。其中,类别分布用于反映每个对象所属r个对象类别时的权重情况,评分分布用于反映每个对象的对象评估情况,位置权重分布用于反映每个排序位置的权重情况,n、r≥2、且n、r为整数。具体可以参照前述图2中步骤201所描述的内容进行理解,此处不做赘述。
处理单元502,用于基于类别分布、位置权重分布以及目标变量构建目标函数,以及基于评分分布、位置权重分布、历史类别曝光分布预设误差阈值以及目标变量构建约束条件。其中,目标函数用于指示每个对象在每个对象类别上获得的预期曝光量的求解目标,目标变量用于指示n个对象获取预期曝光量时的第一排序位置概率分布或位置排序分布。具体可以参照前述图2中步骤202所描述的内容进行理解,此处不做赘述。
处理单元502,用于在约束条件下,基于类别分布、评分分布、位置权重分布以及历史类别曝光分布对目标函数进行求解,确定多个位置排序分布,每个位置排序分布均用于指示n个对象的排序位置,每个位置排序分布不相同。具体可以参照前述图2中步骤203所描述的内容进行理解,此处不做赘述。
处理单元502,用于从多个位置排序分布中选取目标位置排序分布,并基于目标位置排序分布对n个对象进行推荐。具体可以参照前述图2中步骤204所描述的内容进行理解,此处不做赘述。
在一些可选的实施方式中,处理单元502用于:基于类别分布、位置权重分布以及第一目标变量确定第一预期曝光量分布,第一预期曝光量分布用于反映n个对象在每个对象类别上获得的预期曝光量,第一目标变量用于指示n个对象获取预期曝光量时的第一排序位置概率分布,第一排序位置概率分布用于反映n个对象获得预期曝光量时的排序位置的概率情况;基于第一预期曝光量分布与历史类别曝光分布计算第一KL散度;基于评分分布、位置权重分布以及第一目标变量构建第一目标函数,以及基于第一KL散度与预设误差阈值构建第一约束条件,第一目标函数用于指示每个对象在每个对象类别上获得的预期曝光量的求解目标。
在另一些可选的实施方式中,处理单元502用于:在第一约束条件下,基于类别分布、评分分布、位置权重分布以及历史类别曝光分布对第一目标函数进行求解,确定第一排序位置概率分布;对第一排序位置概率分布进行分布分解处理,得到多个位置排序分布。
在另一些可选的实施方式中,处理单元502用于:设置第一KL散度不大于预设误差阈值,得到第一约束条件。
在另一些可选的实施方式中,处理单元502用于执行如下步骤,即步骤1:基于双随机矩阵构建随机置换矩阵,随机置换矩阵用于指示任意一个位置排序分布,双随机矩阵用于反映第一排序位置概率分布;步骤2:基于随机置换矩阵与双随机矩阵,计算随机置换矩阵的权重系数;步骤3:计算双随机矩阵与第一矩阵之间的矩阵差值,以得到更新后的双随机矩阵,第一矩阵基于随机置换矩阵与随机置换矩阵的权重系数得到;重复执行步骤1至步骤3,直至更新后的双随机矩阵中每个元素均为零,以得到多个随机置换矩阵与每个随机置换矩阵的权重系数,每个随机置换矩阵用于指示对应的位置排序分布,双随机矩阵为多个随机置换矩阵与对应的权重系数之间的乘积之和。
在另一些可选的实施方式中,处理单元502用于:基于随机置换矩阵和双随机矩阵之间的矩阵乘积构建第三目标函数,以及基于随机置换矩阵中每行元素之和与每列元素之和均为1、双随机矩阵中每行元素之和与每列元素之和均为1构建第三约束条件;在第三约束条件下,对第三目标函数进行线性规划问题求解,得到随机置换矩阵的权重系数。
在另一些可选的实施方式中,处理单元502用于:从多个随机置换矩阵中,选取随机置换矩阵的权重系数中最大系数所对应的随机置换矩阵作为目标置换矩阵;将目标置换矩阵对应的位置排序分布作为目标位置排序分布。
在另一些可选的实施方式中,处理单元502还用于:在第一约束条件下,基于类别分布、评分分布、位置权重分布以及历史类别曝光分布对第一目标函数进行求解,确定第一排序位置概率分布之后,对第一排序位置概率分布进行更新处理,得到第二排序位置概率分布。处理单元502,用于基于第二排序位置概率分布更新第一目标函数和第一约束条件。
在另一些可选的实施方式中,处理单元502用于:删除双随机矩阵的最后n-k列元素,得到第二矩阵,双随机矩阵用于反映第一排序位置概率分布;基于第二矩阵对双随机矩阵进行更新,得到更新后的双随机矩阵,更新后的双随机矩阵用于指示第二排序位置概率分布。
在另一些可选的实施方式中,处理单元502用于执行如下步骤,即步骤1:计算双随机矩阵与第二矩阵之间每行元素的行和差值,以确定第三矩阵,第三矩阵的行数与双随机矩阵的行数相同,第三矩阵的列数为一列;步骤2:从第三矩阵中选取最大元素值,并基于最大元素值构建第四矩阵,第四矩阵的行数与双随机矩阵的行数相同,第四矩阵的列数为一列,最大元素值在第四矩阵中放置的行位置与在第三矩阵中放置的行位置相同;步骤3:将第四矩阵添加至第二矩阵,得到更新后的第二矩阵;重复执行步骤1至步骤3,直至更新后的第二矩阵中每行元素的行和为1,以生成更新后的双随机矩阵。
在另一些可选的实施方式中,处理单元502用于:基于类别分布、位置权重分布以及第二目标变量确定第二预期曝光量分布,第二预期曝光量分布用于反映每个排序位置上的对象在每个对象类别上获得的预期曝光量,第二目标变量用于指示n个对象获取预期曝光量时的位置排序分布;基于第二预期曝光量分布与历史类别曝光分布计算第二KL散度;基于评分分布、位置权重分布、第二目标变量以及第二KL散度构建第二目标函数,以及基于第二KL散度与预设误差阈值构建第二约束条件,第二目标函数用于指示每个排序位置上的对象在每个对象类别上获得的预期曝光量的求解目标。
在另一些可选的实施方式中,处理单元502用于:在第二约束条件下,基于类别分布、评分分布、位置权重分布以及历史类别曝光分布对第二目标函数进行求解,确定多个位置排序分布。
在另一些可选的实施方式中,处理单元502还用于:基于类别分布、位置权重分布以及第一目标变量确定第一预期曝光量分布,第一预期曝光量分布用于反映n个对象在每个对象类别上获得的预期曝光量;基于第一预期曝光量分布、历史类别曝光分布对第二目标函数进行函数变形处理,得到更新后的第二目标函数。处理单元502,用于基于更新后的第二目标函数和第二约束条件确定多个位置排序分布。
在另一些可选的实施方式中,获取单元501用于:获取每个对象的类别信息。处理单元502用于:基于每个对象的类别信息计算对应对象属于r个对象类别时的类别概率;基于n个对象属于r个对象类别时的类别概率构建类别分布。
上面从模块化功能实体的角度对本申请实施例中的对象推荐装置进行描述,下面从硬件处理的角度对本申请实施例中的对象推荐设备进行描述。图6是本申请实施例提供的对象推荐设备的结构示意图。该对象推荐设备可因配置或性能不同而产生比较大的差异,可以包括但不限于图5示出的对象推荐装置。该对象推荐设备可以至少一个处理器601,通信线路607,存储器603以及至少一个通信接口604。
处理器601可以是一个通用中央处理器(central processing unit,CPU),微处理器,特定应用集成电路(application-specific integrated circuit,服务器IC),或一个或多个用于控制本申请方案程序执行的集成电路。
通信线路607可包括一通路,在上述组件之间传送信息。
通信接口604,使用任何收发器一类的装置,用于与其他装置或通信网络通信,如以太网,无线接入网(radio access network,RAN),无线局域网(wireless local areanetworks,WLAN)等。
存储器603可以是只读存储器(read-only memory,ROM) 或可存储静态信息和指令的其他类型的静态存储装置,随机存取存储器(random access memory,RAM) 或者可存储信息和指令的其他类型的动态存储装置,存储器可以是独立存在,通过通信线路607与处理器相连接。存储器也可以和处理器集成在一起。
其中,存储器603用于存储执行本申请方案的计算机执行指令,并由处理器601来控制执行。处理器601用于执行存储器603中存储的计算机执行指令,从而实现本申请上述实施例提供的对象推荐的方法。
可选的,本申请实施例中的计算机执行指令也可以称之为应用程序代码,本申请实施例对此不作具体限定。
在具体实现中,作为一种实施例,该对象推荐装置可以包括多个处理器,例如图6中的处理器601和处理器602。这些处理器中的每一个可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个装置、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
在具体实现中,作为一种实施例,该对象推荐设备还可以包括输出设备605和输入设备606。输出设备605和处理器601通信,可以以多种方式来显示信息。输入设备606和处理器601通信,可以以多种方式接收目标对象的输入。例如,输入设备606可以是鼠标、触摸屏装置或传感装置等。
上述的该对象推荐设备可以是一个通用装置或者是一个专用装置。在具体实现中,该对象推荐设备可以是服务器、终端等或有图6中类似结构的装置。本申请实施例不限定该对象推荐设备的类型。
需说明,图6中的处理器601可以通过调用存储器603中存储的计算机执行指令,使得对象推荐设备执行如图2至图4对应的方法实施例中的方法。
具体的,图5中的处理单元502的功能/实现过程可以通过图6中的处理器601调用存储器603中存储的计算机执行指令来实现。图5中的获取单元501的功能/实现过程可以通过图6中的通信接口604来实现。
本申请实施例还提供一种计算机存储介质,其中,该计算机存储介质存储用于电子数据交换的计算机程序,该计算机程序使得计算机执行如上述方法实施例中记载的任何一种对象推荐的方法的部分或全部步骤。
本申请实施例还提供一种计算机程序产品,计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,计算机程序可操作来使计算机执行如上述方法实施例中记载的任何一种对象推荐的方法的部分或全部步骤。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
上述实施例,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现,当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机执行指令时,全部或部分地产生按照本申请实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如SSD))等。
以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (24)
1.一种对象推荐的方法,其特征在于,包括:
获取n个对象的类别分布、评分分布、位置权重分布以及历史类别曝光分布,其中,所述类别分布用于反映每个所述对象所属r个对象类别时的权重情况,所述评分分布用于反映每个所述对象的对象评估情况,所述位置权重分布用于反映每个排序位置的权重情况,n、r≥2、且n、r为整数;
基于所述类别分布、所述位置权重分布以及目标变量构建目标函数,以及基于所述评分分布、所述位置权重分布、所述历史类别曝光分布、预设误差阈值以及所述目标变量构建约束条件,所述目标函数用于指示每个所述对象在每个所述对象类别上获得的预期曝光量的求解目标,所述目标变量用于指示所述n个对象获取所述预期曝光量时的第一排序位置概率分布或位置排序分布;
在所述约束条件下,基于所述类别分布、所述评分分布、所述位置权重分布以及所述历史类别曝光分布对所述目标函数进行求解,确定多个位置排序分布,每个所述位置排序分布均用于指示所述n个对象的排序位置,每个所述位置排序分布不相同;
从所述多个位置排序分布中选取目标位置排序分布,并基于所述目标位置排序分布对所述n个对象进行推荐;
其中,所述基于所述类别分布、所述位置权重分布以及目标变量构建目标函数,以及基于所述评分分布、所述位置权重分布、所述历史类别曝光分布、预设误差阈值以及所述目标变量构建约束条件,包括:
基于所述类别分布、所述位置权重分布以及第一目标变量确定第一预期曝光量分布,所述第一预期曝光量分布用于反映所述n个对象在每个所述对象类别上获得的预期曝光量,所述第一目标变量用于指示所述n个对象获取所述预期曝光量时的第一排序位置概率分布,所述第一排序位置概率分布用于反映所述n个对象获得预期曝光量时的排序位置的概率情况;
基于所述第一预期曝光量分布与所述历史类别曝光分布计算第一KL散度;
基于所述评分分布、所述位置权重分布以及第一目标变量构建第一目标函数,以及基于所述第一KL散度与预设误差阈值构建第一约束条件,所述第一目标函数用于指示每个所述对象在每个所述对象类别上获得的所述预期曝光量的求解目标;
其中,所述在所述约束条件下,基于所述类别分布、所述评分分布、所述位置权重分布以及所述历史类别曝光分布对所述目标函数进行求解,确定多个位置排序分布,包括:
在所述第一约束条件下,基于所述类别分布、所述评分分布、所述位置权重分布以及所述历史类别曝光分布对所述第一目标函数进行求解,确定第一排序位置概率分布;
对所述第一排序位置概率分布进行分布分解处理,得到多个位置排序分布;
其中,所述对所述第一排序位置概率分布进行分布分解处理,得到多个位置排序分布,包括:
步骤1:基于双随机矩阵构建随机置换矩阵,所述随机置换矩阵用于指示任意一个所述位置排序分布,所述双随机矩阵用于反映所述第一排序位置概率分布;
步骤2:基于所述随机置换矩阵与所述双随机矩阵,计算所述随机置换矩阵的权重系数;
步骤3:计算所述双随机矩阵与第一矩阵之间的矩阵差值,以得到更新后的双随机矩阵,所述第一矩阵基于所述随机置换矩阵与所述随机置换矩阵的权重系数得到;
重复执行所述步骤1至所述步骤3,直至所述更新后的双随机矩阵中每个元素均为零,以得到多个所述随机置换矩阵与每个所述随机置换矩阵的权重系数,每个所述随机置换矩阵用于指示对应的位置排序分布,所述双随机矩阵为多个所述随机置换矩阵与对应的所述权重系数之间的乘积之和。
2.根据权利要求1所述的方法,其特征在于,所述基于所述第一KL散度与预设误差阈值构建第一约束条件,包括:
设置所述第一KL散度不大于所述预设误差阈值,得到第一约束条件。
3.根据权利要求1所述的方法,其特征在于,所述基于所述随机置换矩阵与所述双随机矩阵,计算所述随机置换矩阵的权重系数,包括:
基于所述随机置换矩阵和所述双随机矩阵之间的矩阵乘积构建第三目标函数,以及基于所述随机置换矩阵中每行元素之和与每列元素之和均为1、所述双随机矩阵中每行元素之和与每列元素之和均为1构建第三约束条件;
在所述第三约束条件下,对所述第三目标函数进行线性规划问题求解,得到所述随机置换矩阵的权重系数。
4.根据权利要求1所述的方法,其特征在于,从所述多个位置排序分布中选取目标位置排序分布,包括:
从多个所述随机置换矩阵中,选取所述随机置换矩阵的权重系数中最大系数所对应的随机置换矩阵作为目标置换矩阵;
将所述目标置换矩阵对应的位置排序分布作为目标位置排序分布。
5.根据权利要求1所述的方法,其特征在于,在所述第一约束条件下,基于所述类别分布、所述评分分布、所述位置权重分布以及所述历史类别曝光分布对所述第一目标函数进行求解,确定第一排序位置概率分布之后,所述方法还包括:
对所述第一排序位置概率分布进行更新处理,得到第二排序位置概率分布;
基于所述第二排序位置概率分布更新所述第一目标函数和所述第一约束条件。
6.根据权利要求5所述的方法,其特征在于,对所述第一排序位置概率分布进行更新处理,得到第二排序位置概率分布,包括:
删除双随机矩阵的最后n-k列元素,得到第二矩阵,所述双随机矩阵用于反映所述第一排序位置概率分布;
基于所述第二矩阵对所述双随机矩阵进行更新,得到更新后的双随机矩阵,所述更新后的双随机矩阵用于指示第二排序位置概率分布。
7.根据权利要求6所述的方法,其特征在于,基于所述第二矩阵对所述双随机矩阵进行更新,得到更新后的双随机矩阵,包括:
步骤1:计算所述双随机矩阵与所述第二矩阵之间每行元素的行和差值,以确定第三矩阵,所述第三矩阵的行数与所述双随机矩阵的行数相同,所述第三矩阵的列数为一列;
步骤2:从所述第三矩阵中选取最大元素值,并基于所述最大元素值构建第四矩阵,所述第四矩阵的行数与所述双随机矩阵的行数相同,所述第四矩阵的列数为一列,所述最大元素值在所述第四矩阵中放置的行位置与在所述第三矩阵中放置的行位置相同;
步骤3:将所述第四矩阵添加至所述第二矩阵,得到更新后的第二矩阵;
重复执行所述步骤1至所述步骤3,直至所述更新后的第二矩阵中每行元素的行和为1,以生成更新后的双随机矩阵。
8.根据权利要求1所述的方法,其特征在于,所述基于所述类别分布、所述位置权重分布以及目标变量构建目标函数,以及基于所述评分分布、所述位置权重分布、所述历史类别曝光分布、预设误差阈值以及所述目标变量构建约束条件,替换为包括:
基于所述类别分布、所述位置权重分布以及第二目标变量确定第二预期曝光量分布,所述第二预期曝光量分布用于反映每个所述排序位置上的对象在每个所述对象类别上获得的预期曝光量,所述第二目标变量用于指示所述n个对象获取所述预期曝光量时的位置排序分布;
基于所述第二预期曝光量分布与所述历史类别曝光分布计算第二KL散度;
基于所述评分分布、所述位置权重分布、所述第二目标变量以及所述第二KL散度构建第二目标函数,以及基于所述第二KL散度与预设误差阈值构建第二约束条件,所述第二目标函数用于指示每个所述排序位置上的对象在每个所述对象类别上获得的所述预期曝光量的求解目标。
9.根据权利要求8所述的方法,其特征在于,所述在所述约束条件下,基于所述类别分布、所述评分分布、所述位置权重分布以及所述历史类别曝光分布对所述目标函数进行求解,确定多个位置排序分布,替换为包括:
在所述第二约束条件下,基于所述类别分布、所述评分分布、所述位置权重分布以及所述历史类别曝光分布对所述第二目标函数进行求解,确定多个位置排序分布。
10.根据权利要求9所述的方法,其特征在于,所述方法还包括:
基于所述类别分布、所述位置权重分布以及第一目标变量确定第一预期曝光量分布,所述第一预期曝光量分布用于反映所述n个对象在每个所述对象类别上获得的预期曝光量;
基于所述第一预期曝光量分布、所述历史类别曝光分布对所述第二目标函数进行函数变形处理,得到更新后的第二目标函数;
所述在所述第二约束条件下,基于所述类别分布、所述评分分布、所述位置权重分布以及所述历史类别曝光分布对所述第二目标函数进行求解,确定多个位置排序分布,包括:
基于所述更新后的第二目标函数和所述第二约束条件确定多个位置排序分布。
11.根据权利要求1所述的方法,其特征在于,所述获取n个对象的类别分布,包括:
获取每个所述对象的类别信息;
基于每个所述对象的类别信息计算对应所述对象属于所述r个对象类别时的类别概率;
基于所述n个对象属于所述r个对象类别时的类别概率构建所述类别分布。
12.一种对象推荐装置,其特征在于,包括:
获取单元,用于获取n个对象的类别分布、评分分布、位置权重分布以及历史类别曝光分布,其中,所述类别分布用于反映每个所述对象所属r个对象类别时的权重情况,所述评分分布用于反映每个所述对象的对象评估情况,所述位置权重分布用于反映每个排序位置的权重情况,n、r≥2、且n、r为整数;
处理单元,用于基于所述类别分布、所述位置权重分布以及目标变量构建目标函数,以及基于所述评分分布、所述位置权重分布、所述历史类别曝光分布、预设误差阈值以及所述目标变量构建约束条件,所述目标函数用于指示每个所述对象在每个所述对象类别上获得的预期曝光量的求解目标,所述目标变量用于指示所述n个对象获取所述预期曝光量时的第一排序位置概率分布或位置排序分布;
所述处理单元,用于在所述约束条件下,基于所述类别分布、所述评分分布、所述位置权重分布以及所述历史类别曝光分布对所述目标函数进行求解,确定多个位置排序分布,每个所述位置排序分布均用于指示所述n个对象的排序位置,每个所述位置排序分布不相同;
所述处理单元,用于从所述多个位置排序分布中选取目标位置排序分布,并基于所述目标位置排序分布对所述n个对象进行推荐;
其中,所述处理单元用于基于所述类别分布、所述位置权重分布以及目标变量构建目标函数,以及基于所述评分分布、所述位置权重分布、所述历史类别曝光分布、预设误差阈值以及所述目标变量构建约束条件,包括:
基于所述类别分布、所述位置权重分布以及第一目标变量确定第一预期曝光量分布,所述第一预期曝光量分布用于反映所述n个对象在每个所述对象类别上获得的预期曝光量,所述第一目标变量用于指示所述n个对象获取所述预期曝光量时的第一排序位置概率分布,所述第一排序位置概率分布用于反映所述n个对象获得预期曝光量时的排序位置的概率情况;
基于所述第一预期曝光量分布与所述历史类别曝光分布计算第一KL散度;
基于所述评分分布、所述位置权重分布以及第一目标变量构建第一目标函数,以及基于所述第一KL散度与预设误差阈值构建第一约束条件,所述第一目标函数用于指示每个所述对象在每个所述对象类别上获得的所述预期曝光量的求解目标;
其中,所述处理单元用于在所述约束条件下,基于所述类别分布、所述评分分布、所述位置权重分布以及所述历史类别曝光分布对所述目标函数进行求解,确定多个位置排序分布,包括:
在所述第一约束条件下,基于所述类别分布、所述评分分布、所述位置权重分布以及所述历史类别曝光分布对所述第一目标函数进行求解,确定第一排序位置概率分布;
对所述第一排序位置概率分布进行分布分解处理,得到多个位置排序分布;
所述处理单元用于对所述第一排序位置概率分布进行分布分解处理,得到多个位置排序分布,包括:
步骤1:基于双随机矩阵构建随机置换矩阵,所述随机置换矩阵用于指示任意一个所述位置排序分布,所述双随机矩阵用于反映所述第一排序位置概率分布;
步骤2:基于所述随机置换矩阵与所述双随机矩阵,计算所述随机置换矩阵的权重系数;
步骤3:计算所述双随机矩阵与第一矩阵之间的矩阵差值,以得到更新后的双随机矩阵,所述第一矩阵基于所述随机置换矩阵与所述随机置换矩阵的权重系数得到;
重复执行所述步骤1至所述步骤3,直至所述更新后的双随机矩阵中每个元素均为零,以得到多个所述随机置换矩阵与每个所述随机置换矩阵的权重系数,每个所述随机置换矩阵用于指示对应的位置排序分布,所述双随机矩阵为多个所述随机置换矩阵与对应的所述权重系数之间的乘积之和。
13.根据权利要求12所述的装置,其特征在于,所述处理单元用于基于所述第一KL散度与预设误差阈值构建第一约束条件,包括:
设置所述第一KL散度不大于所述预设误差阈值,得到第一约束条件。
14.根据权利要求12所述的装置,其特征在于,所述处理单元用于基于所述随机置换矩阵与所述双随机矩阵,计算所述随机置换矩阵的权重系数,包括:
基于所述随机置换矩阵和所述双随机矩阵之间的矩阵乘积构建第三目标函数,以及基于所述随机置换矩阵中每行元素之和与每列元素之和均为1、所述双随机矩阵中每行元素之和与每列元素之和均为1构建第三约束条件;
在所述第三约束条件下,对所述第三目标函数进行线性规划问题求解,得到所述随机置换矩阵的权重系数。
15.根据权利要求12所述的装置,其特征在于,所述处理单元用于从所述多个位置排序分布中选取目标位置排序分布,包括:
从多个所述随机置换矩阵中,选取所述随机置换矩阵的权重系数中最大系数所对应的随机置换矩阵作为目标置换矩阵;
将所述目标置换矩阵对应的位置排序分布作为目标位置排序分布。
16.根据权利要求12所述的装置,其特征在于,所述处理单元用于在所述第一约束条件下,基于所述类别分布、所述评分分布、所述位置权重分布以及所述历史类别曝光分布对所述第一目标函数进行求解,确定第一排序位置概率分布之后,还用于:
对所述第一排序位置概率分布进行更新处理,得到第二排序位置概率分布;
基于所述第二排序位置概率分布更新所述第一目标函数和所述第一约束条件。
17.根据权利要求16所述的装置,其特征在于,所述处理单元用于对所述第一排序位置概率分布进行更新处理,得到第二排序位置概率分布,包括:
删除双随机矩阵的最后n-k列元素,得到第二矩阵,所述双随机矩阵用于反映所述第一排序位置概率分布;
基于所述第二矩阵对所述双随机矩阵进行更新,得到更新后的双随机矩阵,所述更新后的双随机矩阵用于指示第二排序位置概率分布。
18.根据权利要求17所述的装置,其特征在于,所述处理单元用于基于所述第二矩阵对所述双随机矩阵进行更新,得到更新后的双随机矩阵,包括:
步骤1:计算所述双随机矩阵与所述第二矩阵之间每行元素的行和差值,以确定第三矩阵,所述第三矩阵的行数与所述双随机矩阵的行数相同,所述第三矩阵的列数为一列;
步骤2:从所述第三矩阵中选取最大元素值,并基于所述最大元素值构建第四矩阵,所述第四矩阵的行数与所述双随机矩阵的行数相同,所述第四矩阵的列数为一列,所述最大元素值在所述第四矩阵中放置的行位置与在所述第三矩阵中放置的行位置相同;
步骤3:将所述第四矩阵添加至所述第二矩阵,得到更新后的第二矩阵;
重复执行所述步骤1至所述步骤3,直至所述更新后的第二矩阵中每行元素的行和为1,以生成更新后的双随机矩阵。
19.根据权利要求12所述的装置,其特征在于,所述处理单元用于基于所述类别分布、所述位置权重分布以及目标变量构建目标函数,以及基于所述评分分布、所述位置权重分布、所述历史类别曝光分布、预设误差阈值以及所述目标变量构建约束条件,替换为包括:
基于所述类别分布、所述位置权重分布以及第二目标变量确定第二预期曝光量分布,所述第二预期曝光量分布用于反映每个所述排序位置上的对象在每个所述对象类别上获得的预期曝光量,所述第二目标变量用于指示所述n个对象获取所述预期曝光量时的位置排序分布;
基于所述第二预期曝光量分布与所述历史类别曝光分布计算第二KL散度;
基于所述评分分布、所述位置权重分布、所述第二目标变量以及所述第二KL散度构建第二目标函数,以及基于所述第二KL散度与预设误差阈值构建第二约束条件,所述第二目标函数用于指示每个所述排序位置上的对象在每个所述对象类别上获得的所述预期曝光量的求解目标。
20.根据权利要求19所述的装置,其特征在于,所述处理单元用于在所述约束条件下,基于所述类别分布、所述评分分布、所述位置权重分布以及所述历史类别曝光分布对所述目标函数进行求解,确定多个位置排序分布,替换为包括:
在所述第二约束条件下,基于所述类别分布、所述评分分布、所述位置权重分布以及所述历史类别曝光分布对所述第二目标函数进行求解,确定多个位置排序分布。
21.根据权利要求20所述的装置,其特征在于,所述处理单元还用于:
基于所述类别分布、所述位置权重分布以及第一目标变量确定第一预期曝光量分布,所述第一预期曝光量分布用于反映所述n个对象在每个所述对象类别上获得的预期曝光量;
基于所述第一预期曝光量分布、所述历史类别曝光分布对所述第二目标函数进行函数变形处理,得到更新后的第二目标函数;
所述处理单元,用于在所述第二约束条件下,基于所述类别分布、所述评分分布、所述位置权重分布以及所述历史类别曝光分布对所述第二目标函数进行求解,确定多个位置排序分布,包括:
基于所述更新后的第二目标函数和所述第二约束条件确定多个位置排序分布。
22.根据权利要求12所述的装置,其特征在于,所述获取单元用于获取n个对象的类别分布,包括:
获取每个所述对象的类别信息;
基于每个所述对象的类别信息计算对应所述对象属于所述r个对象类别时的类别概率;
基于所述n个对象属于所述r个对象类别时的类别概率构建所述类别分布。
23.一种对象推荐设备,其特征在于,包括:输入/输出接口、处理器和存储器,所述存储器中存储有程序指令;
所述处理器用于执行存储器中存储的程序指令,执行如权利要求1至11中任一所述的方法。
24.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括指令,当所述指令在计算机设备上运行时,使得所述计算机设备执行如权利要求1至11中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311011432.8A CN116777529B (zh) | 2023-08-11 | 2023-08-11 | 一种对象推荐的方法、装置、设备、存储介质及程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311011432.8A CN116777529B (zh) | 2023-08-11 | 2023-08-11 | 一种对象推荐的方法、装置、设备、存储介质及程序产品 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116777529A CN116777529A (zh) | 2023-09-19 |
CN116777529B true CN116777529B (zh) | 2024-02-06 |
Family
ID=88006643
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311011432.8A Active CN116777529B (zh) | 2023-08-11 | 2023-08-11 | 一种对象推荐的方法、装置、设备、存储介质及程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116777529B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108334539A (zh) * | 2017-12-15 | 2018-07-27 | 努比亚技术有限公司 | 对象推荐方法、移动终端及计算机可读存储介质 |
CN110852818A (zh) * | 2018-08-20 | 2020-02-28 | 北京京东尚科信息技术有限公司 | 商品排序方法、装置和计算机可读存储介质 |
US11004135B1 (en) * | 2017-08-18 | 2021-05-11 | Amazon Technologies, Inc. | Artificial intelligence system for balancing relevance and diversity of network-accessible content |
CN114154013A (zh) * | 2021-10-26 | 2022-03-08 | 乐视网信息技术(北京)股份有限公司 | 视频推荐方法、装置、设备及存储介质 |
CN114297521A (zh) * | 2021-12-31 | 2022-04-08 | 深圳市铱云云计算有限公司 | 基于大数据的产品推荐排序算法 |
CN114417174A (zh) * | 2022-03-23 | 2022-04-29 | 腾讯科技(深圳)有限公司 | 内容推荐方法、装置、设备及计算机存储介质 |
CN115455280A (zh) * | 2022-08-19 | 2022-12-09 | 青岛聚看云科技有限公司 | 一种推荐列表确定方法和服务器 |
CN116108267A (zh) * | 2022-12-19 | 2023-05-12 | 华为技术有限公司 | 一种推荐方法及相关设备 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11042595B2 (en) * | 2016-05-04 | 2021-06-22 | Ebay Inc. | Dissimilar but relevant search engine results |
US10713703B2 (en) * | 2016-11-30 | 2020-07-14 | Apple Inc. | Diversity in media item recommendations |
-
2023
- 2023-08-11 CN CN202311011432.8A patent/CN116777529B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11004135B1 (en) * | 2017-08-18 | 2021-05-11 | Amazon Technologies, Inc. | Artificial intelligence system for balancing relevance and diversity of network-accessible content |
CN108334539A (zh) * | 2017-12-15 | 2018-07-27 | 努比亚技术有限公司 | 对象推荐方法、移动终端及计算机可读存储介质 |
CN110852818A (zh) * | 2018-08-20 | 2020-02-28 | 北京京东尚科信息技术有限公司 | 商品排序方法、装置和计算机可读存储介质 |
CN114154013A (zh) * | 2021-10-26 | 2022-03-08 | 乐视网信息技术(北京)股份有限公司 | 视频推荐方法、装置、设备及存储介质 |
CN114297521A (zh) * | 2021-12-31 | 2022-04-08 | 深圳市铱云云计算有限公司 | 基于大数据的产品推荐排序算法 |
CN114417174A (zh) * | 2022-03-23 | 2022-04-29 | 腾讯科技(深圳)有限公司 | 内容推荐方法、装置、设备及计算机存储介质 |
CN115455280A (zh) * | 2022-08-19 | 2022-12-09 | 青岛聚看云科技有限公司 | 一种推荐列表确定方法和服务器 |
CN116108267A (zh) * | 2022-12-19 | 2023-05-12 | 华为技术有限公司 | 一种推荐方法及相关设备 |
Also Published As
Publication number | Publication date |
---|---|
CN116777529A (zh) | 2023-09-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110321422B (zh) | 在线训练模型的方法、推送方法、装置以及设备 | |
CN110717098B (zh) | 基于元路径的上下文感知用户建模方法、序列推荐方法 | |
EP4181026A1 (en) | Recommendation model training method and apparatus, recommendation method and apparatus, and computer-readable medium | |
US8843427B1 (en) | Predictive modeling accuracy | |
CN110008397B (zh) | 一种推荐模型训练方法及装置 | |
CN111143684B (zh) | 基于人工智能的泛化模型的训练方法及装置 | |
CN110413867B (zh) | 用于内容推荐的方法及系统 | |
CN108475256A (zh) | 从同现矩阵生成特征嵌入 | |
WO2024131762A1 (zh) | 一种推荐方法及相关设备 | |
CN113761359B (zh) | 数据包推荐方法、装置、电子设备和存储介质 | |
CN111159563A (zh) | 用户兴趣点信息的确定方法、装置、设备及存储介质 | |
US20130218907A1 (en) | Recommender system | |
US10474670B1 (en) | Category predictions with browse node probabilities | |
CN110781377A (zh) | 一种文章推荐方法、装置 | |
WO2023087914A1 (zh) | 推荐内容的选择方法、装置、设备、存储介质及程序产品 | |
WO2024002167A1 (zh) | 一种操作预测方法及相关装置 | |
US11544767B2 (en) | Recommendation system with implicit feedback | |
CN114117232B (zh) | 节点和元路径对比学习增强的推荐方法及系统 | |
CN115455280A (zh) | 一种推荐列表确定方法和服务器 | |
CN110929172A (zh) | 信息选择方法、装置、电子设备及可读存储介质 | |
WO2024152686A1 (zh) | 确定资源信息的推荐指标的方法、装置、设备、存储介质及计算机程序产品 | |
US10387934B1 (en) | Method medium and system for category prediction for a changed shopping mission | |
US20180089284A1 (en) | Ranking courses for a presentation | |
CN116777529B (zh) | 一种对象推荐的方法、装置、设备、存储介质及程序产品 | |
US11269974B1 (en) | Learning ordinal regression model via divide-and-conquer technique |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40092344 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |