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

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

  •  
  •   nladuo ·
    nladuo · Apr 24, 2017 · 7172 views
    This topic created in 3489 days ago, the information mentioned may be changed or developed.

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

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

    算法流程如下:

    • 1 、爬取小说
    • 2 、小说分词
    • 3 、 TF-IDF 向量化
    • 4 、最近邻搜索

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

    25 replies  •  2017-04-25 16:32:55 +08:00
    coderluan
    coderluan
    Apr 24, 2017
    1
    试了一下,楼主你其实是在骗我们吧,你这个就是彻头彻尾随机推荐吧...
    chengfu
    chengfu
    Apr 24, 2017
    2
    好像很厉害的样子,既然是纯搜索功能,能不能做成一个 wp 可以使用的插件呢,集成到 wp 还是不错的说;另外,相似度的准确性怎么算的,有多高(不是说百分比数据,而是“相似度”这个参数本身)
    coderluan
    coderluan
    Apr 24, 2017
    3
    说正经的,我建议楼主可以爬优书网(龙空)的数据,然后按分类和评分高低推荐。
    nladuo
    nladuo
    OP
    Apr 24, 2017
    4
    @chengfu 相似度就是余弦相似度,把两本小说分词,转换成 Bag-of-Words 模型,通过两个向量的点乘再除以两个向量的模来计算相似度。
    enenaaa
    enenaaa
    Apr 24, 2017
    5
    不如爬优书网的书单, 以用户和书单收藏来推荐。
    v2pro
    v2pro
    Apr 24, 2017❤️1
    6
    LDA 或者 LSA 效果应该比 hash 好。。。
    如果是爬的小说,带有原来的类别或者标签就更好了,带标签的 LDA 效果更好些。。。
    wolfan
    wolfan
    Apr 24, 2017 via Android
    7
    看书不如写书,写书不如神精网络生成,以后编剧什么的就不存在了。
    nladuo
    nladuo
    OP
    Apr 24, 2017
    8
    @coderluan 谢谢建议,可能是由于书的质量原因吧,感觉 YY 小说的推荐结果稍微靠谱一些,不知道是不是我爬的数据的原因。像盘龙、星辰变这样的图书结果确实是不太好。
    nladuo
    nladuo
    OP
    Apr 24, 2017
    9
    @v2pro 非常感谢,我去研究一下。
    v2pro
    v2pro
    Apr 24, 2017
    10
    @nladuo 工具推荐 gensim ,简易好用,效果也不赖。
    nladuo
    nladuo
    OP
    Apr 24, 2017
    11
    @v2pro 这个我知道,不过还没有试过,自己机器太渣跑什么都要跑好久。
    nladuo
    nladuo
    OP
    Apr 24, 2017
    12
    @wolfan hh
    lcatt
    lcatt
    Apr 24, 2017
    13
    很多小说都没有。。。。
    nladuo
    nladuo
    OP
    Apr 24, 2017
    14
    @lcatt 只是一个 demo ,还不是很完善。
    lcatt
    lcatt
    Apr 24, 2017
    15
    我搜《王牌进化》,结果出来的都是一些乱七八糟的推荐。。。理想中应该是同一作者的《最终进化》,然后是同一类别的其他作者热门书籍比如《死亡名单》《无限进化》等等。。。
    whale
    whale
    Apr 24, 2017
    16
    目前在看的十几本小说都显示未找到!只能查全本?
    wzha2008
    wzha2008
    Apr 24, 2017
    17
    小说推荐还是用协同过滤更好一些
    Sn0wM4n
    Sn0wM4n
    Apr 24, 2017
    18
    搜了几部都未找到,看来我口味独特
    xiaome
    xiaome
    Apr 24, 2017
    19
    ![QQ 图片 20170424180135.png]( https://ooo.0o0.ooo/2017/04/24/58fdcd374d49d.png)
    可能,也许,大概,应该是数据不够?
    smdx
    smdx
    Apr 24, 2017 via iPhone
    20
    程序员会看小说吗
    smdx
    smdx
    Apr 24, 2017 via iPhone
    21
    我总觉得程序员没有人文素养,说话和天涯得人,简直一个是油,一个是水,区别太大了
    TKKONE
    TKKONE
    PRO
    Apr 24, 2017
    22
    图中的搜索完全和结果没有关联吧?
    FYK
    FYK
    Apr 24, 2017
    23
    @smdx #21 啥意思啊 没太看懂
    MyFaith
    MyFaith
    Apr 25, 2017
    24
    楼主头像和代码不太匹配呀
    nicoljiang
    nicoljiang
    Apr 25, 2017
    25
    这个推荐思路本身我觉得就有问题。
    小说的相关度是靠题材、背景、设定、情节等来判断的,其中最复杂的是设定。
    用关键词的方式来做,可预见的就不会很准。
    最近向量分析工具被玩坏了~
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1667 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 438ms · UTC 00:05 · PVG 08:05 · LAX 16:05 · JFK 19:05
    ♥ Do have faith in what you're doing.