【NLP-NER】命名实体识别中最常用的两种深度学习模型

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

上一期我们介绍了NER的基本概念,大致介绍了NER常用的模型。本期我们详细介绍目前NER最常用的两种深度学习模型,LSTM+CRF和Dilated-CNN。

作者&编辑 | 小Dream哥

1 LSTM+CRF

在NLP领域,有那么一段时间,LSTM是“最红”的特征抽取器,自然,NER中也开始引入LSTM来进行特征抽取。

LSTM我就不再做过多的介绍,其原理在我的一篇文章中有详细的介绍,读者可以点击如下的链接回顾:

【NLP】 NLP中应用最广泛的特征抽取模型-LSTM

如上图所示,是用双向LSTM+CRF进行命名实体识别的模型结构图。

我们来好好分析一下这个模型,看数据的流转和各层的作用。

1.embedding layer 将中文转化为字向量,获得输入embedding

2.将embedding输入到BiLSTM层,进行特征提取(编码),得到序列的特征表征,logits。

3.logits需要解码,得到标注序列。将其输入到解码CRF层,获得每个字的序列。

总结一下,该模型的重点其实有两个:

1. 引入双向LSTM层作为特征提取工具,LSTM拥有较强的长序列特征提取能力,是个不错的选择。双向LSTM,在提取某个时刻特征时,能够利用该时刻之后的序列的信息,无疑能够提高模型的特征提取能力。

2. 引入CRF作为解码工具。中文输入经过双向LSTM层的编码之后,需要能够利用编码到的丰富的信息,将其转化成NER标注序列。通过观察序列,预测隐藏状态序列,CRF无疑是首选。

2 ID-CNN+CRF

膨胀卷积可能有很多朋友还不是很熟悉,这里先做一个简单的介绍。

Dilated/Atrous Convolution(中文叫做空洞卷积或者膨胀卷积))或者是Convolution with holes。从字面上就很好理解,就是在标准的卷积里注入空洞,以此来增加感受野

Convolution  with 3*3 kernel

Dilated Convolution  with 3*3 kernel

如上图所示,相比原来的正常卷积,膨胀卷积多了一个超参数,称之为膨胀率(dilation rate),指的是kernel的间隔数量(例如,正常的卷积是膨胀率是1)。

“膨胀”的好处是,不做池化,不损失信息的情况下,增大了感受野,让每个卷积输出都包含较大范围的信息。

《Fast and Accurate Entity Recognition with Iterated Dilated Convolutions》一文中提出在NER任务中,引入膨胀卷积,一方面可以引入CNN并行计算的优势,提高训练和预测时的速度;另一方面,可以减轻CNN在长序列输入上特征提取能力弱的劣势。

具体使用时,dilated width会随着层数的增加而指数增加。这样随着层数的增加,参数数量是线性增加的,而感受野却是指数增加的,这样就可以很快覆盖到全部的输入数据。

如上图所示,模型是4个大的相同结构的Dilated CNN block拼在一起,每个block里面是dilation width为1, 1, 2的三层Dilated卷积层,所以叫做 Iterated Dilated CNN。

IDCNN对输入句子的每一个字生成一个logits,这里就和BiLSTM模型输出logits之后完全一样,再放入CRF Layer解码出标注结果。

总结

LSTM+CRF和ID-CNN+CRF两种模型其实都是同一个架构:深度学习特征提取+CRF解码。现在绝大部分的NER任务都是采用这样的一套框架。本文详细的介绍了上述两种方法的模型结构和本质,具体的实现和代码,包括数据预处理,模型搭建,训练,部署等在我们的知识星球里都有详细的介绍,感兴趣的同学可以扫描下面的二维码加入。

(0)

