首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >排名/信誉算法

问排名/信誉算法
EN

Stack Overflow用户
提问于 2011-12-02 02:18:00
回答 2查看 2.6K关注 0票数 5

我正在编写一个电子商务引擎,有一个声誉的组成部分。我希望用户能够审查和评级的项目,并能够评级的审查。

根据“最佳”评论对条目进行排序的最佳算法是什么?它必须根据给出最好评论的人所获得的质量评论的数量进行排名。我不确定如何将其转换为算法。

例如,我需要能够比较一个来自许多低声誉的人的5星的项目与另一个来自一些高声誉的人的3星的项目。

更复杂的是,一些用户可能写了许多评论,其他人的评分很高/很低,而其他用户可能写了很少的评论,但其他用户的评分非常高。在这种情况下,哪个用户的声誉更好?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-12-02 02:34:23

如果您知道用户的声誉,那么可以为每个用户使用一个UserScore,比如the one that Stackexchange uses。

代码语言:javascript
复制
UserScore = Reputation >= 200 ? 0.233 * ln(Reputation-101) - 0.75 : 0 + 1.5

然后,通过将用户得分与星号作为权重进行求和,得出项目的值:

代码语言:javascript
复制
ItemScore = \sum_i UserScore_i * Weight[Star_i]

其中i是投票的索引,Weight是涉及明星权重的数组。例如,对于5星的投票系统,它可以是[-2 -1 0 1 2]。需要注意的一点是,如果您希望仅有3颗星的条目位于未评估的条目之前,则可以将3颗星的权重更改为+eps。

您可以根据需要更改200和所有其他常量/权重。

票数 12
EN

Stack Overflow用户

发布于 2011-12-02 02:27:02

我会试着回答你的问题:

我认为诀窍是衡量不同声誉的人,例如:

一个名誉度为2的人的票数是另一个名誉度为1的人的票数的3倍。不同名誉度的人之间的关系真的取决于你,以及你有多想让总体评分依赖于名誉度较低的人的评分。与低声誉的人的投票相比,高声誉的人的投票权重越高,由于低声誉的投票,整体声誉的变化就越小。

所以每个人都有一个权重,比如说w_i,w_j等等。然后,综合评分将是所有评分的加权平均值:

两个不同人的总评分示例i和j= (w_i*r_i)+(w_j*r_j)/(w_i + w_j)

其中r_i、r_j分别是人物i和人物j的评分。

为了得到每个人的权重值,例如,你可以取这个人的星数。

一个好的资源应该是下面的页面:http://en.wikipedia.org/wiki/Weighted_mean

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8346249

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档