一段原始文本
↓
文本分类:这段话属于什么类别?
↓
情感分析:说话者是什么态度?
↓
命名实体识别:里面提到了哪些人物、地点、机构或专业概念?
↓
关系抽取:这些实体之间有什么关系?
↓
文本相似度:它与其他句子、问题或文档有多相似?
它们解决的问题并不相同:
| 任务 | 核心问题 | 典型输出 |
|---|---|---|
| 文本分类 | 整段文本属于哪一类 | 科技新闻、垃圾邮件、咨询意图 |
| 情感分析 | 文本表达什么态度 | 正面、负面、中性 |
| 命名实体识别 | 文本中有哪些重要对象 | 人名、机构、地点、疾病、药物 |
| 关系抽取 | 实体之间有什么联系 | 创始人、就职于、位于、治疗 |
| 文本相似度 | 两段文字有多接近 | 相似度分数、最相关文本 |
第一部分:文本分类
一、什么是文本分类

文本分类是把一段文字自动分配到一个或多个预先设定的类别中。
可以把它想象成一个"自动文件管理员"。系统收到大量文本后,需要判断它们应该放到哪个文件夹。
例如,一条新闻:
某公司发布新一代人工智能芯片,并公布了最新大模型训练平台。
系统可能将它归入:
类别:科技新闻
一封邮件:
恭喜您获得百万奖金,请点击链接立即领取。
系统可能判断为:
类别:垃圾邮件
文本分类广泛应用于新闻归档、邮件过滤、用户意图识别、内容审核和客服工单分流等场景。其基本流程通常包括文本预处理、特征表示、模型训练、预测和评估。
二、文本分类的主要类型
1. 二分类
每段文本只能属于两个类别中的一个。
例如:
垃圾邮件 / 正常邮件
正面评价 / 负面评价
有风险 / 无风险
示例:
您的银行卡存在异常,请立即点击链接重新认证。
输出:
垃圾邮件:0.96
正常邮件:0.04
2. 多分类
一段文本需要从三个或更多互斥类别中选择一个。
例如新闻分类:
科技
体育
财经
娱乐
教育
输入:
某球队在决赛中以3比1获胜。
输出:
体育
这里通常认为一篇新闻只有一个主要类别。
3. 多标签分类
一段文本可以同时属于多个类别。
例如:
某科技企业推出低功耗人工智能芯片,并宣布新的环保生产计划。
它可能同时具有:
科技
人工智能
芯片
环保
企业新闻
"多分类"和"多标签分类"容易混淆:
多分类:
多个类别中只能选择一个。
多标签分类:
多个类别可以同时选择若干个。
在模型实现中,单标签多分类通常让类别之间相互竞争;多标签任务则通常独立判断每个标签是否成立。PyTorch的官方文档也将二元交叉熵与多标签场景联系起来。
4. 层次分类
类别之间存在父子结构。
例如:
体育
├─ 足球
│ ├─ 中超
│ └─ 英超
├─ 篮球
│ ├─ NBA
│ └─ CBA
└─ 网球
输入:
成都蓉城在中超联赛中取得胜利。
可能得到:
体育 → 足球 → 中超
层次分类比普通多分类更复杂,因为模型不仅要判断最终类别,还需要保持父类别和子类别之间的一致性。
三、文本分类的完整流程
收集文本和标签
↓
清洗、分词、规范化
↓
把文本转换为数字
↓
训练分类模型
↓
预测新文本类别
↓
计算准确率、召回率和F1
↓
分析错误并持续优化
1. 数据准备
训练数据通常是:
文本 + 正确标签
例如:
| 文本 | 标签 |
|---|---|
| 这款手机拍照很清晰 | 数码 |
| 球队在决赛中获胜 | 体育 |
| 银行宣布下调贷款利率 | 财经 |
数据质量非常重要。如果标签本身不一致,模型就很难学到稳定规律。
例如,同一句:
人工智能正在改变医疗行业。
有人标成"科技",有人标成"医疗",还有人标成"科技+医疗"。这时应先明确任务到底是单标签还是多标签。
2. 文本预处理
传统模型通常需要:
文本清洗
→ 分词
→ 去除部分停用词
→ 词形还原
→ 转换为TF-IDF
现代BERT类模型一般使用模型自带的Tokenizer,不应随意使用其他分词器替换。
3. 文本表示
常见表示方法包括:
词袋模型
只统计词是否出现、出现多少次。
优点是简单,缺点是忽略语序和深层语义。
TF-IDF
在词频基础上降低常见词的权重,突出更具有区分能力的词。
例如在科技新闻中:
的、是、一个 权重较低
芯片、模型、算法 权重较高
Word2Vec
把词转换为稠密向量,使语义接近的词在向量空间中距离更近。
BERT
根据上下文动态生成表示。同一个词在不同句子中可以获得不同向量。
BERT采用深层双向Transformer表示,可以通过添加较小的任务输出层,微调到分类、问答等不同任务上。
4. 常见分类模型
传统机器学习
常见组合包括:
TF-IDF + 朴素贝叶斯
TF-IDF + 逻辑回归
TF-IDF + SVM
它们适合:
- 数据量不大;
- 需要快速建立基线;
- 计算资源有限;
- 希望结果容易解释。
深度学习
常见模型包括:
- CNN:擅长捕捉局部关键词和短语;
- RNN、LSTM:按顺序处理文本;
- Transformer、BERT:能够更充分地建模上下文。
将朴素贝叶斯、SVM、逻辑回归、随机森林,以及CNN、RNN、LSTM和Transformer列为文本分类中的常见方法。
四、文本分类的评价指标
1. 准确率
准确率表示:
预测正确的样本数
──────────────
全部样本数
假设100条新闻中有90条分类正确:
准确率 = 90%
但类别不平衡时,准确率可能会误导我们。
例如1000封邮件中:
正常邮件:990封
垃圾邮件:10封
模型把所有邮件都预测成正常邮件:
准确率 = 990 ÷ 1000 = 99%
看起来很高,但它一封垃圾邮件也没有识别出来。
2. 精确率
精确率关注:
模型预测为某一类的样本中,有多少是真的。
例如模型说20封邮件是垃圾邮件,其中15封确实是:
精确率 = 15 ÷ 20 = 75%
适合关心"误报"的场景。
3. 召回率
召回率关注:
所有真正属于某一类的样本中,模型找到了多少。
实际有30封垃圾邮件,模型找出15封:
召回率 = 15 ÷ 30 = 50%
适合关心"漏报"的场景。
4. F1值
F1综合考虑精确率和召回率。
当类别分布不均衡时,F1通常比单独看准确率更有意义。教程也建议在类别不平衡时使用重采样、类别权重,并优先关注F1等指标。
五、文本分类的主要难点
类别不平衡
某些类别样本很多,某些类别样本很少。
标签边界模糊
一篇文章可能既属于科技,也属于财经。
领域迁移
用电影评论训练的模型,不一定适合分析医疗服务评价。
文本长度差异
短句可能只有几个字,长文档可能包含数千字。
小样本问题
某些专业领域缺少高质量标注数据。
可解释性
模型不仅要给出分类结果,有时还需要回答:
为什么把这段文本分到这个类别?
这些也是教程归纳的文本分类主要挑战。
第二部分:情感分析

