线上学习系统个性化课程推荐模型算法设计
2021-11-07钟亚妹
钟亚妹
摘要:文章结合某线上学习系统的实现与测试,对该系统的总体设计展开分析。同时简单阐述该系统建立期间基于用户、基于项目的协同过滤推荐算法设计,提出系统开发阶段中Spring Boot和Mybatis的框架设计要点,旨在优化线上学习系统推荐功能,满足用户个性化课程推荐需求。
关键词:线上学习;系统;个性化;课程推荐;模型算法
中图分类号:TP311 文献标识码:A
文章编号:1009-3044(2021)25-0130-02
线上学习系统是近年来教育信息化建设中的重要产物,个性化课程推荐模型算法是该系统开发中的核心内容,可为用户提供个性化课程推荐需求,使用户更为高效的获取课程信息,完成自身学习任务,增强用户在线上学习时的体验感。但是在设计个性化课程推荐算法时,技术人员仍需合理构建算法模型,加强算法应用中的测试工作。
1 系统实现与测试
不同学习主体,其所需学习课程有着较大差异性,基于个性化课程推荐的线上学习系统,其基本概念是利用模型算法,记录、分析用户行为数据,自动生成兴趣模型,随后根据模型为用户推荐个性化服务。线上学习系统个性化课程推荐模型的实现,可有效节约不同用户浏览时间,优化用户学习体验[1]。具体来说,本文所设计的线上学习系统,其编程语言为 Java,可在 MyEclipse开发、测试该系统。系统结构设计中,Tomcat为Web服务器,框架结构为J2EE,如图1所示。
如图1所示,该线上学习系统中,用户可在B/S模式作用下,利用视图层与界面内的WEB浏览器交互,获取该浏览器客户端信息,完成注册、登录、浏览等工作。控制层具有使功能界面跳转的作用,用户登录成功后,系统会在密码输送后自动进入HTTP请求状态中,判定用户线上课程学习需求,相应用户的HTTP请求[2]。测试线上学习系统时,相关人员可模拟用户将“学习请求”发送到控制层,使其与数据层、“个性化推荐模型层”交互后,响应用户请求,而用户所提交的请求,在系统内可通过代码的方式,准确的推荐对应的课程资源。例如在上述系统中,模型在获取用户信息后,描述可推荐课程资源时,可输入以下代码:
INSERT label (label label ){
String sq1=select *from label where name=?
String [] paras={label. Get name()}
ARRAY list al=new SQlhelper()
......获取成功
掌握用户基本信息后,系统可针对性的为用户推荐个性化课程,按照用户的资源群请求、浏览记录,自动运行推荐模型,搜索数据层,在数据库内寻找Top-N个可推荐的课程资源,将其显示在用户浏览界面中[3]。
2 总体设计
个性化推荐模型算法中,其主要支撑的模块有推荐模块、用户兴趣模块、推荐对象。设计线上学习系统时,相关人员可在建设课程资源库的基础上,按照用户兴趣推荐算法将用户所需个性化课程模型化,并借助该算法过滤课程资源,推荐用户该兴趣的个性化课程,具体推荐模型设计思路如图2所示。
上述图片中,线上学习系统个性化课程推荐模型算法的主要作用是获取、分析用户兴趣,随后为用户筛选课程资源,应用课程推荐算法,构建足够准确的推荐模型。在设计、建立用户信息模型算法时,设计人员需保障模型内数据分析的准确性,同时按照用户特征属性,描述用户所需的课程资源,针对性的为用户提供个性化课程推荐服务[4]。
3 算法设计
本文基于线上学习系统功能需求,所进行的个性化课程推荐算法,主要是从课程内容、用户角度、算法项目本身构建的,具体设计方案如下:
3.1 个性化内容推荐算法
设计以个性化课程推荐内容为核心的算法时,基本步骤为:第一,构建用户特征向量、课程资源向量、用户特征计算向量,同步分析三者的匹配度。其中系统内项目会呈现出非结构化、结构化特点,在设计推荐模型算法时,需重点测定模型内各特征向量,且用文本信息表示相关向量[5]。第二,基于用户特征向量,采集用户兴趣信息,运用Rocchio算法、KNN算法建立该模型。在此期间,设计人员可将用户信息视为登录向量,待用户完成登录任务后,利用算法公式,获取用户特征向量,具体公式为:[wu=β·1Irjwjw-r·1Inrwk∈inrwk]。其中wj可表示算法模型中item j属性,Inr、Ir为用户兴趣集合,而β、r为算法模型中用户喜欢、不喜欢的反馈权重。第三,根据用户历史浏览信息,充分评估内容特征向量,测试各向量匹配程度。确定各算法模型数据后,完成个性化课程推荐模型算法设计。第四,应用协同过滤技术,将模型参数集中在推荐对象个性化信息评价中,随后根据Rocchio算法中的wj的变化,实时更新用户需求反馈,提供个性化课程推荐服务。
3.2 个性化的用户推荐算法
在基于用户设计个性化课程推荐算法时,可借助KNN算法,采用向量运算的方式,选取K值,评估与用户浏览信息较为相似的课程资源[6]。该算法设计的基本原理,是结合不同用于浏览信息的相似度,利用python解析用户相关文本信息,完成个性化课程资源推荐工作。在此期间,设计人员可通过交叉验证的方式,模拟课程推荐期间模型参数的变化,记录KNN算法应用中不同设计方案的实际效果,完成线上学习系统课程推荐设置。
3.3 个性化项目推荐算法
个性化项目推荐算法,是从用户、内容角度逐渐过渡至项目算法,其算法设计原理同样为分析模型中各用户参数的相似性。具体模型构建过程中,是按照Naive Bayes算法,对系统数据库内文本、视频资源实施分类,并借助NB代碼,分析用户个性化课程推荐中的profile learning问题,设计用户感兴趣、不感兴趣的item。确定数据库item类别后,选取属性独立、概率相同的数值,对用户历史信息进行时数据训练,分析不同用户对某课程项目的喜好的相似性[7]。例如1号用户感兴趣的项目可分为A~C,2号用户喜欢C项目和A项目,该算法可感知某课程项目喜欢的用户数量为2个,以此类推,确定最终的算法模型设计方案,建立线上学习期间个性化课程、用户向量的评分矩阵,积累相似项目群,评估用户对课程资源的喜爱程度,完成排序后,使其进入候选推荐版块,用户发出浏览请求后,将其推荐给用户。