每天给你送来NLP技术干货!


来自:AI算法小喵

作者:小喵

写在前面

NER(命名实体识别)通常可以分为nested NER(嵌套命名实体识别)及flat NER(非嵌套命名实体识别)。在flat NER上常用的序列标注模型通常不适用于nested NER,为了将两个任务用一套统一框架处理,BERT-MRCMRC(机器阅读理解)角度建模实体识别任务。

简单地说,BERT-MRC将实体类别相关的先验信息(比如实体类别描述)构建为一个问句,并将问句与文本内容一起输入模型,然后从文本内容中抽取问句的答案,也就是实体在文本中的位置(answer span)。本文将对BERT-MRC做一个简要的介绍。

论文名称:《 A Unified MRC Framework for Named Entity Recognition》

论文链接:https://arxiv.org/abs/1910.11476

代码地址:https://github.com/ShannonAI/ mrc-for-flat-nested-ner

1. 背景

1.1 nested NER vs flat NER

NER旨在识别出输入文本内容中的实体文本及其所对应的实体类型,根据实体之间是否可能嵌套,NER进一步可分为nested NERflat NER

上图是论文中给出的例子,既有嵌套实体又有非嵌套实体。这里,我们再给一些不同领域的中文文本的例子来让大家对嵌套有一个直观的印象。

下图左侧是允许嵌套的实体标注结果,右侧是不允许嵌套的实体标注结果(以就长不就短为标注原则)。

显然,嵌套实体指的就是识别的实体中可能会存在嵌套的情况。比如明显鼻扇是一种临床表现,而其中的又是一个身体部位;叶圣陶散文集是一部作品,而其中的叶圣陶则是一名作者;北京是一个地点,而北京大学是一个组织机构。

1.2 序列标注模型与flat NER

flat NER通常被当作序列标注任务处理,常见的经典模型有:BERT+CRFBERT+SoftmaxBERT+BiLSTM+CRF等。以BERT+CRF为例,序列标注模型会给文本中的每个token(字)打上一个标签,以表示这个token所属的实体类别。

上图所示例子采用的标签体系是BIOES

  • B,即Begin,表示开始;

  • I,即Intermediate,表示中间;

  • E,即End,表示结尾;

  • S,即Single,表示单个字符;

  • O,即Other,表示其他,用于标记无关字符。

因此最终BERT+CRF实体识别模型预测出小明就读于北京大学一句中存在两个实体:人物实体小明、组织机构实体北京大学。可以看出,本质上这类抽取的方式其实是从token级别多分类角度建模实体识别任务的。

1.3 序列标注模型与nested NER

显然1.2节中的BERT+CRF是不适用于nested NER(即存在嵌套实体的实体识别任务)。因为序列标注模型通常只给一个token打一个标签,但是在nested NER中某些token可能同时拥有两个不同的类型实体标签。

比如在北京大学 中  应该分别具有B-LOCB-ORG两个标签;同理北京大学中的  也应该分别拥有E-LOCI-ORG两个标签。

其实,个人认为BERT+CRF也不是完全就不适用于nested NER场景了。如上图,有一个比较直观的做法可以使BERT+CRF支持实体嵌套的情况,那就是利用多层CRF,其中每一层CRF的输入均为经过BERT之后的向量,每一层CRF负责一类实体的预测。但是,其实这无形中增加了模型的参数量。

接下来,我们抛开序列标注类实体抽取解决方案,来看一个新的实体识别框架BERT-MRC,它可以同时应用于nested NERflat NER

2. 核心思想

2.1 问答式建模

前面,我们提过BERT-MRC是从MRC问答式机器阅读理解)角度来建模实体抽取任务的。而MRC通常被拆解为两个多分类任务,这两个多分类任务分别负责答案的起点和止点位置预测answer span Extraction)。

换句话说,BERT-MRC在抽取每类实体时,首先都会基于实体类别建立自然语言问句,然后在给定的上下文文本中抽取这个问句的答案片段,也就是相应实体类别下的各个实体文本片段的起点和止点位置。最后,我们采用一定的头尾匹配策略(如就近匹配)就可以获得实体预测结果。既然对每类实体的抽取是独立进行的,自然可以解决不同类别实体嵌套问题。

2.2 头尾匹配层

MRC+就近匹配只能解决不同类实体的嵌套问题,而针对同类实体的嵌套问题,BERT-MRC引入了一个二分类层计算头尾配对概率来解决。

