刘晓瑞 莫怀训
【摘 要】高职院校计算机类专业中信息化教学资源利用逐日广泛,本文提出了一种基于知识图谱技术建立自适应信息化学习系统提高教学资源利用率的方法。实施该方法的基础是首先要构造出不同课程对应的知识图谱,本文以计算机基础知识为例对知识图谱的构造技术进行了介绍,对读者建立其他课程乃至其他专业的知识图谱具有一定的指导意义。
【关键词】计算机类专业;知识图谱;自适应
【中图分类号】G434 【文献标识码】A
【文章编号】2095-3089(2018)22-0010-02
在目前职业学校中,各类信息化教学资源主要集中在虚拟仿真、网络课程、微课视频、远程教育等方面,这些资源使用的共同特点是高度依赖于教师的选择和组织。如果缺乏教师引导,对于受教育者特别是职业院校的在校学生,难以明确自己的学习需求,从而不易自行匹配使用相关资源,最终导致学校提供的信息化资源利用率低,造成巨大的浪费。多数高职院校各专业均存在类似的浪费现象。
出现上述浪费现象的本质原因是这些信息化教学资源在应用中不具有自适应性,解决信息化教学资源应用中的自适应问题,就可以极大的提高资源的利用效率,解决自适应性问题的主要工具有人工智能和知识图谱等技术。本文重点介绍知识图谱技术及其在计算機类专业信息化教学中的应用。
一、知识图谱技术简介
知识图谱本质上是语义网络,是一种基于图的数据结构,由节点(Point)和边(Edge)组成。在知识图谱里,每个节点表示现实世界中存在的“实体”,每条边为实体与实体之间的“关系”。知识图谱是关系的最有效的表示方式。通俗地讲,知识图谱就是把所有不同种类的信息(Heterogeneous Information)连接在一起而得到的一个关系网络。知识图谱提供了从“关系”的角度去分析问题的能力。
现有的大规模知识图谱,国外主要有Yago、Dbpedia、Freebase、谷歌知识图谱和Nell。这些知识图谱中包含的事实数量均是亿级。国内主要有百度知心、搜狗知立方、阿里巴巴知识库。对于垂直行业知识库,国外主要有针对娱乐行业的IMDB、音乐库MusicBrainz等,国内有讯飞音乐知识库、讯飞10086客服。垂直行业知识库的描述目标是特定的行业领域,通常需要依靠特定行业的数据才能构建。
知识图谱的建立方式主要有基于大数据的自动分析构建技术和基于工具的人工半自动构建方式两种。
二、知识图谱在高职计算机类专业信息化教学系统构建中的应用
针对高职院校计算机类专业,以“以信息技术基础知识”为切入点,应用知识图谱工具将基础课程内容重构,课程中各知识点和技能点将通过关系网络连接在一起。在此基础上研制的信息化教学资源将可以自动根据学生个体在学习过程中出现的问题调整接下来的学习路径,从而使得学习系统对每一个使用者都具有了自适应性,让“因材施教”这个教育原则在技术上得到了根本保障。
首先我们要确定基础课程的内容,其主要由课程体系中的专业课程学习需求来确定的,也就是说例如后面《网络应用基础》课学习需要学习掌握网络地址,IP地址的分配计算,则在前面《计算机应用基础》课程中训练学生掌握各种进制的区别和转换的计算;另外基础课程中还有一部分内容不是后期专业课程直接所需,但是本身学习过程中必需的基础概念。
当课程内容确定后,需要将其中的概念和计算方法全部提炼出来作为图谱当中的实体,实体的属性包括内容、难度值和学习资源链接等。本图谱中各实体之间的关系主要就是学习过程中体现的逻辑顺序关系,有的必须在先,有的必须在后,还有的可以并行;同时为了便于使用者学习本门课程,我们还应该提供各实体之间的相似关系。
当我们建立好知识图谱之后,就可以在此基础上建立一个基于问题驱动的学习系统。当学生个体进入系统时,首先面对的是问题,当学生不能解决该问题时,将进行该问题有关的知识学习,学习界面中可以点击相关的学习资源链接;学习完成后,系统再次提出相关问题,如果学生能解决则系统将根据知识图谱中的关系连接自动提出下一步的问题,否则将退回到比当前知识点更前的知识学习。如此往复进行,直到学生成功回答到系统预设的一系列目标问题为止。
在该系统中,各资源将以链接的形式存储在知识图谱的各个节点上。从而我们就可以把各类教学资源有机整合起来,通过学生的学习进度自动推送,从而避免了学生由于需求不明无法自行选择的问题,从根本上提高了信息化教学资源的有效利用率。
三、需要解决的重点问题
1.合理控制知识图谱的构建规模。
就学科知识而言,计算机类基础课程主要包含计算机应用基础知识和网络应用基础知识。很明显,对于不同层次的计算机类专业学生来讲,计算机类基础课程包含的知识范围有较大区别。例如计算机应用基础里的计算机发展史基础知识,对于高职学生来讲,在后续的专业学习中基本不会再涉及,那么我们在构建知识图谱时可以不必将其包含进去;而计算机软件硬件基础知识,在之后的软件相关课程学习和网络相关课程学习中会频繁使用到,必须构建到知识图谱中间去。因此确定知识范围,合理构建知识图谱将是运用知识图谱技术的重点,是保障项目成功进行的关键。
2.知识图谱构建方法。
如何根据基础课程的知识内容构建知识图谱的关键是正确提取其中的实体和关系。实体和关系的提取涉及到自然语言的理解和推理,如果我们采用工具纯自动化的建立,涉及到的理论和技术障碍较多。由于我们建立的是一个规模较小、范围有限、垂直行业应用的知识图谱,因此我们可以采用自动化工具和专家人工相结合来构建。
知识图谱的存储不能采用一般的关系数据库,因为一般节点之间关联深度超过5的话,关系数据库将不能解决。本文项目采用较为流行的图形数据库neo4j来构建,通过Python来编程使用。示例如下:
例如“进制转换”、“进制规则”、“转换算法”、“IP地址”这四个知识点的关系如下图。
现在利用图形数据库进行数据的储存,并获得“IP地址”知识点的上一步应该学习的所有知识点,并为“进制规则”知识点过关后可以推荐给用户的后续知识点。构建方法见下面代码。
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# 以下为使用Neo4j图形数据库建立计算机应用基础知识图谱的示例
#
from neo4j import GraphDatabase, INCOMING
# 创建或连接数据库
db =GraphDatabase('neodb')
# 在一个事务内完成写或读操作
with db.transaction:
#创建计算机应用基础知识图谱
dgdztp =db.node()
# 连接到参考节点,方便查找
db.reference_node.USERS(dgdztp)
# 为知识节点建立索引,便于快速查找
dgdz_idx =db.node.indexes.create(' dgdztp ')
#创建知识节点函数
def create_dgdznode(name):
with db.transaction:
dgdznode =db.node(name=name)
dgdznode.INSTANCE_OF(dgdz)
# 建立基于节点name的索引
dgdz_idx['name'][name] =dgdznode
return dgdznode
#根据节点名获得知识节点
def get_dgdznode (name):
return dgdz_idx['name'][name].single
#建立节点
for name in['IP地址', '进制转换','转换规则','转换算法']:
create_ dgdznode (name)
#为节点间添加关注关系(FOLLOWS)
with db.transaction:
get_dgdznode ('进制规则').FOLLOWS(get_dgdznode ('IP地址'))
get_dgdznode ('进制转换').FOLLOWS(get_dgdznode ('IP地址'))
get_dgdznode ('转换算法').FOLLOWS(get_dgdznode ('进制规则'))
# 獲得“IP地址”的上一级知识节点
for relationship in get_dgdznode ('IP地址').FOLLOWS.incoming:
u = relationship.start
print u['name']
#输出结果:进制转换,禁止规则
#查询“转换规则”节点的上一级知识节点的上一级节点
nid = get_dgdznode ('转换规则').id
#设置查询语句
query = “START n=node({id}) MATCH n-[:FOLLOWS]->m-[:FOLLOWS]->fof RETURN n,m,fof”
for row in db.query(query,id=nid):
node = row['fof']
print node['name']
#输出结果:IP地址
目前已基本完成了高职计算机类专业计算机应用基础知识图谱的构建工作,为下一步开发自适应信息化学习系统奠定了基础。本文抛砖引玉,希望能对开发其他课程乃至整个专业的基于知识图谱的自适应信息化学习系统有所帮助。
参考文献
[1]朱新明.人的自适应学习——示例学习的理论与实践[M].北京:中央广播电视大学出版社,1998.
[2]刘峤,李杨,段宏,刘瑶,秦志光.知识图谱构建技术综述[J]. 计算机研究与发展,2016,(03):582-600.
[3]房雨林.基础教育信息化资源开发与应用的有效性研究,电化教育研究,2006.
[4]周文玲,戚长政,李湘伟.基于职业岗位分析构建专业课程体系的探索——以机电一体化灌装生产线技术专业为例,《陕西教育:高教》,2009(4):74-75.
作者简介:刘晓瑞(1980-),女,河南开封人,广州城市职业学院信息技术系,硕士,研究领域:计算机应用,数据库技术。