Skip to content

针对高校专业培养方案多为非结构化文本、人工整理效率低、课程关系挖掘困难等问题,提出一种基于大语言模型(LLM)的知识图谱构建方法。该方法以信息安全、计算机科学与技术等专业培养方案为研究对象,通过LLM实现非结构化文本的结构化提取、数据标准化处理,构建涵盖大学、专业、课程、章节、知识点的多层级知识图谱,并基于Neo4j图数据库实现拓展查询与应用。实验对比两种不同参数量LLM的提取效果,验证了大参数量模型在格式规范性、数据准确性上的优势;构建的知识图谱包含5733个节点和5882条关系,可有效支持课程学习路径查询、专业课程体系梳理、跨校课程对比等功能。研究成果为高校教学管理、学生选课指导及专业建设提供了重要技术支撑。

Notifications You must be signed in to change notification settings

Rainwithluv/KnowledgeGraph

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

基于LLM的培养方案知识图谱构建流程

Step1:使用LLM自动抽取、处理非结构化文本

python llm_extract.py
  • 输入:txt格式的培养方案
  • 输出:输出JSON文件至data目录中

Step2:统一开课学期为阿拉伯数字

python llm_standard.py
  • 输入:data目录下的JSON文件
  • 输出:clean_data下的JSON文件

Step3:对比不同LLM的提取效果

LLM1:Pro/deepseek-ai/DeepSeek-R1-Distill-Qwen-7B

  1. 即使指令明确要求json格式,有时仍然无法生成完整的json
  2. 语义理解偏差比较大,有时会生成一些无效数据,即重复or遗漏课程信息,导致在构建图谱时,一些相关课程无法成功匹配
  3. 当收集到的数据是先按学年分类,再按春秋季学期时,无法理解为具体学期
  4. 对非规范表述的处理能力较弱,如开课学期全部推理为1

LLM2:deepseek-ai/DeepSeek-R1-Distill-Qwen-32B

  1. 调用耗时比LLM1更长
  2. 基本能够按照Prompt要求的格式输出,虽然有时也会生成不完整格式,但是概率明显降低
  3. 没有重复数据出现,这一点很明显

结论:参数量越大的LLM处理效果更好,但是推理耗费的时间的确更长。

Step4:知识图谱核心构建

python build_kg.py

层级关系

  • 大学——>专业(HAS_MAJOR)
  • 专业——>课程——>课程(HAS_COURSE)
  • 课程——>章节——>知识点——>知识点(HAS_CHAPTER、HAS_SECTION、PREREQUISITE)

输入输出

  • 输入:JSON格式的培养方案与txt格式的教学大纲(课程目录)
  • 输出:nodes.csv和edges.csv

Step5:图谱功能设计

核心文件

  • graph_loader.py:读取节点表和关系表
  • kg_query.py:提供核心查询功能
  • visualize.py:使用pyvis生成交互式可视化页面,按节点类型分配不同颜色
  • run.py:生成可视化的查询结果
  • run_backend.py:将查询结果以csv格式保存至本地

功能调用(run.py)

python run.py
  1. 查询课程学习路径
  2. 查询某一专业需学习的课程
  3. 大学、专业及课程关系总览

功能调用(run_backend.py)

python run_backend.py
  1. 查询某门课程的学习路径,输出实体表和关系表
  2. 查询某专业的课程及课程之间的先修关系
  3. 查询某大学的课程及课程之间的先修关系

Step6:Neo4j导入知识图谱,按需求查询

python import2neo4j.py

功能说明

生成适配 Neo4j 的csv,导入neo4j后支持以下查询:

  1. 查询某门课程的章节与知识点
  2. 查询某专业的所有课程

About

针对高校专业培养方案多为非结构化文本、人工整理效率低、课程关系挖掘困难等问题,提出一种基于大语言模型(LLM)的知识图谱构建方法。该方法以信息安全、计算机科学与技术等专业培养方案为研究对象,通过LLM实现非结构化文本的结构化提取、数据标准化处理,构建涵盖大学、专业、课程、章节、知识点的多层级知识图谱,并基于Neo4j图数据库实现拓展查询与应用。实验对比两种不同参数量LLM的提取效果,验证了大参数量模型在格式规范性、数据准确性上的优势;构建的知识图谱包含5733个节点和5882条关系,可有效支持课程学习路径查询、专业课程体系梳理、跨校课程对比等功能。研究成果为高校教学管理、学生选课指导及专业建设提供了重要技术支撑。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published