基于潜在因子算法的课程推荐系统研究

2017-11-17 02:14徐江红赵婉芳赵静雅
微处理机 2017年5期
关键词:程度矩阵因子

徐江红,赵婉芳,赵静雅

(北京电子科技职业学院,北京100176)

·微机软件·

基于潜在因子算法的课程推荐系统研究

徐江红1,赵婉芳2,赵静雅3

(北京电子科技职业学院,北京100176)

课程推荐系统能够依据用户的兴趣偏好,实现对用户的个性化课程推荐。针对当前网络选课信息过载问题,结合推荐算法之潜在因子算法,建立基于专业相关性、高值学分、实操性、教师评分和娱乐性为潜在因子的用户-潜在因子和课程-潜在因子关系矩阵模型。结合余弦相似度算法,计算出用户受潜在因子的影响程度与课程对潜在因子贡献程度的相似度,并将相似度大的课程推荐给学生。课程推荐系统能够及时、迅速地将该同学可能感兴趣的课程推荐给学生,为每个同学在选课时提供个性化服务,从而解决了选课信息过载问题。

推荐系统;选课;潜在因子算法

1 引 言

当前,随着远程教育技术和互联网的发展,各种教育资源库通过网络跨越了空间距离的限制,使学校的教育成为超出校园向更广泛的地区辐射的开放式教育[1]。学校充分发挥自己的学科优势和教育资源优势,把最优秀的教师、最好的教学成果通过网络传播到四面八方。借助于网络,任何人可以在任何时间、任何地点,从任何章节开始学习任何课程,学习资源呈现爆炸式的发展。在这样的背景下,学生处于完全的主动学习模式,学习变得异常灵活方便,这些都是非常顺应现代教育和终身教育理念的。与此相适应的,学校对教学的管理也进入了网络化和无纸化阶段。比如许多网络课程实现了网上选课、点名、学习、评分等等。就选课系统来讲,当前许多学校都建立了自己的选课平台,这些平台都可以使用用户名和密码登录、支持一校多址甚至跨校选课的选课机制,方便多维度查询选课统计数据[2],支持师生互评,为学生的选课带来了便利和快捷。然而,现有的选课平台只是简单的将所有课程汇总到一起,所有的课程对学生都是平行的,为了方便管理,学校开放给学生选课的时间相对有限,导致的结果就是大多数学生感兴趣的课程短时间报满,手慢的同学甚至还没研究透有哪些课程可选,最终只好随便选几门了事。那么,在大数据技术空前发展的今天,面对扑面而来的课程信息,如何帮助学生快速选择合适自己的课程成为了一个强大的挑战,这也是每一个网络选课平台急需解决的难题。这个问题其实就是选课信息过载问题。

2 推荐系统的研究现状

当前解决信息过载问题的一个重要方法就是个性化推荐技术[3],它是根据用户的兴趣特点和需求,推荐给用户感兴趣的信息、产品等的个性化信息推荐系统。个性化推荐系统通过研究用户的兴趣偏好,进行个性化计算,由系统发现用户的兴趣点,从而引导用户发现自己的信息需求。一个好的推荐系统不仅能为用户提供个性化的服务,还能和用户之间建立密切关系,让用户对推荐产生依赖。个性化推荐系统是当下的一个热门课题,目前已经大量应用到工业领域,尤其是在电子商务网站。比如在淘宝、京东上选择商品时,网页会推出猜你喜欢、选择此商品的客户还选择了什么商品;听歌时,百度音乐自动弹出的个性歌单;在携程、途牛等网站查看旅游信息时,网站会自动推出旅游热点线路等等,这些都是推荐系统的输出内容。近几年举办的推荐系统比赛更是一次又一次地把推荐系统的研究推向了高潮。比如几年前的Netflix百万大奖赛,KDD CUP 2011的音乐推荐比赛,百度电影推荐竞赛,还有阿里巴巴大数据竞赛。这些比赛对推荐系统的发展都起到了很大的推动作用。很多电子商务网站利用推荐系统来提高销售收入,推荐系统为Amazon网站每年带来30%的销售收入[4]。

课题研究的个性化课程推荐系统,就是针对网络选课信息过载问题,通过利用推荐算法之潜在因子算法,结合学生的专业特点、学生自身过去的选课记录、以及类似同学的选课记录等等信息,研究用户选课偏好,从而在学生点击选课系统时,及时、迅速地将该同学可能感兴趣的课程推荐给学生,为每个同学在选课时提供个性化的服务,从而解决了选课信息过载问题,有效避免了学生在课程海洋中大海捞针的无助和无奈。

3 推荐算法之潜在因子算法

