什么是 命名实体识别
从文本中提取命名实体
**命名实体识别(NER)**是一项自然语言处理任务,用于自动识别和分类文本中的命名实体:人名、组织名、地理位置、日期、货币金额和其他类别。
实体类型
- PER — 人名(张三、Elon Musk)
- ORG — 组织(谷歌、苹果、联合国)
- LOC — 地点(北京、中国、珠穆朗玛峰)
- DATE — 日期和时间(2024年1月1日、昨天)
- MONEY — 货币金额(100美元、5000元)
- PRODUCT — 产品(iPhone 15、特斯拉Model 3)
NER方法
- 规则和词典 — 使用正则表达式的基本方法
- 机器学习 — 在标注数据上使用CRF、SVM
- 深度学习 — BiLSTM-CRF、BERT、RoBERTa
- 迁移学习 — 微调预训练模型
应用场景
- 搜索引擎和信息检索
- 聊天机器人和虚拟助手
- 新闻分析和媒体监测
- 文档数据提取
- 合规和制裁名单检查
库和工具
- spaCy — 带有内置NER的快速NLP
- NLTK — 经典NLP库
- Hugging Face Transformers — 用于NER的BERT模型
- Stanford NER — Java库
- Flair — 最先进的NLP
质量指标
- 精确率 — 识别准确度
- 召回率 — 完整性(找到了多少实体)
- F1分数 — 精确率和召回率的调和平均值
- 实体级vs词元级 — 在实体或词元级别进行评估
挑战
- 同音异义(Apple——公司还是水果?)
- 嵌套实体(加利福尼亚大学洛杉矶分校)
- 稀有和新兴实体
- 多语言支持