S-NER: A Concise and Efficient Span-Based Model for NamedEntity Recognition

news2024/11/22 10:18:47

原文链接:Sensors | Free Full-Text | S-NER: A Concise and Efficient Span-Based Model for Named Entity Recognition

Sensors 2022

介绍

         NER中的序列标注模型使用条件随机场(CRF)来获取标签之间的依赖性,存在误差传播的问题,即错误的分类标签会导致错误的标签依赖。

        因此作者提出了S-NER,一个基于span的NER模型,并提出随机负样本的方法来代替传统span-based模型枚举span进行计算,提高模型的效率。

方法

        模型的整体结构如下所示:

Encoder

        encoder选择BERT, word embedding使用每个word的sub-tokens进行max-pooling。最终表示为{E}',其中\hat{e}_{i}表示token t_{i}的bert embedding,\hat{e}_{0}表示最前面的CLS token:

        splitter模块将文本T = \left \{ t_{1},t_{2},,,,t_{n} \right \}分割为text spans,在给定阈值\varepsilon时,将span表示为:

         一共包含个span。将这些span的embedding序列表示为:

        最后span semantic presentation表示为span表征、上下文表征和span length embedding的concat:

        其中span表征通过对(i,j)之间的embedding进行max-pooling得到:

        上下文表征使用BERT中CLS的embedding作为T中所有span的上下文表征。

        span length embedding即是在模型训练过程中为每个跨度长度(即 1、2、......、e)训练固定大小的embedding,长度为j+1的span对应的embedding表示为W_{j+1}.

Decoder

        对span的语义表征使用多层FFNs来映射到类别空间,最后使用softmax函数进行分类:

        训练的损失函数使用交叉熵损失:

        yk表示glod标签,N表示span的数量。

Negative Sampling Strategy

         由于枚举所有span,开销会比较大,因此作者对训练集中的每个文本随机抽取最大数量为d 的负span(可以理解为无效span)后,将其与gold entity结合起来进行训练。也就是将所有正样本的span和部分负样本(自己随机生成的)对模型进行训练。但在推理阶段,枚举所有可能的span进行预测。

        但由于设置的d在某些情况下会比枚举span产生更多的span,因此作者取两者中较小的那个值作为负样本span。

实验

对比实验

        作者在WNUT2016 、CoNLL2004和SciERC三个数据集(感觉这三个数据集也不是很常用)上与其他模型进行对比实验,结果如下图所示:

        作者将句子中至少有一个gold实体被预测为两个错误实体(详见4.8中的例子)的数据单独拿出来进行实验,以验证作者提出的模型不会存在层叠标签误分类的问题。实验结果如下:

消融实验 

        作者在三个数据集的验证集上通过设置不同数量(d)的负样本来进行实验,以研究负抽样策略的效果。结果如下所示:

         可以看出在负样例足够多的情况下,模型能够达到较好的效果,同时也会对模型的效率造成一定的影响,因此本文为了平衡效率和性能选择设置负样例数量为100。

         为了进一步评估负样本的有效性,作者在三个数据集的验证集下,将使用该策略和直接使用所有枚举span进行了对比实验,结果如下:

         可以看出枚举span的方法在大多数情况下表现出更好的效果,另外作者认为在三个数据集上都使用一个阈值,也会给模型的表现带来损害。

        作者还对三个数据集的采样span进行了统计,结果如下所示:

        可以看出随机负样本策略相比于枚举span,能够减少多个span的计算量。

        对随机负样本策略与使用枚举span的训练速度进行了实验(不得不说 这个点的实验好多!):

        对decoder的不同深度也进行了实验,结果如下: 

对span representation的多个方法进行了实验,结果如下所示:

case study

        作者提出了一个具体的例子来展示其模型并不受序列标注中误分类所产生的影响:

总结 

        这篇论文感觉创新点只在随机抽取负样本来训练模型,作者提到该模型不像序列标注模型那样,会受到前面序列中错误分类所带来的词性错误依赖性, 但是这是所有基于span的模型都有的优势。另外,作者真的做了很多实验(虽然并不觉得效果很好,但是很充分)!

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Docker可视化管理工具Portainer多机器安装使用

一、首先得安装docker Docker安装并指定主目录:https://blog.csdn.net/wdy_2099/article/details/77367107 二、使用docker方式安装portainer 安装命令如下: docker run -it -d \-p 8999:9000 \--name portainer \--restart always \-v /var/run/docker.sock:/v…

@vue/cli安装

vue/cli安装 1、全局安装vue/cli包2、查看是否成功 1、全局安装vue/cli包 yarn global add vue/cli2、查看是否成功 vue -V

React Dva项目中模仿网络请求数据方法

我们都已经选择react了 那么自然是一个前后端分离的开发形式 至少我在公司中 大部分时候是前后端同时开发的 一般你在开发界面没有接口直接给你 但你可以和后端约定数据格式 然后在前端模拟数据 我们在自己的Dva项目中 在根目录下的 mock 目录下创建一个js文件 我这里叫 filmDa…

Qt 添加MySQL驱动教程 以及 操作数据库(增删查改)

前言: 使用MySQL数据库前我们必须添加MySQL驱动,有了驱动我们才能连接数据库,连接数据库成功后才能操作数据库(增删查改)。 Qt 添加MySQL驱动教程 如下(本人亲测成功版): https://do…

【SQL语句】

目录 一、SQL语句类型 1.DDL 2.DML 3.DLL 4.DQL 二、数据库操作 1.查看 2.创建 2.1 默认字符集 2.2 指定字符集 3.进入 4.删除 5.更改 5.1 库名称 5.2 字符集 三、数据表操作 1.数据类型 1.1 数值类型(常见,下同) 1.1.1 T…

