论文地址

https://arxiv.org/pdf/1911.04474.pdf

算法介绍

NER 是一个根据输入的句子,预测出其标注序列(实体的序列)的过程
对于模型来说,一般来说有这么几个组成部分:Input Embedding + BiLSTM / Transformer / ... + Linear(softmax) + CRF

  1. 其中 Input Embedding 是将文本字符 / 词语嵌入到稠密向量
  2. BiLSTM / Transformer 等是文本特征提取器
  3. Softmax 层是一个分类器,作用是计算每个字符属于哪个 label(多分类问题:这里的 label 就是 B-slot + I-slot + Other,也就是 Begin,Intermediate,Other)
  4. CRF 则是通用的条件随机场算法,其实就是一个解马尔可夫链的过程,对上层神经网络得到的概率序列进行修正(比如图中的例子,上层网络 softmax 计算出结果是:B-person → I-person → O → … → B-Organization,我们知道 B 是 begin 的意思,一般是不会出现在一个 query 的结束的,而这个 case 里,CRF 层对其进行修正,改为了 I-organization)

论文背景:

在此之前,双向长短时记忆网络 (BiLSTMs) 被广泛用于命名实体识别 (NER) 任务的编码器(以及其他各种 NLP 任务的编码器 decoder)。近年来,全连接自注意架构 (Transformer) 因其并行性和对长距离上下文建模的优势被广泛应用于各种自然语言处理 ( NLP ) 任务,且大都取得了比 RNNs 结构更优的效果。然而普通的 Transformer 在 NER 中的效果却落败于 BiLSTM。

因此,本文提出了一种 NER 结构 TENER,采用 adapted Transformer Encoder (改进的 Transformer 编码器)进行 NER 任务的训练。
char 表示字符级别的预训练 embedding(避免 word 级别的 out-of-vocabulary 未登录词语问题),bichar 表示双字符的预训练 embedding (类似于 CNNs 中的多窗口大小,输入更丰富的文本特征)。论文通过对这两种 input 进行 concat 建模。通过结合方向感知、距离感知和无尺度注意,证明了 Transformer 结构同样适用于 NER 任务,并能获得比较好的效果。

论文核心优化点一:方向和距离感知的注意力(attention)

我们知道,Transformer 使用的是 self-attention 的机制,会计算每个字符与其他字符的相似度,并对 input embedding 进行加权,它相比于 RNNs 和 CNNs 的优势就在于,避免了长距离依赖的问题(RNNs 越到末尾,起始字符的权重越低,CNNs 的窗口长度有限);但是它的劣势是缺失了方向信息和距离信息,为了赋予 Transformer 方向和距离感知能力,作者提出了一种改进的相对位置编码。

首先看下原始的 Attention 在位置嵌入时有什么问题:

问题一:方向无感知

我们知道,transformer 的输入是有三个向量组成的:token embedding、position embedding、segment embedding
:这是第 t 个位置 token 的初始化位置嵌入向量(省略计算步骤)
:第 t 和第 t + k 个 token 之间的内积,其中 cj = 1/10000**2j/d 只和向量维度 d 以及当前值在向量中的位置 index j 相关(省略计算步骤)

因此:最终两个 token 之间基于位置嵌入的内积仅取决于相对偏移量 k,而且由于 cos(x) = cos(-x) ,所以对称位置的值是相等的。也就是说原始 Transformer 提出的位置嵌入考虑了相对位置,但是相对方向它却无法知道

问题二:距离无感知

我们知道,attention 核心的一点就是构造 Q、K、V 矩阵(Q, K, V = HWq, HWk, HWv,即由原始 input 矩阵,各自乘一个参数矩阵)
并由 Q & K 计算 attention score,加权到 V 上计算出最终的 value 矩阵:
因此,两个 token 的位置嵌入并不是直接内积,而需要先经过一次变换,所以 t 位置字符 和 t+k 位置字符的 position embedding 内积其实是:

下图中上面的蓝线是无 W 映射时,PEt & PEt+k 內积结果是对称的,下面的两条绿线和红线表示 PEt & PEt+k 经过随机参数矩阵 W 映射以后各自的结果,因此我们可以明显的得出结论,这两条曲线进行內积计算后,一定不是对称的,因此对距离也是无感知的。

解决一:TENER 对方向无感知的改动

原来的方向无感的计算方式是(与上文稍稍不同的地方是用 j = t + k 进行了代替):
sin 函数对方向是敏感的( sin(x) = - sin(-x) ),因此论文进行的优化是插入 sin 项(每个 index 有两个值):
因此对于相反方向的 token,二者內积结果是有方向性的(R(t-j) = PEtPEj):

解决二:距离无感知 Attention 计算的改动

在 Attention 计算中加入了 QtRt-j 以及 uKj 两个基于距离的偏置(核心改动 - 式 18) :
其中:Rt-j 是基于距离的內积,uKj 是基于 j 位置的 key 向量的 bias
所以加入了这几项后,能够得到关于当前词 t 与其他所有 j 的 有感知的、有方向的 Attention score

论文核心优化点二:非缩放的点乘注意力

