盛 颖, 韩廷祥
(1 天津大学环境科学与工程学院, 天津 300350; 2 天津大学智能与计算学部, 天津 300350)
全球正处在由新一轮信息技术浪潮所带来的新工业革命的开端,以移动网络、物联网、云计算、大数据分析、量子通讯技术等为代表的高新智慧科技的广泛应用正不断促进着经济社会的蓬勃发展。 为推进教育现代化与教育强国建设,促进新时期教育改革和信息化的发展,国家教育部制定了《教育信息化2.0 行动计划》,表示教育信息化是建设教育强国的基础保障,有助于学生学习情境的构建,促进学生吸收和掌握知识[1]。 在《“十四五”国家信息化规划》中进一步将终身数字教育,以及“互联网+教育”列为重要的安排部署[2]。 由此可见,高新智能技术在教育教学领域的深度融合将有效推动教育信息化的进程,也是当前的研究热点。
知识图谱是通过可视化的图谱形象展示某领域内不同事物间的关系,是基于信息技术的快速发展而诞生的新兴事物。 当前,知识图谱在教育领域中的应用越来越多。 例如,陈洁等学者[3]以CSSCI 期刊中有关机构数据库的文献为数据基础,运用DDA等软件建立了知识图谱,分析并总结了国内机构知识库的研究热点。 王兰成[4]分析总结了多学科视域下网络舆情知识图谱构建的重要性,提出了相互补充和相互验证的有机整体成果。 张勇等学者[5]以计算机学科为例,基于学科知识图谱的构建提出了高校教学模式的优化方法,试图挖掘学科内在知识结构的关联性。 郎亚坤等学者[6]构建了基于Neo4j 的C++课程的知识图谱,图谱包含了C++课程领域的所有知识点及知识点间的关系,可以进行知识点和学习路径的相关推理。 王琛琛等学者[7]建立了大学物理知识图谱,并将其与智慧型课堂应答系统相结合,对原有课堂互动系统进行优化升级。可见,知识图谱在教育领域的应用非常广泛,无论是全球范围的数据库、还是单一的课程,在相关技术的支撑下,为大规模、高质量又个性化的人才成长需要与教学需求提供了现实可能性,使得教育教学的质量逐步升级。
《通风工程》(也称《暖通空调B》)是建筑环境与能源应用工程(建环)专业学生知识结构中重要的专业必修课。 该课程的学习是培养学生分析和解决通风工程实际问题的关键,更是培养学生高阶思维能力的有效锻炼。 基于多年教学经验发现,该课程教学内容丰富、知识点庞杂、重点分散,学生难以有效把握课程的主要脉络,厘清学习路径,课程学习难度较大。 为了提升学生的学习质量,使其更方便地获得课程中知识点的分布情况、难易程度、学习顺序和掌握要求,本文以学生在该课程的学习为背景,设计构建了基于Protégé 本体编辑器和Neo4j 图数据库的《通风工程》课程的知识图谱,辅助课堂教学,提升学生学习质量。 由于现有高校课程的知识图谱主要是针对通识教育课程,涉及到的专业教育课程也以计算机专业居多。 本文以工科建环专业的《通风工程》为案例,介绍该课程知识图谱的构建方法,这将为相关工程技术类专业课程知识图谱的构建与应用提供参考。
在知识图谱的构建过程中,首先确定《通风工程》课程知识图谱的构建目的。 针对《通风工程》课程,除了使学生掌握各个知识点的分布以及相关的学习要求,还需要让学生明确学习内容与毕业目标之间的关系。 因为工程教育专业认证的要求,不仅使学生掌握过硬的专业知识,而且应将其用于解决专业实际工程问题,在学习过程中促进与工业界、企业界的联系。 因此,知识图谱的构建不仅仅是知识体系的梳理,也需要增加学生学习与毕业目标之间的关系。
接下来,进行知识图谱的构建。 明确知识图谱的数据来源,以此为基础设计知识图谱的知识模型。基于本体编辑器Protégé,构建领域知识实体及知识表达形式,进行知识概念的提取、类层次结构的设置及属性关系的制定。 最后,采用Neo4j 图数据库技术将其进行存储并予以可视化显示。 图1 展示了《通风工程》课程知识图谱的构建流程。
图1 《通风工程》课程知识图谱的构建流程Fig. 1 Process of establishing knowledge graph of “Ventilation Engineering” course
本次课程图谱的建设是利用Protégé 的本体构建思路,反映《通风工程》课程的知识体系。 Protégé软件是利用Java 语言开发的本体编辑软件,可直接对本体概念、层次结构、类的属性与关系属性进行创建。
1.2.1 数据资源
虽然每个学生的先验知识和学习能力不同,对课程知识点学习的时间和精力也不同,但是对课程的学习都应遵循课程大纲和对应的教材。 因此,对于《通风工程》而言,必须充分了解课程大纲,明确大纲中教学目标、毕业要求、课程内容之间的关系,以教材为课程内容的依据,建立知识体系。 因此,本文以《通风工程》教学大纲和建环专业规划教材—中国建筑工业出版社的《通风工程(第四版修订本)》为数据资源,从整体把握《通风工程》课程的知识构架。
1.2.2 类、属性和关系的确定
在定义课程的类之前,需要明确课程概念的层次结构。 类在课程本体中就是概念,知识点是学习的最基本单位。 本研究将课程概念的层次分为4 类(参见图2),具体层次结构如下:
图2 《通风工程》课程知识图谱的层次关系Fig. 2 Class hierarchy in the knowledge graph of “Ventilation Engineering” course
(1)第一级别的类。 将教学目标、毕业要求和课程内容作为第一级别的类。
(2)第二、三级别的类。 典型课程的知识结构一般分为章、节和知识点三种类别。 所以,本研究将章和节分别作为第二和第三级别的类。
(3)第四级别的类。 即每个章节内容的知识点。
每个类都有对应的实体。 在类确定以后,需要明确类之间的关系。 本研究中类的关系为支撑、达到、包含、相关和顺序。 这里给出阐释分述如下。
(1)支撑关系:学生的培养是毕业要求为导向。《通风工程》课程的毕业要求均有教学目标作为其支撑。 因此,支撑关系主要存在于第一级别的类—毕业要求和教学目标之间。
(2)达到关系:任何课程内容的学习都是为了实现一个教学目标,所以达到关系主要存在于第一级别的类—课程内容和教学目标之间。
(3)包含关系:按照课程的知识体系,课程内容会包含章,章包含节,节包含具体的知识点。 某一个知识点也可能包含另一个知识点。 因此,包含关系体现在不同级别类之间的关系。
(4)相关关系:如果某几个知识点之间存在相互联系、相互影响和相互作用,则各知识点之间就是相关关系。
(5)顺序关系:学习某几个知识点具有明显的先后关系,也就是学习某一个知识点后才能学习另一个,存在前驱后继的关系,称之为顺序关系。
本文对类的属性的描述主要集中在知识点这个类,因为每个知识点的学习要求都是不同的,主要从所属章节、掌握程度和难易程度三个方面进行描述,如图3 所示。 关于掌握程度的6 个等级使用的是布鲁姆认知等级评定,逐级递增。
图3 数据属性结构图Fig. 3 Data property
1.2.3 实体、关系和属性的确定
每个类对应着各种各样的实体,具有相应的属性。 实体关系可从类的关系继承。 根据数据资源,本文共抽取了337 个实体。 根据类的层次结构,实体间主要为“包含”关系,例如,每一章包含若干节,每一节包含若干个知识点。 另一个主要关系为“顺序”,属于同一类之下的实体,如章和章、节与节、知识点和知识点之间,具有顺序的关系,也即学习某一章节或知识点前需要先修习其他的章节或知识点。此外,知识点与知识点之间可能是相互关联的,这里就存在“相关”的关系。 对于实体的属性,按照类的相关属性进行描述。
Neo4j 是一个NoSQL 的图数据库管理系统,优点是能够直观地显示数据内容。 Neo4j 图数据库能够提供众多的语言接口,可以针对Java 语言进行数据和关系的提取。 本文将Protégé 的本体在Neo4j里进行展示,包括实体和关系,并将实体通过关系进行连接,进行知识图谱的展示和检索。 通过Neo4j中的Cypher 语句进行查询,可以检索相关的实体和实体间的关联关系,以及相应的属性。 基于Neo4j图数据库的局部显示效果如图4 所示。 由图4 可知,知识图谱以网状图的结构显示,涵盖了课程所有实体,以及实体间的关系和属性。
图4 基于Neo4j 图数据库的局部显示效果Fig. 4 Local display of knowledge graph based on Neo4j graph database
为了方便教师和学生对知识图谱的使用,提升用户与知识图谱之间的互动性,本研究设计开发了《通风工程》课程知识图谱的教学平台。 该平台的主要分为2 个模块,一是登录模块,二是主功能模块。 在登录模块中,教师和学生以不同的身份进行登录。 学生是普通用户身份,能够查看和查询知识图谱的信息;教师是管理员身份,不但能够监管普通用户的功能,还可以对知识图谱进行信息维护。 在主功能模块中,具有知识图谱全貌展示、知识图谱查询、知识图谱管理和用户管理四项功能。 教学平台的功能设计如图5 所示。
图5 教学平台功能设计Fig. 5 Functional design of teaching platform
教学平台的建设主要由3 部分组成:Web 前端界面、后端接口以及数据库管理。 对此拟展开研究论述如下。
(1)Web 前端界面实现。 教学平台的交互界面以Web 前端界面的形式呈现,使用浏览器即可访问。 Web 前端界面使用目前流行的JavaScript 框架—Vue.js 作为应用框架,具有动态路由管理、角色权限分配等功能,并搭配了Element Plus 组件库,功能丰富、界面美观。 知识图谱的可视化采用可视化图表库Echarts 中的关系图实现,在展示知识图谱信息的同时,还具有一定的交互性。
(2)后端接口实现。 教学平台采用前后端分离的架构,Web 前端界面的部分数据需要通过访问后端接口获得进行展示。 后端接口使用现代、高性能的FastAPI 框架,实现了基于哈希密码与JWT 令牌的加密登录,基于SQLAlchemy 对用户数据的增删改查,基于Neo4j-driver 对知识图谱数据的查询与修改等功能。
(3)数据库管理实现。 教学平台使用的数据库包括2 种:存储用户数据的SQLite 关系数据库与存储知识图谱数据的Neo4j 图数据库,并使用python将数据库操作与后端接口连接起来,为Web 前端界面提供操作数据。
为了方便教学平台的部署与应用,平台使用Docker 将以上3 部分分割出来,构建成3 个独立的容器,并通过设置端口进行容器之间数据的传递。 另外,使用docker-compose 构建工具定义和运行多个容器,使部署更加快速和方便,并占用更少的资源。
(1)知识图谱全貌。 登录教学平台后,首先展示的是知识图谱的全貌。 根据知识图谱的构建层次,界面上展示了毕业要求、教学目标、课程内容、章、节、知识点六个类的实体。 根据使用需要,可单独展示或同时展示一类或几类的实体。 当鼠标置于任一节点上,均可显示这一实体的名称和属性;置于任一条连接线时都可显示对应的关系。 知识图谱的全貌如图6 所示。 学生可以在学习课程的同时,纵观课程的知识体系,掌握课程的脉络,厘清学习路径,进而从整体上提升学习质量。
图6 知识图谱全貌界面Fig. 6 Overview interface of knowledge graph
(2)知识图谱查询。 由于课程知识点较多,在知识图谱全貌图上进行知识点的人工查找,比较费时费力。 教学平台可以实现知识节点的检索。 利用Neo4j 的Cypher 语言查询存储的内容,再自定义处理器函数返回符合的数据给前端。 例如,知识图谱查询界面如图7 所示。 图7 中,在“类别”中选中“节”,填入节名称“过滤式除尘器”,点击查询,便可在界面上显示出该节点。 点击“显示关系”,可以显示与该节点有关系的所有节点。 在这个例子中,这一节包含的所有知识点,以及各知识点所对应处的章都能够显示。 通过查询功能,学生便可了解某一知识点的详细情况,从而明确相关的学习要求。
图7 知识图谱查询界面Fig. 7 Query interface of knowledge graph
(3)知识图谱管理。 社会的发展促使知识的更新,任何一门课程的知识体系都不是一成不变的。教学平台预留了课程知识图谱的管理功能,包括添加知识和更新知识两项功能,由管理员负责管理,如图8 所示。 管理员可以将新增的知识点或更新的知识点以规范化的数据结构存储在知识图谱中。 例如,在添加知识界面中,管理员可以在对应的实体类别下,添加新增的实体,并为其赋予属性;通过添加关系,建立该项关系与其他源实体之间的联系。 由于友好的界面互动功能,管理员无需具备专业的编程知识,也可完成知识图谱的管理工作。
图8 知识图谱中添加知识和更新知识界面Fig. 8 Knowledge adding and update interface
(4)教学平台使用效果。 在《通风工程》开课期间,知识图谱教学平台向学生开放。 学生登录后,在接触课程的初期即可纵观知识体系,了解学习的主体路径。 当学习到具体的课程内容时,可以在知识图谱上检索到相应的知识点,明确该知识点的学习要求,更精准地把握知识掌握的程度。 课程结束以后,通过知识图谱进行有效的复习,将所学知识融会贯通。从教师的应用角度,教学平台能够辅助课堂教学,向学生展示课程脉络,提升教师的教学质量,同时,能够站在领域前沿,将前沿知识更新至知识图谱中,不断修订课程的知识体系。 从学生的使用效果角度,知识图谱的信息化形式能够助其更快、更准地吸收知识,更加有效地进行学习。
基于教育信息化的背景,本研究首次建立了工科专业—建筑环境与能源应用工程中《通风工程》课程知识图谱的教学平台,详细地介绍了相关的建设方法,主要包括基于Protégé 本体编辑器的知识图谱的构建、基于Neo4j 图数据图的知识图谱的可视化,以及知识图谱教学平台的设计与应用。 该课程知识图谱教学平台的应用能够提升学生把握课程整体结构和知识脉络的能力,帮助学生规划学习路径,为精准化教学提供了技术保障。 同时,该课程知识图谱教学平台的设计思想、模式以及程序构架具有共通性,可推广到其他专业课程教学平台的建设中。