【IDEA】IDEA 中点击Download Source(下载源码)后,下载的源码存储到哪了?

【问】如上图,IDEA 中点击 Download Source(下载源码)后,下载的源码存储到哪了? 【答】 先找到此源码所属 Jar 包在哪;点击 Download Source(下载源码)后,会发现存储 J…

文件读写流函数

文件 文件读写 链接 std::ifstream---std::ofstream 头文件--#include <fstream> 执行都是类&#xff0c;用这些类操作文件都要建立对象流。 1&#xff0c;建立对象流 流对象的建立有两种方式&#xff1a; &#xff08;1&#xff09;使用fstream类可以不指定文件和…

C# winform子窗口向父窗口传值

这里我使用一个简单的方法。只需要在父窗口定义一个静态变量就行。 父窗体为Form1,子窗体为Form2。 public static int get_num0; 子窗体直接给get_num赋值即可。 Form1.get_num2; 这样父窗体就能获得get_num修改后这个值了

若依vue 多table前端HTML页面导出一张Excel表

前言 导入依赖&#xff0c;具体前端vue配置就不介绍了&#xff0c;直接晒具体细节代码 实现 需要在多table外加div&#xff0c;其他都是基本操作js代码 import FileSaver from file-saver import * as XLSX from "xlsx";const htmlToExcel {getExcelNew(classNam…

实验二十四、滞回比较器电压传输特性的测量

一、题目 滞回比较器电压传输特性的测量。 二、仿真电路 电路如图1所示。 为便于观察电压传输特性的变化&#xff0c;输入信号采用信号发生器产生的幅值为 10 V 10\,\textrm V 10V、频率为 20 Hz 20\,\textrm{Hz} 20Hz 的三角波电压。采用虚拟的运算放大电路&#xff0c;其…

自学网络安全(黑客)两个月都没入门?

最近我经常会看到这一类的问题&#xff1a; 学习XXX知识没效果&#xff1b;学习XXX技能没方向&#xff1b;学习XXX没办法入门&#xff1b; 给你一个忠告&#xff0c;如果你完全没有基础的话&#xff0c;前期最好不要盲目去找资料学习&#xff0c;因为大部分人把资料收集好之后…

DP学习第三篇之不同路径

DP学习第三篇之不同路径 62. 不同路径 - 力扣&#xff08;LeetCode&#xff09; 一.题目解析 二. 算法原理 状态表示 tips: 经验题目要求。以[i,j]位置为结尾&#xff0c;。。。 dp[i][j]: 走到[i, j]位置时&#xff0c;一共多少种路径 状态转移方程 tips: 用之前或之后的状…

Visual Studio 2022 cmake配置opencv开发环境

1. 环境与说明 这里我用的是 widnows 10 64位&#xff0c;Visual Studio 用的 Visual Studio Community 2022 (社区版) 对于Android开发工程师来说&#xff0c;为什么要使用Visual Studio 呢 ? 因为在Visual Studio中开发调试OpenCV方便&#xff0c;可以开发调试好后&#xf…

DDQN求解FJSP问题

柔性调度问题代码&#xff0c;DDQN求解FJSP问题 迭代曲线图 奖励函数迭代曲线 makespan迭代曲线 代码&#xff01;&#xff01; 全部见我的git仓库: DFJSP_Share DDQN算法主体 import csv import os from environment2.Environment import Environment import torch from …

生物信息学_玉泉路_课堂笔记_05 第五章 从头基因组组装与注释

&#x1f345; 课程&#xff1a;生物信息学_玉泉路_课堂笔记 中科院_2022秋季课 第一学期 &#x1f345; 个人笔记使用 &#x1f345; 2023/7/20 上周回顾 从头基因组组装与注释 第一节 基因组调查 最左边的 error-peak 是测序错误导致的 杂合导致的峰 重复序列 在纯和峰值的右…

简单明了证明多态虚表是位于常量区

证实虚表存储与常量区 class Person { public:virtual void BuyTicket() { cout << "买票-全价" << endl; }virtual void Func1() {cout << "Person::Func1()" << endl;}virtual void Func2() {cout << "Person::Func…

2 mybatis常见错误汇总

2.1 org.apache.ibatis.exceptions.PersistenceException: ### Error building SqlSession. ### Cause: org.apache.ibatis.builder.BuilderException: Error creating document instance. Cause: org.xml.sax.SAXParseException; lineNumber: 2; columnNumber: 6; 不允许有匹…

ubuntu 20.04 rtc时间显示问题探究

1、硬件与软件 本次测试的硬件为RK3568芯片&#xff0c;操作系统为ubuntu 20.04。 2、RTC与系统时间 先说结果&#xff0c;如果RTC驱动不可用或者RTC内部存储的时间非法&#xff0c; 那么操作系统会存储上一次有效的时间&#xff0c;当再次上电时&#xff0c;date命令会使用存储…

gitee上创建新仓库如何clone到本地,并初始化项目

目录 一、克隆 方法一 方法二 二、初始化项目 构建基本框架 自动生成代码 一、克隆 方法一 由于github速度较慢&#xff0c;这里我们使用gitee。我们在gitee上面创建一个仓库&#xff0c;然后我们可以通过ideal直接克隆下来&#xff0c;仓库设置如下 接着使用ideal将项…

Matlab 点云平面特征提取

文章目录 一、简介二、实现代码2.1基于k个邻近点2.2基于邻近半径参考资料一、简介 点云中存在这各种各样的几何特征,这里基于每个点的邻域协方差来获取该点的所具有的基础几何特征(如下图所示),这样的做法虽然不能很好的提取出点云中的各个部分,但却是可以作为一种数据预处…