爱意满满的作品展示区。
shidenggui

一个简单的网文推荐系统,解决书荒

  shidenggui ·
shidenggui · Sep 25, 2016 · 21327 views
This topic created in 3691 days ago, the information mentioned may be changed or developed.
最近在学习机器学习,以前很喜欢看网文,当时最烦的就是看完一本书之后找不到其他类似那么好看的书,俗称书荒。就收集了一点数据来做一个书籍相似度的查询,用了最简单的余弦相似度计算。貌似效果比预期中好点。

目前服务托管在 daocloud 上,地址: http://netbook.daoapp.io/ 。 欢迎大家试用 && 提出意见

下面是 《亵渎》 的匹配结果

Supplement 1  ·  Feb 25, 2017

创建了一个微信公众号 推书君, 把这个推荐系统集成了,方便使用。后期有空可能会加一些新功能

Supplement 2  ·  Jul 28, 2019
最近跟朋友花了一点时间做了一个 推荐网文小说的网站,推书君,www.tuishujun.com 也集成了原来的相似图书搜索功能,欢迎试用。
Supplement 3  ·  Oct 15, 2019
重新发了一个帖介绍了下为什么要开发推书君以及相应的功能,https://v2ex.com/t/609492
Supplement 4  ·  Nov 11, 2019

周末花了一天时间制作了 推书君 的微信和 QQ 小程序版本,因为原生用的 vuejs,所以选了支持 vuejs 的 uniapp 小程序框架,整体感觉还是比较顺利的。小程序整体体验确实不错,比 web 顺滑很多。 qr-small.jpeg

101 replies  •  2018-08-27 09:04:19 +08:00
1  2  
❮ ❯
guonning
guonning
Sep 25, 2016 via Android
1
很好,喜欢网文。希望可以解决书荒问题
guonning
guonning
Sep 25, 2016 via Android
2
希望可以把代码分享出来
hl284975274
hl284975274
Sep 25, 2016 via iPad
3
好思路!希望代码分享在 github 大家一块改进!
Abirdcfly
Abirdcfly
Sep 25, 2016 via iPhone
4
出乎意料的好。测试几本书的结果和我人脑推荐结果差不多。
miyuki
miyuki
Sep 25, 2016
5
感觉挺准的
qfdk
qfdk
PRO
Sep 25, 2016 via iPhone
6
求源码 spark 的么
zxcasdqwe9
zxcasdqwe9
Sep 25, 2016
7
建议结果列表的书名可以直接点击继续搜索
Wyatt
Wyatt
Sep 25, 2016
9
无视上条,回复错了 QAQ
zxcasdqwe9
zxcasdqwe9
Sep 25, 2016
10
搜《新宋》的结果很奇怪啊
zxcasdqwe9
zxcasdqwe9
Sep 25, 2016
11
书籍重名的搜索结果需要优化
shidenggui
shidenggui
OP
Sep 25, 2016
12
@zxcasdqwe9 为了简化结果,重名的书籍应该是都给我丢弃了
mrfox
mrfox
Sep 25, 2016 via Android
13
试了,书名包括英文就无结果
Troevil
Troevil
Sep 25, 2016
14
是根据关键词来的吧
hit410
hit410
Sep 25, 2016 via Android
15
感觉很不错
gimp
gimp
Sep 25, 2016
16
很棒!
mosbic
mosbic
Sep 25, 2016 via Android
17
棒!!
nladuo
nladuo
Sep 25, 2016 via iPhone
18
好东西,有时间自己也写一个。
kikyous
kikyous
Sep 25, 2016
19
不错,希望能开源学习学习
lujun9972
lujun9972
Sep 25, 2016 via Android❤️1
20
请问数据从哪爬下来的?
shierji
shierji
Sep 25, 2016 via Android
21
楼主 阿里布达年代祭都没有……
haiyang416
haiyang416
Sep 25, 2016 via Android
22
依据什么做的相似性对比?
yyyyyyyhb
yyyyyyyhb
Sep 25, 2016
23
搜索一本小说结果里还有这本小说
lcorange
lcorange
Sep 25, 2016
24
还不错,我搜了一本喜欢的,答案前十本都一样都很喜欢,还都看过
kenken
kenken
Sep 25, 2016
25
不错。
woniu127
woniu127
Sep 25, 2016 via Android
26
我想你需要一个域名, shujia.me 书架
iA7489
iA7489
Sep 25, 2016 via iPhone
27
相当符合
赞一个
dlsflh
dlsflh
Sep 25, 2016
28
使用了一下感觉还不错,用了才发现原来大家调侃的“霸道总裁爱上我”并不存在啊!
支持楼主!
wyx
wyx
Sep 25, 2016
29
速度好快啊
kamen
kamen
Sep 25, 2016
30
很不错啊,提个建议,做一个自定义排序和分类选择会更好
kamen
kamen
Sep 25, 2016
31
建议放到 git 上,大家一起出力
a87150
a87150
Sep 25, 2016
32
感觉只是单纯把有名的凑在一起,史上第一混乱和无限恐怖的相似度居然比和都市妖奇谈还高。

