Nested Named Entity Recognition with Span-level Graphs

原文链接:

https://aclanthology.org/2022.acl-long.63.pdf

ACL 2022

介绍

         问题

        基于span的方法虽然在解决嵌套实体上存在巨大潜力,但存在以下问题:

        1)难以充分利用span的丰富语义;

        2)重叠较多的正负样本会降低模型的性能;

        3)训练集中的嵌套实体,基本上不会存在于测试集中,即模型需要有较强的泛化能力;

        IDEA

         因此作者通过利用基于检索的span图来改进span表征,根据n-gram特征连接训练集中的span与实体。

方法

        将嵌套实体视为span的分类任务,即将多个相邻的token视为一个span,并预测相应的类别。具体的,对于有n个token的句子

        枚举出所有可能的span 放入集合,其中s_{ij}表示xi到xj的span。

        整个模型的框架如下图所示:

Span-level Graph

        这里作者提出了两种图:实体-实体图G_{EE}跨度-实体图G_{SE},如果将每个实体或者原始跨度视为多个相邻跨度,那这两个图都可以模拟跨度之间的关系。

        E表示是所有实体的集合,R表示原始span,表示图G中顶点v的k跳邻接顶点集合,基于BPE来计算span之间的n-gram相似度

Entity-entity graph

        实体-实体图用表示,其中,节点是实体集E中的实体,但相同token不同类别的视为不同的节点。对每个结点的不同边,它的n-gram相似度计算公式(即边的权重)如下:

        表示每个n-gram特征的重要程度,N是gram的最大长度,权重越高表示两个实体中词共同出现频率越高。

Span-entity graph

        跨度-实体图G_{SE} = (V_{SE},E_{SE}),对实体和span之间进行建模。节点包括了实体和span,每条边分别连接一个span和一个实体。但span与实体之间的n-gram特征之间存在以下区别:1)越长的span与实体之间就会有更多的语法重叠;2)span比实体更加不规则,总是连接到无意义的实体,存在噪声。

        因此,作者提出以下方法来解决该问题:

        1)对连接span边的权重,引入长度来进行惩罚:

        2)通过设置阈值来排除这些span到实体的噪声边,并删除权重低于该阈值的边。

Span-level (sub-)graph

         span-level ,是GEE和GSE的并集,为了提高同构图的训练效率,作者排除了span,即,而为了进行小批量训练,作者从G_{EE}G_{SE}中动态提取span-level子图,由于推理的目标是对原始跨度进行分类,因此我们在训练过程中只提取原始跨度的 K 跳子图。

        提取过程如下:

1)对于每个span节点Vs,从G_{SE}中提取它的一阶邻居

2)基于一阶邻居,从G_{EE}中提取i跳邻居的集合与其合并,

3)排除原始span节点Vs,并保留其余节点之间的边,就得到了Vs的子图: 

Encoder 

        将每个token的char embedding(BiLSTM)、word embedding(Word Glove)和context embedding(预训练模型)一起concate后送入BiLSTM来得最终表征hi。对于span级别的表示,作者对span内的单词进行最大池化后得到。

Graph Module

         为了对span级图进行建模,作者采用图卷积网络 (GCN) 。A表示G的归一化对称邻接矩阵,GCN的层数也就是子图的跳数K,H0是encoder的输出,则特征矩阵Hk+1 的第(K+1)层为:

        使用注意力机制,在子图表征中融合邻接节点的表征,表示span在GCN的第k层的隐藏状态,是span的第i个实体邻居在k层的隐藏状态,则原始跨度的子图嵌入

        将encoder的输出h0、span的子图embedding、上下文embedding(预训练模型的[CLS]token的向量)、size embedding进行concat得到span的embedding:

        最后,将span h0和实体hi送入线性层得到对数分数:

Multitask Learning

        损失函数包括包括span和实体的交叉熵损失两部分:

         在推理阶段,只涉及到span。

实验

对比实验 

        在ACE2004、ACE2005、GENIA数据集上进行实验,结果如下图示:

消融实验 

        对主要模块进行消融实验,结果如下所示:

        (这差别,我只能说微乎其微) 

        与SpERT(我也不知道为啥要跟这个模型做对比,论文链接:SpERT)在嵌套实体上的召回率进行比较,实验结果如下所示:

        与SpERT模型在ACE2005数据集中不同长度的实体进行比较,结果如下所示: 

        可以看见作者的模型在长实体上有了较大的提升。 

        在ACE2004和ACE2005测试集和训练集中频率<4的实体召回率进行比较,结果如下图所示:

Case study

总结

        讲得很复杂,模型也很复杂,但是效果不怎么样。消融实验最多只有0.5个点的差距,不好评价。而且作者为什么要跟SpERT这个模型做对比? 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/217720.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

如何使用PostMan进行并发测试?

如何使用PostMan进行并发测试&#xff1f; &#x1f440;(Postman 的 runner 实际上是串行执行的&#xff0c;因此不能作为并发测试&#xff0c; 只是批量测试&#xff0c;本文如下称为并发的是错误的) 文章目录 如何使用PostMan进行并发测试&#xff1f;POST篇流程Pre-req 脚…

c++ atmoic acquire/release

由于多核cpu缓存的存在&#xff0c;以及gcc编译优化&#xff0c;cpu指令层面的优化&#xff0c;导致程序的执行顺序可能跟你写的顺序不完全一致&#xff08;reorder&#xff09;。 但是在多线程编程中如何确保各个线程能正确的读取到各个变量呢&#xff08;而不是cache中老旧的…

做一件荒谬的事:用AI推理下一次双色球结果 v0.1

做一件荒谬的事&#xff1a;用AI推理下一次双色球结果 v0.1 引言 事情的起因是父亲被亲戚安利&#xff0c;突然喜欢上了双色球&#xff0c;连规则和开奖结果怎么看都不懂的他&#xff0c;让我研究研究这个事&#xff0c;给他选个号。他还说老家有好几个人中了几百万&#xff…

3.C程序编译步骤

目录 1 预处理 2 编译 3 汇编 4 链接 5 文件大小情况 依次执行下面4个步骤 预处理 将所有头文件展开&#xff0c;比如stdio.h等&#xff0c;展开就相当于把stdio.h中的所有代码粘贴到你的代码里。将所有的宏文件展开&#xff0c;像stdio.h是官方定义的头文件&#x…

Batch Normalization

1.是什么&#xff1f; 批量归一化&#xff08;Batch Normalization&#xff09;&#xff0c;由Google于2015年提出&#xff0c;是近年来深度学习&#xff08;DL&#xff09;领域最重要的进步之一。该方法依靠两次连续的线性变换&#xff0c;希望转化后的数值满足一定的特性&am…

Python 解析JSON实现主机管理

JSON&#xff08;JavaScript Object Notation&#xff09;是一种轻量级的数据交换格式&#xff0c;它以易于阅读和编写的文本形式表示数据。JSON 是一种独立于编程语言的数据格式&#xff0c;因此在不同的编程语言中都有对应的解析器和生成器。JSON 格式的设计目标是易于理解、…

应用分发平台的重要性:构建、扩展和管理您的移动应用

在当今的数字时代&#xff0c;移动应用已经成为我们日常生活的一部分。无论是用于商业、教育、娱乐还是社交&#xff0c;应用都在我们的生活中发挥着重要的作用。然而&#xff0c;构建一个成功的应用需要更多的工作——它需要一个合适的平台来发布、管理和跟踪。这就是应用分发…

JFrog----软件的SBOM分析简介

文章目录 什么是SBOM&#xff1f;SBOM分析的重要性SBOM分析的过程结语 什么是SBOM&#xff1f; SBOM&#xff0c;全称是“软件物料清单”&#xff0c;它像是一个详尽的清单&#xff0c;列出了构成特定软件的所有组件&#xff0c;包括库、模块、包等。这就像是制造业中的物料清…

为什么要做ERP集成?ERP系统如何与其他业务应用程序集成

什么是ERP集成&#xff1f; ERP集成是指将企业资源计划&#xff08;Enterprise Resource Planning&#xff0c;ERP&#xff09;系统与其他软件应用或业务流程进行无缝连接和整合的过程。 ERP系统通常涵盖企业内部的各种功能模块&#xff0c;如财务、供应链管理、生产制造、销…

