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

博客园积分算法探讨

今天在dudu的《博客园FAQ》上看到了博客积分算法规则。因为同样是搞互联网的,平时工作也涉及到用户积分算法的设计,所以特把此问题拿出来分析探讨。初衷只是纯学术的研究探讨,并不构成对博客园积分机制的意见建议。

我们先来看看现行规则,用公式表示为:
-------------------------------------------------------------------
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以后再作为积分,让积分的增长变得平滑,避免极端大的分值出现。

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

时间: 2024-11-07 11:33:56

博客园积分与排名升级攻略(转)的相关文章

PageRank实践-博客园用户PageRank排名

博客园用户由关注和粉丝的关系,这与网页的链接关系很类似,于是我就爬了博客园的粉丝与关注用户,然后计算了一下用户的PageRank排名,注意本排名仅仅是个人娱乐,不代表任何利益,而且可能计算有误,望大家不要较真. 关于PageRank的原理和计算方法参看上一篇文章,这篇文章主要介绍一下博客园用户PageRank的结果. 目前博客园用户超过了17万,我以自己为启点,不断的爬取用户的粉丝和关注,最终爬到的用户是132483,还剩4万多的用户没有爬取到,我分析这部分用户是既没有粉丝也不关注其他用户的孤岛

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

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

WordPress博客系统搜索引擎优化seo全攻略方法

WordPress的文章.评论等很多数据都是存放在数据库的,所以搭建wordpress网站的时间,网站的空间不需要多大,而数据库一定要充足,而在WordPress数据库中主要使用 wp_posts 表来存储日志,页面,附件,导航菜单等数据,根据使用的时间越来越长,堆积的数据越来越多,从而运行起来也越来越慢,那么我是十分有必要对 WordPress数据库来进行整体的优化下. 温馨提醒优化之前切记先备份下数据 删除所有日志修订 影响wordpress运行速度的根源在于日志的修订记录,一百多篇文章会有

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

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

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

我们先来看看现行规则,用公式表示为:-------------------------------------------------------------------BlogScore = BeRead + 10 * BeComment + 50 * CommentBlogScore:博客积分BeRead:个人博客所有随笔和文章的阅读数之和BeComment:个人博客被评论总数Comment: 个人所发表的评论总数---------------------------------------

PageRank 计算博客园用户排名

PageRank 通过网页与网页之间的链接关系计算各网页权重,一般权重高的网页特点是:链接向它的网页数量多.链向它的网页其权重也较高.PageRank 就是通过这样的连接关系,一轮轮迭代计算后得出各网页的权重. 思路拓展一下,其实人与人之间也是连接着的,在社会的人际关系网中,每个人的社会地位和身价也是不同的.以微博为例,我们都有关注者和粉丝(类似网页之间的链接),可以发现所谓的“大V”基本上粉丝数量多,并且粉丝里不乏很多其他“大V”,所以这个帐号的价值就大. 同样博客园也具有类似的社交关系,用户

博客园自定义页面风格设计 后续篇(页面设计模式及代码高亮 鼠标点击效果升级)

前言 在之前所写过的博客园自定义页面风格设计篇中,我们已经说明了其中两种风格的页面设计,鼠标图案的修改,公告栏的设置,背景音乐的制作,关于CSS以及用Canvas和requestAnimFrame做动画特效,在本文中我们将教大家制作当前简约的页面制作方法. 只要你们有需求,我会尽量帮助到大家,在此感谢各位广大粉丝的支持和理解,我会尽量做到最好,希望小主们不要吝啬你们的支持和推荐,动动小手顶一顶,非常感谢大家长久的陪伴~~ 全部过程都是在“管理->设置”中完成的,博客皮肤推荐使用Simple Me

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

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

Web Worker——js的多线程,实现统计博客园总阅读量

前言 众所周知,js是单线程的,从上往下,从左往右依次执行,当我们有耗时的任务需要处理时,便会阻塞线程造成页面卡顿等问题.web worker的目的,就是为JavaScript创造多线程环境,允许主线程将一些任务分配给子线程.在主线程运行的同时,子线程在后台运行,两者互不干扰.等到子线程完成计算任务,再把结果返回给主线程.因此,每一个子线程就好像一个“工人”(worker),默默地完成自己的工作.更多worker的介绍请戳:JavaScript标准参考教程 本文通过web worker 统计博客