黄聪:博客园的积分和排名算法探讨,积分是怎么计算的?(转)

我们先来看看现行规则,用公式表示为:
-------------------------------------------------------------------
BlogScore
= BeRead + 10 * BeComment + 50 *
Comment

BlogScore:博客积分
BeRead:个人博客所有随笔和文章的阅读数之和
BeComment:个人博客被评论总数
Comment:
个人所发表的评论总数
-------------------------------------------------------------------
我从这个公式看出了几个问题:
1.发表随笔和文章本身不会为博客带来积分,但不发表文章,BeRead和BeCommented将永远为0
2.发表一篇评论可以直接加50分
3.被阅读10次等于被评论一次的积分

首页问题
这里,首先联想到是讨论已久的“首页问题”,上首页对文章有什么直接的好处呢?通常首页文章的BeRead值会比较大,一般1000左右。值得注意的是不同类型和质量的文章其BeRead值差距并不是太大,根据我的经验每篇首页文章的阅读数大约在500~3000这个区间范围,最多相差5,6倍。而BeComment值则相差很大,少的有几乎为0的,普通文章4,5次,多的则达可到300次以上,相差上百倍,如果再乘上系数10,就更为可观。

文章质量问题

此,那些吸引眼球、引起争议的文章会为博客带来巨大的积分。我们常常看到首页上一些非技术文章门庭若市;一些高质量的技术文章,反而只有寥寥几篇回复。
一个好的技术博客,应该鼓励产生高质量的原创技术文章,这才是它的核心价值,而并不是仅仅是像门户网站一样赚取人气。那么应如何区分文章的质量呢?当然,
最直接的方式就是读者反馈。现在博客园已经有了【推荐】和【反对】的反馈功能,不妨利用起来作为积分计算的参考依据。有了这个参数,就能区别对待不同质量
的文章,让高质量的文章为作者带来更多的积分。至于具体实现,我还没有一个很好的模型,只能随便想个简单的,比如定义文章质量因子:

QualityFactor
= log(max(1, 推荐数 -
反对数))


在计算积分的时候可以考虑把评论数或阅读数乘上这个质量因子。

PersonRank vs
PageRank
在互联网上,如果一个网页被很多其它网页所链接,说明它受到普遍的承认和信赖,那么它的排名就高,这就是Google
PageRank算法的核心思想。PageRank把链接视为源对目标网页的投票,而这张票的分量是和源网页自身的PageRank相关的。下面是一个简单的示意图:

这在博客园内有类似的情况,博客园有MVP,有排名靠前的著名人物,他们的文章常常会得到大家的追捧,而普通新手的影响力则一时难以与他们相比。这就说明,
博客或者说作者,与互联网的网页有类似之处,是有Rank之分的,当然这个Rank是动态变化的。如果把评论看成是对文章的投票,而这张票的分量与投票者自身的影响力相关,这就可以产生类似PageRank的PersonRank。假设园内某MVP评论某篇文章,一般来讲他的评论应该比普通评论更有分量。当然,这里还应该考虑正面评价和负面评价因素,如果他持推荐意见,应该加分,如果他持反对意见则不应该加分。

马太效应
什么是马太效应?举个热门新闻算法的例子,越是热门新闻大家越是去点,越去点它就越热门,形成一个恶性循环。如果算法不好,热门或许就会永远热门下去。同样的道理,在博客园里面,积分高的作者的文章越是热门,越是热门他的积分就越来越高。那么应该如何避免马太效应,鼓励新人辈出呢?常见的方式有两种,一是衰减机制,比如,一月前的文章产生的积分应该乘上一个衰减系数(比如0.9),从而使近一个月的文章产生的积分所占权重变大,这样就避免成名后坐吃山空的现象,真实地反映出作者近段时间的贡献;二是log函数,对点击数和评论数取log以后再作为积分,让积分的增长变得平滑,避免极端大的分值出现。

一时兴起,随便想了这么多,抛砖引玉,大家见仁见智!再次声明,本文是纯学术探讨,不构成对博客园的任何改动建议。

黄聪:博客园的积分和排名算法探讨,积分是怎么计算的?(转),布布扣,bubuko.com

时间: 2024-12-24 15:19:09

黄聪:博客园的积分和排名算法探讨,积分是怎么计算的?(转)的相关文章

博客园积分与排名升级攻略(转)

博客园积分算法探讨 今天在dudu的<博客园FAQ>上看到了博客积分算法规则.因为同样是搞互联网的,平时工作也涉及到用户积分算法的设计,所以特把此问题拿出来分析探讨.初衷只是纯学术的研究探讨,并不构成对博客园积分机制的意见建议. 我们先来看看现行规则,用公式表示为:-------------------------------------------------------------------BlogScore = BeRead + 10 * BeComment + 50 * Commen

博客园 博客积分与排名 查看设置