潜在因子算法是在Netflix推荐算法竞赛中获奖的算法[5],最早被应用于电影推荐中,有着误差小、效率高的特点。这种算法的思想是:每个用户(user)都有自己的偏好,比如同学A将专业性强、学分高、实操性强等潜在因子(latent factor)作为选课依据,如果一门课程(item)带有这些元素,那么就将该课程推荐给该用户,也就是用潜在因子去连接用户和课程。每个人对不同的潜在因子偏好程度不同,而每门课程包含的潜在因子比例成分也不一样。具体的做法是:首先根据用户的选课行为特征分析出影响其选课的潜在因子,得出影响不同用户与潜在因子之间的关系矩阵Q,然后再结合每门课程分析课程包含潜在因子的比例(也可称为课程对潜在因子的贡献率),得出不同课程与潜在因子之间的关系矩阵P,根据Q和P两个矩阵,采用欧式距离余弦相似度算法计算出用户受潜在因子的影响程度与课程对潜在因子贡献程度的相似值,并将这个相似值作为判断用户对课程的喜欢程度,从而得到用户对课程喜欢程度矩阵R,最后依据喜欢程度进行排序,并将喜欢程度高的课程推荐给用户[6]。

4 矩阵模型的构建

通过对学生走访调查发现,学生选课主要考虑的因素有如下几个:

(1)专业相关性

专业相关性主要是选修的课程与当前所在专业是否相关。从学生的角度上看,有的学生希望通过选修课加强对本专业学习的补充,因此会期待选择专业相关的课程,期望值非常高,这样对专业相关性因子可以设置为1,根据学生对专业相关性的期望值可以设定0~1之间;从课程的角度来看,不同的课程具有不同的专业相关性。例如机器人的制作课程对于网络技术专业的学生显然比篮球课程的专业相关性高,但相比网络黑客初探课程专业相关性就差一些。如果网络黑客初探课程的专业相关性取值为1的话,机器人课程的专业相关性给0.6,而篮球课程的专业相关性为0。

(2)高值学分

不同的学生对要选修的课程有不同程度的期待值。有的学生属于希望很快修满学分,那么这一项的取值就为1;而有的学生对学分的考虑没有那么强烈,因此根据学生选课受学分值这一因素影响的大小,该项取值范围设定0~1之间。不同的课程学分是固定的,最高学分为4,最低学分为1,因此对不同课程对学分的贡献值设定为0~1之间。

(3)实操性

实操性主要是指课程对动手能力的训练。不同的学生对课程的动手能力的关注度不同,而每门课程的实操性也不同。例如机器人的实操性强,而营养学的实操性差,该项取值设定为0~1之间。

(4)教师评分

教师评分是以往上过课的学生对相关授课教师的打分。教师评分这一项多大程度上影响学生选课,对于不同学生也是不一样的。同时不同课程教师评分也不同。评分一般为5分制。根据不同的评分可以得出不同课程在这一项的贡献值。该项取值设定为0~1之间。

(5)娱乐性

娱乐性也是影响学生选课的重要因素。有些同学希望选修的课程好玩,即娱乐性更高一些。不同的课程娱乐性也不同,例如相对与离散数学,机器人的娱乐性高一些,电影欣赏的娱乐性更高。该项取值设定为0~1之间。

本课程推荐系统将以上五个因素作为潜在因子进行研究。

4.1 用户—潜在因子关系矩阵Q的构建

从历史选课记录可以得到过去选过的课程在潜在因子方面的贡献值,该贡献值就是学生受每个因子的影响程度。依据不同学生在选课时受以上5种因子的影响程度,构建出用户-潜在因子关系矩阵Q如表1所示。

4.2 潜在因子-课程关系矩阵P的构建

依据不同课程对以上5种潜在因子的贡献程度,构建出课程-潜在因子关系矩阵P如表2所示。

表1 用户-潜在因子关系矩阵Q

表2 课程-潜在因子关系矩阵P

4.3 相似度计算

研究选择简单而实用的余弦相似性算法计算相似度。余弦相似性算法的基本思想是:将矩阵行抽象成空间从原点出发的两条指向不同方向的线段,两条线段之间形成一个夹角,如果夹角为0度,意味着方向相同、线段重合;如果夹角为90度,意味着形成直角,方向完全不相似;如果夹角为180度,意味着方向正好相反。因此,可以通过夹角的大小,来判断向量的相似程度。夹角越小,就代表越相似[7]。

假定A和B是两个n维向量,A是[A1,A2,...,An],B是[B1,B2,...,Bn]。则A与B的夹角θ的余弦公式[8]如下公式所示。

针对上面的两个矩阵,将矩阵P和Q中的每一行分别放到多维向量空间模型中,利用余弦相似性算法,计算用户受潜在因子的影响程度与课程对潜在因子贡献程度的相似值,并将这个相似值作为判断用户对课程的喜欢程度。

以同学甲和课程A为例。

同学甲受潜在因子影响的向量为:

课程A对潜在因子的贡献向量为:

代入公式(1)计算可得,Q1和P1的相似度为:

同样的,可以计算出每个同学对每门课程的喜欢程度,即用户-课程关系矩阵R结果如下表3所示。

表3 用户-课程关系矩阵