六、什么是情感分析
情感分析是文本分类的一个重要分支,它专门分析说话者的态度、评价和情绪。
例如:
这款手机太好用了,拍照非常清晰。
结果:
正面
软件更新以后总是闪退,体验很差。
结果:
负面
该产品于今天正式发布。
结果:
中性
情感分析不仅可以区分正面、负面和中性,也可以进一步识别愤怒、喜悦、悲伤、恐惧等情绪,或者计算情绪强度。
七、情感分析的不同粒度
1. 文档级情感分析
把整篇文章或整条评论作为一个整体。
例如:
这家酒店位置很好,房间也很干净。虽然早餐种类不多,但整体体验不错。
文档级结果可能是:
整体情感:正面
它只给出整体评价,不细分具体对象。
2. 句子级情感分析
逐句判断情感。
房间非常干净。 → 正面
酒店离地铁太远了。 → 负面
我住了三天。 → 中性
3. 方面级情感分析
方面级情感分析也叫ABSA,它不仅判断情感,还要找出"评价的是哪个方面"。
例如:
这家餐厅环境很漂亮,菜的味道也不错,就是上菜慢得能看完一集电视剧。
可以拆成:
| 方面 | 情感 |
|---|---|
| 环境 | 正面 |
| 菜品味道 | 正面 |
| 上菜速度 | 负面 |
整体文本同时包含多个方面和不同情绪,因此只输出一个"正面"或"负面"会损失很多信息。
方面可能是显式出现的:
手机的电池续航很好。
方面:电池续航
也可能是隐含的:
拍出来的照片特别清楚。
隐含方面:摄像头
将方面提取和方面情感分类列为ABSA的两个核心部分,并区分了流水线、端到端和多任务学习方法。
八、情感分析的主要方法
1. 基于情感词典
系统准备一个词典:
喜欢 +1
优秀 +2
惊艳 +3
失望 -2
糟糕 -3
句子:
这个产品非常优秀。
可以简单计算:
优秀:+2
非常:增强1.5倍
最终分数:+3
但还要考虑否定词:
这个产品不优秀。
如果只看到"优秀",模型会判断为正面;加入"不"后,情感方向应发生变化。
词典方法不需要大量训练数据、速度快、可解释性强,但较难处理上下文、讽刺和复杂表达。
2. 传统机器学习方法
常见流程:
评论文本
↓
分词和清洗
↓
TF-IDF或N-gram
↓
逻辑回归、朴素贝叶斯或SVM
↓
情感类别
N-gram对于否定结构尤其重要。
例如:
Unigram:
不 / 好
Bigram:
不好
只使用单个词时,"好"可能带来正面判断;使用Bigram后,"不好"可以作为整体特征。
3. 深度学习和预训练模型
LSTM可以顺序读取句子,Transformer和BERT可以综合分析较长范围的上下文。
例如:
我原本以为这个软件会很难用,实际用了两天后发现还不错。
模型需要理解:
- 前面是预期;
- 后面是实际体验;
- "还不错"是最终评价;
- 整体情感偏正面。
BERT能够结合左右上下文生成表示,因此比单纯统计情感词更适合复杂句子。
九、情感分析中的困难情况
1. 否定范围
这个手机不是不好,只是价格太贵。
这里不能简单判断为负面:
产品质量:不是负面
价格:负面
2. 转折
外观很好看,但是续航太差。
"但是"后面的内容往往对整体判断影响更大,但具体权重还要结合任务和语境。
3. 讽刺和反话
这个软件可真稳定,一小时崩了八次。
字面出现"稳定",真实态度却是负面。
4. 领域差异
同一个形容词在不同领域可能表达不同态度。
这台笔记本很轻。 → 通常是正面
这杯咖啡味道很轻。 → 可能是负面
5. 表情与标点
不错。
不错!
不错???
不错🙃
它们的真实语气可能不同,因此不应在清洗阶段盲目删除所有表情和标点。
上下文依赖、领域迁移、多语言差异以及讽刺检测都是情感分析的重要挑战;多模态分析、情感原因提取和跨语言分析则是进一步发展方向。
第三部分:命名实体识别

