基于神经网络嵌入的推荐系统:利用深度学习和维基百科构建图书推荐系统

摘要:快来利用深度学习和维基百科构建一个属于你自己的图书推荐系统吧,手把手教学,够简单够酷炫。


深度学习应用甚广,在诸多方面的表现,如图像分割、时序预测和自然语言处理,都优于其他机器学习方法。以前,你只能在学术论文或者大型商业公司中看到它的身影,但如今,我们已能利用自己的电脑进行深度学习计算。本文将利用深度学习和维基百科构建图书推荐系统。


该推荐系统基于假设:链接到类似的维基百科页面的书籍彼此相似。


640?wx_fmt=png

Most Similar Books to Stephen Hawking’s A Brief History of Time


完整代码详见Jupyter Notebook on GitHub。如果你没有GPU也没关系,可以通过notebook on Kaggle获取免费的GPU。


神经网络嵌入(Neural Network Embeddings)


嵌入(embedding),即用连续向量表示离散变量的方法。与独热编码不同的是,神经网络嵌入维度较低,并能令相似实体在嵌入空间中相邻。


神经网络嵌入的主要用途有三种:


  1. 在嵌入空间中找到最近邻。

  2. 作为有监督的机器学习模型的输入。

  3. 挖掘变量间的关系。


数据集:来自维基百科


与以往的数据科学项目一样,我们需要从数据集入手。点击此处,查看如何下载和处理维基百科上的每一篇文章,以及搜索书籍页面。我们保存了图书标题、基本信息以、wikilinks(wikiLinks 在搜索界面中集成了维基百科与维基词典两项服务,可以根据自己的不同需求在页面上方自由切换,而搜索历史与收藏的词条则位于屏幕右上角,点击即可跳转)。


640?wx_fmt=png


数据下载完成后,我们需要对其进行探索和清洗,此时你可能会发现一些原始数据之间的关系。如下图,展示了与维基百科图书中的页面关联性最强的链接:


640?wx_fmt=png

Wikipedia pages most often linked to by books on Wikipedia.


从上图可看出,排名前四的都是常用页面,对构建推荐系统没有任何帮助。就像书籍的装订版本,是平装(paperback)还是精装(hardcover)对我们了解图书的内容没有任何作用,并且神经网络无法根据这个特征判别书籍是否相似。因此,可以选择过滤掉这些无用的特征。


仔细思考哪些数据对构建推荐系统是有帮助的,哪些是无用的,有用的保留,无用的过滤,这样的数据清洗工作才算到位。


接下来,找出与其他书籍联系最紧密的书籍。以下是前10本“联系最紧密”的书籍:


  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值