我正在设计一个网站,并希望建立一个像StackOverflow内置的良好信誉系统。
当我开始设计我的声誉系统时,我意识到SO Q / A模型并不适合我的应用程序(因为我的不是Q / A),也许我应该先做一些研究。
所以我的问题是;在设计社区代表系统时我应该考虑什么?
答案 0 :(得分:5)
首先需要确定你的系统是否应该更加民主(ala SO - one voce one vote)或更专家驱动(一些猪......错误的选民比其他人更平等)。
后者的一个例子是根据以下两种方式给选民更多的权重:
他们的声誉,或
他们的“准确性” - 例如他们与其他选民的投票方式类似。这个是非常棘手的,并且可能要求在有人投票之前不要显示完整的投票结果。
确定哪些功能对您最重要。防止滥用?避免某些类型的偏见?
区分事物的重要功能是:
“盲目投票”投票(在投票或陈述“我不会投票”之前,你不会看到帖子的排名。)这避免了与牧群投票的压力。
匿名投票。在投票或拒绝投票之前,您无法看到该项目的作者。由于缺乏一个更好的术语(或者对Joe的Turtle问题赞成无数次),预防了“Jon Skeet”的偏见。
匿名与唱名表决投票。显而易见的是前者 - 它可以防止报复。 OTOH,唱名(例如,确定谁投票)促进更负责任的投票,并在一定程度上限制某些滥用。
投票限制(每位选民投票数,每位投票人数,每位选民投票数等等)
收回/更改投票的能力
能够对属性进行投票而不是整体投票(考虑技术得分与花样滑冰或体操的艺术得分)
能够根据用户的决定或上下文提供可配置的投票金额。
作为后者的一个例子,最近在StackOverflow上为CW的A / + 0考虑+ / Q / + 10。
排名的粒度。例如。 SO的确切点系统与“/。” 1-5 Karma与其他东西相比。
投票分享。例如。如果你编辑帖子足够重要,它会产生额外的代表,你就永远不会得到代表。并且你不能与那些通过评论为答案提供好主意的人分享获得的回答。
答案 1 :(得分:4)
雅虎设计模式的Reputation Patterns类别中有很多想法,概述:
答案 2 :(得分:1)
以下是我的想法: