Loading [MathJax]/jax/output/CommonHTML/jax.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >FLAT:基于 Flat-Lattice Transformer 的中文 NER 模型

FLAT:基于 Flat-Lattice Transformer 的中文 NER 模型

作者头像
口仆
发布于 2021-12-17 12:33:22
发布于 2021-12-17 12:33:22
2.7K0
举报

本文是 「FLAT: Chinese NER Using Flat-Lattice Transformer」 一文的学习笔记。

「摘要」:综合利用字符与词语信息的 Lattice 结构被证明对于中文的命名实体识别具有较好的效果,然而,由于 Lattice 结构较为灵活复杂,大部分现有的基于 Lattice 的模型很难完全利用 GPU并行计算能力,导致推理速度较慢。本论文提出了面向中文 NER 的 FLAT(「F」lat-「LA」ttice 「T」ransformer),其将 Lattice 结构转化为一个由片段(span)构成的平面(flat)结构,每个片段对应一个字符或潜在的词语,以及其在原始 Lattice 中的位置。得益于 Transformer 的能力以及精心设计的位置编码,FLAT 能够在充分利用 Lattice 信息的同时保持极佳的并行化能力。基于四个数据集的实验表明 FLAT 在模型表现与运行效率上要优于其他基于词汇的模型。

1 背景

「命名实体识别」(Named entity recognition,NER)在很多 NLP 下游任务中扮演着重要角色,与英文 NER 相比,中文 NER 往往更加困难,因为其涉及到词语的切分(分词)。「Lattice 结构」被证明能够更好地利用词语信息,避免分词中的错误传播。

如下图 (a) 所示,我们可以通过词表来得到一个句子中的潜在词语,形成一张有向无环图,其中每个节点表示一个字符或是一个潜在词语。Lattice 包括了一个由句子中的字符与潜在词语组成的序列,其并不完全依序排列,词语的首尾字符决定了其的位置(会与字符平行)。Lattice 中的部分词语对于 NER 来说相当重要,以下图为例,「人和药店」一词可以用来区分地理实体「重庆」与组织实体「重庆人」

目前,利用 Lattice 结构进行 NER 的模型发展方向大致可以分为两类:

  1. 设计一个与 Lattice 输入兼容的模型,例如 「lattice LSTM」「LR-CNN」。其中 lattice LSTM 利用一个额外的词语单元来编码潜在词语,并使用 attention 机制来融合每个位置的变数节点,如上图 (b) 所示;LR-CNN 则利用 CNN 来通过不同的窗口大小编码潜在词语。总的来看,RNN 和 CNN 都难以对长距离的依赖进行建模(长距离依赖对于NER 的指代等关系很有用),同时由于动态 Lattice 结构的复杂性,这些方法不能完全地利用 GPU 的并行计算能力。
  2. 将 Lattice 转化为图,使用图神经网络进行编码,例如 「Lexicon-based Graph Network」(LGN) 与 「Collaborative Graph Network」(CGN)。由于图结构并不能完全消除 NER 对序列结构的依赖性,这些方法需要使用 LSTM 作为底层编码器,从而增加了模型的复杂性。

本论文针对当前相关模型的局限性,提出了面向中文 NER 的 「FLAT」 模型。FLAT 模型基于 Transformer 实现,能够利用全连接的 self-attention 来对序列中的长距离依赖建模。为了得到位置信息,Transformer 为序列中的每个 token 引入了位置表示(编码),类似地,在 FLAT 中针对 Lattice 结构设计了一种巧妙的位置编码,如上图 (c) 所示。具体来说,对于一个 token(字符或词语),其会包含两个位置索引:「头位置」「尾位置」,基于这两个位置信息可以将一个 token 集合还原为 Lattice 结构,从而实现直接使用 Transformer 来建模 Lattice 输入。对于 FLAT 来说,Transformer 的自注意力机制可以使得字符直接与任意潜在词语交互,包括自包含词语,例如「药」的自包含词语有「药店」「人和药店」。实验结果表明该模型在中文 NER 上的表现与推理速度要优于其他基于词汇的方法。

2 模型

2.1 Transformer 原理概述

本节将对 Transformer 的架构进行简要介绍。对于 NER 任务,我们只需要用到 Transformer encoder,其由「自注意力层」「前馈网络」(FFN)两层组成,每个子层都接了残差连接与层归一化,如下图所示,其中 FFN 是一个位置独立的多层非线性感知机。

