Archive for the ‘Article’ Category

微博排名算法的研究

Posted: October 13, 2012 in Article

从新浪微博智能排序功能来看。影响一条微博的重要程度有以下几点因素:

1、微博发布时间。当前查看微博的时间与微博本身发布的时间的差可以知道一条微博的新鲜程度。这个因素对于微博时效性是非常重要的。

2、微博timeline的热度。timeline的热度也体现了微博内容本身的价值。热度高的timeline说明这条微博的受欢迎程度是很高的。热度的计算可以根据微博内容本身被转发次数,评论次数以及收藏次数来体现。

3、用户对微博的亲密度。亲密度是指用户A与用户B的亲密程度。例如,互粉情况下,亲密度可能会高一点等,用户A经常评论,转发或收藏用户B的微博,说明用户A与用户B交互性是比较强的。这个也是影响微博分数的一个因素。

4、用户对微博的兴趣度。用户的兴趣度,可以直接反映用户对微博内容的喜好程度。但兴趣度这个需要好好考量,因为用户本身可能也不知道自己感兴趣什 么内容。而现在通常的做法是,通过用户本身内容例如,用户标签,用户所关注的人的标签,以及用户关注的话题等等显示的内容分析出特定的“关键字标签”,这 些“关键字标签”可以作为用户感兴趣的“依据”。这样可以过滤一些与这些标签相匹配的微博内容。

不过,麦洛在这里不大建议收集微博内容,并从微博内容中提取“关键字标签”,因为微博内容是更新非常快,时效性很强。因此,历史的浏览记录并不能很 好的表达用户的兴趣。而且收集微博内容将使服务器压力很大,需要计算庞大的数据,时间越久,数据量越大,而且这些数据噪音很大。

从上面四点中可以知道,影响一条timeline分数的函数为

score=f(t,h,f,i);

其中t表示时间,h表示热度,f表示亲密度,i表示兴趣度。

接下来工作是为每一个因素寻找数学模型。例如,随时间变化的函数s1=f(t)可以使用《排名算法学习》http://miloisbadboy.com/archives/234中介绍的模型。

模型的选择需要根据实际情况和需求。

好了,模型的选择,可以好好看看排名算法的一些原理,可以从中获取一些灵感和启发。

 

 

文章转自: http://miloisbadboy.com/archives/237

Advertisements