基于改进协同过滤算法的高校思政课程推荐系统研究
2020-10-13张凡刘国营
张凡 刘国营
摘 要: 针对目前高校思政教育课程设置存在的形式单一、针对性不强、缺乏协同效应、无法形成个性化协同育人机制等问题,开发了一款基于改进协同过滤技术的高校思政课程推荐系统,采用基于混合的协同过滤改进算法,通过引入基于用户兴趣时效性变化的逐步遗忘曲线,较好的解决了传统协同过滤算法存在的效率低、适应性弱、排新性等弊端。开发了对应的高校思政课程推荐系统,通过实际验证得知,该系统运行稳定,功能完整,具有较强的实用性、鲁棒性,对于营造师生协同共赢、形式多样、个性创新的高校思政教育氛围具有积极意义,符合新形势下高校思政教育“浇花浇根,教人教心”的立体育人模式趋势。
关键词: 协同过滤算法; 算法优化; 思政教育; 逐步遗忘曲线; 协同育人
中图分类号: TP319 文献标志码: A
Abstract: Aiming at the problems of single form, lack of pertinence, lack of synergy effect and incapability of forming personalized collaborative education mechanism in ideological and political education curriculum in colleges and universities, a recommendation system of ideological and political education curriculum in colleges and universities is developedbased on improved collaborative filtering technology. An improved algorithm of collaborative filtering based on hybrid is adopted, and a gradual forgetting tune based on the time-varying interests of users is introduced. The line can solve the disadvantages of traditional collaborative filtering algorithm, such as low efficiency, weak adaptability and novelty. A corresponding recommendation system for ideological and political courses in colleges and universities has been developed. Through practical verification, it is known that the system is stable, functional and complete, with strong practicability and robustness. It has positive significance for creating a win-win, diverse and innovative atmosphere for ideological and political education in colleges and universities. It is in line with the new situation that ideological and political education in Colleges and universities “watering flowers, watering roots, teaching people and teaching hearts” trend of three-dimensional educational model.
Key words: collaborative filtering algorithm; algorithmic optimization; ideological and political education; gradual forgetting curve; collaborative education
0 引言
思政教育課程作为开展高校思想政治工作的主渠道、主阵地,是实践高校育人机制的重要途径,也是高校理论课体系的重要组成部分,贯穿高等教育教学全过程,是高校培养社会主义建设者和接班人的重要制度载体[1],在强化高校在校生的价值引领、加强爱国奉献主旋律宣传教育,建立全员全过程全方位育人机制等领域发挥着基础性作用。习近平总书记在全国高校思想政治工作会议上的重要讲话从全局和战略高度指出了高校思政教育的若干重大问题,具有很强的政治性、思想性、针对性和可操作性,是新形势下开展高校思想政治工作的纲领性文件[2]。目前,高校思政教育大多采用大班级、公开课的方式进行集体授课,存在形式单一、针对性不强、缺乏协同效应、无法形成个性化协同育人机制等问题,基于上述不足,结合新形势下的高校思政教育信息化需求,开发了一款基于改进协同过滤算法的高校思政课程推荐系统,系统遵循软件工程一般化设计思想[3],对传统的协同过滤算法进行优化,引入混合协同过滤算法,通过引入基于用户兴趣时效性变化的逐步遗忘曲线,较好的解决了传统协同过滤算法存在的效率低、适应性弱,排新性等弊端[4]。上述系统的开发与应用为高校思政教育工作的开展提供了新途径,有利于提升学生在思政课上的综合素养,对于营造师生协同共赢、形式多样、个性创新的高校思政教育氛围具有积极意义[5]。
1 传统协同过滤算法的基本原理及不足
协同过滤算法利用群体智慧进行模糊推荐,基于交际范围内的共同兴趣点进行个性化与相关性推荐,该算法在海量的特征点中挖掘出基于推荐规则的若干个个性化兴趣点作为备选项。协同过滤算法具有较好的自适应性[6],推荐规则可以根据兴趣点不同而自适应调整;协同过滤算法对长尾关键词依然有效,可以较好的解决长目录兴趣点识别与推荐问题;协同过滤算法只依赖于用户的单维度行为,不进行维度扩展,无需对推荐与预测的内容进行深入了解,具有广泛的实适用性。协同过滤算法也具有固有缺陷,主要表现在其采用初始数据冷启动模式,在算法启动阶段需要收集大量的用户行为列表[7],不适用某些起始数据缺乏的场景。由于协同过滤算法采用群体智慧进行模糊推荐,往往无法很好给出推荐的依据与机理,不适用某些逻辑性较强的应用场合。
根据针对点不同,协同过滤推荐算法可以分为两类,分别是基于用户的协同过滤算法(UB-CF)和基于物品的协同过滤算法(IB-CF),本文以基于物品的协同过滤算法为例说明传统协同过滤算法的基本原理。如图1所示。
基于物品的协同过滤算法通过用户对某一商品的个性化评分来建立商品之间的列表关系,然后基于商品之间的列表关系对用户进行推荐并预测用户的兴趣点[8]。用户对某一商品的评分代表用户对商品的态度和偏好,如果用户同时购买了两种不同的商品,则表明两种商品之间具有列表关系,二者具有较高的相关性,当用户再次购买两种商品中的一种时,另一种商品则可以预测为用户的潜在需求。
与基于物品的协同过滤算法逻辑示意图相对应,首先建立不同用户对若干商品评分表,获得若干商品之间的相似度情况,然后进行欧几里德距离评价,得出欧几里德距离表,分析不同商品之間的关系密切度的定性关系[9],最后进行皮尔逊相关度评价,得出皮尔逊相关度评价表,得出不同商品之间的关系密切度定量值,然后依据这些商品间的相关度对用户进行商品推荐。为了验证模型的实际效果,在Python 3.5.2环境下对模型进行编程实现,调用可视化仿真窗口得出商品间的相关度散点图,如图2所示。
2 基于改进协同过滤算法的高校思政课程推荐模型设计2.1 高校思政课程推荐模型的建立
传统的协同过滤算法通过对比定量形式的关联程度来表征偏好性,利用最近兴趣点集合中的对象协同合作来进行预测并产生推荐对象,传统的协同过滤算法利用前期收集的冷启动数据集,通过固定的策略可以实现较好的推荐效果[10]。传统的协同过滤算法在引入初期,由于没有大量的可靠数据,存在较严重的数据稀疏性,无法有效的为目标用户找到最近兴趣点集合,造成算法实时性较差,当数据稀疏性达到极端时易出现新用户冷启动问题,造成系统的扩展性较差。考虑到高校思政课程推荐系统的受众相对固定且层次一致,采用基于物品的协同过滤算法建立高校思政课程推荐模型[11],建模过程如下:
(1) 收集用户行为数据
为了避免起始数据稀疏性,通过多种形式收集学生的思政课程偏好数据并根据兴趣点的不同进行分组,形成初始冷启动数据集;对初始冷启动数据集进行预处理,为了消除数据集中存在的噪声和用户的误操作,采用数据挖掘算法进行数据噪声的过滤,为了把数据集约束在[0,1]内,需要对数据集进行归一化处理,一般做法是将各类数据除以此类中的最大值。
(2) 进行相似度的计算
采用基于向量的方法进行相似度的定量计算,基于欧几里德距离计算理论,假设x,y是n维空间中的任意两个点,它们之间的欧几里德距离,如式(1)。d(x,y)=(∑(xi-yi)2)
(1) 根据公式(1)可知,当n=2时,欧几里德距离就是平面上两个点的距离,为了利用欧几里德距离进行相似度定量计算,对公式(1)进行形式变换,如式(2)。sim(x,y)=1/1+d(x,y)
(2)其中,x,y之间的距离可以表征学生对某一门思政课程的定量偏好程度。
(3) 基于相似度门槛的邻居计算
在获取学生对某一门思政课程的定量偏好程度的基础上,根据定量偏好程度寻找学生-思政课程的邻居,基于时效性考虑,选用基于相似度门槛的邻居计算方法,如图3所示。
对学生-思政课程的邻居进行最大值的限制[12],基本原则是保证落在以当前点为中心,距离为K的区域中的所有点都作为当前点的邻居,该算法可以获取不确定个数的学生-思政课程的邻居,但是定量偏好程度不会出现大的波动与偏差,特别是在处理孤立点时具有明显优势,提高了学生-思政课程邻居计算的一致性。
(4) 计算推荐
基于相邻学生和相邻思政课程信息,形成计算推荐机制,就是将所有目标学生对某一门思政课程的偏好作为一个向量来计算学生-思政课程之间的相似度,得到针对某一门思政课程的的相似课程后,根据目标学生历史的偏好预测当前学生还没有表示偏好的思政课程,计算得到一个连续有序排列的思政课程列表作为推荐与预测列表。2.2 高校思政课程推荐模型的优化
为了改善传统协同过滤算法存在的不足,强化高校思政课程推荐模型的实时性,扩展高校思政课程推荐模型的适用范围,提出并实现了一种基于改进协同过滤算法的高校思政课程推荐模型。基于高校思政课程推荐系统的实际需求,采用基于混合的协同过滤改进算法,通过引入基于用户兴趣时效性变化的逐步遗忘曲线,较好的解决了传统协同过滤算法存在的效率低、适应性弱,排新性等弊端,模型优化过程如下:
(1) 引入历史偏好融合机制
为了克服由于起始数据稀疏性造成的起始用户冷启动问题,引入历史偏好融合机制,将所有学生的历史偏好信息进行分组融合,根据学生-思政课程评价矩阵按照基于内容的兴趣点相似性高低形成历史偏好融合相似集,计算思政课程间的相似性。如式(3)。sim(i,j)=∑u∈U(Rui-i)(Ruj-j)∑u∈U(Rui-i)2∑u∈U(Ruj-j)2
(3) 式中U表征所有学生的集合,Rui和Ruj分别表征某一周期内学生u对思政课程i和j的历史偏好数据,i和j分别表征思政课程i和j的历史偏好数据在某一周期内的均值得分。
(2) 引入基于用户兴趣时效性变化的逐步遗忘曲线
为了适应学生评分信息在时间维度上的多变性,把历史偏好融合相似集扩展为动态数据集,逐步适应新时期高校在校生兴趣点动态变化的实际需求,提高推荐的个性化、针对性、准确性。针对学生兴趣点转移较快的情况,学生对于时事的偏好,导致推荐效果与时间的相关性非常大,通过引入基于学生兴趣时效性的遗忘曲线R=e-ts并对公式(3)进行优化,引入时间衰减因子s(u,v,i),融入时间对推荐规则的影响,则时间衰减因子表示如式(4)。s(u,v,i)=e-αtui-tvitimax-timin
(4) 式中tui表征学生u对思政课程i产生偏好并评分的时间,tvi表征学生v对思政课程i产生偏好并评分的时间,tui-tvi表征学生u和学生i对思政课程i产生偏好的时间差,timax表征思政课程i被偏好的最大时刻,timin表征思政课程i被偏好的最小时刻,α表示时间衰减因子的衰减速率,基于上述分析,公式(3)可以优化,如式(5)。sim(u,v)=∑i∈luv(Rui-i)(Ruj-j)s(u,v,i)∑i∈luv(Rui-i)2∑i∈luv(Ruj-j)2
(5) 式中,在计算学生u和学生v之间的思政课程偏好相似程度时,引入了基于学生兴趣时效性的遗忘曲线R=e-ts和时间衰减因子s(u,v,i),明确了时间变化对推荐规则的制约,表明学生u和学生v对思政课程i产生偏好的时间相隔越久,学生之间相似性因为时间衰减因子的加入产生的影响就会越小。
2.3 模型仿真验证
为了验证引入历史偏好融合机制、融入基于用户兴趣时效性变化的逐步遗忘曲线机制后的高校思政课程推荐模型的实际工作效果,为了具有一般性和客观性,采用GitHub开源平台提供的基于Python 3.5.2内核的Sklearn库(通过编程设定规模、特征、目标、噪声等多维限制,利用sklearn库生成符合条件的模拟数据集),同时利用MovieLens-100k数据集为对照数据集,从思政课程推荐准确率、召回率、覆盖率、流行度等多维度对优化后的模型进行了仿真验证,基于Python 3.5.2编译内核,在PyCharm 3.5环境下进行图形化示意仿真,采用显著差异标识在仿真图中给出对比曲线,实验用数据集最终仿真结果如图4—图7所示。
为了使Sklearn库提供的测试数据集更贴切高校思政课程推荐模型,对用户兴趣数据集和用户隐形兴趣数据集进行了回归映射处理,提高了数据集的纯净度,降低了数据集的冗余度,提高了仿真效率。
3 基于改进协同过滤算法的高校思政课程推荐系统设计3.1 系统的功能逻辑设计
通过实际调研一线师生,形成了对基于改进协同过滤算法的高校思政课程推荐系统的功能性需求分析,在此基础上,对系统的功能逻辑进行设计,遵循软件工程设计的一般流程,对系统的整体功能框架进行设计[13],系统采用B/S架构搭建实现框架,如图8所示。
系统的功能模块设计遵循实用性、模块化、可扩展的原则,系统的核心模块主要包括高校思政课程选课子模块、高校思政课程学生评价子模块、高校思政课程推荐子模块、系统维护与更新子模块等组成,各个子模块在系统工作流的控制下协同工作,构建高效实用的高校思政课程闭环动态推荐机制,形成良性循环,为高校思政教育工作的开展提供基础性保障。
3.2 系统工作流模型设计
基于系统的功能逻辑设计思路,结合软件工程中工作流技术的一般模型,对系统的工作流模型进行设计,保证系统按照预定流程运转[14]。如图9所示。
在确定好应用学生群体之后,进行系统初始化操作,主要完成学校目前开设的思政课程信息和以往历史周期内的学生对各门课程的偏好信息的录入并对系统数据仓库写入初始值,作為改进协同过滤算法的初始冷启动数据集;启动思政教育课程个性化评分机制,从多维度效果评价对高校制定的个性化思政教育方案进行评价;启动思政教育课程个性化推荐子模块,针对不同学生个体进行个性化精确思政课程推荐,提高学生的兴趣点,确保形成高校思政教育“浇花浇根,教人教心”的立体育人局面。
3.3 系统实现环境配置
基于系统面向群体的考虑,系统的实现环境应该具有通用性,可以方便学生在宿舍等日常生活环境中对系统进行便捷访问,基于系统的工作流模型[15],在VS2016环境下对系统进行编程实现,系统运行在微软兼容性较强的Windows 8操作系统平台,服务器采用的硬件设备 CPU为英特尔酷睿i5,主频2.4GHz,系统运行内存为8GB,存储空间2TB,网络带宽50M独享,系统数据存储软件是微软的MS-SQLServer2016。为了提高系统的可移植性,采用模块化设计思路,通过调用动态链接库文件(.dll文件)的形式开发了一款基于改进协同过滤算法的高校思政课程推荐系统[16],该系统可以实现高校思政课程的选课与课程评价、学生对特定思政课程的偏好数据统计、针对不同学生个体进行个性化精确思政课程推荐等功能。
4 总结
为了更好的满足新形势下高校思政教育“浇花浇根,教人教心”的立体育人发展趋势,积极营造师生协同共赢、形式多样、个性创新的高校思政教育氛围,针对目前高校思政教育课程设置存在的机械僵化、针对性不强、缺乏协同效应、无法形成个性化协同育人机制等问题,开发了一款基于改进协同过滤技术的高校思政课程推荐系统,采用基于混合的协同过滤改进算法,通过引入基于用户兴趣时效性变化的逐步遗忘曲线,设计了经过优化的高校思政课程推荐模型,通过仿真表明,该模型较好的解决了传统协同过滤算法存在的效率低、适应性弱,排新性等弊端。系统可以实现高校思政课程的选课与课程评价、学生对特定思政课程的偏好数据统计、针对不同学生个体进行个性化精确思政课程推荐等功能,系统设计逻辑清晰,内在工作逻辑符合软件工程的一般要求,功能模块之间划分合理,较好地完成了预期设计目的,初步具备在我国高校推广使用的条件。
参考文献
[1] 孙彦超, 韩凤霞. 基于协同过滤算法的个性化图书推荐系统的研究[J]. 图书馆理论与实践, 2015(4):99-102.
[2] 赵文涛,成亚飞,王春春.基于Logistic时间函数和用户特征的协同过滤算法[J].计算机应用与软件,2017,34(2):285-289.
[3] 国强,张旭虎.基于协同过滤算法的MOOC个性化推荐系统[J].信息技术,2017(6):99-103.
[4] 高德毅, 宗爱东. 从思政课程到课程思政:从战略高度构建高校思想政治教育课程体系[J]. 中国高等教育, 2017(1):43-46.
[5] 高德毅, 宗爱东. 课程思政:有效发挥课堂育人主渠道作用的必然选择[J]. 思想理论教育导刊, 2017(1):33-36.
[6] 史巍. 论以“课程思政”实现协同育人的关键点位及有效落实[J]. 学术论坛, 2018, 41(4):174-179.
[7] 周朝进, 王玉珍. 基于改进协同过滤算法的农产品个性化推荐研究[J]. 邵阳学院学报(自然科学版), 2017(6):28-36.
[8] 何明,孙望,肖润,等.一种融合聚类与用户兴趣偏好的协同过滤推荐算法[J].计算机科学,2017,44(S2):391-396.
[9] 董卓宁. 运用学生大数据提升高校思想政治工作精准度[J]. 思想理论教育, 2018(4): 108-111.
[10] 王建芳,刘冉东,谷振鹏,等.一种改进专家信任的协同过滤推荐算法[J].计算机应用研究,2018,35(2):354-357.
[11] 吴彦文,齐旻,杨锐.一种基于改进型协同过滤算法的新闻推荐系统[J].計算机工程与科学,2017,39(6):1179-1185.
[12] 王余斌,王成良,文俊浩.基于用户评论评分与信任度的协同过滤算法[J].计算机应用研究,2018,35(5):1368-1371.
[13] 王袁媛. 基于高校思政课程教育移动学习系统的微视频功能设计研究[J]. 自动化技术与应用, 2018, 37(11):55-58.
[14] 何平月.“互联网+”背景下高校思政教育创新模式发展研究[J].宿州教育学院学报,2017,20(3):100-101.
[15] 杜晓霞.基于B/S模式的思政网络教学系统开发与设计[J].自动化与仪器仪表,2017(5):246-247.
[16] 王晓萍.基于VOD的思政网络教学系统的开发与设计[J].电子设计工程,2017,25(3):49-52.
(收稿日期: 2019.06.22)