NER(命名实体识别)就是把「京东」「李宁」「上海市」这种专有名词从文本里抠出来。
两条路:
一、自建词库(Aho-Corasick 算法)
- 适合:固定领域(自家品牌名、本公司历史项目名)
- 速度:极快,毫秒级
- 缺点:新词、热词跟不上
- 工具:
pyahocorasick
二、用现成模型
jieba posseg:自带词性,识别粗,但能识别出人名、地名、机构名HanLP:效果好,支持医疗、法律等垂直领域BERT-CRF:天花板,自己训练的话需要标注数据
实战经验:
- 客户业务专有名词 + 通用实体识别 = 自建词库 + jieba/HanLP 组合
- 标注数据 > 5000 条 = 直接 BERT-CRF
- 标注数据 < 1000 条 = 别硬上深度学习,效果不稳定
NER 做出来了,后面做实体级情感分析、知识图谱都方便。
本文由 BBZ · 小朵科技工作室 出品。