从表3可以看出,同学甲对课程A的喜欢程度最高,因此在推荐课程时,首先将课程A推荐给甲,其次是课程E,然后是课程F。考虑到大学选修课程每学期被限制在三门或以下,所以得分相对比较低的课程B和C就不予推荐了。对于同学乙、同学丙和同学戊,首先把课程B推荐给他们,而同学丁将首先被推荐课程E。

5 结束语

针对网络选课信息过载问题,结合推荐算法之潜在因子算法对课程推荐系统进行研究。建立了基于专业相关性、高值学分、实操性、教师评分和娱乐性为潜在因子的用户—潜在因子和课程—潜在因子之间关系矩阵模型,结合余弦相似度算法,计算出用户受潜在因子的影响程度与课程对潜在因子贡献程度的相似值,并将这个相似值作为判断用户对课程的喜欢程度,然后将相似度大的课程推荐给学生。课程推荐系统为每个同学在选课时提供了个性化的服务,从而解决了选课信息过载问题,有效避免了学生在课程海洋中大海捞针的无助和无奈。需要说明的是,由于本研究中用户受潜在因子的影响程度是从过去的选课记录分析所得,而对于没有历史选课记录的新用户如何推荐课程没有讨论,这将是今后进一步研究的方向。

[1]张玉新,滕桂法,韩俊玲.存储过程及其在基于J2EE的选课系统中的实现 [J].河北农业大学学报.2007.30(1):109-113.Zhangyuxin,Tengguifa,Hanjunling.Stored procedure and its implementation of the course selection system based on J2EE[J].Journal of agricultural university of Hebei.2007.30(1):109-113.

[2]蒋玉国,郭文东,任永昌.基于UML的选课信息系统的建模[J].河北师范大学学报/自然科学版.2007.31(1):36-38.GUO Yuguo,GUO Wendong,REN Yongchang.The Designing Model of Information System for Selecting Courses Based on UML[J].JOUENAL OF HEBEI NORMAL UNIVERSITY/Natural Science Edition.2007.31(1):36-38.

[3]卢波,张璐璐.基于ASP的煤炭高效体育网上选课系统设计与实现[J].煤炭技术.2012.31(7):202-203.Lu Bo,Zang Lulu.Design and Inplementation of Coal University Sports Network Choose Class System Based on ASP[J].Coal Technology.2012.31(7):202-203.

[4]Willan S.Davi.Systems Analysis and Design-A Structured Approach[J].Addison—Wesley Publishing Company.1987.

[5]张博,张虹.基于网格技术的网上选课系统的设计[J].计算机工程与设计.2007.28(2):467-470.Zhang Bo,Zhang Hong.Cource-selection grid:Dynamically organized course-selection infrastructure[J].Computer Engineering and Design.2007.28(2):467-470.

[6]王建国,张婷,周长英.基于网络的选修课选课系统的设计与实现[J].计算机工程与设计.2006.27(3):460-471.WANG Jian-guo,ZHANG Ting,ZHOU Chang-ying.Design and implementation of selective courses based on network[J].Computer Engineering and Design.2006.27(3):460-471.

[7]Northolt M G,Boerstoel H,Maatman H,et,al.The structure and properties of cellulose fibers spun from an anisotropic phosphoric acid solution.Polymer.2001.42:8249-8264.

[8]Barstool H,Maatman H,Westerink J B,et al.Liquid crystalline solutions of cellulose in phosphoric acid.Polymer.2001.42:7371-7379.

Research on Courses-selection Recommendation System Based on Latent Factor Algorithm

Xu Jianghong1,Zhao Wanfang2,Zhao Jingya3
(Beijing Vocational College of Electronic Science,Beijing 100176,China)

Courses-selection recommendation system can provide personalized courses recommendation,according to users'interest.In order to resolve the overload problem of coursesselection information,This paper chooses major-relativity,high credit,operability,Teacher-assessment and entertainment as latent factor,uses latent factor algorithm to create users-latent factor Relation matrix model and courses-latent factor Relation matrix model.Then uses cosine similarity algorithm to calculate the similarity of users-latent factor and courses-latent factor.According to the similarity,system recommends the courses ofbigger similarity to the student.This system can provide personalized courses-selection recommendation service for the students,So the overload problem of course-selection information is resolved.

Recommendation system,Courses-selection,Latent factor algorithm

10.3969/j.issn.1002-2279.2017.05.011

TP393

A

1002-2279-(2017)05-0040-04

徐江红(1973—),女,湖北省荆州市人,讲师,硕士,主研方向:大数据,网络工程技术。

猜你喜欢
程度矩阵因子
因子von Neumann代数上的非线性ξ-Jordan*-三重可导映射
精致和严谨程度让人惊叹 Sonus Faber(意大利势霸)PALLADIO(帕拉迪奥)PW-562/PC-562
男女身高受欢迎程度表
一些关于无穷多个素因子的问题
影响因子
我的健康和长寿因子
初等行变换与初等列变换并用求逆矩阵
矩阵
矩阵
矩阵