基于推荐算法的电影系统——理论介绍(1)

源码

效果预览

本项目目的是从猫眼读取数据,搭建一个电影网站,向用户推荐可能感兴趣电影。

Web管理员后端界面展示

电影推荐系统——用户界面展示

本章首先介绍完成这样一个系统需要哪些理论知识。

1. Web网络爬虫

在chrome上登陆猫眼电影的top100榜单之后,查看该网页的源代码,通过源代码信息知道想要获取的电影的信息在网页的哪一个模块和层级,以便于在后续的爬虫工程中更加快速的获取和运用,提升和增加爬虫的工作效率,更加准确的获取电影信息。
需要掌握的爬虫技术:
1、BeautifulSoup包
2、requests包
3、re包的运用(正则表达式匹配)

导入和使用requests获取想要获取的网页信息,并注意使用get函数时headers参数的调整,使用bs4中的beautifulsoup对获取的网页信息进行初步的结构,并使用re包中的compile函数,进行对网页的正则表达式的匹配和搜索,从而获得想要的电影信息在网页的内容,将这部分信息保存在data列表中,以备后续的使用。
采用wxpython来作为数据展示的界面,下图为猫眼国内排行前100电影。
在这里插入图片描述

2. Web开发常用技术

  1. HTML&CSS&JavaScript
    HTML、CSS、JavaScript是Web前端开发的3大技术核心[4]. HTML 进行页面的结构排版, 用CSS 进行页面布局和样式的设计, 用 JavaScript 实现页面的交互和数据请求。
  2. JQuery
    jQuery[6]是一个快速、轻量级、兼容多浏览器且功能丰富的JavaScript 库.它使用户的像操作文档对象、选择文档对象模型元素、创建动画效果、处理事件、以及开发 Ajax 程序等的网页操作变得更加容易,同时赋予了开发人员提供了在网页上创建插件的能力
  3. Ajax
    异步的JavaScript 和 XML,它是按需加载数据,实现了在 Web 端进行数据处理.
  4. Bootstrap
    Bootstrap兼容绝大部分的JQuery插件,最精彩的部分就是响应式布局,利用Boostrap提供的响应式栅格系统,构建电影展示页面和电影首页的轮播图。
    Bootstrap table是一款基于boostrap的jQuery表格插件,可以实现数据的异步获取、编辑和排序等功能,前端只需要一句<table id=”table”></table>,剩下的初始化等都在js代码中定义。
  5. Flask
    用python语言基于Werkzeug工具箱编写的轻量级Web开发框架,主要针对需求简单、项目周期短的小应用。
    网页与服务器之间数据传送的流程图

3. 推荐算法

目前推荐算法的种类很多,协同过滤算法算是推荐系统中最经典的算法了,也称为基于领域的算法。

3.1 基于用户协同过滤算法(UserCF)

UserCF的主要思想是给用户推荐和他兴趣相似的其他用户喜欢的其他物品。一般首先要找到和目标用户兴趣相似的用户,然后从这些用户喜欢的物品找出目标用户没看过的物品,然后将这些物品返回给目标用户。

3.2 基于内容协同过滤算法(ItemCF)

ItemCF的思想是给用户推荐与他喜欢的物品相似的物品。和UserCFO相同,首先要找到目标物品相似的物品,然后根据物品的相似度排序按次序给用户生成推荐列表。此算法比较适合物品不多的场景,不然计算物品相似度会带来很大的代价。

3.3 基于模型的协同过滤算法

User-CF和Item-CF合称为memory-based CF,而model-based CF则是采用一般机器学习的方式,基于样本中用户的爱好等信息,训练出一个推荐模型,然后根据实时的用户喜好的信息进行预测和计算推荐。常用的模型包括LSI、贝叶斯网络等。

下章将介绍如何设计搭建电影网站。

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

秃头嘤嘤魔

感谢厚爱

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值