饭米粒照片网评分设计 2012-03-28

最近饭米粒(内网)可以查看所有staff 的照片了……那么就像扎克伯格当初在哈佛做过的一样,我们邪恶地想建立一个类似HOTorNOT的照片评分网站,先在这里备份下想到的一些评分设计细节吧,首先是基本功能的伪代码:

0. 设置所有照片的初始评分为100,以下P照片的评分记作S(P)
Repeat{
1. 从给定的照片集合中随机抽取两张照片A和B显示,初始化比较次数i=0
2. 记录当前用户对A和B比较的结果,总共3种情况及采取的操作如下
    a) A>B 以概率S(A)/(S(A)+S(B)) 将B的评分抽取0.1/(1+exp(i/10))加到A的评分上
    b) A=B 将A和B的评分都变为原来的1+0.01/exp(i/10)倍
    c) A<B 以概率S(B)/(S(A)+S(B)) 将A的评分抽取0.1/(1+exp(i/10))加到B的评分上
3.按以上比较结果更新A和B的评分,当前用户的比较次数i自增1
}

设计细节考虑基于以下:

  1. 打败别人的照片,以一定概率(反作弊,发生改变的可能性由与大众审美的差距决定,差距越大则发生改变的概率越小)降低别人分数来增高自己分数;
  2. 打败分数越高的照片,则获取分数越多,反之亦然;这个原因很容易解释,还可以让新加入的照片快速达到其均衡状态;
  3. 打平代表两人不相上下,则至少有一个不差,互相都获得一定的分数奖励,相当于参加被评分的福利,制造通货膨胀的效果;
  4. 打分次数i越多的用户,其越靠后的打分对全局的影响越低。同样是反作弊考虑,避免个别网站极端爱好者用户大量打分,其奇葩审美观对全局排序有太大影响。

记录一些扩展功能如下:

  1. 登录时加token密码(不想太多人看到);
  2. 可以上传照片到给定的照片集合(相当于Am I hot or not);
  3. TopN展示及其评分(BottomN就算了,太伤自尊);
  4. 对上传照片的用户可记录其所上传照片的ID,以查看自己的评分(满足用户的好奇心就是未来能够UGC的动力)。

update 我用python实现了一版,目前评分虽然不多但效果显著……如果你认识我又能连厂内网络可以管我要地址……



Powered by Jekyll on GitHub | ©2016 Meroa | Last modified: 2018-02-03