牛顿冷却定律:定义了温度随时间变化的规律。
#T_now:当前温度
#T_last: 上次温度
#tx:与上次测量的时间间隔
#coefficient: 冷却系数
T_now = T_last * Exp(-(tx) * coefficient)
可见,随着时间温度会慢慢下降,并且下降的速度越来越慢,一直到最后几乎不变 。
热门排名
温度冷却,自然而然就会想起“热门推荐”或者“热门排名”,那么是否可以使用上述的公式来做热门排名呢?答案是肯定的。
本次热门分值 = 上次统计热门分值 * exp(-1 * 系数 * 统计的时间间隔)
那么热门分值也会像温度一样慢慢下降直至最终归零,这个跟实际非常符合,之前一段时间比较热门的话题发酵一段时间后热度会慢慢下降,过一段时间后人们也不会想起它(可能偶尔会提起)。
还需要加些修正,如:新增加的点击阅读分值
新增点击分值 = A * (B - log(tx)) * 新增点击数
# A B 为系数
# tx为距离创建的时间
B - log(tx)是构造一个随时间迁移影响度越来越小的系数,为了让一些新的新闻能够比较容易上热门,因为同样是新增100次点击,tx越小,新增分值就越大,即影响度就越大,老新闻需要更多的点击才能追上新的新闻。
热门排名算法有很多,具体要看实际使用场景,如到底是否推新、正负投票等等,很多时候简单的几个属性除一下加一下就能达到很好的效果。
中文处理提取新词
提取新词的方法为统计两个字出现的概率和各自出现的概率,如满足
P(W0W1) > P(W0) * P(W1)
则说明可能为一个新词,对于一些干扰的处理可以使用冷却法,即在统计频率时,可以边统计边衰减,对于正常词来说增长比衰减要快,但是非正常词的干扰,由于出现的随机性,会被慢慢“遗忘”。