• 本文收录于《深入浅出讲解自然语言处理》专栏,此专栏聚焦于自然语言处理领域的各大经典算法,将持续更新,欢迎大家订阅!
  • 个人主页:有梦想的程序星空
  • 个人介绍:小编是人工智能领域硕士,全栈工程师,深耕Flask后端开发、数据挖掘、NLP、Android开发、自动化等领域,有较丰富的软件系统、人工智能算法服务的研究和开发经验。
  • 如果文章对你有帮助,欢迎关注点赞收藏订阅。

命名实体识别的背景

命名实体识别(Named Entity Recognition, 简称NER)(也称为实体识别、实体分块和实体提取)是信息提取的一个子任务,旨在将文本中的命名实体定位并分类为预先定义的类别,如人员、组织、位置、时间表达式、数量、货币值、百分比等。命名实体识别是自然语言处理中的热点研究方向之一, 目的是识别文本中的命名实体并将其归纳到相应的实体类型中。

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

从自然语言处理的流程来看,NER可以看作词法分析中未登录词识别的一种,是未登录词中数量最多、识别难度最大、对分词效果影响最大问题。同时NER也是关系抽取、事件抽取、知识图谱、机器翻译、问答系统等诸多NLP任务的基础。

命名实体识别的方法

从模型的层面,可以分为基于规则的方法、无监督学习方法、有监督学习方法从输入的层面,可以分为基于字(character-level)的方法、基于词(work-level)的方法、两者结合的方法。

基于规则的方法:依赖人工制定的规则,规则的设计一般基于句法、语法、词汇的模式,以及特定领域的知识。当词典的大小有限时,基于规则的方法可以达到很好的效果。这种方法通常具有高精确率和低召回率的特点。但是这种方法无法难以迁移到别的领域,对于新的领域需要重新制定规则。

无监督学习方法:利用语义相似性进行聚类,从聚类得到的组当中抽取命名实体,通过统计数据推断实体类别。

基于特征的监督学习方法:可以表示为多分类任务或者序列标注任务,从数据中学习。

图1 NER识别算法发展历程

下面介绍几种常见的命名实体识别算法:

BiLSTM-CRF算法

图2 BiLSTM-CRF结构图

论文名称Neural Architectures for Named Entity Recognition

论文链接:https://arxiv.org/pdf/1603.01360.pdf

应用于NER中的BiLSTM-CRF模型主要由Embedding层(主要有词向量,字向量以及一些额外特征),双向LSTM层,以及最后的CRF层构成。实验结果表明BiLSTM-CRF已经达到或者超过了基于丰富特征的CRF模型,成为目前基于深度学习的NER方法中的最主流模型。在特征方面,该模型继承了深度学习方法的优势,无需特征工程,使用词向量以及字符向量就可以达到很好的效果,如果有高质量的词典特征,能够进一步获得提高。

如果读者想要更进一步了解BiLSTM-CRF算法,可以转到之前笔者写的《深入浅出讲解BiLSTM-CRF》文章进一步阅读。

IDCNN-CRF算法

论文名称Fast and Accurate Entity Recognition with Iterated Dilated Convolutions

论文链接:https://arxiv.org/abs/1702.02098

论文提出在NER任务中,引入膨胀卷积,一方面可以引入CNN并行计算的优势,提高训练和预测时的速度;另一方面,可以减轻CNN在长序列输入上特征提取能力弱的劣势。具体使用时,dilated width会随着层数的增加而指数增加。这样随着层数的增加,参数数量是线性增加的,而感受野却是指数增加的,这样就可以很快覆盖到全部的输入数据。IDCNN对输入句子的每一个字生成一个logits,这里就和BiLSTM模型输出logits之后完全一样,再放入CRF Layer解码出标注结果。

Bert算法

图3 Bert算法的结构图

Bert(Bidirectional Encoder Representations from Transformers)算法,顾名思义,是基于Transformer算法的双向编码表征算法,Transformer算法基于多头注意力(Multi-Head attention)机制,而Bert又堆叠了多个Transfromer模型,并通过调节所有层中的双向Transformer来预先训练双向深度表示,而且,预训练的Bert模型可以通过一个额外的输出层来进行微调,适用性更广,而不需要做更多重复性的模型训练工作。

Bert算法的论文:https://arxiv.org/abs/1810.04805

Bert算法的开源代码:https://github.com/google-research/bert

读者如果想进一步了解Bert算法,可以前往笔者之前写的《深入浅出讲解Bert算法》进一步阅读。

关注微信公众号【有梦想的程序星空】,了解软件系统和人工智能算法领域的前沿知识,让我们一起学习、一起进步吧!

