摘要:本文是对ACL2021 NER 基于模板的BART命名实体识别这一论文工作进行初步解读。

本文分享自华为云社区《ACL2021 NER | 基于模板的BART命名实体识别》,作者: JuTzungKuei 。

论文:Cui Leyang, Wu Yu, Liu Jian, Yang Sen, Zhang Yue. TemplateBased Named Entity Recognition Using BART [A]. Findings of the Association for Computational Linguistics: ACL-IJCNLP 2021 [C]. Online: Association for Computational Linguistics, 2021, 1835–1845.

链接:https://aclanthology.org/2021.findings-acl.161.pdf

代码:https://github.com/Nealcly/templateNER

0、摘要

  • 小样本NER:源领域数据多,目标领域数据少
  • 现有方法:基于相似性的度量
    • 缺点:不能利用模型参数中的知识进行迁移
  • 提出基于模板的方法
    • NER看作一种语言模型排序问题,seq2seq框架
    • 原始句子和模板分别作为源序列和模板序列,由候选实体span填充
    • 推理:根据相应的模板分数对每个候选span分类
  • 数据集
    • CoNLL03 富资源
    • MIT Movie、MIT Restaurant、ATIS 低资源

1、介绍

  • NER:NLP基础任务,识别提及span,并分类
  • 神经NER模型:需要大量标注数据,新闻领域很多,但其他领域很少
    • 理想情况:富资源 知识迁移到 低资源
    • 实际情况:不同领域实体类别不同
    • 训练和测试:softmax层和crf层需要一致的标签
    • 新领域:输出层必须再调整和训练
  • 最近,小样本NER采用距离度量:训练相似性度量函数
    • 优:降低了领域适配
    • 缺:(1)启发式最近邻搜索,查找最佳超参,未更新网络参数,不能改善跨域实例的神经表示;(2)依赖源域和目标域相似的文本模式
  • 提出基于模板的方法
    • 利用生成PLM的小样本学习潜力,进行序列标注
    • BART由标注实体填充的预定义模板微调
    • 实体模板:<candidate_span> is a <entity_type> entity
    • 非实体模板:<candidate_span> is not a named entity
  • 方法优点:
    • 可有效利用标注实例在新领域微调
    • 比基于距离的方法更鲁棒,即使源域和目标域在写作风格上有很大的差距
    • 可应用任意类别的NER,不改变输出层,可持续学习
  • 第一个使用生成PLM解决小样本序列标注问题
  • Prompt Learning(提示学习)

2、方法

2.1、创建模板

  • 将NER任务看作是seq2seq框架下的LM排序问题
  • 标签集 entity_type:\mathbf{L}=\{l_1,...,l_{|L|}\}L={l1​,...,lL∣​},即{LOC, PER, ORG, …}
  • 自然词:\mathbf{Y}=\{y_1,...,y_{|L|}\}Y={y1​,...,yL∣​},即{location, person, orgazation, …}
  • 实体模板:\mathbf{T}^{+}_{y_k}=\text{<candidate\_span> is a location entity.}Tyk​+​=<candidate_span> is a location entity.
  • 非实体模板:\mathbf{T}^{-}=\text{<candidate\_span> is not a named entity.}T−=<candidate_span> is not a named entity.
  • 模板集合:\mathbf{T}=[\mathbf{T}^{+}_{y_1},...,\mathbf{T}^{+}_{y_{|L|}},\mathbf{T}^{-}]T=[Ty1​+​,...,TyL∣​+​,T−]

2.2、推理

  • 枚举所有的span,限制n-grams的数量1~8,每个句子有8n个模板
  • 模板打分:\mathbf{T}_{{y_k},x_{i:j}}=\{t_1,...,t_m\}Tyk​,xi:j​​={t1​,...,tm​}

  • x_{i:j}xi:j​实体得分最高
  • 如果存在嵌套实体,选择得分较高的一个