制作一个RISC-V的操作系统-环境搭建

文章目录 前言环境搭配 前言 由于之前的操作系统反馈难度太大&#xff0c;所以准备从这个RISC-V操作系统出发&#xff0c;以后知识层面更加深入再去完善。 环境搭配 按照依赖项 $ sudo apt update $ sudo apt install build-essential gcc make perl dkms git gcc-riscv64-…

Python标准库:copy模块【侯小啾python基础领航计划 系列(十五)】

Python标准库:copy模块【侯小啾python基础领航计划 系列(十五)】 大家好,我是博主侯小啾, 🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ…

Educational Codeforces Round 159 (Rated for Div. 2)(B 二分贪心 Cgcd D二分+前缀和 E字典树)

A - Binary Imbalance 有只要在01之间插入就能制造无限个0&#xff0c;没有0就统计0 1个数即可 #include<bits/stdc.h> using namespace std; const int N 110010,mod998244353; #define int long long typedef long long LL; typedef pair<int, int> PII; const…

shopee主营店铺链接怎么填,shopee店铺url在哪里找——站斧浏览器

要设置Shopee主营店铺链接&#xff0c;在设置页面中填写自己想要推广的其他店铺的链接地址&#xff0c;并进行测试和提交审核。通过设置主营店铺链接&#xff0c;卖家可以增加销售量和曝光率。 shopee主营店铺链接怎么填&#xff1f; Shopee主营店铺链接是指卖家在Shopee平台…

网站防盗链是什么

随着互联网的快速发展&#xff0c;网站的安全问题越来越受到关注。其中&#xff0c;防盗链是许多网站面临的一个重要问题。本文将介绍网站防盗链的基本概念、原因以及如何采取措施进行保护。 一、什么是网站防盗链&#xff1f; 网站防盗链是指未经授权的网站通过技术手段获取…

如何有效进行测试执行进度计划

测试执行通常都是处于软件测试生命周期的关键路径上&#xff0c;它不仅在测试过程中占有重要的地位&#xff0c;并且也会花费大量的测试时间。针对测试执行而进行的计划&#xff0c;即测试执行进度计划&#xff0c;是进行测试执行进度控制的基础。在进行测试执行进度计划制订的…

【Linux | 编程实践】 crontab 命令编辑大全 scp 应用

&#x1f935;‍♂️ 个人主页: AI_magician &#x1f4e1;主页地址&#xff1a; 作者简介&#xff1a;CSDN内容合伙人&#xff0c;全栈领域优质创作者。 &#x1f468;‍&#x1f4bb;景愿&#xff1a;旨在于能和更多的热爱计算机的伙伴一起成长&#xff01;&#xff01;&…

Vue入门——v-on标签

文章目录 规则v-on 一、案例总结 规则 v-on 作用&#xff1a;为html标签绑定事件语法&#xff1a; v-on&#xff1a;事件名&#xff1a;“函数名”简写为 事件名“函数名” 注意&#xff1a;函数需要定义在methods选项内部 一、案例 我们给案件绑定一个单击事件 <!DOCTYPE…

flutter开发实战-ValueListenableBuilder实现局部刷新功能

flutter开发实战-ValueListenableBuilder实现局部刷新功能 在创建的新工程中&#xff0c;点击按钮更新counter后&#xff0c;通过setState可以出发本类的build方法进行更新。当我们只需要更新一小部分控件的时候&#xff0c;通过setState就不太合适了&#xff0c;这就需要进行…

Shopee买家通系统内置防指纹技术可解决多账号管理操作

为了解决多账号管理的难题&#xff0c;我们发现了一款强大的利器——Shopee买家通系统&#xff0c;它为我们提供了便捷而高效的辅助操作。这款系统基于先进的指纹浏览器技术开发&#xff0c;实现了全自动化的操作&#xff0c;让多账号管理变得轻而易举。 Shopee买家通系统内置了…

layui+ssm实现数据表格双击编辑更新数据

layui实现数据表格双击编辑数据更新 在使用layui加载后端数据请求时&#xff0c;对数据选项框进行双击即可实现数据的输入编辑更改 代码块 var form layui.form, table layui.table,layer parent.layer undefined ? layui.layer : parent.layer,laypage layui.laypag…