APP下载

大数据环境中微课程个性化学习的研究*

2015-11-21余小高

中国教育信息化 2015年13期
关键词:列表算式个性化

余小高

(湖北经济学院信息管理学院,湖北武汉430205)

大数据环境中微课程个性化学习的研究*

余小高

(湖北经济学院信息管理学院,湖北武汉430205)

为提高学习效率、解决个性化学习问题,本文给出了基于大数据的微课程个性化学习机制。通过对学习用户行为数据的获取、存储、清洗、挖掘,由改进的余弦相似度算法计算出微课程的相似度,向用户推荐其喜欢的微课程。该机制能够有效提升微课程推荐的准确性,增强用户黏性,为微课程平台创造更多价值。

大数据;微课程;个性化学习;相似度矩阵

引言

教学变革的关键是让每个学生都能以适合自己的方式与节奏进行学习,让每个学生都能够在自己原有的基础上发展前进。然而班级授课制的存在使得每位教师不得不同时而对几十位学生。同样的教学内容,不同学习起点与学习风格的学生,或许只有教师掌握了某种神奇的魔法才能帮助班上的每位学生都能在短短的40几分钟内以适合自己的速度与方法进行学习。然而在大数据时代,这一美好的愿望将迎来走向现实的那一刻[1]。以下将从微课程的角度来分析大数据时代给教学带来的变革。

微课程定义:在信息化环境中,为满足人们个性化学习的需要,针对某个知识点或教学主题,由教育工作者精心设计并开发的、以视频为主要载体,包含辅助资源和学习支持服务的网络教学资源集合,具有短小精悍的特点[2]。

大数据创新发展带动了微课程迅速发展,目前,微课程已开始影响我国信息化教学实践。湖北、广东、上海等十多个省、市、自治区纷纷开展微课程实践。微课程实践的积累,将导致微课程群的形成,微课程群的应用又会形成新的应用数据,将有利于大数据分析与挖掘、发现与预测的创新应用[3]。

在国内,高校学者、区域教育研究者、一线教师等对微课程进行了相关的研究或实施,微课程的研究是近三年以来才在中国开始萌芽,主要关注于概念、资源设计和教学模式的研究[4]。

近年来,国外越来越重视“微课程”、“微视频”的研究,但其核心组成资源不统一,呈现方式是教案式或视频式;课程结构较为松散,主要用于学习及培训等方面,应用领域有待扩充;在课程资源的自我生长、扩充性还不是很成熟[5]。

微课程个性化学习是利用个性化推荐技术,是根据用户的兴趣特点及行为向用户推荐其感兴趣的学习内容。主要解决如何在海量的微课程资源中发现用户感兴趣的内容。对于微课程平台来说,通过基于大数据挖掘技术构建个性化学习系统,能有效帮助用户发现喜欢的微课程,同时也体现了微课程提供者的贡献。

结合笔者在微课程平台研发和数据分析的相关工作经验,本文提出了大数据环境中微课程个性化学习架构。首先将学生海量学习行为数据存储,然后利用Hadoop框架对存储的数据进行处理,计算微课程之间的相似度矩阵,运用Redis存储中间结果和最终推荐结果,最后向用户提供微课程学习列表。

一、个性化学习算法分析

1.算法选择

个性化学习算法是利用个性化推荐系统算法,通常有如下几种:ItemCF(基于项的协同过滤)、UserCF(基于用户的协同过滤)、Content Based(基于内容的推荐),Slope One,SVD(singular value decomposition,奇异值分解)、组合算法等[6]。

ItemCF是当今很多大型网站都在采用的核心算法之一,适用于项(item)的增长速度远远小于用户(user),且项之间的相似性比较稳定的场景,可以在离线系统中将项的相似度矩阵计算好,以供线上实时地进行推荐。UserCF常用于咨询服务类的应用,寻找与用户具有同样爱好的人。由于用户的相似用户群非常敏感,因此需要频繁地计算出用户的相似用户矩阵,运算量比较大。Content_Based一般用于文本挖掘的项目中,每天都要根据Web生成的或通过爬虫抓取的数据,不断地计算item之间的相似性,提取关键词,该算法可以很好地解决推荐系统冷启动问题,比如想推出一个新的项,由于没有用户对此新项进行评分和产生行为,所以之前的算法不可能推荐新的东西给用户,但可以用基于内容的算法计算出新项属于哪个类,然后根据用户对该项类的喜好程度推荐新项。Slope One算法简单实现了ItemCF算法,该算法的存储量是普通的ItemCF存储量的一半(甚至更少),更容易计算,但是准确性方面不够稳定,很少用于商业系统。实际上,SVD是提取一般实矩阵 “特征值”的算法,该算法提取“特征值”后,能够分析出主成分因子。也就是说,能够对原来庞大的、通常又非常稀疏的矩阵进行降维和分解,大大降低矩阵的维度,提高运算的速度,但是需要付出较大的空间资源。组合算法多种多样,主要是对上面一些算法的组合操作,比如将多种算法计算出来的结果,加权之后排序推荐给用户,也可以将多种算法计算出来的结果,各取前几个推荐给用户,增加推荐结果的多样性等。