异常生物见闻录以及张小花其他作品(除了我就是妖怪)这些明显更相似的居然没有出现。
ipconfiger
ipconfiger
Sep 25, 2016
33
输入后宫, 失败
输入穿越, 失败
感觉, 毫无用处
a570295535
a570295535
Sep 25, 2016
34
加载速度太快了,牛啊,书的数据从哪爬下来的哇?建议把代码放到 git 上,大家一起出力,做出更精准的网文推荐系统。。。
clearbug
clearbug
Sep 25, 2016 via Android
35
不明白上面为啥辣么多称赞的。。为啥我搜的书都木有:龙族,黑客与画家,人月神话。。。难道数据都是作者自己搜集后放到自己数据库的
wogong
wogong
Sep 25, 2016
36
@clearbug 说了是网文。
est
est
Sep 25, 2016
37
赞。
tscat
tscat
Sep 26, 2016 via iPhone
38
手里有个 sobook.org
wizardforcel
wizardforcel
Sep 26, 2016 via Android
39
你都收录了悟空传居然不收录龙族??
hatcloud
hatcloud
Sep 26, 2016 via iPhone
40
@wizardforcel 龙族不是网文
yzongyue
yzongyue
Sep 26, 2016 via Android
41
不错
icylogic
icylogic
Sep 26, 2016
42
感觉还挺准。

如果多本同时匹配就更好了。
还有往复杂做的思路,就是建立账号系统然后像网易一样有书单,可做的事就多了。
当然现在简洁一点也挺好。
Yinz
Yinz
Sep 26, 2016
43
猜一猜原理,从各大小说站抓小说的分类标签,然后对标签向量算余弦距离这样?:D
gzlock
gzlock
Sep 26, 2016
44
然而楼主发个帖就跑了
kakay
kakay
Sep 26, 2016
45
竟然没有飘渺之旅
cosgbgas
cosgbgas
Sep 26, 2016
46
看见 幽冥仙途 减肥的确是我的大爱。
shidenggui
shidenggui
OP
Sep 26, 2016
47
@kakay 飘邈之旅
quericy
quericy
Sep 26, 2016
48
shidenggui
shidenggui
OP
Sep 26, 2016
49
@quericy 修复了,现在应该有了。你再搜下看看
timeship
timeship
Sep 26, 2016❤️1
50
还行,测试了几个,还蛮准的。喜欢看雪中悍刀行,匹配到了老猫和烟男的几本书
wandero
wandero
Sep 26, 2016
51
赞,简单试用了下,发现乱臣贼子的类似收了猛兽记,虽然都是好书,但这两不搭边
然后收了习惯呕吐的求索这一足球小说,反而却没有作者的陌上行这种真正类似的架空

