《Parallel Instance Query Network for Named Entity Recognition》论文阅读
来源:ACL 2022
论文认为存在的问题:
当前的NER任务被转换为MRC任务,但是存在以下问题:
- 每次一个问题只能抽取到一种类型的实体,效率不够高
- 不同实体之间抽取是分割,没有考虑到实体之间的依赖性
- 问题构造依赖于外部知识库,当存在上百个实体,MRC模式很难应用于
因此,提出了PIQN(Parallel Instance Query Network)模型,设定全局和可学习的实例查询语句,同时可并行从句子抽取各类实体。
方法对比:
这里的 Instance Query 并不是真实的句子文本,而是query id映射的embedding ,
如:[[0, 1,2,3,4,5,…],[0,1,2,3,4,5,…]]
但是query是隐性的,如何将query与entity对应起来,作者提出了把标签分配问题看作:
one-to-many Linear Assignment Problem (LAP)
代表一个entity可以匹配到多个query
LAP:
先了解一下分配任务:
分配问题也称指派问题,是一种特殊的整数规划问题,分配问题的要求一般是这样的:
n个人分配n项任务,一个人只能分配一项任务,一项任务只能分配给一个人,将一项任务分配给一个人是需要支付报酬,如何分配任务,保证支付的报酬总数最小。
简单的说:就是n*n矩阵中,选取n个元素,每行每列各有一个元素,使得和最小。
主要解决方法为:匈牙利算法
其实,分配问题也可以看作二分图求最大匹配,work与job进行分配
最大匹配 给定一个二分图G,在G的一个子图M中,M的边集中的任意两条边都不依附于同一个顶点,则称M是一个匹配.
选择这样的边数最大的子集称为图的最大匹配问题(maximal matching problem)
如果一个匹配中,图中的每个顶点都和图中某条边相关联,则称此匹配为完全匹配,也称作完备匹配。 求二分图最大匹配可以用最大流或者匈牙利算法。
scipy.optimize.linear_sum_assignment
线性分配问题也叫做二分图中的最小权重匹配,存在一个matrix C,C[i,j]代表着work与job的匹配的成本,目标是找到work与job匹配的最小代价。
定义了一个bool矩阵,X[i,j]=1 代表第i行分配给j列。X是方阵,每一行恰好分配给一列,每一列恰好分配给一行。
此函数还可以解决成本矩阵为矩形的分配问题的推广,如果它的行多于列,则不需要将每一行分配给一列,反之亦然。
其中X需要满足的约束,每一行恰好分配给一列,每一列恰好分配给一行。
举例:
模型架构图
Encoder
输入:句子embeding (len:N )+ query id(len: M)的序列
在Encoder内部中 attention 矩阵是 (N+M)*(N+M)的,为了防止句子attention到query,矩阵的上三角被mask掉。
输出:句子的隐层信息H^W
query的隐藏信息H^q
span预测
利用指针网络进行线性预测
句子的隐层和问题的隐层分别过一个线性层进行映射,拼接后过Relu激活函数,得到交互的表征
最后利用sigmoid函数获取start、end位置信息
类别分类
基于预测得到的start、end的位置信息,加上query信息,以便获取最后类别信息
而在代码实现中,query信息先和content内容先进行attention交互。
然后进行拼接,分类。
Dynamic Label Assignment for Training
前面提到query是隐性,不能直接分配gold实体,因此,需要在训练中动态分配实体标签。
把分配问题看作Linear Assignment Problem
声明:待分配的第k个实体,三元组为 end、start、type
定义成本矩阵 cost
P为logits
如果一个entity只能分配一个query,则无法解决嵌套实体问题。因此,作者将一句话中的实体复制q_k份,这样可直接利用匈牙利算法实现一对多的分配问题。
优化目标:
这里与匈牙利算法不同的地方在于entity的约束变了,每个实体可以分配多个query,但是本质上,这样的变化并不没有改变匈牙利算法原本的约束条件,而是通过复制多个相同的entity去映射到不同的query上面。
由于设定query的数量M远大于每句entity的数量,部分query肯定不会分配到实体,因此在分配矩阵A中加入了一列None,将未分配的query在None这一列设定为1
为什么是query远大于entity数量,作者也做了实验进行分析,发现query为60,重复entity为45,比例在4:3,效果最好。太大反而可能导致模型性能下降。算是一个经验值。
获取到最终的分配矩阵大小为(M, G+1)
最后argmax获取到分配的index,得到标签Y
读到这里存在一个问题,为什么无信息的query id可以提升抽取性能,仅靠着分配算法,将不同实体分配到query id上面,其实id序列也可以说成隐性的对应的label外部信息,然后进行匈牙利算法分配,来提升效果。
训练目标:
对于start、end用二分类交叉熵计算loss,类别用交叉熵计算loss,同时加入模型最后几层transformer layer的loss
类别:
边界:
最终的loss
结果:
在嵌套实体数据集ACE04、ACE05、KBP17、GENIA、NNE(114实体类型)
在flat实体数据集FewNERD(66实体类型)、CoNLL03、OntoNotes、
中文数据集:MSRA
均达到SOTA
消融实验:
推理速度对比:
只能说好有钱
分析:
随机选择query id进行实体locations和类型的分析
使用 kernel density estimation (核密度估计来估计未知的密度函数,核密度估计的结果即为样本的概率密度函数估计,可以得到数据分布的一些性质)画预测实体位置的分布图 ,发现不同query注意的实体位置不同,这表明query能学习到关于实体位置信息的语义。
作者计算不同类型query和不同类型实体共同发生的概率,从下图的例子看到,#11和#13query倾向预测PER,#30和#43倾向预测VEH,#25和#49倾向预测WEA,#35倾向预测LOC
Case Study
实验发现对于长文本和嵌套效果也都不错
但是仍然存在一定问题:
1)缺少对领域词汇的理解,Yahoo ! Communications Services 在例子2中被误识别为ORG
2)过度关注于局部语义,例子3中将 Venezuelan consumer 误识别为 PER,忽略了长文本 the Venezuelan consumer protection agency 是ORG
3)对形近词区分不清晰,模型混淆了Venezuelan(形容词:委内瑞拉的,名词:委内瑞拉人)和Venezuela(委內瑞拉),在例子3中前者被认为是GPE
《Parallel Instance Query Network for Named Entity Recognition》论文阅读相关推荐
- 《基于卷积神经网络的深度迁移学习,用于燃气轮机燃烧室的故障检测》论文阅读
目录 突出 抽象 引言 1.1动机 1.2文献综述获得的结论 1.3贡献 1.4组织 2方法 2.1燃汽轮机组故障知识共享 2.2迁移学习 2.3 基于卷积神经网络的深度迁移学习 2.4用于燃气轮机燃 ...
- 基于卷积神经网络和投票机制的三维模型分类与检索 2019 论文笔记
作者:白静 计算机辅助设计与图形学学报 1.解决的问题 由于三维模型投影得到的视图是由不同视点得到,具有相对独立性,这种像素级的融合运算并没有直接的物理或者几何意义,更有可能造成图像有益信息淹没和混淆 ...
- TextCNN——基于卷积神经网络的文本分类学习
1.CNN基础内容 CNN的全称是Convolutional Neural Network,是一种前馈神经网络.由一个或多个卷积层.池化层以及顶部的全连接层组成,在图像处理领域表现出色. 本文主要学习 ...
- 读懂深度迁移学习,看这文就够了 | 赠书
百度前首席科学家.斯坦福大学副教授吴恩达(Andrew Ng)曾经说过:迁移学习将是继监督学习之后的下一个促使机器学习成功商业化的驱动力. 本文选自<深度学习500问:AI工程师面试宝典> ...
- 一种基于卷积神经网络的图像去雾研究-含matlab代码
目录 一.绪论 二.去雾卷积网络 2.1 特征提取 2.2 多尺度映射 2.3 局部均值 2.4 非线性回归 三.实验与分析 四.Matlab代码获取 一.绪论 雾是一种常见的大气现象,空气中悬浮的水 ...
- 机械臂论文笔记(一)【基于卷积神经网络的二指机械手 抓取姿态生成研究 】
基于卷积神经网络的二指机械手 抓取姿态生成研究 论文下载 摘要 第1章 绪论 1.1 抓取生成国内外研究现状 1.1.1已知物体抓取生成 1.1.2相似物体抓取生成 1.1.3 未知物体抓取生成 1. ...
- 毕业设计 - 基于卷积神经网络的乳腺癌分类 深度学习 医学图像
文章目录 1 前言 2 前言 3 数据集 3.1 良性样本 3.2 病变样本 4 开发环境 5 代码实现 5.1 实现流程 5.2 部分代码实现 5.2.1 导入库 5.2.2 图像加载 5.2.3 ...
- 基于卷积神经网络与迁移学习的油茶病害图像识别
基于卷积神经网络与迁移学习的油茶病害图像识别 1.研究思路 利用深度卷积神经网络强大的特征学习和特征表达能力来自动学习油茶病害特征,并借助迁移学习方法将AlexNet模型在ImageNet图像数据集上 ...
- Python深度学习实例--基于卷积神经网络的小型数据处理(猫狗分类)
Python深度学习实例--基于卷积神经网络的小型数据处理(猫狗分类) 1.卷积神经网络 1.1卷积神经网络简介 1.2卷积运算 1.3 深度学习与小数据问题的相关性 2.下载数据 2.1下载原始数据 ...
- 基于卷积神经网络实现图片风格的迁移 1
卷积神经网络详解 一.实验介绍 1.1 实验内容 Prisma 是最近很火的一款APP,它能够将一张普通的图像转换成各种艺术风格的图像.本课程基于卷积神经网络,使用Caffe框架,探讨图片风格迁移背后 ...
最新文章
- Android应用签名详解 Eclipse+ADT
- 决策树准确率低原因_机器学习决策树算法--剪枝算法
- SAP Spartacus popover Component css 的重用设计
- oracle数据库非归档模式数据备份和恢复
- java 可变参数_90.Java可变参数
- linux gettimeofday 头文件,linux-时间编程-time、gmtime、localtime、asctime、ctime、gettimeofday、sleep、usleep...
- [汇编语言计算机原理] 带开机音乐,速度、进度和行驶方向显示的出租出计费系统设计
- 由spin_lock_bh想到的一些事
- QML 圆角进度条实现 圆角剪切
- HTML5权威指南pdf
- JVM——字节码指令(转)
- matlab高尔顿板钉试验,高尔顿钉板试验模拟
- 用友YonBuilder标准版培训课程资源
- 零基础CSS入门教程(30)–CSS布局实例
- 汉字字形码是计算机用来实现对汉字的输出,汉字编码字形码
- img标签图片自适应
- 溴PEG溴,Br-PEG-Br
- mysql 1032 1062_MySQL 1032和1062跳过错误总结
- 过年了教你自己动手写一个小游戏给表弟玩-猜数字小游戏
- 大学生无线耳机怎么选?内行推荐四款高性价比蓝牙耳机
热门文章
- 井通科技欧洲研发中心在柏林正式成立
- vc build tools完美解决
- [Linux]根据条件或查找日志命令cat,tail,vim,grep
- 成都培训Java程序员有前途吗?
- 蓝桥杯练习系统:【试题 算法训练 最大质因数】
- 题解 [CSP-S 2019 Day2]Emiya家今天的饭
- Android开发——项目实例(二)迷你背单词软件(第二版)单词录入、背诵、检测、单词库
- opencv34: SURF 加速鲁棒特征
- Kafka安全(以SASL+ACL为例)
- 基于电容传感器的压力检测系统的设计