跳到主要内容

命名实体识别

问题

什么是命名实体识别(NER)?有哪些实现方法?

答案

一、NER 概述

NER 从文本中识别并分类命名实体(人名、地名、组织名、时间等):

输入: "2024年苹果公司在加州发布了iPhone 16"
输出: [2024年/TIME] [苹果公司/ORG] [加州/LOC] [iPhone 16/PRODUCT]

二、标注体系

BIO 标注

标签含义示例
B-PER人名开始"张"
I-PER人名内部"三"
B-ORG组织开始"苹"
I-ORG组织内部"果公司"
O非实体"在"

三、方法对比

方法原理特点
规则/词典正则匹配 + 实体词典简单,特定领域准确
CRF条件随机场序列标注考虑标签依赖
BiLSTM-CRF双向 LSTM + CRF经典深度学习方案
BERT-NERBERT + 序列标注头当前最佳效果
LLM Prompt零样本抽取灵活但速度慢

四、常见实体类型

类型缩写示例
人名PER张三、Elon Musk
地名LOC北京、加利福尼亚
组织ORG腾讯、OpenAI
时间TIME2024年1月、昨天
金额MONEY100美元、5万元
产品PRODUCTiPhone 16、GPT-4

五、LLM 做 NER

System: 从文本中抽取命名实体,返回 JSON 格式。
实体类型: PER(人名), ORG(组织), LOC(地名), TIME(时间)

User: 2024年苹果公司在加州发布了iPhone 16
Assistant: [
{"text": "2024年", "type": "TIME"},
{"text": "苹果公司", "type": "ORG"},
{"text": "加州", "type": "LOC"}
]

常见面试问题

Q1: BiLSTM-CRF 中 CRF 层的作用?

答案

  • BiLSTM 输出每个 token 属于各标签的概率
  • CRF 层在此基础上建模标签之间的转移概率
  • 例如:B-PER 后面不可能出现 I-ORG(CRF 会学到这种约束)
  • 没有 CRF:每个 token 独立预测,可能出现非法标签序列

Q2: NER 在 AI 应用中有什么实际用途?

答案

  • PII 检测:识别用户输入中的个人信息(姓名、手机号等)进行脱敏
  • 知识图谱构建:从文本中抽取实体和关系
  • 搜索增强:识别查询中的实体,提升搜索精度
  • RAG 文档处理:对文档进行实体标注,增强检索

相关链接