第四次课
知识图谱:从基础到大语言模型时代
知识图谱与NLP讨论班讲义
课程信息:本科生讨论班 · 3小时 · 知识图谱专题
目录
一、什么是知识图谱
1.1 直觉理解
想象你在搜索引擎中输入"爱因斯坦",你会看到一个信息卡片:他的出生日期、国籍、主要成就、相关人物……这背后支撑的数据结构,就是知识图谱。
知识图谱(Knowledge Graph)是一种以图结构组织知识的技术,它将现实世界中的实体(人、地点、事件、概念)及其关系结构化地表示出来。
1.2 形式化定义
知识图谱本质上是一个有向标注图,其基本组成单元是三元组(Triple):
(头实体, 关系, 尾实体)
(Subject, Predicate, Object)
(s, r, o)
示例:
| 头实体 | 关系 | 尾实体 |
|---|---|---|
| 爱因斯坦 | 出生于 | 德国 |
| 爱因斯坦 | 提出了 | 相对论 |
| 相对论 | 属于 | 物理学 |
| 诺贝尔奖 | 颁发给 | 爱因斯坦 |
将这些三元组连接起来,就形成了一张知识的"网络"——知识图谱。
1.3 知识图谱 vs. 传统数据库
| 维度 | 关系型数据库 | 知识图谱 |
|---|---|---|
| 数据模型 | 表格(行列) | 图(节点+边) |
| 模式 | 严格固定模式 | 灵活开放模式 |
| 关系表达 | JOIN操作 | 边直接表示关系 |
| 推理能力 | 弱 | 强(支持逻辑推理) |
| 异构数据 | 难以处理 | 天然支持 |
| 查询语言 | SQL | SPARQL / Cypher |
1.4 知识的表示层次
原始数据(Raw Data)
↓ 信息提取
信息(Information):结构化的事实
↓ 组织与关联
知识(Knowledge):关联的信息网络
↓ 推理与抽象
智慧(Wisdom):可以推理与决策的系统
知识图谱的目标是在信息层和知识层之间建立桥梁,并支持一定程度的推理。
二、知识图谱的历史
2.1 前史:知识表示的探索(1950s–1990s)
知识图谱并非凭空出现,它继承了人工智能早期对知识表示的大量研究。
语义网络(Semantic Network)(1960s)
- Ross Quillian(1966)提出语义网络,用节点和弧线表示概念及其关系
- 是知识图谱最早的前身
- 例:
dog → is-a → animal,dog → has → legs
框架理论(Frame Theory)(1970s)
- Minsky(1974)提出框架,将知识组织成结构化的数据结构
- 类似于今天面向对象编程中的"类"
本体论(Ontology)(1980s–1990s)
- 从哲学借用"本体"概念,用于形式化描述某一领域的概念及其关系
- 代表成果:WordNet(1985–)、Cyc(1984–)
WordNet:由普林斯顿大学构建的英语词汇数据库,将词语按照同义词集(synset)组织,并标注词语间的语义关系(上下位、同义、反义等),至今仍是NLP研究的重要资源。
Cyc:Douglas Lenat发起的超大规模常识知识库项目,试图将人类的"常识"编码成机器可读的形式。耗时数十年,积累了数百万条规则,但由于知识获取瓶颈(Knowledge Acquisition Bottleneck),难以规模化。
2.2 语义网时代(2000s)
Tim Berners-Lee(万维网发明者)在2001年提出**语义网(Semantic Web)**愿景:
让机器也能理解网页上的信息,实现机器可读的万维网。
为此,W3C推出了一系列标准:
- RDF(Resource Description Framework):用三元组描述资源
- OWL(Web Ontology Language):本体描述语言
- SPARQL:RDF图的查询语言
这一时期建立了知识图谱的技术基础,但语义网的宏大愿景并未完全实现——主要原因是构建和维护成本太高,且缺乏商业驱动力。
2.3 现代知识图谱的崛起(2010s)
2010年:Freebase被Google收购
- Freebase是一个开放的协作知识库,包含数千万实体
- Google将其用于构建自己的知识图谱
2012年:Google Knowledge Graph正式发布
- Google正式提出"Knowledge Graph"这一术语
- 搜索结果页面出现知识卡片(Knowledge Panel)
- 标志着知识图谱从学术走向工业界主流
同期涌现的重要知识图谱:
| 名称 | 机构 | 特点 |
|---|---|---|
| Google Knowledge Graph | 搜索驱动,规模最大 | |
| Wikidata | Wikimedia基金会 | 开放、众包、多语言 |
| DBpedia | 学术界 | 从Wikipedia抽取,RDF格式 |
| YAGO | MPI / ETH Zürich | 高精度,融合WordNet与Wikipedia |
| Freebase | 协作构建,已并入Wikidata | |
| 百度知识图谱 | 百度 | 中文,搜索应用 |
| 阿里知识图谱 | 阿里巴巴 | 商品与电商领域 |
| CN-DBpedia | 复旦大学 | 中文百科知识图谱 |
2.4 深度学习赋能阶段(2015–2022)
随着深度学习的崛起,知识图谱研究进入新阶段:
- **知识图谱嵌入(KG Embedding)**成为研究热点(TransE, RotatE等)
- **图神经网络(GNN)**与知识图谱结合
- 知识图谱开始服务于下游NLP任务(问答、对话、推荐)
2.5 大语言模型时代(2022–至今)
ChatGPT等大语言模型的出现,引发了知识图谱领域的深刻变革——这也是本课的重点之一,后文详细展开。
三、知识图谱的核心技术
3.1 知识图谱的构建
构建知识图谱通常分为以下几个步骤:
原始文本/数据
↓
① 实体识别(NER)
↓
② 关系抽取(RE)
↓
③ 实体链接(EL)
↓
④ 知识融合(KF)
↓
⑤ 知识存储与推理
↓
知识图谱
3.1.1 命名实体识别(Named Entity Recognition, NER)
任务:从文本中识别出具有特定意义的实体,并标注其类型。
常见实体类型:人名(PER)、地名(LOC)、机构名(ORG)、时间(TIME)、数字(NUM)等。
示例:
"2024年,OpenAI发布了GPT-4o,Sam Altman在旧金山宣布了这一消息。"
ORG 产品名 PER LOC
主流方法:
- 早期:CRF(条件随机场)+ 人工特征
- 现在:BERT/RoBERTa + 序列标注(BIO/BIOES标注方案)
- 前沿:大语言模型(few-shot/zero-shot NER)
3.1.2 关系抽取(Relation Extraction, RE)
任务:识别文本中两个实体之间的语义关系。
示例:
"马云创立了阿里巴巴。"
→ (马云, 创立, 阿里巴巴)
两种场景:
- 有监督关系抽取:预定义关系类型,训练分类器
- 开放域关系抽取(OpenIE):不预定义关系,自动抽取关系短语
主流方法:
- Pipeline方法:先NER,再对实体对分类
- 联合抽取(Joint Extraction):同时完成实体识别和关系抽取
- 远程监督(Distant Supervision):利用已有知识图谱自动生成训练数据
3.1.3 实体链接(Entity Linking / Entity Disambiguation)
任务:将文本中识别出的实体指称(mention)链接到知识图谱中的对应实体。
挑战:
- 歧义性:"苹果"→ 水果 or 苹果公司?
- 多样性:同一实体可能有多种称呼("北京"="首都"="Beijing")
流程:
- 候选实体生成(Candidate Generation)
- 候选实体排序(Candidate Ranking)
- NIL检测(实体是否在知识图谱中)
3.1.4 知识融合与对齐
当从多个来源构建知识图谱时,需要:
- 实体对齐:判断不同知识库中的实体是否指同一现实对象
- 关系对齐:统一不同来源中语义相同但表述不同的关系
- 冲突消解:处理来自不同来源的矛盾知识
3.2 知识图谱的表示学习
3.2.1 为什么需要嵌入表示?
符号化的知识图谱难以直接用于机器学习任务。知识图谱嵌入(KG Embedding)将实体和关系映射到低维连续向量空间,从而:
- 支持相似性计算
- 实现知识图谱补全(链接预测)
- 与神经网络模型集成
3.2.2 经典模型
TransE(2013)
- 将关系建模为向量空间中的平移操作
- 核心假设:(若三元组成立)
- 简洁高效,但难以处理一对多/多对多关系
TransR / TransH(2014)
- 对TransE的改进,在关系特定的空间中进行平移
DistMult(2015)
- 用双线性函数建模:
RotatE(2019)
- 将关系建模为复数向量空间中的旋转
- 可以建模对称、反对称、逆、组合等关系模式
图神经网络方法(R-GCN, CompGCN等)
- 利用图结构信息,通过消息传递更新实体表示
- 更好地利用多跳邻居信息
3.2.3 知识图谱补全(Link Prediction)
任务:预测知识图谱中缺失的三元组。
示例:已知(爱因斯坦,出生于,?),预测尾实体。
这是知识图谱嵌入最重要的评测任务,常用指标:
- MRR(Mean Reciprocal Rank):平均倒数排名
- Hits@K:正确实体出现在前K个候选中的比例
3.3 知识图谱的推理
3.3.1 本体推理(Ontology-based Reasoning)
基于预定义的规则和本体公理进行推理:
规则:X 是 Y 的父母 ∧ Y 是 Z 的父母 → X 是 Z 的祖父母
已知:(张三, 父母, 李四), (李四, 父母, 王五)
推出:(张三, 祖父母, 王五)
常用推理引擎:Pellet、HermiT(基于OWL)
3.3.2 路径推理
在知识图谱中寻找实体间的推理路径:
爱因斯坦 → [任职于] → 普林斯顿高等研究院
→ [位于] → 美国新泽西州
代表工作:Path-RNN, MINERVA(强化学习路径推理)
3.3.3 多跳问答
在知识图谱上回答需要多步推理的问题:
问:"爱因斯坦的导师的导师是谁?"
路径:爱因斯坦 → [导师] → 韦伯 → [导师] → ?
3.4 知识图谱的存储与查询
3.4.1 图数据库
常用图数据库:
- Neo4j:最流行的图数据库,查询语言Cypher
- Amazon Neptune:云端图数据库,支持RDF和属性图
- Apache Jena:开源RDF框架,支持SPARQL
3.4.2 SPARQL查询示例
PREFIX dbo: <http://dbpedia.org/ontology/>
PREFIX dbr: <http://dbpedia.org/resource/>
SELECT ?award WHERE {
dbr:Albert_Einstein dbo:award ?award .
}
3.4.3 Cypher查询示例(Neo4j)
MATCH (p:Person {name: "爱因斯坦"})-[:AWARDED]->(a:Award)
RETURN a.name
四、知识图谱的应用
4.1 搜索引擎增强
Google Knowledge Panel 是知识图谱最广为人知的应用:
- 搜索"奥巴马"时,右侧显示其职业、家庭、任期等结构化信息
- 直接回答事实类问题,无需点击网页
- 支持语义搜索(理解查询意图,而非关键词匹配)
背后原理:
- 识别查询中的实体
- 在知识图谱中查找相关信息
- 生成结构化的答案卡片
4.2 问答系统(KGQA)
**知识图谱问答(KGQA)**是将自然语言问题转化为知识图谱查询的任务。
两种主流范式:
| 方法 | 思路 | 优点 | 缺点 |
|---|---|---|---|
| 语义解析(SP-based) | 将问题解析为逻辑查询(SPARQL等) | 可解释,精准 | 覆盖范围有限 |
| 信息检索(IR-based) | 检索子图后用神经网络推理 | 更灵活,鲁棒 | 可解释性差 |
代表数据集:
- WebQuestions:从Freebase回答的网页问题
- FreebaseQA
- ComplexWebQuestions(多跳推理)
4.3 推荐系统
知识图谱为推荐系统提供丰富的语义信息:
用户 → [购买] → 《三体》(科幻小说)
《三体》 → [作者] → 刘慈欣
刘慈欣 → [其他作品] → 《流浪地球》
→ 推荐《流浪地球》给该用户
代表工作:KGCN、KGNN-LS、RippleNet
4.4 医疗健康领域
医学知识图谱在医疗AI中有重要应用:
- 疾病-症状-药物关系图谱:辅助诊断
- 药物相互作用预测:发现潜在药物副作用
- 医学文献挖掘:自动从文献中抽取医学知识
代表知识图谱:
- UMLS(统一医学语言系统)
- DrugBank
- 中文医学知识图谱(CMeKG)
4.5 金融领域
- 企业关系图谱:股权穿透、关联方识别(反欺诈)
- 事件知识图谱:财经事件分析、影响链推理
- 风险传导分析:金融风险的图上传播建模
4.6 对话系统
知识图谱为对话系统提供事实基础:
- 任务型对话:酒店预订、机票查询(结构化知识查询)
- 闲聊系统:使对话更有"知识含量"
- 问答机器人:企业客服、智能助手
五、大语言模型与知识图谱
这是本课最前沿、也最值得深入讨论的部分。
5.1 大语言模型作为"隐式知识库"
大语言模型(如GPT-4、Claude、LLaMA)在预训练过程中,已经从海量文本中隐式地学习了大量世界知识。
你可以直接问ChatGPT:
"爱因斯坦在哪所大学工作?"
它能给出正确答案,但这些知识是以参数权重的形式分布存储的,而非显式的三元组。
LLM的知识特点:
| 维度 | LLM(隐式知识) | 知识图谱(显式知识) |
|---|---|---|
| 存储形式 | 参数权重 | 结构化三元组 |
| 可解释性 | 差(黑盒) | 强(可查询) |
| 时效性 | 受训练截止日期限制 | 可实时更新 |
| 精确性 | 存在幻觉(hallucination) | 精确可靠 |
| 推理能力 | 强(灵活推理) | 有限(规则推理) |
| 覆盖范围 | 极广 | 有限(需手动构建) |
| 更新成本 | 高(需重新训练) | 低(可增量更新) |
5.2 LLM对知识图谱构建的影响
5.2.1 LLM大幅提升信息抽取能力
传统方法的痛点:
- NER和关系抽取需要大量标注数据
- 对新领域、新关系类型的泛化能力弱
- Pipeline误差累积
LLM带来的改变:
Few-shot/Zero-shot信息抽取
Prompt示例:
"从以下文本中抽取人物与职位的关系,以JSON格式输出:
文本:'2024年1月,李明接任华为消费者业务总裁一职。'
输出:{"entity1": "李明", "relation": "担任", "entity2": "华为消费者业务总裁"}"
LLM可以在无需专门训练的情况下,完成高质量的信息抽取。
代表工作:
- GPT-NER(2023):用LLM做NER,性能超过监督模型
- UniversalNER(2023):专为NER微调的LLM
- InstructIE(2023):基于指令的开放信息抽取
5.2.2 LLM辅助知识图谱补全
传统方法:依赖结构信息(图结构、嵌入)
LLM方法:利用文本描述和上下文理解
任务:预测 (Marie Curie, educated_at, ?)
LLM可以基于文本知识推断:巴黎大学(索邦大学)
代表工作:KG-BERT, LMKE, ChatRule
5.2.3 自动化知识图谱构建管道
LLM使得"端到端"构建知识图谱成为可能:
原始文本
↓ LLM (one-pass extraction)
实体 + 关系 + 事件
↓ 实体链接(LLM + 检索)
链接到已有KG
↓ LLM辅助质量验证
高质量知识图谱
代表项目:
- JARVIS/AutoKG:自动化知识图谱构建
- GraphGPT:利用GPT构建领域知识图谱
5.3 LLM对知识图谱应用的影响
5.3.1 KGQA的范式转变
传统KGQA管道:
自然语言问题 → 语义解析 → SPARQL → 执行 → 答案
LLM时代的KGQA:
方法一:LLM生成查询(Text2SPARQL)
- LLM直接将自然语言转为SPARQL/Cypher
- 优点:灵活,可处理复杂问题
- 代表:DAIL-SQL(类似思路用于KGQA)
方法二:检索增强生成(RAG + KG)
- 从知识图谱中检索相关子图
- 将子图作为上下文输入LLM
- LLM基于知识图谱生成答案
方法三:LLM + 知识图谱协同推理
- LLM负责自然语言理解和推理规划
- 知识图谱负责提供精确事实
- 两者互补,取长补短
5.3.2 RAG与知识图谱的结合(GraphRAG)
背景:标准RAG(Retrieval Augmented Generation)通过检索文本块辅助LLM,但存在局限:
- 文本块之间缺乏结构关系
- 难以支持多跳推理
- 全局信息难以整合
GraphRAG(微软,2024年):
- 将文档解析为知识图谱(实体+关系+社区)
- 检索时利用图结构进行跳跃推理
- 适合需要综合多处信息的复杂问题
问题:"这家公司的核心竞争优势是什么?"
↓
GraphRAG 遍历图结构:
公司 → 产品线 → 技术专利 → 市场份额 → ...
↓
汇总子图信息 → LLM生成综合回答
与标准RAG对比:
| 维度 | 标准RAG | GraphRAG |
|---|---|---|
| 信息单元 | 文本块(chunk) | 实体+关系+社区 |
| 多跳推理 | 弱 | 强 |
| 全局问题 | 弱 | 强 |
| 构建成本 | 低 | 较高 |
| 局部问题 | 好 | 相当 |
5.3.3 知识图谱增强LLM
知识图谱可以解决LLM的关键问题:
1. 缓解幻觉(Hallucination)
- LLM有时"一本正经地胡说八道"
- 知识图谱提供可靠的事实锚点
- LLM生成时以知识图谱为约束
2. 提升时效性
- LLM知识有截止日期
- 知识图谱可以实时更新
- 动态知识图谱 + LLM = 时效性强的智能系统
3. 增强可解释性
- LLM的推理过程不透明
- 知识图谱提供可追溯的推理路径
- "为什么给出这个答案?" → 展示图谱推理路径
4. 领域适应
- 通用LLM对特定领域(医疗、法律、金融)知识不足
- 领域知识图谱补充专业知识
- 垂直行业应用的关键技术路线
5.4 LLM是否会取代知识图谱?
这是当前学界和工业界热烈讨论的问题。
"取代论"的观点:
- LLM已经隐式学习了大量知识,无需显式知识图谱
- 构建和维护知识图谱成本高
- LLM的灵活性远超符号系统
"互补论"的观点(主流):
- LLM存在幻觉,知识图谱提供可靠事实基础
- 关键决策场景(医疗、法律、金融)需要可解释、可追溯的知识
- 实时更新的需求无法靠重新训练LLM满足
- 结构化查询、精确计算等任务LLM不擅长
当前学界共识:
- LLM + KG 是互补关系,不是替代关系
- "神经符号"融合(Neuro-symbolic AI)是未来方向
- 两者各有优势,协同发挥最大价值
5.5 前沿研究方向
| 研究方向 | 核心问题 | 代表工作 |
|---|---|---|
| LLM辅助KG构建 | 如何用LLM自动构建高质量KG? | AutoKG, GraphGPT |
| KG增强LLM推理 | 如何让LLM在推理时调用KG? | KAPING, ToG |
| GraphRAG | 如何用KG结构改善RAG效果? | GraphRAG (Microsoft) |
| 时序知识图谱 | 如何处理随时间变化的知识? | TKG系列工作 |
| 多模态知识图谱 | 如何融合图像、文本、结构知识? | MMKG系列 |
| 可信知识图谱 | 如何评估知识的可信度? | Credibility KG |
六、讨论与思考题
讨论题 A:知识获取瓶颈
Cyc项目耗费数十年、数亿美元,试图手工编码常识知识,最终未能实现最初愿景。知识获取瓶颈(Knowledge Acquisition Bottleneck)是知识工程的历史难题。LLM的出现是否从根本上解决了这一问题?还是只是绕过了它?
讨论题 B:幻觉与可靠性
LLM有时会自信地给出错误答案(幻觉)。在医疗问答场景中,你会如何设计一个系统,让LLM的生成能力与知识图谱的可靠性相结合,同时保证答案的准确性和可解释性?
讨论题 C:开放信息抽取
传统关系抽取需要预定义关系类型,而开放信息抽取(OpenIE)可以抽取任意关系。随着LLM的出现,你认为未来知识图谱的关系体系应该是封闭的还是开放的?各有什么优缺点?
讨论题 D:GraphRAG的局限
GraphRAG需要先将文档转化为知识图谱,再进行检索。这个过程本身会引入信息损失和错误。你认为在什么场景下GraphRAG优于标准RAG?在什么场景下标准RAG更合适?
小组练习
练习1(15分钟):选择一个领域(如电影、体育、医药),设计一个小型知识图谱的Schema:
- 定义3-5种实体类型
- 定义5-10种关系类型
- 给出5条示例三元组
练习2(20分钟):给定以下段落,手动进行信息抽取,并与LLM(如ChatGPT)的抽取结果比较:
"2024年,英伟达(NVIDIA)的市值一度超过3万亿美元,超过了微软,成为全球市值最高的公司。这一成就主要得益于其GPU在人工智能训练中的广泛应用,其中H100芯片成为各大AI实验室的抢手产品。英伟达CEO黄仁勋表示,AI基础设施的需求仍将持续增长。"
七、参考资料
综述与教材
- Hogan, A. et al. (2021). Knowledge Graphs. ACM Computing Surveys. (知识图谱领域最权威综述之一)
- Pan, J.Z. et al. (2023). Unifying Large Language Models and Knowledge Graphs: A Roadmap. IEEE Transactions on Knowledge and Data Engineering.
- Ji, S. et al. (2022). A Survey on Knowledge Graphs: Representation, Acquisition, and Applications. IEEE TNNLS.
LLM与知识图谱
- Edge, D. et al. (2024). From Local to Global: A Graph RAG Approach to Query-Focused Summarization. arXiv:2404.16130. (GraphRAG原论文)
- Pan, S. et al. (2024). Large Language Models and Knowledge Graphs: Opportunities and Challenges. TKDE.
- Sun, J. et al. (2024). Think-on-Graph: Deep and Responsible Reasoning of Large Language Models with Knowledge Graph. ICLR 2024.
经典知识图谱论文
- Bordes, A. et al. (2013). Translating Embeddings for Modeling Multi-relational Data. NeurIPS. (TransE)
- Sun, Z. et al. (2019). RotatE: Knowledge Graph Embedding by Relational Rotation in Complex Space. ICLR. (RotatE)
- Devlin, J. et al. (2019). BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding. NAACL.
工具与资源
- Wikidata:https://www.wikidata.org
- DBpedia:https://dbpedia.org
- Neo4j(图数据库):https://neo4j.com
- OpenKE(知识图谱嵌入工具包):https://github.com/thunlp/OpenKE
- DeepKE(知识图谱构建工具):https://github.com/zjunlp/DeepKE
中文资源
- 刘峤等. (2016). 知识图谱构建技术综述. 计算机研究与发展.
- CN-DBpedia:http://openkg.cn/dataset/cndbpedia
- OpenKG(中文开放知识图谱):http://openkg.cn
讲义版本:2025年 · 知识图谱与NLP讨论班
如有问题,欢迎课后讨论。
