【NLP-NER】什么是命名实体识别?

命名实体识别(Named Entity Recognition,NER)是NLP中一项非常基础的任务。NER是信息提取、问答系统、句法分析、机器翻译等众多NLP任务的重要基础工具。

命名实体识别的准确度,决定了下游任务的效果,是NLP中非常重要的一个基础问题。

作者&编辑 | 小Dream哥

1 命名实体识别是什么?

要了解NER是一回什么事,首先要先说清楚,什么是实体。要讨论实体的理论概念,可能会花上一整天的时间,我们不过多纠缠。

简单的理解,实体,可以认为是某一个概念的实例。

例如,“人名”是一种概念,或者说实体类型,那么“蔡英文”就是一种“人名”实体了。“时间”是一种实体类型,那么“中秋节”就是一种“时间”实体了。

所谓实体识别,就是将你想要获取到的实体类型,从一句话里面挑出来的过程。

小明      在         北京大学      的       燕园     看了

PER                      ORG                    LOC

中国男篮           的一场比赛

ORG

如上面的例子所示,句子“小明在北京大学的燕园看了中国男篮 的一场比赛”,通过NER模型,将“小明 ”以PER,“北京大学”以ORG,“燕园”以LOC,“中国男篮”以ORG为类别分别挑了出来。

2 命名实体识别的数据标注方式

NER是一种序列标注问题,因此他们的数据标注方式也遵照序列标注问题的方式,主要是BIO和BIOES两种。这里直接介绍BIOES,明白了BIOES,BIO也就掌握了。

先列出来BIOES分别代表什么意思:

B,即Begin,表示开始

I,即Intermediate,表示中间

E,即End,表示结尾

S,即Single,表示单个字符

O,即Other,表示其他,用于标记无关字符

将“小明在北京大学的燕园看了中国男篮的一场比赛”这句话,进行标注,结果就是:

[B-PER,E-PER,O,  B-ORG,I-ORG,I-ORG,E-ORG,O,B-LOC,E-LOC,O,O,B-ORG,I-ORG,I-ORG,E-ORG,O,O,O,O]

那么,换句话说,NER的过程,就是根据输入的句子,预测出其标注序列的过程。

3 命名实体识别的方法介绍

1)HMM和CRF等机器学习算法

HMM和CRF很适合用来做序列标注问题,早期很多的效果较好的成果,都是出自这两个模型。两种模型在序列标注问题中应用,我们在之前的文章中有介绍,感兴趣的同学可以看下如下链接的文章:

【NLP】用于语音识别、分词的隐马尔科夫模型HMM

【NLP】用于序列标注问题的条件随机场(Conditional Random Field, CRF)

2)LSTM+CRF

目前做NER比较主流的方法就是采用LSTM作为特征抽取器,再接一个CRF层来作为输出层,后面我们用专门的文章来介绍这个模型。如下图所示:

3)CNN+CRF

CNN虽然在长序列的特征提取上有弱势,但是CNN模型可有并行能力,有运算速度快的优势。膨胀卷积的引入,使得CNN在NER任务中,能够兼顾运算速度和长序列的特征提取,后面我们用专门的文章来介绍这个模型。

4)BERT+(LSTM)+CRF

BERT中蕴含了大量的通用知识,利用预训练好的BERT模型,再用少量的标注数据进行FINETUNE是一种快速的获得效果不错的NER的方法,后面我们用专门的文章来介绍这个模型。

总结

NER是一个非常基础,但是非常重要的任务,今天先做一个整体的介绍。后续小Dream哥会相继详细的介绍上述几种常见的NER模型。在具体的模型中,大家能够更为细致的体会NER任务的真正作用和意涵。

(0)

相关推荐