命名实体识别

概念

命名实体识别(Named Entity Recognition,简称NER) , 是指识别文本中具有特定意义的词(实体),主要包括人名、地名、机构名、专有名词等等,并把我们需要识别的词在文本序列中标注出来。

例如有一段文本:天津市空港经济区

我们要在上面文本中识别一些区域和地点,那么我们需要识别出来内容有:

  • 天津市(地点)
  • 空港经济区(地点)

NER的识别靠的是标签,在长期使用过程中,有一些大家使用比较频繁的标签,这里有个网站可以参考

识别上述例子我们使用了以下几个标签:

  1. "B-ORG":组织或公司(organization)
  2. "I-ORG":组织或公司
  3. "B-PER":人名(person)
  4. "I-PER":人名.
  5. "O":其他非实体(other)
  6. "B-LOC":地名(location)
  7. “I-LOC":地名

你肯定很关心“B”和“I”是什么意思?为什么一个实体会对应两个标签?(除O之外)下面会进行解释

首先说明,在文本中我们是以字为单位进行标注的

那么“B”和“I”是什么东西?

“B”是Begin的缩写,“I”我不知道是什么的缩写(如果你知道可以在评论区留言)

我们知道实体一般是一个词,因此用来表示它的文字应该有多个

而“B”就是用来表示某个实体开头的第一个字的(英文实体则为单词)

  1. 如:
  2. 天津市可以表示为
  3. 天(B-LOC)津(I-LOC)市(I-LOC
  4. #以B-LOC开头后面必须全为某某LOC,不能出现别的标签,比如B-PER后面跟个I-LOC就不行
  5. #在训练的时候,我们通常会再加一个概率图模型来减少上述错误的发生,如HMM等
  6. 纽约New York可以表示为
  7. NewB-LOC YorkI-LOC

人名同理不再举例

“O”则表示文本中不相关的字

  1. 如:
  2. 小红想去二空螺蛳粉嗦粉
  3. 上述文本中,除了“小红”和“二空螺蛳粉”以外的字都是“O"(前提是你不关心这些字)

注:除了上述标注方法外的标注均为非法标注

那么的HMM又是什么?

隐马尔可夫模型,即HMM,是概率图模型的一种,属于生成模型。

笼统的说,我们在上面谈论的"BIO"的实体标签,就属于一种不可观测的隐状态,而HMM模型就是描述由隐状态序列(实体标记)生成可观测结果(可读文本)的过程.

在我们讨论NER的问题当中,隐状态序列是实体标记序列,而可观测序列是我们可读的原始语料文本序列.

如:

  1. 隐藏状态序列:(B-LOC)(I-LOC)(I-LOC
  2. 观测状态序列:

这只是HMM用于NER标签时的情况

我们还可以举个例子将HMM思想拓展一下

  1. 假如我在打游戏,这时我突然想起一个人,然后我看通讯录找到他的名字给他打电话
  2. 上述例子中,
  3. 想起的这个人就是隐藏状态;
  4. 他的名字就是观测结果;
  5. 而我举例用的整段话就是HMM模型本身(因为它描述了一个过程)

【NLP学习其一】什么是命名实体识别NER?的更多相关文章

  1. NLP入门(八)使用CRF++实现命名实体识别(NER)

    CRF与NER简介   CRF,英文全称为conditional random field, 中文名为条件随机场,是给定一组输入随机变量条件下另一组输出随机变量的条件概率分布模型,其特点是假设输出随机 ...

  2. 『深度应用』NLP命名实体识别(NER)开源实战教程

    近几年来,基于神经网络的深度学习方法在计算机视觉.语音识别等领域取得了巨大成功,另外在自然语言处理领域也取得了不少进展.在NLP的关键性基础任务—命名实体识别(Named Entity Recogni ...

  3. pytorch 文本情感分类和命名实体识别NER中LSTM输出的区别

    文本情感分类: 文本情感分类采用LSTM的最后一层输出 比如双层的LSTM,使用正向的最后一层和反向的最后一层进行拼接 def forward(self,input): ''' :param inpu ...

  4. NLP入门(四)命名实体识别(NER)

      本文将会简单介绍自然语言处理(NLP)中的命名实体识别(NER).   命名实体识别(Named Entity Recognition,简称NER)是信息提取.问答系统.句法分析.机器翻译等应用领 ...

  5. 命名实体识别(NER)

    一.任务 Named Entity Recognition,简称NER.主要用于提取时间.地点.人物.组织机构名. 二.应用 知识图谱.情感分析.机器翻译.对话问答系统都有应用.比如,需要利用命名实体 ...

  6. NLP入门(五)用深度学习实现命名实体识别(NER)

    前言   在文章:NLP入门(四)命名实体识别(NER)中,笔者介绍了两个实现命名实体识别的工具--NLTK和Stanford NLP.在本文中,我们将会学习到如何使用深度学习工具来自己一步步地实现N ...

  7. NLP(二十四)利用ALBERT实现命名实体识别

      本文将会介绍如何利用ALBERT来实现命名实体识别.如果有对命名实体识别不清楚的读者,请参考笔者的文章NLP入门(四)命名实体识别(NER) .   本文的项目结构如下:   其中,albert_ ...

  8. 神经网络结构在命名实体识别(NER)中的应用

    神经网络结构在命名实体识别(NER)中的应用 近年来,基于神经网络的深度学习方法在自然语言处理领域已经取得了不少进展.作为NLP领域的基础任务-命名实体识别(Named Entity Recognit ...

  9. 用深度学习做命名实体识别(六)-BERT介绍

    什么是BERT? BERT,全称是Bidirectional Encoder Representations from Transformers.可以理解为一种以Transformers为主要框架的双 ...

随机推荐

  1. IT培训软件测试怎么样,问问“过来人”!

    经常看到有人在网上发帖子问:"XX培训(IT培训机构)怎么样,学过的老哥可以出来讲讲真话吗?"问这种问题的同学,来,站起来!我不得不在这儿说你两句:你要想知道一家IT培训机构到底怎 ...

  2. Windows服务与会话的理解

    服务 Windows NT操作系统是基于客户/服务器模式的(C/S).将操作系统中最基本的部分放到内核中,而把操作系统的绝大多数部分都放到微内核外面的一组服务器(进程)中实现.如对进程管理的进程管理服 ...

  3. 有趣的css—简单的下雨效果

    简单的下雨效果 前言 最近在b站上看到一个下雨效果的视频,感觉思路很清奇,我也按照自己的思路做了一个简单的下雨效果. 由于我制作GIF图片的工具最多只支持制作33FPS的GIF图,所以看起来可能有一点 ...

  4. Elastic Stack(ElasticSearch 、 Kibana 和 Logstash) 实现日志的自动采集、搜索和分析

    Elastic Stack 包括 Elasticsearch.Kibana.Beats 和 Logstash(也称为 ELK Stack).能够安全可靠地获取任何来源.任何格式的数据,然后实时地对数据 ...

  5. ES6中的展开运算符和解构对象

    let obj = { a:1 b:2 } let obj2 = { ...obj c:3 d:4 } console.log(obj2)//1,2,3,4,对象展开 //常考题目 let a = 1 ...

  6. 用户添加到sudoer列表## Allow root to run any commands anywhere root ALL=(ALL) ALL Iron ALL=(ALL) ALL

    将用户添加到sudoer列表 李序锴关注 2017.12.20 15:03:25字数 605阅读 4,067 默认情况下,linux没有将当前用户列入到sudoer列表中(在redhat系列的linu ...

  7. Linux 如何查看系统负载

    Linux 如何查看系统负载 310 博客 /  Linux/ 4个月前/  534 /  0   操作系统的负载状态,反映了应用程序的资源使用情况,从中能找出应用程序优化的瓶颈所在. 系统平均负载, ...

  8. bond0 配置ip不生效排查方法

         今天巡检的时候,发现无法连接到服务器上面了,于是到机房连接到显示器查看: 1.先检查网卡,协议有没有问题. 2.远程链接的网卡名称是bond0,用ifconfig看看网卡配置,然后发现配置的 ...

  9. JQuery 使用教程

    引言 JQuery 是一个 JavaScript 库,它极大地简化了 JavaScript 编程.JQuery 拥有丰富的选择器,可以非常方便的获取和操作 DOM 元素,而在 JQuery 中所有选择 ...

  10. linux服务器环境安全防范教程

    一.目录权限设置很重要:可以有效防范黑客上传木马文件. 如果通过 chmod 644 * -R 的话,php文件就没有权限访问了. 如果通过chmod 755 * -R 的话,php文件的权限就高了. ...