专栏首页AI小白入门【NLP-NER】什么是命名实体识别?

【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的方法,后面我们用专门的文章来介绍这个模型。

The End

本文分享自微信公众号 - AI小白入门(StudyForAI)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-09-23

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 【NLP】一文完全搞懂序列标注算法

    序列标注模型用到了长短期记忆网络(LSTM),条件随机场(CRF),Highway网络,本文循序渐进的介绍了序列标注算法,Be patience ! 跟着小编的...

    yuquanle
  • flair的使用方法

    本文介绍了flair的使用方法,Flair是最近开源的一个基于Pytorch的NLP框架,它是一个功能强大的NLP库。Flair允许您将最先进的自然语言处理(N...

    yuquanle
  • 初学者|什么是语义角色标注

    本文记录自然语言基础技术之语义角色标注学习过程,包括定义、常见方法、例子、以及相关评测,最后推荐python实战利器,并且包括工具的用法。

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

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

    用户1508658
  • 邓凯:智慧家庭行业处于混沌期

            4月14日晚,由腾讯研究院、TechWeb联合举办的第十期“互联网前沿沙龙”如期举行。海尔北京创新中心产品运营总监邓凯、深圳市贝美互动科技有限...

    腾讯研究院
  • HTML5新增的标签与属性

    HTML5 不基于 SGML,所以不需要引用 DTD(HTML 4.01 基于 SGML)

    Leophen
  • 你们的goose到了请接收

    无意间看到了这个goose小姐姐心都萌化了,这是最近很火的一款desktop小游戏,我们先看一下官网

    用户7021283
  • dnsmasq

    dnsmasq支持解决DNS,DHCP和router等多方面问题,一个常见的认知dnsmasq是一个本地dns(/etc/resolv.conf)的加强版

    zero000
  • Shell函数

    函数可以让我们将一个复杂功能划分成若干模块,让程序结构更加清晰,代码重复利用率更高。像其他编程语言一样,Shell也支持函数。Shell函数必须先定义后使用。

    Dabelv
  • Redis 6 将采用全新协议RESP3 提供客户端缓存功能

    Redis 创始人兼核心开发者 antirez 在博客 介绍 了将在 Redis 6 提供的新功能 —— Client side caching(客户端缓存)。

    Debian社区

扫码关注云+社区

领取腾讯云代金券