2.3 先验知识的引入

还有一点,BERT-MRC还指出问句引入了实体类别的信息,显式地告诉模型所要抽取的是什么类的实体。

此外,问句中所包含的更全面更细粒度的描述信息则可能提供了区分性信息,帮助实体抽取模型去区分相近的实体类别。比如GPE(按照国家、城市、州县划分的地理区域)与LOC(山脉、河流自然景观的地点)。其实这样的话,北京的标签应该是GPE

个人认为这一点可以这么理解:在以往的序列标注模型中,实体类别其实就是一个无语义one-hot标签;模型之所以能够抽取出这个类别下的那些实体,是因为抓住了它们的相似点,但实际上模型并不知道它们是因为什么相似的。现在我们可以通过问句显式地直接地告诉模型。

问句1:找出文本中的地理区域类地点,包括国家、城市、州县等;
问句2:找出文本中的自然景观类地点,包括山脉、河流等;
问句3:找出文本中的组织机构,包括公司、机构等;

3. 模型细节

给定实体类别标签下的问句和上下文,BERT-MRC需要从中抽取实体类别为的所有文本片段。

3.1 编码层(Model backbone)

BERT-MRC使用BERT作为编码层,所以整体模型的输入是问句与上下文的拼接结果:

其中

402 Payment Required

经过编码层后,BERT-MRC只取上下文部分的表征进行后续的运算,也就是说。

3.2 起止点预测 (start end prediction)

前面已经提过,BERT-MRC抽取实体本质上就是识别相应实体类别下的各个实体文本片段的起点和止点位置

因为在一个实体类别下文本中可能有多个实体片段,所以需要定位多个起止点。因此BERT-MRC选择设置两个二分类器,分别对每一个token进行起点和止点的判断,以获得每个token作为起点、止点的概率:

402 Payment Required

其中概率大于设定阈值的即为候选首尾点(每个节点的均为2维向量,2个维度分别代表不是起点是起点的概率。同理):

3.3 起止点匹配(start end matching)

获得候选起点和止点后需要进行起止点配对以获取实体片段(span)。如果只有不同类别的实体嵌套,那么选用就近匹配策略就可以很自然地解决,可是实际上同类别实体也可能嵌套(原文用overlap重叠)。

换句话说,MRC+最近匹配策略是无法解决的同类别实体嵌套问题的,所以我们需要换一个头尾匹配策略。

BERT+MRC选择在以候选起止点的表征拼接结果作为特征,用一个全连接层+sigmoid进行判定来确定起点、止点是否为一个span的头尾点

402 Payment Required

3.4 损失函数

注:CE代表交叉熵损失函数

、、

如上式,BERT-MRC模型的损失函数由三部分组成,其中、、是各个损失的权重。

假设真实结果中每个token是否为起点或止点由、分别表征,那么、就分别代表起点和止点的预测损失:

402 Payment Required

假设、表征真实结果中每个token是否和另一个token分别作为一个span的起点和止点。

4. 实验结果

4.1 评价指标

span-level micro-averaged precision、recall、f1,即在实体层面计算。假设第类实体预测正确的总个数为,预测错误的总个数为,实际为该类实体却未被预测到的总个数为,那么有:

为:

402 Payment Required

4.2 实验结果

在这里,我们比较关心的是在中文数据上的效果。在BERT-MRC所做实验中,仅两个数据为中文数据:MSRAOntoNotes 4.0,并且它们都属于flat ner。从实验结果来看,BERT-MRC超越了其他baseline

总结

好了,关于BERT-MRC的内容就到这里了。如果本文对你有所帮助,记得点赞+在看,也可以分享给你需要的朋友~~。

最近文章

EMNLP 2022 和 COLING 2022,投哪个会议比较好?

一种全新易用的基于Word-Word关系的NER统一模型

阿里+北大 | 在梯度上做简单mask竟有如此的神奇效果

ACL'22 | 快手+中科院提出一种数据增强方法:Text Smoothing

实体识别BERT-MRC论文阅读笔记相关推荐

  1. [论文阅读笔记52]深度学习实体关系抽取研究综述

    来源:软件学报 2019 1.摘要: 围绕有监督和远程监督两个领域,系统总结了近几年来中外学者基于深度学习的实体关系 抽取研究进展,并对未来可能的研究方向进行了探讨和展望. 2.经典的实体关系抽取方法 ...

  2. 论文阅读笔记(五)——狐猴识别系统:一种便于狐猴个体识别的面部识别系统

    论文阅读笔记(五)--狐猴识别系统:一种便于狐猴个体识别的面部识别系统 论文简介 论文中文翻译:狐猴识别系统:一种便于狐猴个体识别的面部识别系统 论文名称:<LemurFaceID: a fac ...

  3. 论文阅读笔记(二)——牛的人脸识别,能做到吗?

    论文阅读笔记(二)--牛的人脸识别,能做到吗? 论文简介 论文中文翻译:<牛的人脸识别,能做到吗?> 论文名称:<Face Recognition of Cattle: Can it ...

  4. 语音情感识别领域-论文阅读笔记1:融合语音和文字的句段级别情感识别技术

    语音情感识别领域-论文阅读笔记1 Fusion Techniques for Utterance-Level Emotion Recognition Combining Speech and Tran ...

  5. Recognition Emotion Cause in Conversations 论文阅读笔记

    Recognition Emotion Cause in Conversations 论文阅读笔记 1.第一遍阅读 1.1 标题 Recognition Emotion Cause in Conver ...

  6. [论文阅读笔记53]2021深度神经方法的关系三元组抽取综述

    1. 题目 Deep Neural Approaches to Relation Triplets Extraction: A Comprehensive Survey Tapas Nayak†, N ...

  7. [论文阅读笔记15]Recognizing Complex Entity Mentions:A Review and Future Directions

    一,题目 Recognizing Complex Entity Mentions:A Review and Future Directions 识别复杂实体mentions:回顾与未来方向 Dai X ...

  8. [论文阅读笔记36]CASREL代码运行记录

    <[论文阅读笔记33]CASREL:基于标注与bert的实体与关系抽取>https://blog.csdn.net/ld326/article/details/116465089 总的来说 ...

  9. 论文阅读笔记:MGAT: Multi-view Graph Attention Networks

    论文阅读笔记:MGAT: Multi-view Graph Attention Networks 文章目录 论文阅读笔记:MGAT: Multi-view Graph Attention Networ ...

  10. 2019 sample-free(样本不平衡)目标检测论文阅读笔记

    点击我爱计算机视觉标星,更快获取CVML新技术 本文转载自知乎,已获作者同意转载,请勿二次转载 (原文地址:https://zhuanlan.zhihu.com/p/100052168) 背景 < ...

最新文章

  1. ASP.NET页面错误处理
  2. python2.7解释器安装教程_Python解释器安装教程以及环境变量配置
  3. 七、Linux 常用 Shell 命令,控制台的快捷键以及 Shell 编程(上)
  4. node包管理器npm常用命令
  5. Mac :谷歌浏览器 NET::ERR_CERT_INVALID 此证书已被撤消。网络错误和攻击行为通常是暂时的,因此,此网页稍后可能会恢复正常
  6. java输出输入的日期_Java编写的日历,输入年月,输出这个月的日期与星期
  7. 基于 Keras 用深度学习预测时间序列
  8. PHP 接口中echo die和return的区别
  9. 用startup启动tomcat并测试访问资源
  10. 适合初学者 :用Google map street view api 实现批量下载谷歌地图街景 in python
  11. 目前我国每小时就有1名电动自行车骑行者死于交通事故
  12. 投资理财--动态市盈率静态市盈率 整理
  13. Widows Virtual PC 修改bios安装OEM xp
  14. 怪诞行为学(Predictably Irrational)
  15. Bounds用法参考
  16. 学习笔记——IPSec
  17. 大众点评 爬虫抓取 数字文字解密
  18. CUDA--延迟隐藏
  19. [iOS]Win8下iTunes无法连接iPhone版本的解决方法
  20. 最熟悉的路,莫过于归途

热门文章

  1. S5PV210-uboot解析(三)-start_armboot解析
  2. 下落的树叶(UVa699紫书p159)
  3. 在个人网站里搭建了自己的随机图片接口~
  4. 冠词 article
  5. Android 10 Firewall blacklist 设置范例
  6. 决胜经典算法之冒泡排序
  7. matlab示波器怎么求值,matlab示波器用法
  8. 826. Most Profit Assigning Work
  9. 若要赞美晴天请等到黄昏之后
  10. 利用hexo和github搭建静态博客(一)