书荒还是推荐优书网
能看到这楼的都是同好,
我的优书网书单 http://www.yousuu.com/user/914383
我的个人书单站点 http://novo.cloudlet.info

lz 加油,我就想过弄出一个可以根据个人全部书目评分评估个人口味,然后推符合个人喜好的书单的书目站,不过代码盲也只能想一想了
shidenggui
shidenggui
OP
Sep 26, 2016
52
@wandero 这是下一步的计划,不过最近估计没时间弄。弄这个 demo 花了我 2 天多的时间,后面有机会在把按用户的加上
lcatt
lcatt
Sep 26, 2016
53
亵渎不匹配 永夜君王。。。。
jasonding
jasonding
Sep 26, 2016
54
这个不错,以后不担心书荒了,哈哈
jasonding
jasonding
Sep 26, 2016
55
个人建议可以添加字数范围过滤,以及简单的硬分类,什么科幻、穿越、都市、重生等等,使用体验会更好点
Zzzzzzzzz
Zzzzzzzzz
Sep 26, 2016
56
@quericy 搜九州·缥缈录
@wandero 就收录情况来看, 楼主爬的书目和语料大概就是优书网.....
shidenggui
shidenggui
OP
Sep 26, 2016
57
@Zzzzzzzzz 恩,我在龙空也发过帖子,不过龙空的管理者貌似觉得这些推荐没啥用。。。
geew
geew
Sep 26, 2016
58

可以
yuhuigreed
yuhuigreed
Sep 26, 2016
59
用了下感觉推荐的还可以
wanttofly
wanttofly
Sep 26, 2016
60
@timeship 哈哈,纯粹为雪中给你点个赞。
cenxun
cenxun
Sep 26, 2016
61
狩魔手记赞一个
nkchivas
nkchivas
Sep 26, 2016
62
相当有效率
scorpius
scorpius
Sep 26, 2016
63
感觉推荐的不错 楼主棒棒的 加油!
NARUTOzp
NARUTOzp
Sep 26, 2016
64
看到 daocloud ,顶一下
CuminLo
CuminLo
Sep 26, 2016
65
那么问题来了,可以做成动漫推荐么?
xzg1993
xzg1993
Sep 26, 2016
66
真棒~~
paledream
paledream
Sep 26, 2016
67
很棒,看楼主的头像似乎是吸血鬼猎人 D 😄
aeshfawre
aeshfawre
Sep 26, 2016
68
@CuminLo 估计不行吧,网络文学可以提取关键词做相似计算,是因为楼主可以批量下载到这些网络书籍。
那种正版的书籍,没办法大批量的获得。 动漫更是没办法获得关键词。
计算不了相似度。
shidenggui
shidenggui
OP
Sep 26, 2016
69
@paledream 烙印战士
paledream
paledream
Sep 26, 2016
70
@shidenggui 原来是剑风传奇,眼拙了,哈哈哈哈
shidenggui
shidenggui
OP
Sep 26, 2016
71
@NARUTOzp daocloud 更新容器要好久,给客服提了意见还没回复。我们自己部署的 jenkins 用 docker 更新非常快
xxxsicong
xxxsicong
Sep 26, 2016
72
卧槽有点准
justseemore
justseemore
Sep 26, 2016
73
其实我更想知道相似算法,:) 捂脸,逃
sunyang
sunyang
Sep 26, 2016 via iPhone
74
很准 随便打了一本喜欢的书 推荐的都是我喜欢看的
shunia
shunia
Sep 26, 2016
75
这个我是服的
livc
livc
Sep 26, 2016
76
网文居然有这么多人看啊。。
mingyun
mingyun
Sep 26, 2016
77
赞楼主
shahua365
shahua365
Sep 27, 2016
78
大赞,希望能做到多本书匹配,然后推荐类似的书籍
shidenggui
shidenggui
OP
Sep 27, 2016
79
@shahua365 这是下一步的方向,看看怎么弄比较好
awolfly9
awolfly9
Sep 27, 2016
80
@shidenggui 现在这个只是能够匹配网文?如果能够做到匹配所有书籍,包括散文、叙事,甚至技术书籍的话,用的人会应该会很多的
millken
millken
Sep 27, 2016
81
《被生活网住的人生》
这部类似的没有么?
shidenggui
shidenggui
OP
Sep 27, 2016
82
@awolfly9 这个需要的数据集太多了,估计豆瓣淘宝之类的才有机会收集到,个人很难
@millken 只能匹配一部分网络小说
awolfly9
awolfly9
Sep 27, 2016
83
@shidenggui 可以试试抓取豆瓣的数据,利用他的数据库来做匹配,当然也可以抓取一次然后存取成自己的数据,不过我不知道你是怎么实现的
cszhiyue
cszhiyue
Sep 27, 2016
84
@awolfly9 @shidenggui 楼主已经大概说了。个人不负责任的猜测应该是把网文的原文下载下载,分词,然后计算余弦相似度。豆瓣的数据知识一些评论和 tag ,应该达不到要求。
挺有意思的想法,目前也尝试做一下玩玩。
awolfly9
awolfly9
Sep 27, 2016
85
@cszhiyue 查询了一下余弦相识度,似乎明白了一点。感谢分享