对于自注意力层,Transformer 通过独立计算多个头部的 attention 并将其结果按一定权重进行拼接以得到最终的输出,每个头部的计算公式如下:

其中 是 token 的嵌入(第一层)或上一层的输出,

为可学习的参数,且 为每个头部的维数。此外,原始 Transformer 中通过绝对位置编码来捕获序列信息,而 FLAT 中则使用了 Lattice 的「相对位置」进行编码。

2.2 将 Lattice 转化为平面结构

基于词汇表从字符得到一个 Lattice 结构后,我们可以将其展成平面。Flat-lattice 可以被定义为一系列「片段」(span)的集合,每个片段对应一个 「token」、一个 「head」 与一个 「tail」,其中 token 是一个字符或词语,head 与 tail 定义该 token 的首字符与尾字符的在原始序列中的位置索引。对于字符来说,head 与 tail 是相同的。

我们可以通过一个简单的算法来将 flat-lattice 恢复到原始的结构:首先选择 head 与 tail 相同的 token,恢复字符序列;然后对于其他 token 基于 head 与 tail 构建跳跃路径。由于上述转换是可恢复的,文章假定 flat-lattice 能够保持 lattice 原始结构中的所有信息。

2.3 片段的相对位置编码

Flat-lattice 结构由不同长度的片段组成,为了编码片段之间的交互,本文提出了一种编码片段相对位置的方法:对于两个片段 ,他们之间存在三种关系:「相交」「包含」「分离」,这取决与其头与尾的位置。我们将通过一个密集向量来建模这些关系,而不是直接对其进行编码,以包含片段间的更多的细节信息。具体来说,令 表示片段 的头位置与尾位置,我们将通过以下四种相对距离来表明 之间的关系:

最终的相对位置编码通过四个距离的简单非线性变化得到:

其中 是可学习的参数, 表示连接算子(加权和), 的计算方式与原始 Transformer 相同:

其中 表示四种距离中的一种, 表示位置编码的维数的索引(具体的某一维,根据奇偶决定是正弦还是余弦)。自注意力的计算方式采用了原始方法的一个变种(与 transfomer-XL 和 XLNet 相同),具体公式为:

其中 为可学习的参数。公式 (1) 中的 会被 替代,后续的计算方式与原始 Transformer 相同。

经过 FLAT 之后,我们仅将得到的字符表征进行输出,连接到「条件随机场」中进行实体识别(这一部分的原理之后会通过其他文章详述)。FLAT 的整体结构如下图所示:

3 实验

论文使用了四种中文 NER 数据集进行模型评估,基线模型选用 BiLSTM-CRF 与 TENER,并针对不同的对比使用了不同的词汇表。总体跑分(平均 F1 score)结果如下所示,总的来看,不被 mask 的完整 FLAT 模型在所有数据集上均取得了最佳表现。

进一步地,为了检验 FLAT 的两大优势:字符与自包含词语的直接交互以及对长距离依赖的建模,论文分别对自包含词语与字符之间以及长距离词语之间的 attention 进行遮罩后进行了测试,结果表明「自包含词语」相较于「长距离依赖」带来了更大的性能下降。

在计算效能方面,不同模型在 Ontonotes 数据集上的推理速度结果比较如下图所示,由于 FLAT 的简洁性,其可以更有效的进行并行计算,大幅提升推理速度。

此外,论文还评估了 FLAT 相比 TENER 在 NER 上的具体性能提升,以及 FLAT 与 BERT 的兼容性,具体结果可以参考原文。

4 总结

本文提出了一种包含词汇信息的 Flat-lattice Transformer 模型,用于中文 NER 任务。模型的核心是将 Lattice 结构转化为一系列片段的集合,并融入可训练的相对位置编码。试验结果表明模型在预测性能与推理速度上都要优于其他基于词汇的模型。

