基于 Bangumi.tv 220 万用户评分的动画推荐工具 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
Icemic
V2EX    分享创造

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

  •  
  •   Icemic
    Icemic 2017-06-15 21:40:18 +08:00 6527 次点击
    这是一个创建于 3088 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

    • 支持移动端,包括 Chrome 和 Safari 的「添加到主屏幕」,但不支持离线使用
    • 使用了一些新的浏览器特性,部分较旧浏览器可能会有兼容问题。

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

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

    第 1 条附言    2017-06-15 22:54:05 +08:00
    注意看使用方法,搜索只是搜索,点进去才是推荐…

    各位觉得说不准的说下搜索的是哪个动画,觉得准也在下面留个言。
    特别冷门或久远的就放弃吧,样本数不够肯定不准确的,而且那时候评分人的口味也和现在人不太一样

    推荐这个东西,本来就是全体概率性的,个体不准确很正常……
    我抓朋友测的都说还不错…没骗人 我自己都觉得不准肯定不会发出来的……
    74 条回复    2017-06-22 20:39:27 +08:00
    rabbbit
        1
    rabbbit  
       2017-06-15 21:45:02 +08:00
    https://search.bakery.moe/search/青兰圆舞曲
    搜青兰圆舞曲,这给我推荐的啥玩意?
    Icemic
        2
    Icemic  
    OP
       2017-06-15 21:46:34 +08:00
    @rabbbit 只有在 Bangumi.tv 上有 rank 的才能搜到,青蓝圆舞曲 http://bgm.tv/subject_search/%E9%9D%92%E5%85%B0%E5%9C%86%E8%88%9E%E6%9B%B2?cat=2 不在榜单上,数据量过小,加入了也不会准确的……
    Icemic
        3
    Icemic  
    OP
       2017-06-15 21:54:32 +08:00
    @rabbbit 而且您是不是没有看说明,搜索出来的也不是推荐内容啊。

    首先要通过关键字搜索找到你要找的那个动画,点击链接进入这个动画的页面,才会显示根据该动画给出的相似推荐~
    syahd
        4
    syahd  
       2017-06-15 21:55:15 +08:00 via Android
    你这个是按关键字推荐的吧,哪里按照兴趣了,我搜我的英雄学院,出来的都是英雄和学院相关的。
    Icemic
        5
    Icemic  
    OP
       2017-06-15 21:57:32 +08:00
    @whwq2012 看楼上……
    rabbbit
        6
    rabbbit  
       2017-06-15 22:04:35 +08:00
    这样啊,点进去之后没看见右上角的'关于'按钮,以为搜索作品名会直接显示推荐.
    syahd
        7
    syahd  
       2017-06-15 22:11:45 +08:00 via Android
    @Icemic 我点进去看了,但这个推荐还是有点坑,我搜的是热血,出来的是恋爱的动漫。。
    TriiHsia
        8
    TriiHsia  
       2017-06-15 22:13:09 +08:00 via iPhone
    先不说操作逻辑,我感觉推荐给我的番剧,基于对原番剧的口味,并不是太感兴趣。没有看代码,所以不知道你是基于什么算法开展训练的。
    htfy96
        9
    htfy96  
       2017-06-15 22:36:36 +08:00
    楼主有数据吗?刚好最近想做点类似的东西
    Icemic
        10
    Icemic  
    OP
       2017-06-15 22:49:01 +08:00 via Android
    @whwq2012 注意相似的定义,不管怎么样,给你搜索的那个动画高评分的人,确实也给推荐内容高评分了………要么就是你搜索的是很冷的番……

    话说各位说不准的说下搜索的是哪个动画啊,以及,推荐这个东西,本来就是全体概率性的,个体不准确很正常……我抓朋友测的都说还不错……
    Icemic
        11
    Icemic  
    OP
       2017-06-15 22:49:18 +08:00 via Android
    @TriiHsia 协同过滤
    Icemic
        12
    Icemic  
    OP
       2017-06-15 22:50:58 +08:00 via Android
    @TriiHsia
    @whwq2012

    话说你俩的期望正好相反……一个是希望推荐的内容与原内容相近,一个说相近不感兴趣
    TriiHsia
        13
    TriiHsia  
       2017-06-15 22:53:29 +08:00 via iPhone
    @Icemic 正因为不相近于原内容所以不感兴趣...
    Icemic
        14
    Icemic  
    OP
       2017-06-15 22:55:04 +08:00 via Android
    @TriiHsia 搜索的哪个动画?
    cqcn1991
        15
    cqcn1991  
       2017-06-15 22:55:06 +08:00
    @Icemic 我最近也在看推荐系统
    所以你只是用的协同过滤?相关的算法 /包是啥?能看看不?
    Icemic
        16
    Icemic  
    OP
       2017-06-15 22:57:28 +08:00 via Android
    @cqcn1991 基本上和吴恩达课上讲的一样,有低秩矩阵分解做 PCA 拿到的特征
    cqcn1991
        17
    cqcn1991  
       2017-06-15 23:00:08 +08:00
    @Icemic 看你 Github 介绍...难道是我土木出身? 然后你 blog https 挂了貌似
    cqcn1991
        18
    cqcn1991  
       2017-06-15 23:02:17 +08:00
    @Icemic 然后,按照我这几天看的推荐系统。。。。
    基本的协同过滤,我感觉称为“相关物品”更佳,因为“推荐”不止是相似的东西。但是经典的协同貌似只能做到这个程度。
    典型的应用场景就是 Amazon 的相关商品

    我们对推荐系统,其实很看重 serendipity,完全是另外一个 measure 了
    grzhan
        19
    grzhan  
       2017-06-15 23:42:09 +08:00
    感觉挺不错的。

    不准的话
    搜了下“永生之酒”,觉得相关的应该会出现“无头骑士异闻录”,没有出现,返回最相关的是 JOJO
    搜了下“剑风传奇”,觉得相关的应该会出现“大剑”,没有出现,返回最相关的是 Dimension W
    搜了下“白箱”,觉得相关的应该会出现这季的“樱花任务”,或者 “ New Game ” 这样的职场番,没有出现,返回最相关的是蜂蜜与四叶草

    不知道作者说的比较准确的例子有哪些,也想看一下。
    AstroProfundis
        20
    AstroProfundis  
       2017-06-15 23:46:52 +08:00
    居然没有茶话会联动贴?
    sinker
        21
    sinker  
       2017-06-15 23:47:52 +08:00 via iPhone
    @AstroProfundis 这不科学
    grzhan
        22
    grzhan  
       2017-06-15 23:49:34 +08:00
    看到回复说用的算法说是“协同过滤”
    如此的话,相似的作品是指 [受众类似的作品] ,而非 [风格类似的作品] ?
    这样来看算法还是有一定效果的。
    AstroProfundis
        23
    AstroProfundis  
       2017-06-15 23:51:05 +08:00
    @sinker (bgm38)

    不过随便点了几下似乎效果还看得过去
    Icemic
        24
    Icemic  
    OP
       2017-06-16 00:50:07 +08:00 via Android
    @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
        25
    ks3825  
       2017-06-16 01:22:51 +08:00 via Android
    最近在看 KILL la KILL,是一部燃到掉渣的作品,就搜了一下

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

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

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

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

    @fireattack

    因为只有一个正向的反馈就够了
    等下去 bgm 发
    cqcn1991
        41
    cqcn1991  
       2017-06-16 10:10:14 +08:00
    @Icemic 如果是 TJU 的本科土木的话...感觉很 NB....
    langxuan
        42
    langxuan  
       2017-06-16 10:11:24 +08:00
    @Icemic
    5. 嗯……里番…………反正你搜索一个试试就知道了


    搜完感觉更不准确了......
    nicoljiang
        43
    nicoljiang  
    PRO
       2017-06-16 10:28:26 +08:00
    本来打了好多字,后来想还是算了。。。无非是想说,这么简单的计算根本算不上机器学习,顶多一个统计而已。

    最近 V2 聚集了越来越多的动漫二次元党,优点是对很多事都会很认真,甚至较真。但是对很多东西认知特别浅就把东西发出来秀,然后普遍玻璃心、易怒,虽然完全不知道是男是女,但看起来好像都是 LOLI 的样子。
    geew
        44
    geew  
       2017-06-16 10:47:52 +08:00
    这相似度怎么算的
    Icemic
        45
    Icemic  
    OP
       2017-06-16 11:01:29 +08:00
    @geew 看相似度值已经很低了,说明没有特别相似的……不要觉得会搜出混沌头之类的,有多少会去看据说崩了的动画呢……
    Icemic
        46
    Icemic  
    OP
       2017-06-16 11:02:55 +08:00
    @nicoljiang

    呃,您这个批评还真是无法反驳呢……因为反驳了反而证明了您的观点……

    不过,这是吴恩达钦点的叫机器学习的东西……我不懂所谓统计如何做到这些……或许您可以讲讲您对它算法的理解?
    denghongcai
        47
    denghongcai  
       2017-06-16 11:06:50 +08:00


    这……
    geew
        48
    geew  
       2017-06-16 11:07:12 +08:00
    @Icemic #45 相似度值是哪个 不是图片上的 86.5%
    SoulGem
        49
    SoulGem  
       2017-06-16 11:09:17 +08:00
    打不开啊
    Icemic
        50
    Icemic  
    OP
       2017-06-16 11:12:58 +08:00
    @denghongcai

    这是搜索…………
    你们要是都既不看说明也不看评论就用,那我也没办法……

    @geew

    就是那个

    @SoulGem

    服务器在东京,所以上海电信之类的用户我也没办法 orz 用代理什么的吧……
    geew
        51
    geew  
       2017-06-16 11:19:38 +08:00
    @Icemic #50 那 85.6% 不低了吧
    Icemic
        52
    Icemic  
    OP
       2017-06-16 11:24:51 +08:00
    @geew

    低啊……基本上低于 80%就可以认为缺少联系,高于 90%一般比较靠谱。有的推荐就算是排名第一的那个,也只有 80+%的相似度,说明这个动画本身就是比较独一无二的,没有与其特别近似的。也就无法强求相似的推荐了。
    geew
        53
    geew  
       2017-06-16 11:26:49 +08:00
    @Icemic #52 相似度百分之八十还低.... 额
    Spoter
        54
    Spoter  
       2017-06-16 12:13:46 +08:00
    那叫动漫谢谢。妈蛋,我还以为是动效推荐呢
    shanks
        55
    shanks  
       2017-06-16 12:38:14 +08:00
    这个相似度不太行。。。搜进击的巨人,出来了四月谎言。。
    还是豆瓣推荐比较靠谱。。 寄生兽,东京啃种,心理测量者。。
    sinker
        56
    sinker  
       2017-06-16 12:48:34 +08:00
    @Spoter 动漫等于动画+漫画谢谢
    Yinz
        57
    Yinz  
       2017-06-16 13:27:32 +08:00
    看起来楼主并不想理我 :(
    ryd994
        58
    ryd994  
       2017-06-16 13:52:13 +08:00
    希德尼亚的结果不算差,拉到下面开始混入当季热门
    我觉得楼上有问题的主要是因为那几个都是当季的大热门,其实很多人都看过。
    没有很好的区分“喜欢”的联系和“随便追个番 / 吃快餐”的联系

    希望能基于多个番综合推荐:
    用户添加若干自己喜欢的番,综合根据这些番来推荐

    @levywang https://search.bakery.moe/item/77476 不是吧
    ryd994
        59
    ryd994  
       2017-06-16 14:02:52 +08:00
    @ks3825 Kill la Kill 这个老美真的很喜欢。特点:燃,动作流畅,没剧情。这整个一典型美漫。
    我是没什么感觉,被同学安利了去看了。也就 Blumenkranz 比较喜欢。
    skylancer
        60
    skylancer  
       2017-06-16 14:22:25 +08:00
    看到这帖,我才想起来好多年没登录过 bgm 了..
    sola97
        61
    sola97  
       2017-06-16 15:16:10 +08:00
    @rabbbit #1 无形开车
    ss0xt
        62
    ss0xt  
       2017-06-16 17:31:05 +08:00
    scgy5555
        63
    scgy5555  
       2017-06-16 18:23:52 +08:00
    看来这个世界上又多了 220 万蠢货
    AX5N
        64
    AX5N  
       2017-06-16 18:56:05 +08:00
    @Spoter 连词语的含义都没搞清楚就去教别人...
    Icemic
        65
    Icemic  
    OP
       2017-06-16 19:51:26 +08:00
    @Yinz

    呃,好像看漏了……抱歉
    我想做基于人群多一些,如果要同类推荐的话,其实很容易从圈子其他人中获得信息,因为人的知识归纳偏向于标签性。

    @ryd994

    感谢建议!

    @ss0xt

    ………我对不好好看帖子或者说明的人无话可说了……毕竟已经重复了 n 遍了,我不知道怎么样才能让你们这类人明白:搜索只是搜索,点进去才是推荐…………

    @scgy5555

    ???首先您语文没学好,220 万是评分,不是用户。
    再者,您跟 bgm 用户有什么仇吗……?(bgm38) 多与自己和解吧
    Yinz
        66
    Yinz  
       2017-06-16 20:03:35 +08:00
    @Icemic hhh 回复多的时候我也漏过别人的回复。

    最近发现好像 v 站有一小部分人莫名的对别人充满敌意,只要见到相关的标题就会跑进来看甚至都不看内容直接开喷。。。
    frittle
        67
    frittle  
       2017-06-16 20:33:50 +08:00
    只试了《斗牌传说》,个人觉得推荐的都不怎么相似,尤其无法理解为啥推荐列表里《大魔法》是相似度最高的。
    TriiHsia
        68
    TriiHsia  
       2017-06-16 22:01:06 +08:00 via iPhone
    @Icemic 又试了一下,感觉还不错。我一开始搜的是部新番,抱歉没看关于...
    ryd994
        69
    ryd994  
       2017-06-16 23:07:55 +08:00 via Android
    @Icemic 这么多人用错说明你 UI 设计有问题
    根据关键词的结果不要说“查询结果”,建议改成“找到多个重名番组”之类的
    ss0xt
        70
    ss0xt  
       2017-06-17 10:48:17 +08:00
    @Icemic #65 我发个搜索的链接怎么了?有问题吗?也没说你这是推荐后的结果啊,别扯到没看说明什么的,我又没说你这推荐不行,或者其他什么,别动不动就你们这类人你们这类人,zz
    Icemic
        71
    Icemic  
    OP
       2017-06-17 12:53:35 +08:00 via Android
    @ss0xt 那你什么意思?


    @ryd994 我已经反复给说明了,我 ui 水平就这样,你觉得有问题欢迎 pr~
    ss0xt
        72
    ss0xt  
       2017-06-18 10:53:04 +08:00
    @Icemic #71 很简单,就发个链接而已,没那么多的意思,
    8qwe24657913
        73
    8qwe24657913  
       2017-06-21 22:19:06 +08:00

    Icemic
        74
    Icemic  
    OP
       2017-06-22 20:39:27 +08:00
    @8qwe24657913 收到,因为目前还未播放完,bgm 上没有具体的集数数据。另外搜索当季新番是完全不准的,因为大部分人都还没有评分 w
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     890 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 28ms UTC 19:45 PVG 03:45 LAX 11:45 JFK 14:45
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86