协同过滤技术在高校选课推荐系统中的应用*

2018-03-30 06:35曹秀丽
关键词:评分表预估协同

曹秀丽

(仰恩大学工程技术学院,福建 泉州 362014)

目前,大多数高校的选课系统智能性不强.在目标学生没有明确需求的情况下,智能选课推荐系统可以通过学生的已学课程分析出他的偏好,并为其推荐可能喜欢的课程.学生有学生特定的属性,课程也有课程特定的属性,根据已有的学生和课程的数据信息分析出学生可能喜爱的课程并进行智能推送[1-4],是本研究所要解决的主要问题.

1 研究思路

图1 IW-UW-CF算法实现课程推荐的思路Fig. 1 Course Recommendation Based on IW-UW-CF Algorithm

智能选课推荐系统通过协同过滤(CF)算法来实现选课推荐功能.基于用户的协同过滤(U-CF)算法是:首先采集学生的专业、课程等信息,构造学生-课程评分表,并利用它来实现最基本的课程推荐;然后基于学生的信息来计算学生评分的相似度,根据相似度进行课程推荐.基于项目的协同过滤(I-CF)算法是根据课程的属性考虑课程的相似度,根据相似度进行课程推荐.[5-8]为提高推荐精度,采用基于项目-用户加权协同过滤(IW-UW-CF)算法实现学生选课推荐功能.IW-UW-CF算法实现课程推荐的思路如图1所示.

2 CF算法

CF算法中,一种是U-CF算法,以用户为研究对象,计算用户与用户对项目的评分相似度;另一种是I-CF算法,以项目为研究对象,计算用户对项目与项目的评分相似度.下面就这2种推荐技术的具体流程给出相应描述[9-10].

2.1 I-CF算法

I-CF算法,是根据用户-项目评分表获得项目之间的评分相似度,将相似度一致的项目推荐给目标用户.用户l对项目a和b的评分相似度为

其中:Ta和Tb分别为项目a和b的评分用户;Tab为项目a和b所有的评分用户;rl,a和rl,b分别为用户l对项目a和b的评分.算法具体流程[11]如下:

(ⅰ)转换采集到的数据,将用户对项目的评分以二维表的形式表示.

(ⅱ)根据用户-项目评分表,获得项目之间的评分相似度,构造项目相似度矩阵.

(ⅲ)找出项目相似度最高的k个最近邻.

(ⅳ)将最近邻推送给目标用户.

因为项目的特征属性相对稳定,所以项目的分类容易确定,可以在线下获取项目之间的评分相似度,生成高效的项目推荐列表.但同时也存在缺陷,如在评分表信息较少的情况下,因可用数据不多而难以获得项目相似度,导致无法实现项目推荐功能.[12]

2.2 U-CF算法

U-CF算法[13]是计算用户与用户对项目的评分相似度,根据最近邻预估目标用户的评分,将预估评分最高的项目推荐给目标用户.用户i和j对项目c的评分相似度为

(1)

其中:Ti和Tj分别为用户i和j的评分项目;Tij为用户i和j所有的评分项目;ri,c与rj,c分别为用户i和j对项目c的评分.算法具体流程如下:

(ⅰ)转换系统中的初始数据,根据用户对项目的评分构建二维表,记为R.

(ⅱ)计算用户i和j对项目c的评分相似度,找出目标用户i的最近邻,构造近邻用户集.

(ⅲ)计算出用户对项目的预估评分加权,通过Top-N给出推荐列表.

用户i对未评分项目d的预估评分为

(2)

3 CF算法在选课推荐系统中的应用

3.1 U-CF算法的应用

图2 U-CF算法在选课推荐系统中的应用流程Fig. 2 Procedures of Applying U-CF Algorithm in Course Recommendation System

U-CF算法应用流程如图2所示.算法的实现主要包括3个过程:

(1)数据集的选取.采用二维矩阵表示学生对课程的评分,即m学生-n课程评分表R,其中m表示学生数,n表示课程数,第l个学生对第c门课程的评分为rl,c.[14]