十、什么是命名实体识别
命名实体识别简称NER,它要在文本中完成两件事:
- 找出实体的准确位置;
- 判断实体属于什么类型。
例如:
2026年8月4日,张明在成都参加了人工智能大会。
识别结果:
2026年8月4日 → 日期
张明 → 人名
成都 → 地点
人工智能大会 → 活动
NER就像使用不同颜色的荧光笔,把文本中的重要对象标记出来。常见实体包括人名、地名、机构、日期、时间和金额;在医疗、电商、金融等专业领域还可以定义药物、疾病、产品、股票等实体。
十一、NER不是简单找名词
句子:
苹果发布了新款手机。
"苹果"可能是:
公司:Apple
句子:
我今天吃了一个苹果。
"苹果"是:
水果,不一定属于命名实体
模型必须根据上下文判断。
NER还需要识别实体边界。
例如:
四川大学华西医院发布通知。
正确实体可能是:
四川大学华西医院
而不是分别识别成:
四川大学
华西医院
具体边界要根据标注标准确定。
十二、BIO标注方法
NER通常被处理为Token分类任务,即为句子中的每个Token分配一个标签。Hugging Face的官方任务文档也把NER作为Token Classification的典型应用。
常见BIO标签:
B:实体开始
I:实体内部
O:不属于任何实体
句子:
张明在北京工作。
可以标注为:
| Token | 标签 |
|---|---|
| 张 | B-PER |
| 明 | I-PER |
| 在 | O |
| 北 | B-LOC |
| 京 | I-LOC |
| 工 | O |
| 作 | O |
其中:
PER:人物
LOC:地点
ORG:机构
BIOES还增加:
E:实体结束
S:单字实体
这样可以提供更明确的边界信息。
十三、NER的主要方法
1. 规则和词典
例如使用正则表达式识别日期:
2026-08-04
2026年8月4日
8月4日
或者使用医院、药品、城市词典进行匹配。
优点:
- 结果容易解释;
- 对格式固定的实体准确率高;
- 不需要大量训练数据。
缺点:
- 新实体难以识别;
- 维护成本高;
- 对复杂语境适应能力弱。
2. CRF
CRF不仅判断每个Token是什么标签,还会考虑标签之间的组合是否合法。
例如:
I-PER直接出现在O后面
通常不符合BIO规则。
CRF可以学习:
B-PER后面容易出现I-PER
I-PER后面可能继续I-PER或结束
3. BiLSTM-CRF
BiLSTM从两个方向读取句子:
从左向右
张 → 明 → 在 → 北 → 京
从右向左
京 → 北 → 在 → 明 → 张
它负责学习上下文特征;CRF负责选择整体上最合理的标签序列。
BiLSTM-CRF能够同时使用前后文信息以及句子级标签依赖,曾广泛用于NER、词性标注和分块等序列标注任务。
4. BERT实体识别
常见结构:
文本
↓
BERT编码
↓
每个Token的上下文向量
↓
Token分类层或CRF层
↓
实体标签
BERT可以根据上下文区分:
苹果很甜。 苹果=水果
苹果发布新产品。 苹果=公司
教程将规则匹配、统计学习和深度学习概括为NER的三类方法,并列出了CRF、BiLSTM和BERT等常用模型。
十四、NER的评价方式
NER通常采用实体级精确率、召回率和F1。
假设真实实体是:
四川大学华西医院
模型预测:
华西医院
虽然识别了部分文字,但如果采用严格实体匹配,边界没有完全一致,通常会被判定为错误。
一个实体被认为正确,通常要求:
起始位置正确
结束位置正确
实体类型正确
例如系统识别出90个实体,其中80个正确,而真实实体共有100个:
精确率 = 80 ÷ 90
召回率 = 80 ÷ 100
教程也将Precision、Recall和F1作为NER的主要评价指标。
十五、NER的主要难点
实体边界
"北京大学人民医院"应该整体识别还是拆分,需要明确标注规范。
实体歧义
"长城"可能是建筑、汽车品牌或公司名称。
嵌套实体
四川大学华西医院
内部可能还包含:
四川大学
华西医院
未登录实体
新公司、新产品和网络人物不断出现,词典不可能全部覆盖。
专业领域迁移
通用NER模型可能认识"北京",但未必认识:
脑卒中
阿司匹林
吞咽障碍
舌肌训练
因此医疗NER通常需要专业数据和领域微调。实体边界、实体歧义和专业领域适应也是教程指出的主要问题。
第四部分:关系抽取

