陈强 贺丹 邓美玲
关键词:个性化推荐;知识图谱;协同过滤;内容过滤;Python
0 引言
随着大数据时代的到来,Python语言具有简单易学、可读性高、应用广泛等优点,被广泛应用于数据科学、人工智能、金融等领域。Python程序设计课程已成为高校许多专业的一门计算机通识课程,课程的教学目标是培养学生的计算思维能力,通过案例和实践体验引入学习Python的动力,让学生掌握运用计算机进行问题分析和问题求解能力,合理化专业知识体系的构建,为今后结合专业需求融入最新技术及其应用。但是,课题的开设存在学时少、内容多、面向专业群广。因此,学生在学习Python可能会面临一些挑战,主要体现在以下几个方面:(1) 缺乏计算机科学基础知识,理解变量、数据类型、语句等概念相对困难。(2) 短期内掌握所有Python语法结构和面向对象编程技术是不可能的。(3) Python提供了许多库和框架,学生理解和使用这些库和框架相对困难。(4) 无法深入理解Python在各个领域的应用。 (5) 教学内容和目标无法满足学生专业要求,使得学生缺少实际的实践机会。
在实际教学过程中,由于学生数量多,个性差异大,教师不能因材施教。因此,为了解决这一问题,有必要在教学过程中对学生实施个性化教学。个性化推荐系统[1]能够根据每个学生的兴趣、偏好和历史行为等信息提供个性化学习内容。在高校教学中的应用解决了实施个性化教学的难题,可以帮助教师更好地了解学生的学习需求和进度,从而更好地开展个性化教学。
本文提出一种基于个性化推荐的Python程序设计通识课混合式教学模式,采用了基于个性化推荐、线上线下的混合式教学模式,融入了基于协同过滤、内容过滤的个性化推荐,并利用知识图谱划分相关知识体系的专业兴趣方向。
1 相关研究
个性化推荐系统已广泛应用于电子商务、社交媒体、教育等诸多领域。这些应用基于协同过滤、内容过滤、知识图谱、深度学习等不同的算法和技术[1-2]。同时,个性化推荐系统在高校教学中的应用也是一个值得关注的话题。这些应用主要体现在推荐课程、学习资源、个性化评估等方面[3-4]。可以根据学生的兴趣、学习经历、成绩等信息为学生推荐课程。可以根据学生的学习需求和进度,为学生推荐相关的教材、视频、在线课程等学习资源。
个性化推荐知识图谱[2]是指根据学生的兴趣、偏好和需求自动生成适合学生的信息图。个性化推荐知识图谱的实现步骤[3]如图1所示。
1) 数据收集:收集与学生兴趣相关的文本、图像、视频等数据。
2) 特征提取:从数据中提取与学生兴趣相关的特征,如实体、属性、关系、事件等。
3) 模型训练:利用机器学习算法对模型进行训练,根据学生特征和数据特征预测感兴趣的知识点。
4) 知识图谱生成:根据模型预测结果,生成学生感兴趣的知识图谱。
5) 推荐优化:根据学生学习反馈和数据更新,不断迭代优化推荐算法和知识图谱内容,提高推荐准确度和满意度。
推荐系统中知识图谱可以通过数据挖掘、机器学习和自然语言处理等技术从海量用户和商品数据中提取并进行建模,帮助个性化推荐系统更好地了解用户的需求,做出精准的推荐,为用户提供个性化的学习和体验。例如,在教育领域,个性化推荐知识图谱可以帮助学生更好地理解知识点和课程内容。
2 基于个性化推荐的混合教学模式
2.1 知识图谱构建课程知识体系
知识图谱用于表达实体、概念及其之间的语义关系[2]。本文通过Python课程的知识图谱进行知识体系构建、学习画像生成再到自适应学习推荐,根据学习者在学习活动中出现的问题动态调整学习路径。Python程序设计通识课程的知识体系分为4个模块部分,如图2所示。
1) Python 基础知识:主要包括Python 的语法、变量、数据类型等。
2) Python 进阶知识:包括高级特性、面向对象编程、GUI编程等,是Python深入学习的知识。
3) Python 实践操作:Python 有许多工具和框架可以帮助提高开发效率和改善代码质量,常见的工具有PyCharm、Anaconda等。
4) Python 应用方向:包括网络爬虫和数据抓取、人工智能和机器学习、数据分析和科学计算等。
通过知识图谱构建的Python 程序设计通识课程的课程知识体系,学生能够清晰地了解并掌握该门课程所需学习的各方面知识。
2.2 协同过滤的个性化推荐
协同过滤是一种通过用户和项目之间的交互数据推荐可能感兴趣的项目的推荐算法[4]。本文通过协同过滤算法对历史课程知识点学习情况,根据每个学生的测试结果,利用协同过滤算法,预测学生没有掌握的知识点,推荐相应的课程学习相应的方式。
1) 收集学生线上测试数据。通过收集学生对课程不同知识点的答题情况,根据学生的自测结果将学生做错的题目对应的知识点检索出来,生成对应的0-1矩阵。
2) 找到相似的学生,将目标学生可能没有掌握的知识点检索出来。利用基于最近邻居的协同过滤推荐算法,根据用户之间存在的相互依赖关系,检索出学生可能没有掌握的知识点,并依据预先设定好的知识点相似度进行筛选。
3) 最后将推荐的知识点集合推荐给目标学生。对知识点内容进行整理,通过梳理课程知识点之间的框架关系,分别录入题库并做好标记。然后将这些知识点内容作为作业任务布置推荐给该学生。
通过协同过滤算法推荐的课程学习资源能够对学生的学习起到引导作用,有助于提高学习效率和学习成绩。
2.3 内容过滤的个性化推荐
基于内容的过滤方法基于项目的描述和用户偏好的配置文件[5]。本文使用内容过滤算法根据学生用户的偏好进行推荐感兴趣的知识点。内容过滤的学习内容模型如图3所示。模型基本思想从学习内容的难易度、交互性、其他3个方面过滤,从用户的角度进行思考,得出一个反馈的过程,方便学生用户学习。
内容过滤的个性化推荐根据用户登录时间、当前的学习内容、已经学习内容、学习主题等历史数据不断更新学生用户的相关偏好、学习习惯等,从而获得准确的用户信息,从而推荐相应的课程学习资源给学生用户。
2.4 线上线下混合式
利用现有线上丰富的教学资源,将个性化推荐教学与混合教学模式相结合,以因材施教为导向,旨在达到用户学习效果最大化。混合教学方式是基于现有丰富的多媒体网络设备而产生的一种线上线下相结合的教学模式。
Python程序设计通识课程课内共有32学时,其中理论24学时,实验8学时。课内学时安排在线下完成,理论学时着重介绍基础知识和经典案例,实验学时则用于指导学生进行实际操作。此外,还有部分内容通过课外线上完成,例如利用课堂派、雨课堂、学习通等平台。Python程序设计是一门实践性很强的课程,理论知识丰富,但多数需要通过上机实验来深化理解和应用。通过分析现有课程实验课教学实践,可以将该课程的实验内容分为两大主体部分:一是Py?thon IDE工具的基本操作实验,二是通过专业经典案例进行操作与实现。针对不同专业,设计了不同的实验案例,设置了不同形式的实验内容,以提供多样化的选择。不同专业Python程序设计通识课的经典案例详见表1。
3 教学考核及个性化评估
个性化考核评估[6]是一种根据个体独特特征和能力来评估和衡量个体的方法。它关注个人的素质、技能和潜力,而不仅仅是他们在团队或组织中的表现。在教育领域,采用个性化的方法对学生的学习进度、能力和兴趣进行评估,为每个学生提供量身定制的教育和支持,以满足他们的学习需求和发展潜力。通过使用不同的评估方法和工具,如调查问卷、互动提问、能力测试、学业表现评估、行为观察等,教育者可以更好地了解学生,并根据其特点和需求进行相应的教学和指导。对于本课程的考核,我们结合过程性评价与结果性评价两个方面,从多角度获取评估数据进行个性化评估。过程性评价包括考勤与课堂表现、作业和测验、学习日志、实验与报告等;结果性评价主要包括大作业(项目或论文报告)。采用个性化评估有助于我们关注学生个体的潜力和发展方向,鼓励学生在学习过程中发挥主动性和自主性,根据自己的兴趣和需求选择学习内容和方法,进而提升学习动机和效果。
4 结束语
在高校教学中实施个性化教学,有助于教师更好地了解学生的学习需求和进度,从而实现因材施教。本文提出了一种基于个性化推荐的Python程序设计通识课混合教学模式。该模式能够依据学生的兴趣、需求和能力,推荐符合其个性化需求的课程、学习资源和学习路径,对学生的学习起到积极的引导作用,有助于提高学习效率和学习成绩。