1 简介
今天向大家介绍一个计算机专业毕业设计项目,基于协同过滤算法的在线视频学习答题自动化批改平台 习题问答系统。
使用协同过滤算法完成习题推荐,在线视频学习,试卷自动化组卷,批改评分
在网络技术的快速发展的今天,人类已经步入了信息化时代,网络与人们生产生活之间的关系越来越密切,人类越来越依赖网络化的生活,学生的学习也在从传统的线下教学向线上学习转变.在信息技术,网络科技高度发达的时代背景下,过去的课堂教学方式逐渐退出历史舞台,新型的学习思维,教学方法层出不穷,并逐渐应用到教育教学活动当中,使得人们的学习方式和工作模式发生发生了翻天覆地的变化.本文创新设计的远程在线自主学习平台能够构建一个自然,和谐,轻松的学习氛围,能够随时随地在线解答学习者的疑问,使得人们的学习活动更加个性,充分激发人们的学习兴趣,获得更好的学习成果.
2 设计概要
协同过滤算法(Collaborative Filtering) 是比较经典常用的[推荐算法],从1992年一直延续至今。所谓协同过滤算法,基本思想是根据用户的历史行为数据的挖掘发现用户的兴趣爱好,基于不同的兴趣爱好对用户进行划分并推荐兴趣相似的商品给用户。协同过滤算法主要分为两类:
- 基于物品的协同过滤算法:给用户推荐与他之前喜欢的物品相似的物品
- 基于用户的协同过滤算法:给用户推荐与他兴趣相似的用户喜欢的物品
2、基于用户的[协同过滤算法](UserCF)
UserCF,思想其实比较简单,当一个用户A需要个性化推荐的时候, 我们可以先找到和他有相似兴趣的其他用户, 然后把那些用户喜欢的, 而用户A没有听说过的物品推荐给A。如图:

UserCF算法两步骤:
- 找到与当前用户A相似的用户B;
- 将相似用户B喜欢的物品而用户A没有见过的物品推荐给用户A。
那这两步如何做呢?接下来,咱们来个例子具体看一下:

给用户推荐物品的过程可以形象化为给物品打分的过程上面表格里面是5个用户对于5件物品的一个打分情况,就可以理解为用户对物品的喜欢程度,分数越高,说明对这个物品越喜欢。
UserCF算法的两个步骤:
- 首先根据前面的这些打分情况(或者说已有的用户向量)计算一下Alice和用户1, 2, 3, 4的相似程度, 找出与Alice最相似的n个用户;
- 根据这n个用户对物品5的评分情况和与Alice的相似程度会猜测出Alice对物品5的评分, 如果评分比较高的话, 就把物品5推荐给用户Alice, 否则不推荐。
2.1计算相似度的几种方式
-
杰卡德(Jaccard)相似系数:
两个集合A和B交集元素的个数在A、B并集中所占的比例,称为这两个集合的杰卡德系数,用符号 J(A,B) 表示。杰卡德相似系数是衡量两个集合相似度的一种指标(余弦距离也可以用来衡量两个集合的相似度),jaccard值越大说明相似度越高。

![)5[%%5VF66I3EEG6PD]T81.png

![F@JKEKN0$]~K@PEG132H(7C.png](https://upload-images.jianshu.io/upload_images/28807581-d9138d427273627b.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)