(2)计算学生对课程的评分相似度.相似度计算公式(1)是目标学生寻找最近邻的主要工具,也是目标学生获取最终Top-N推荐集的关键步骤.根据学生对课程的评分相似度建立学生相似度二维表.

(3)实验结果.选取50名学生-30门课程进行模拟实验.近邻数k取10时,系统将预估评分最高的10门课程推荐给目标学生.以50名学生对30门课程的评分作为输入数据.因为实验过程类似,所以仅以学号是12322的目标学生为例来演示实验过程.根据选课推荐原理,给出如下3个具体步骤:

(ⅰ)计算最近邻.在50名学生-30门课程的记录里,目标学生12322最近邻集及其相似度如表1所示.

(ⅱ)根据最近邻集预估目标学生对未评分课程的评分.以学生11677为例,根据(2)式预估学生12322对30门课程的评分,结果如表2所示.

表1 目标学生12322的最近邻集

表2 学生12322对30门课程的预估评分

(ⅲ)获取目标学生的Top-N推荐课程列表.根据目标学生12322对30门课程的预估评分,将评分最高的10门课程(课程号47,56,46,90,57,62,77,85,69,75,评分为5)推荐给目标学生.

3.2 改进算法的应用

3.2.1 基于项目加权的协同过滤(IW-CF)算法的应用 (1)基本思想.考虑不同课程的权重作用,通过项目加权调整目标学生对课程的评分相似度,从而影响课程最近邻的选取.[15-16]

加权之前先计算课程c和d的相似度sim(c,d).对于已评分课程c(c∈Tij),其权重为

(3)

(2)算法过程.求权重是加权相似度的关键部分.将已有信息数据表示为学生-课程二维表,再构建课程相似度二维表,寻找目标课程最近邻,对目标学生给出可能会选修的课程.

算法:计算课程相似度权重.

输入数据:学生i、学生j、学生-课程评分表R、课程相似度表H、共同评分课程Tij.

输出数据:学生i和j对已评分课程c的权重wi,j(c),c∈Tij.

Step 1p=0,T1=Tij;

Step 2 在T1里获取c,T1=T1-{c},p++;

Step 3T2=Tij,wi,j(c)=0,q=1;

Step 4 在H里获取sim(c,d),其中d∈T2且d≠c;

Step 5q++,T2=T2-{d};

Step 6wi,j(c)=wi,j(c)+sim(c,d);

Step 7 若q<|Tij|,则执行Step 4;

Step 8wi,j(c)=wi,j(c)×(ri,c+rj,c);

Step 9 若p<|Tij|,则执行Step 2,否则结束.

根据这9个步骤获得课程所占的权重后,通过课程相似度加权获得学生加权相似度,然后查找目标课程的最近邻,构造最近邻集,得到推荐课程列表.

3.2.2 基于用户加权的协同过滤(UW-CF)算法 (1)基本思想.考虑不同学生的权重作用,通过用户加权调整预估评分公式,从而提高学生对课程的预估准确度,提高推荐精度.

判定两个学生是否具有相似度,既要考虑学生的专业特征和对某课程的评分,还要兼顾所选课程的方向性.可以采用修正的相似度公式进行计算,通过某学生的某课程评分减去该学生的所有课程评分平均值来改进相似度的缺陷,提高计算结果的精确度.修正的学生i和j对课程c的评分相似度为

(4)

(2)算法过程.

算法:将N门课程推荐给目标学生.

输入数据:构造m学生-n课程评分表R.

输出数据:利用Top-N算法给出推荐课程列表.

Step 1 利用(4)式计算修正的学生i和j对课程c的评分相似度.

Step 2 计算目标学生i对未评分课程d的预估评分,

(5)

Step 3 用预估评分构造预估集,并按分值进行排序.

Step 4 输出分值较大的N门课程,即推荐课程.

图3 基于项目-用户加权的推荐过程Fig. 3 Recommendation Procedures Based on Item Weighting and User Weighting

