项目简介
本项目是基于Flask框架和Neo4j图形数据库构建的番剧推荐系统。借助协同过滤算法、随机推荐和新番推荐等功能,为用户提供个性化的番剧推荐服务。用户可通过网站浏览推荐番剧、进行搜索、评分,还能完成注册登录操作。
项目的主要特性和功能
- 协同过滤推荐:依据用户评分数据,运用余弦相似度算法为用户推荐个性化番剧。
- 随机推荐:从数据库随机选取番剧推荐给用户。
- 新番推荐:按照番剧发布时间,推荐最新番剧。
- 用户评分:用户可为番剧评分,评分数据用于个性化推荐。
- 搜索功能:用户能通过关键词搜索番剧。
- 用户注册与登录:用户可注册新账号并登录系统。
安装使用步骤
1. 环境准备
确保已安装以下软件: - Python 3.x(建议使用3.9版本) - Neo4j 数据库(建议使用4.2.15版本) - Java 12 或更高版本(用于运行Neo4j)
2. 安装依赖库
在项目根目录下运行以下命令安装所需的Python库:
bash
pip install flask py2neo
3. 配置Neo4j数据库
- 启动Neo4j:在终端中输入以下命令启动Neo4j数据库:
bash neo4j.bat console
打开浏览器访问http://localhost:7474/
,使用默认用户名和密码neo4j
登录。 - 导入数据:
- 将
data
文件夹下的Bangumi_data.csv
、uname.csv
和lianxi.csv
文件复制到Neo4j的import
目录下。 - 在Neo4j的Web界面中依次运行以下Cypher命令导入数据:
cypher // 加载动画数据 load CSV with headers from "file:///CSV/Bangumi_data.csv" as list create(:Animation{title_chinese:list.title1, ID:list.id, title_foreign:list.title2, episode:list.Episode, date:list.date, worker:list.worker, score:list.score, number_of_rater:list.s_number, image_url:list.image_url, label:list.label, introduction:list.txtl})
cypher // 加载用户数据 load csv with headers from "file:///CSV/uname.csv" as list create(:User{username:list.name,ID:list.uid,password:list.mima})
cypher // 加载评分数据 load csv with headers from "file:///CSV/lianxi.csv" as list match(u:User),(a:Animation) where u.ID = list.uid and a.ID = list.id with u,a,list create (u)-[:SCORE_ON{score:list.score}]->(a)
4. 运行项目
在项目根目录下运行以下命令启动Flask应用:
bash
python drama_recommended.py
启动后,访问 http://127.0.0.1:5000/
即可使用番剧推荐系统。
注意事项
- 运行项目时,确保Neo4j数据库已启动并保持运行状态。
- 修改
drama_recommended.py
、recommend.py
和RWData.py
中的Neo4j数据库连接密码,确保与本地Neo4j数据库的密码一致。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】