基于ChatGPT 的课程知识图谱构建与可视化研究
作者: 黄少年 李佩霖 王焕然 陈知新
摘要:课程知识图谱将课程中的知识点、概念、理论等以图谱形式组织和展示,有助于促进个性化教学、推动课程教学的创新发展。针对现有课程知识图谱构建过于依赖数据标注和专家知识的问题,文章提出了一种基于 ChatGPT 的课程知识图谱自动构建与可视化方法。首先,通过课程资料的收集和预处理,归纳总结课程核心概念,构建课程本体模型。然后采用 ChatGPT 实现课程知识点实体、属性和关系抽取,通过设计多轮问答提示模板,提升课程知识信息抽取的可靠性。最后,采用 Neo4j 图数据库实现课程知识图谱的存储和管理,提供用户友好的界面与交互方式,直观地探索与理解课程知识。实验结果显示,ChatGPT 在进行课程知识抽取任务上具有一定的可靠性和优越性,基于 ChatGPT 的课程知识图谱构建方法为大语言模型在教育领域的应用提供了新的思路,具有应用前景和推广价值。
关键词:课程知识图谱;信息抽取;ChatGPT;Neo4j
中图分类号:G424 文献标识码:A
文章编号:1009-3044(2024)31-0148-04
开放科学(资源服务)标识码(OSID) :
课程知识图谱是以课程为核心的系统化、结构化知识网络。它通过描述课程相关的实体、概念、理论及其之间的复杂关系,揭示课程知识的内在联系与规律[1]。在课程教学实践中,课程知识图谱有助于教师更好地组织教学内容和设计教学方案;这也帮助学生更好地理解和掌握课程知识,形成完整的知识体系,从而促进教学效果的提升。
随着 ChatGPT[2]的发布,生成式预训练语言模型迅速推动了自然语言处理技术的进步,在金融、医疗、教育等多个领域产生了深远的影响。已有研究表明,ChatGPT 在中文命名实体识别、关系抽取、事件抽取等信息抽取任务中取得了良好的效果[3-4],这也为知识图谱技术的创新发展带来了新的机遇,为智能化知识图谱构建、语义理解及可视化提供了新的可能。
数据结构课程是电子信息类专业的重要核心课程,其教学是培养学生扎实专业理论基础的关键环节。因此,结合 ChatGPT 和 Neo4j 图数据库技术,形成数据结构课程知识图谱自动构建和可视化的方法,对于电子信息类本科人才培养具有重要作用。
1 数据结构课程知识图谱构建策略
构建课程知识图谱的重点在于快速、准确地抽取课程中的知识点实体、关系以及属性。本文首先构建数据结构课程的本体模型,定义课程概念体系;然后采用基于多轮对话的 ChatGPT 信息抽取方式,实现课程实体、关系以及属性的抽取。最后,使用 Neo4j 数据库进行知识图谱的可视化展示。具体流程如图1所示。
1.1 数据结构课程本体模型构建
本体模型[5]是一种领域知识的形式化表示方法,用于描述领域中类、概念、实体及其相互关系的语义关系。根据数据结构课程教学基本要求、权威教材以及课程相关教学名师的意见,归纳总结课程的核心概念,提炼知识实体、属性及关系,构建课程的本体模型。具体内容包括:
1) 课程核心概念体系。课程核心概念体系的提炼涉及课程核心实体。通过收集课程相关数据资料,包括教案、教材、习题及各类网络资源,对数据源进行分类汇总,将数据结构课程的核心实体分为章节实体、概念实体和法则实体三类。其中,章节实体表示课程内容的组织结构,例如课程中的各个章节、主题等。概念实体表示课程中涉及的各种概念,比如队列、树、图等。法则实体表示数据结构课程中的各种规则、定理和操作等。图2展示了课程中《图》这一章节的概念体系。
2) 实体属性定义。根据课程核心概念,总结课程实体的相关属性定义。其中,线性表实体的属性包括元素集合、元素类型、元素数量、有序性、增删改查操作等。栈实体的属性包括容量、栈顶指针、栈操作等。树实体的属性包括根节点、父节点、子节点、深度、类型等。图实体的属性包括顶点集合、边集合、方向性、权重、度数、连通性等。算法实体的属性包括稳定性、时间复杂度、空间复杂度等。
3) 实体关系定义。基于课程内容和知识结构,建立实体之间的关系,包括包含关系、属于关系、基本概念关系、存储方式关系和应用关系等。其中基本概念关系描述某个概念实体是否为另一个实体的基本概念。
存储方式关系描述一个实体在计算机中的存储方式。同义关系描述具有相同含义的概念实体之间的关系。依赖关系表示某个实体依赖于其他实体。应用关系描述概念实体对应的实际应用。部分数据结构课程的实体关系建模如表1所示。
1.2 基于 ChatGPT 的知识图谱构造
基于 ChatGPT 的课程知识图谱构建的具体过程包括:数据采集与预处理、实体抽取、实体属性抽取、实体关系抽取,以及基于 Neo4j 的知识图谱构建与可视化。
本研究采用的课程资料来自多个渠道。其中,数据结构课程教案中的知识点被选作重要参考,教案由资深任课教师编写,内容涵盖数据结构的基础知识和相关应用,具有一定的权威性和可信度。百度百科和维基百科提供了丰富的网络知识库资源,包括对数据结构相关概念、算法和应用的介绍。百度电子文档则是从百度文库等平台获取的,其中包含了多篇学术论文和两本数据结构专业教材,包括严蔚敏的《数据结构(C语言版)》和李春葆的《数据结构》(C语言篇)习题与解析,以及多篇数据结构电子文档。
1.2.1 基于 ChatGPT 的课程知识点实体抽取
使用 ChatGPT 进行信息抽取时,需要用到固定的模板。使用不同的模板,抽取效果可能有所不同。多轮问答模板有助于提升信息抽取的准确性和完整性,通过多轮次的交互问答,ChatGPT 能够更深入地理解用户的查询意图,并根据用户的需求逐步细化和扩展抽取的信息范围。本文设计了如下几种不同效果的多轮问答模板:
模板1:“‘数据……’请提取出上述文本中的实体以便构建知识图谱。”
模板2:“‘数据……’请根据上述文本,抽取出文本涉及的各类实体,包括章节实体、概念实体、法则实体。”
模板3:
Q1:“‘数据……’请根据上述文本回答下列问题。请抽取出文本中的各个实体,实体的类型至少包括:章节实体、概念实体、法则实体等。”
Q2:“请将文本抽取出来的实体以二元组格式输出,多个实体用列表存储。”
采用多轮问答模板进行实体抽取的测试样例如表2所示。
1.2.2 基于 ChatGPT 的课程知识点实体属性抽取
用于实体属性抽取的多轮提示模板如下:
模板1:“‘数据……’请提取出上述文本中图结构的属性,以便构建知识图谱。”
模板2:“‘数据……’请根据上述文本,抽取出文本中涉及的图结构属性,其中包括但不限于:顶点集合、边集合、方向性、权重、图的表示方法、算法与应用等。”
模板3:
Q1:“‘数据……’请根据上述文本回答下列问题。请抽取出文本中关于图结构的属性,属性的类型至少包括:顶点集合、边集合、方向性、权重、图的表示方法、算法与应用等。”
Q2:“请将从文本中抽取的属性以二元组格式输出,多个属性用列表存储。”
采用多轮问答模板进行实体属性抽取的测试样例如表3所示。
1.2.3 基于 ChatGPT 的课程知识点关系抽取
用于实体关系抽取的多轮提示模板如下:
模板1:“‘数据……’请提取出上述文本中实体之间的关系,以便构建知识图谱。”
模板2:“‘数据……’请根据上述文本,抽取出文本中涉及的实体之间的关系,其中包括但不限于:包含关系、属于关系、基本概念关系、存储方式关系、应用关系、依赖关系、同义关系、关联关系等。”
模板3:
Q1:“‘数据……’请根据上述文本回答下列问题。请抽取出文本中各个实体之间的关系,关系的类型至少包括:包含关系、属于关系、基本概念关系、存储方式关系、应用关系、依赖关系、同义关系、关联关系等。”
Q2:“请将从文本中抽取的关系以三元组列表格式输出,多组关系用集合存储。”
采用多轮问答模板进行实体关系抽取的测试样例如表4所示。
2 数据结构课程知识图谱构建实验
本文将 ChatGPT 进行实体、属性及关系抽取的结果与当前抽取效果较好的信息抽取模型进行比较,以分析信息抽取的效果。
2.1 评价标准
在知识抽取任务中,准确率(Precision) 、召回率(Recall) 和F1分数是常用的评价标准,它们用于衡量模型在提取文本信息方面的性能表现。
准确率(Precision) :衡量模型预测为正确的样本数量与所有预测为正样本的样本数量之比。公式如下:
Precision = TP/TP + FP (1)
召回率(Recall) :衡量模型成功找到的正样本数量与真实正样本数量之比。公式如下:
Recall = TP/TP + FN (2)
F1分数:是准确率和召回率的调和平均,考虑到两者之间的平衡关系。F1分数的高低反映了模型在准确率和召回率之间的平衡情况,是综合评价模型性能的重要指标之一。公式如下:
F1 = 2 × precision × Recall/Precision + Recall (3)
2.2 课程实体抽取结果
针对数据结构课程知识点的实体抽取问题,笔者通过使用标注数据进行训练,比较了 ChatGPT 与各类基线模型的抽取效果。实验中使用的基线模型主要包括:Bi-LSTM [6] 模型、Bi-LSTM-CRF [7] 模型、BERT- CRF [8] 模型以及隐马尔可夫模型(HMM) [9]。这些模型被广泛用于命名实体识别和其他序列标注任务。除了传统的深度学习模型之外,阿里通义千问作为类 ChatGPT 大语言模型,在多项任务中表现出色,显示出广泛的应用潜力。
使用基线模型和 ChatGPT 作为工具进行实体抽取的结果如表5所示。实验结果表明,ChatGPT 在实体抽取任务中表现卓越,准确地捕捉到了数据结构课程的关键知识点。
根据实体抽取的实验数据可以看出,在准确率、召回率和 F1 分数方面,ChatGPT 均表现出色,分别达到了 80.76%、77.77% 和 79.24%。相比之下,其他模型如 BERT-CRF、Bi-LSTM、Bi-LSTM-CRF 等在各项指标上的表现略逊一筹,而 HMM 模型在准确率上表现优异,但召回率和 F1 分数相对较低。阿里通义千问模型在准确率上表现不错,但召回率和 F1 分数与 ChatGPT 相比略显不足。ChatGPT 在抽取数据结构课程知识点实体任务中的优越性能,为数据结构课程知识图谱的构建提供了可靠的支持和保障。
2.3 课程实体关系抽取结果
在关系抽取实验中使用的基线模型包括:CASRE 模型[10]、GPLinker 模型[11],以及阿里通义千问大语言模型。使用基线模型和 ChatGPT 进行课程知识关系抽取的结果如表6所示。
根据关系抽取的实验结果,ChatGPT 模型在准确率、召回率和 F1 分数上均表现出较好的结果。然而,相对于 CASREL 和 GPLinker 模型,其在准确率上的提升空间依然存在,这主要是由于课程知识点之间的复杂关系所导致的。ChatGPT 模型具有高召回率和 F1 分数,这意味着它能够更全面地识别实体之间的各种关系,对于构建准确且全面的知识图谱至关重要。
2.4 属性抽取结果展示