命名实体识别 NER 是什么?从文本里找出人名地名机构名
命名实体识别(Named Entity Recognition,NER)是从文本中自动找出特定实体并标注类别的技术。比如在“张三 2024 年加入了北京的某某科技公司”这句话里,NER 要识别出“张三”是人名、“2024 年”是时间、“北京”是地名、“某某科技公司”是机构名。常见的实体类别有人物、组织、地点、时间、数量、金额,在医疗、金融、法律等专业领域,还会有疾病、药品、股票代码、法条等专门的实体类型。
它有什么用
NER 是很多自然语言处理应用的基础一步。信息抽取:从大量新闻、合同、病历里自动提取关键信息。知识图谱构建:先识别出实体,才能进一步抽取实体之间的关系。智能搜索:理解用户查询里提到的是哪个人、哪家公司。内容推荐和舆情监控:统计哪些人物、品牌被提及。客服系统:从用户消息里提取订单号、商品名、地址等。
技术演进
早期的 NER 依赖人工规则和词典匹配,再到统计模型,比如隐马尔可夫模型(HMM)和条件随机场(CRF),需要大量人工设计的特征,换一个领域就要重新调整。深度学习带来了转变:2016 年,卡内基梅隆大学的 Guillaume Lample 等人提出了基于双向 LSTM 和条件随机场的神经网络结构,结合字符级的词表示和预训练的词向量,在不依赖人工特征的情况下取得了当时最好的效果,BiLSTM-CRF 也成了此后几年的经典方案。
之后,BERT 等预训练模型进一步提升了 NER 的效果,只需少量标注数据微调就能达到很高的准确率。到了大模型时代,很多 NER 任务可以直接通过提示词完成,不需要专门训练模型,比如让模型“从下面的文本里提取所有公司名称,用 JSON 格式输出”。
中文 NER 的特殊难点
中文没有空格分隔词语,实体边界更难判断;还有大量简称、别名、嵌套实体(机构名里包含地名),以及网络新词。所以中文 NER 往往需要专门的数据和模型。对于专业领域的大批量处理,一个经过微调的小模型通常比调用大模型更快、更便宜、也更稳定。