普通 Transformer 的注意力分布是缩放和平滑的( / √dk):

但对于 NER 来说,稀疏 attention 是合适的,因为实体大多数情况下只和某几个词相关,不是所有的单词都需要注意,平滑注意力可能包含一些噪声信息。
因此,模型在没有比例因子 dk 的情况下注意力会更敏锐,效果更好。作者放弃点积 attention,而使用非缩放的点乘注意力机制
作者的实验也证明了这个结论(最后一行是带有平滑时的效果,倒数第二行是去除平滑的效果)

TENER: Adapting Transformer Encoder for Named Entity Recognition 论文详解相关推荐

  1. TENER: Adapting Transformer Encoder for Named Entity Recognition 笔记

    TENER: Adapting Transformer Encoder for Named Entity Recognition Abstract(摘要) 1 Introduction(介绍) 2 R ...

  2. TENER: Adapting Transformer Encoder for Named Entity Recognition

    Transformer编码器用于命名实体识别.         用于ner识别的最常见深度学习模型应该就是bilstm了:但是在transformer大热的现在当然也少不了ner这个任务场景.本文就是 ...

  3. TENER: Adapting Transformer Encoder for Name Entity Recognition

    TENER: Adapting Transformer Encoder for Name Entity Recognition 来源:arxiv 链接:https://arxiv.org/pdf/19 ...

  4. TENER: Adapting Transformer Encoder for Named Entity Recogni

    论文要点 这篇文章应该是第一篇使用Transformer取得比较好效果的论文,分析了Transformer的特性,同时提出两种改进: 原本position embedding只体现了距离,但没有方向性 ...

  5. MECT: Multi-Metadata Embedding based Cross-Transformer forChinese Named Entity Recognition论文解析

    <MECT: Multi-Metadata Embedding based Cross-Transformer forChinese Named Entity Recognition>的论 ...

  6. A Survey on Deep Learning for Named Entity Recognition论文笔记

    前言:研究课题定为特定领域的命名实体识别,所以先阅读一篇综述,在此简单记录阅读过程. 摘要 在文章中,首先介绍现有的NER资源,包括标记的NER语料库及现成的NER工具,然后对现有的工作进行了分类:输 ...

  7. 多模态 |COGMEN: COntextualized GNN based Multimodal Emotion recognitioN论文详解

    论文:COGMEN: COntextualized GNN based Multimodal Emotion recognitioN COGMEN: 基于GNN的多模态情感识别技术 论文实现可参考另外 ...

  8. 【论文笔记-NER综述】A Survey on Deep Learning for Named Entity Recognition

    本笔记理出来综述中的点,并将大体的论文都列出,方便日后调研使用查找,详细可以看论文. 神经网络的解释: The forward pass com- putes a weighted sum of th ...

  9. 【论文精读】A Survey on Deep Learning for Named Entity Recognition

    A Survey on Deep Learning for Named Entity Recognition 前言 Abstract 1. INTRODUCTION 2. BACKGROUND 2.1 ...

最新文章

  1. 与1000天的我约定
  2. 64位LINUX下hadoop2.2.0重新编译及安装步骤
  3. 华中数控机器人编程循环三次_数控机床固定循环编程(G80~G84)详解
  4. 大数据反欺诈技术架构
  5. 21-break、continue、return语句理解
  6. matlab求傅里叶级数展开式_连续时间的傅里叶级数
  7. JVM(2)--OutOfMemoryError实战
  8. html中的灵动标签,《帝国网站管理系统》一招鲜吃天遍天系列教程之 灵动标签使用...
  9. 非受检异常(运行时异常)和受检异常的区别等
  10. 深入理解strcpy,strncpy
  11. 解决办法:undefined reference to symbol 'pthread_mutexattr_settype@@GLIBC_2.2.5'
  12. vue 字符存在_vue中如何渲染字符串,字符串是组件类型的
  13. 怎样邀请别人加入企业微信?
  14. 激光防护屏 激光防护屏
  15. 第五十三回 关云长义释黄汉升  孙仲谋大战张文远
  16. Android Studio 中Locat使用包名过滤无法显示的问题
  17. php footer'=%3e2,为基于Wordpress的博客添加CNZZ统计代码
  18. java 查找英语单词相似度,用于单词匹配,法1
  19. 计算机毕业设计springboot+vue基本微信小程序的校园二手商城的设计与实现
  20. 基于PHP的旅游网站的开发与设计

热门文章

  1. jqgrid php 实例下载,jquery增加时编辑jqGrid(实例代码)
  2. 2012-5-31 参加云时代质量的力量论坛与 16 届软件展览会的一些收获
  3. docker最小jdk镜像
  4. buu练题记录12-[网鼎杯 2020 青龙组]jocker
  5. 取消任务栏快捷键翻转_Windows任务栏最有用的键盘快捷键
  6. Mac 系统中各个文件夹详细介绍
  7. 冀州职教计算机专业,冀州职教中心2021年招生简章
  8. Kotlin中的委托
  9. 各省市各区中心点经纬度数据(更新至2021年)
  10. Revit二次开发知识分享(十七)梁板柱开洞的使用