CN107402961B - 一种推荐方法及装置,电子设备 - Google Patents
一种推荐方法及装置,电子设备 Download PDFInfo
- Publication number
- CN107402961B CN107402961B CN201710458649.1A CN201710458649A CN107402961B CN 107402961 B CN107402961 B CN 107402961B CN 201710458649 A CN201710458649 A CN 201710458649A CN 107402961 B CN107402961 B CN 107402961B
- Authority
- CN
- China
- Prior art keywords
- recommendation
- user
- recommendation algorithm
- novelty
- algorithm
- 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 47
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 332
- 238000005457 optimization Methods 0.000 claims abstract description 57
- 230000006399 behavior Effects 0.000 claims description 59
- 238000006243 chemical reaction Methods 0.000 claims description 28
- 238000012544 monitoring process Methods 0.000 claims description 27
- 238000004364 calculation method Methods 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 9
- 238000012163 sequencing technique Methods 0.000 claims description 9
- 238000005259 measurement Methods 0.000 claims description 7
- 238000010276 construction Methods 0.000 claims description 2
- 230000003542 behavioural effect Effects 0.000 claims 4
- 238000010586 diagram Methods 0.000 description 2
- 230000004931 aggregating effect Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
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/951—Indexing; Web crawling techniques
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供了一种推荐方法,属于计算机技术领域,解决了现有技术中存在的推荐结果新颖性和多样性较差的问题。本申请公开的推荐方法,包括:基于第一预设优化指标,建立推荐算法池;根据推荐引擎的调用次数选择所述推荐算法池中的一个推荐算法;通过选择的所述推荐算法对用户推荐信息。通过本申请公开的推荐方法,根据推荐引擎被调用的次数,即用户访问应用页面的次数,动态选择推荐算法,既保证了业务指标优化的需求,同时有效地提高了推荐结果的新颖性和多样性,进一步提升了用户体验。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种推荐方法及装置,电子设备。
背景技术
现有技术的推荐***会结合用户的画像、位置、场景等信息进行多维度的信息召回,然后进行统一的排序,之后再将搜索结果返回给用户。即便是推荐***中设置有多种推荐算法,可以生成多个推荐列表,由于采用固定的推荐算法,对于同一个用户来说,呈现的头部推荐结果通常不会发生变动,新颖性较差。并且,总是对用户推荐同样的结果,推荐结果过于单调,不具备多样性,可能会导致用户的流失。
可见,现有技术中的推荐方法,至少存在推荐结果新颖性和多样性较差的缺陷。
发明内容
本申请提供一种方法,解决现有技术中存在的推荐结果新颖性和多样性较差的问题。
为了解决上述问题,第一方面,本申请实施例提供了一种推荐方法包括:
基于第一预设优化指标,建立推荐算法池,其中,所述推荐算法池中包括M个推荐算法,M为大于等于2的整数;
根据推荐引擎的调用次数选择所述推荐算法池中的一个推荐算法;
通过选择的所述推荐算法对用户推荐信息。
第二方面,本申请实施例提供了一种推荐装置,包括:
算法池建立模块,用于基于第一预设优化指标,建立推荐算法池,其中,所述推荐算法池中包括M个推荐算法,M为大于等于2的整数;
推荐算法选择模块,用于根据推荐引擎的调用次数选择所述推荐算法池中的一个推荐算法;
推荐模块,用于通过选择的所述推荐算法对用户推荐信息。
第三方面,本申请实施例还公开了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现本申请实施例所述的推荐方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时本申请实施例公开的推荐方法的步骤。
本申请实施例公开的推荐方法,通过基于第一预设优化指标,建立推荐算法池,并根据推荐引擎的调用次数选择所述推荐算法池中的一个推荐算法,然后,通过选择的所述推荐算法对用户推荐信息,解决了现有技术中存在的推荐结果新颖性和多样性较差的问题。通过根据推荐引擎被调用的次数,即用户访问应用页面的次数,动态选择推荐算法,既保证了业务指标优化的需求,同时有效地提高了推荐结果的新颖性和多样性,进一步提升了用户体验。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例一的推荐方法流程图;
图2是本申请实施例二的推荐方法流程图;
图3是本申请实施例三的推荐装置结构示意图之一;
图4是本申请实施例三的推荐装置结构示意图之二。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例所述的推荐方法应用于通过调用推荐引擎为用户推荐搜索结果或推送信息的场景,其中,推荐引擎将调用推荐算法,返回推荐结果。
实施例一
本实施例公开的一种推荐方法,如图1所示,该方法包括:步骤100至步骤120。
步骤100,基于第一预设优化指标,建立推荐算法池,其中,所述推荐算法池中包括M个推荐算法,M为大于等于2的整数。
第一预设优化指标为衡量推荐算法优化结果的业务指标。例如,对于搜索、信息推荐业务,推荐算法的第一预设优化指标包括但不限于:点击率(CTR: Click ThroughRate)、转化率(CVR:Click Value Rate)、流量(PV(Page View)等中的任意一项或多项。通过对线上运行的推荐算法在一段时间的历史数据进行计算,得到第一预设优化指标的数值,可以判断推荐算法的优化结果是否符合业务需求。
具体实施时,首先从第一预设优化指标中选择一个首要衡量指标,如:点击率,并确定一段时间内,线上运行的推荐算法中首要衡量指标(即转化率)最高的推荐算法为参考推荐算法。然后,再基于参考推荐算法,从线上运行的推荐算法中选择M-1个推荐算法作为候选推荐算法。其中,候选推荐算法为某一个第一预设优化指标(如点击率)优于所述参考推荐算法的算法。最后,由参考推荐算法和M-1个候选推荐算法组成推荐算法池。
步骤110,根据推荐引擎的调用次数选择所述推荐算法池中的一个推荐算法。
当用户登录应用程序的首页或者访问应用的某个页面时,应用通常会根据用户的输入调用推荐引擎为用户推荐搜索结果或主动进行信息推送。此时,推荐引擎将进一步调用推荐算法池中的某个推荐算法来获取推荐结果。具体实施时,当推荐引擎被首次调用时,选择第二预设优化指标最优的推荐算法,即在推荐算法池中选择第二预设优化指标最优的一个推荐算法,以获取推荐结果;当推荐引擎被再次调用时,则结合用户的新奇性和推荐算***换策略,选择一个推荐算法,即为了给用户展示新颖的、丰富的推荐结果,将根据用户的新奇性和推荐算法的新颖性,在推荐算法池中选择一个推荐算法,以获取推荐结果。其中,用户的新奇性表示的是用户对新商品的偏好程度。根据用户的历史行为数据,结合一定的计算策略可以获得有过历史行为的每个用户的新奇性。
其中,第二预设优化指标选自于第一预设优化指标,不同于首要衡量指标。
步骤120,通过选择的所述推荐算法对用户推荐信息。
在推荐算法池中选择合适的算法之后,通过选择的推荐算法获取推荐结果,并由推荐引擎反馈给应用。
本申请实施例公开的推荐方法,通过基于第一预设优化指标,建立推荐算法池,并根据推荐引擎的调用次数选择所述推荐算法池中的一个推荐算法,然后,通过选择的所述推荐算法对用户推荐信息,解决了现有技术中存在的推荐结果新颖性和多样性较差的问题。通过根据推荐引擎被调用的次数,即用户访问应用页面的次数,动态选择推荐算法,既保证了业务指标优化的需求,同时有效地提高了推荐结果的新颖性和多样性,进一步提升了用户体验。
实施例二
本实施例公开的一种推荐方法,如图2所示,该方法包括:步骤200至步骤240。
步骤200,基于第一预设优化指标,建立推荐算法池,其中,所述推荐算法池中包括M个推荐算法,M为大于等于2的整数。
本实施例中以第一预设优化指标为:点击率(CTR:Click Through Rate)、转化率(CVR:Click Value Rate)为例,说明选择推荐算法的具体方案。
业界衡量一个推荐算法的好坏一般都是通过线上AB测试进行的,即线上同时运行多个推荐算法,如20个,经过线上运行一段时间之后,如一个季度之后,根据不同推荐算法的优化指标的值判断推荐算法的好坏,便于后续选择优化指标较优的推荐算法。具体实施时,基于第一预设优化指标,建立推荐算法池,包括:确定第二预设时间段内,首要衡量指标最优的推荐算法为参考推荐算法;确定第三预设时间段内,至少一个第一预设优化指标优于所述参考推荐算法的推荐算法为候选推荐算法;将所述参考推荐算法和 M-1个最优候选推荐算法加入推荐算法池;其中,所述第一预设优化指标可以为:点击率、转化率、交易额等业务指标,所述首要衡量指标选自于所述第一预设优化指标。
以第二预设时间段为一个季度,首要衡量指标为点击率和转化率为例,在每个季度开始,选择上个季度内最优的推荐算法,将上个季度内转化率和点击率最优的推荐算法作为本季度的参考推荐算法。然后,以第三预设时间段为自推荐算法上线至今为例,再从线上运行的推荐算法(如20个)中选择M-1个(如9个)点击率或者转化率在第三预设时间段内相对于参考推荐算法提升较高的推荐算法作为候选推荐算法。确定线上运行的推荐算法的第一预设优化指标,如点击率、转化率的具体方法参见现有技术,此处不再赘述。第一预设优化指标的取值范围根据具体业务需求确定,本申请对此不作限定。
步骤210,判断是否为预设监控周期内首次调用推荐引擎,若是则执行步骤220,否则执行步骤230。
具体实施时,优选的,根据推荐引擎的调用次数选择所述推荐算法池中的一个推荐算法包括:在预设监控周期内,根据推荐引擎的调用次数选择所述推荐算法池中的一个推荐算法。优选的,判断是否首次调用推荐引擎的时间范围为预设监控周期内。
预设监控周期为算法池中的推荐算法的轮换周期,如:一天。在建立了推荐算法池之后,根据推荐引擎的调用次数选择所述推荐算法池中的一个推荐算法,包括:若首次调用推荐引擎,则在所述推荐算法池中选择第二预设优化指标最优的推荐算法;若非首次调用推荐引擎,则结合用户的新奇性和推荐算***换策略,在所述推荐算法池中选择一个推荐算法。
具体实施时,在预设监控周期内,每次调用推荐引擎之后,记录推荐引擎的调用次数,以及推荐引擎选择的推荐算法的版本信息和选择时间。根据记录的推荐引擎的调用次数,可以确定是否为预设监控周期内首次调用推荐引擎。推荐算法的版本信息和选择时间用于在推荐引擎再次被调用时计算推荐算法的轮换值。
步骤220,在所述推荐算法池中选择第二预设优化指标最优的推荐算法。
当在预设监控周期内,用户登录应用程序的首页或者访问应用的某个页面时,应用通常会根据用户的输入调用推荐引擎为用户推荐搜索结果或主动进行信息推送。当用户登录应用程序的首页或者访问应用的某个页面时,根据具体业务需求,按照预设的优化指标选择推荐算法,即选择推荐算法池中第二预设优化指标最优的推荐算法。例如,如果业务需求为提升点击率,则将第二预设优化指标设置为点击率,在推荐算法池中,选择点击率最优的推荐算法。
然后,执行步骤240,通过选择的所述推荐算法对用户推荐信息。
步骤230,结合用户的新奇性和推荐算***换策略,在所述推荐算法池中选择一个推荐算法。
在预设监控周期内,当用户再次登录应用程序的首页或者访问应用的某个页面时,结合用户的新奇性和推荐算***换策略,选择一个推荐算法,这样,使得推荐结果中包括新颖的结果,以满足用户的新奇性。并且,推荐算法自动轮换,进一步保证推荐结果的符合用户的新奇性要求。同时,也丰富了推荐结果。
具体实施时,结合用户的新奇性和推荐算***换策略,在所述推荐算法池中选择一个推荐算法,包括:子步骤S1至子步骤S3。
子步骤S1,根据用户的历史行为数据,确定用户的新奇性位次。
新奇性表示的是用户对新商户的偏好程度。具体实施时,可以利用新奇性得分具体衡量新奇性。新奇性得分越高,表示用户的新奇性越高,说明用户更偏好新商户;新奇性得分越低,表示用户的新奇性越低高,说明用户更偏好已有商户。如果用户的行为集中在特定的商户,则该用户新奇性较弱;反之,如果用户行为比较分散,则该用户新奇性比较强。
在某些应用中,商户是具体商品(SKU)的载体,商品最终都会绑定到相应的商户上,计算用户对商品的新奇性可以看作是通过商品间接的衡量用户对商户的新奇性。根据用户的历史行为数据,结合一定的计算策略可以获得每个用户的新奇性。根据用户的历史行为数据,确定用户的新奇性位次,包括:根据用户的历史行为数据,分别确定每个用户的新奇性得分;按照所述新奇性得分的高低顺序,将所有所述用户均匀划分为M组;将用户所在组的新奇性得分的高低顺序号,作为该用户的新奇性位次。
衡量用户的新奇性可以从两个方面考虑:用户的常规操作、用户的显性反馈行为。其中,用户的常规操作包括用户对商品执行的:点击、收藏、购买等类别的操作;用户的显性反馈行为包括用户删除商品的行为、取消收藏的行为等。
根据用户的历史行为数据,分别确定每个用户的新奇性得分,包括:根据在第一预设时间段内用户对某一商品执行点击、收藏、购买操作的次数,确定用户的新奇性得分的第一因子;根据用户已删除商品的用户历史行为信息,确定用户的新奇性得分的第二因子;将所述第一因子与第二因子的和,作为用户的新奇性得分;其中,所述第一因子的取值与用户的点击、收藏、购买操作针对的商品对应的商户数量成反比;所述第二因子的取值与已删除商品对应的具有用户历史行为的商户的数量成正比。
具体实施时,可以搜集用户过去一年内的行为数据,其中,包括用户对商品的:点击、收藏、评论、购买、分享、删除、取消关注、取消收藏等操作的数据,然后,对数据进行分类聚合,获得该用户的点击数据、收藏数据、购买数据及删除数据。之后,根据得到的点击数据,确定用户对各商品的点击次数clicki;根据得到的收藏数据确定用户对各商品的收藏次数wishi;根据得到的购买数据确定用户对各商品的购买次数buyi。根据得到的删除数据,确定删除的商品中有过历史行为(如点击、收藏、购买、分享等)的商品的数量dold,及删除的商品中不曾有过历史行为的商品的数量dnew。进一步的,根据用户对某一商品执行点击、收藏、购买操作的次数,确定用户的新奇性得分的第一因子curiosity1;根据用户已删除商品的中有过历史行为的商品的数量dold和不曾有过历史行为的商品的数量dnew,确定用户的新奇性得分的第二因子curiosity2。
具体实施时,可以通过以下公式计算用户的新奇性得分的第一因子 curiosity1:
其中,clicki为用户在第一预设时间段内对商品i的点击总次数;wishi为用户在第一预设时间段内对商品i的收藏总次数;buyi为用户在第一预设时间段内对商品i的购买总次数; w1、w2和w3分别是点击次数clicki、收藏次数wishi和购买次数buyi的权重系数,w1<w2<w3;表示用户对商品i是否有点击行为,当clicki>0时,否则 表示用户对商品i是否有收藏行为,当wishi>0 时,否则 表示用户对商品i是否有购买行为,当 buyi>0时,否则N为商户的数量。
例如:用户过去一年,用户点击过东来顺的100元团购券5次,收藏1 次,购买1次,200元团购券3次,收藏1次,购买1次。那么对应到的点击数为8次,收藏2次,购买2次,如果按照商户维度去重,分别得到点击 1次,收藏1次,购买1次。分子相当于分母按照商户维度进行了去重。从第一因子的计算公式可以看出,如果用户的行为集中在某几个商户上,则第一因子的取值较低;相反,如果用户的行为比较分散,则第一因子的取值较高。具体实施时,对于不同的行为类型,会赋予不同的权重,对于点击这种弱意图的行为通常赋予比较低的权重,对于搜藏和购买这种比较强意图的行为,通常赋予比较高的权重。
本实施例在计算第一因子时,仅以用户因为包括:点击、收藏、购买为例进行说明,具体实施时,还可以包含其他用户行为,并根据用户行为的特点,对用户行为赋予不同的权重值。
具体实施时,可以通过以下公式计算用户的新奇性得分的第二因子 curiosity2:
通过第二因子的计算公式可以看出,如果用户总是删除曾经有过行为的商户,则第二因子取值较高;相反,如果用户总是删除自己没有行为的商户,则第二因子取值较低。
最后,将所述第一因子与第二因子的和,作为用户的新奇性得分curiosity,即curiosity=curiosity1+curiosity2。根据第一因子curiosity1的计算公式可以看出,所述第一因子的取值与用户的点击、收藏、购买操作针对的商品对应的商户数量成反比;根据第二因子curiosity2的计算公式可以看出,所述第二因子的取值与已删除商品对应的具有用户历史行为的商户的数量成正比。从新奇性得分的计算公式可以看出,如果用户的行为集中在某几个商户上,则用户的新奇性较低;相反,如果用户的行为比较分散,则用户的新奇性较高。具体实施时,对于不同的行为类型,会赋予不同的权重,对于点击这种弱意图的行为通常赋予比较低的权重,对于收藏和购买这种比较强意图的行为,通常赋予比较高的权重。如果用户总是删除曾经有过行为的商户,则用户的新奇性较高;相反,如果用户总是删除自己没有行为的商户,则认为用户的新奇性较低。
按照前述方法,可以分别获得推荐***中每个用户的新奇性得分,然后,按照所述新奇性得分的高低顺序,将所有所述用户均匀划分为M组。
具体实施时,可以按照新奇性得分由高到低的顺序,将所有用户均匀划分为M组。其中,M等于推荐算法池中推荐算法的数量。不同用户组中的用户具有不同的新奇性得分,即每个用户组对应一个新奇性得分范围。具体实施时,可以将用户组标记为1~M组,第1组对应的新奇性得分最高,第M组对应的新奇性得分最低,然后,将用户所在组的新奇性得分的高低顺序号,作为该用户的新奇性位次。
具体实施时,还可以按照新奇性得分由低到高的顺序,将所有用户均匀划分为M组。其中,M等于推荐算法池中推荐算法的数量。不同用户组中的用户同样具有不同的新奇性得分,即每个用户组对应一个新奇性得分范围。具体实施时,可以将用户组标记为1~M组,第1组对应的新奇性得分最高,第M组对应的新奇性得分最低,然后,将用户所在组的新奇性得分的高低顺序号,作为该用户的新奇性位次。
进一步的,对于历史数据稀疏的用户和没有历史数据的新用户,将其直接划分至新奇性居中的用户组中。具体实施时,当获取的某一用户的点击次数、收藏次数和购买次数满足公式clicki*w1+wishi*w2+buyi*w3<TH1时,将该用户直接划分至新奇性居中的用户组中。其中,TH1为次数阈值,根据具体业务需求取值,例如:TH1=10。
具体实施时,对于删除数据较少的情况,例如,dnew+dold<=TH2的情形,在计算用户的新奇性得分时,可以通过公式直接计算新奇性得分,即忽略删除数据对于用户的新奇性判断的影响。其中,TH2为次数阈值,根据具体业务需求取值,例如:TH2=5。
子步骤S2,根据推荐算***换策略,确定每个推荐算法的轮换值位次。当用户再次进入应用页面时,即推荐引擎被再次调用时,根据算法版本轮换策略确定每个推荐算法的轮换值位次。具体实施时,根据推荐算***换策略,确定每个推荐算法的轮换值位次,包括:根据点击率提升权重、转化率提升权重和推荐算法的新颖性权重,计算每个推荐算法的轮换值;将所述轮换值按照与新奇性得分相同的排序方式进行排序,确定所述轮换值的高低顺序号作为该轮换值位次。
根据点击率提升权重、转化率提升权重和推荐算法的新颖性权重,计算每个推荐算法的轮换值的具体方法,可以采用如下公式: Rotate(Ai)=Wctr*Wcvr*Wcycle;其中,Wctr为点击率提升权重,Wcvr为转化率提升权重,Wcycle为推荐算法的新颖性权重。
具体实施时,点击率提升权重Wctr的计算公式为:
转化率提升权重Wcvr的计算公式为:
具体实施时,本领域技术人员还可以根据优化指标调整可变参数a和b 的取值,例如,根据转化率设置可变参数的值。
推荐算法的新颖性权重Wcycle的计算公式为:
其中,表示针对该用户的推荐操作,在当前监控周期内,上一次选择该推荐算法Ai的时间,与当前时间的间隔。如果在当前监控周期内,没有选用过该推荐算法,则取值等于监控周期对应的秒数,如监控周期为1天时,Wcycle是推荐算法的新颖性权重,采用的是艾宾浩斯遗忘曲线拟合公式。
通过上述轮换值计算方法,可以得到推荐算法池中每个推荐算法Ai的轮换值Rotate(Ai),将所述轮换值按照与新奇性得分相同的排序方式进行排序,确定所述轮换值的高低顺序号作为该轮换值位次。具体实施时,如果新奇性得分按照由高到低的顺序排序,则将推荐算法按照轮换值由高到低的顺序进行排序;如果新奇性得分按照由低到高的顺序排序,则将推荐算法按照轮换值由低到高的顺序进行排序,最后确定每个推荐算法的轮换值位次。例如,新奇性得分通过调用方法rank(curiosity)进行排序,则推荐算法的轮换值同样通过调用方法rank(Rotate(Ai))进行排序。
子步骤S3,选择所述推荐算法池中轮换值位次与所述新奇性位次匹配的推荐算法。
采用相同的方法对用户的新奇性得分和推荐算法的轮换值进行排序之后,选择轮换值位次与所述新奇性位次匹配的推荐算法作为本次推荐引擎调用的推荐算法,即选择满足rank(curiosity)=rank(Rotate(Ai))的推荐算法。具体实施时,如果用户的新奇性得分最高,则选择轮换值最大的推荐算法进行信息推荐;如果用户的新奇性得分最低,则选择轮换值最小的推荐算法进行信息推荐。
具体实施时,本申请对获取用户的新奇性位次和推荐算法转换值位次的顺序不作限定。
然后,执行步骤240,通过选择的所述推荐算法对用户推荐信息。
步骤240,通过选择的所述推荐算法对用户推荐信息。
在推荐算法池中选择合适的算法之后,通过选择的推荐算法获取推荐结果,并由推荐引擎反馈给应用。通过选择的推荐算法获取推荐结果的具体方案为现有技术,此处不再赘述。
本申请实施例公开的推荐方法,通过基于第一预设优化指标,建立推荐算法池,然后,在推荐引擎调用推荐算法时,判断是否为预设监控周期内首次调用推荐引擎;如果是首次调用,在所述推荐算法池中选择第二预设优化指标最优的推荐算法,否则,结合用户的新奇性和推荐算***换策略,在所述推荐算法池中选择一个推荐算法;最后,通过选择的所述推荐算法对用户推荐信息,解决了现有技术中存在的推荐结果新颖性和多样性较差的问题。通过在预设监控周期内,动态选择推荐算法,既保证了业务指标优化的需求,同时有效地提高了推荐结果的新颖性和多样性,进一步提升了用户体验。
当用户多次访问应用的页面时,结合用户的新奇性和算法版本轮换策略,从推荐算法池中召回最契合用户需求的推荐算法进行结果的推荐,这样用户每次看到的头部结果都会发生变动,能有效的提升结果的多样性和新颖性。同时推荐算法换策略中利用艾宾浩斯遗忘曲线拟合了推荐算法对用户的新颖程度,给用户推荐的都是选用的比较新颖的算法,能有效地避免算法退化的风险。而且算法版本轮换策略中考虑了业务的优化指标,所以在提升推荐结果的新颖性同时,兼顾优化指标的提升。
实施例三
本实施例公开的一种推荐装置,如图4所示,所述装置包括:
算法池建立模块300,用于基于第一预设优化指标,建立推荐算法池,其中,所述推荐算法池中包括M个推荐算法,M为大于等于2的整数;
推荐算法选择模块310,用于根据推荐引擎的调用次数选择所述推荐算法池中的一个推荐算法;
推荐模块320,用于通过选择的所述推荐算法对用户推荐信息。
本申请实施例公开的推荐装置,通过基于第一预设优化指标,建立推荐算法池,并根据推荐引擎的调用次数选择所述推荐算法池中的一个推荐算法,然后,通过选择的所述推荐算法对用户推荐信息,解决了现有技术中存在的推荐结果新颖性和多样性较差的问题。通过根据推荐引擎被调用的次数,即用户访问应用页面的次数,动态选择推荐算法,既保证了业务指标优化的需求,同时有效地提高了推荐结果的新颖性和多样性,进一步提升了用户体验。
优选的,所述推荐算法选择模块310,用于在预设监控周期内,根据推荐引擎的调用次数选择所述推荐算法池中的一个推荐算法。
可选的,如图4所示,所述推荐算法选择模块310包括:
第一推荐算法选择单元3101,用于若首次调用推荐引擎,则在所述推荐算法池中选择第二预设优化指标最优的推荐算法;
第二推荐算法选择单元3102,用于若非首次调用推荐引擎,则结合用户的新奇性和推荐算***换策略,在所述推荐算法池中选择一个推荐算法。
可选的,如图4所示,所述第二推荐算法选择单元3102包括:
新奇性确定子单元31021,用于根据用户的历史行为数据,确定用户的新奇性位次;
轮换值确定子单元31022,用于根据推荐算***换策略,确定每个推荐算法的轮换值位次;
推荐算法选择子单元31023,用于选择所述推荐算法池中轮换值位次与所述新奇性位次匹配的推荐算法。
可选的,所述新奇性确定子单元31021具体用于:根据用户的历史行为数据,分别确定每个用户的新奇性得分;按照所述新奇性得分的高低顺序,将所有所述用户均匀划分为M组;将用户所在组的新奇性得分的高低顺序号,作为该用户的新奇性位次。
所述根据用户的历史行为数据,分别确定每个用户的新奇性得分,包括:根据在第一预设时间段内用户对某一商品执行点击、收藏、购买操作的次数,确定用户的新奇性得分的第一因子;根据用户已删除商品的用户历史行为信息,确定用户的新奇性得分的第二因子;将所述第一因子与第二因子的和,作为用户的新奇性得分;其中,所述第一因子的取值与用户的点击、收藏、购买操作针对的商品对应的商户数量成反比;所述第二因子的取值与已删除商品对应的具有用户历史行为的商户的数量成正比。
具体实施时,可以通过以下公式计算用户的新奇性得分的第一因子 curiosity1:
其中,clicki为用户在第一预设时间段内对商品i的点击总次数;wishi为用户在第一预设时间段内对商品i的收藏总次数;buyi为用户在第一预设时间段内对商品i的购买总次数; w1、w2和w3分别是点击次数clicki、收藏次数wishi和购买次数buyi的权重系数,w1<w2<w3;表示用户对商品i是否有点击行为,当clicki>0时,否则 表示用户对商品i是否有收藏行为,当wishi>0 时,否则 表示用户对商品i是否有购买行为,当 buyi>0时,否则N为商户的数量。
本实施例在计算第一因子时,仅以用户因为包括:点击、收藏、购买为例进行说明,具体实施时,还可以包含其他用户行为,并根据用户行为的特点,对用户行为赋予不同的权重值。
具体实施时,可以通过以下公式计算用户的新奇性得分的第二因子 curiosity2:
通过第二因子的计算公式可以看出,如果用户总是删除曾经有过行为的商户,则第二因子取值较高;相反,如果用户总是删除自己没有行为的商户,则则第二因子取值较低。
最后,将所述第一因子与第二因子的和,作为用户的新奇性得分 curiosity,即curiosity=curiosity1+curiosity2。
所述根据推荐算***换策略,确定每个推荐算法的轮换值位次,包括:根据点击率提升权重、转化率提升权重和推荐算法的新颖性权重,计算每个推荐算法的轮换值;将所述轮换值按照与新奇性得分相同的排序方式进行排序,确定所述轮换值的高低顺序号作为该轮换值位次。
根据点击率提升权重、转化率提升权重和推荐算法的新颖性权重,计算每个推荐算法的轮换值的具体方法,可以采用如下公式: Rotate(Ai)=Wctr*Wcvr*Wcycle;其中,Wctr为点击率提升权重,Wcvr为转化率提升权重,Wcycle为推荐算法的新颖性权重。
具体实施时,点击率提升权重Wctr的计算公式为:
转化率提升权重Wcvr的计算公式为:
具体实施时,本领域技术人员还可以根据优化指标调整可变参数a和b 的取值,例如,根据转化率设置可变参数的值。
推荐算法的新颖性权重Wcycle的计算公式为:
其中,表示针对该用户的推荐操作,在当前监控周期内,上一次选择该推荐算法Ai的时间,与当前时间的间隔。如果在当前监控周期内,没有选用过该推荐算法,则取值等于监控周期对应的秒数,如监控周期为1天时,Wcycle是推荐算法的新颖性权重,采用的是艾宾浩斯遗忘曲线拟合公式。
可选的,如图4所示,所述算法池建立模块300包括:
参考推荐算法确定单元3001,用于确定第二预设时间段内,首要衡量指标最优的推荐算法为参考推荐算法;
候选推荐算法确定单元3002,用于确定第三预设时间段内,至少一个第一预设优化指标优于所述参考推荐算法的推荐算法为候选推荐算法;
算法池构建单元3003,用于将所述参考推荐算法和M-1个最优候选推荐算法加入推荐算法池;
其中,所述第一预设优化指标可以为:点击率、转化率、交易额等业务指标,所述首要衡量指标选自于所述第一预设优化指标。
本申请实施例公开的推荐装置,通过基于第一预设优化指标,建立推荐算法池,然后,在推荐引擎调用推荐算法时,判断是否为预设监控周期内首次调用推荐引擎;如果是首次调用,在所述推荐算法池中选择第二预设优化指标最优的推荐算法,否则,结合用户的新奇性和推荐算***换策略,在所述推荐算法池中选择一个推荐算法;最后,通过选择的所述推荐算法对用户推荐信息,解决了现有技术中存在的推荐结果新颖性和多样性较差的问题。通过在预设监控周期内,动态选择推荐算法,既保证了业务指标优化的需求,同时有效地提高了推荐结果的新颖性和多样性,进一步提升了用户体验。
相应的,本申请还公开了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如本申请实施例一和实施例二所述的推荐方法。所述电子设备可以为PC机、移动终端、个人数字助理、平板电脑等。
本申请还公开了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请实施例一和实施例二所述的推荐方法的步骤。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上对本申请提供的一种推荐方法及装置进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件实现。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
Claims (14)
1.一种推荐方法,其特征在于,包括:
基于第一预设优化指标,建立推荐算法池,其中,所述推荐算法池中包括M个推荐算法,M为大于等于2的整数;
根据推荐引擎的调用次数选择所述推荐算法池中的一个推荐算法;
通过选择的所述推荐算法对用户推荐信息;
其中,所述根据推荐引擎的调用次数选择所述推荐算法池中的一个推荐算法的步骤,包括:
若首次调用所述推荐引擎,则在所述推荐算法池中选择第二预设优化指标最优的推荐算法;
若非首次调用所述推荐引擎,则根据用户的历史行为数据,确定所述用户的新奇性位次,并根据推荐算***换策略,确定每个推荐算法的轮换值位次,然后,选择所述推荐算法池中所述轮换值位次与所述新奇性位次匹配的推荐算法;其中,所述新奇性位次与所述用户的新奇性得分相关,所述用户的新奇性表示的是所述用户对新商户的偏好程度,所述轮换值位次与轮换值的高低相关,所述轮换值根据点击率提升权重、转化率提升权重和推荐算法的新颖性权重计算得到。
2.根据权利要求1所述的方法,其特征在于,所述根据推荐引擎的调用次数选择所述推荐算法池中的一个推荐算法的步骤,包括:
在预设监控周期内,根据推荐引擎的调用次数选择所述推荐算法池中的一个推荐算法。
3.根据权利要求1所述的方法,其特征在于,所述根据用户的历史行为数据,确定用户的新奇性位次的步骤,包括:
根据用户的历史行为数据,分别确定每个用户的新奇性得分;
按照所述新奇性得分的高低顺序,将所有所述用户均匀划分为M组;
将用户所在组的新奇性得分的高低顺序号,作为该用户的新奇性位次。
4.根据权利要求3所述的方法,其特征在于,所述根据用户的历史行为数据,分别确定每个用户的新奇性得分的步骤,包括:
根据在第一预设时间段内用户对某一商品执行点击、收藏、购买操作的次数,确定用户的新奇性得分的第一因子;
根据用户已删除商品的用户历史行为信息,确定用户的新奇性得分的第二因子;
将所述第一因子与第二因子的和,作为用户的新奇性得分;
其中,所述第一因子的取值与用户的点击、收藏、购买操作针对的商品对应的商户数量成反比;所述第二因子的取值与已删除商品对应的具有用户历史行为的商户的数量成正比。
5.根据权利要求3所述的方法,其特征在于,所述根据推荐算***换策略,确定每个推荐算法的轮换值位次的步骤,包括:
根据点击率提升权重、转化率提升权重和推荐算法的新颖性权重,计算每个推荐算法的轮换值;
将所述轮换值按照与新奇性得分相同的排序方式进行排序,确定所述轮换值的高低顺序号作为该轮换值位次。
6.根据权利要求1所述的方法,其特征在于,所述基于第一预设优化指标,建立推荐算法池的步骤,包括:
确定第二预设时间段内,首要衡量指标最优的推荐算法为参考推荐算法;
确定第三预设时间段内,至少一个第一预设优化指标优于所述参考推荐算法的推荐算法为候选推荐算法;
将所述参考推荐算法和M-1个最优候选推荐算法加入推荐算法池;
其中,所述首要衡量指标选自于所述第一预设优化指标。
7.一种推荐装置,其特征在于,包括:
算法池建立模块,用于基于第一预设优化指标,建立推荐算法池,其中,所述推荐算法池中包括M个推荐算法,M为大于等于2的整数;
推荐算法选择模块,用于根据推荐引擎的调用次数选择所述推荐算法池中的一个推荐算法;
推荐模块,用于通过选择的所述推荐算法对用户推荐信息;
其中,所述推荐算法选择模块包括:
第一推荐算法选择单元,用于若首次调用所述推荐引擎,则在所述推荐算法池中选择第二预设优化指标最优的推荐算法;
第二推荐算法选择单元,用于若非首次调用所述推荐引擎,则根据用户的历史行为数据,确定所述用户的新奇性位次,并根据推荐算***换策略,确定每个推荐算法的轮换值位次,然后,选择所述推荐算法池中所述轮换值位次与所述新奇性位次匹配的推荐算法;其中,所述新奇性位次与所述用户的新奇性得分相关,所述用户的新奇性表示的是所述用户对新商户的偏好程度,所述轮换值位次与轮换值的高低相关,所述轮换值根据点击率提升权重、转化率提升权重和推荐算法的新颖性权重计算得到。
8.根据权利要求7所述的装置,其特征在于,所述推荐算法选择模块进一步用于,在预设监控周期内,根据推荐引擎的调用次数选择所述推荐算法池中的一个推荐算法。
9.根据权利要求7所述的装置,其特征在于,所述根据用户的历史行为数据,确定所述用户的新奇性位次的步骤,包括:
根据用户的历史行为数据,分别确定每个用户的新奇性得分;
按照所述新奇性得分的高低顺序,将所有所述用户均匀划分为M组;
将用户所在组的新奇性得分的高低顺序号,作为该用户的新奇性位次。
10.根据权利要求9所述的装置,其特征在于,所述根据用户的历史行为数据,分别确定每个用户的新奇性得分,包括:
根据在第一预设时间段内用户对某一商品执行点击、收藏、购买操作的次数,确定用户的新奇性得分的第一因子;
根据用户已删除商品的用户历史行为信息,确定用户的新奇性得分的第二因子;
将所述第一因子与第二因子的和,作为用户的新奇性得分;
其中,所述第一因子的取值与用户的点击、收藏、购买操作针对的商品对应的商户数量成反比;所述第二因子的取值与已删除商品对应的具有用户历史行为的商户的数量成正比。
11.根据权利要求9所述的装置,其特征在于,所述根据推荐算***换策略,确定每个推荐算法的轮换值位次的步骤,包括:
根据点击率提升权重、转化率提升权重和推荐算法的新颖性权重,计算每个推荐算法的轮换值;
将所述轮换值按照与新奇性得分相同的排序方式进行排序,确定所述轮换值的高低顺序号作为该轮换值位次。
12.根据权利要求7所述的装置,其特征在于,所述算法池建立模块包括:
参考推荐算法确定单元,用于确定第二预设时间段内,首要衡量指标最优的推荐算法为参考推荐算法;
候选推荐算法确定单元,用于确定第三预设时间段内,至少一个第一预设优化指标优于所述参考推荐算法的推荐算法为候选推荐算法;
算法池构建单元,用于将所述参考推荐算法和M-1个最优候选推荐算法加入推荐算法池;
其中,所述第一预设优化指标至少包括:点击率、转化率,所述首要衡量指标选自于所述第一预设优化指标。
13.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6任意一项权利要求所述的推荐方法。
14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1至6任意一项所述的推荐方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710458649.1A CN107402961B (zh) | 2017-06-16 | 2017-06-16 | 一种推荐方法及装置,电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710458649.1A CN107402961B (zh) | 2017-06-16 | 2017-06-16 | 一种推荐方法及装置,电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107402961A CN107402961A (zh) | 2017-11-28 |
CN107402961B true CN107402961B (zh) | 2020-09-25 |
Family
ID=60404789
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710458649.1A Active CN107402961B (zh) | 2017-06-16 | 2017-06-16 | 一种推荐方法及装置,电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107402961B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110473040B (zh) * | 2018-05-10 | 2021-11-19 | 北京三快在线科技有限公司 | 一种产品推荐方法及装置,电子设备 |
CN109597874B (zh) * | 2018-10-23 | 2023-05-23 | 重庆邂智科技有限公司 | 信息推荐方法、装置及服务器 |
CN109447762B (zh) * | 2018-11-12 | 2022-06-10 | 深圳市喂车科技有限公司 | 商品推荐方法及其装置、服务器、商品推荐*** |
CN111222931B (zh) * | 2018-11-23 | 2023-05-05 | 阿里巴巴集团控股有限公司 | 一种产品推荐方法及*** |
CN113987353B (zh) * | 2021-10-29 | 2022-08-09 | 掌阅科技股份有限公司 | 书籍推荐方法、计算设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104156392A (zh) * | 2014-07-09 | 2014-11-19 | 中电科华云信息技术有限公司 | 好友及应用个性化推荐方法及*** |
CN105654307A (zh) * | 2014-11-13 | 2016-06-08 | 苏宁云商集团股份有限公司 | 基于用户反馈的商品推荐方法和*** |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015099745A1 (en) * | 2013-12-26 | 2015-07-02 | Thomson Licensing | Multiple profile user interface |
US20160292769A1 (en) * | 2015-03-31 | 2016-10-06 | Stitch Fix, Inc. | Systems and methods that employ adaptive machine learning to provide recommendations |
-
2017
- 2017-06-16 CN CN201710458649.1A patent/CN107402961B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104156392A (zh) * | 2014-07-09 | 2014-11-19 | 中电科华云信息技术有限公司 | 好友及应用个性化推荐方法及*** |
CN105654307A (zh) * | 2014-11-13 | 2016-06-08 | 苏宁云商集团股份有限公司 | 基于用户反馈的商品推荐方法和*** |
Non-Patent Citations (2)
Title |
---|
基于混合算法的高性能推荐策略平台;雷军环 等;《科学技术与工程》;20121130;第12卷(第33期);8924-8928 * |
雷军环 等.基于混合算法的高性能推荐策略平台.《科学技术与工程》.2012,第12卷(第33期),8924-8928. * |
Also Published As
Publication number | Publication date |
---|---|
CN107402961A (zh) | 2017-11-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107402961B (zh) | 一种推荐方法及装置,电子设备 | |
WO2020048084A1 (zh) | 资源推荐方法、装置、计算机设备及计算机可读存储介质 | |
JP5976943B2 (ja) | 製品情報の推薦 | |
CN105574147B (zh) | 一种信息处理方法及服务器 | |
CN111461841B (zh) | 物品推荐方法、装置、服务器及存储介质 | |
CN103678518B (zh) | 一种推荐列表调整方法和装置 | |
CN103377250B (zh) | 基于邻域的top‑k推荐方法 | |
CN110473040B (zh) | 一种产品推荐方法及装置,电子设备 | |
US9665902B2 (en) | Personalized recommendation method and system, and computer-readable record medium | |
CN107341176B (zh) | 一种样本权重设置方法及装置,电子设备 | |
CN108460618B (zh) | 一种资源配置方法及装置,电子设备 | |
CN110442796A (zh) | 一种推荐策略分桶方法、装置及设备 | |
CN105468628B (zh) | 一种排序方法及装置 | |
US20140081800A1 (en) | Recommending Product Information | |
Lai et al. | Novel personal and group-based trust models in collaborative filtering for document recommendation | |
CN104239338A (zh) | 信息推荐方法及装置 | |
CN109409928A (zh) | 一种素材推荐方法、装置、存储介质、终端 | |
CN110335123B (zh) | 基于社交电商平台的商品推荐方法、***、计算机可读介质以及装置 | |
US11216518B2 (en) | Systems and methods of providing recommendations of content items | |
CN107943910B (zh) | 一种基于组合算法的个性化图书推荐方法 | |
CN110197404A (zh) | 可降低流行度偏差的个性化长尾商品推荐方法和*** | |
CN110347935A (zh) | 基于用户兴趣变化的个性化影视项目推荐方法及*** | |
CN106846029B (zh) | 基于遗传算法和新型相似度计算策略的协同过滤推荐算法 | |
CN109584016A (zh) | 一种商品推荐方法 | |
CN107767152A (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 |