数字教育资源推荐算法的设计和应用*
2019-03-13莫世荣
赵 川,莫世荣
(浙江省教育技术中心,浙江 杭州 310012)
一、引言
随着教育资源平台中资源数量的不断增加,视频、音频等非文本性资源占比逐渐提高,资源应用APP、游戏学习网站等非传统性资源类型日益丰富。同时,网络学习空间和学习平台的兴起,使教学互动过程中产生了大量的形成性资源。资源量大、资源更新快等因素导致主流 “分类+搜索”的资源查找方式已难以满足师生对优质数字教育资源的获取需求。充分利用大数据技术采集资源、用户和用户资源应用行为等数据,进行数据分析和数据挖掘,精准地为用户推荐个性化学习资源,是解决用户资源“获取难”的基本路径和有效手段。
二、资源推荐算法设计
个性化学习资源推荐是否精准,关键在于数据分析和数据挖掘算法是否有效。下面介绍浙江教育资源公共服务平台(http://www.zjer.cn)已实现的四个资源推荐算法。
1.资源关联分析算法(FP-Growth)
关联分析又称关联挖掘,就是在交易数据、关系数据或其他信息载体中,查找存在于项目集合或对象集合之间的频繁模式、关联、相关性或因果结构[1]。分析用户购物篮物品,以找到购买物品相关性,是常见的关联分析算法应用场景。
关联分析算法可通过大量用户资源使用行为数据的采集和分析,发现资源内在的关联性,如大量用户在使用A资源时也会使用B资源,则认为A资源与B资源间有高关联性。当甲用户使用A资源时,平台会将与A资源关联性高的B资源推荐给甲用户。
采集合并一段时间内(暂设3个月)用户资源下载、收藏、评分的数据,经数据清洗后,按时间段(暂设4天)切割成事务集,所有事务集作为项目集I={I1,I2,Im}。根据FP-Growth算法,按设定的最小支持度minSupport(暂定0.01)选取所有项目集中频繁出现的子集作为频繁集F={f1,f2,…,fn}(fi∈I,i≤n);设定最小置信度 minConfidence(暂定 0.8),若两个频繁集项 f1∩f2≠Ø,筛选出 P(f1│f2), 输出f,f中高概率12同时出现资源的关联规则。对每个用户,根据其历史接触的资源记录,根据关联规则和置信度排序找到可提供推荐的前N个资源(置信度高的排前,并且这N个资源不在用户的历史接触资源记录中)。
2.用户聚类分析算法(K-Means)
聚类(Clustering)指的是一种学习方式(操作方式),即把物理或抽象对象的集合分组为由彼此类似的对象组成的多个类的分析过程[2]。K-Means算法是聚类中很常用的基于向量距离的算法。
该算法根据用户之间的相似性形成簇,认为簇内用户资源喜好具有相似性。基于所有用户的资源使用行为记录,将用户分成若干簇,若甲用户与乙用户在同一簇内,认为两用户间有喜好相似,则甲用户使用的资源也相应推荐给乙用户。
采集用户资源评分数据并作相应处理,若用户有直接资源评分,则计算每个用户平均资源评分,并将原始评分减去用户平均评分;若用户有收藏、下载数据等操作,则给予相应的操作分填充缺失的评分项;若用户对某资源未有操作,以零分补足数据。将处理好的资源评分数据转换成“用户-资源评分”矩阵,矩阵各行向量每一个分量表示对应用户对各资源的评分,称为评分向量。设定初始簇数和随机初始簇质心K(暂定5),利用余弦相似度公式计算“用户-资源评分”矩阵各用户向量R与各初始簇质心的差距,第一轮计算比较差距,将用户归入各簇后重新计算得到新的各簇质心,进而对用户基于新簇质心进行多轮迭代聚类,最终得到用户簇,明确各用户属于那个簇。最后,对各簇中所有资源评分总和排序,总分最高N个(暂定100)资源向簇内用户推荐。
用户聚类分析算法实现的资源推荐是对用户强关系链(如同班同学、师生关系等)和弱关系链(如同社区学习成员、好友关系等)资源推荐的补充。
3.资源相似性分析算法(ACS)
用户聚类分析算法(K-Means)据用户相似性实现资源推荐,ACS(Adjusted Cosine Similarity修正余弦相似性)算法根据资源相似性提供资源推荐。先根据大量用户的行为,找到资源相似性,如资源A和资源B有很强相似度。当用户甲对资源A浏览、下载、评价等资源操作时,可将资源B推荐给用户甲。
4.矩阵分解算法(ALS)
矩阵分解最小二乘法(Alternating Least Squares)是一种常用的协同过滤算法。协同过滤算法核心是分析用户兴趣,在用户群中找到与指定用户的相似 (兴趣)用户,综合这些相似用户对某一信息的评价,形成系统对该指定用户对此信息的喜好程序的预测[3]。是大型网站(如Google、Baidu)为用户提供个性化新闻和搜索使用最广泛的推荐算法。数字教育资源平台通过用户资源使用行为发现用户最感兴趣的资源,然后将最能够匹配用户需求的若干条资源推荐给该用户。
浙江数字教育资源平台有650多万师生用户,500多万条资源,处理并形成“用户-资源评分”矩阵R,各行向量每一个分量表示用户对各资源的评分,称为用户评分向量U,各列向量的每一个分量表示对应资源被各用户给出的评分,称为资源被评分向量V,矩阵R是一个稀疏矩阵。算法希望找到一个低秩矩阵X来逼近矩阵R,其中 X=UVT,U∈Cm×d,V∈Cn×d,d 表示特征个数,一般d≪r,r表示矩阵 R 的秩,r≤min(m,n)。 矩阵分解目标函数,固定V, 对 Ui求导, 得到求解Ui的公式:,式中 Ri表示用户 i评过资源评分组成的向量,Vui表示用户i评过资源特征向量组成的特征矩阵,λ表示规则化参数(暂定为1.0),用来减小模型训练数据集的拟合程度,尽量避免过拟合情况发生。同理,固定U,得到求解Vj的公式,从而将矩阵分解问题转化为可求解的线性规划问题。得到用户特征矩阵及资源矩阵的秩相等,秩远远小于用户数和资源数,表示的是用户和资源对应特征数量。用户特征向量表示用户对某些特征的资源感兴趣程度,资源特征向量表示资源对这些特征的满足程度。用户U的特征向量和资源V的特征向量的内积就是用户U对资源的预测评分。
在“用户-资源评分”矩阵R中,若某资源评分不存在,则根据用户特征矩阵和资源特征矩阵预测该资源评分。当用户甲在资源浏览时,可向用户甲推荐预测评分最高的前N个资源(暂定为10)。
三、资源推荐算法模型的应用
数字教育资源推荐的本质是在大量数据分析和数据挖掘的基础上为用户和资源“画像”,利用“画像”找到用户与资源之间的匹配关系,匹配越精准,推荐越有效。
如图1所示,算法的上一个层级是业务模型,业务模型包括数据采集、数据清洗、参数配置、数据输出及一个或若干个算法,算法是业务模型的核心。如图2所示,“近期应用资源关联规则模型”中的核心是Fp-Growth算法。
1.资源推荐算法模型的应用场景
业务模型上一层级是精准推荐应用,浙江教育资源公共服务平台已实现三个应用场景:资源智能检索、空间资源推送、资源相关性推荐。
图1 算法、模型、应用三者关系
(1)资源智能检索
传统教育资源服务平台一般通过关键词搜索,搜索资源名称、资源简介、资源作者等,结果以时间倒序排,最新资源排最前。传统资源搜索并不会根据搜索者的“用户画像”提供适宜资源,导致用户在搜索结果中花费较多时间遴选资源。
图3 智能资源检索和搜索的功能界面
如图3所示,用户进入智能资源检索界面,平台根据用户的基本属性和用户的行为数据,推荐相关资源。不同用户通过资源智能检索功能搜索同一内容时,平台根据后台相关数据算法模型的推荐资源内容为不同用户展示最匹配的资源列表,方便用户快速找到所需资源。如教师搜索,平台倾向呈现教案、课件、评测等教学资源,但学生搜索时,平台更倾向于呈现学案、微课、作业讲解等学习资源。
(2)空间资源推送
网络学习空间是以用户为中心,支撑个性化学习的网络学习环境,满足用户知识管理需求,在实现空间互联互通的基础上,实现用户之间的资源交流。
图4 网络学习空间资源流转示意图
如图4所示,传统网络学习空间用户资源管理依靠用户的收藏、下载。上传方式是从平台的资源中心、其他教师空间和本地收集资源存入空间网盘,或者通过关注、订阅及时获取最新资源,筛选后存入空间网盘。在传统网络学习空间用户资源管理的基础上,大数据算法模型应用辅助用户动态、及时获取优质资源。如图5所示,网络学习空间智能推送模块依据用户学科属性、学习进展、好友关系、资源使用行为等数据进行分析和挖掘,为用户提供优质学习资源。
图5 网络学习空间资源智能推荐模块
(3)资源相关性推荐
相关资源推荐类似淘宝、京东等相关商品推荐,在用户浏览或下载资源时,提供与本资源相关的资源推荐,帮助用户进一步选择。传统资源推荐基于资源关键词、标签或者作者等相关信息。
如图6所示,基于数据分析和挖掘,该平台在传统资源推荐的基础上,根据资源相关性和用户相关性等算法将与本资源有内在相关性的资源推荐到“相关资源推荐”列表,提高了推荐的有效性。
2.算法模型应用的迭代优化
资源推荐算法的设计并非一劳永逸、一成不变。算法模型应用需要在资源推荐准确性和算法运行所需计算资源之间找到平衡点,在不断调整过程中迭代优化。
图6 平台相关资源推荐界面
(1)算法可视化反馈支撑参数调优
每一种算法均有相应的参数设置,如资源关联分析算法(FP-Growth)中,资源分析范围(暂设3个月),最小支持度minSupport(暂定0.01),最小置信度minConfidence(暂定0.8)等。需综合考虑输入数据的丰富性和计算性能的局限性,若资源分析范围过宽,尽管数据丰富性增强但同时也对计算性能提出更高的要求,用户获取推荐资源的周期也变长;同样,增大最小支持度和最小置信度,则有可能使推荐资源量极少,资源推荐效果不明显。
图7为平台算法模型应用结果可视化界面截图,反映了某算法一个周期内资源推荐用户的覆盖率、可推荐资源数、成功推荐的用户数和资源数,以及推荐给用户后用户的实际点击情况。根据可视化结果,可逐步调优参数以保证算法推荐资源量和用户覆盖率在一定值以上,同时观察实际点击情况以了解推荐资源的用户接受情况。
图7 算法模型应用结果可视化界面截图
(2)扩展和清洗数据进行数据化调优
数据化是大数据分析的基础,同时,数据化的范围、数据化过程中数据的清洗是一项不断调优的工作。从已实现的资源推荐算法可知,“资源评分”是一个广义的概念,除用户直接对资源进行评分外,用户的下载、收藏、浏览等行为也折算成相应的资源评分项,实现用户行为的数据化。
一方面,要深度挖掘数据输入,除将下载、收藏、浏览等行为折算成资源评分项外,还应将评论、分享等其他行为也应折算成资源评分项,甚至把鼠标移动轨迹和页面停留时间按规则折算成资源评分项;另一方面,对数据有效性需进一步评价,剔除无效数据,如在评论折算成资源评分项时要将一些简单评论,譬如 “好”、“不错”这样的评论去除,或对不同信誉度的用户在资源评分项折算时按不同权重折算。
(3)数据结构化处理实现聚类调优
教育资源公共服务平台的数字教育资源推荐可充分利用平台用户和资源数据结构化特性,在常用算法数据输入前,将不同维度上近似的用户和资源提前聚类,以群体代替个体进行资源推荐,避免算法的生搬硬套,提升资源推荐的匹配度,降低资源推荐的计算量。
如图8所示,聚类前置群体推荐先对用户进行X-API聚类,根据用户性别、学科、学段、爱好、区域、行为等数据构成用户画像,根据资源学科、学段、类型、知识点等数据构成资源画像。将这些属性特征分别在用户数据库和资源数据库中事先聚类,并选择出与推荐用户有相同属性特征的备选用户集和备选资源集,形成候选用户资源矩阵。算法应用基于候选用户资源矩阵。
图8 聚类前置群体推荐说明示意
四、结束语
本文只研究了教育资源公共服务平台内数据收集分析和资源推荐,后续将与接入平台的各学习应用之间实现数据交互和采集,依据真实教育教学业务形态,分析课堂教学、在线评测、教师研训等资源应用数据,进一步拓展资源推荐范围,提高资源推荐的精准度。