3.2.3 基于项目-用户加权协同过滤(IW-UW-CF)算法的应用 U-CF算法存在可扩展性、稀疏性、冷启动等问题,因此在它的基础上,采用基于项目-用户加权来实现智能选课功能,以提高课程推荐精度.基于项目-用户加权的推荐过程如图3所示.

(1)基本思想.同时考虑课程加权和学生加权,分别利用基于项目加权的用户相似度和基于用户加权的用户预估评分来提高课程推荐精度.[17-18]

(2)算法过程.

输入数据:目标学生i、学生-课程评分表R,课程相似度表H,近邻数k.

输出数据:目标学生i的Top-N推荐集.

Step 1 从学生-课程评分表R里找出系统中所有学生、课程和目标学生i的已评分课程,分别记为Um,In,Ii.

Step 2 根据不同课程的权重作用,利用(3)式获得学生加权相似度,将加权相似度最高的前k个学生选为目标学生i的最近邻集,Ni={j1,j2,…,jk}.

Step 3 对于目标学生i的任一未评分课程,根据(5)式计算预估评分.

Step 4 将预估评分较大的N门课程作为目标学生l的推荐集.

4 实验结果与讨论

4.1 实验信息来源

以某大学教务系统oracle数据库中的记录为实验数据来源,提取的信息包含教务管理系统近4年5 000多条课程的历史信息、2万多条学生访问网站课程的信息和1 000多份学生回访表.对获取的原始数据进行整理,保留有用数据,删除无关记录,以提高算法的效率和准确率.

4.2 U-CF与UW-CF算法的比较

图4 U-CF和UW-CF算法的召回率Fig. 4 Recall Rates of U-CF and UW-CF Algorithms

根据召回率评估方法,比较U-CF和UW-CF算法在课程推荐中的有效性.利用U-CF算法寻找目标学生最近邻,预估目标学生对课程的评分,找出预估评分大于4的课程推送给目标学生.将近邻的个数k依次取10,20,30,40,50,60,70,80,90,100,计算不同k值下的召回率,结果如图4所示.从图4可以看出,k值不同,召回率也不同.在k<40时,U-CF算法的召回率比UW-CF算法的高;在k=40时,UW-CF算法的召回率比U-CF算法的高;k继续增大,UW-CF算法的召回率增大的速度大于U-CF算法的.

4.3 UW-CF与IW-UW-CF算法的比较

通过对比UW-CF和IW-UW-CF算法的绝对偏差(MAE),来验证同时考虑项目加权和用户加权的有效性.对于UW-CF算法,利用训练集数据构建学生-课程评分二维表,计算学生对课程的评分相似度,并考虑不同学生的权重对预估评分的影响.IW-UW-CF算法同时考虑基于项目-用户加权.更新训练集中1/4的数据,重新构建评分表,对其进行测试.对比UW-CF和IW-UW-CF算法的MAE,结果如图5所示.从图5可以看出,采用IW-UW-CF算法后,推荐课程的准确率显著提高,表明项目和用户同时加权的推荐算法可以提高推荐精度.

为更充分地展示这个结果,增加s门课程,对比UW-CF和IW-UW-CF算法的根均方差(RMSE),结果如图6所示.从图6可以看出:当s增大时,UW-CF算法的RMSE变化缓慢,说明推荐精度变化不大;IW-UW-CF算法的RSME随着k值的增加迅速变小,说明推荐精度增高.这进一步验证了IW-UW-CF算法比UW-CF算法的推荐结果更加准确.

图5 UW-CF和IW-UW-CF算法的MAEFig. 5 MAE of UW-CF and IW-UW-CF Algorithms

图6 UW-CF和IW-UW-CF算法的RMSEFig. 6 RMSE of UW-CF and IW-UW-CF Algorithms

5 结语

将CF算法应用到高校选课系统中,比较U-CF和UW-CF算法发现,在一定的k值下UW-CF算法的召回率表现比U-CF算法的更好.为提高课程推荐精度,提出了基于项目和用户同时加权的IW-UW-CF算法,并在 Top-N方式下,通过MAE和RSME验证了在一定的范围内,IW-UW-CF算法的推荐精度比UW-CF算法的更高.

