《电子技术应用》
您所在的位置:首页 > 嵌入式技术 > 设计应用 > 基于数据挖掘的学习推荐系统的研究
基于数据挖掘的学习推荐系统的研究
2014年微型机与应用第23期
王晓波
(北京信息科技大学 信息管理学院,北京 100192)
摘要: 为了让学习者在学习过程中能够快速获得所需的知识和核心内容,首先给出一个采用xml格式的多层次知识库,并基于学习者的身份特征、学习行为和测试结果,利用改进的协同过滤算法和基于约束的推荐算法,发现学习者的潜在学习需求,完成知识推送和个性化学习定制。最后,对学习推荐系统进行了实现。所研制的系统满足了学习者获得所需知识和学习指导的需求,提高了学习者的学习效率。
Abstract:
Key words :

  摘 要: 为了让学习者在学习过程中能够快速获得所需的知识和核心内容,首先给出一个采用xml格式的多层次知识库,并基于学习者的身份特征、学习行为和测试结果,利用改进的协同过滤算法和基于约束的推荐算法,发现学习者的潜在学习需求,完成知识推送和个性化学习定制。最后,对学习推荐系统进行了实现。所研制的系统满足了学习者获得所需知识和学习指导的需求,提高了学习者的学习效率。

  关键词知识推荐;学习需求;个性化;学习引导