PS:在相关工作中,作者提到了一篇将 Lattice 与 Transformer 结合的类似文章:「Porous Lattice Transformer」,并指出 FLAT 与模型的主要区别在于对位置信息的表示差异。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-12-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 口仆 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
FLAT——中文NER该怎么做
「Key insight」: 本文在Lattice LSTM(ACL 2018)[1]的基础上作出了两方面的改进:
NewBeeNLP
2021/03/03
1.9K0
FLAT——中文NER该怎么做
NAACL'22 | 华为提出中文NER领域最新SOTA
每天给你送来NLP技术干货! ---- 来自:克鲁斯卡 Delving Deep into Regularity: A Simple but Effective Method for Chinese Named Entity Recognition Accepted at NAACL 2022 Findings 4月7日,NAACL 2022公布论文入选名单,由华为云语音语义创新Lab多名研究者撰写的论文被NAACL 2022 Findings接收,趁热和大家一起学习一下 文章大纲 Abstract
zenRRan
2022/09/14
2.3K0
NAACL'22 | 华为提出中文NER领域最新SOTA
命名实体识别新SOTA:改进Transformer模型
TENER: Adapting Transformer Encoder for Name Entity Recognition
AI科技评论
2019/11/28
2.5K0
命名实体识别新SOTA:改进Transformer模型
NeurIPS 2022 | 基于Transformer的「中文命名实体识别(NER)」新模型--NFLAT
 近年来,FLAT-lattice Transformer在中文命名实体识别(NER)中取得了巨大成功。然而,当处理较长的文本时,该方法会显著增加自注意模块的内存和计算成本。为此本文提出一种新的词汇增强方法InterFormer,实现NFLAT,该方法内存用量可减少50%,且实验结果优于最先进的character-word混合模型。
