基于知识图的电影推荐系统
系统简介
该项目是一个基于知识图谱的电影推荐系统,旨在通过整合用户行为数据、电影信息以及知识图谱技术,为用户提供个性化的电影推荐服务。系统不仅包含了用户端的基本功能,还提供了管理员端用于数据管理和维护。
功能描述
用户端功能
用户登录注册:用户可以通过注册功能创建账户,并通过登录功能进入系统。
电影列表展示:用户登录后,可以看到电影列表,列表右侧提供分类过滤功能,同时支持模糊搜索,便于用户快速找到感兴趣的电影。
电影详情页:点击电影列表中的某部电影,可以进入电影详情页,查看电影的详细信息。在此页面,用户可以为电影打分,并在评论区发表评论。
个人中心:用户可以点击个人中心修改自己的个人信息。
推荐页面:系统根据用户的历史行为和偏好,利用知识图谱技术为用户推荐电影。推荐逻辑基于协同过滤算法,通过计算用户间的相似度来找出可能感兴趣的电影。
图谱展示页面:用户可以在此页面查看知识图谱的可视化展示,前端使用echarts实现,后端通过py2neo查询知识图谱数据。
管理员端功能
用户信息管理:管理员可以维护用户信息,包括增删改查等操作。
电影及相关信息管理:管理员可以管理电影信息,包括电影的增删改查,以及分类、评论、打分、地区等信息的维护。
技术描述
该系统采用了Django框架进行后端开发,数据库选用SQLite和Neo4j。SQLite用于存储用户信息、电影基础数据等结构化数据;Neo4j作为图数据库,用于存储和查询知识图谱相关数据。
系统通过py2neo库与Neo4j数据库进行交互,实现了知识图谱的查询和推荐算法。在推荐算法中,系统采用了协同过滤技术,通过计算用户之间的相似度来为用户提供个性化的电影推荐。
此外,系统还集成了爬虫功能,可以直接调用爬虫脚本爬取豆瓣的Top 250电影数据,为系统提供丰富的电影资源。
在前端方面,系统采用了echarts进行知识图谱的可视化展示,为用户提供了直观、易懂的图谱查看体验。
1100