实时推荐模型的算法设计

Posted liangyan131

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了实时推荐模型的算法设计相关的知识,希望对你有一定的参考价值。

  当用户u 对商品p 进行了评分,将触发一次对u的推荐结果的更新。对于用户u 来说,他与p 最相似的商品们之间的推荐强度将发生变化,所以选取与商品p 最相似的K 个商品作为候选商品。每个候选商品按照“推荐优先级”这一权重作为衡量这个商品被推荐给用户u 的优先级。

这些商品将根据用户u 最近的若干评分计算出各自对用户u 的推荐优先级,然后与上次对用户u 的实时推荐结果的进行基于推荐优先级的合并、替换得到更新后的推荐结果。

具体来说:

首先,获取用户u 按时间顺序最近的K 个评分,记为RK;获取商品p 的最相似的K 个商品集合,记为S;

然后,对于每个商品qS ,计算其推荐优先级,计算公式如下:

 

    其中:

表示用户u 对商品r 的评分;

sim(q,r)表示商品q 与商品r 的相似度,设定最小相似度为0.6,当商品q和商品r 相似度低于0.6 的阈值,则视为两者不相关并忽略;

sim_sum 表示q 与RK 中商品相似度大于最小阈值的个数;

incount 表示RK 中与商品q 相似的、且本身评分较高(>=3)的商品个数;

recount 表示RK 中与商品q 相似的、且本身评分较低(<3)的商品个数;

公式的意义如下:

首先对于每个候选商品q,从u 最近的K 个评分中,找出与q 相似度较高(>=0.6)的u 已评分商品们,对于这些商品们中的每个商品r,将r 与q 的相似度乘以用户u 对r 的评分,将这些乘积计算平均数,作为用户u 对商品q 的评分预测即

 

然后,将u 最近的K 个评分中与商品q 相似的、且本身评分较高(>=3)的商品个数记为 incount,计算lgmax{incount,1}作为商品 q 的“增强因子”,意义在于商品q 与u 的最近K 个评分中的n 个高评分(>=3)商品相似,则商品q 的优先级被增加lgmax{incount,1}。如果商品 q 与 u 的最近 K 个评分中相似的高评分商品越多,也就是说n 越大,则商品q 更应该被推荐,所以推荐优先级被增强的幅度较大;如果商品q 与u 的最近K 个评分中相似的高评分商品越少,也就是n 越小,则推荐优先级被增强的幅度较小;

而后,将u 最近的K 个评分中与商品q 相似的、且本身评分较低(<3)的商品个数记为 recount,计算lgmax{recount,1}作为商品 q 的“削弱因子”,意义在于商品q 与u 的最近K 个评分中的n 个低评分(<3)商品相似,则商品q 的优先级被削减lgmax{incount,1}。如果商品 q 与 u 的最近 K 个评分中相似的低评分商品越多,也就是说n 越大,则商品q 更不应该被推荐,所以推荐优先级被减弱的幅度较大;如果商品q 与u 的最近K 个评分中相似的低评分商品越少,也就是n 越小,则推荐优先级被减弱的幅度较小;

最后,将增强因子增加到上述的预测评分中,并减去削弱因子,得到最终的q 商品对于u 的推荐优先级。在计算完每个候选商品q 的后,将生成一组<商品q 的ID, q 的推荐优先级>的列表updatedList:

 

而在本次为用户u 实时推荐之前的上一次实时推荐结果Rec 也是一组<商品m,m 的推荐优先级>的列表,其大小也为K:

 

接下来,将updated_S 与本次为u 实时推荐之前的上一次实时推荐结果Rec进行基于合并、替换形成新的推荐结果NewRec:

 

其中,i表示updated_S 与Rec 的商品集合中的每个商品,topK 是一个函数,表示从 Recupdated _ S中选择出最大的 K 个商品,cmp =  表示topK 函数将推荐优先级值最大的K 个商品选出来。最终,NewRec 即为经过用户u 对商品p 评分后触发的实时推荐得到的最新推荐结果。

总之,实时推荐算法流程流程基本如下:

(1)用户u 对商品p 进行了评分,触发了实时推荐的一次计算;

(2)选出商品p 最相似的K 个商品作为集合S;

(3)获取用户u 最近时间内的K 条评分,包含本次评分,作为集合RK;

(4)计算商品的推荐优先级,产生<qID,>集合updated_S;

将updated_S 与上次对用户u 的推荐结果Rec 利用公式(4-4)进行合并,产生新的推荐结果NewRec;作为最终输出。

以上是关于实时推荐模型的算法设计的主要内容,如果未能解决你的问题,请参考以下文章

slope实时推荐算法的系统设计思考

一天一更: 推荐算法专家|北京

当推荐遇到社交:美图的推荐算法设计优化实践

推荐系统[八]算法实践总结V0:腾讯音乐全民K歌推荐系统架构及粗排设计

推荐系统[八]算法实践总结V0:腾讯音乐全民K歌推荐系统架构及粗排设计

推荐系统[八]算法实践总结V4:混排算法在淘宝信息流第四代混排调控框架实战,提升推荐实时性捕捉实时兴趣。