命名实体识别入门
命名实体识别入门
一、什么是命名实体识别
命名实体识别(Named Entity Recognition,简称 NER)是 NLP 中的一项基础任务,其目标是从文本中识别具有明确语义类别的信息,例如:
- 人名
- 地名
- 组织机构
- 时间、专有名词等
相比文本预处理,NER 已经进入了 语义层面的信息抽取,是 NLP 从“处理文本”走向“理解文本”的重要一步。
二、为什么需要命名实体识别
在很多实际场景中,我们关心的并不是整段文本,而是其中的关键信息,例如:
- 谁
- 在哪里
- 属于什么组织
通过命名实体识别,可以将非结构化文本转化为结构化信息,为后续分析提供支持。
三、入门级 NER 的实现思路
在初学阶段,不需要一开始就实现复杂的深度学习模型。
可以借助现成的工具,通过词性标注的方式,完成一个 基础的实体识别实践,从而理解 NER 在做什么。
在这里,我使用 jieba.posseg 进行一个简单的 NER 入门实验。
四、使用 Python 实现简单的命名实体识别
1. 实现思路
- 使用分词 + 词性标注
- 根据词性筛选实体
- 提取人名、地名、机构名
2. Python 实现代码
import jieba.posseg as pseg
text = "马云创立了阿里巴巴,总部位于杭州。"
words = pseg.cut(text)
for word, flag in words:
if flag in ['nr', 'ns', 'nt']:
if flag == 'nr':
entity_type = "人名"
elif flag == 'ns':
entity_type = "地名"
elif flag == 'nt':
entity_type = "机构名"
print(f"识别到实体:{word},类型:{entity_type}")
3. 输出结果说明
运行后可以识别出文本中的:
- 人名:马云
- 机构名:阿里巴巴
- 地名:杭州
虽然这种方式并不复杂,但已经可以帮助理解 NER 的基本工作方式和输出形式。
五、对入门阶段 NER 的理解
通过这一实践,我对命名实体识别形成了几个清晰的认识:
- NER 本质是对文本中“有意义对象”的识别
- 简单工具可以用于原型验证
- 更复杂的 NER 通常需要序列模型或预训练模型
- 理解任务本身,比一开始追求复杂模型更重要
六、小结
命名实体识别是 NLP 中非常重要的一项基础能力,它为文本理解提供了关键语义线索。
通过 Python 的简单实践,可以直观地感受到 NLP 如何从文本中抽取结构化信息,也为后续深入学习更复杂的实体识别模型打下基础。

浙公网安备 33010602011771号