#1 - 2021-3-21 23:14
𝒮𝒽𝓊𝓊𝒾𝒸𝒽𝒾
灵感来源是去年同期看过的这个帖子 【新年快乐】某科学的 Bangumi 动画排名

当时爬了不少数据,爬取的内容包括条目id,用户id,观看状态,评分,评分时间。最近想起这件事把没码完的代码又拿了出来。(截止日期在2020-3-20左右)

相对于原贴的算法,主要改进的点是使用了置信区间的下届作为参考评分,这样就能把评分人数这个因素考虑进来。原理可以参考一下这个博客 基于用户投票的排名算法(五):威尔逊区间。这里用的不是威尔逊区间,是另外一个博客中Ranking Items With Star Ratings给的公式。简单来说,经过这种调整后,评分人数少的条目会吃比较大的亏,冷门番不再占优势了

考虑用户权重的算法写好了,但是权重怎么给暂时还没想好,暂时是全部置1。最基础的想法是使用攻防评分,即考虑每个用户对每个条目的评分与相应条目均分的差值,差值较大的用户权重减少,迭代多次直到收敛。高级一点的可以考虑用户的行为模式,比如根据打分的时间轴判断是不是一击脱离的小号、路人。但是这部分就不是我能涉足的领域了(bgm38)

下面是计算结果的前40名。基础算法为马尔可夫法,用于计算的数据其选择条件如下:
1、只取“看过”状态的评分;
2、只取评分人数大于50的条目;
3、评分数大于10的用户的评分才是有效的

箭头标志的排名变动,其比较对象是使用上述数据暴力取平均

01     —      星际牛仔
02     ↑5      新世纪福音战士
03     ↑1      CLANNAD ~AFTER STORY~
04     ↑6      钢之炼金术师 FULLMETAL ALCHEMIST
05     ↑6      白箱
06     ↓3      攻壳机动队 STAND ALONE COMPLEX
07     ↓5      攻壳机动队 S.A.C. 2nd GIG
08     ↑18    命运石之门
09     ↓1      新世纪福音战士剧场版 Air/真心为你
10     ↑3      虫师
11     ↑11    天元突破 红莲螺岩
12     ↑22    千与千寻
13     ↑12    凉宫春日的消失
14     ↓8      攻壳机动队
15     ↓1      灌篮高手
16     ↑8      福音战士新剧场版:破
17     ↑42    魔法少女小圆
18     ↓3      猫和老鼠
19     ↑34    死亡笔记
20     ↑11    千年女优
21     ↓2      蓝色恐惧
22     ↓10    浪客剑心 追忆篇
23     ↓7      银魂
24     ↑23    天空之城
25     ↑37    CLANNAD
26     ↑64    Code Geass 反叛的鲁路修
27     ↓10    攻壳机动队2 无罪
28     ↑77    化物语
29     ↑23    日常
30     ↑11    四叠半神话大系
31     ↑78    冰菓
32     ↑39    剧场版 空之境界 第五章 矛盾螺旋
33     ↑37    幽灵公主
34     ↑15    乒乓
35     ↑40    钢之炼金术师
36     ↑61    永生之酒
37     ↓4      混沌武士
38     ↑18    红辣椒
39     ↑65    JOJO的奇妙冒险
40     ↑54    数码宝贝


过段时间会开源,评分数据库也会给出(用户id会加盐哈希)。可能一个季度后吧,摸鱼完了接下来一阵子要开始忙了(bgm38)

最后提一下,cupy的矩阵计算效率真的比numpy高太多了(bgm25)
#2 - 2021-3-22 02:34
(休息一下,吃點炸雞漢堡吧)
既然冷門動畫沒有優勢,那評分人數超過300才開始考慮比較公平
#3 - 2021-3-22 03:04
(V1046-R MAHORO)
推荐搞个上升最多和下降最多的名单
#3-1 - 2021-3-22 13:54
红炉点雪
对普通观众没有参考意义,只能用来观察评分机制的趋向性
#4 - 2021-3-22 10:38
看到威尔逊区间就想起被SAS折磨的日子(bgm118)
#5 - 2021-4-3 19:57
这个好(bgm70)