APP下载

基于个性化推荐的课程思政资源库设计

2022-11-12陈力帆毕振波

电子技术与软件工程 2022年17期
关键词:资源库物品数据库

陈力帆 毕振波

(浙江海洋大学信息工程学院 浙江省舟山市 316000)

1 引言

立德树人是高校培养人才的根本任务,高校需要把思想政治工作贯穿教学全过程,而在传统的高校教学中,思政知识仅放在为数不多的几门政治课中教授,专业课程只涉及专业教学,忽略思政知识。为解决高校教学中专业课程与思政课程不平衡的问题,亟需全面推进课程思政建设工作[1]。在计算机教育领域,课程思政建设已成为教学改革的重要内容,以数据库课程为例,数据库技术作为现代化信息管理的重要工具,相关从业人员不仅要注重数据的搜集、存储和管理,更需要学会正确使用和保护数据。因此高校教师要将思想政治教育融入数据库课程教学中,可以帮助学生培养法治意识,提升数据从业者的数据伦理道德。

随着互联网和大数据技术的发展,人们获取信息的方式越发多样化[2]。信息过载和各种碎片化信息导致教师很难从海量、庞杂的资源中筛选出能够满足教学需要的思政资源,学生也无法找到自己感兴趣的资源学习。

针对此类特殊场景,利用个性化推荐算法分析用户的行为记录,筛选出用户感兴趣的课程思政资源,结合Springboot框架技术进行Web开发,设计一个基于个性化推荐的课程思政资源库,对推进高校的课程思政建设有着深远意义。

2 系统分析与设计

2.1 关键技术

2.1.1 个性化推荐算法

(1)协同过滤推荐算法。其主要思想是以当前己有的历史评分信息来计算用户或物品项目之间的相似度,从而寻找用户的相似群体,获取相似群体感兴趣的物品生成推荐列表[3]。推荐流程分为以下几步。

第一步:构建评分矩阵。从系统中获取用户对物品的评分信息,构建的评分矩阵如公式(1)所示。其中rAB表示A用户对B物品的评分,如果用户对物品有过浏览或者评分行为,矩阵中rAB的值可以通过多个用户行为加权计算得出,如果用户对某个物品没有评分则对应位置为0。

第二步:计算相似度。利用上述矩阵计算用户之间的相似度,找出与当前用户兴趣接近的用户。相似度的计算有以下几种方法。

基于标准的余弦相似度。即任意两个用户之间的夹角余弦值,夹角越大余弦值越小,两个用户之间的相似度就越低;相反夹角越小余弦值越大,两个用户之间的相似度就越高。计算公式如公式(2)所示,其中rui和rvi表示用户u和用户v对物品i的评分。

基于修正的余弦相似度。修正的余弦相似度算法使用了项目得分和平均得分之间的差值,如公式(3)所示。其中rui和rvi表示用户u和用户v对物品i的评分,表示用户u和用户v对物品评分的平均值。

皮尔森相似度。该方法不会计算所有物品,而是计算用户共同评分项。其中Itemuv为用户公共评分集,如公式(4)所示。

第三步:选取推荐集合。对上一步计算出的相似度降序排序,选取前n个用户作为当前用户兴趣相似的用户,根据当前用户与相似用户的相似度,得到相似用户的偏好物品,计算当前用户对其未有过行为记录的物品偏好度,把偏好度最高的物品集合最为推荐候选集。计算方式如公式(5)所示。其中Nuv表示与用户u有共同评分的用户集合,rvi表示用户v对物品i的实际评分。

(2)基于内容推荐算法。基于内容的推荐算法的主要过程是通过分析物品的属性信息赋予物品关键字或标签,建立物品特征,然后基于用户偏好和物品特征构建两种特征向量,计算用户兴趣特征向量和物品特征向量的匹配程度,将匹配程度高的项目作为候选集推荐给用户。基于内容推荐算法主要分为三步:构造物品特征向量、构造用户特征向量得出用户偏好度、计算用户偏好度和物品特征向量的匹配程度[4]。

