摘要:本文是对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. Python操作Word水印:添加文字或图片水印

    在Word文档中,可以添加半透明的图形或文字作为水印,以保护文档的原创性,防止未经授权的复制或使用.除了提供安全功能外,水印还可以展示文档创作者的信息.附加的文档信息,或者仅用于文档的装饰.本文将介绍 ...

  2. [glibc] 带着问题看源码 —— exit 如何调用 atexit 处理器

    前言 之前在写 apue 系列的时候,曾经对系统接口的很多行为产生过好奇,当时就想研究下对应的源码,但是苦于 linux 源码过于庞杂,千头万绪不知从何开启,就一直拖了下来. 最近在查一个问题时无意间 ...

  3. Redis 7.0 源码环境搭建与阅读技巧

    天下武功,无坚不摧,唯快不破!我的名字叫 Redis,全称是 Remote Dictionary Server. 有人说,组 CP,除了要了解她外,还要给机会让她了解你. 那么,作为开发工程师的你,是 ...

  4. 自定义过滤器配置 Shiro 认证失败返回 json 数据

    by emanjusaka from ​ https://www.emanjusaka.top/archives/11 彼岸花开可奈何 本文欢迎分享与聚合,全文转载请留下原文地址. Shiro权限框架 ...

  5. Python 数学函数和 math 模块指南

    Python 提供了一组内置的数学函数,包括一个广泛的数学模块,可以让您对数字执行数学任务. 内置数学函数.min() 和 max() 函数可用于在可迭代对象中查找最低或最高值: 示例:查找可迭代对象 ...

  6. Go类型嵌入介绍和使用类型嵌入模拟实现“继承”

    Go类型嵌入介绍和使用类型嵌入模拟实现"继承" 目录 Go类型嵌入介绍和使用类型嵌入模拟实现"继承" 一.独立的自定义类型 二.继承 三.类型嵌入 3.1 什么 ...

  7. Ansible自动化部署工具-组件及语法介绍

    大家好,我是蓝胖子,我认为自动化运维要做的事情就是把运维过程中的某些步骤流程化,代码化,这样在以后执行类似的操作的时候就可以解放双手了,让程序自动完成.避免出错,Ansible就是这方面非常好用的工具 ...

  8. sizeof结构体数组指针和sizeof数组指针的区别

    请思考一下 以下代码输出的 sizeof 分别是多少? #include <stdio.h> typedef struct { char name[100]; unsigned char ...

  9. MIT实验警示:人类或需要人工智能辅助才能理解复杂逻辑

    麻省理工实验揭示人类的天赋缺陷 麻省理工学院林肯实验室(MIT Lincoln Laboratory)的一项研究表明,尽管形式规范具有数学上的精确性,但人类并不一定能对其进行解释.换句话说就是,人类在 ...

  10. java笔记——面向对象

    1.概述:面向对象是基于面向过程的编程思想 举例:把大象装进冰箱 2.开发:不断的创建对象,使用对象,指挥对象做事情 3.面向对象特征:封装 , 继承 , 多态 4.类和对象的关系: 类是一组相关的属 ...