基于内容的协同过滤算法与基于行为的协同过滤算法[7]相比,基于内容的过滤算法主要利用物品的内容数据或者外部信息,认为在内容上用户会喜欢与以前喜欢相似的物品;而基于行为的协同过滤算法通过分析大量的用户对物品的行为数据,从中找出特定的行为模式,据此来预测用户的兴趣,并给用户做出推荐。对于微课程平台来说,微课程分类属性还没有标准化,基于内容过滤的推荐算法难以反映用户的真正需求;相对而言,微课程平台对用户的访问、下载等行为数据均有记录,现阶段适合采用协同过滤算法。

基于行为的协同过滤算法大体上分为基于用户的UserCF算法和基于项的ItemCF算法,UserCF给用户推荐那些和他有共同兴趣爱好的用户喜欢的项,需要维护一个用户相似度的矩阵,而ItemCF给用户推荐那些和他之前喜欢的项类似的东西,需要维护一个项相似度矩阵。现阶段微课程平台一般更注重用户学习行为而不是社交行为,而且一般用户的基数远大于微课程的基数,存储UserCF的用户相似度矩阵的开销远远大于存储ItemCF的微课程相似度矩阵,所以选择基于项的协同过滤算法。

对用户的个性化推荐,主要有两个步骤:第一,计算微课程之间的相似度;第二,根据微课程的相似度和用户的历史行为生成微课程推荐列表。

课程资源相似度的计算,需先确定用户与微课程关系的矩阵。设用户已学习的微课程集合为N,若用户学习过某微课程,则认为该用户对该微课程感兴趣。矩阵每一行代表一个用户感兴趣的微课程集合。对于每个微课程集合,将微课程进行两两组合,得到一个新的矩阵,这些矩阵“相加”得到矩阵C,C[i][j]表示同时下载微课程i和微课程j的用户列表。

微课程相似度有如下几种算式。

(1)基本计算如算式(1)所示。

其中,Cij是微课程i和微课程j的相似度,分母|U(i)|是喜欢微课程i的用户数,而分子|U(i)∩U(j)|是同时喜欢微课程i和微课程j的用户数。

(2)余弦相似度(cosin_base)如算式(2)所示。

通过降低微课程j的权重,该算法能减轻热门微课程和很多微课程相似的可能性,从而提升推荐的质量。

(3)余弦相似度a(cosin_alph)如算式(3)所示。

该算法进一步降低了微课程j的权重,可以根据实际的应用效果指定a的取值。

(4)改进的余弦相似度(cosin_mod)如算式(4)所示。

对于微课程平台来说,存在部分恶意下载用户,为了保证微课程之间相似度的可靠性,需要修正活跃用户对微课程相似度的贡献,即对同一微课程来说,已经下载了50次微课程的用户的贡献度要小于只下载了10次微课程的用户,调整后的算式如(4)所示。

对于过于活跃的用户,为了避免相似度矩阵过于稠密,在实际的计算中,一般直接忽略其兴趣列表,不将其纳入相似度计算的数据集中。

(5)改进的余弦相似度的归一化如算式(5)所示。

为了进一步提高推荐的准确度,在改进的余弦相似度计算式基础上进行归一化,同时也可以提高推荐的覆盖率和多样性。在微课程平台中,选择该算法进行个性化学习。

完成微课程相似度计算后,通过算式(6)计算用户u对微课程i的兴趣:

这里的U(u)是用户喜欢的微课程集合,S(i,k)是与微课程i最相似的k个微课程的集合,Cji是微课程j和微课程i的相似度,rui是用户u对微课程i的兴趣 (对于微课程平台来说rui=1)。结合用户历史上感兴趣的微课程,通过该算式,越相似的微课程,越有可能在用户的学习列表中获得比较高的排名。

2.算法评价指标

算法的精确度、覆盖率、多样性等决定了其优劣,具体指标如下。

(1)精度指标:召回率(RecallRate)/准确度(Precision)

用户u推荐N个微课程记为N(u),用户u在测试集上喜欢的微课程集合为L(u),通过准确度/召回率评测算法的精度,召回率描述的是,在最终的学习列表中,有多少用户与微课程下载记录的比例;而准确度描述的是,在最终学习列表中,有多少发生过的用户与微课程下载记录的比例。召回率定义如算式(7)所示,准确度如算式(8)所示。

(2)覆盖率指标(Coverage Rate)

覆盖率表示最终的推荐列表中包含多大比例的微课程。如果所有的微课程都被推荐给至少一个用户,那么覆盖率就是100%。覆盖率反映推荐算法发掘长尾的能力,覆盖率越高,说明推荐算法越能够将长尾中的微课程推荐给用户。采用最简单的覆盖率定义如算式(9)所示。

