【NLP学习其一】什么是命名实体识别NER?
命名实体识别
概念
命名实体识别(Named Entity Recognition,简称NER) , 是指识别文本中具有特定意义的词(实体),主要包括人名、地名、机构名、专有名词等等,并把我们需要识别的词在文本序列中标注出来。
例如有一段文本:天津市空港经济区
我们要在上面文本中识别一些区域和地点,那么我们需要识别出来内容有:
- 天津市(地点)
- 空港经济区(地点)
NER的识别靠的是标签,在长期使用过程中,有一些大家使用比较频繁的标签,这里有个网站可以参考
识别上述例子我们使用了以下几个标签:
- "B-ORG":组织或公司(organization)
- "I-ORG":组织或公司
- "B-PER":人名(person)
- "I-PER":人名.
- "O":其他非实体(other)
- "B-LOC":地名(location)
- “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?的更多相关文章
- NLP入门(八)使用CRF++实现命名实体识别(NER)
CRF与NER简介 CRF,英文全称为conditional random field, 中文名为条件随机场,是给定一组输入随机变量条件下另一组输出随机变量的条件概率分布模型,其特点是假设输出随机 ...
- 『深度应用』NLP命名实体识别(NER)开源实战教程
近几年来,基于神经网络的深度学习方法在计算机视觉.语音识别等领域取得了巨大成功,另外在自然语言处理领域也取得了不少进展.在NLP的关键性基础任务—命名实体识别(Named Entity Recogni ...
- pytorch 文本情感分类和命名实体识别NER中LSTM输出的区别
文本情感分类: 文本情感分类采用LSTM的最后一层输出 比如双层的LSTM,使用正向的最后一层和反向的最后一层进行拼接 def forward(self,input): ''' :param inpu ...
- NLP入门(四)命名实体识别(NER)
本文将会简单介绍自然语言处理(NLP)中的命名实体识别(NER). 命名实体识别(Named Entity Recognition,简称NER)是信息提取.问答系统.句法分析.机器翻译等应用领 ...
- 命名实体识别(NER)
一.任务 Named Entity Recognition,简称NER.主要用于提取时间.地点.人物.组织机构名. 二.应用 知识图谱.情感分析.机器翻译.对话问答系统都有应用.比如,需要利用命名实体 ...
- NLP入门(五)用深度学习实现命名实体识别(NER)
前言 在文章:NLP入门(四)命名实体识别(NER)中,笔者介绍了两个实现命名实体识别的工具--NLTK和Stanford NLP.在本文中,我们将会学习到如何使用深度学习工具来自己一步步地实现N ...
- NLP(二十四)利用ALBERT实现命名实体识别
本文将会介绍如何利用ALBERT来实现命名实体识别.如果有对命名实体识别不清楚的读者,请参考笔者的文章NLP入门(四)命名实体识别(NER) . 本文的项目结构如下: 其中,albert_ ...
- 神经网络结构在命名实体识别(NER)中的应用
神经网络结构在命名实体识别(NER)中的应用 近年来,基于神经网络的深度学习方法在自然语言处理领域已经取得了不少进展.作为NLP领域的基础任务-命名实体识别(Named Entity Recognit ...
- 用深度学习做命名实体识别(六)-BERT介绍
什么是BERT? BERT,全称是Bidirectional Encoder Representations from Transformers.可以理解为一种以Transformers为主要框架的双 ...
随机推荐
- Charles的功能(web)
# 验证是否可以获取web端的https接口 1. 打开Charles 2.打开游览器输入数据 3. 查看Charles 4.从上图所看,能获取htpps的包数据,即可对web端进行抓包 4.char ...
- buaaoo_third_assignment
你看这个代码它又长又宽 一.JML (1)理论基础 JML(Java Modeling Language)是用于对Java程序进行规格化设计的一种表示语言.JML是一种行为接口规格语言 (Behavi ...
- 3D高清电商购物小图标图片_在线商城三维icon图标素材大全
3D高清电商购物小图标图片_在线商城三维icon图标素材大全
- Java虚拟机栈和PC寄存器
PC Register介绍 JVM中的程序计数寄存器(Program Counter Register)中,Register 的命名源于CPU的寄存器,寄存器存储指令相关的现场信息.CPU只有把数据装 ...
- 虚拟机快速下载安装配置aarch64-linux-gnu-gcc工具链
方式一:软件仓库安装 此方法不用自己去配置交叉编译工具链 1.查看本地仓库有支持哪些版本哪些 输入命令: apt-cache search aarch64 2.下载安装 gcc-8-aarch64-l ...
- [bug] idea 导入多个 maven 项目
参考 https://www.cnblogs.com/qinxu/p/9649267.html
- R语言执行脚本的几种命令
R CMD BATCH 和 Rscript 使用前都要先添加环境变量 把 C:\Program Files\R\R-3.3.0\bin; 加到"系统变量"的Path 值的最开始 可 ...
- 删除rpc01
vim /opt/ltp/runtest/stress.part3 修改/opt/ltp/runtest/stress.part3 删除rpc01: 142 systemctl status gdm ...
- rpm -ql BackupPC |grep etc
# rpm -ql BackupPC |grep etc/etc/BackupPC/etc/BackupPC/config.pl/etc/BackupPC/hosts/etc/httpd/conf.d ...
- linux中级之HAProxy基础配置
一.haproxy简介 HAProxy是一款提供高可用性.负载均衡以及基于TCP(第四层)和HTTP(第七层)应用的代理软件,HAProxy是完全免费的.借助HAProxy可以快速并且可靠的提供基于T ...