第一步,构造物品特征向量。从系统中获取到物品的数据,对数据进行信息抽取,分解出可以用于做标签的数据作为该物品的特征值,构建特征向量,又叫做特征提取。

第二步,得出用户偏好度。利用用户历史评分物品的物品特征向量,学习用户的兴趣爱好,从而构造用户特征向量。

第三步,相似度匹配计算。把获取到的物品特征与用户偏好度匹配,通过相似度计算方法计算物品特征和用户偏好的匹配程度,从物品的数据集中找到用户感兴趣的物品。选取前N个作为推荐候选集推荐给用户。

(3)混合推荐算法。其主要的思想是将两种或两种以上的推荐算法组合使用,利用多种算法的互补特性改善推荐效果。混合推荐算法不单单是算法之间的混合,还包括了选取数据之间的混合、算法使用场景之间的混合。混合推荐算法常见的组合方式主要分为以下几种[5]:

第一种,加权式。通过赋予几种推荐算法不同的权重,将多种推荐算法产生的结果以权重组合,对候选集物品得分最终加权计算得出的结果进行排序推荐。加权混合的得分计算如公式(6)所示,其中βk为第k个算法所占的权重,reck(u,i)为第k个算法中用户u对物品i的评分。 (6)

第二种,瀑布式。瀑布式混合是将一个推荐算法的推荐结果作为下一个推荐算法的初始值,产生的推荐集合在作为下一种的初始值,以此类推,逐层过滤,得到精确的推荐结果。

第三种,特征组合式。利用多个推荐算法从中抽取出特征数据,在选择其中一个算法作为主推荐算法生成最终结果。

第四种,掺杂式。混合多个推荐算法的结果,对不同推荐算法的结果去重、排序得到的物品集合推荐给用户。

第五种,切换式。根据用户的状态、用户行为记录的数量、物品的数量、标签的数量等变量,选取不同的推荐算法,对于刚注册的新用户可以根据用户注册时选择的标签采用基于内容推荐,对于老用户可以选择协同过滤推荐。

经过长期的发展,混合推荐算法因其良好的推荐效果逐渐成为一种主流的趋势。本文课程思政资源库采用混合模式的推荐算法。

2.1.2 Springboot框架

Springboot[6]是为了改进Spring开发中配置繁琐、部署效率低下而设计,旨在帮助开发者更加快速搭建Spring框架,Springboot极大地简化了Spring应用的搭建、开发、部署过程,取消了xml文件的配置,只要通过注解的方式配置即可。Springboot还默认嵌入了Tomcat容器,开发者直接将项目打成jar包即可运行,无需以war包的形式部署。Springboot构建的项目中使用starter模块来引用所需要的依赖,使项目的依赖管理更加简单,功能模块整合更加轻巧,易于理解和使用。

2.1.3 Vue框架

Vue[7]是一个可构建用户可视化界面的渐进式企业级前端框架,采用自底向上的设计模式,作为一种轻量级框架,Vue对于第三方库有很强的集成能力,同时,Vue可以和现代工具箱和各种支持类库相结合,还可以为复杂的应用程序提供驱动程序。Vue中的核心是响应式数据绑定与组合视图组件,响应式数据绑定可以根据数据变化自动更新视图,组合视图组件通过封装代码可以提高代码复用性以及降低数据耦合度。

2.2 功能需求分析

课程思政资源库的使用者分为普通用户和管理员两类,普通用户分为学生用户和教师用户,学生用户可以对资源库中的资源查看、下载和评分,教师用户可以查看、下载和上传资源。功能性需求主要为用户功能性需求、资源推荐功能性需求、管理员功能性需求。普通用户必须先注册个人信息才能登录查看、下载资源和对资源评分。管理员输入自己账号密码登录后可以对用户和资源的信息进行查看审核、添加资源、修改资源信息、删除资源等操作。系统的推荐功能可以通过读取用户对资源的行为记录从而找到相似的资源推荐给当前用户。功能模块图如图1所示。

图1:课程思政资源库功能模块图

2.3 系统总体架构设计

根据系统的需求分析和业务逻辑,可以将系统分为三层架构,分别是数据访问层、业务逻辑层、界面表示层。

