命名实体识别(Named-entity recognition | NER)
什么是命名实体识别?
命名实体识别(Named Entity Recognition,简称NER),又称作“专名识别”,是指识别文本中具有特定意义的实体,主要包括人名、地名、机构名、专有名词等。简单的讲,就是识别自然文本中的实体指称的边界和类别。
命名实体识别的发展历史
NER一直是NLP领域中的研究热点,从早期基于词典和规则的方法,到传统机器学习的方法,到近年来基于深度学习的方法,NER研究进展的大概趋势大致如下图所示。
命名实体识别 NER 的发展史
阶段 1:早期的方法,如:基于规则的方法、基于字典的方法
阶段 2:传统机器学习,如:HMM、MEMM、CRF
阶段 3:深度学习的方法,如:RNN – CRF、CNN – CRF
阶段 4:近期新出现的一些方法,如:注意力模型、迁移学习、半监督学习的方法
4类常见的实现方式
早期的命名实体识别方法基本都是基于规则的。之后由于基于大规模的语料库的统计方法在自然语言处理各个方面取得不错的效果之后,一大批机器学习的方法也出现在命名实体类识别任务。宗成庆老师在统计自然语言处理一书粗略的将这些基于机器学习的命名实体识别方法划分为以下几类:
有监督的学习方法
这一类方法需要利用大规模的已标注语料对模型进行参数训练。目前常用的模型或方法包括隐马尔可夫模型、语言模型、最大熵模型、支持向量机、决策树和条件随机场等。值得一提的是,基于条件随机场的方法是命名实体识别中最成功的方法。
半监督的学习方法
这一类方法利用标注的小数据集(种子数据)自举学习。
无监督的学习方法
这一类方法利用词汇资源(如WordNet)等进行上下文聚类。
混合方法
几种模型相结合或利用统计方法和人工总结的知识库。
值得一提的是,由于深度学习在自然语言的广泛应用,基于深度学习的命名实体识别方法也展现出不错的效果,此类方法基本还是把命名实体识别当做序列标注任务来做,比较经典的方法是LSTM+CRF、BiLSTM+CRF。
NER 的相关数据集
相关工具推荐
百科介绍
百度百科(详情)
命名实体识别(Named Entity Recognition,简称NER),又称作“专名识别”,是指识别文本中具有特定意义的实体,主要包括人名、地名、机构名、专有名词等。
维基百科(详情)
命名实体识别(英语:Named Entity Recognition,简称NER),又称作专名识别、命名实体,是指识别文本中具有特定意义的实体,主要包括人名、地名、机构名、专有名词等,以及时间、数量、货币、比例数值等文字。指的是可以用专有名词(名称)标识的事物,一个命名实体一般代表唯一一个具体事物个体,包括人名、地名等。
NER属于从非结构化文本中分类和定位命名实体感情的子任务,其过程是从是非结构化文本表达式中产生专有名词标注信息的命名实体表达式,目前NER有两个显著的问题,即识别和分类。例如,“奥巴马是美国总统”的“奥巴马”和“美国”都代表一个具体事物,因此都是命名实体。而“总统”不代表一个具体事物,因此不是命名实体。
扩展阅读
实践类
【实战】NLP命名实体识别开源实战教程(2019-9)
基于 BERT 的中文命名实体识别 – NER(2019-7)