#1 - 2017-6-16 10:18
Icemic
昨晚先发v2(https://www.v2ex.com/t/368723)了,好像程序上没什么问题,于是今天正式发到这边。

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

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

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

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

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

===============

注意看使用方法,搜索只是搜索,点进去才是推荐(bgm38)

各位觉得不准的说下搜索的是哪个动画,觉得准也在下面留个言。
特别冷门或久远的就放弃吧,样本数不够肯定不准确的,而且那时候评分人的口味也和现在人不太一样
#2 - 2017-6-16 10:18
我测试的几个比较合理的:

1. 黄金拼图。萝莉番,相似推荐包括点兔在内,基本都是萝莉番…这个经过我某个点兔难民朋友验证了
2. 系列性质的:空之境界、柯南剧场版、大雄剧场版。空之境界极为密集,后两个只有年代相近的才会推荐,这是人群特征决定的。(慢慢的都会脱宅……(bgm117)
3. 一个特别的例子:fate 系列,fsn 两部 tv 和一部剧场版特别接近,但 fz 却离他们很远………还记得当初 fz 出来的时候两极分化的评价吗?这也是人群的问题
4. 自新世界,绝园的暴风雨,psycho pass,三个知名的反乌托邦,互相直接有微弱的联系,但排名不是很靠前
5. 嗯……里番…………反正你搜索一个试试就知道了
6. 缘之空,日在校园,公主恋人,euphoria ……嗯……老司机经常合伙骗萌新的几个
7. 凉宫春日系列。作为时代的眼泪,推荐的只有那个年代的著名日常 /恋爱番,和新人已经不看凉宫的悲伤事实吻合………
8. 星际牛仔。排行榜第一,相似推荐和排行榜前两页几乎一样……大概是马太效应……
9. 天空之城。全部宫崎骏或吉卜力工作室
#3 - 2017-6-16 10:34
220 万用户=v=
#3-1 - 2017-6-16 16:16
Azathoth
220万次。
#4 - 2017-6-16 10:37
cnzz也打包到webpack里了还是怎么回事,开ublock 就白屏  Uncaught ReferenceError: _czc is not defined
#4-1 - 2017-6-16 10:59
Icemic
有加cnzz的统计,那个函数是统计虚拟PV的……我用window._czc判断一下好了,刚刚更新
#5 - 2017-6-16 10:47
(また図書館に)
220 万用户!
#6 - 2017-6-16 10:49
(人型自走单线程大脑培养皿#5)
至少对于我而言并不是很准
#7 - 2017-6-16 10:54
(星を追う子ども)
220 万用户!(bgm60)
#8 - 2017-6-16 10:55
是220万评分(bgm38)(bgm38)
#8-1 - 2017-6-17 03:10
fantasy
不要搞个大新闻!
#9 - 2017-6-16 10:56
(Hacking to the Gate)
惊了,居然有这么多用户(bgm38)
#10 - 2017-6-16 11:03
看隔壁v2好像是纯评分的计算,要做相似“推荐”的话考虑staff、series、genre、tag修正会大大提高认同率,尤其在你受限最大的评分量不足时。现在感觉完全没有相似度的推荐太多,举个栗子fatezero前6(80%以上)是无头 psychopass 军火女王 another 白2 高达UC,任意二个之间都感觉互不搭边(bgm38)
#10-1 - 2017-6-16 11:07
Icemic
其实是搭的,这几个都是某种意义上被吹得很火,受众相似……
我是不想做基于标签化内容(staff、tag这类)的推荐的,因为它无法反映真实评价。比如staff中某个高权重的人做了作品A和B,A很好B崩坏,怎么能说这两个相似呢
#10-2 - 2017-6-16 11:16
Aoi
Icemic 说: 其实是搭的,这几个都是某种意义上被吹得很火,受众相似……
我是不想做基于标签化内容(staff、tag这类)的推荐的,因为它无法反映真实评价。比如staff中某个高权重的人做了作品A和B,A很好B崩坏...
这种解释很不实证,没觉得受众哪里相似啊(bgm38)重点是“推荐”意义不大啊。你说的那个问题很多办法可以避免,最简单比如加权,我也只是说“修正”啊。
#10-3 - 2017-6-16 11:22
Icemic
Aoi 说: 这种解释很不实证,没觉得受众哪里相似重点是“推荐”意义不大啊。你说的那个问题很多办法可以避免,最简单比如加权
那就需要找菊苣帮忙了……算权重什么的我能力有限……
其实有一些我也觉得很不准,比如为什么 New Game 跟点兔的相似度那么高……社畜多萝莉控?
#10-4 - 2017-6-16 11:28
Aoi
Icemic 说: 那就需要找菊苣帮忙了……算权重什么的我能力有限……
其实有一些我也觉得很不准,比如为什么 New Game 跟点兔的相似度那么高……社畜多萝莉控?
这个容易理解多了(bgm38) 芳文难民,萝莉动物园(bgm39)
#10-5 - 2017-6-16 11:54
Icemic
Aoi 说: 这个容易理解多了 芳文难民,萝莉动物园
原、原来是这样的吗(bgm38)
#11 - 2017-6-16 11:04
(Information doesn't harm)
bgm三月份的时候才32万用户,21万条目啦(bgm38),具体算法是什么样的呢?
我上学期课程project也做了个差不多的,本质是用matrix factorization把用户和动画映射到latent vector space上然后看它们之间的夹角或者距离之类的
当时我扔掉了所有评分少于20的动画和看番少于100的用户,还扔掉了评1分和10分超过70%的用户,最后有188万评分
#11-1 - 2017-6-16 11:09
Icemic
嗯,最后有效用户在18w左右……
我的应该和你的差不多吧,低秩矩阵分解做PCA,相似度是余弦
扔掉了评分少于7的用户
#11-2 - 2017-6-16 11:12
Hentyclopedia
Icemic 说: 嗯,最后有效用户在18w左右……
我的应该和你的差不多吧,低秩矩阵分解做PCA,相似度是余弦
扔掉了评分少于7的用户
嗯,不过你留下的用户多多了,我为了课程project算得快循环定义“有效”用户和“有效”动画,即用来分析的每部动画都至少要有20个“有效”用户评分过,每个“有效”用户都至少评分过100部“有效”动画,最后也就剩下6000+用户和5000+动画条目
#11-3 - 2017-6-16 11:16
Hentyclopedia
Icemic 说: 嗯,最后有效用户在18w左右……
我的应该和你的差不多吧,低秩矩阵分解做PCA,相似度是余弦
扔掉了评分少于7的用户
不过既然你也把用户映射出来了是不是看看用户这边学出来的东西能不能总结出一些有趣的结论?
我找到一拨人总体评分比其他人第一些但是里番和后宫比别人高(bgm38),但是我没法衡量这个结论的正确程度,因为视奸了几个这类用户发现有些是确实喜欢后宫和里番,有些只是物语厨(毕竟垃圾君开后宫
#11-4 - 2017-6-16 11:19
Icemic
Hentyclopedia 说: 不过既然你也把用户映射出来了是不是看看用户这边学出来的东西能不能总结出一些有趣的结论?
我找到一拨人总体评分比其他人第一些但是里番和后宫比别人高,但是我没法衡量这个结论的正确程度,因为视奸了几个这类用...
那部分还没想好怎么用……而且可能还涉及隐私之类的不好公开出来(虽说都是从公开数据得来的)。这个是摸鱼做的网站,接下来要继续搞自己的开源项目,这个先暂时放着了……(bgm38)
#11-5 - 2017-6-17 21:23
低端小乖
Hentyclopedia 说: 不过既然你也把用户映射出来了是不是看看用户这边学出来的东西能不能总结出一些有趣的结论?
我找到一拨人总体评分比其他人第一些但是里番和后宫比别人高,但是我没法衡量这个结论的正确程度,因为视奸了几个这类用...
博士请原谅我再提点不成熟的建议:我大概理解你说的“有趣的结论”是什么样的了,你不妨用一个 logistic regression 或 GBDT 去预测每个人对每部作品的评分,然后在特征工程上下功夫,看看哪个 feature importance 较高,这时候就很容易看出一些有趣的关联了。
#11-6 - 2017-6-17 21:25
低端小乖
Hentyclopedia 说: 不过既然你也把用户映射出来了是不是看看用户这边学出来的东西能不能总结出一些有趣的结论?
我找到一拨人总体评分比其他人第一些但是里番和后宫比别人高,但是我没法衡量这个结论的正确程度,因为视奸了几个这类用...
(接上)总之千万不要用 deep model
#11-7 - 2017-6-18 01:11
Hentyclopedia
Genius、小乖 说: (接上)总之千万不要用 deep model
还是要多学习、连GBDT都要Google你就知道我有多菜了(bgm38)
你的意思是deep model解释性不强,不如用特征工程的方法容易推出“有趣的结论么”
#12 - 2017-6-16 11:08
#13 - 2017-6-16 11:13
(希望不论什么时候,都不要后悔我们的相遇 ... ... ... . ...)
打不开(bgm38)
#13-1 - 2017-6-16 11:14
Icemic
代理吧……
#13-2 - 2017-6-16 11:53
君寻
Icemic 说: 代理吧……
开了,打开一片空白,Chrome已经是最新版本 59.0.3071.104
#13-3 - 2017-6-16 11:54
Icemic
君寻 说: 开了,打开一片空白,Chrome已经是最新版本 59.0.3071.104
麻烦看一下控制台的输出?
#13-4 - 2017-6-16 12:39
君寻
Icemic 说: 麻烦看一下控制台的输出?
我知道了,原来是被UBlock给屏蔽了(bgm38)
Failed to load resource: net::ERR_BLOCKED_BY_CLIENT
index.js:1 Uncaught ReferenceError: _czc is not defined
    at t (index.js:1)
    at index.js:1
    at f._constructComponentWithoutOwner (vendor.js:20)
    at f._constructComponent (vendor.js:20)
    at f.mountComponent (vendor.js:20)
    at Object.mountComponent (vendor.js:6)
    at f.performInitialMount (vendor.js:20)
    at f.mountComponent (vendor.js:20)
    at Object.mountComponent (vendor.js:6)
    at h.mountChildren (vendor.js:20)
#13-5 - 2017-6-17 13:02
Icemic
君寻 说: 我知道了,原来是被UBlock给屏蔽了
Failed to load resource: net::ERR_BLOCKED_BY_CLIENT
index.js:1 Uncaught Referenc...
额……
#14 - 2017-6-16 12:04
#15 - 2017-6-16 12:13
其实我觉得不光是评分吧,有些人点了已看却没有给评分,有些人点的抛弃,这些都是有效信息,当然具体怎么用我就没思路了。我自己也只是基于协同过滤简单地写过一个,user trust、流行度惩罚之类的很多trick都没有加进去,可能还有一定改进空间也说不定。比如同样的WA2,豆瓣的评分数据也并不是很大。但它下面的推荐就有WA134真实之泪nagiasu这种看起来比较靠谱的,然而自己写的就不太靠谱(bgm38)(bgm38)
#15-1 - 2017-6-16 12:25
Icemic
嗯,后面这些数据再想办法加,感谢提供思路~
#16 - 2017-6-16 12:46
(希望不论什么时候,都不要后悔我们的相遇 ... ... ... . ...)

这是花开被黑得最惨的一次(bgm38)
#16-1 - 2017-6-16 12:51
#16-2 - 2017-6-16 13:48
Frank1998sj
君寻 说: https://search.bakery.moe/item/6476
笑喷了
#16-3 - 2017-6-16 13:53
逆袭de字母君
反过来用雷锋的故事搜索,得到的推荐项是花开、春物、恋爱随意链接……恩……好像也没什么问题
雷锋原来是那种故事吗(bgm38)
#16-4 - 2017-6-16 14:02
Neko_Aria
逆袭de字母君 说: 反过来用雷锋的故事搜索,得到的推荐项是花开、春物、恋爱随意链接……恩……好像也没什么问题
雷锋原来是那种故事吗
那种故事是哪种?(bgm38)
#16-5 - 2017-6-16 14:20
mewing
Neko_Aria 说: 那种故事是哪种?
#贵圈真乱
#16-6 - 2017-6-16 19:41
Icemic
其实相似度很低啊……
#17 - 2017-6-16 13:43
比标签化和同类作品推荐有趣多了。
比如夏目友人帐 陆,口味好丰富。
#18 - 2017-6-16 14:03
(愿意给我5分钟的编辑时间吗?)
有点有趣,虽然还不好评价准确度,先玩个一小时再说
#18-1 - 2017-6-16 14:07
小T
查了迷家感觉烂片鉴赏家可能是真的有的(bgm38)
#18-2 - 2017-6-16 14:12
lhb5883-污喵王VIP⑩
小T 说: 查了迷家感觉烂片鉴赏家可能是真的有的
不不不 这是冈学 我要为冈学家正名(bgm38)
#19 - 2017-6-16 14:11
(媛娇系是检验大法的唯一标准)
还要考虑一个问题 二期真爱厨更多
#20 - 2017-6-16 14:39
(今夜无眠)
玩一会儿再说
#20-1 - 2017-6-16 14:46
Nihilum890
感觉可以考虑加入同创作者其他作品推荐的元素,比如斗牌传说之下应该有逆境无赖等其他福本老贼的赌博类作品,真实之泪下面应该有冈妈其他的胃药作。
#21 - 2017-6-16 15:22
(今夜无眠)
卧槽天元突破下面怎么是降世神通……逆転魔女裁判 ~痴女な魔女に裁かれちゃう下面有伤物语……一拳超人下面第一个月刊少女……
#21-1 - 2017-6-16 19:43
Icemic
可能有偏差啦(bgm38)
#22 - 2017-6-16 20:27
(我曾与你一同呼吸,那些乘着星辉的凉风 ... ... ... ... ...)
联动贴来了(bgm38)
#22-1 - 2017-6-16 20:50
#23 - 2017-6-16 20:53
(来一杯摩卡!速度!)
相似度有时候不太科学。。。
#24 - 2017-6-16 21:17
(深度隐藏宅)
(bgm38)LZ可以分享一下数据CSV文件吗,我想用来个人做总体数据的可视化(暂时没空余时间学Python爬虫,倒是可以用R做点小分析)
#24-1 - 2017-6-17 13:00
Icemic
具体要哪些数据,我这里直接可用到数据有评分矩阵、动画特征矩阵和用户特征矩阵
#24-2 - 2017-6-17 13:26
InfinityLoop
Icemic 说: 具体要哪些数据,我这里直接可用到数据有评分矩阵、动画特征矩阵和用户特征矩阵
(bgm38)原始数据就好了,特征选取的话我试试分析看哪些值得用
#24-3 - 2017-7-4 00:41
Icemic
InfinityLoop 说: 原始数据就好了,特征选取的话我试试分析看哪些值得用
啊,抱歉最近很忙。原始数据有点大……压缩后200M+,解压3G。过两天我找个地方放好了……
#25 - 2017-6-17 09:48
(雪中智代雨中杏,庭中琴美风中渚。)
按回车没有结果
#25-1 - 2017-6-17 13:01
Icemic
大概是墙…
#25-2 - 2017-6-17 13:02
Icemic
不对…好像是服务挂了,我晚上修下……(bgm38)
#26 - 2017-6-17 11:25
输冰果没反映...难道国外被墙了?(bgm38)
#26-1 - 2017-6-17 13:02
Icemic
好像是服务挂了…晚上修…
#27 - 2017-6-17 23:07
(紫玉成煙,白花飛蝶。)
同STAFF这种bangumi已有了的功能为啥还要提过来,觉得无关很正常啊,谁说观众一定要对有关联的片给好评?
喜欢今敏的也喜欢攻壳,同时也喜欢高达,最后还喜欢小圆,不也很正常么
#27-1 - 2017-7-4 00:43
Icemic
bangumi 只有比较早的条目才包含推荐吧,比较新的都没有。没有人说观众一定要对有关联的片给好评啊,算法不是这样的。
#27-2 - 2017-7-4 19:49
星宫草莓
Icemic 说: bangumi 只有比较早的条目才包含推荐吧,比较新的都没有。没有人说观众一定要对有关联的片给好评啊,算法不是这样的。
我指加大STAFF权重没有意义,这个可以点进staff页面看
#27-3 - 2017-7-4 21:04
Aoi
好像只有我提staff那默认针对我的发言,你是不是忘了推荐系统面向什么需求,向预设无相关知识的户推荐他没看过而可能会喜欢的片子,喜欢高达也喜欢小圆是很正常,但是喜欢高达的用户想看EVA的可能性大还是想看小圆的可能性大,甚至进一步抗拒讨厌小圆的可能性有多大,如果仅仅是因为两者都算优秀这个原因而喜欢,那为什么不直接看排行榜?用户觉得无关(花开推雷锋)很正常?这要是产品经理分分钟走人了
同理staff汇总页的作用和推荐中的staff权是一回事?你懂不懂加权如何操作?同staff风格相似的很可能用户都会喜欢,但同staff有更多的风格不相似、质量不高的作品要排除,那么多staff要查看哪个才对,推荐算法该做的事凭什么还要用户耗费大力去一个个筛选排查
这是“推荐”不是“数据挖掘”,相比意想不到的新发现或是有趣的结论,我更想要传统的、成熟的、可靠的“相似”结果,做到这些后你再在10个推荐位里放1-2个惊喜,没人会反对
#27-4 - 2017-7-4 21:35
星宫草莓
Aoi 说: 好像只有我提staff那默认针对我的发言,你是不是忘了推荐系统面向什么需求,向预设无相关知识的户推荐他没看过而可能会喜欢的片子,喜欢高达也喜欢小圆是很正常,但是喜欢高达的用户想看EVA的可能性大还是想...
排行榜照样有你说的需要排除的作品啊,难道高达Z厨都喜欢的小圆就不靠谱了么,我用这功能不就是为了得到好看的动画的推荐,至于你说的精度问题,我下一层说的7+、9+、5-等应该可以解决,7+对应都优秀,9+对应都厨。而关掉5-,估计就不会出雷锋了。
而只看**,**不看的人,怎么样的推荐工具都不适合他们,请服用小圈子抱团取暖论坛或群。
#27-5 - 2017-7-4 22:36
Aoi
星宫草莓 说: 排行榜照样有你说的需要排除的作品啊,难道高达Z厨都喜欢的小圆就不靠谱了么,我用这功能不就是为了得到好看的动画的推荐,至于你说的精度问题,我下一层说的7+、9+、5-等应该可以解决,7+对应都优秀,9+...
好乱,1.排行榜也有所以推荐有意义啊,没毛病;2.高达Z厨都喜欢的小圆显然不靠谱,因为一堆高达厨压根拒绝魔法少女,也根本不在“给A高分的也给B高分”的样本内;3.只看A类,B类不看的人,并不是所有推荐工具都不适合啊,Content-based或UserCF的推荐系统(IMDB 豆瓣)很喜欢这类人;4.有更好的加权混合推荐(netflix)、分区混合推荐(Amazon)之类的成熟技术可以抄干嘛要自己拍脑袋想?如果回归加权、RBM、GBDT这些嫌复杂,即使简单的线性加权也够用了
#27-6 - 2017-7-5 00:02
星宫草莓
Aoi 说: 好乱,1.排行榜也有所以推荐有意义啊,没毛病;2.高达Z厨都喜欢的小圆显然不靠谱,因为一堆高达厨压根拒绝魔法少女,也根本不在“给A高分的也给B高分”的样本内;3.只看A类,B类不看的人,并不是所有推荐...
我去看了看豆瓣高达Z的推荐,感觉你说的UserCF的推荐系统也不靠谱啊,一部UC、一部富野片都没,第一部就是0083,Z高厨都要杀人了好嘛;还不如魔法少女小圆呢,至少你说的压根拒绝魔法少女的人看到了也不会炸毛
#27-7 - 2017-7-5 00:18
星宫草莓
Aoi 说: 好乱,1.排行榜也有所以推荐有意义啊,没毛病;2.高达Z厨都喜欢的小圆显然不靠谱,因为一堆高达厨压根拒绝魔法少女,也根本不在“给A高分的也给B高分”的样本内;3.只看A类,B类不看的人,并不是所有推荐...
我觉得比起技术算法,首先先要想清楚的是这个推荐功能想要做给什么样的人,满足什么样的需求;很明显我跟你所说的就是不同的需求
#27-8 - 2017-7-5 00:18
Aoi
星宫草莓 说: 我去看了看豆瓣高达Z的推荐,感觉你说的UserCF的推荐系统也不靠谱啊,一部UC、一部富野片都没,第一部就是0083,Z高厨都要杀人了好嘛;还不如魔法少女小圆呢,至少你说的压根拒绝魔法少女的人看到了也...
(bgm38)不知道你说的Z高厨是什么物种,100个高达爱好者里有1个么,我见过的一般都喜欢两者,本站要做推荐的话有那个信任度已经足够了。行了别扯了,观点传达到就见好收了,现在扩散到的细节没什么辩驳的意义
#28 - 2017-6-17 23:21
(紫玉成煙,白花飛蝶。)
这种泛泛的共同爱好,单部作品数据量还是不够大,要做就直接对着人做,根据这人所有喜欢的片子,推荐相似作品,喜欢这些动画的人次们也喜欢的动画。
条件允许的话,把讨厌这些动画的人也讨厌也算进来计成负分。

单部作品找相似的话,能更加自由么,比如可以选7+或9+,或者5-。
#28-1 - 2017-6-17 23:38
星宫草莓
对了,讨厌这部作品的也讨厌,一定要计入评价
#28-2 - 2017-7-4 00:46
Icemic
星宫草莓 说: 对了,讨厌这部作品的也讨厌,一定要计入评价
低分评价已经算是计入了
#28-3 - 2017-7-4 19:53
星宫草莓
Icemic 说: 低分评价已经算是计入了
我之前似乎没表述清楚,就是给一部作品打高分的人也打高分的作品自然是该作品的推荐作;同理,给该作品打低分的人也打低分的作品,似乎也是该作品的相关推荐作
我想了想,花开出雷锋,也许已经计入都打低分这项了,可怕
#29 - 2017-6-18 00:18
(好想穿越去二次元)
搜索《全金属狂潮 校园篇》,跳出来《日在校园》,吓尿了LOL
后来发现进去才是推荐,变形金刚?@_@
不过相信会越来越好=w=
#29-1 - 2017-7-4 00:44
Icemic
请看说明……

「注意看使用方法,搜索只是搜索,点进去才是推荐… (bgm38)
#29-2 - 2017-7-6 00:46
漫步ACG
Icemic 说: 请看说明……

「注意看使用方法,搜索只是搜索,点进去才是推荐… 」
谢谢提醒,我第二句就说明已经找到了正确的使用方法啦(bgm39)
#30 - 2017-7-4 21:29
(啊呜...)
如果查烂片,也会推荐烂片给我吗(bgm38)
#31 - 2017-7-4 21:33
(DD集まれ! (๑•̀ㅂ•́)و✧)
机器学习(bgm109)
#31-1 - 2017-7-4 21:52
NevaR
海贼王 => 监狱兔全季
ww
#32 - 2017-7-4 23:42
(努力就会有报应。)
里番可以吗?
#33 - 2017-7-5 00:23
里番结果有点迷
#34 - 2017-7-5 01:35
(唔)
这个系统对关键词挑食严重(bgm78)
#35 - 2017-8-12 20:46
输入关键词没反应啊
#36 - 2017-8-12 23:28
没反应+1,服务器挂了?(bgm39)
#37 - 2017-8-13 01:18
(求而既得)
是不是挂了?
#38 - 2017-8-13 22:48
似乎挂了。。
https://search.bakery.moe/api/search/**的请求502。。
#39 - 2017-12-5 06:38
bakery 看成了 Berkley  23333
#40 - 2017-12-6 13:55
山田君与7个魔女和杀戮都市:O居然互为第一推荐。。。。。