一、任务

Named Entity Recognition,简称NER。主要用于提取时间、地点、人物、组织机构名。

二、应用

知识图谱、情感分析、机器翻译、对话问答系统都有应用。比如,需要利用命名实体识别技术自动识别用户的查询,然后将查询中的实体链接到知识图谱对应的结点上,其识别的准确率将会直接影响到后续的一系列工作。

三、流程图

四、标注集

采用BMEWO标注体系进行标注

BME分别代表实体的首部、中部、尾部。W代表单独是一个实体,O代表非实体。

五、NER的难点

1)不同场景不同领域下差异较大,比如新闻领域训练出来的模型,应用到社交领域,效果就非常差劲。但是当前标注的数据集主要集中于新闻领域。

2)目前NER的标注语料较少,标注成本较大,如何从现有较少的语料中学习到更好的模型,或者能从大量未标记语料进行学习,给NER带来了新的挑战。

3)随着时间的推移,出现大量未登录词。

六、用CRF进行识别效果不好怎么办?

可以通过构建更多的特征,比如词性、命名实体的指示代词等,也就是训练样本集中添加更多的列,将词与词的前后关系更明白的告诉特征,模型就学习的更好,说白了就是多做一些特征工程,把隐藏的关系都展开。有了更多的特征列,特征模板也要相应更改一下,可以参照下面的第二个参考文献。

例如:增加特征后,训练语料变成如下形式(汉字、词性、分词边界、地名指示代词、组织名指示代词、人名指示代词,标注tag):

相应模板如下:

# Unigram
U00:%x[-2,0]
U01:%x[-1,0]
U02:%x[0,0]
U03:%x[1,0]
U04:%x[2,0]
U05:%x[-2,1]
U06:%x[-1,1]
U07:%x[0,1]
U08:%x[1,1]
U09:%x[2,1]
U10:%x[0,0]/%x[0,1]
U11:%x[0,0]/%x[1,0]
U12:%x[0,0]/%x[-1,0]
U13:%x[-1,0]/%x[0,1]
U14:%x[0,0]/%x[1,1]
U15:%x[-1,0]/%x[-1,1]
U16:%x[-1,0]/%x[-2,0]
U17:%x[-2,0]/%x[-2,1]
U18:%x[1,0]/%x[2,0]
U19:%x[-1,1]/%x[1,0]
U20:%x[0,1]/%x[1,0]
U21:%x[-2,1]/%x[-1,1]
U22:%x[0,1]/%x[-2,1]
U23:%x[-1,1]/%x[0,1]
U24:%x[-1,1]/%x[1,1]
U25:%x[0,1]/%x[1,1]
U26:%x[0,1]/%x[2,1]
U27:%x[1,1]/%x[2,1]
U28:%x[-1,2]
U29:%x[-2,2]
U30:%x[-1,2]/%x[-2,2]
U31:%x[0,1]/%x[-1,2]
U32:%x[0,1]/%x[-2,2]
U33:%x[0,1]/%x[1,2]
U34:%x[0,0]/%x[-1,2]
U35:%x[0,0]/%x[-2,2]
U36:%x[0,0]/%x[1,2]
U37:%x[0,1]/%x[-1,2]/%x[-2,2]
U38:%x[-1,2]/%x[0,1]/%x[1,1]
U39:%x[-1,2]/%x[-1,1]/%x[0,1]
U40:%x[-1,2]/%x[0,1]/%x[0,0]
U41:%x[-2,2]/%x[-1,2]/%x[0,1]
U42:%x[-2,3]/%x[-1,3]/%x[1,3]%x[2,3]
U43:%x[-2,4]/%x[-1,4]/%x[1,4]%x[2,4]
U44:%x[-2,5]/%x[-1,5]/%x[1,5]%x[2,5] # Bigram
B

参考文献https://www.cnblogs.com/lookfor404/p/9189429.html

参考文献https://www.jianshu.com/p/235d3aaf0929(该文是上述参考文献的第二篇,里面详细介绍了通过构建命名实体的指示代词来提高模型的学习效果)

