一个简单的网络小说推荐系统

2017-04-24 13:55:16 +08:00
 nladuo

大概去年的时候 10 月份的时候,看到了 v 友的这篇帖子:一个简单的网文推荐系统,解决书荒

这位 v 友当时没有给出源码地址,于是我就打算自己也实现一个。不过,由于算法复杂度太高以及自己学习的很浅(现在学习的也不深),也没有想到好的办法就暂时搁在了一边。拖到了最近,使用了局部敏感哈希(LSH)的方法降低了最近邻搜索的时间复杂度,也算简单的把它实现了,推荐结果算是勉强可以看了,效果如下图:

算法流程如下:

由于小说爬取的比较杂乱,什么女频的男频的都有,所以有些推荐结果可能有些诡异,另外使用局部敏感哈希来搜索也会影响推荐的准确度,下面贴出链接希望 v 友能给出些改善建议。
推荐测试地址:http://tx.kalen.site:38438/
github 链接: https://github.com/nladuo/novelRS

5911 次点击
所在节点    分享创造
25 条回复
coderluan
2017-04-24 14:03:49 +08:00
试了一下,楼主你其实是在骗我们吧,你这个就是彻头彻尾随机推荐吧...
chengfu
2017-04-24 14:05:30 +08:00
好像很厉害的样子,既然是纯搜索功能,能不能做成一个 wp 可以使用的插件呢,集成到 wp 还是不错的说;另外,相似度的准确性怎么算的,有多高(不是说百分比数据,而是“相似度”这个参数本身)
coderluan
2017-04-24 14:10:08 +08:00
说正经的,我建议楼主可以爬优书网(龙空)的数据,然后按分类和评分高低推荐。
nladuo
2017-04-24 14:13:59 +08:00
@chengfu 相似度就是余弦相似度,把两本小说分词,转换成 Bag-of-Words 模型,通过两个向量的点乘再除以两个向量的模来计算相似度。
enenaaa
2017-04-24 14:14:47 +08:00
不如爬优书网的书单, 以用户和书单收藏来推荐。
v2pro
2017-04-24 14:15:13 +08:00
LDA 或者 LSA 效果应该比 hash 好。。。
如果是爬的小说,带有原来的类别或者标签就更好了,带标签的 LDA 效果更好些。。。
wolfan
2017-04-24 14:16:56 +08:00
看书不如写书,写书不如神精网络生成,以后编剧什么的就不存在了。
nladuo
2017-04-24 14:21:25 +08:00
@coderluan 谢谢建议,可能是由于书的质量原因吧,感觉 YY 小说的推荐结果稍微靠谱一些,不知道是不是我爬的数据的原因。像盘龙、星辰变这样的图书结果确实是不太好。
nladuo
2017-04-24 14:21:57 +08:00
@v2pro 非常感谢,我去研究一下。
v2pro
2017-04-24 14:24:15 +08:00
@nladuo 工具推荐 gensim ,简易好用,效果也不赖。
nladuo
2017-04-24 14:28:06 +08:00
@v2pro 这个我知道,不过还没有试过,自己机器太渣跑什么都要跑好久。
nladuo
2017-04-24 14:28:40 +08:00
@wolfan hh
lcatt
2017-04-24 15:07:23 +08:00
很多小说都没有。。。。
nladuo
2017-04-24 15:10:14 +08:00
@lcatt 只是一个 demo ,还不是很完善。
lcatt
2017-04-24 15:12:15 +08:00
我搜《王牌进化》,结果出来的都是一些乱七八糟的推荐。。。理想中应该是同一作者的《最终进化》,然后是同一类别的其他作者热门书籍比如《死亡名单》《无限进化》等等。。。
whale
2017-04-24 15:44:05 +08:00
目前在看的十几本小说都显示未找到!只能查全本?
wzha2008
2017-04-24 17:03:11 +08:00
小说推荐还是用协同过滤更好一些
Sn0wM4n
2017-04-24 17:50:58 +08:00
搜了几部都未找到,看来我口味独特
xiaome
2017-04-24 18:05:35 +08:00
![QQ 图片 20170424180135.png]( https://ooo.0o0.ooo/2017/04/24/58fdcd374d49d.png)
可能,也许,大概,应该是数据不够?
smdx
2017-04-24 18:23:37 +08:00
程序员会看小说吗

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

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

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

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

© 2021 V2EX