ShuYini
2022/12/06
1.8K0
NeurIPS 2022 | 基于Transformer的「中文命名实体识别(NER)」新模型--NFLAT
一文读懂 Transformer 神经网络模型
自从最新的大型语言模型(LLaM)的发布,例如 OpenAI 的 GPT 系列、开源模型 Bloom 以及谷歌发布的 LaMDA 等,Transformer 模型已经展现出了其巨大的潜力,并成为深度学习领域的前沿架构楷模。
Luga Lee
2023/09/22
43.9K1
一文读懂 Transformer 神经网络模型
中文NER的那些事儿5. Transformer相对位置编码&TENER代码实现
这一章我们主要关注transformer在序列标注任务上的应用,作为2017年后最热的模型结构之一,在序列标注任务上原生transformer的表现并不尽如人意,效果比bilstm还要差不少,这背后有
风雨中的小七
2021/11/19
1.3K0
中文NER的那些事儿3. SoftLexicon等词汇增强详解&代码实现
前两章我们分别介绍了NER的基线模型Bert-Bilstm-crf, 以及多任务和对抗学习在解决词边界和跨领域迁移的解决方案。这一章我们就词汇增强这个中文NER的核心问题之一来看看都有哪些解决方案。以下预测结果和代码详见Github-DSXiangLi/ChineseNER
风雨中的小七
2021/07/08
3K2
中文NER的那些事儿3. SoftLexicon等词汇增强详解&代码实现
中文NER的那些事儿5. Transformer相对位置编码&TENER代码实现
这一章我们主要关注transformer在序列标注任务上的应用,作为2017年后最热的模型结构之一,在序列标注任务上原生transformer的表现并不尽如人意,效果比bilstm还要差不少,这背后有
用户4268038
2021/11/18
5600
【技术白皮书】第三章:文字表格信息抽取模型介绍——实体抽取方法:NER模型(上)
深度学习是一个由多个处理层组成的机器学习领域,用于学习具有多个抽象层次的数据表示。典型的层次是人工神经网络,由前向传递和后向传递组成。正向传递计算来自前一层的输入的加权和,并通过非线性函数传递结果。向后传递是通过导数链规则计算目标函数相对于多层模块堆栈权重的梯度。深度学习的关键优势在于表示学习的能力以及向量表示和神经处理赋予的语义合成能力。这允许机器输入原始数据,并自动发现分类或检测所需的潜在表示和处理。
合合技术团队
2022/08/17
1.3K0
【技术白皮书】第三章:文字表格信息抽取模型介绍——实体抽取方法:NER模型(上)
【Pre-Training】关于 Transformer 那些的你不知道的事
本博客 主要 是本人在学习 Transformer 时的「所遇、所思、所解」,通过以 「十六连弹」 的方式帮助大家更好的理解 该问题。
阿泽 Crz
2020/07/29
9380
【Pre-Training】关于 Transformer 那些的你不知道的事
Transformers Assemble(PART III)
第四篇也非常有趣提出将独立的词向量替换成自变量为位置的函数,引入了复数空间综合了词向量和位置向量」
NewBeeNLP
2020/08/26
6340
Transformers Assemble(PART III)
NER的过去、现在和未来综述-现在
命名实体识别(NER, Named Entity Recognition),是指识别文本中具有特定意义的实体,主要包括人名、地名、机构名、专有名词等。
百川AI
2021/10/25
3K0
NER的过去、现在和未来综述-现在
从机器翻译到阅读理解,一文盘点PaddlePaddle官方九大NLP模型
自然语言处理(NLP)主要是研究实现人与计算机之间用自然语言进行有效通信的各种理论和方法。基于神经网络的深度学习技术具有强大的表达能力、端到端解决问题的能力,因而在NLP任务的应用上越来越广泛和有效。
量子位
2019/04/22
7740
从机器翻译到阅读理解,一文盘点PaddlePaddle官方九大NLP模型
【论文解读】IJCAI2019: 面向中文NER 基于lexicon rethinking的CNN模型
论文标题:CNN-Based Chinese NER with Lexicon Rethinking
zenRRan
2020/03/06
2.1K0
【论文解读】IJCAI2019: 面向中文NER  基于lexicon rethinking的CNN模型
【NLP】浅谈 Transformer-based 模型中的位置表示
本文小结:本文主要对原始 Transformer[1]、RPR[2]以及 Transformer-XL[3] 中使用的位置表示方法,进行详细介绍。从最初的绝对位置编码,与单词嵌入相加作为第一层的输入,再到 RPR 提出直接在注意力分数的计算中引入相对位置信息,并学习相对距离的表示矩阵(长度固定),再到 Transformer-XL 中引入偏置信息,并重新使用 Transformer 中的编码公式生成相对距离的表示矩阵,使长度可泛化。
zenRRan
2019/11/19
1.5K0
【NLP】浅谈 Transformer-based 模型中的位置表示
【Pre-Training】Transformer-XL:比 Transformer 强一点
今天学习的是谷歌大脑的同学和 CMU 的同学于 2019 年联合出品的论文《Transformer-XL: Attentive Language Models Beyond a Fixed-Length Context》,目前被引次数超 200 次。
阿泽 Crz
2020/07/21
7520
AAAI 2022 | 基于词对关系建模的统一NER,刷爆14个中英NER数据集
来源:PaperWeekly本文约2600字,建议阅读9分钟本文提出了一个统一命名实体识别框架,通过对词与词之间的关系进行分类的方式同时解决三种命名实体识别子任务。 引言 本研究重新审视了统一命名实体识别中的核心问题,即词与词之间的关系建模,并提出将所有类型的命名实体识别统一采用一种词对关系分类的方法进行建模。所提出的系统广泛地在 14 个命名实体识别数据集刷新了最好的分数。 论文题目: 基于词对关系建模的统一命名实体识别系统 Unified Named Entity Recognition as Wo
数据派THU
2022/05/12
1.3K0
AAAI 2022 | 基于词对关系建模的统一NER,刷爆14个中英NER数据集
A Survey of Transformer 一篇Transformer综述(下)
事实上注意力矩阵的秩是小于序列长度的,而序列特别短的时候,会造成over-parameterization,甚至过拟合。
BBuf
2021/07/01
1.1K0
A Survey of Transformer 一篇Transformer综述(下)
万字长文带你入门Transformer
Transformer在许多的人工智能领域,如自然语言处理(Natural Language Processing, NLP)、计算机视觉(Computer Vision, CV)和语音处理(Speech Processing, SP)取得了巨大的成功。因此,自然而然的也吸引了许多工业界和学术界的研究人员的兴趣。到目前为止,已经提出了大量基于Transformer的相关工作和综述。本文基于邱锡鹏[1]老师团队近日所发表的一篇综述[2]为基础,详细的解读Transformer的来龙去脉,同时为大家介绍近期一些相关工作,中间也会穿插一些笔者的见解。最后,本文也将列出一些可探索的未来研究方向,希望能给予读者一些启发。
AIWalker
2021/07/05
2.4K0
万字长文带你入门Transformer
【技术白皮书】第三章文本信息抽取模型介绍——实体抽取方法:NER模型(下)
新加坡科技设计大学的研究者2018年在论文《Chinese NER Using Lattice LSTM》中提出了新型中文命名实体地识别方法Lattice LSTM。
合合技术团队
2022/08/18
1.1K0
【技术白皮书】第三章文本信息抽取模型介绍——实体抽取方法:NER模型(下)
推荐阅读
相关推荐
FLAT——中文NER该怎么做
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档