reddit评论算法

it2024-07-04  46

reddit评论算法

网站的评论排名主要有两种:绝对好评数(好评减去差评),和好评率(好评/总评)

缺陷:

A:好评550;差评450 B:好评60;差评40 C:好评1;差评0 D:好评9;差评1 绝对好评数比较:A(100) > B(20) 好评率比较:A(55%) < B(60%)

改进:

1、用户投票是独立的 2、每个用户有两个选择:好评,差评 3、投票人数是n,好评是k,好评率k/n 这样好评率的高度来排名,但是如果数据样本少的话,就会不准确; 所以好评率要服从置信区间; 好评率75%~85%,那么置信区间[75%,85%] 置信区间的宽窄和数量有关, <?php /** * @param $ups int 好评数 * @param $downs int 差评数 * @return $data */ function reddit($ups,$downs) { $n = $ups + $downs; if ($n == 0) { return 0; } $z = 1.96; $p = floatval($ups) / $n; return ($p+$z*$z/(2*$n)-$z*sqrt(($p*(1-$p)+$z*$z/(4*$n))/$n))/(1+$z*$z/$n); } echo reddit(550,450); echo "\n"; echo reddit(500,200); echo "\n"; echo reddit(9,1);
最新回复(0)