【实体识别】深入浅出讲解命名实体识别(介绍、常用算法)相关推荐

  1. 神圣的NLP!一文理解词性标注、依存分析和命名实体识别任务

    词性标注(Part-of-Speech Tagging, POS).命名实体识别(Name Entity Recognition,NER)和依存句法分析(Dependency Parsing)是自然语 ...

  2. 基于BERT预训练的中文命名实体识别TensorFlow实现

    BERT-BiLSMT-CRF-NER Tensorflow solution of NER task Using BiLSTM-CRF model with Google BERT Fine-tun ...

  3. 自然语言处理(NLP)之用深度学习实现命名实体识别(NER)

    几乎所有的NLP都依赖一个强大的语料库,本项目实现NER的语料库如下(文件名为train.txt,一共42000行,这里只展示前15行,可以在文章最后的Github地址下载该语料库): played ...

  4. (转)OpenNLP进行中文命名实体识别(下:载入模型识别实体)

    上一节介绍了使用OpenNLP训练命名实体识别模型的方法,并将模型写到磁盘上形成二进制bin文件,这一节就是将模型从磁盘上载入,然后进行命名实体识别.依然是先上代码: [java] view plai ...

  5. 词性标注与命名实体识别

    词性标注与命名实体识别 词性标注 词性是词汇基本的语法属性,通常称为词类.词性标注是在给定句子中判定每个词的语法范畴,确定其词性并加以标注的过程.例如,表示人.地点.事物以及其他抽象概念的名称即为名词 ...

  6. 命名实体识别 实体抽取_您的公司为什么要关心命名实体的识别

    命名实体识别 实体抽取 Named entity recognition is the task of categorizing text into entities, such as people, ...

  7. 命名实体识别以及词性自动标注

    一.命名实体识别 大数据风靡的今天,不从里面挖出点有用的信息都不好意思见人,人工智能号称跨过奇点,统霸世界,从一句话里都识别不出一个命名实体?不会的,让我们大话自然语言处理的囊中取物,看看怎么样能让计 ...

  8. BERT-BiLSTM-CRF基于BERT预训练的中文命名实体识别TensorFlow实现

    向AI转型的程序员都关注了这个号???????????? 机器学习AI算法工程   公众号:datayx Tensorflow solution of NER task Using BiLSTM-CR ...

  9. 系统学习NLP(十一)--命名实体识别

    转自:https://www.cnblogs.com/bep-feijin/articles/9650898.html 命名实体识别(Named EntitiesRecognition, NER)是自 ...

最新文章

  1. mysql 不同的文件系统_文件系统,数据库管理系统,操作系统之间有什么联系?...
  2. Linux Setuid(SUID)和Setgid(SGID) sticky bit
  3. docker 服务器重启 镜像丢失_将你的前端应用打包成docker镜像并部署到服务器?仅需一个脚本搞定...
  4. Openstack安装(1)--keystone安装
  5. access数据库拆分的用途_在Access中手动拆分数据库
  6. 为什么IEEE 1588如此精确呢?
  7. QT安装 and VS2019中安装QT插件
  8. 小白都能看懂的java虚拟机内存区域划分
  9. android 跨应用服务,跨应用启动Service,出现空指针
  10. WEBSHELL 提权方法总结
  11. MAL II,怀槐凝集素II(MAL II)
  12. 潘悟云方言计算机,山东方言精组与见晓组声母的分合研究
  13. 天刀霸王枪服务器怎么维护了,1月31日服务器例行维护公告(已完成)
  14. 微擎跳过云平台_2018年10月微擎安装之阿里云懒人教程篇
  15. 判断一个整数是偶数还是奇数,并输出判断结果
  16. 可视对讲系统服务器连接失败,可视对讲系统呼叫分机、门口机不通是什么问题?...
  17. Vega Prime 常见问题集
  18. 全新UI任务悬赏抢单源码-附带简单安装教程
  19. css 修改文字基准线_HTML4/HTML5 用CSS或style属性修改 hr 实线 虚线 点线 双实线样式 ... ......
  20. 2022年全球市场化学机械抛光(CMP)金刚石衬垫调节器总体规模、主要生产商、主要地区、产品和应用细分研究报告

热门文章

  1. Android APP应用启动页白屏(StartingWindow)优化
  2. 看美剧学口语心得和推荐
  3. python计算图形面积的方法_python计算不规则图形面积算法
  4. 使用canvas实现微信小程序滑动解锁功能 ;解决canvas图层随背景能上下滑动导致页面错乱问题;
  5. 注意力机制——Non-local Networks(NLNet)
  6. 用Maven Archetype Plugin快速创建项目
  7. elementUI tree回显值
  8. (七)Reaction-anomalous diffusion
  9. 全国大学生智能汽车大赛(四):电机控制代码及主函数
  10. windows下使用cmd命令设置静态IPv4 IPv6地址