作者:JayLou娄杰
链接:https://zhuanlan.zhihu.com/p/343231764
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

谈起中文NER任务,NLPer都不陌生。而如今,提升中文NER指标的主要方式是引入词汇信息,JayJay在之前的综述《中文NER的正确打开方式: 词汇增强方法总结》一文中就详细介绍了中文NER的一些主流方法,而SOTA属于FLAT[1]。

最近arxiv上的一篇paper《Lex-BERT: Enhancing BERT based NER with lexicons》将词汇信息作为标识符引入到input中,并超越了FLAT的结果。

Lex-BERT相比于FLAT有三点优势:

  1. 不需要利用word embedding;
  2. 可以引入实体类型type信息,作者认为在领域内,可以收集包含类型信息的词汇;
  3. 相比FLAT,Lex-BERT推断速度更快、内存占用更小;

一个题外话:JayJay之所以在标题中打了个问号(?),只是觉得不能就此下结论“Lex-BERT超越FLAT”,毕竟还是需要先有一个带有实体类型信息的高质量词表啊~但FLAT等用到的词向量是很容易获取的。

JayJay之所以还要介绍Lex-BERT,主要想强调:将 词汇/实体信息作为标识符 引入文本输入中,对于NER和关系抽取都还是有明显增益的。你再回想回想陈丹琦的《反直觉!陈丹琦用pipeline方式刷新关系抽取SOTA》,就体会到其中的“异曲同工”之处了。

SOTA回顾:FLAT

FLAT的设计十分简单巧妙。如上图所示,具体地设计了一种巧妙position encoding来融合Lattice 结构,具体地,对于每一个字符和词汇都构建两个head position encoding 和 tail position encoding。相关词汇共享相关token的position信息。FLAT可以直接建模字符与所有匹配的词汇信息间的交互,例如,字符[药]可以链接词汇[人和药店]和[药店]。

相关实验表明,FLAT有效的原因是:新的相对位置encoding有利于定位实体span,而引入词汇的word embedding有利于实体type的分类。

Lex-BERT:简单到爆!

Lex-BERT方式其实很简单,前提是要有一个拥有类型type信息的词汇表。论文作者共给出了2个版本的Lex-BERT,如上图所示:

  • Lex-BERT V1: 将type信息的标识符嵌入到词汇前后,例如,上图中[v][/v]代表医学相关的动词。
  • Lex-BERT V2: 将type信息的标识符拼接input后,然后与原始word起始的token共享相同的position embedding。此外,在attention层中,文本token只去attend文本token、不去attend标识符token,而标识符token可以attend原文token。

上图给出了Lex-BERT与FLAT(本文的FLAT实际是FLAT+BERT的结果)的指标对比,可以看出,Lex-BERT V1和V2均超过了FLAT,Lex-BERT V2领先更大。

上图给出了Lex-BERT与FLAT的推断速度和内存占用对比,相比FLAT,Lex-BERT推断速度更快、内存占用更小。

划重点:将词汇/实体类型信息当作标识符引入,增益明显!

看完Lex-BERT V1和V2的框架后,你是否感觉和女神的关系抽取SOTA很“雷同啊”?我们赶紧来回顾一下关系模型和“近似模型”吧:

  • 关系模型:如上图(b)所示,对所有的实体pair进行关系分类。其中最重要的一点改进,就是将实体边界和类型作为标识符加入到实体Span前后,然后作为关系模型的输入。
  • 近似关系模型:如上图(c)所示,将实体边界和类型的标识符放入到文本之后,然后与原文对应实体共享位置向量。上图中相同的颜色代表共享相同的位置向量。哈哈,这是不是借鉴了FLAT的结构呢?

其实,Lex-BERT和关系抽取SOTA,都是将类型信息当作标识符引入到输入文本中的。值得一提的是:Lex-BERT V2 和 近似关系模型 都借鉴了FLAT的方式,将标识符放入到文本之后,通过共享位置向量来建立软连接。

所以,本文主要想强调:将 词汇/实体信息作为标识符 引入文本输入中,对于NER和关系抽取都还是有明显增益的

