毕业设计(论文)个性化推荐教学辅助系统推荐子系统的分析与实现.doc
-
资源ID:3977448
资源大小:1.09MB
全文页数:46页
- 资源格式: DOC
下载积分:8金币
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
毕业设计(论文)个性化推荐教学辅助系统推荐子系统的分析与实现.doc
石家庄职工大学毕业论文个性化推荐教学辅助系统-推荐子系统的设计与实现专业名称:计算机信息管理班 级: 09级 学生姓名: 指导老师: 完成时间: 2011-3-14 摘 要当前个性化推荐技术是以用户为中心,能在一定程度上满足用户的个性化需求。而传统的教学辅助系统没有充分考虑用户的个性化需求,造成了不符合用户需求、学习效果不明显等诸多问题。个性化推荐教学辅助系统将个性化推荐技术引入到教学辅助系统中,可以满足用户的个性化需求。个性化推荐教学辅助系统(Personalized Recommendation Teaching Assistant System,PRTAS)的核心是个性化推荐子系统(Personalized Recommendation Subsystem,PRS)。通过个性化推荐子系统的推理推荐,使个性化推荐教学辅助系统能够根据不同的用户需求,做出相应的反应,从而给出满足用户需求的推荐结果。本文首先介绍了目前国内外的个性化推荐教学辅助系统的发展概况,阐述了个性化推荐子系统所用到的理论基础;然后对个性化推荐子系统进行了详细的需求分析和设计。当用户登录到个性化推荐教学辅助系统时,系统能够从用户案例库中获取该用户的个性化案例信息,然后通过用户案例、模式案例以及相似用户案例等多重案例信息的综合加权分析,得出一个符合用户需求的推荐结果。个性化推荐教学辅助系统的推荐主要针对的是教学资源,在本文中主要指知识点和试题,而这两类资源的推荐方式又有很大差别,本文详细介绍了针对知识点和试题的不同推荐方式,并设计和实现了相关算法。最后对本文的工作进行了总结。关键字 个性化推荐;教学辅助;自适应测试;在线学习;案例目 录1 绪论11.1 论文研究背景和现状11.2 本文的主要内容及论文的结构12 个性化推荐教学辅助系统(PRTAS)概述32.1 概述32.2 计算机教学辅助系统(CAI)概述32.3 计算机自适应考试(CAT)概述52.3.1 计算机自适应考试(CAT)的产生和发展52.3.2 项目反映理论(IRT)的概念模型62.3.3 试题选择72.3.4 用户能力估计82.4 个性化推荐系统概述92.4.1 个性化推荐系统研究现状92.4.2 基于案例推理的个性化推荐技术103 个性化推荐子系统(PRTAS-PRS)的需求分析113.1 PRTAS的整体需求分析113.2 个性化推荐子系统PRS的需求分析113.2.1 知识点检索的流程分析123.2.2 测试的流程分析123.3 各种推荐影响因子133.4 策略组合推荐分析154 个性化推荐子系统(PRTAS-PRS)的设计164.1 PRTAS的设计原则164.2 PRTAS的总体模块设计164.3 PRTAS-PRS的体系结构174.4 PRTAS-PRS的各种推荐策略的设计194.4.1 基于用户案例库的推荐策略194.4.2 基于相似用户案例库的推荐策略204.4.3 基于模式案例库的推荐策略204.5 PRTAS-PRS的推荐算法设计214.5.1 知识点推荐的算法设计214.5.2 试题推荐的算法设计224.5.3 用户能力在线计算的算法设计244.5.4 在线判分的算法设计244.6 数据库设计255 个性化推荐子系统(PRTAS-PRS)的实现285.1 PRTAS-PRS知识点推荐的实现285.1.1 知识点浏览功能的实现285.1.2 知识点推荐功能的实现285.2 PRTAS-PRS试题推荐的实现295.2.1 试题推荐功能的实现295.2.2 试题在线判分功能的实现305.3 PRTAS-PRS系统的开发及运行环境315.3.1 系统的开发环境315.3.2 系统的运行环境316 结束语32致谢33参考文献34附录361 绪论1.1 论文研究背景和现状随着Internet的发展与普及,我国教育改革的不断深化,素质教育和科教兴国战略的提出和实施,WEB不仅成为人们获取信息的主要来源,而且也正成为日益盛行的网上教育的核心。当前在线学习和自测试系统已经很普遍,但这些平台往往以系统自身为中心,并没有充分考虑到用户的个性化需求,造成了题目和用户能力不符,交互性差,学习效果不明显等诸多问题。正如苏联当代著名的教育实践家和教育理论家瓦·阿·苏霍姆林斯基所说,“每一个孩子都是独一无二的” 5。开发个性化的教学辅助系统势在必行,构建个性化的教学辅助系统才能实现真正意义上的个性化现代远程教育,保证远程教育的教学质量。个性化推荐教学辅助系统将个性化推荐技术引入到教学辅助系统中,从而可以针对每一个使用本系统学习的用户因材施教,提供最符合用户需求的资源。个性化推荐教学辅助系统的核心是个性化推荐子系统,该子系统针对用户对教学资源的需求进行分析推荐。教学资源包括了知识点和试题,系统通过分析用户的兴趣和能力,向用户展示最相关的知识点和最合适的试题。本系统在用户数据越丰富时,越能表现出它的优势。因为用户数据越丰富,越能够精确的对用户进行建模,分析用户的能力和兴趣。该系统能有效的做到“因材施教”这一理念,并包含有在线实时判分,将用户提交的试题答案实时地判断正误,将教师从繁重的批改试卷中解脱出来。该论文分析了个性化推荐子系统的需求,完成了针对知识点和试题的不同推荐方式的设计,并给出了关键模块的实现。1.2 本文的主要内容及论文的结构本论文主要阐述了个性化推荐教学辅助系统-个性化推荐子系统的相关理论和实现方法。论文第二章中介绍了个性化推荐的基本原理和关键技术,在第三章和第四章中对个性化推荐子系统进行了详细的需求分析和设计,然后在第五章中说明了个性化推荐子系统主要功能的实现,最后第六章对本文的工作进行了概括性的论述。2 个性化推荐教学辅助系统(PRTAS)概述2.1 概述个性化推荐教学辅助系统以教学辅助系统为背景,引入了个性化推荐技术,使得教学辅助系统能够根据不同的用户,推出更加个性化和人性化的结果,使用户能够通过本系统,更加高效的学习。计算机教学辅助系统,跨越了时间和空间的障碍,使得任何时间任何地点,用户都可以通过Internet来学习。但学习的过程中,用户需要进行练习和测试,因此本文在计算机教学辅助系统中引入了计算机自适应测试技术,来达到测试用户水平的目的,计算机自适应技术可以根据用户的作答,实时地计算用户的当前能力,根据当前能力,推出不同的测试题让用户作答,通过一轮一轮的测试,最终得出用户的真实能力。针对知识点检索和试题推荐,本文又引入了基于案例推理的个性化推荐技术,它可以通过以往的用户案例、模式案例以及计算出的相似用户案例来达到推荐的目的。个性化推荐技术的引入,使得原本呆板的教学辅助系统有了生机,它可以针对不同的用户,推荐不同的教学资源,更适应用户的需求,使用户更加能够高效率的学习。综上所述,个性化推荐教学辅助系统的核心是个性化推荐子系统,个性化推荐子系统使用了基于案例推理的个性化推荐方式,向用户推荐符合用户兴趣和能力的个性化的教学资源。其中针对测试时试题的推荐,又使用了计算机自适应测试技术,使得测试更加精确。2.2 计算机教学辅助系统(CAI)概述网络技术发展到今天,尤其是随着国际互联网的不断推广和应用,网络越来越深刻地影响着工业、商业、金融、教育、军事等社会的各个层而和领域,不断地、潜移默化地改变着人们的生活方式。计算机网络的迅速发展使之很快运用于教育领域,网络教学应运而生,它为学生的学习创建了广阔自由的环境,提供了丰富的资源,拓延了教学时空的纬度。第一个计算机辅助教学系统与1959年产生,由美国的IBM公司研制开发成功。在我国,由于历史的原因,CAI的开展要推迟到80年代初期。计算机辅助教学(Computer Assisted Instruction,CAI)思想来源于美国心里学家锡德尼.普莱希(Sidney Presscy)的“教学机器”和美国心理学家斯金纳(B.F.Skinner)“程序教学”两个概念,它的发展和普及都深受计算机科技的影响。在计算机辅助教学的发展史上有两个重要的系统对后来的计算机辅助教学发展起到了重要作用。一个是PLATO系统,由六十年代伊里诺斯大学的计算机工程师和教育工作者共同研制而成;另一个是1972年Mitre公司与德克萨斯大学、杨伯翰大学合作开发的TICCIT系统。此两大系统所强调的是与传统教学手段不同的互动性及学习者控制的思想,充分表现了CAI的基本精神,是CAI发展史上的重要典范6。计算机辅助教学系统CAI具有以下特点6: 资源的共享性网络资源共享包含了网络环境资源、网络信息资源、网络人力资源的共享。其中网络信息资源是核心,它是一种以电子网络为存储载体和传播媒体的数字化信息资源,具有取之不尽、用之不竭的非凡特性。 信息的时效性CAI软件在网络环境中,可以通过网络在极短的时间内获得所需的信息,如教材、参考资料等。 访问的便捷性它不受时间和空间的限制,学生可以按自己的时间表,随时随地进行学习。 媒体的多样性它能提供多种文本、动画、声音、影视等教学手段和方法以适应不同学生的学习要求。 课堂的虚拟性借助计算机的虚拟技术,直观地演示教学内容中的假设、推理,以及模拟教学实验环境,让学生进行“实际”的实验操作,培养学生的动手能力。 使用的交互性学生和教师,可以快速的相互双向交流信息,教师通过计算机网络向学生教授课程内容;师生间通过网络进行讨论、答疑;利用题库巩固和提高所学知识;教师通过网络批改作业及试卷等。 学习者的独特性学生可以根据自己的实际情况按照自己进程安排学习计划,教师可对学生的学习情况和特点进行归纳、总结,以便进一步改进教学方法和教学内容。基于上述的诸多优势,越来越多的高校为了适应教学改革,创造自己独特的办学风格,大多采用网络通用的教学辅助平台。以此来提高本身的教学质量和水平。2.3 计算机自适应考试(CAT)概述作为教学辅助系统,用户不仅要能够在线学习系统中提供的各种知识,而且需要能够在线进行练习,加强对知识点的掌握程度,并在线测试自己能力和学习进度。计算机自适应考试(Computerized Adaptive Testing,CAT)7可以用来针对不同能力的用户进行不同的测试,从而检测出用户的真实水平。将计算机自适应测试技术整合到教学辅助系统中,在国内尚不多见,但理论上是可行的。通过计算机自适应测试技术,可以针对不同能力的用户给出不同的测试题,使用户不会因为题太难而无从下手,也不会使用户因为题太简单而粗心大意,大大提高了考试的效率和可信度。2.3.1 计算机自适应考试(CAT)的产生和发展考试作为衡量个人某种能力和水平的工具,是学习型社会中确保教育质量的重要衡量标准,并深入到社会的各个方面。计算机自适应考试CAT随着计算机技术的发展和个性化学习的需求而得到越来越多的关注13。CAT这一概念由美国教育测量学家劳德于1971年首先提出,是建构在20世纪50年代发展起来的现代测验理论项目反应理论(Item Response Theory,IRT) 13基础上的一种考试方式。CAT的基本思想是:计算机先通过一些试探性试题来初步估计考生的水平,再根据选题算法从题库中选择与考生能力相近的题目继续施测,每施测一题都重新估计考生的能力,并不断重复这一过程。随着考生所做题目的增多,计算机对其能力的估计精度也越来越高,最后其估计值将收敛于一点,该点就是考生能力较精确的估计值,具体施测过程见图2-113。图2-1 自适应考试施测过程这种自适应性的考试方式始终围绕着考生的能力进行,考生所做的试题都是系统根据考生的能力从题库中自动选择的,题目针对性强,更加突出了考生的主体地位和个性化需求,大大提高了考试的效率和可信度,并且降低了考试所用的题目数量从而提高了考试的效率。CAT系统的核心是项目反应理论(IRT)。以IRT为理论基础的CAT在世界各国已经引起了广泛的关注,并逐步在社会各个方面得到推广:在教育界,有美国的研究生入学考试GRE和GMAT;在职业资格认证方面,有全美护士国家委员会资格考试NNCLT;在企业界,有Novell公司的认证考试。在国内,对IRT的研究与应用也逐渐得到了教育部门的普遍关注13。2.3.2 项目反映理论(IRT)的概念模型IRT也称项目特征曲线理论或潜在特质理论,它是依据一定的数学模型,用项目特征参数估计潜在特质的一种测量理论。该理论中最重要的两个基本概念是 “潜在特质”和“项目特征曲线”。潜在特质是指人具有的相对稳定、支配其对相应的测验做出反应,并使反应表现出一致性的内在特征。项目特征曲线是指描述被测试者在测验试题上的反应行为与被测试者潜在特质之间关系的曲线。项目特征曲线是以潜在特质(用表示)为横坐标,以正确反应或肯定反应的概率(用表示)为纵坐标,以此反映项目基本特征的一条曲线,见图2-213。图2-2 项目特征曲线图2-2中的曲线用以下3个参数进行描述:项目区分度a,即曲线拐点处的斜率。斜率越大就越陡峭,稍有不同,就有很大变化,即题目的区分能力也就越强;项目难度b,即项目答对概率=0.5所对应的能力参数值;项目猜测参数c,即特征曲线的截距,其值越大,越容易猜对本题。最常用的IRT模型是Logistic模型。该模型的优点是:在理论和实践上都得到了充分的验证,较为成熟可靠,而且计算简便。根据参数的不同,Logistic模型的特征函数可分为单参数、双参数和三参数三种模式。本文采用三参数的Logistic模型,特征函数14如下:其中,a为项目区分度;b为项目难度;c为项目猜测参数;为被测试者的能力值;D=1.702,是具有单位测度的常量因子。不难看出,对于任意给定的试题,能力值低的用户正确反映概率(接近于猜测系数c),能力值高的用户正确反映概率高(接近于1)。2.3.3 试题选择不断抽取和受测者能力相适应的题目是CAT的基本原则。通常,我们利用IRT题库中题目的最大信息函数来确定所选择的题目,一次测试,能提供的信息越大,测试所产生的测试效果就越好。IRT用题目的信息函数来表示题目参数与受测者能力的关系15:其中,是受测者能力估计值;、是第i题的区分度、难度、猜测系数;是受测者第i题的答对概率;是受测者第i题答错的概率;D=1.702,是具有单位测度的常量因子。信息量具有可加性,可以随时估计一组试题施测的信息量的总和。对于不同能力的受测者,题目有不同的信息量,信息量取最大值时,它所对应的能力值即是最适合于采用此题目测试的人员的能力值。因此,在CAT系统中,根据前面推测的能力值,系统搜寻相应信息量最大的题目进行测试15。2.3.4 用户能力估计计算机自适应测试可以通过IRT理论,根据用户的能力值,提供给用户高质量的试题,这又涉及到用户能力的估计问题。正确的估计用户能力值是CAT顺利进行的前提。目前,最常用的方法是极大似然估计法。若以表示能力为的受测者对题目i的反应为(若答对,;答错,)的概率,则有如下似然函数15:其中,n是题目数;表示试题回答情况(答对,;答错,);是受测者答对第i题的概率;是受测者答错第i题的概率。对反应向量求出相应的值,使似然函数的值为最大。我们以Newton-Raphson法逐次迭代,求出能力的极大似然估计值()。迭代公式15 16如下:其中,为第t次迭代的能力估计值;、是第i题的区分度、难度、猜测系数;是受测者第i题的答对概率;是受测者第i题答错的概率;D=1.702,是具有单位测度的常量因子;为反应向量中的第i个元素。通过上面公式,进行逐次迭代,当得到的值满足一定精度的时候,即终止迭代。采用极大似然估计法估计受测者能力值的最大好处是简便实用,它比较适合于题目较多的情况。2.4 个性化推荐系统概述2.4.1 个性化推荐系统研究现状个性化信息服务将是未来信息服务的主流模式,它实现的是“信息找人,按需服务”。其实现途径就是通过对用户信息需要、兴趣爱好和访问历史的收集分析,建立用户模型,并将用户模型应用于信息的过滤和排序,从而指导用户的浏览过程和信息检索,或向用户主动推荐信息。1995年3月,美国人工智能协会AAAI会议召开,卡内基梅隆大学的Robert Armstrong等人提出了个性化导航系统Web Watcher,斯坦福大学的Marko Balabanovic等介绍了个性化推荐系统LIRA。1995年8月,国际人工智能联合大会(IJCAI)发表文章介绍个性化导航智能体Letizia。这三个典型的个性化系统标着个性化服务研究的开始。1998年7月在威斯康星州(Wisconsin),由美国AAAI组织各国学者召开了以推荐系统为主题的会议(Workshop on Recommender Systems),对推荐系统的发展进行了集中讨论。近年来,国内外关于个性化推荐的研究文献增长速度很快,反映了个性化推荐的研究得到了越来越多的关注4。个性化推荐系统能够根据用户的兴趣爱好特点,从大量的信息资源中选择过滤出符合其兴趣爱好和信息需求的信息资源,向用户自动推荐。个性化推荐系统的研究与开发是近几年个性服务研究的重要方向4。个性化推荐系统是满足用户个性化信息需求的重要手段,也是个性化服务的主要方式。个性化推荐系统在剔除用户不需要信息的同时把需要的信息推荐给用户,可以缩短用户寻找信息的时间,提高信息浏览效率,个性化推荐技术通过研究不同用户的兴趣,主动为用户推荐最需要的资源,从而更好地解决互联网信息日益庞大与用户需求之间的矛盾。目前,个性化推荐技术被广泛应用到电子商务、数字图书馆、新闻网站等系统中,推荐对象包括书籍、音像、网页、新闻和文献等4。2.4.2 基于案例推理的个性化推荐技术在个性化推荐教学辅助系统的个性化推荐子系统中,使用了基于案例推理的个性化推荐技术。由于人们在处理问题时,有些情况很难用公理化或抽象出规则的方法进行问题表示的情况下,可以根据先前的经验提供当前问题的解决方案,于是专家们提出了案例推理方法。案例推理方法(Case-Based Reasoning,简称为CBR)是基于人类的认知心理过程,使用先前求解问题的经验和方法,通过类比和联想来解决当前相似问题的推理方法4。本系统中,通过用户的以往的学习记录,构建用户案例库,并在用户案例库的基础上,通过分析得到兴趣相似或能力相似的用户,构建相似用户案例库,通过有经验的教师,对不同的教学资源的推荐,来完善模式案例库。通过多重案例库的组合推荐,来得到满足用户需求的推荐结果,并通过用户对推荐结果的操作,来进一步丰富用户案例库,更加精确地对用户建模,达到更加精确地推荐。3 个性化推荐子系统(PRTAS-PRS)的需求分析3.1 PRTAS的整体需求分析个性化推荐教学辅助系统是专门为学生提供个性化课程测试、课程知识点浏览和参与评论的一个平台。系统的用户有三种:学生用户、教师用户和系统管理员用户。学生可以在某一门课程下参加考试,可以根据自身需求选择考试的范围、难易程度,系统会针对性的给出适合该学生水平的考试试题,这里叫做“个性化试卷”,考试结果及错题信息都会记录在学生的成绩表中;在知识点的检索浏览部分,学生可以设置自己的关注项,在学生登陆系统之后,首页上显示学生关注类别里的最新知识信息,当用户进行知识点检索时,系统能根据用户的检索请求,向用户推荐他所需要的内容。系统中也需要教学资源的管理者,他们在系统中行使对教学资源的添加、修改、删除功能。对于修改、删除功能,只能是教师和管理员才能够使用,而添加教学资源,则对于知识点和试题来说,有一定区别。在个性化推荐教学辅助系统中,为了保证试题的随机性、准确性和权威性,系统规定了试题的添加只能通过教师和管理员完成,学生不参与试题的添加;知识点主要是通过老师添加,学生也可以添加知识点,但是需要经过管理员的审核,通过之后才能够加入到知识点库中。系统管理员负责对在系统中活动的所有用户的管理和系统性能的管理、维护日志、分析日志。3.2 个性化推荐子系统PRS的需求分析个性化推荐子系统是个性化教学辅助系统的核心,它的功能集中体现在个性化推荐上。所谓个性化推荐,即根据不同的用户,做出不同的反应,使用户能够得到适合自己的资源信息。本系统对教学资源的个性化推荐包括了对知识点个性化推荐和试题的个性化推荐。知识点在线学习,为用户提供了在线知识点浏览和知识点检索功能。当用户登录到本系统,系统会根据用户设置的关注领域,来为用户推出他感兴趣的知识点,呈现出来;当用户检索知识点时,系统又会根据用户所关注的领域,为用户推出他想搜索的知识点。当用户进行试题测试时,系统也会根据用户的历史信息以及用户的当前能力,进行个性化推力推荐生成测试题,确保推出的试题,符合用户的能力水平,不会因为太难,而打击用户的自信心,也不会因为太容易,使用户得不到能力水平的提升。3.2.1 知识点检索的流程分析个性化推荐教学辅助系统为针对用户在线知识点学习,提供了知识点的浏览和知识点的检索两个功能。其中,个性化推荐子系统提供了对知识点检索的个性化推荐功能。知识点检索流程见图3-1。图3-1 知识点检索流程3.2.2 测试的流程分析用户登录后,可以在线进行测试,以了解自己当前对知识的掌握水平。系统对用户提供的测试是自适应的测试,可以根据用户的能力,进行试题的推荐,并根据试题的一些推荐策略,进行推荐。本节只讨论测试的大致流程,对于推荐的具体算法,参见第四章第三节的详细设计。测试的流程图如图3-2所示。图3-2 测试流程图3.3 各种推荐影响因子知识点和试题都属于教学资源,但是二者的推荐方式却是有一定的区别,知识点的推荐主要是在用户进行知识点学习时,系统给予的推荐,而试题的推荐,是用户进行测试练习时,系统给予的推荐。下面对影响教学资源推荐的几个因素进行分析: 查询词的扩展:当用户进行知识点的检索时,输入的查询词可能不够精确,使用查询词扩展,可以将用户输入的查询词的近义词都加入到查询词集合中,这样就扩大了查询的范围,使得用户想查的知识点不会被漏掉; 知识点的浏览次数:知识点浏览的次数越多,表示该知识点越有价值,越应该推荐给用户; 试题参数:试题参数包括试题的区分度、难度、猜测系数。用户进行测试时,这些参数可以通过项目反映理论,确定每一道题的信息熵,将信息熵大的试题重点推荐给用户; 用户能力:用户进行测试时,系统推出的测试题,都应该是难度和用户能力值相当的试题,太容易或太难的试题都是不应该给用户推荐的; 用户案例:从用户案例下可以获取用户所关注的类别和以往的学习记录。当用户进行检索时,大多是检索其所关注的类别下的知识,因此将用户关注的类别下的知识点进行重点推荐给用户,也是必要的。当用户进行测试时,从中抽取用户曾经测试的记录,曾经答错的试题,表示用户还未掌握这道试题的知识,在以后的测试中,应该让用户加强练习;而用户曾经答对的试题,表示用户已经掌握了这道试题的知识,在以后的测试过程中,应该不出现或少出现这道试题。 相似用户案例:相似用户案例中存储的是相似用户的曾经学习的历史记录。相似用户即与该用户兴趣相似的用户,比如学习数据结构的用户,就是在数据结构这个类中的相似用户。相似用户推荐是将该用户的相似用户学习过程中认为不错的资源(知识点或试题)推荐给该用户。当确定了用户的检索类别之后,即可通过相似用户推荐,得到更加满意的推荐结果; 模式案例:模式案例中存放的是专家的推荐。所谓专家推荐,即有经验的教师推荐的认为不错的资源。教师可以在后台管理教学资源,将自己认为不错的资源进行标识。从而在后续的应用中,可以重点推荐给学生。系统进行个性化推荐时,可以根据不同的应用环境(对知识点或试题的推荐),和用户选择的推荐策略,对检索的教学资源进行加权排序,将推荐结果呈现给用户。3.4 策略组合推荐分析组合策略的推荐,是将上一节中描述的几种推荐因子组合起来,进行联合推荐。因为单单一种推荐方式的推荐结果肯定不尽如人意,集中推荐方式组合起来,进行推荐,会更加接近用户的真实需求。用户可以在前台设置自己满意的推荐策略,通过推荐策略的不同组合,形成不同的推荐方式,得到不同的推荐结果。系统的组合策略推荐方式如图3-3所示。图3-3 个性化推荐子系统的组合策略推荐4 个性化推荐子系统(PRTAS-PRS)的设计4.1 PRTAS的设计原则个性化推荐教学辅助系统(PRTAS)的设计原则主要包括四个方面:模块化、可扩展性、动态性、开放性。个性化推荐子系统遵循的四点设计原则具体描述如下:(1)模块化原则个性化推荐子系统模块化的设计,方便个性化推荐子系统功能的复用与继承,便于系统功能模块的修改和维护。(2)可扩展性原则个性化推荐子系统可扩展性强。个性化推荐子系统在体系结构设计上适应了这一特点,它能够根据不同的需要,轻松的扩展不同的功能。(3)动态性原则动态性原则是指个性化推荐子系统能够适应用户数据动态变化和用户需求随机改变的状况。在推荐方面,应能够适应用户不断变化的需求,具有一定的学习功能,能够实现动态性的个性化推荐服务。总之,个性化推荐子系统满足动态性就是指其能够随着推荐系统数据和外部信息环境的变化而不断变化。(4)开放性原则个性化推荐子系统设计遵循开放性原则,满足动态性的个性化推荐子系统应该是开放性的系统,应该能够把各种类型的数据、不同格式的数据整合到个性化推荐子系统中,能够及时增加动态变化的数据。4.2 PRTAS的总体模块设计个性化推荐教学辅助系统包括用户管理子系统、教学资源管理子系统、日志分析子系统、案例库管理子系统以及推荐子系统。本文主要描述个性化推荐子系统的设计与实现。个性化推荐教学辅助系统组成图如图4-1所示。个性化推荐系统推荐子系统用户管理子系统资源管理子系统日志分析子系统案例库子系统图4-1 个性化推荐教学辅助系统组成图4.3 PRTAS-PRS的体系结构在分析考察已有个性化推荐系统的基础上,通过分析个性化教学辅助系统的个性化推荐子系统用户需求,本论文提出了一个支持动态自适应的个性化推荐系统框架模型。根据个性化推荐子系统的需求分析和设计原则,可以得出个性化推荐子系统的体系结构,见图4-2所示。图4-2 个性化推荐子系统PRS体系结构图个性化推荐子系统的体系结构包含三个层次:系统数据层、系统功能层、和用户界面层。1 系统数据层系统数据层包含知识点库、题库、用户案例库、用户信息库四个部分。知识点库用来存放系统的所有知识点;题库用来存放系统所有的试题和试题的参数;用户案例库主要用来存放用户的历史操作记录;用户信息库存放了用户的基本信息和实时的状态信息。2 系统功能层系统功能层包含知识点检索和推荐、试题推荐、计算用户能力以及系统在线判分等功能。3 用户界面层用户界面层是个性化推荐子系统与用户的接口。其主要功能是接收系统用户从输入界面提交的需求,根据用户数据,经过需求分析和扩展,启动相应的个性化推荐子系统服务,并将个性化推荐结果返回用户。4.4 PRTAS-PRS的各种推荐策略的设计个性化推荐子系统的推荐策略主要是基于用户案例库、相似用户案例库和模式案例库。下面对于这三个案例库的推荐策略,做详细的设计。4.4.1 基于用户案例库的推荐策略用户案例库主要提供用户的关注领域和用户的历史信息。对于知识点推荐来说,通过用户的关注领域,可以着重向用户推荐其所关注的领域之内的知识点,这一点,对于用户输入的查询词有多重意思,属于多个领域的时候,尤其有意义。对于试题推荐来说,通过用户的历史测试记录,可以知道用户以前都做过哪些试题,哪些已经掌握了,哪些还尚未掌握,这对试题的推荐来,尤其有意义。由于基于用户案例库的推荐策略针对不同的教学资源,有不同的推荐方式,因此这里分对知识点的推荐和对测试题的推荐进行分别设计。1. 基于用户案例库的知识点的推荐策略算法4-1:基于用户案例库的知识点的推荐策略输入:用户ID,通过用户检索词检索出的知识点集合S输出:基于用户案例库推荐的结果算法步骤:step 1 通过用户ID,从用户案例库中获取用户的关注领域;step 2 通过用户的关注领域,获取该领域中的相关知识点集合;step 3 将用户关注的知识点集合与通过关键词检索出来的知识点集合S求交集;step 4 在集合S中,对交集中的知识点加上一个基于案例库检索推荐代表的权重,这样用户关注的知识点就会被突出。step 5 知识点集合S的权重改变。算法结束。2. 基于用户案例库的试题的推荐策略算法4-2:基于用户案例库的知识点的推荐策略输入:用户ID,测试章节ID,测试章节中的所有的试题集合S输出:基于用户案例库推荐的结果算法步骤:step 1 通过用户ID,从用户案例库中获取用户以往的测试记录;step 2 分别取出用户曾经回答正确的题目和回答错误的题目;step 3回答正确的题目集合中与集合S求交集,将S中的属于交集中的试题的权重减去一个特定的权重,这样回答正确的题目的重要程度就会降低;step 4回答错误的题目集合中与集合S求交集,将S中的属于交集中的试题的权重加上一个特定的权重,这样回答错误的题目的重要程度就会增加;step 5试题集合S的权重改变。算法结束。4.4.2 基于相似用户案例库的推荐策略基于相似用户案例库的推荐主要是将相似用户认为不错的资源推荐给用户的一种推荐方式。对于知识点和试题的基于相似用户案例库的推荐算法,大同小异,不在分别赘述。算法如下:算法4-3:基于相似用户案例库的推荐策略输入:用户ID,检索章节ID,章节中的所有的教学资源集合S输出:基于相似用户案例库的推荐结果算法步骤:step 1 通过用户ID,从相似用户案例库中获取该用户的相似用户;step 2 得到相似用户推荐的资源集合;step 3 将相似用户推荐的资源集合与集合S求交集,并将S中属于交集中资源的权重加上一个特定的权重;step 4试题集合S的权重改变。算法结束。4.4.3 基于模式案例库的推荐策略基于模式案例库的推荐主要是将有经验的教师的推荐资源推荐给用户的一种推荐方式。对于知识点和试题的基于模式案例库的推荐算法大致相同,在此一并给出。算法如下:算法4-3:基于模式案例库的推荐策略输入:检索章节ID,章节中的所有的教学资源集合S输出:基于模式案例库的推荐结果算法步骤:step 1 通过类别ID,从模式案例库中获取专家的推荐资源集合;step 2 将专家推荐的资源集合与集合S求交集,并将S中属于交集中资源的权重加上一个特定的权重;step 4试题集合S的权重改变。算法结束。4.5 PRTAS-PRS的推荐算法设计个性化推荐子系统的推荐方法是基于案例推理的组合推荐推理,该方法提供了多种实现策略和算法,实际使用时,可以根据具体情况进行推荐算法的选择和相关参数的确定,不能简单地认为通过某一种推荐算法就可以直接计算得到最佳推荐结果。对于知识点推荐算法和试题推荐算法有些区别,在下面分别说明。4.5.1 知识点推荐的算法设计知识点推荐需要支持多个关键词联合检索,也就是用户可以输若干个关键词,以空格分隔,系统可以识别出这些关键词,然后通过这若干个关键词,从数据库中取出用户所要检索的知识点,再通过用户设置的各种推荐策略进行动态加权计算,最后进行排序,得到推荐结果。知识点推荐的基本公式为:公式4-1其中,为经过个性化推荐的知识点的总权重;为知识点浏览次数权重;为浏览次数系数;为基于用户案例推荐的知识点权重;为用户案例推荐系数;为基于相似用户案例推荐的知识点权重;为相似用户案例推荐系数;为基于模式案例库推荐的知识点权重;为模式案例推荐系数。知识点的个性化推荐算法流程见图4-3。图4-3知识点的个性化推荐算法流程图4.5.2 试题推荐的算法设计用户可以点击特定章节,对特定的章节进行测试。以检验自己对该章节的掌握程度。系统通过用户选择的章节,得到该章节下的所有的试题,然后通过IRT计算理论,得到试题的信息熵,然后再通过用户选择的推荐策略,使用不同的策略组合,对试题进行动态加权,最后对试题的总权重进行排序,取权重大的若干道试题,返回给用户作为一轮测试。试题推荐的基本公式为:公式4-2其中,为经过个性化推荐的试题的总权重;为试题的信息熵构成的权重;为基于用户案例推荐的试题权重;为用户案例推荐系数;为基于相似用户案例推荐的试题权重;为相似用户案例推荐系数;为基于模式案例库推荐的试题权重;为模式案例推荐系数。试题的个性化推荐算法流程见图4-4:图4-4试题的个性化推荐算法流程图4.5.3 用户能力在线计算的算法设计个性化推荐子系统对于试题的推荐,需要在了解用户能力的前提下,才能应用IRT理论进行抽取与用户能力相似的试题。这就需要系统包含有用户能力在线计算模块。该模块要求系统能够根据本次测试从开始到现在,用户对试题的作答情况,来实时地计算用户的能力值。这个值是没有办法精确地求出的,只能够通过不断地迭代,得到满足一定精度的用户能力值,然后将这个近似的能力值作为用户的当前能力值,进行下一轮的试题推荐。具体的算法可以参考2.3.4用户能力估计一节中的Newton-Raphson法迭代公式。4.5.4 在线判分的算法设计系统在线判分模块,要求系统能够实时地根据用户的答题情况,来判断是否回答正确。由于每一道试题,都有正确答案,可以将用户的回答和正确答案比较。本系统支持的试题有选择题和填空题,选择题比较好判断,只需要比较用户选择的答案和正确答案即可,填空题则不容易判断,因为填空题,可能会涉及到词语的同义问题,一个空有多个答案,这还需要比较用户的答案,是否属于这若干个答案中的一个。具体算法如下:算法4-5:在线判分输入:测试题目,用户答案输出:判分结果算法步骤:step 1得到用户的答案; step 2 判断题目类型是选择题还是填空题;step 2.1 如果是选择题,直接和正确答案进行匹配,如果匹配,则答题正确,否则答题错误;step 2.2 如果是填空题,将试题答案和用户答案进行拆分,得到每一个空的答案,如果用户的每个空的答案都和正确答案匹配,则答题正确,否则从近义词表中查找正确答案的近义词,和用户的答案进行匹配,如果匹配成功,则答题正确,否则答题错误;step 3 设置用户的答题结果;