第五次课:NLP 与大模型辅助知识构建
第五次课:NLP 与大模型辅助知识构建
学习目标
通过本讲学习,学生应能够:
- 用直观语言解释命名实体识别、关系抽取和事件抽取的任务。
- 了解人工规则、传统 NLP 模型与大语言模型辅助抽取的基本差异。
- 理解大语言模型在知识构建中可能出现的幻觉、遗漏、格式错误和关系歧义问题。
- 学会要求模型以结构化格式输出抽取结果,并保留原文证据。
- 在同一任务上比较人工规则与 LLM/现成工具的抽取结果。
- 根据比较结果形成一个范围可控、能够验证的初步研究问题。
本讲的核心不是判断“哪一种方法最好”,而是学习用证据回答:在什么文本、什么任务和什么评价标准下,某种方法更准确、更完整或更容易使用?
一、为什么需要从文本中抽取知识
知识图谱需要实体、关系、属性和事件等结构化内容,但现实资料大多以自然语言文本形式存在。
例如,一段课程介绍、新闻报道、医疗科普材料或诗词注释中,往往同时包含多个知识事实:
《认知智能中的知识构建研究》面向人工智能专业本科三年级学生开设,由周老师负责。课程重点讨论知识图谱、自然语言处理和大语言模型。学生将在学期末提交课程论文。
人可以直接理解这段话,但系统若要用于查询、问答或推理,需要将其转换为结构化结果:
实体:认知智能中的知识构建研究、周老师、知识图谱、课程论文
关系:负责人、讨论、提交
事件:学生在学期末提交课程论文
将文本变成结构化知识的过程,通常称为信息抽取或知识抽取。
二、三类基础抽取任务
1. 命名实体识别
命名实体识别(Named Entity Recognition,NER)是从文本中识别人名、地名、机构名、作品名、课程名、疾病名等具有明确边界的对象。
例如:
李白在长安创作了许多诗歌。
可识别的实体包括:
| 文本片段 | 实体类型 |
|---|---|
| 李白 | 人物 |
| 长安 | 地点 |
| 诗歌 | 作品类别 |
在不同领域,实体类型会不同。
| 场景 | 可能的实体类型 |
|---|---|
| 课程领域 | 课程、教师、知识点、教材、考核任务 |
| 古诗词领域 | 诗人、诗歌、地点、意象、朝代 |
| 医疗科普领域 | 疾病、症状、药物、检查、风险因素 |
| 论文领域 | 论文、作者、方法、数据集、任务、会议 |
实体识别的难点在于边界和类型。例如,“北京大学人工智能学院”应当整体识别为一个机构,还是拆分为“北京大学”和“人工智能学院”?这取决于项目的 schema 和任务目标。
2. 关系抽取
关系抽取(Relation Extraction,RE)是在已识别实体的基础上,判断实体之间是否存在某种关系。
例如:
李白出生于碎叶城。
可以得到:
(李白,出生地,碎叶城)
再如:
《静夜思》的作者是李白。
可以得到:
(静夜思,作者,李白)
关系抽取的关键不只是找到两个实体,还要正确判断关系名称和方向。
(静夜思,作者,李白) ✓
(李白,作者,静夜思) ✗ 关系方向不合适
3. 事件抽取
事件抽取(Event Extraction)关注“谁在什么时间、什么地点、做了什么”。
例如:
2026 年 9 月,学院发布了新版人工智能专业培养方案。
可将其整理为:
| 事件要素 | 内容 |
|---|---|
| 事件类型 | 发布培养方案 |
| 时间 | 2026 年 9 月 |
| 发起者 | 学院 |
| 对象 | 新版人工智能专业培养方案 |
事件抽取比实体和关系抽取更复杂,因为它通常涉及时间、地点、参与者和事件结果。
三、三种知识抽取方式
针对同一段文本,可以采用人工规则、传统 NLP 方法或大语言模型辅助抽取。三者各有适用条件。
1. 人工规则抽取
人工规则是根据固定句式、关键词或模板进行抽取。
例如,在课程文本中可以设定规则:
“由 X 老师负责” → (课程,负责人,X 老师)
“课程包含 A、B、C” → (课程,包含,A)、(课程,包含,B)、(课程,包含,C)
“在 X 时间提交 Y” → 事件:提交 Y,时间为 X
优点:
- 规则清楚,结果容易解释;
- 对固定格式文本准确性可能较高;
- 不需要训练复杂模型;
- 适合小规模、格式稳定的课程项目。
局限:
- 面对不同表达方式容易失效;
- 规则数量增加后维护困难;
- 难处理隐含关系、复杂上下文和语言歧义。
例如,规则能处理“由周老师负责”,但未必能处理“本课程的授课教师为周老师”或“周老师承担本课程教学工作”。
2. 传统 NLP 模型或现成工具
传统 NLP 方法通常使用已有的分词、实体识别、句法分析、分类或关系抽取工具,也可以使用专门训练的预训练模型。
基本思路是:
输入文本
↓
模型识别实体、分类或关系
↓
输出带标签的结果
优点:
- 对语言表达变化有一定适应能力;
- 在有标注数据的明确任务上结果较稳定;
- 输出格式通常较规范;
- 适合批量处理大量同类型文本。
局限:
- 需要选择合适的工具、模型和标签体系;
- 通用工具在专业领域可能识别不准确;
- 若要获得更好效果,往往需要标注数据和训练/调参;
- 初学者容易只看到模型输出,而忽略数据和评价问题。
课程项目中可使用现成工具作为比较对象,但必须说明工具名称、版本、输入文本和输出结果,确保实验可复现。
3. 大语言模型辅助抽取
大语言模型可以通过提示词理解抽取要求,并直接从文本中生成实体、关系或事件。
例如,可以给出指令:
请从下列文本中抽取“课程、教师、知识主题、考核任务”四类实体,并抽取“负责人、包含、要求完成”三类关系。请仅依据原文,使用 JSON 格式输出;每条关系同时给出支持它的原文证据。
优点:
- 能较好理解自然语言和多样化表达;
- 不需要为每种句式手写规则;
- 可以较灵活地适应不同领域的 schema;
- 适合快速原型验证和小规模实验。
局限:
- 可能生成原文不存在的实体或关系,即产生幻觉;
- 可能遗漏信息,或把关系类型判断错误;
- 输出格式可能不稳定;
- 同一提示多次执行可能得到不同结果;
- 模型、提示词和访问时间变化都可能影响结果。
因此,大语言模型适合“辅助抽取”,而不应被默认视为“自动得到真值”。
四、同一任务上的方法比较
为了公平比较不同方法,应让它们处理相同文本、抽取相同类型的知识,并使用统一标准评价结果。
示例任务
文本:
《认知智能中的知识构建研究》面向人工智能专业本科三年级学生开设,由周老师负责。课程前半部分介绍知识图谱和自然语言处理,后半部分由学生汇报相关论文。学生需要在学期末提交课程论文。
抽取目标:
- 实体类型:课程、教师、学生、知识主题、学习活动、考核任务;
- 关系类型:面向、负责人、介绍、汇报、提交;
- 事件类型:提交课程论文。
1. 人工规则的可能结果
(认知智能中的知识构建研究,面向,人工智能专业本科三年级学生)
(认知智能中的知识构建研究,负责人,周老师)
(认知智能中的知识构建研究,介绍,知识图谱)
(认知智能中的知识构建研究,介绍,自然语言处理)
(学生,汇报,相关论文)
(学生,提交,课程论文)
2. LLM 辅助抽取的可能结果
在提示词明确、schema 合理时,LLM 可以给出类似结果;但也可能:
- 将“前半部分”误识别为课程名称;
- 把“相关论文”补充为某些具体论文名称;
- 把“学生汇报论文”错误理解为“课程要求所有学生发表论文”;
- 输出未定义的关系,如“属于”“学习”等;
- 忽略“学期末”这一时间信息。
3. 比较不是只看数量
如果一种方法抽取了更多三元组,并不一定更好。需要检查:
- 抽取结果是否正确;
- 是否遗漏了应抽取的信息;
- 关系名称和方向是否符合 schema;
- 是否凭空生成了原文没有的信息;
- 输出是否便于直接写入知识图谱;
- 结果是否能够追溯到原文证据。
五、大模型幻觉与结构化输出
1. 什么是幻觉
在知识构建任务中,幻觉通常指模型生成了原文或可靠资料中不存在的实体、属性、关系或事件。
例如,原文只说“课程由周老师负责”,模型却输出:
(周老师,职称,教授)
若原文没有提供“教授”这一信息,这就是不应进入图谱的内容。
2. 常见错误类型
| 错误类型 | 示例 |
|---|---|
| 虚构实体 | 原文没有“王老师”,模型却抽取了王老师 |
| 虚构关系 | 原文未说课程有先修课,模型却补充先修关系 |
| 关系分类错误 | 将“作者”错写为“出版社” |
| 实体边界错误 | 将“人工智能专业本科三年级学生”拆得不完整 |
| 关系方向错误 | 将“课程—负责人→教师”写反 |
| 信息遗漏 | 未抽取时间、条件或否定信息 |
| 格式错误 | 输出无法解析,字段名称与要求不一致 |
3. 如何降低幻觉和格式错误
可以通过更清楚的任务设计降低风险:
- 先给 schema:明确允许的实体和关系类型;
- 要求只依据原文:禁止利用常识补充;
- 要求给出证据:每个结果附带原文片段;
- 规定输出格式:例如 JSON、CSV 或表格;
- 允许输出“无”或“无法判断”:避免模型为了回答而猜测;
- 进行人工核验:抽取结果不能未经检查直接写入图谱;
- 记录提示词和模型信息:便于复现与比较。
4. 一个适合课堂使用的提示词模板
任务:从给定文本中抽取知识。
实体类型仅限:课程、教师、学生、知识主题、学习活动、考核任务。
关系类型仅限:面向、负责人、介绍、汇报、提交。
要求:
1. 只使用原文明确出现的信息,不补充常识;
2. 每个实体必须标注类型;
3. 每条关系按(头实体,关系,尾实体)输出;
4. 每条关系给出对应的原文证据;
5. 原文无法确定时输出“无法判断”;
6. 使用 JSON 数组输出。
文本:
【在此粘贴待抽取文本】
提示词不是越长越好,而是要让任务范围、schema、证据要求和输出格式足够明确。
六、如何评价抽取结果
对于课程项目,不必一开始进行复杂的统计检验,但至少要建立统一的人工评价规则。
1. 建立参考答案
先由小组成员共同阅读文本,人工整理一份“参考三元组”。参考答案应记录分歧,并在组内达成基本一致。
2. 记录三类结果
将每种方法的输出与参考答案对比,至少记录:
| 类型 | 含义 | 示例 |
|---|---|---|
| 正确 | 抽取内容与原文和 schema 一致 | 正确抽取“课程—负责人→周老师” |
| 遗漏 | 原文有且应抽取,但方法没有抽到 | 漏掉“学生—提交→课程论文” |
| 错误 | 抽取内容不正确、不符合 schema 或无原文证据 | 虚构课程先修关系 |
3. 使用简单指标
如果条件允许,可使用以下指标:
准确率 = 正确结果数 ÷ 抽取结果总数
召回率 = 正确结果数 ÷ 参考答案中的应抽取结果总数
准确率高,说明抽出的结果较少出错;召回率高,说明应抽取的信息较少遗漏。二者应结合看。
例如:
- 方法 A 抽取 8 条,其中 7 条正确;参考答案共 10 条。准确率为 7/8,召回率为 7/10。
- 方法 B 抽取 12 条,其中 8 条正确;参考答案共 10 条。准确率为 8/12,召回率为 8/10。
方法 B 找到的信息更多,但错误也更多。不能只看“抽取数量”。
4. 错误分析比单个分数更重要
除了统计正确、遗漏和错误数量,还应分析:
- 哪些实体最容易被漏掉?
- 哪些关系最容易被判断错误?
- LLM 是否更容易在隐含关系上“猜测过度”?
- 规则是否对不同表述不够鲁棒?
- 现成工具是否在本领域术语上表现不佳?
这种分析是从“做一次工具测试”走向“形成科研问题”的关键。
七、从比较结果形成可验证的问题
课程项目不要求学生马上提出全新的算法,但应能提出一个可验证的问题。
以下问题都具有较好的可操作性:
| 观察到的现象 | 可验证的问题 |
|---|---|
| 规则对固定句式很准确,但遇到改写就漏掉 | 在课程通知文本中,加入同义表达规则能否提高关系抽取的召回率? |
| LLM 能抽到更多关系,但会虚构事实 | 要求 LLM 提供原文证据,能否减少无依据三元组? |
| 现成工具识别不出领域术语 | 增加领域术语表后,实体识别是否更完整? |
| LLM 输出格式常不稳定 | 使用固定 schema 和 JSON 模板后,结构化输出的可解析比例是否提高? |
| 不同来源文本存在冲突 | 在抽取结果中增加来源与时间信息,是否能帮助人工发现过时知识? |
一个合格的可验证问题应包含:
对象:在哪类文本或数据上?
比较:比较什么方法或策略?
指标:用什么标准判断变化?
范围:能否在小规模材料上完成?
八、课堂练习:同一文本的双方法抽取
以第三次课确定的小领域为基础,每组选择一段 150–300 字的公开文本。
完成以下任务:
- 根据本组 schema 确定要抽取的实体类型和关系类型;
- 人工制定 2–4 条简单抽取规则;
- 使用规则从文本中抽取实体和三元组;
- 使用一个 LLM 或现成工具完成同样的抽取任务;
- 人工整理参考答案;
- 将两种结果分别标记为正确、遗漏和错误;
- 为每种方法至少记录 2 个典型例子;
- 写出一个由比较结果引出的可验证问题。
课堂讨论应聚焦证据。例如,不应只说“LLM 更好”,而应说:
在本组 5 段课程通知中,LLM 识别课程主题的遗漏较少,但在“建议”与“必须”这类关系上容易过度推断。下一步可以检验:加入关系定义与证据字段后,是否能减少此类错误。
九、课后任务:小规模抽取比较报告
每组选择 3–5 段与项目相关的短文本,完成“小规模抽取比较报告”。
提交内容包括:
- 任务说明:领域、文本来源、实体类型、关系类型和抽取目标;
- 参考答案:人工整理的实体和三元组;
- 规则方法:规则内容及抽取结果;
- LLM/现成工具方法:工具或模型名称、版本/访问日期、提示词或主要设置、抽取结果;
- 比较表:分别统计正确、遗漏和错误的例子;
- 典型案例分析:每种方法至少列举 2 个成功或失败案例,并附原文证据;
- 初步结论:说明不同方法在本组材料上的表现差异;
- 可验证问题:提出一个后续可继续比较或改进的问题。
建议使用下表记录结果:
| 文本编号 | 参考三元组 | 规则结果 | LLM/工具结果 | 正确/遗漏/错误 | 说明 |
|---|---|---|---|---|---|
| T1 | (课程,负责人,周老师) | 正确抽取 | 正确抽取 | 正确 | 两种方法均有原文证据 |
| T2 | (学生,提交,课程论文) | 未抽取 | 抽取为“学生发表论文” | 规则遗漏;LLM 错误 | “提交”被错误改写为“发表” |
所有结果必须如实记录。抽取错误和失败案例不是“做得不好”,而是下一步提出研究问题的重要证据。
十、本讲小结
本讲的核心观点是:
- 命名实体识别、关系抽取和事件抽取是从文本构建知识图谱的基础任务;
- 人工规则可解释、适合格式稳定文本,但适应性有限;
- 传统 NLP 工具适合规范任务和批量处理,但依赖模型与领域数据;
- LLM 具有较强的语言理解与灵活性,但可能出现幻觉、遗漏、关系错误和格式不稳定;
- 使用明确 schema、原文证据和固定输出格式,可以提高 LLM 抽取结果的可用性;
- 比较方法时应记录正确、遗漏和错误,并开展错误分析;
- 真实的失败案例可以帮助形成范围可控、能够验证的研究问题。
下一讲将讨论如何评价知识图谱和抽取结果的质量,并进一步处理多来源知识中的重复、冲突和更新问题。
