我有一个用户可以使用的应用程序:
每个向上/向下投票都记录在数据库表中。
我现在要做的是创建过去4周内最活跃用户的排名。 当然,好的评论应该比好的评论更重要。但也是例如10个好的评论应该加权而不仅仅是一个好的评论。
示例:
// reviews created in recent 4 weeks
//format: [ upVoteCount, downVoteCount ]
var reviews = [ [120,23], [32,12], [12,0], [23,45] ];
// comments created in recent 4 weeks
// format: [ upVoteCount, downVoteCount ]
var comments = [ [1,2], [322,1], [0,0], [0,45] ];
// create weight vector
// format: [ reviewWeight, commentsWeight ]
var weight = [0.60, 0.40];
// signature: activties..., activityWeight
var userActivityScore = score(reviews, comments, weight);
... update user table ...
List<Users> users = "from users u order by u.userActivityScore desc";
公平评分功能如何?
score()
函数的实现怎么样?如何在函数中添加权重g
,以便评论加权更重?例如,如果要添加对图片的投票,这样的函数会是什么样子?
答案 0 :(得分:1)
这些算法可能非常复杂。您可能想看看这些书: