跟我读论文丨ACL2021 NER 模块化交互网络用于命名实体识别
摘要:本文是对ACL2021 NER 模块化交互网络用于命名实体识别这一论文工作进行初步解读。
本文分享自华为云社区《ACL2021 NER | 模块化交互网络用于命名实体识别》,作者: JuTzungKuei 。
论文: Li Fei, Wang Zheng, Hui Siu Cheung, Liao Lejian, Song Dandan, Xu Jing, He Guoxiu, Jia Meihuizi. Modularized Interaction Network for Named Entity Recognition [A]. Proceedings of the 59th Annual Meeting of the Association for Computational Linguistics and the 11th International Joint Conference on Natural Language Processing (Volume 1: Long Papers) [C]. Online: Association for Computational Linguistics, 2021, 200–209.
链接:https://aclanthology.org/2021.acl-long.17.pdf
代码:无

0、摘要
- 现有NER模型缺点
- 基于序列标注的NER模型:长实体识别不佳,只关注词级信息
- 基于分段的NER模型:处理分段,而非单个词,不能捕获分段中的词级依赖关系
- 边界检测和类型预测可以相互配合,两个子任务可共享信息,相互加强
- 提出模块化交互网络模型MIN(Modularized Interaction Network)
- 同时利用段级信息和词级依赖关系
- 结合一种交互机制,支持边界检测和类型预测之间的信息共享
- 三份基准数据集上达到SOTA
1、介绍
- NER:查找和分类命名实体,person (PER), location
(LOC) or organization (ORG),下游任务:关系抽取、实体链接、问题生成、共引解析 - 两类方法
- 序列标注 sequence labeling:可捕获词级依赖关系
- 分段 segment(a span of words):可处理长实体
- NER:检测实体边界和命名实体的类型,
- 分成两个子任务:边界检测、类型预测
- 两个任务之间是相关的,可以共享信息
- 举栗:xx来自纽约大学
- 如果知道大学是实体边界,更可能会预测类型是ORG
- 如果知道实体有个ORG类型,更可能会预测到“大学”边界
- 上述两个常用方法没有在子任务之间共享信息
- 序列标注:只把边界和类型当做标签
- 分段:先检测片段,再划分类型
- 本文提出MIN模型:NER模块、边界模块、类型模块、交互机制
- 指针网络作为边界模块的解码器,捕捉每个词的段级信息
- 段级信息和词级信息结合输入到序列标注模型
- 将NER划分成两个任务:边界检测、类型预测,并使用不同的编码器
- 提出一个相互加强的交互机制,所有信息融合到NER模块
- 三个模块共享单词表示,采用多任务训练
- 主要贡献:
- 新模型:MIN,同时利用段级信息和词级依赖
- 边界检测和类型预测分成两个子任务,结合交互机制,使两个子任务信息共享
- 三份基准数据集达到SOTA
2、方法

- NER模块:RNN-BiLSTM-CRF,引用Neural architectures for named entity recognition
- 词表示:word(BERT) + char(BiLSTM)
- BiLSTM编码:双向LSTM,交互机制代替直接级联,门控函数动态控制

最终NER输出:H^{NER}=W^T[H;H^B;H^T;H^S] + bHNER=WT[H;HB;HT;HS]+b
H^{Bdy}HBdy表示边界模块输出,H^{Type}HType表示类型模块输出,H^{Seg}HSeg表示分段信息
- CRF解码:转移概率 + 发射概率
- 边界模块:双向LSTM编码H^{Bdy}HBdy,单向LSTM解码
- 解码:
s_j=h_{j-1}^{Bdy}+h_{j}^{Bdy}+h_{j+1}^{Bdy}sj=hj−1Bdy+hjBdy+hj+1Bdy
d_j=LSTM(s_j, d_{j-1})dj=LSTM(sj,dj−1) - Biaffine Attention机制:


- 类型模块:BiLSTM + CRF
- 交互机制:
- self attention 得到标签增强的边界H^{B-E}HB−E,类型H^{T-E}HT−E
- Biaffine Attention 计算得分 \alpha^{B-E}αB−E
- 交互后的边界:r_i^{B-E}=\sum_{j=1}^{n}\alpha_{i,j}^{B-E}h_j^{T-E}riB−E=∑j=1nαi,jB−EhjT−E
- 更新后的边界:\overline{h}_i^{Bdy}=[h_i^{B-E},r_i^{B-E}]hiBdy=[hiB−E,riB−E]
- 更新后的类型:\overline{h}_i^{Type}=[h_i^{T-E},r_i^{T-E}]hiType=[hiT−E,riT−E]
- 联合训练:多任务
- 每个任务的损失函数

- 最终损失函数:\mathcal{L}=\mathcal{L}^{NER}+\mathcal{L}^{Type}+\mathcal{L}^{Bdy}L=LNER+LType+LBdy
3、结果
- Baseline (sequence labeling-based)
- CNN-BiLSTM-CRF
- RNN-BiLSTM-CRF
- ELMo-BiLSTM-CRF
- Flair (char-BiLSTM-CRF)
- BERT-BiLSTM-CRF
- HCRA (CNN-BiLSTM-CRF)
- Baseline (segment-based)
- BiLSTM-Pointer
- HSCRF
- MRC+BERT
- Biaffine+BERT

号外号外:想了解更多的AI技术干货,欢迎上华为云的AI专区,目前有AI编程Python等六大实战营供大家免费学习。
跟我读论文丨ACL2021 NER 模块化交互网络用于命名实体识别的更多相关文章
- 神经网络结构在命名实体识别(NER)中的应用
神经网络结构在命名实体识别(NER)中的应用 近年来,基于神经网络的深度学习方法在自然语言处理领域已经取得了不少进展.作为NLP领域的基础任务-命名实体识别(Named Entity Recognit ...
- 【NER】对命名实体识别(槽位填充)的一些认识
命名实体识别 1. 问题定义 广义的命名实体识别是指识别出待处理文本中三大类(实体类.时间类和数字类).七小类(人名.机构名.地名.日期.货币和百分比)命名实体.但实际应用中不只是识别上述所说的实体类 ...
- 【NLP学习其一】什么是命名实体识别NER?
命名实体识别 概念 命名实体识别(Named Entity Recognition,简称NER) , 是指识别文本中具有特定意义的词(实体),主要包括人名.地名.机构名.专有名词等等,并把我们需要识别 ...
- NLP入门(五)用深度学习实现命名实体识别(NER)
前言 在文章:NLP入门(四)命名实体识别(NER)中,笔者介绍了两个实现命名实体识别的工具--NLTK和Stanford NLP.在本文中,我们将会学习到如何使用深度学习工具来自己一步步地实现N ...
- NLP入门(四)命名实体识别(NER)
本文将会简单介绍自然语言处理(NLP)中的命名实体识别(NER). 命名实体识别(Named Entity Recognition,简称NER)是信息提取.问答系统.句法分析.机器翻译等应用领 ...
- 【神经网络】神经网络结构在命名实体识别(NER)中的应用
命名实体识别(Named Entity Recognition,NER)就是从一段自然语言文本中找出相关实体,并标注出其位置以及类型,如下图.它是NLP领域中一些复杂任务(例如关系抽取,信息检索等)的 ...
- 2. 知识图谱-命名实体识别(NER)详解
1. 通俗易懂解释知识图谱(Knowledge Graph) 2. 知识图谱-命名实体识别(NER)详解 3. 哈工大LTP解析 1. 前言 在解了知识图谱的全貌之后,我们现在慢慢的开始深入的学习知识 ...
- 命名实体识别(NER)
一.任务 Named Entity Recognition,简称NER.主要用于提取时间.地点.人物.组织机构名. 二.应用 知识图谱.情感分析.机器翻译.对话问答系统都有应用.比如,需要利用命名实体 ...
- NLP入门(八)使用CRF++实现命名实体识别(NER)
CRF与NER简介 CRF,英文全称为conditional random field, 中文名为条件随机场,是给定一组输入随机变量条件下另一组输出随机变量的条件概率分布模型,其特点是假设输出随机 ...
- 『深度应用』NLP命名实体识别(NER)开源实战教程
近几年来,基于神经网络的深度学习方法在计算机视觉.语音识别等领域取得了巨大成功,另外在自然语言处理领域也取得了不少进展.在NLP的关键性基础任务—命名实体识别(Named Entity Recogni ...
随机推荐
- 解决使用mitmprox抓包可以访问网页,但是使用python request 调用该网站接口报错问题
可能有几种原因导致这种情况.以下是一些常见的问题和可能的解决方法: 证书验证问题: 当你使用mitmproxy抓包时,它通常会生成自签名的SSL证书,以便进行中间人攻击检查.但在Python中使用re ...
- `.NET Web`新人入门必学项目`EarthChat`
.NET Web新人入门必学项目EarthChat EarthChat是一个基于.NET 7的实战项目,EarthChat提供了很多的最佳实践,EarthChat的目标也是成为一个很多人都喜欢的大型聊 ...
- c#中适配器模式详解
基础介绍: 想象这样一个场景,原项目中接口返回的数据是XML格式的数据,但现在来了一个新客户,它期望接口返回的数据类型为json格式的. 想要实现要么就是改原有接口,但这样就违反了开闭原则,容 ...
- jenkins实践篇(2)—— 自动打tag的可回滚发布模式
大家好,我是蓝胖子,在上一篇我简单介绍了如何基于特定分支做自动编译和发布,在生产环境中,为了更加安全和快速回滚,我采取的是通过对代码打tag的方式来进行部署,下面我将详细介绍整个发布过程的逻辑. 发布 ...
- AtCoder Beginner Contest 326 (ABC326)
A. 2UP3DOWN 直接模拟即可. Code B. 326-like Numbers 枚举,每次拆除百.十.个位,再判断. Code C. Peak Description 数字线上放置了 \(N ...
- DM数据库 回表优化案例
京华开发一哥们找我优化条SQL,反馈在DM数据库执行时间很慢需要 40s 才能出结果,安排. 原SQL: SELECT A.IND_CODE, A.IND_NAME AS "specialN ...
- 《最新出炉》系列初窥篇-Python+Playwright自动化测试-30-处理日历时间控件-下篇
1.简介 理想很丰满现实很骨感,在应用playwright实现web自动化时,经常会遇到处理日期控件点击问题,手工很简单,可以一个个点击日期控件选择需要的日期,但自动化执行过程中,完全复制手工这样的操 ...
- python计算代码运行时间
记录一下自己用python编写计算运行时间的代码 时间类 import time import numpy as np # 编写时间类来方便操作 class Timer: def __init__(s ...
- Codeforces Round 878 (Div. 3)
Codeforces Round 878 (Div. 3) A:ABC A. Cipher Shifer 题意:在自身后面添加一个字母,但是不能添加自身 思路:找到第二个与自身相符的就再找 #incl ...
- 教育管理工具类 APP 在智慧校园中的应用探究?
智慧校园是指利用信息化技术,将学校的管理.教育教学等方面进行整合和优化,实现校园运行的智能化和高效化. 在智慧校园建设中,教育管理工具类APP发挥着重要的作用.本文将详细探究教育管理工具类APP在智慧 ...