可以建立一个 github 大家一起完善完善,挺好用的,如果有兴趣的话可以一起做
cszhiyue
cszhiyue
Sep 27, 2016
86
@awolfly9 目前还在抓数据。测试一下再 update
oulongqi
oulongqi
Sep 27, 2016
87
很多词都搜不到哦,可以考虑先把词语丢到小说网站网随便拿几个接过来冷启动一下。
solobat
solobat
Sep 27, 2016
88
哈哈, 赞楼主. 之前我也把优书网的书爬到 leancloud 上, 还没来得及用呢.
shidenggui
shidenggui
OP
Sep 27, 2016
89
@solobat 最开始本来想用 leancloud 的,后来看到 daocloud 貌似有免费送的 2x 容器,就试用了下。现在这些云服务太方便了,开发个东西,几个小时就搞定了
awolfly9
awolfly9
Sep 28, 2016
90
@cszhiyue 更新后隔空喊一下
azh7138m
azh7138m
Sep 28, 2016 via Android
91
@aeshfawre 动漫有字幕,也不是不行
Sukizen
Sukizen
Sep 29, 2016
92
楼主在哪里,有个项目想找你谈谈
ijustdo
ijustdo
Sep 29, 2016
93
1. 字数格式化 多少万字
2. 点击作者 可以搜索 同作者的相似书记
3. 点击下面任意书名 搜索点击的书名

还有就是书的量不够咧 找了好几个都没有
ijustdo
ijustdo
Sep 29, 2016
94
数据量不够啊 哈哈
多抓几个站 然后 标签建库 通一本书 如果多个站出现的相同标签加权
然后用常用词库 分词 再建一些 常用词的 向量库

到时候出了放出书名 搜索 关键词搜索 还可以放排行
如果爬虫过关 还可出热门....

有点小意思 找个小说网站卖了吧
shidenggui
shidenggui
OP
Sep 29, 2016
95
shidenggui
shidenggui
OP
Sep 29, 2016
96
@ijustdo 谢谢思路,不过这样搞工程浩大,我也就是好玩弄了个 demo
vlike
vlike
Sep 29, 2016 via Android
97
感觉不错,可以介绍一下实现的原理及工具吗?
bravecarrot
bravecarrot
Oct 3, 2016 via iPhone
98
楼主选取的特征有哪些?
mfanming
mfanming
Oct 6, 2016
99
没有白鹿原
alouha
alouha
Oct 24, 2016
100
额,从零开始这本书都木有,好奇楼主的算法,希望能放到 github 上
1  2  
❮ ❯
About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1935 Online   Highest 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 304ms · UTC 00:03 · PVG 08:03 · LAX 16:03 · JFK 19:03
♥ Do have faith in what you're doing.