其中,|Uu∈UN(u)|表示对推荐给用户的微课程去重数。|I|指“微课程”平台中所有的微课程数。

(3)多样性指标(Diversity)

多样性用来描述推荐列表中两个微课程之间的不相似性。多样性和相似性是对应的,如算式(10)所示,其中S(I,j)∈[0,1]定义微课程i和微课程j之间的相似度。

个性化学习系统的整体多样性可以定义为所有用户学习列表多样性的平均值,如算式(11)所示。

二、体系架构

1.数据获取与存储

对上述个性化学习算法在湖北经济学院 “微课程”平台进行了实践,利用该校教研项目(2014015)“大数据背景下管理信息系统课程教学改革研究”的成果,建成了管理信息系统微课程资源库。目前校内外用户数超过20000户,日均数据增量1000 MB左右,数据分析需要获取数据并存储数据。微课程平台的个性化学习系统一般采用用户的下载行为作为用户的行为数据,一旦用户下载了一个微课程,则视该用户对微课程产生了一个正向喜欢。数据获取与存储的架构如图1所示。

图1 微课程数据获取与存储

微课程下载功能由微课程下载服务器提供,当用户发出微课程下载请求,下载服务器在本地日志上记录一条用户下载记录。日志采集系统RLog对日志数据进行实时、高效的采集,然后传递给实时计算系统RFilt,RFilt按照设定的规则进行数据过滤,最后将有效数据存入Hadoop分布式文件系统 (HDFS)[5]进行固化。

HDFS对硬件要求比较低,能够在一般服务器集群上运行,充分利用计算机的存储能力。通过HDFS的“一次写入、多次读取”机制[5],用户海量访问的数据能够快速处理;通过分布式文件存储机制,能够长久地存储用户的历史访问记录,为用户行为分析提供坚实的数据支撑。

2.数据清洗与挖掘

微课程数据清洗与挖掘如图2所示。

图2 微课程数据清洗与挖掘

数据存储好之后,采用MapReduce计算框架[7],可以快捷地对大型数据矩阵进行计算,从而为个性化学习系统提供计算支持。首先,进行数据清洗,过滤掉非法的用户和微课程;然后,进行数据重构,把用户和微课程的标识唯一化,同时生成用户的下载数表和微课程被下载次数表;最后,进行相似度矩阵计算,计算结果以两份的方式存储,一份存储在Oracle数据库中,供系统评测和统计使用,另一份存储在Redis高速缓存服务器中,为各类应用提供查询。

3.微课程个性化学习流程

面向用户的微课程个性化学习流程如图3所示。

图3 微课程个性化学习流程

(1)用户通过客户端访问微课程平台,点击进入任意微课程详情页面。

(2)客户端发送用户的访问请求给后台程序。

(3)后台程序获取用户当前访问的微课程ID,并根据用户ID来获取用户的历史记录。

(4)通过Redis获取该微课程的相似度矩阵。

(5)使用个性化学习算法根据用户的相似度矩阵、当前访问微课程ID、用户历史访问微课程ID,计算用户可能喜欢的微课程列表。

(6)对用户可能喜欢的微课程列表按照相似度排列。

(7)取前TopN个微课程,并返回结果给客户端,客户端将相应的微课程显示在学习栏目中。

三、算法验证

“微课程”平台目前每天的下载用户数为10000户左右,人均下载3~5个微课程,累计3个月的用户下载数据为370万条左右,微课程相似度矩阵规模为5000× 5000。应用余弦相似度推荐算法,对数据进行了计算,结果如表1所示。

表1 算法比较(推荐微课程数位30款)

从表1中的结果可以看出,改进的余弦相似度的归一化推荐算法相对基本算法在准确率、召回率等各个指标上均有所提升。通过降低热门微课程的权重,能有效提升准确率和召回率。通过降低活跃用户的权重,能有效提升微课程覆盖度和多样性,从而强化个性化学习系统发掘长尾的能力。

推荐算法还有一个重要的影响因素,即向用户推荐的微课程个数,针对该因素影响情况进行针对性的效果分析,分析结果如表2所示。

表2 不同推荐数量下的算法效果

由图4可知,随着微课程推荐数的增大,微课程的准确率、覆盖率明显上升,召回率则逐步下降,与实践情况相符,从而说明了算法的正确性和实用性。

G434

A

1673-8454(2015)13-0018-05

湖北省教育科学“十二五”规划课题(项目编号:2014B135)。

猜你喜欢

列表算式个性化
学习运用列表法
扩列吧
坚持个性化的写作
怎么写算式
好玩的算式谜
一道加法算式
一道减法算式
上汽大通:C2B个性化定制未来
列表画树状图各有所长
同桌宝贝