牛顿冷却定律:在用户标签提取上的应用

1.背景

在很多推荐业务的场景下,我们需要提取用户的兴趣标签,进而将用户划分,进行内容的推荐。假设我们现在拥有一些用户的行为信息,比如某产品feed上的用户,今天阅读了2个时政类的新闻,昨天阅读了4个美妆类新闻,5天前又读了8篇美食类的新闻,而我们需要给用户打一个label,这个label可以是一个或者多个,我们应该怎么去做呢?

我们所拥有的信息为 用户阅读行为的分类、用户在分类下的行为频度以及用户的行为时间。显然,用户的兴趣会随着时间迁移,我们不能仅仅依靠一个指标来确定用户的label,而是需要综合时间、行为频率来进行建模。

2.牛顿冷却定律

牛顿冷却定律"非常简单,用一句话就可以概况,即“物体的冷却速度,与其当前温度与室温之间的温差成正比”,写成数学公式就是:
在这里插入图片描述
其中,
T(t)是温度关于时间的函数,
H代表室温,T(t)-H就是当前温度与室温之间的温差,
常数α(α>0)表示室温与降温速率之间的比例关系。

基于上述公式,我们对其进行积分,求解T(t)函数,即温度和时间的关系函数,我们可以得到,
在这里插入图片描述
室温对我们来说,是一个冷却的极限,也是最终我们所期待的温度的值。所以,我们可以认为室温即为0,即
在这里插入图片描述
这个公式应用在排序上即是
本次评分 = 上次评分* exp(-率减率 X 间隔时间)

3.在用户标签提取上的应用

回顾牛顿冷却定律,我们可以发现,牛顿冷却定律给我们提供了一种指数衰减的思路,这种思路同样是可以应用到用户对标签兴趣的建模之上。

再回到最开始的问题,我们可以认为用户在一个时间的一次浏览行为即是这个类目的一个score,在某个时间周期内进行时间衰减,计算在时间周期内所有类目下的socre,然后将相同类目的score累加,对每个类目的score-sum进行排序,根据业务需求,将topN作为用户的label。

单次行为score的计算:
Score = e^(-at)
其中
a为衰减系数,可以设置为时间周期的倒数,这样时间周期末端的score则为1/e
t为时间间隔
score随时间的衰弱曲线为
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/Daverain/article/details/86145374
今日推荐