数据访问层主要负责系统数据库的存储和交互,包括用户信息、思政资源信息、系统日志信息、推荐列表信息,对系统数据的增加、修改、删除、查看都是在数据访问层完成。

业务逻辑层作为系统的核心架构层,负责整个系统的业务流程和逻辑处理,业务逻辑层可以调用数据访问层获取用户数据和资源数据,根据用户对资源的行为记录采用皮尔森和余弦相似度计算用户、资源之间的相似度,通过混合推荐算法对其进行分析,得出资源推荐列表,将推荐数据存入系统数据库。

界面表示层作为系统程序的入口,负责在终端向用户提供操作和展示的界面,用户首先在界面表示层提交请求,随后该层就会调用业务逻辑层已经封装好的方法,最后服务器会将后台处理完成的数据通过表示层再展示给用户。在课程思政资源库中用户可以在表示层注册登录、查看个人信息、在线浏览搜索评价资源以及查看推荐列表。

2.4 数据库设计

课程资源库的设计采用了MySQL数据库进行数据存储,根据系统的整体功能和各实体之间的关系,利用关系规范化理论设计数据库表。主要包含了学生表(student)、教师表(teacher)、管理员表(admin)、章节表(chapter)、资源表(source)、评分表(score)。

2.4.1 管理员表

管理员登录系统后,权限有:学生管理、教师管理、资源管理。管理员表信息字段和字段格式如表1所示。2.4.2 学生表

表1:管理员表

学生表主要包含学生的基本信息,字段和格式如表2所示。

表2:学生表

2.4.3 教师表

教师表包含教师基本信息,字段和格式如表3所示。

表3:教师表

2.4.4 章节表

章节表存储思政资源所属的课程章节信息,课程中每个章节内容不同,所融入的思政元素类型也不相同。章节表的字段和格式如表4所示。

表4:章节表

2.4.5 资源表

资源表主要存储思政资源信息,有文本资源、音频资源、视频资源三种类型,每个资源有相对应的章节。字段和格式如表5所示。

表5:资源表

2.4.6 评分表

评分表主要记录学生用户对当前所学资源的评分,学生根据自己对资源的偏好度对资源进行打分。评分表字段和格式如表6所示。

表6:评分表

3 系统实现

3.1 开发平台及运行环境

系统的设计实现使用IDEA作为开发工具,由于IDEA对Spring框架有了完善的整合,便于项目开发。前端采用Vue框架,后端采用Springboot框架,数据库使用MySQL,Navicat作为数据库管理工具,服务器采用Tomcat8.5。

3.2 用户模块实现

3.2.1 用户注册

用户模块的基本功能包括用户注册、用户登录、用户个人中心。用户注册首先输入用户名、手机号、密码等个人信息,由于新用户对系统内的资源没有行为记录,存在冷启动的问题,所以新用户在注册时系统会提供思政资源的标签供用户选择,这样用户在刚进入系统没有行为记录的情况下,系统会根据用户选择的感兴趣的标签优先给用户推荐相关资源,在新用户对资源有过浏览、评分后会重新计算用户和资源之间的相似度,更新用户画像,再重新推荐资源。

用户完成个人信息填写和标签选择后,点击立即注册,JS脚本会首先验证用户信息的规范性,例如用户名、密码和手机号不能为空,两次密码输入必须一致,当有信息为空或者两次密码输入不一致时,系统会提示用户需要重新输入。如果用户信息输入规范,系统会将用户表单中的数据传到后台,进入下一步验证。

后端收到前端传来的数据后,通过调用findUserByName方法访问系统数据库检测是否存在重复的用户名,如果存在,提示用户重新输入用户名,如果不存在,则用户注册成功,进入登录界面。

3.2.2 用户登录