0 引言

  《国家中长期教育改革和发展规划纲要》提出要“以学生为主体,以教师为主导,充分发挥学生的主动性”、“为每个学生提供适合的教育”、“把提高质量作为教育改革发展的核心任务”。因此,为学生营造一个可以主动思考、个性化、自主学习的环境尤为重要。

  随着计算机技术和网络技术的迅速发展,具有个性化、自主性、主动性和非时空性特征的网络自主学习已经成为人们关注的热点。一些学校和机构都纷纷建立教育资源共享服务平台,提供大规模的开放课程,让学生可以利用网络化教学平台进行交互学习,同时也开发一些网站(如http://www.lifegrowing.com/ceha/)对自主学习模式进行探索。

  当前网络自主学习存在如下问题[1]:(1)为学习者所提供的网络环境(平台)对于海量的学习资源无法进行有效整合,学习者很难快速找到和定位自己所需要的学习资源;(2)不能根据学习者的行为特征,挖掘出学习者隐含的学习需求;(3) 缺乏个性化的知识推送及学习路径的动态生成机制;(4)学习资源的格式各种各样,缺乏语义,机器难于理解和自动处理。

  针对上述问题,本文对学习需求的挖掘算法、知识推送算法和知识库的构建方法进行了研究和探讨。

1 学习推荐系统的设计

  学习推荐系统实质是一个借助机器学习算法的系统,该系统根据预先获取的学习者基本信息、偏好、学习行为和测试结果,发现学习者的显性和隐性学习需求,主动从知识库中搜索出符合学习者需求的知识,动态生成学习路径,促使学习者更好的完成学习。

  1.1 系统总体框架

  学习推荐系统的总体框架如图1所示。

001.jpg

  系统的主要流程如下:

  (1)对于首次使用系统的学习者,系统首先进行问卷调查,并记录其个人信息,然后根据学习者的个人档案和调查结果,从知识库中提取并推荐专业领域的相关知识,如知识体系、前沿资讯和主要参考文献等,完成初步的知识推送。

  (2)学习者可以对推送的知识进行评价,在使用个性化知识推送系统过程中,系统会不断收集学习者的所有学习行为,这些数据都被记录在个人档案及学习行为库中。

  (3)系统根据个人信息和学习行为、测试结果等,发现潜在的学习兴趣点,即学习需求挖掘。

  (4)系统根据学习者的反馈结果、学习需求、学习绩效以及各知识点之间的关系,提供知识推送。

  (5)学习者根据系统的推送内容进入下一环节或主题的学习。

  1.2 构建个人档案及学习行为库

  “个人档案及学习行为库” 为学习需求的挖掘提供依据,主要保存了学习者个人信息(如性别、年龄、专业、兴趣爱好等)、学业信息(年级、学习目标、学习计划、学习进度、学习绩效等)、学习活动记录(学习者所学学科知识的学习情况、学习者进行信息检索和主题讨论的记录)、评价信息(学习者对所推荐的学习路径、学习材料、信息搜索结果等的评价、学习者的自我评价)等。所有这些信息都保存在数据库中。以下是“个人档案及学习行为库”中的部分关系模式:

  学习者个人信息(学习者编号,姓名,性别,专业,电子邮箱,出生日期,照片)

  学习知识点(知识点编号, 学习者编号,开始学习的时间,退出学习的时间,操作)

  信息检索(编号,关键词,搜索结果,搜索时间)

  测试(测试编号,学习者编号,试卷编号,用时,分数,测试时间)

  提问问题(问题编号,学习者编号,问题内容,提问时间)

  主题讨论(讨论编号,讨论主题,读帖数、发帖数,进入页面时间,离开页面时间)

  1.3 构建知识库

  知识库中存储了专业、课程、知识点和相关的教学、科研资源。知识处理模块负责将外部数据(本地其他教学网站的数据、互联网上的教育资源)通过分类、清理、转换生成基于xml格式的多层知识库。知识库的层次结构如图2所示。

002.jpg

  在知识库的层次结构中,专业为最高层,用一个majorList.xml文档来描述专业信息以及每个专业所包含的课程(用课程ID来标识课程),课程信息通过courseList.xml文档来描述,专业和课程之间为多对多关系。每个课程包含一个多层次描述的章节知识树,用独立的section_courseID.xml来描述,xml文档内的章节知识点均使用SectionNode来表示,SectionNode允许层次嵌套。每个章节知识点包含一个或多个元知识点,用独立的knowledgesectionID.xml来描述,元知识点是最小单位的知识点,不能再分(如一个概念、一个定理等)。每个元知识点包含相关的教学资源、科研资源、背景资源、拓展资源和其他附件资源。这些资源的形式是多样的,可以是word文件、PDF文件、文本和视频等。在描述章节知识点和元知识点属性时,不仅包括编号、名称、关键词、难易程度、重要程度等,还要表明知识点之间的关系。知识点之间的关系主要有[2]:

  ⑴ 先后关系:在学习过程中,知识点和知识点之间存在先后顺序,即一个知识点当前是否可以学习取决于另外一些知识点是否学习过。

  ⑵ 选择关系:在学习过程中,具有选择关系的知识点具有共同的前驱知识点,它们可以互相替换,可以使用不同的教学方法达到相同的教学目的,这样可以根据学习者的喜好、特点等选择最适合其学习的知识点。

  ⑶ 扩展关系:有的知识点是另外一些知识点进一步深化的内容,可根据学习者的学习目标、类型等选择是否学习。

  1.4 学习需求的挖掘算法

  学习需求的获取有两种,一种是根据学习者的行为进行自动的收集和挖掘,发现其个性特点和兴趣点;另一种是根据学习者的身份特征(如:所学专业、当前学习阶段等)进行学习需求的挖掘。

  1.4.1 根据学习者的身份特征进行学习需求的挖掘

  如果学习者是首次使用本系统,没有学习行为数据,此时采用基于用户注册信息来发现潜在的兴趣点。算法的基本方法是:将学习者的性别、专业、出生日期、所在年级和爱好等属性作为一种特征,计算每种特征的学习者感兴趣的知识点。也就是说,对于每种特征f,计算具有这种特征的学习者对每个知识点的感兴趣程度p( f, i )[3] :

  1.png

  其中N( i )是对知识点i感兴趣的用户集合,U( f )是具有特征f的用户集合。

  用户是否对知识点i感兴趣可以通过用户访问该知识点的学习资源所用时间以及访问频率来判断。由于学习资源内容的多少对实际访问时间的影响,所以采用单位时间更合理。具体计算公式如下:

  2.png

  其中Fr(i,j)为用户j访问知识点i 的单位时间,Dur(i,j) 为用户j访问知识点i 的频率。

  设定一个阈值k,当q(i,j)大于阈值k时就可以认为用户j对知识点i感兴趣。

  对每种特征设置一定的权重(如专业特征、爱好特征的权重设置大些,出生日期特征的权重设置小些),将计算出来的p( f, i )按照一定权重相加,就可以得到学习者的学习需求了。

  1.4.2 根据学习者的行为进行学习需求的挖掘

  如果系统已经保存了学习者的学习行为数据,就可以利用这些数据来修正用户潜在的兴趣点,使其贴近学习者的真实需求。具体算法描述如下:

  ⑴ 计算知识点之间的相似度[3]:

  3.png

  ⑵ 计算用户u对一个知识点j的兴趣:

  4.png

  其中,N(u)是学习者感兴趣的知识点集合,S(j,k)是与知识点j最相似的k个知识点的集合, Wji是知识点j和i的相似度,rui是用户u对知识点i的兴趣(如果用户u学过知识点i,即可令rui=1)。

  通过以上算法就可以得到和学习者历史上感兴趣的知识点关联度高的知识点列表。所挖掘出来的知识点用于知识推荐。

  1.5 知识推荐算法

  系统根据学习者感兴趣的知识点、知识点之间的关系和难易程度生成学习路径,学习者选择路径中相应知识点后,系统将组织好的个性化学习资源呈现给学习者。学习者学习到一定阶段后,可进行学习效果的测试和自评,以检验学习效果。系统根据检验的学习效果,调整后续学习的内容[4]。

  生成学习路径的方法如下:

  ⑴ 根据学习需求,查询知识库,找出与学习需求存在上下层关系、先后关系、选择关系和扩展关系的元知识点,形成元知识点集合;

  ⑵ 如果查询到的元知识点是相对独立的,与其他知识点没有关系,可以直接将与该知识点相关的学习资源推送给学习者;

  ⑶ 对于非独立的知识点,首先按照知识点的层次结构,生成初步的学习路径,然后再结合学习者的主动反馈或学习过程中的测试成绩,按照一定的规则调整学习内容[5]。系统主要采用IF……THEN……的推理规则来调整下一阶段的学习。例如: IF 学习者没有达到当前知识点的通过阈值并且有选择关系的知识点,THEN学习内容为选择关系的知识点;IF学习者没有达到当前知识点的通过阈值并且没有选择关系的知识点,THEN学习内容为当前知识点;IF 学习者达到当前知识点的通过阈值并且有后序知识点,THEN学习内容为后序知识点。

2 学习推荐系统实现

  系统采用三层B/S架构,使用ASP.NET进行开发。三层架构的后端为数据库服务层,选择SQL Server数据库保存个人档案及学习行为信息,知识库和测试题库采用xml格式的文件;中间为应用服务层,提供逻辑处理;前端为用户客户端,为用户提供良好的人机交互画面。

  学习推荐系统界面如图3所示。

003.jpg

3 结论

  目前,以学习者为主体的个性化自主学习已经成为网络教学的一个发展趋势和研究热点。如何帮助学习者在学习过程中得到及时的指导,减少学习的盲目性,本文给出了学习推荐系统总体框架,并对系统中的知识库、学习需求挖掘算法、知识推荐算法等进行了研究,给出了相应的解决方案,具有较强的实用价值。

参考文献

  [1] 方凌云,王侃. 网络自主学习系统中个性化知识推送服务[J].高等工程教育研究, 2008(5):145-148.

  [2] 姜婷婷,韩捷. 浅谈基于知识点建立领域知识库[J]. 黑龙江科技信息,2011(36):112-113.

  [3] 项亮. 推荐系统实践[M]. 北京:人民邮电出版社, 2012.

  [4] 陈毅波. 基于关联数据和用户本体的个性化知识服务关键技术研究[D]. 武汉:武汉大学, 2012.

  [5] 殷锋社. 个性化计算机辅助教学系统研究与实现[J]. 电子设计工程, 2010(18):31-33.


此内容为AET网站原创,未经授权禁止转载。