[1] 弗朗西斯科·里奇.推荐系统技术、评估及高校算法[M].北京:机械工业出版社,2015(7):1-2.

[2] 何佳知.基于内容和协同过滤的混合算法在推荐系统中的应用研究[D].上海:东华大学,2016:3-4.

[3] 高继勋,张黎烁.基于协同过滤算法的智能教学系统研究[J].信阳师范学院学报,2013(10):29-31.

[4] 牛温佳,刘吉强,石 川.用户网络行为画像[M].北京:中国电子工业出版社,2016:58-60.

[5] 罗丽霞.基于用户协同过滤的图书推荐系统的设计与实现[J].新余学院学报,2014,12(2):10-13.

[6] HENRY LIEBERMAN.Letizia:An Agent That Assists Web Browsing[C].Proceeding of the 14th International Joint Conference on Artifical Intelligence,Montréal Québec,Canada,Aug 20-25,1995.San Francisco,USA:Morgan Kaufmann Pubishers Inc.,1995.

[7] CHEN Yan,HARPER FRANKLIN MAXWELL,KONSTAN JOSEPH A,et al.Social Comparisons and Contributions to Online Communities:A Field Experiment on Movielens[J].American Economic Review,2010,100(4):1 358-1 398.

[8] 徐兰芳,胡怀飞,桑子夏,等.基于灰色系统理论的信誉报告机制[J].软件学报,2007,18(7):1 730-1 737.

[9] 郝立燕.协同过滤技术中若干问题的研究[D].福州:华侨大学,2013.

[10] BREEZE J,HECKERMAN D,KADIE C.Empirical Analysis of Predictive Algorithms for Collaborative Filtering[C].Proceedings of th 14th Conference on Uncertainty in Artificial Intelligent.San Francisco CA:Morgan Kaufmann Publishers Inc.,1998:43-52.

[11] 吴步祺.电子商务中协同过滤推荐技术研究[D].南昌:南昌大学,2010.

[12] 孙小华.协同过滤系统的稀疏性和冷启动问题研究[D].杭州:浙江大学,2005.

[13] SARWAR B,KARYPIS G,KONSTAN J,et al.Item-Based Collaborative Filtering Recommendation Algorithms[C]∥Proceedings of the 10th International conference on World Wide Web.ACM,2001:285-295.

[14] SU Xiaoyuan,KHOSHGOFTAAR T M.A Survey of Collaborative Filtering Techniques[J].Advances in Artificial Intelligence,Volume 2009(2009),Article ID 421425,19 Pages.DOI:10.1155/2009/421425.

[15] UNGAR L H,FOSTER D P.Clustering Methods of Collaborative Filtering[C].Workshop on Recommendation Systems at the Fifteenth National Conference on Artificial Intelligence.Menol Park:AAAI Press,1998:112-125.

[16] ZHANG Sheng,WANG Weihong,FORD JAMES,et al.Using Singular Value Decomposition Approximation for Collaborative Filtering[C]∥7th IEEE International Conference on E-Commerce Technology.Ankara:IEEE,2005:257-264.

[17] PRYOR M H.The Effects of Singular Value Decomposition on Collaborative Filtering[EG/OL].(1998-06-10).http:∥cs.dartmouth.edu/cms_file/SYS_techReport/211/TR98-338.pdf.

[18] SARWAR BADRUL M,KARYPIS GEORGE,KONSTAN JOSEPH A,et al.Application of Dimensionality Reduction in Recommender System-A Case Study[R].Boston,USA:Workshop Proceedings of the 6th ACM SIGKDD Conference on Knowledge Discovery and Data Mining,2000.

猜你喜欢
评分表预估协同
美国银行下调今明两年基本金属价格预估
家校社协同育人 共赢美好未来
蜀道难:车与路的协同进化
本年度谁是冠军
“四化”协同才有出路
改良GRACE评分表在急诊急性胸痛患者中的应用
SVM分类模型预估网站商业价值
三医联动 协同创新
新旧《建筑施工安全检查标准》中起重机械的区别