大家谁能想出个算法来公正的排名出一个文章提交网站的作者排名。

2012-08-19 16:23:56 +08:00
 zzlettle
我想制作一个内容共享,提交的网站。
类似reddit这样的,我在上面设置了让每个人选择like 和dislike的按钮。
这样在一个规定的周期内,比如一个星期内,提交文章质量最高的作者排名。
我找到些文章介绍文章排名的算法,比如reddit文章排名的公式我也看过介绍。http://www.ruanyifeng.com/blog/2012/03/ranking_algorithm_reddit.html
但对于提交内容的作者我也要找个好的算法来排名他们的贡献。大家有什么好的想法。因为我打算根绝作者的排名来奖励他们,这样才能鼓励更多的人来提交他们找到的内容发表在我网站上面。但要找个比较公平的算法。然后一个周期过后,我把奖品发给排名前3的作者后,然后大家重新再来。

不知道大家有没有这方面的研究。
3700 次点击
所在节点    设计
37 条回复
qiayue
2012-08-19 16:48:04 +08:00
发给前三的文章的作者不就行了
binux
2012-08-19 16:58:44 +08:00
你把上面那个算法的对象换成作者不就完了
zzlettle
2012-08-19 18:57:14 +08:00
@qiayue
@binux 感觉那个只是让文章排在最前面,所以加入了时间的因素。
但作者的话,应该纯粹根据他的文章质量,大家喜好的程度来评判,所以不能把时间因素加入就进去。
大家有没有一个公平,公开的算法,来体现作者的排名。
zzlettle
2012-08-19 19:00:54 +08:00
如果大家没有什么好的想法,有谁知道国外有什么论坛,就是这样大家讨论数学算法的地方,看看别人有是好的算法。
我可以根据需要,把like dislike变成5星的评分机制也可以。
binux
2012-08-19 19:52:04 +08:00
@zzlettle 那样就热门的作者就总是热门了,既然有周期,那么时间肯定需要考虑
zzlettle
2012-08-19 21:56:56 +08:00
好吧,我再说的详细点。
打个比方,我需要每个星期根据作者的贡献对排名第一的人发1000块钱。
贡献当然是他的文章,大家喜欢。根据大家对他的投票,计算出来。但不能简单的只是票数的总和,因为我总觉得要考虑各方面的因素。
比如有的人只写了一篇文章,但这篇文章质量非常高。他因为这篇文章得票100.
但有的人其实就是到处share的东西,一个星期内到处找那种流行的东西,搞笑的图片什么的,一共找了100篇文章,就算每个只的一票,他也一共有100票,但显然不公平。
所以我希望能找出个比较公平的算法,考虑到单个文章的质量,也兼顾那种到处找人们喜欢的东西分享到我的网站,贡献了大量内容的人。

每个星期一次结算,得分最高的人才能给1000块钱。
zzlettle
2012-08-19 22:02:08 +08:00
算法其实很重要的,对于搜索引擎们来说那个命根,其实对于一个文章发布的网站,找准个文章还有发布者的排名的算法也很重要。如果有人能够设计个合理的算法,我愿意出钱来酬谢。
cheshirecat
2012-08-19 22:06:19 +08:00
真正要做得好,需要类似 PageRank,或者根据投票的人自身从前的得票情况决定他的投票力。

但是除非真的做到很复杂,否则都会有漏洞可以钻。最好还是加入人工管理员的因素。
zzlettle
2012-08-19 22:09:31 +08:00
人工当然也要管理,但最好有个公式,这样我人工干预的也会少。
zzlettle
2012-08-19 22:14:40 +08:00
投票的人我无法控制,因为投票的人是大量的网站注册用户,我只能保证每个人只能一篇文章投一次票
cheshirecat
2012-08-19 22:22:25 +08:00
最简单这样呗:投票的威力再按照投票者本身从前的得票数加权。

用户A:从前得过1000票。
用户B:从前得过10票。
用户C:从前得过50票。

文章1:用户A赞。实际得票:log(1000) = 3。
文章2:用户B和C赞。实际得票:log(10) + log(50) = 2.69897。
zzlettle
2012-08-19 22:44:46 +08:00
@cheshirecat 投票者本身从前的得票数加权 这个怎么来的
zzlettle
2012-08-19 22:50:23 +08:00
@cheshirecat 对投票者本身的权重这个要考虑,然后其实我还考虑了,网站发展的规模的因数。
比如开始可能网站只有100个人,和后期有1万人的规模时候,这个排名也会有不同。

比如同样一篇高质量的文章,规模小的时候,全部人都投票也只会有100票,但这么高比率的赞成票,说明了质量很高,但如果有人大量转载流行搞笑的东西,没篇文章得几票,他大量的发这样的文章,总数加起来也能有很多票。
cheshirecat
2012-08-19 22:52:35 +08:00
@zzlettle 没错。所以最终只能变成类似 PageRank 的问题。然后变成算法和各种邪恶用户的长期斗争。
013231
2012-08-19 22:52:50 +08:00
@zzlettle 作者得分 = 該作者的文章1票數**2 + 文章2票數**2 + 文章3票數**2 ...
**2是指平方.
zzlettle
2012-08-19 22:57:12 +08:00
@013231 这么设计是什么意思了
zzlettle
2012-08-19 22:59:47 +08:00
@013231 个人感觉,要考虑投票人本身的权重,达人的投票权重跟一个的过路的投票权重要有区分,然后要考虑到单个文章的质量,不能光靠量来取胜。
zzlettle
2012-08-19 23:02:10 +08:00
大家帮忙想想,还要考虑些什么因素,来判别作者的排名。
ryon
2012-08-19 23:17:14 +08:00
除了公平和公正,你还得考虑服务器计算能力。这类的计算会涉及太多的查询导致页面加载的体验糟糕。anwsion目前按照stackoverflow的计算方式计算热门问题,发现还是需要实时计算,没有独立的服务器,在数据量大的时候往往会让访问用户崩溃。
zzlettle
2012-08-19 23:50:45 +08:00
@ryon 如果真的是这样的话,要么改进服务器,要么显示排名的时候,单独一个页面,出结果的页面慢点应该能介绍,内容文章页面的现实速度要快。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/45529

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX