考研 发表于 2021-1-7 20:49:22

命名实体识别(Named Entity Recognition,NER)

命名实体识别(Named Entity Recognition,NER)是NLP中一项非常基础的任务。NER是信息提取、问答系统、句法分析、机器翻译等众多NLP任务的重要基础工具。
命名实体识别的准确度,决定了下游任务的效果,是NLP中非常重要的一个基础问题。
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,表示其他,用于标记无关字符将“小明在北京大学的燕园看了中国男篮的一场比赛”这句话,进行标注,结果就是:那么,换句话说,NER的过程,就是根据输入的句子,预测出其标注序列的过程。3 命名实体识别的方法介绍1)HMM和CRF等机器学习算法HMM和CRF很适合用来做序列标注问题,早期很多的效果较好的成果,都是出自这两个模型。两种模型在序列标注问题中应用,我们在之前的文章中有介绍,感兴趣的同学可以看下如下链接的文章:【NLP】用于序列标注问题的条件随机场(Conditional Random Field, CRF)https://pic2.zhimg.com/v2-6f94c75c3e9adb890d156657e1b075bd_ipico.jpg【NLP】用于语音识别、分词的隐马尔科夫模型https://pic2.zhimg.com/v2-bdc90e0cdc272adb256c928013a0d189_180x120.jpg2)LSTM+CRF目前做NER比较主流的方法就是采用LSTM作为特征抽取器,再接一个CRF层来作为输出层,后面我们用专门的文章来介绍这个模型。如下图所示:https://pic2.zhimg.com/80/v2-701069b4c5281dd5074276200c5d56f9_720w.jpg3)CNN+CRFCNN虽然在长序列的特征提取上有弱势,但是CNN模型可有并行能力,有运算速度快的优势。膨胀卷积的引入,使得CNN在NER任务中,能够兼顾运算速度和长序列的特征提取,后面我们用专门的文章来介绍这个模型。
https://pic4.zhimg.com/80/v2-066b5135cac820ee552082e96576a3d7_720w.jpg4)BERT+(LSTM)+CRF
BERT中蕴含了大量的通用知识,利用预训练好的BERT模型,再用少量的标注数据进行FINETUNE是一种快速的获得效果不错的NER的方法,后面我们用专门的文章来介绍这个模型。https://pic2.zhimg.com/80/v2-b95383e5a559f6a6f134a1f42f63fc45_720w.jpg
总结NER是一个非常基础,但是非常重要的任务,今天先做一个整体的介绍。后续小Dream哥会相继详细的介绍上述几种常见的NER模型。在具体的模型中,大家能够更为细致的体会NER任务的真正作用和意涵。

页: [1]
查看完整版本: 命名实体识别(Named Entity Recognition,NER)