基于知识点题库系统模型构建及实现的研究

2018-02-13 01:38周显春魏爽张晶乔艳琰
计算机时代 2018年12期
关键词:试题库实现知识点

周显春 魏爽 张晶 乔艳琰

摘  要: 知识点是知识体系当中最基本的单元,以它为基础开展教学活动可以让教师获得职业成就感,让学生克服自卑感。但是,学科知识点的提取仍然由人工完成,费时费力效率低,而且没有考虑知识点之间的相关性。文章以教育技术的重要理论为依据,构建学科知识点模型和知识思维导图;利用jieba分词工具和Apriori方法分别完成知识点及知识点关系的提取;最后,实现知识点题库系统,为学习路徑的推荐提供了资源。

关键词: 知识点; 智能提取; 试题库; 实现

中图分类号:TP311          文献标志码:A    文章编号:1006-8228(2018)12-40-04

Abstract: The knowledge point is the most basic unit in the knowledge system. The knowledge point based teaching activities can enable teachers to get a sense of professional achievement and enable students to overcome their inferiority complex. But, at present, extraction of knowledge points by artificial method is time-consuming, laborious and low efficiency, and does not take into account the correlation between knowledge points. This paper, based on the important theory of education, constructs a model of subject knowledge point and a map of knowledge thinking, the Jieba segmentation tool and Apriori method are used to complete the extraction of knowledge points and the correlation between the knowledge points, respectively. On this basis, the knowledge point library system is implemented to provide the resources for the learning path recommendation.

Key words: knowledge point; intelligent extraction; test question bank; implementation

0 引言

知识点是知识体系当中最基本的单元,它也是在教学过程中传递教学信息的最小单元[1]。知识是一种特别重要的生成资源特别是在高校,研究如何高效地获取、传播、使用知识是十分重要的工作。教育学、心理学的大量教学实践已经证明,将学科讲授教学内容划分知识点以及知识点直接隐藏关联关系,可帮助学生理清学习重点、难点以及所学知识的前后依赖关系,可以避免学生在学习中感到迷茫,提高教和学的效率和让教师的成就感大幅提升,克服学生的自卑[2]。

随着互联网+、大数据技术、人工智能技术高速发展情况下,利用这些技术为教育行业服务,如何帮助大部分学生在有限的时间内完成有用知识的获取,或者说找到一条高效的学习知识的路径是一个值得研究的课题[3-4]。学科知识点是学习路径推荐的资源的组成单位。但是,学科知识点的提取仍然人工完成,费时费力,而且效率低[5],既没有考虑知识点之间的相关性,也影响学习推荐路径的优化。

针对以上问题,本研究以教育技术的重要理论为依据,构建学科知识点模型、知识思维导图;在此基础上,利用jieba分词工具、Apriori方法分别完成知识点、知识点关系的提取;最后,实现知识点题库系统,为学习路径的推荐提供了资源。

1 知识点与知识点关系的提取

首先利用布鲁姆认知目标模型理论、思维导图、jieba工具完成知识点的提取,接着采用Apriori分析知识点的前后关系或相关性。

1.1 知识点的提取

为了便于理解,知识点的提取以大学计算机基础课程为例。首先构建大学计算机基础课程的知识体系,接着构建该课程的思维导图,最后采用jieba工具完成知识点提取。

1.1.1 学科知识体系的构建

布鲁姆教育认知目标可以分为:识记、领会、应用、分析、综合、评价[6]。本研究考虑到教学目标的现实需要,将大学计算机基础课程知识点的难度分为识记、领会、应用[7]。以此为基础,结合大学计算机基础课程,将知识点划分为起源、发展、定义、基本概念、分类、功能、操作(基本操作)、设置、配置、管理。如图1所示。

1.1.2 思维导图的创建

以大学计算机基础与实训教程的第一章信息表示内容为例,建立思维导图。如图2所示。

1.1.3 利用jieba工具提取知识点

提取关键字的方法,目前可以分为基于字典和词库匹配、词频度统计、知识理解的分词方法,是解决语义分析,文本分类等问题的前提条件。本文采用结巴分词工具。

jieba分词工具基于前缀字典分词方法,先生产有向无环图(DAG)。如果在DAG中,节点集V={0,…,n},其中n表示节点序号。?(u,v)∈E其中u,v∈V,u<v,E表示图的边,其值为联合概率的最大值。

接着采用动态规划求解最大路径,di=max{dj+w(j,i)}

(j,i)∈E;对于未登录词识别,采用HMM模型,求最大的条件概率:max P{t1,…,tn|c1,…,cn},ti表示ci对应的状态,接着采用Viterbi算法:Pt+1(i)=max[Pt(j)aji]bi(ct+1)求解状态序列,改善分词的结果。

为了更加贴近应用,数据来源为国家计算机等级考试的要求相符的题库。利用学科知识点、思维导图建立自定义字典。

利用jieba提取關键的代码如下:

jieba.load_userdict(dicname) # dicname为自定义词典的

路径,导入自定义的字典

jieba.analyse.extract_tags(text, topK=5,

withWeight= True, allowPOS=()) # 提取关键字

[('计算机', 0.7804811569680808), ('Word 2010',

0.7121107125313131), ('进制', 0.70363211136040404),

('Windows ', 0.70023623445272729), ('网络',

0.66168734917858588)] #排在前5位的输出结果