博客园 博客积分与排名 查看设置 博客园 博客积分与排名 默认是不显示的. 如果想要显示出来,需要在博客园的“设置”里进行设置. 具体操作步骤如下: 1.在博客园的“设置”中,选择“常用选项”,点击进入. 2.在“选项”中,找到“积分与排名”,勾选,保存即可. 3.刷新博客页面,即可看到自己博客的积分与排名情况,效果如下: 原文地址:https://www.cnblogs.com/miracle-luna/p/11789269.html

UWP 获取博客园积分,并以图标形式呈现变化趋势

先看一下效果吧 1. 分析 说实话,之前还真没在乎过博客园的排名和积分,博客园默认也不给显示.需要自己到选项里面勾选才可以. 之前也有几个大佬写过类似的文章,不过是很早了.博客园关于获取积分的api已经变了. 也不算是api吧,毕竟不是官方公开的.不过自己可以通过查看页面元素,找到博客园的积分url. 在你勾选?了上面的选项之后,打开你的博客主页,比如我的就是https://www.cnblogs.com/hupo376787/ 按F12,调出开发者工具,进入Network选项卡. 如果在下面的

Python爬虫入门教程:博客园首页推荐博客排行的秘密

1. 前言 虽然博客园注册已经有五年多了,但是最近才正式开始在这里写博客.(进了博客园才知道这里面个个都是人才,说话又好听,超喜欢这里...)但是由于写的内容都是软件测试相关,热度一直不是很高.看到首页的推荐博客排行时,心里痒痒的,想想看看这些大佬究竟是写了什么文章这么受欢迎,可以被推荐.所以用Python抓取了这100位推荐博客,简单分析了每个博客的文章分类,阅读排行榜,评论排行榜及推荐排行榜,最后统计汇总并生成词云.正好这也算是一篇非常好的Python爬虫入门教程了. 2. 环境准备 2.1

仅靠“博客园”就能推动net的崛起么?

我感觉里,一个语言社区的推动,大部分靠的都是中下层人来推动的,而不是精英层.当然也不是说精英层不重要,而是如果一个东西只有精英层会用,它只会沦为小众化的产品.举个例子orchard,很牛逼的一个net开源项目,但是因为太复杂,所以只能沦为小众化产品.而小众化的产品,对于不了解的人来说,它就是不够好. 根据二八原则,也只有20%的大公司,剩下80%都是中小型公司.在中小型公司的人数也一定比大公司人数多,每个大公司都有自己详细的部门分类,有专业的大牛,负责搭建那些复杂牛逼的框架,而那些牛逼的,复杂而

十分钟用HTML,CSS让博客园变得高大上

一直很喜欢博客园的主题:coffee,但是看久了,总感觉还是太多不必要的东西,所以就自己整理了下,记录如下: 打开管理,可以看出博客园可以非常方便自由定制html和css滴,真是贴心! 使用工具: Firefox+firebug 1.加一个子标题[对于我这种特别喜欢写注释真是太好啦]: 2.coffee的主题全部统一为一种黄色,看多了就觉得太单调:通过页面定制CSS代码换换换! 因为我只是在coffee上小改,所以 这个还是必须不勾选了. 打开firebug找到标题的背景图地址,然后把它换成你喜

将微博或者qq空间的说说同步至博客园 wcf+js(ajax)跨域请求(1)

前天刚写了篇文章使用Bootstrap为你的博客园自定义轮播图片(今天将图片加载的顺序调整了下,不在访问的时候直接加载,而是页面加载最后在脚本里面动态添加dom元素),虽说技术含量不怎么高,但是大家还算感兴趣.其实对博主来说最关键是博客的积分在涨.所以趁热打铁,再来一篇使用wcf+js ajax跨域请求数据同步空间说说的帖子. 因为是请求qq说说的数据,所以要登陆我的qq,这个很麻烦,总不能让每个访客都登陆的qq,然后把数据取出来吧,而且qq也没有相关的接口提供,登陆的时候还要处理验证码.所以这

python数据挖掘领域工具包 - wentingtu - 博客园

python数据挖掘领域工具包 - wentingtu - 博客园 python数据挖掘领域工具包 原文:http://qxde01.blog.163.com/blog/static/67335744201368101922991/ Python在科学计算领域,有两个重要的扩展模块:Numpy和Scipy.其中Numpy是一个用python实现的科学计算包.包括: 一个强大的N维数组对象Array: 比较成熟的(广播)函数库: 用于整合C/C++和Fortran代码的工具包: 实用的线性代数.傅

在Web微信应用中使用博客园RSS以及Quartz.NET实现博客文章内容的定期推送功能

本篇随笔介绍在Web微信应用中使用博客园RSS以及Quartz.NET实现博客文章内容的定期推送功能,首先对Quartz.NET进行一个简单的介绍和代码分析,掌握对作业调度的处理,然后对博客园RSS内容的处理如何获取,并结合微信消息的群发接口进行内容的发送,从而构建了一个在Web应用中利用作业调度来进行消息发送的业务模型. Quartz.NET是一个开源的作业调度框架,非常适合在平时的工作中,定时轮询数据库同步,定时邮件通知,定时处理数据等. Quartz.NET允许开发人员根据时间间隔(或天)