【问题标题】:Algorithm for scoring user activity对用户活动进行评分的算法
【发布时间】:2011-02-17 00:32:57
【问题描述】:

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

  1. 撰写有关产品的评论
  2. 将 cmets 添加到产品中
  3. 赞成/反对投票评论
  4. 上/下投票 cmets

每个赞成/反对票都记录在数据库表中。

我现在要做的是创建过去 4 周内最活跃用户的排名。 当然,好的评论应该比好的 cmets 更重要。但也例如10 个优秀的 cmets 的权重应该超过一篇好评。

例子:

// 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,以便评论权重更重?例如,如果添加图片投票,这样的功能会是什么样子?

【问题讨论】:

    标签: algorithm function social-networking scoring


    【解决方案1】:

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

    【讨论】:

    • 我有来自satnam和oreilly的书。但是,他们主要与创建相似性功能并进一步处理分类和聚类。我想做smth不同:计算得分。这是一个不同的问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-22
    • 2016-06-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多