1.2 知识点关系的提取

获取的知识点之间存在上位、下位、关联、同义等四种关系[8],在知识点集合或在学生测试之后采用Apriori算法[9]对知识点之间关系进行关联分析。如果直接存在上述的四种关系,则在知识点之间建立关系,否则忽略。其知识点关系提取流程如图3所示。

以大学计算机基础课程为例建立知识点之间的关系。例如,掌握的进制的概念才可以学习进制直接的转换,接着才可以学习字符编码,而字符编码,按照单、双字节的难易先后顺序,先要学习西文字符编码,再学习汉字编码,其知识点关系如图4所示。

2 基于知识点的题库系统模型构建及实现

根据上面建立的知识点、知识点之间的关系,建立知识点到考试题目的对应管,为后面的个性化知识点的推荐打下基础。

2.1 数据库表的设计

为了存储已经获得知识点、知识点之间关系的信息,需要建立5张数据库表。其中,知识点总表,包括知识点序号、知识点名称、前后关系(自动生成)、难易程度(自动生成);知识点信息表,包括知识点序号、课程名称、章号、节号、知识点名称、试题类型;学生信息表,学号、姓名、班级、手机号、Email;教师信息表,职工号、姓名、单位、手机号、Email;试题表,包括试题序号、章节号、知识点序号、试题内容、试题答案、试题分数。管理员信息表,包括序号,姓名,单位[8],角色,权限(自动生成)。

2.2 基于知识点的题库系统功能设计及实现

除了以知识点为基础组织学生学习、教师开展教学,还可以通过课前预习、课间练习、课后测试等环节对学生的掌握知识点的情况进行分析,根据分析结果调整学习和教学内容,或者结合学生信息(如学习风格、基本信息)进行个性化学习内容、自评内容的专题推荐。根据上述需求,将题库管理系统安装用户的角色划分为三个基本子模块。各个模块的具体内容如图5所示。

本系统界面采用PyQt5工具,它是作为一套Python模块实现的,非常适合开发GUI可视化界面。其中,前后关系生成的代码如下[10]。

#生成前后关系,即知识点关系的代码

def generateRules(dataSet, supportedData,

minConfidence=0.7):

# 函数参数分别表示频繁项集列表、带有支持度的频繁项

集、最小可信度的指标值

RelationRuleList=[] #定义了关联规则的列表

for item in range(1, len(dataSet)): #从1开始,单个元素的

项集不存在关联

for freqenceSet in L[item]:

H=[frozenset([i]) for i in freqenceSet]

#遍历L中的频繁项集

if (j>=2): #如果频繁项集元素数目大于等于2,那么一定要

对它合并

rulesFromConseq(freqSet, H, supportedData,

RelationRuleList, minConfident)  #生成候选关联知识关系集

else: #如果元素个数为1

computerConfidence(freqenceSet, H, supportedData,

RelationRuleList, minConfident) #计算可信度值,评估规则

return bigRuleList

3 总结

本文以教育技术的重要理论为依据,构建学科知识点模型、知识思维导图。在此基础上,利用jieba分词工具、Apriori方法分别完成知识点、知识点关系的提取,完成知识点题库系统,为学习路径的推荐提高资源。但是,仍然存在很多需要进一步研究的内容。例如,结巴分词工具需要字典,尤其对于专业知识点提取,需要专家的参与,采用人工方法建立专业字典,导致知识点没有完全智能化提取。与深度神经网络结合研究,让字典库智能化是未来的研究方向之一。

参考文献(References):

[1] Georgiev T. M-Learning-a new stage E-Learning[C]//International Conference on Computer Systems and Technologies, Compsystech'2004 of E-Learning,2004.

[2] 李刚.基于知识点及关联的个性化教学系统研究[D].西北大学,2011.

[3] 刘萌,阎高伟,续欣莹.基于知识点网络的自动化专业学习路径推荐[J].计算机仿真,2016.33(6):180-184

[4] 朱艳茹,范亚芹,赵洋.基于知识图谱的自适应学习系统知识模型构建[J].吉林大学学报(信息科学版),2018.3.

[5] 张玉芳,杨芬,熊忠阳等.基于上下文的领域本体概念和关系的提取[J].计算机应用研究,2010.27(1):74-76

[6] 布鲁姆.教育目标分类学[M].华东师范大学出版社,1986.

[7] 熊明科.基于知识点的初中化学诊断性练习推荐系统研究[D].中央民族大学,2017.

[8] 李刚.基于知识点及关联的个性化教学系统研究[D].西北大学,2011.

[9] 闵宇锋.网络教学系统中的可视化学习监控机制[J].现代教育技术,2010.20(1):92-96

[10] [美]Peter Hrrington著,李瑞等译.机器学习实战[M].人民邮电出版社,2013.

猜你喜欢
试题库实现知识点
一张图知识点
一张图知识点
第四页 知识点 歼轰-7A
办公室人员尚需制定个人发展规划
苏州信息学院教务管理系统的设计与实现
浅析铁路通信传输的构成及实现方法
关于G20 的知识点
基于Quiz Creator的“机械图样的绘制与识读”随机组卷试题库的制作与研究
基于校园网的电磁学试题库建设
教考分离模式下课程试题库的建设研究——以高职院校数学课程为例