十六、什么是关系抽取
NER只能告诉我们"文本中有哪些实体",关系抽取进一步回答:
这些实体之间是什么关系?
句子:
任正非于1987年在深圳创立华为。
NER结果:
任正非 人物
1987年 时间
深圳 地点
华为 机构
关系抽取结果:
(任正非,创立,华为)
(华为,成立时间,1987年)
(华为,创立地点,深圳)
关系通常表示为三元组:
头实体 + 关系 + 尾实体
关系抽取是知识图谱、智能问答、信息检索和生物医学文献分析的重要基础。
十七、关系抽取的基本流程
原始文本
↓
识别实体
↓
生成候选实体对
↓
判断是否存在关系
↓
判断关系类型
↓
输出结构化三元组
例如:
李明在星云科技担任算法工程师。
实体:
李明 PERSON
星云科技 ORGANIZATION
算法工程师 POSITION
关系:
(李明,就职于,星云科技)
(李明,职位,算法工程师)
十八、关系抽取的主要方法
1. 基于规则
例如定义:
人物 + 创立了 + 公司
人物 + 就职于 + 公司
公司 + 位于 + 地点
句子:
张明创立了未来科技公司。
匹配后得到:
(张明,创立,未来科技公司)
规则法准确、直观,但表达方式稍微改变就可能失效:
未来科技公司由张明创办。
张明是未来科技公司的创始人。
未来科技公司的创建者是张明。
它们表达同一关系,却需要不同规则。
2. 监督学习
将实体对及其上下文输入分类器。
例如:
输入:
实体1:张明
实体2:未来科技公司
上下文:张明创立了未来科技公司
输出:
关系=创始人
模型也可能输出:
无关系
传统方法可以使用SVM,现代方法通常使用CNN、LSTM或BERT。
3. 远程监督
人工标注关系数据成本较高,因此可以利用已有知识库自动生成训练样本。
知识库已知:
(任正非,创立,华为)
如果文本中同时出现"任正非"和"华为",系统可能把该句当作"创立"关系的训练样本。
但这种方式会产生噪声,因为两个实体同时出现,并不代表当前句子一定表达了知识库中的关系。教程把远程监督概括为利用知识库自动构造训练数据。
4. 流水线抽取
先做NER,再做关系分类:
NER
↓
实体对生成
↓
关系分类
优点是模块清晰、容易检查。
缺点是前面的实体识别一旦出错,后面的关系抽取也会受到影响,这叫误差传播。
5. 联合抽取
一个模型同时识别实体和关系:
文本
↓
联合模型
↓
实体 + 关系三元组
联合模型可以让实体信息和关系信息相互帮助,但训练与标注往往更加复杂。研究中既有联合模型,也有表现很强的流水线方法,因此不能简单认为"联合一定优于流水线",应结合数据和工程需求选择。
十九、关系抽取的难点
1. 同一关系有多种表达
张明创立了未来科技。
未来科技由张明创办。
张明是未来科技的创始人。
都表达:
(张明,创立,未来科技)
2. 实体距离较远
张明在大学毕业后前往国外深造,回国工作多年以后,于2023年创立了未来科技公司。
"张明"和"未来科技公司"相隔很远,模型必须理解长距离依赖。
3. 一个句子包含多个三元组
张明创立未来科技,并邀请李华担任技术总监。
可能包含:
(张明,创立,未来科技)
(李华,就职于,未来科技)
(李华,职位,技术总监)
4. 否定和假设
张明并不是未来科技的创始人。
不能抽取:
(张明,创立,未来科技)
如果张明加入未来科技,他可能担任顾问。
这是条件和推测,也不能直接当作已经发生的事实。
5. 跨句关系
张明于2023年成立了一家公司。该公司主要研发医疗人工智能产品。
"该公司"指向前一句中的公司,关系抽取需要结合共指消解和篇章上下文。
语言表达多样、实体歧义、长距离依赖、标注数据稀缺和领域迁移是关系抽取中的典型挑战。
第五部分:文本相似度