用户登录功能主要是验证能否在数据库中找到用户名、手机号和密码,从而判断用户信息的正确性。用户填写完个人信息后,点击登录按钮,前端将登录请求传到后端,收到请求后首先使用MD5加密工具类将用户密码加密成字符串形式,随后将用户名和加密后的密码交给UserController类中的login方法处理,login方法以用户名为参数调用UserService的findUserByName方法从数据库中查找用户信息,若用户名或密码与数据库中的信息不匹配,则登录失败并返回错误码,提示用户名或密码错误,若信息一样,则提示登录成功,并且服务端根据用户信息随机生成64位或者128位token,放入Redis数据库中,然后返回给客户端并存储在cookie中,设置一个有效期,在有效期内用户每次访问都携带此token,服务端去Redis中校验是否有此用户即可,无需再去数据库中查找,提高了服务器运行效率,同时避免用户每次登录重复输入,提升了用户的体验感。

3.2.3 用户个人中心

用户个人中心主要是用户信息维护功能,包括个人信息查询和修改。当用户点击查看个人信息时,服务器收到请求以用户编号为参数调用getUserList方法进入数据库查询用户信息,将得到的用户信息返回给浏览器。当用户点击编辑个人信息,完成信息修改并保存后,服务器同样以用户编号为参数调用updateUser方法修改相应的信息,将修改后的信息重新保存到数据库中。

3.3 资源模块实现

资源模块主要包括教师用户上传资源、学生用户浏览和下载资源、系统资源个性化推荐功能。

3.3.1 资源上传

教师用户完成注册和登录操作后会进入教师平台,在这里教师用户可以浏览下载相应的资源。资源上传是教师平台的核心功能,教师用户可以上传文本、音频、视频三种类型的资源,在资源上传过程中,首先选择需要上传的资源文件并填写资源名称、关键词以及资源包含的思政要素所属的章节目录,内容填写完毕后点击资源上传。服务器收到请求后会调用SourceController的addSource方法将资源添加到数据库中,并返回添加成功的提示信息。

3.3.2 资源浏览

学生用户和教师用户可以在资源展示界面浏览资源,资源库中的思政资源是以章节为目录进行展示。该资源库以数据库技术课程为例,根据数据库理论概述、关系数据库设计、数据库表操作、数据库编程、数据库安全这五个章节中的有关内容融入了相应的思政元素,将思政资源以文本、音频、视频三种形式分类展示以供学生更加直观清晰地浏览学习,点击视频资源时,会进入资源详情页面,资源详情包含资源介绍和关键字,方便学生在学习之前对资源有一个大致的了解。资源展示页面如图2所示。

图2:思政资源展示页面

3.3.3 资源个性化推荐

当用户处于登录状态时,系统可以根据用户的行为和资源的属性进行个性化推荐。该课程资源库使用协同过滤和基于内容推荐的混合推荐算法,具体流程为:针对没有历史行为记录的新用户,系统无法个性化推荐,会在用户注册时选择资源标签,从而根据用户选择的标签推荐相应的资源,也就是基于内容推荐。如果是有行为记录的老用户,首先读取包含用户编号、物品编号、用户评分三个属性的CSV数据集文件。第二步是计算用户之间的相似度,这里用的是基于修正的余弦相似度来计算,得到与用户偏好相似的k个近邻用户,若k>50,则选取前50个用户作为近邻。最后读取这些近邻用户所偏好的资源,根据资源名称从数据库中查找是否与目标用户偏好的资源一致,筛选出近邻用户喜爱的资源而目标用户无偏好的资源作为最终推荐列表,设置推荐列表数量为5,选取前5个资源作为结果。

4 结语

综上所述,本文基于Springboot和Vue框架设计一个数据库技术课程思政资源库,并提出一种基于协同过滤和内容推荐的个性化推荐算法作为该资源库推荐功能的技术。基于个性化推荐的课程思政资源库主要具备用户登录、注册、个人信息维护、资源上传、资源浏览、资源推荐等基本功能模块,根据数据库技术课程的章节分别融入相关内容的思政元素,以文本、音频、视频形式展现出来,有效解决了思政资源数量繁杂、内容不精的问题,对今后高校的课程思政建设以及学生道德素质的培养具有重大意义。

猜你喜欢

资源库物品数据库
称物品
“双十一”,你抢到了想要的物品吗?
贵州●石斛种质资源库
谁动了凡·高的物品
高中历史信息化教育资源库应用探索
福建基础教育教学资源库建设研究——以福建基础教育网资源库为例