Lex-BERT:超越FLAT的中文NER模型?相关推荐

  1. FLAT:中文NER屠榜之作!

    文 | JayLou娄杰 编 | YY 近年来,引入词汇信息逐渐成为提升中文NER指标的重要手段.ACL2020中一篇来自复旦大学邱锡鹏老师团队的 FLAT: Chinese NER Using Fl ...

  2. LEBERT:基于词汇增强的中文NER模型

    01 任务概述 命名实体识别(简称NER)是NLP中的经典任务,即给定一个输入文本,让模型识别出文本中的实体信息. 在中文NER任务中,可以分为 Character-based (字符粒度) 和 Wo ...

  3. 中文NER涨点神器!基于多元数据的双流Transformer编码模型

    ©PaperWeekly 原创 · 作者 | 宁金忠 学校 | 大连理工大学博士生 研究方向 | 信息抽取 本篇论文发表于 ACL 2021,作者聚焦于中文 NER 任务.近些年来,在模型中引入词汇信 ...

  4. ​中文NER最新屠榜力作——LEBERT

    ©PaperWeekly 原创 · 作者 | 宁金忠 学校 | 大连理工大学博士生 研究方向 | 信息抽取 近年来,向模型中注入词汇信息进行词汇增强已经成为一种有效提升中文 NER 性能的方式.本文分 ...

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

    BERT-BiLSMT-CRF-NER Tensorflow solution of NER task Using BiLSTM-CRF model with Google BERT Fine-tun ...

  6. BERT-BiLSTM-CRF基于BERT预训练的中文命名实体识别TensorFlow实现

    向AI转型的程序员都关注了这个号???????????? 机器学习AI算法工程   公众号:datayx Tensorflow solution of NER task Using BiLSTM-CR ...

  7. spaCy 2.1 中文NLP模型

    spaCy是最流行的开源NLP开发包之一,它有极快的处理速度,并且预置了词性标注.句法依存分析.命名实体识别等多个自然语言处理的必备模型,因此受到社区的热烈欢迎.中文版预训练模型包括词性标注.依存分析 ...

  8. 中文NER任务简析与深度算法模型总结和实战展示

    目录 一.中文NER定义 1.什么是NER 2.怎么来完成NER 3.NER标注体系 二.基于pytoch和TensorFlow的深度学习算法NER实战 1.算法概览 2.算法实战 A.BiLstm+ ...

  9. bert中文分类模型训练+推理+部署

    文章预览: 0. bert简介 1. bert结构 1. bert中文分类模型训练 1 下载bert项目代码 代码结构 2 下载中文预训练模型 3 制作中文训练数据集 2. bert模型推理 1.te ...

最新文章

  1. 职中计算机应用教学方法,职中《计算机应用基础》教学心得体会
  2. 大剑无锋之Hive调优【面试推荐】
  3. 计算机对油画的影响,现代电脑美术影响下的油画艺术创作
  4. python echo命令_如何用Python调用外部命令
  5. WordPress 默认主题自定义页面模板
  6. 前端面试常考题:JS垃圾回收机制
  7. Pandas将列表(List)转换为数据框(Dataframe)
  8. Javascript设置定时请求
  9. 数据结构 创建顺序栈
  10. python中的进程(二)
  11. 机器学习常见的优化算法
  12. html css 鼠标手势,CSS设置鼠标手势:cursor属性说明
  13. 干净下潜声阔的贝斯混音教程|我要为贝斯手讨个公道!让粉丝们都能听清楚贝斯声|MZD Studios
  14. 第二次作业,问卷星的使用
  15. 移动服务器位置,移动协同服务器地址是怎么设置
  16. python之轻量级框架flask开发接口,操作数据库
  17. IDEA Spring facet的意思
  18. 一个基于信息论的人生观
  19. 今天汉化了一个便签软件A note,遵守GNU的自由软件
  20. java读取文件夹下所有文件并替换文件每一行中指定的字符串

热门文章

  1. Python教程:collections的deque()方法
  2. python 中文件输入输出及os模块对文件系统的操作
  3. Python爬取大量数据时,如何防止IP被封
  4. 日本计算机科学家谷歌评审,高一被清华姚班录取, 高三委拒谷歌offer, 一个重度网瘾少年到理论计算机科学家的蜕变...
  5. 源 arm_arm和X86处理器性能简单测试
  6. jan java c 生成 dll_Java配置----JDK开发环境搭建及环境变量配置
  7. web前端入门学习 html5(2)
  8. win10如何使用语音输入文字功能?(语音识别)
  9. 图像识别 标注(annotation)的反向优化策略
  10. tensorflow GPU笔记