相关推荐

  • ACL 2021 | 结构化知识蒸馏方法

    本文介绍了上海科技大学屠可伟课题组与阿里巴巴达摩院的一项合作研究,提出了在结构预测问题上一种较为通用的结构化知识蒸馏方法.该论文已被 ACL 2021 接受为长文.   论文标题: Structura ...

  • 动态词向量在序列标注任务中的应用与实践

    摘要:动态词向量会根据上下文动态的进行变化,相比于传统的 Word2Vec 等静态词向量,能更好的处理 NLP 任务中的 "一词多义" 的现象.本文介绍了动态词向量在序列标注任务上 ...

  • 【深度学习篇】阿里云天池机器学习赛题解析

    以下为本书简介: 人工智能在近几年多次的大型医疗健康事件中的作用突显,以阿里巴巴为例,在新冠肺炎疫情期间,阿里巴巴第一时间利用技术投入抗疫进程中,如大家熟知的"出行健康码"以及智能 ...

  • 赛尔原创 | N-LTP:基于预训练模型的中文自然语言处理平台

    论文名称:N-LTP: A Open-source Neural Chinese Language Technology Platform with Pretrained Models 论文作者:车万 ...

  • 任务方案思考:序列标注(NER)篇

    0 小系列初衷 计划篇章: (已完成)文本分类篇.针对NLP文本分类任务. 序列标注(NER)篇.针对命名实体识别.序列标注任务. 文本匹配篇.针对语义相似度计算.向量匹配等问题. 人工特征学习篇.针 ...

  • 中文NER碎碎念—聊聊词汇增强与实体嵌套

    来自:丁香园大数据 前言 得益于BERT的加持,Encoder搭配CRF的结构在中文NER上通常都有不错的表现,而且BERT使用方便,可以迅速微调上线特定服务:在好的基准条件下,我们也能把精力放在更细 ...

  • 浅析深度学习在实体识别和关系抽取中的应用

    选择"星标"公众号 重磅干货,第一时间送达! 命名实体识别 命名实体识别(Named Entity Recognition,NER)就是从一段自然语言文本中找出相关实体,并标注出其 ...

  • TF之RNN:TF的RNN中的常用的两种定义scope的方式get_variable和Variable

    TF之RNN:TF的RNN中的常用的两种定义scope的方式get_variable和Variable 输出结果 代码设计 # tensorflow中的两种定义scope(命名变量)的方式tf.get ...

  • 【每周NLP论文推荐】 NLP中命名实体识别从机器学习到深度学习的代表性研究

    NER是自然语言处理中相对比较基础的任务,但却是非常重要的任务.在NLP中,大部分的任务都需要NER的能力,例如,聊天机器人中,需要NER来提取实体完成对用户输入的理解:在信息提取任务中,需要提取相应 ...

  • 搜索中的命名实体识别

    最近在做的工作主要是在命名实体识别上,那么在搜索场景,命名实体识别是一个什么样的存在,又是怎么实施落地的,今天来给大家具体讲讲.(额,又是一篇搜索和NLP交叉的文章,由于更偏向NLP的通式通法,所以我 ...

  • 【NLP实战系列】Tensorflow命名实体识别实战

    实战是学习一门技术最好的方式,也是深入了解一门技术唯一的方式.因此,NLP专栏计划推出一个实战专栏,让有兴趣的同学在看文章之余也可以自己动手试一试. 本篇介绍自然语言处理中一种非常重要的任务:命名实体 ...

  • 【NLP-NER】如何使用BERT来做命名实体识别

    命名实体识别(Named Entity Recognition,NER)是NLP中一项非常基础的任务.NER是信息提取.问答系统.句法分析.机器翻译等众多NLP任务的重要基础工具. 上一期我们详细介绍 ...

  • 【NLP-NER】什么是命名实体识别?

    命名实体识别(Named Entity Recognition,NER)是NLP中一项非常基础的任务.NER是信息提取.问答系统.句法分析.机器翻译等众多NLP任务的重要基础工具. 命名实体识别的准确 ...

  • 【学术论文】一种面向微博文本的命名实体识别方法

    命名实体识别(Named Entity Recognition)是指识别文本中的各种实体,如人名.地名.机构名或其他特有标识[1],是自然语言处理(Natural Language Processin ...

  • 省中医经常用的11种中成药,为家人收藏起...

    省中医经常用的11种中成药,为家人收藏起来,早晚用得上! 1. 房颤心跳快体力疲乏--"守护神"--(仙茸护肾胶囊) 药理:温肾健脾.适用于腰膝酸软,畏寒肢冷,神疲乏力,自汗气短, ...

  • 风光摄影中最常用的7种构图手法

    摄影有时候就像下一盘棋,你可以把相机取景框想象成一块棋盘,而你要拍摄的对象们就是你的棋子,想想你要怎么布局它们.经营它们?赢得这局棋,这局棋没有人和你对弈,你要战胜的是过去的自己,让你的下一张照片更出 ...