加载中…
个人资料
青梅
青梅 新浪个人认证
  • 博客等级:
  • 博客积分:0
  • 博客访问:14,648
  • 关注人气:618
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

热度关注的时间相关性算法

(2007-06-03 14:17:07)
标签:

算法

数据结构

   很多网站在设计博客的排行时,在时间相关性上很困惑,为了满足访问网站频率不同的用户需求,他们只好按日、周、月来做排行,非常明显的缺陷是,让每周或每月的开始时,周榜和月榜上的精彩文章精彩程度不够,而上周末或月末的精彩文章可能被过早撤出用户视线。但是如果按七天排行或者三十天排行,算法又太复杂。
  有没有兼顾的算法呢?答案是有的。
  假定用户访问周期介于T1到TN,TN=N*T1,用户访问频率在T1到TN之间线性分布。
  设文章在每个时间TX里获得的访问量为TXPV,设计系数A=(N-1)/N
  使用计算式T1PV*A^(N-1)+T2PV*A^(N-2)+T3PV*A^(N-3)+……+TNPV=∑TXPV*A^(N-X)来计算随时间衰减的关注度。
  这个算式看上去复杂,但是在程序上实现是非常简单的:
  用一个字段存储截止到上一个时间周期的∑TXPV*A^(N-X)(假定此值表示为C),另一个字段存储当前时间周期的访问量(此值表示为D),当进入下一时间周期时,使用C*A+D替换C,然后D清零。
  考虑不同时间用户的行为习性的差异,可以设置时间周期T为不等长,按经验设置或按总体访问量的变化设置一个TN周期里的各T长度。为满足用户找回精彩文章的需要,可以多设几个N,比如七天排行按七天为周期设计,三十天排行按三十天为周期设计。编辑也可以按需要重设周期以方便挖掘精彩内容,好推荐给用户。

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有