基于 Bangumi.tv 220 万用户评分的动画推荐工具

2017-06-15 21:40:18 +08:00
 Icemic

这是一个基于 Bangumi.tv 220 万用户评分的动画推荐工具,算是自己在推荐系统方面的入门尝试

如题,能根据你选择的某个动画,推荐与其相似的其他动画。
相似是指「喜欢该动画的人大多也会喜欢」
比如找合适自己的老番来看之类的~

最早是今年年初在 Coursera 学吴恩达的机器学习课程时练手用的,后来发现还挺准确的。
于是花了一些时间把 Matlab 程序改成了 Python 实现,这两周继续做了网站供人查询。

地址:https://search.bakery.moe/ (注:使用前请先阅读「关于」)

网站源码: https://github.com/Icemic/search.bakery.moe (欢迎 pr )

5744 次点击
所在节点    分享创造
74 条回复
sinker
2017-06-15 23:47:52 +08:00
@AstroProfundis 这不科学
grzhan
2017-06-15 23:49:34 +08:00
看到回复说用的算法说是“协同过滤”
如此的话,相似的作品是指 [受众类似的作品] ,而非 [风格类似的作品] ?
这样来看算法还是有一定效果的。
AstroProfundis
2017-06-15 23:51:05 +08:00
@sinker (bgm38)

不过随便点了几下似乎效果还看得过去
Icemic
2017-06-16 00:50:07 +08:00
@cqcn1991

协同过滤分为基于物品和基于用户两种,但这个哪个都不属于……硬要说的话大概是基于物品更多一点

而且我并没有真的想以推荐系统为目标,我就是要一个给我推荐我会感兴趣的东西。这个东西就是因为 X 对 A 评分高,对 B 评分也高,那么我对 A 评分高,则对 B 也可能评分高,这样一个单纯的逻辑。在物品足够多的时候,足以体现一个人的喜好特征,反过来物品也是一样。

除此之外,也并没有更多的数据能够实现你说的更复杂的系统……

土木没问题…就是那个意思。

@grzhan

说明大家的兴趣可能并不想我们想的那样。我举几个例子:

1. 黄金拼图。萝莉番,相似推荐包括点兔在内,基本都是萝莉番…这个经过我某个点兔难民朋友验证了
2. 系列性质的:空之境界、柯南剧场版、大雄剧场版。空之境界极为密集,后两个只有年代相近的才会推荐,这是人群特征决定的。(慢慢的都会脱宅……)
3. 一个特别的例子:fate 系列,fsn 两部 tv 和一部剧场版特别接近,但 fz 却离他们很远………还记得当初 fz 出来的时候两极分化的评价吗?这也是人群的问题
4. 自新世界,绝园的暴风雨,psycho pass,三个知名的反乌托邦,互相直接有微弱的联系,但排名不是很靠前
5. 嗯……里番…………反正你搜索一个试试就知道了
6. 缘之空,日在校园,公主恋人,euphoria ……嗯……老司机经常和在一起骗萌新的几个
7. 凉宫春日系列。作为时代的眼泪,推荐的只有那个年代的著名日常 /恋爱番,和新人已经不看凉宫的悲伤事实吻合………
8. 星际牛仔。bgm 排名第一,相似推荐和 bgm 榜单几乎一样……大概是马太效应……
9. 天空之城。全部宫崎骏或吉卜力工作室


也有我比较疑惑的:
new game,几乎和点兔是一类的……难道是社畜多萝莉控?

你会发现我举的都是最近的热门动画或经典动画,因为这些数据量足。而不足的那些,则有很强的当时年代的烙印,很多人觉得「不准」就来自于此。

另一方面,推荐不能只看排名,封面上还有一个相似度呢……基本上低于 80%就可以认为缺少联系,高于 90%一般比较靠谱。有的推荐就算是排名第一的那个,也只有 80+%的相似度,说明这个动画本身就是比较独一无二的,没有与其特别近似的。也就无法强求相似的推荐了。

大概就是这些,大家可以补充,其实我觉得思考这里面的联系还是蛮有意思的。


@grzhan

对的,是受众类似。
ks3825
2017-06-16 01:22:51 +08:00
最近在看 KILL la KILL,是一部燃到掉渣的作品,就搜了一下

本来以为必定会出现天元突破的,结果力荐马男波杰克两季和降世神通两季…而且大多相似度都在 90%以上…我的内心是崩溃的

双斩少女有那么像美漫么。推荐了鲁邦三世,还是说我已经老了…………
kslr
2017-06-16 01:28:29 +08:00
Ublock 默认把 body 给全屏蔽了。。。
kslr
2017-06-16 01:30:46 +08:00
楼主你的依赖这么多,是怎么做到 index.js 这么小的?
Yinz
2017-06-16 01:38:29 +08:00
试了一下,感觉还是很不错的。
另外可能是因为协同过滤的原因,如果搜的是非常热门的番,推荐出来的也是另外一些非常热门的番(小圆->物语系列)。有种不知道怎么说的感觉,虽然确实热门番喜欢的可能性更大,但是这两个番相似度不高的话,可能并不适合拿来作为推荐?这样看来是不是基于内容的推荐会更适合『番剧推荐』这样的应用场景呢?

最近正好也在寻找一些能够练手的推荐系统项目,不知能不能拿到楼主的数据,就不用我自己爬了 :D
grzhan
2017-06-16 03:15:30 +08:00
@Icemic 嗯嗯,挺好的,加油
zhucelws
2017-06-16 08:27:09 +08:00
Rice
2017-06-16 08:31:56 +08:00
发现推荐的结果好像都是和这个番相近时期的动画。
老番会推荐老番,新番就推荐新番。
斩服少女的推荐里没天元突破,估计是天元突破太老了,而且看的已经不是同一批人了?
Explorare
2017-06-16 08:39:29 +08:00
建议加强对里番内容的训练,能分辨各种种族、PLAY 和流派(比如时间静止、恶堕等),谢谢。
levywang
2017-06-16 09:03:00 +08:00
搜希德尼娅的骑士,推荐的全是有骑士的番,你这是关键字推送吧🙄
Rice
2017-06-16 09:09:44 +08:00
@levywang #33 你把搜索当推荐了
momocraft
2017-06-16 09:34:12 +08:00
可以发去茶话会 (bgm38)
fireattack
2017-06-16 09:39:07 +08:00
应该去 bgm 发一份吧
Tunar
2017-06-16 09:41:01 +08:00
交响诗篇=交响情人梦。。。?
Tunar
2017-06-16 09:43:23 +08:00
看差了,sorry
fireattack
2017-06-16 09:45:50 +08:00
为啥只有“准确”的反馈没有“不准确”?
Icemic
2017-06-16 10:07:53 +08:00
@kslr

主要都是后端的依赖,另外前端还有个 vendor.js 呢

@fireattack

因为只有一个正向的反馈就够了
等下去 bgm 发

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/368723

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX