数据挖掘和爬虫【数据挖掘系统的构建与实现】
摘 要:本文使用SQL Server 2005中的挖数据掘工具,选择Business Intelligence Development Studio模版中的Analysis Services 组件构建数据挖掘方案,运用关联规则数据挖掘结果代替专家经验知识库,结合Visual Studio .Net 2003中的ASP.NET技术完成数据挖掘结果的前台展示。论文对智能自测试系统中的专家经验知识库的构成进行了改进,并实现了数据挖掘与智能自测试系统的集成。
关键词:智能自测试系统;专家经验知识库;关联规则;数据挖掘;Analysis Services
1 引言
智能自测试系统、作业和考试系统都属于计算机辅助教学的范围,在国外已经很流行,国外的Learning Space、Web CT、Top Class,国内的V class、网梯等平台,总体来说,这些系统已经初步具备智能功能[1],能够根据学生考卷或作业信息进行统计分析,以给教师或学生提供参考。只是智能化尚不是很完备,需要进一步改进。
针对当今教学辅助系统智能化不足的问题,本人设计了智能自测试系统辅助教学工作,引入数据挖掘技术,系统根据学生的认知能力和学习情况推荐合适的学习资料,根据学生的学习测试情况提出教学指导建议,获得进适合一步学习的资料,有目的的进行下一步的学习,基于智能的自测试系统越来越受到广大学习者的喜欢[9]。
智能自测试系统可按功能划分成四大模块(如图1-1):学生模型(学生的知识水平和学习能力)、教师模型(教学策略)、知识库(领域知识和数据挖掘)、人机接口(在智能自测试系统和教师及学生之间建立友好的通讯交流方式)。
图1-1 智能自测试系统结构
2、基于数据挖掘的知识库设计
知识库的设计包括领域知识和数据挖掘。领域知识包括领域专业知识和领域专家的经验知识[2]。专家的经验知识库的的组织与设计是一项难于进行的工作,我们不妨考虑将数据挖掘引入经验知识库的设计中来,并利用数据挖掘合适的规律对学生的学习进行指导。
知识库的设计基于的思想是:
系统不仅对每个学生的各项学习能力成绩的进行记录,同时也对每个学生的学习资料进行分析,从而对某一方面的能力不足的同学,将擅长该方面能力的同学的学习资料推荐给该同学,这样就可以使系统为某方面能力不足的同学推荐合适的提高能力的学习资料。
系统采用基于关联规则的挖掘算法,挖掘符合情况要求的资料的项集,然后对挖掘的结果进一步设定限定条件,进行筛选然后推荐给用户,那么为了挖掘需要,我们设计五张存放学习资料和学习记录的表。
(1)教学内容表—KnowledgeNode表,存放教师认为符合教学大纲的教学材料,供学生在线学习,主要包括:知识点编号[11],知识点类型(记忆型,问题求解型,认知策略型),知识点内容,重要程度(选学,一般,重点)和认知程度(1记忆2理解3应用4分析5综合6评价)等。
(2)单次学习标识表(SingleStudyKey)
对学生的一次学习进行标识,以便我们后面区分不同的项集使用,不管学生一次进行多少内容的学习,只要是基于同一知识点的,都认为是同一次学习,单次学习标识表主要包括单次学习资料标识和知识点编号。
(3)学习资料历史记录(StudyMaterialRecord)
为了不使记录表记录冗余信息,把记录表和资料表分开设计。学生在线学习或进行资料下载,对此进行记录,为我们发掘优秀的学习资源提供了数据准备。学习资料历史记录主要字段为:记录流水号,单次学习资料标识,资料编号等。
(4)资料表(Material)
资料表中记录了资料的具体信息,为我们对需要帮助的学生进行相应的学习资料推荐。资料表主要包括如下字段:资料编号,知识点编号,资料名字和侧重认知能力。
(4)学习成绩记录表(ExamRecord),记录每次学生自测的成绩、各项能力的成绩,为后面进行数据挖掘准备数据。表主要包括如下内容,自测试开始时间,知识点编号,用户名,认知能力成绩,理解能力成绩,应用能力成绩,分析能力成绩,综合能力成绩,评价能力成绩和认知能力总成绩。
3、数据预处理
ExamRecord表中记录的是学生对于某一知识点的学习情况,记录中保留了用户的测试成绩,成绩分为单项能力的成绩以及总体的认知能力成绩,那么,我们要想从中发现学生能力的薄弱之处,我们通过SQL语句对其进行预处理,使得我们可以得到学生薄弱能力的编号。主要思想:对记录单项成绩的六个字段相互比较,得出最低成绩,然后设定最低能力成绩对应的能力编号,认知能力编号参考知识点表的定义。
4、建立视图
为方便模型建立,提高查询速度,我们考虑在ExamRecord、SingleStudyKey和Material表上建立视图,视图名字为ViewMaterial,目的在于从中筛选符合学生薄弱能力的资料的信息。
5、建立挖掘模型
挖掘模型定义的DMX语句为:[5]
CREATE MINING MODEL View Material
(MaterialKey TEXT KEY,
[Material] TABLE PREDICT ( [MaterialName] TEXT KEY ) )
Using Microsoft_Association_Rules
(Minimum_Probability = 0.1, Minimum_Support = 0.01)
考虑到系统开始时候资料数量不是很多,所以参数设置要求不是很高。
6、模型训练
模型建立后,我们对模型进行训练[6]。模型训练采用的训练数据总共有35326条,该数据是实验模拟数据,挖掘结构处理耗费时间2秒,挖掘模型处理耗费时间2秒,共用时间4秒(处理器的主频900MHZ,内存512兆)。处理结果图如1-2所示。
