摘要:本文是对ACL2021 NER BERT化隐马尔可夫模型用于多源弱监督命名实体识别这一论文工作进行初步解读。

本文分享自华为云社区《ACL2021 NER | BERT化隐马尔可夫模型用于多源弱监督命名实体识别》,作者: JuTzungKuei 。

论文:Li Yinghao, Shetty Pranav, Liu Lucas, Zhang Chao, Song Le. BERTifying the Hidden Markov Model for Multi-Source Weakly Supervised 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, 6178–6190.

链接:https://aclanthology.org/2021.acl-long.482.pdf

代码:https://github.com/Yinghao-Li/CHMM-ALT

0、摘要

  • 研究内容:使用多个弱监督数据的噪音标签学习NER
  • 噪音数据:不全、不准、矛盾
  • 提出一个条件隐马尔可夫模型(CHMM:conditional hidden Markov model)
    • 利用BERT的上下文表示能力,增强了经典的HMM模型
    • 从BERT嵌入中学习词的转移和发射概率,推断潜在的真标签
  • 用交替训练方法(CHMM-ALT)进一步完善CHMM
    • 用CHMM推导出的标签对BERT-NER模型进行微调
    • BERT-NER的输出作为额外的弱源来训练CHMM
  • 四份数据集上达到SOTA

1、介绍

  • NER是许多下游信息抽取任务的基础任务:事件抽取、关系抽取、问答
    • 有监督、需要大量标注数据
    • 许多领域有知识源:知识库、领域词典、标注规则
    • 可以用来匹配语料库,从多角度,快速生成大规模的噪声训练数据
  • 远程监督NER:只使用知识库作为弱监督,未使用多源标注的互补信息
  • 现有利用HMM方法,有局限性:one-hot词向量 或 不建模
  • 贡献:
    • CHMM:聚合多源弱标签
    • 交替训练方法CHMM-ALT:轮流训练CHMM和BERT-NER,利用彼此的输出进行多回路,以优化多源弱监督NER性能
    • 四份基准数据集获得SOTA

2、方法

  • CHMM-ALT 训练两个模型:多源标签聚合器CHMM和BERT-NER 模型,轮流作为彼此的输出
    • 阶段I:CHMM根据K个源x_{1:K}^{(1:T)}x1:K(1:T)​,生成一个去噪标签y^{*(1:T)}y∗(1:T),微调BERT-NER模型输出\widetilde{y}^{(1:T)}y​(1:T),作为额外的标注源,添加到原始弱标签集合x_{1:K+1}^{(1:T)} = \{x_{1:K}^{(1:T)} , \widetilde{y}^{(1:T)}\}x1:K+1(1:T)​={x1:K(1:T)​,y​(1:T)}
    • 阶段II:CHMM和BERT-NER在几轮循环中互相改进,每轮循环,先训练CHMM,后微调BERT-NER,更新前者的输入
    • CHMM 提高Precision,BERT-NER提高Recall

  • 隐马尔可夫模型
    • 不细解

3、结果

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

 

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

跟我读论文丨ACL2021 NER BERT化隐马尔可夫模型用于多源弱监督命名实体识别的更多相关文章

  1. 【NLP学习其一】什么是命名实体识别NER?

    命名实体识别 概念 命名实体识别(Named Entity Recognition,简称NER) , 是指识别文本中具有特定意义的词(实体),主要包括人名.地名.机构名.专有名词等等,并把我们需要识别 ...

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

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

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

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

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

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

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

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

  6. 用深度学习做命名实体识别(六)-BERT介绍

    什么是BERT? BERT,全称是Bidirectional Encoder Representations from Transformers.可以理解为一种以Transformers为主要框架的双 ...

  7. 基于BERT预训练的中文命名实体识别TensorFlow实现

    BERT-BiLSMT-CRF-NERTensorflow solution of NER task Using BiLSTM-CRF model with Google BERT Fine-tuni ...

  8. NLP入门(五)用深度学习实现命名实体识别(NER)

    前言   在文章:NLP入门(四)命名实体识别(NER)中,笔者介绍了两个实现命名实体识别的工具--NLTK和Stanford NLP.在本文中,我们将会学习到如何使用深度学习工具来自己一步步地实现N ...

  9. NLP入门(四)命名实体识别(NER)

      本文将会简单介绍自然语言处理(NLP)中的命名实体识别(NER).   命名实体识别(Named Entity Recognition,简称NER)是信息提取.问答系统.句法分析.机器翻译等应用领 ...

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

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

随机推荐

  1. 火山引擎 ByteHouse:只需 2 个方法,增强 ClickHouse 数据导入能力

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 作为企业数字化建设的必备要素,易用的数据引擎能帮助企业提升数据使用效率,更好提升数据应用价值,夯实数字化建设基础. ...

  2. MySQL索引、事务与存储引擎

    MySQL索引.事务与存储引擎 索引介绍 1.索引的概念 索引是一个排序的列表,在这个列表中存储着索引的值和包含这个值的数据所在行的物理地址(类似于C语言的链表通过指针指向数据记录的内存地址). 使用 ...

  3. 该如何选择ClickHouse的表引擎

    该如何选择ClickHouse的表引擎 本文将介绍ClickHouse中一个非常重要的概念-表引擎(table engine).如果对MySQL熟悉的话,或许你应该听说过InnoDB和MyISAM存储 ...

  4. DHorse(K8S的CICD平台)的实现原理

    综述 首先,本篇文章所介绍的内容,已经有完整的实现,可以参考这里. 在微服务.DevOps和云平台流行的当下,使用一个高效的持续集成工具也是一个非常重要的事情.虽然市面上目前已经存在了比较成熟的自动化 ...

  5. windows 下终止nginx 进程 重新启动nginx

    进入cmd 输入一下命令 删除nginx所有进程 taskkill /f /t /im nginx.exe

  6. Java笔记——数组静态初始化开始

    一维数组: 静态初始化: 定义格式:(1)数据类型[] 数组名 = new 数组类型[] (2)数组类型[] 数组名 ={元素1,元素2,.....} 练习:数组元素逆序: public static ...

  7. 深入理解 BigBird 的块稀疏注意力

    引言 基于 transformer 的模型已被证明对很多 NLP 任务都非常有用.然而,\(O(n^2)\) 的时间和内存复杂度 (其中 \(n\) 是序列长度) 使得在长序列 (\(n > 5 ...

  8. C#winform中使用SQLite数据库

    公众号「DotNet学习交流」,分享学习DotNet的点滴. SQLite简介 SQLite是一种轻量级的关系型数据库管理系统(RDBMS),它以一个C库的形式提供.以下是SQLite数据库的一些关键 ...

  9. 一次显著的性能提升,从8s到0.7s

    前言 最近我在公司优化了一些慢查询SQL,积累了一些SQL调优的实战经验. 我之前写过一些SQL优化相关的文章<聊聊SQL优化的15个小技巧>和<explain | 索引优化的这把绝 ...

  10. jmeter工具中vars与props命令的区别和使用

    话不多说直接干活!!!!! vars 和 props命令存在于"jsr223 预处理器"."BeanShell 预处理程序"."JSR223 后置处理 ...