2.3、训练

  • 金标实体用于创建模板
    • 实体x_{i:j}xi:j​的类型为y_kyk​,其模板为:\mathbf{T}^{+}_{y_k,x_{i:j}}Tyk​,xi:j​+​
    • 非实体x_{i:j}xi:j​,其模板为:\mathbf{T}^{-}_{x_{i:j}}Txi:j​−​
  • 构建训练集:
    • 正例:(\mathbf{X}, \mathbf{T}^+)(X,T+)
    • 负例:(\mathbf{X}, \mathbf{T}^-)(X,T−),随机采样,数量是正例的1.5倍
  • 编码:\mathbf{h}^{enc}=\text{ENCODER}(x_{1:n})henc=ENCODER(x1:n​)
  • 解码:\mathbf{h}_c^{dec}=\text{DECODER}(h^{enc}, t_{1:c-1})hcdec​=DECODER(henc,t1:c−1​)
  • 词t_ctc​的条件概率:p(t_c|t_{1:c-1},\mathbf{X})=\text{SOFTMAX}(\mathbf{h}_c^{dec}\mathbf{W}_{lm}+\mathbf{b}_{lm})p(tc​∣t1:c−1​,X)=SOFTMAX(hcdec​Wlm​+blm​)
    • \mathbf{W}_{lm} \in \mathbb{R}^{d_h\times |V|}Wlm​∈Rdh​×∣V
  • 交叉熵loss

3、结果

  • 不同模板类型的测试结果
    • 选择前三个模板,分别训练三个模型

  • 实验结果
    • 最后一行是三模型融合,实体级投票

号外号外:想了解更多的AI技术干货,欢迎上华为云的AI专区,目前有AI编程Python等六大实战营供大家免费学习。

点击关注,第一时间了解华为云新鲜技术~