参考文献:https://www.zybuluo.com/lianjizhe/note/1205311(该文是上述参考文献的第三篇,里面又新加了常用词特征,效果不错)

参考文献https://www.jianshu.com/p/495c23aa5560 (BiLSTM+CRF)

参考文献https://www.jianshu.com/p/34a5c6b9bb3e (中文命名实体识别全总结,包括BiLSTM+CRF)

命名实体识别(NER)的更多相关文章

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

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

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

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

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

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

  4. 【NLP学习其一】什么是命名实体识别NER?

    命名实体识别 概念 命名实体识别(Named Entity Recognition,简称NER) , 是指识别文本中具有特定意义的词(实体),主要包括人名.地名.机构名.专有名词等等,并把我们需要识别 ...

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

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

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

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

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

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

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

    命名实体识别(Named Entity Recognition,NER)就是从一段自然语言文本中找出相关实体,并标注出其位置以及类型,如下图.它是NLP领域中一些复杂任务(例如关系抽取,信息检索等)的 ...

  9. 2. 知识图谱-命名实体识别(NER)详解

    1. 通俗易懂解释知识图谱(Knowledge Graph) 2. 知识图谱-命名实体识别(NER)详解 3. 哈工大LTP解析 1. 前言 在解了知识图谱的全貌之后,我们现在慢慢的开始深入的学习知识 ...

随机推荐

  1. Java开发中的23种设计模式详解(转载)

    前学习过一段时间的设计模式,总是感觉学习的不够清楚.现在再重新复习一下,原文地址:https://blog.csdn.net/doymm2008/article/details/13288067 一. ...

  2. 子类的实例给父类的引用 在编译器时候 jvm认为他是父类的实例 只会去寻找父类里面的方法 如果调用子类里面的属性或者方法时候 jvm会认为该引用并没有 所以会报错

  3. MySQL复制 -- binlog(2)

    MySQL复制是使用最为广泛的一套组建,上一节已经简单说了一下复制的一些用途和复制的原理,知道了这些我们能够快速的搭建起复制的平台,但是仅知道这些还是不够的,很多时候并不是一帆风顺的,总会有那么一小段 ...

  4. 通过域名访问部署在服务器上的javaweb项目

    因为对域名访问什么也不了解,遇到问题就有种不知道从哪里下手的茫然,也就更不知道错在哪里,前前后后一共折腾了一天多,最后问了阿里客服才成功弄出来,因此记录一下. 关于服务器的购买.配置,及域名的备案解析 ...

  5. vue element 新增、编辑类Dialog公用函数

    调用 <el-button type="primary" class="my-button" size="small" :loadin ...

  6. P2236 [HNOI2002]彩票

    题目描述 某地发行一套彩票.彩票上写有1到M这M个自然数.彩民可以在这M个数中任意选取N个不同的数打圈.每个彩民只能买一张彩票,不同的彩民的彩票上的选择不同. 每次抽奖将抽出两个自然数X和Y.如果某人 ...

  7. 洛谷 P4279 [SHOI2008]小约翰的游戏 解题报告

    P4279 [SHOI2008]小约翰的游戏 题目描述 小约翰经常和他的哥哥玩一个非常有趣的游戏:桌子上有\(n\)堆石子,小约翰和他的哥哥轮流取石子,每个人取的时候,可以随意选择一堆石子,在这堆石子 ...

  8. ip netns

    虚拟化网络都是基于netns实现,不管是昨日的openstack,还是今日的docker. ip netns ip-netns - process network namespace manageme ...

  9. 单点登录(十一)-----遇到问题-----cas启用mongodb验证方式报错--Unable to locate Spring NamespaceHandler for XML schema na

    cas启用mongodb验证方式报错--Unable to locate Spring NamespaceHandler for XML schema namespace [http://www.sp ...

  10. go语言切片作为函数参数的研究

    slice作为函数参数是值传递 golang中的切片slice底层通过数组实现,slice类似一个结构体,其中一个字段保存的是底层数组的地址,还有长度(len) 和 容量(cap)两个字段. 结构体作 ...