二十、什么是文本相似度
文本相似度用于计算两段文本有多接近。
可以分为两种:
字面相似
词语和字符是否相近。
句子1:我喜欢自然语言处理
句子2:我非常喜欢自然语言处理
两句话有很多相同词,字面相似度较高。
语义相似
表达的含义是否接近。
句子1:我忘记登录密码了。
句子2:账号密码想不起来怎么办?
共同词语并不多,但表达的是同一个问题。
文本相似度被广泛用于搜索、问答、推荐、重复内容检测和抄袭检测。
二十一、基于词频的相似度
1. 词袋模型
先建立词表,再把句子表示为词频向量。
例如:
句子A:我 喜欢 NLP
句子B:我 学习 NLP
词表:
[我, 喜欢, 学习, NLP]
向量:
A = [1, 1, 0, 1]
B = [1, 0, 1, 1]
然后计算两个向量的距离或夹角。
它可以发现共同词,但不能理解:
喜欢 ≈ 热爱
汽车 ≈ 车辆
购买 ≈ 买
2. TF-IDF相似度
TF-IDF降低常见词影响,突出关键词。
例如比较新闻标题:
苹果发布新款智能手机
苹果公司推出最新手机产品
"苹果""手机""发布或推出"等词会获得较高贡献,因此相似度较高。
TF-IDF适合:
- 关键词检索;
- 新闻去重;
- 文档查重;
- 传统搜索系统;
- 中长文档匹配。
教程展示了使用TF-IDF矩阵和余弦相似度计算新闻标题相似度的方法。
二十二、基于词向量的相似度
Word2Vec可以让语义接近的词向量更接近。
例如:
喜欢 ≈ 热爱
医生 ≈ 医师
汽车 ≈ 车辆
一句话的向量可以简单取所有词向量的平均:
句向量 =
句中所有词向量之和
──────────────
词的数量
这样能够处理部分同义表达,但平均操作会丢失语序。
例如:
狗咬人
人咬狗
两句话包含相同的词,平均向量可能非常相近,但含义明显不同。
二十三、BERT和Sentence-BERT相似度
1. 普通BERT
BERT可以把两个句子同时输入模型,让模型直接判断它们的关系:
[CLS] 句子A [SEP] 句子B [SEP]
这种方式通常称为交叉编码器思路。
优点:
- 两个句子的Token可以充分交互;
- 精度通常较高。
缺点:
- 每比较一对句子都要重新运行模型;
- 文档数量很大时速度较慢。
2. Sentence-BERT
Sentence-BERT分别计算句子的向量:
句子A → 向量A
句子B → 向量B
然后计算余弦相似度:
向量A ↔ 向量B
同一个文档的向量可以提前计算并保存,因此适合:
- 向量检索;
- 语义搜索;
- 文本聚类;
- 相似问题匹配;
- RAG知识库召回。
Sentence-BERT使用孪生或三元组网络结构生成具有语义意义的句向量,使它们可以直接通过余弦相似度比较,并显著降低大规模相似度检索的计算成本。
二十四、常用相似度指标
1. 余弦相似度
余弦相似度关注两个向量的方向是否接近:

一般可以理解为:
方向越接近 → 越相似
方向差异越大 → 越不相似
它不太关注向量的绝对长度,因此常用于TF-IDF和文本嵌入。
2. 欧氏距离
欧氏距离表示两点之间的直线距离:

距离越小,通常表示越接近。
注意:
余弦相似度:越大越相似
欧氏距离:越小越相似
3. 曼哈顿距离
计算各维度差值绝对值的总和:

可以把它理解为在城市方格道路中行走的距离。
4. Jaccard相似度
适合比较两个词语集合:

例如:
A = {人工智能, 医疗, 康复}
B = {人工智能, 医疗, 诊断}
交集:
{人工智能, 医疗}
并集:
{人工智能, 医疗, 康复, 诊断}
所以:
Jaccard = 2 ÷ 4 = 0.5
余弦、欧氏、曼哈顿和Jaccard都是教程介绍的常见相似度或距离计算方法。
二十五、文本相似度的典型难点
1. 词语不同但含义相同
怎样修改账号密码?
我想重新设置登录密码。
TF-IDF可能只能发现"密码"这个共同词,而语义模型能够更好地理解"修改"和"重新设置"接近。
2. 词语相同但含义不同
苹果很甜。
苹果市值上涨。
都有"苹果",但一个指水果,一个指公司。
3. 否定导致含义反转
我喜欢这个软件。
我不喜欢这个软件。
字面高度相似,但态度相反。
4. 文本长度差异
问题:怎么修改密码?
文档:用户可以进入设置页面,选择账户安全,
点击修改密码,输入旧密码和新密码......
两者长度差别很大,但实际上高度相关。
5. 相似不等于相关
用户搜索:
手机进水怎么办?
文档A:
手机进水后的紧急处理步骤。
文档B:
最新手机防水性能排行榜。
两篇都出现"手机"和"水",但文档A对当前问题更相关。
因此实际检索系统通常不只计算语言相似度,还会综合:
- 用户意图;
- 关键词;
- 文档质量;
- 时间;
- 权限;
- 业务规则。
大规模文本检索还可以使用近似最近邻搜索,以降低向量比较成本。教程也建议在大规模数据中使用ANN和Faiss等高效搜索工具。
第六部分:五个任务如何协同工作
以一句医疗康复咨询为例:
我父亲脑卒中后说话含糊,昨天做舌部训练时出现了头晕,今天还能继续练吗?
1. 文本分类
识别用户意图
康复训练咨询
训练安全问题
如果是多标签任务,两类可以同时保留。
2. 情感分析
可能识别到:
情绪:担忧
强度:中等
系统可以因此采用更谨慎、安抚性的表达方式。
3. 命名实体识别
父亲 人物关系
脑卒中 疾病
说话含糊 症状
昨天 时间
舌部训练 训练项目
头晕 异常症状
今天 时间
4. 关系抽取
(父亲,患有,脑卒中)
(父亲,出现症状,说话含糊)
(舌部训练,伴随异常,头晕)
(头晕,发生时间,昨天)
5. 文本相似度
把用户问题转换为向量,在知识库中寻找最接近的内容:
训练过程中出现头晕应如何处理
哪些情况需要立即停止康复训练
脑卒中患者居家训练安全注意事项
检索结果再交给问答模型组织回答。
完整流程可以表示为:
用户输入
↓
分类:判断问题类型和路由
↓
情感:识别用户态度与沟通方式
↓
NER:提取疾病、症状、时间、训练项目
↓
关系抽取:建立实体之间的结构关系
↓
相似度检索:查找相关指南或知识
↓
生成具有依据的回答
这也是医疗智能体、客服系统和知识库问答系统中,这几类NLP任务相互配合的一种典型方式。
第七部分:五个任务的横向对比
| 对比项 | 文本分类 | 情感分析 | NER | 关系抽取 | 文本相似度 |
|---|---|---|---|---|---|
| 分析单位 | 整段文本 | 文档、句子或方面 | Token或实体片段 | 实体对或三元组 | 两段文本 |
| 输出形式 | 类别标签 | 情感标签或分数 | 实体及类型 | 头实体---关系---尾实体 | 相似度分数 |
| 是否需要标签 | 监督学习通常需要 | 监督方法需要 | 监督方法需要 | 监督方法需要 | 可监督或无监督 |
| 传统方法 | TF-IDF+SVM | 词典、TF-IDF+SVM | 规则、CRF | 规则、SVM | TF-IDF+余弦 |
| 深度方法 | CNN、LSTM、BERT | LSTM、BERT、ABSA模型 | BiLSTM-CRF、BERT | BERT、联合抽取模型 | BERT、Sentence-BERT |
| 常用指标 | Accuracy、F1 | Accuracy、F1 | 实体级P/R/F1 | 关系或三元组P/R/F1 | 相关性、排序效果 |
| 典型用途 | 新闻分类、意图识别 | 评论分析、舆情监测 | 信息抽取、知识图谱 | 知识图谱、智能问答 | 搜索、推荐、RAG |
最核心的区别可以记成五句话:
文本分类:给整段文字贴标签。
情感分析:判断说话者的态度。
命名实体识别:找出重要对象。
关系抽取:说明对象之间的联系。
文本相似度:比较两段文字是否接近。