论文解读:ACL2021 NER | 基于模板的BART命名实体识别的更多相关文章

  1. DL4NLP —— 序列标注:BiLSTM-CRF模型做基于字的中文命名实体识别

    三个月之前 NLP 课程结课,我们做的是命名实体识别的实验.在MSRA的简体中文NER语料(我是从这里下载的,非官方出品,可能不是SIGHAN 2006 Bakeoff-3评测所使用的原版语料)上训练 ...

  2. PyTorch 高级实战教程:基于 BI-LSTM CRF 实现命名实体识别和中文分词

    前言:译者实测 PyTorch 代码非常简洁易懂,只需要将中文分词的数据集预处理成作者提到的格式,即可很快的就迁移了这个代码到中文分词中,相关的代码后续将会分享. 具体的数据格式,这种方式并不适合处理 ...

  3. 抛弃模板,一种Prompt Learning用于命名实体识别任务的新范式

    原创作者 | 王翔 论文名称: Template-free Prompt Tuning for Few-shot NER 文献链接: https://arxiv.org/abs/2109.13532 ...

  4. 【NER】对命名实体识别(槽位填充)的一些认识

    命名实体识别 1. 问题定义 广义的命名实体识别是指识别出待处理文本中三大类(实体类.时间类和数字类).七小类(人名.机构名.地名.日期.货币和百分比)命名实体.但实际应用中不只是识别上述所说的实体类 ...

  5. 神经网络结构在命名实体识别(NER)中的应用

    神经网络结构在命名实体识别(NER)中的应用 近年来,基于神经网络的深度学习方法在自然语言处理领域已经取得了不少进展.作为NLP领域的基础任务-命名实体识别(Named Entity Recognit ...

  6. 2. 知识图谱-命名实体识别(NER)详解

    1. 通俗易懂解释知识图谱(Knowledge Graph) 2. 知识图谱-命名实体识别(NER)详解 3. 哈工大LTP解析 1. 前言 在解了知识图谱的全貌之后,我们现在慢慢的开始深入的学习知识 ...

  7. 基于bert的命名实体识别,pytorch实现,支持中文/英文【源学计划】

    声明:为了帮助初学者快速入门和上手,开始源学计划,即通过源代码进行学习.该计划收取少量费用,提供有质量保证的源码,以及详细的使用说明. 第一个项目是基于bert的命名实体识别(name entity ...

  8. 基于keras实现的中文实体识别

    1.简介 NER(Named Entity Recognition,命名实体识别)又称作专名识别,是自然语言处理中常见的一项任务,使用的范围非常广.命名实体通常指的是文本中具有特别意义或者指代性非常强 ...

  9. 【神经网络】神经网络结构在命名实体识别(NER)中的应用

    命名实体识别(Named Entity Recognition,NER)就是从一段自然语言文本中找出相关实体,并标注出其位置以及类型,如下图.它是NLP领域中一些复杂任务(例如关系抽取,信息检索等)的 ...

  10. 命名实体识别(NER)

    一.任务 Named Entity Recognition,简称NER.主要用于提取时间.地点.人物.组织机构名. 二.应用 知识图谱.情感分析.机器翻译.对话问答系统都有应用.比如,需要利用命名实体 ...

随机推荐

  1. 虹科案例|虹科Visokio商业智能平台在疫后帮酒店业打好翻身仗!

    疫后时代以来,报复性度假呈爆炸式增长,首先点燃的就是酒店行业.面对疫后更为理性"挑剔"的客户以及酒店行业复苏节点: 如何提升酒店管理效率? 怎么准确判断流量变化趋势,拓展线上客源? ...

  2. c#中原型模式详解

    基础介绍:   具体可分为2个角色:     Prototype(原型类):声明一个Clone自身的接口:     ConcretePrototype(具体原型类):,实现一个Clone自身的操作. ...

  3. 服务器没有开放3306端口 远程访问MySQL数据库方法

    一.前言 ​ 当装有MySQL的服务器为了防止数据库被黑,提高安全性,把3306端口禁止掉,禁止对外访问,我之前写过一篇是借助跳板机的SSH隧道来访问实现安全,这种情况依然需要开放3306端口和使用一 ...

  4. postgresql 去重计数改写案例

    最近帮忙在搞一个内网报表系统的项目,里面的逻辑比较复杂,很多视图套视图的语句. 最多的一个视图除了它本身以外,一层层嵌套了7个视图在里面,贼恶心. SQL遇到性能问题只能每一层视图捋清对象关系来排查缓 ...

  5. 物体三维模型的构建:3DSOM软件实现侧影轮廓方法

      本文介绍基于3DSOM软件,实现侧影轮廓方法的空间三维模型重建. 目录 1 背景知识 1.1 三维信息获取方法 1.2 侧影轮廓方法原理及其流程 2 三维模型制作 2.1 马铃薯三维模型制作 2. ...

  6. Kotlin协程系列(二)

    在进行业务开发时,我们通常会基于官方的协程框架(kotlinx.coroutines)来运用Kotlin协程优化异步逻辑,不过这个框架过于庞大和复杂,如果直接接触它容易被劝退.所以,为了我们在后续的学 ...

  7. 旺店通·企业奇门和用友BIP接口打通对接实战

    旺店通·企业奇门和用友BIP接口打通对接实战 接通系统:旺店通·企业奇门 旺店通是北京掌上先机网络科技有限公司旗下品牌,国内的零售云服务提供商,基于云计算SaaS服务模式,以体系化解决方案,助力零售企 ...

  8. JAVAweek7

    本周学习[函数][数组] 什么是函数: 函数就是定义在类中的具有特定功能的一段独立小程序.函数也称为方法. 函数的格式: ·修饰符 返回值类型 函数名(参数类型 形式参数) { 执行语句: retur ...

  9. .NET开源的处理分布式事务的解决方案

    前言 在分布式系统中,由于各个系统服务之间的独立性和网络通信的不确定性,要确保跨系统的事务操作的最终一致性是一项重大的挑战.今天给大家推荐一个.NET开源的处理分布式事务的解决方案基于 .NET St ...

  10. jmeter编写java脚本

    jmeter开发java脚本主要的依赖包有三个如下图 步骤1 :打开idea,创建一个project,导入上图依赖包 步骤2:创建一个类,继承AbstractJavaSamplerClient类,并实 ...