命名实体识别

概念

命名实体识别(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”就是用来表示某个实体开头的第一个字的(英文实体则为单词)

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

人名同理不再举例

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

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

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

那么的HMM又是什么?

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

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

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

如:

隐藏状态序列:(B-LOC)(I-LOC)(I-LOC)
观测状态序列: 天 津 市

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

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

假如我在打游戏,这时我突然想起一个人,然后我看通讯录找到他的名字给他打电话

上述例子中,
想起的这个人就是隐藏状态;
他的名字就是观测结果;
而我举例用的整段话就是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. Catalan数以及相关性质的证明

    \(Catalan\) 数相关证明 Mushroom 2021-5-14 \(Catalan\)数的定义 给定一个凸\(n + 1\)边形, 通过在内部不相交的对角线,把它划分成为三角形的组合,不同的 ...

  2. QQ账号登录测试用例

  3. 剑指offer 数组中的重复数字

    问题描述: 在长度为n的数组中,所有的元素都是0到n-1的范围内. 数组中的某些数字是重复的,但不知道有几个重复的数字,也不知道重复了几次,请找出任意重复的数字. 例如,输入长度为7的数组{2,3,1 ...

  4. [刷题] 20 Valid Parentheses

    要求 给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效 左括号必须用相同类型的右括号闭合 左括号必须以正确的顺序闭合 空字符串可被认为是有效字符串 思路 遇 ...

  5. MyBatis 数据源的原理和机制

    回顾JDBC JDBC访问数据库流程 加载驱动 获取Connection连接对象(消耗性能) 获取PrepareStatement对象 执行SQL语句 获取结果集 关闭Connection连接对象 存 ...

  6. 7.10-11 visudo、sudo

    7.10 visudo:编辑 sudoers文件     visudo命令是专门用来编辑/etc/sudoers这个文件的,同时提供语法检查等功能./etc/sudoers文件是sudo命令的配置文件 ...

  7. Linux系统添加永久静态路由的方法(包含Centos7)

    一.使用route命令添加 使用route 命令添加的路由,机器重启或者网卡重启后路由就失效了,方法:A.添加到主机的路由# route add –host 192.168.1.10 dev eth0 ...

  8. 安装tomcat8 env

    目录 1 download package 2 install tomcat 3 Pro config 4. docker image 1 download package wget https:// ...

  9. lambda 函数执行流程 递归注意

  10. GO语言练习---对切片进行排序

    对整型切片进行选择排序 package main import "fmt" /*对切片排序*/ func SortSlice(slice []int) { for i := 0; ...