用于评分用户活动的算法

时间:2010-05-07 21:41:32

标签: algorithm function social-networking scoring

我有一个用户可以使用的应用程序:

  1. 撰写有关产品的评论
  2. 向产品添加评论
  3. 上/下投票评论
  4. 上/下投票评论
  5. 每个向上/向下投票都记录在数据库表中。

    我现在要做的是创建过去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,以便评论加权更重?例如,如果要添加对图片的投票,这样的函数会是什么样子?

1 个答案:

答案 0 :(得分:1)

这些算法可能非常复杂。您可能想看看这些书: