一文精通:用NLP实现基于内容的推荐系统

本文介绍了如何利用NLP实现基于内容的推荐系统,通过处理电影数据集,提取关键词,计算余弦相似性,创建推荐模型。文章详细阐述了数据预处理、向量化、相似性矩阵计算和推荐模型测试的过程。
摘要由CSDN通过智能技术生成


全文共3490字,预计学习时长10分钟

来源:zcool

不光是淘宝、京东会根据消费者的浏览、购买记录进行产品、服务推荐。网易云音乐、哔哩哔哩、腾讯新闻等各大音乐视频新闻等都会根据用户的记录进行相关推荐,一推一个准,令人方便之余,细思极恐。

来源:zhongmicm

下面,就和小芯一起来了解一下这个“神奇的推荐系统”。

 

当在网上对产品和服务进行评级时,人们表达的所有偏好和共享的数据(明确地或不明确地)都会被推荐系统用来生成推荐。

来源:cbdio

推荐系统分为两类:

 

  • 协同过滤-基于用户评分和消费将相似的用户分组,然后向用户推荐产品/服务

  • 基于内容的过滤——根据相似的产品/服务的属性向用户推荐。

 

在本文中,小芯将结合电影属性(如类型、情节、导演和主要演员)来计算它与另一部电影的余弦相似性。数据集来源于data.world下载的IMDB最值得观看的前250部英文电影。

 

步骤1:导入Python库和数据集,执行EDA

 

确保已经安装了快速自动关键字提取(RAKE)库(或pip installrake_nltk)。

from rake_nltk import Rake
importpandas as pd
importnumpy as np
from sklearn.metrics.pairwise import cosine_similarity
from sklearn.feature_extraction.text import 
CountVectorizerdf =pd.read_csv('IMDB_Top250Engmovies2_OMDB_Detailed.csv')
df.head()

在数据集中,有250部电影(行)和38个属性(列)。然而,只有5个属性是有用的:“Title”、“Director”、“Actors”、“Plot”和“Genre”。以下是10位最受欢迎的导演。

df['Director'].value_counts()[0:10].plot('barh',figsize=[8,5],
fontsize=15, color='navy').invert_yaxis()

250部电影中最受欢迎的10位导演

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值