FLAT:Flat-LAttice Transformer
中文NLP的一个问题,就是中文的字除了句句之间有标点符号之外都是连在一起的,不像英文词语是单独分割的。中文NLP处理一般会有2种方式:
基于字的,char-level。现在比较常用的方法,但会缺少词组的语义信息。
基于词的,word-level。词组一般是切词来的,相比字有更多的信息。但切词会引入错误词组。同时会有OOV的问题。
这2者有各自的优点和缺点。那有没有办法将2者进行结合呢?
Lattice LSTM
《Chinese NER Using Lattice LSTM》 2018
基于char-level的BiLSTM-CRF模型如下:
基于word-leve的BiLSTM-CRF模型如下:
Lattice LSTM是一个有向无环图(DAG),将序列中的词汇信息(word-level)融入到了字信息(char-level)中。具体做法是将词汇信息融入到该词汇最后一个字的信息中。比如,如下图所示,它会将“南京市”的word embedding融入到“市”的word embedding中。
对于每个字符来说,会融合以该字符结束的所有词汇word信息,如对于「桥」融合了「长江大桥」和「大桥」信息。这里,词汇word个数不定,并采用注意力机制的方式进行融合。
Lattice LSTM有效的在char-level的基础上,融入word-level信息,并且不过分依赖word-level信息,避免因切词错误带来的传播误差。但其也存在一些缺点,比如1)性能差,batch不能并行,因为每个字符融合的word个数不一致;2)每个字符只记忆以其结尾的word,对于之前的词汇并无记忆;3)只使用lstm,无法迁移到其他模型。
FLAT
《FLAT: Chinese NER Using Flat-Lattice Transformer》2020
Flat-Lattice (展平的Lattice结构),是Lattice LSTM网络的展平的版本。FLAT为lattice结构引入了position encoding,对一个token增加了head position和end position。
我们可以看下如下2张图,图1是Lattice LSTM结构,图2是FLAT Lattice结构。我们可以想象一下,将图2中首尾位置相同的字(比如‘重’)取出形成一条链,然后将位置不同的词(比如‘重庆’)根据首尾位置信息,通过连线形成相应的跳转路径,即可得到图1的结构。
图2的这种结构有个好处,可以将图结构转换成简单的线性结构形式,从而可以并行计算,提高计算的性能。
FLAT将潜在词和输入的句子进行了拼接,潜在词和潜在词之间有 重叠、包含、分离 三种关系(例如上图中 人和药店 和 人和),采用绝对位置已经无法满足,因此本文提出相对位置关系。
位置i和位置j的相对位置计算方式如下:
Rij=RELU(Wr(pdij(h,h)⊕pdij(t,h)⊕pdij(h,t)⊕pdij(t,t)))
其中dij(h,h),dij(h,t),dij(t,h),dij(t,t)分别描述了单词和单词之间的关系。
dij(h,h)=head[i]−head[j]
dij(h,t)=head[i]−tail[j]
dij(t,h)=tail[i]−head[j]
dij(t,t)=tail[i]−tail[j]
pdij(h,h)就是对两个单词head和head之间相对关系的编码。
pd2k=sin(d/100002k/dmodel)
pd2k+1=cos(d/100002k/dmodel)
FLAT模型的整体架构如下图所示:
FLAT:Flat-LAttice Transformer相关推荐
- FLAT:Chinese NER Using Flat-Lattice Transformer
摘要 近年来,汉字lattice结构被证明是一种有效的中文命名实体识别方法.然而,由于网格结构的复杂性和动态性,现有的基于网格的模型难以充分利用gpu的并行计算能力,推理速度通常较低.在本文中,我们提 ...
- 论文阅读《FLAT:Chinese NER Using Flat-Lattice Transformer》
总结 flat的源码你确定你能看懂??各种调库的操作对小白也太不友好了吧~ 本博客分成两部分,第一部分(part1)主要描述了一下复现flat可以参考的文档,数据集等:第二部分(part2)主要讲了论 ...
- FLAT:中文NER屠榜之作!
文 | JayLou娄杰 编 | YY 近年来,引入词汇信息逐渐成为提升中文NER指标的重要手段.ACL2020中一篇来自复旦大学邱锡鹏老师团队的 FLAT: Chinese NER Using Fl ...
- 【论文解读系列】NER方向:FLAT (ACL 2020)
更多.更及时内容欢迎留意微信公众号: 小窗幽记机器学习 文章目录 模型结构 将Lattice结构平铺 span的相对位置编码 FLAT(2020) FLAT 出自 ACL 2020 FLAT: Chi ...
- Agora Flat:在线教室的开源初体验
开发者其实很多时候都非常向往开源,开源领域的大佬也特别多,我们谈不上有多资深,也是一边探索一边做.同时,也希望可以借这次机会把我们摸索到的一些经验分享给大家. 01 Flat 是什么 Flat 是一个 ...
- 张俊林:BERT和Transformer到底学到了什么 | AI ProCon 2019
演讲嘉宾 | 张俊林(新浪微博机器学习团队AI Lab负责人) 编辑 | Jane 出品 | AI科技大本营(ID:rgznai100) [导读]BERT提出的这一年,也是NLP领域迅速发展的一年.学 ...
- 面经:什么是Transformer位置编码?
↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale干货 作者:陈安东,中央民族大学,Datawhale成员 过去的几年里,Tra ...
- Google综述:细数Transformer模型的17大高效变种
作者 | 黄浴 来源 | 知乎 在NLP领域transformer已经是成功地取代了RNN(LSTM/GRU),在CV领域也出现了应用,比如目标检测和图像加注,还有RL领域.这是一篇谷歌2020年9月 ...
- Paper:《Spatial Transformer Networks》的翻译与解读
Paper:<Spatial Transformer Networks>的翻译与解读 目录 <Spatial Transformer Networks>的翻译与解读 Abstr ...
最新文章
- LeetCode实战:求众数
- pycharm 选择变量画图_pycharm画图并显示
- 有空时深入阅读这两篇文章
- 英语学习笔记2019-10-11
- Linux输入子系统:输入设备编程指南 -- input-programming.txt
- sql关系数据库计算机,关系数据库语言SQL - 淮阴工学院计算机工程实验中 ….ppt...
- ios信息交互 协议的使用
- MeteoInfo 生成等值面
- ILOM escalation mode下的管理命令用法几输出
- PS抠头发妙法(原创技巧)
- Mac 外接键盘Command键( Windows 徽标键)失效
- NASA准备在2021年推出最大望远镜!哈佛用棉花糖机造“肉”?
- CRF as RNN
- 基于UE -Traffic_ SINR – Statistics — 手机在线视频流量对业务速率、小区容量影响分析
- 【c#】键盘事件(keypress keydown keyup)
- arcgis图斑尖角检查_arcgis 定位图斑,并且高亮显示
- ABP+AdminLTE+Bootstrap Table权限管理系统第五节--WBEAPI及SwaggerUI
- 基于ectd实现go的服务注册
- 凸优化学习:PART3凸优化问题(持续更新)
- 遨博协作机器人ROS开发 - Intel RealSense深度相机ROS驱动
热门文章
- 毕业设计 单片机MP3音乐播放器 - 物联网 嵌入式
- 延长数据中心使用年限的低成本方法
- vba根据内容调整word表格_分析报告自动化——Excel与Word数据互通
- Python Tkinter详解 (一)窗体的创建
- Android系统默认打开开发者选项中的TP触摸开关
- matlab一般函数的绘制方法,基于MATLAB的函数图像绘制方法
- python中gevent模块使用及出现MonkeyPatchWarning: Monkey-patching ssl after ssl has already been imported may
- 变电站运维云平台系统在台商大厦的设计与应用
- 晨曦记账本,使用项目图表统计收支账户
- 一篇文章读懂 React and redux 前端开发 -DvaJS, a lightweight and elm-style framework.