外贸网站制作要求,中小型企业网络搭建案例,杭州模板网站建设,wordpress主题示例页面本文转载自公众号“夕小瑶的卖萌屋”#xff0c;专业带逛互联网算法圈的神操作 -----》我是传送门 关注后#xff0c;回复以下口令#xff1a; 回复【789】 #xff1a;领取深度学习全栈手册#xff08;含NLP、CV海量综述、必刷论文解读#xff09; 回复【入群】#xf… 本文转载自公众号“夕小瑶的卖萌屋”专业带逛互联网算法圈的神操作 -----》我是传送门 关注后回复以下口令 回复【789】 领取深度学习全栈手册含NLP、CV海量综述、必刷论文解读 回复【入群】加入卖萌屋深度学习/NLP/CV/搜广推等方向的技术交流与内推社群大V、顶会审稿人云集 回复【0511】领取算法岗面试手册刷offer神器 回复【0424】领取刷论文神器挖掘每日、每月必刷重磅论文 文 | JayLou娄杰 编 | YY 近年来引入词汇信息逐渐成为提升中文NER指标的重要手段。ACL2020中一篇来自复旦大学邱锡鹏老师团队的 FLAT: Chinese NER Using Flat-Lattice Transformer 刷新了中文NER任务的新SOTA。 如上图所示在MSRA-NER任务中FLATBERT登顶榜首而单独的FLAT1层TransFormer也超越了预训练模型ERNIE。相比于之前引入词汇信息的中文NER工作FLAT主要创新点在于 基于Transformer设计了一种巧妙position encoding来融合Lattice结构可以无损的引入词汇信息。 基于Transformer融合了词汇信息的动态结构支持并行化计算可以大幅提升推断速度。 下面让我们看看FLAT是如何登顶榜首的 论文链接https://arxiv.org/pdf/2004.11795.pdf 开源代码https://github.com/LeeSureman/Flat-Lattice-Transformer Arxiv访问慢的小伙伴也可以在【夕小瑶的卖萌屋】订阅号后台回复关键词【0907】下载论文PDF~ 背景 中文NER为什么要引入词汇信息? 不同于英文NER中文NER通常以字符为单位进行序列标注建模。这主要是由于中文分词存在误差导致 基于字符 通常要好于 基于词汇 经过分词的序列标注建模方法。 那中文NER是不是就不需要词汇信息呢答案当然是否定的。引入词汇信息的好处在于 引入词汇信息往往可以强化实体边界特别是对于span较长的实体边界更加有效。 引入词汇信息也是一种增强方式。对于NLP分类任务增益明显的数据增强方法往往不能直接应用于NER任务并且指标增益也极为有限。相反引入词汇信息的增强方式对于小样本下的中文NER增益明显。 下文将引入词汇信息增强中文NER性能的方法称为 词汇增强。 词汇增强的方式有哪些 词向量词汇列表利用一个具备良好分词结果的词向量亦或者不再利用词向量仅利用词汇或者实体边界信息通常可通过图网络提取相关信息。这种增强方式主要有2大范式 Dynamic Architecture设计一个动态抽取框架能够兼容词汇输入本文所介绍的FLAT就属于这一范式。 Adaptive Embedding基于词汇信息构建自适应Embedding与模型框架无关。ACL2020中的 Simplify the Usage of Lexicon in Chinese NER[1] 就属于这一范式仅仅在embedding层融合词汇信息对于词汇信息的引入更加简单有效采取静态加权的方法可以提前离线计算。 分词器单一的分词器会造成边界错误可以引入多源分词器并pooling不同分词结果。ACL2020中有篇处理中文预训练的文章[2]就将多种分词结果中词汇信息pooling对齐到字符编码中。 如何在中文NER模型中引入词汇信息是近年来中文NER的一个研究重点。下图展示了各大顶会中词汇增强NER的主要进展 由于篇幅所限本文将包含FLAT在内多种词汇增强方式进行了对比感兴趣的同学可以进一步阅读有关文献。 Lattice LSTM 要想更系统的理解FLAT就必须掌握Lattice LSTM[3]这篇论文这是针对中文NER任务引入词汇信息的开篇之作。文中提出了一种Lattice LSTM用于融合词汇信息。如下图所示当我们通过词汇信息词典匹配一个句子时可以获得一个类似Lattice的结构。 Lattice是一个有向无环图词汇的开始和结束字符决定了格子位置。Lattice LSTM结构则融合了词汇信息到原生的LSTM中 如上图所示Lattice LSTM引入了word cell结构对于当前的字符融合以该字符结束的所有word信息如「店」融合了「人和药店」和「药店」的信息。对于每一个字符Lattice LSTM采取注意力机制去融合个数可变的word cell单元其主要的数学形式化表达为 本文不再堆砌繁杂的数学公式具体看参考原论文。需要指出的是当前字符有词汇融入时则采取上述公式进行计算如当前字符没有词汇时则采取原生的LSTM进行计算。虽然Lattice LSTM有效提升了NER性能但也存在一些缺点 信息损失 每个字符只能获取以它为结尾的词汇信息。如对于「药」并无法获得‘inside’的「人和药店」信息。 由于RNN特性采取BiLSTM时其前向和后向的词汇信息不能共享。 Lattice LSTM并没有利用前一时刻的记忆向量 即不保留对词汇信息的持续记忆。 计算性能低下不能batch并行化究其原因主要是每个字符之间的增加word cell看作节点数目不一致不过后续也有工作[4] 将Lattice LSTM进行batch化。 可迁移性差只适配于LSTM不具备向其他网络迁移的特性。 FLAT 由上文分析Lattice-LSTM采取的RNN结构无法捕捉长距离依赖同时引入词汇信息是有损的同时动态的Lattice结构也不能充分进行GPU并行。 此外有一类图网络如CGN[5] 和LGN[6]通过采取图网络来引入词汇信息虽然可以捕捉对于NER任务至关重要的顺序结构但它们通常需要RNN作为底层编码器来捕捉顺序性模型结构更为复杂。 为解决计算效率低下、引入词汇信息有损的这两个问题FLAT基于Transformer结构进行了两大改进 改进1Flat-Lattice Transformer无损引入词汇信息 众所周知Transformer采取全连接的自注意力机制可以很好捕捉长距离依赖由于自注意力机制对位置是无偏的因此Transformer引入位置向量来保持位置信息。 受到位置向量表征的启发FLAT设计了一种巧妙position encoding来融合Lattice 结构具体地情况如上图所示对于每一个字符和词汇都构建两个head position encoding 和tail position encoding这种方式可以重构原有的Lattice结构。 也正是如此FLAT可以直接建模字符与所有匹配的词汇信息间的交互例如字符[药]可以匹配词汇[人和药店]和[药店]。 因此我们可以将Lattice结构展平将其从一个有向无环图展平为一个平面的Flat-Lattice Transformer结构由多个span构成每个字符的head和tail是相同的每个词汇的head和tail是skipped的如下图所示 改进2相对位置编码让Transformer适用NER任务 FLAT使用了两个位置编码head position encoding 和 tail position encoding那么是否可以采用绝对位置编码呢同样来自邱锡鹏老师组的论文TENER: Adapting Transformer Encoder for Named Entity Recognition [7]给出答案原生Transformer中的绝对位置编码并不直接适用于NER任务。 TENER论文发现对于NER任务来说位置和方向信息是十分重要的。 如上图所示在「Inc.」前的单词更可能的实体类型是「ORG」在「in」后的单词更可能为时间或地点。而对于方向性的感知会帮助单词识别其邻居是否构成一个连续的实体Span。可见对于「距离」和「方向性」的感知对于Transformer适用于NER任务至关重要。 但是原生Transformer的绝对位置编码本身缺乏方向性虽然具备距离感知但还是被self-attention机制打破了。 仔细分析BiLSTM在NER任务上的成功一个关键就是BiLSTM能够区分其上下文信息的方向性来自左边还是右边。而对于Transformer其区分上下文信息的方向性是困难的。因此要想解决Transformer对于NER任务表现不佳的问题必须提升Transformer的位置感知和方向感知。 因此FLAT这篇论文采取XLNet论文中提出相对位置编码计算attention score 向右滑动查看完整公式 论文提出四种相对距离表示和 之间的关系同时也包含字符和词汇之间的关系 表示 的head到 的head距离其余类似。相对位置encoding表达式为 向右滑动查看完整公式 的计算方式与vanilla Transformer相同: 实验结果 上图给出了论文的实验结果具体地讲 引入词汇信息的方法都相较于baseline模型biLSTMCRF有较大提升。可见引入词汇信息可以有效提升中文NER性能。 采用相同词表词向量时FLAT好于其他词汇增强方法 FLAT如果mask字符与词汇间的attention性能下降明显这表明FLAT有利于捕捉长距离依赖。 FLAT结合BERT效果会更佳。 如上图所示在推断速度方面FLAT论文也与其他方法进行了对比FLAT仅仅采用1层Transformer,在指标领先的同时、推断速度也明显优于其他方法。 总结 近年来针对中文NER如何更好地引入词汇信息无论是Dynamic Architecture还是Adaptive Embedding这些方法的出发点无外于两个关键点 如何更充分的利用词汇信息、最大程度避免词汇信息损失 如何设计更为兼容词汇的Architecture加快推断速度 FLAT就是对上述两个关键点的集中体现FLAT不去设计或改变原生编码结构设计巧妙的位置向量就融合了词汇信息既做到了信息无损也大大加快了推断速度。 本文介绍的词汇增强方式不仅应用于中文NER任务也可进一步探索其在关系抽取、事件抽取中的有效性。 本文转载自公众号“夕小瑶的卖萌屋”专业带逛互联网算法圈的神操作 -----》我是传送门 关注后回复以下口令 回复【789】 领取深度学习全栈手册含NLP、CV海量综述、必刷论文解读 回复【入群】加入卖萌屋深度学习/NLP/CV/搜广推等方向的技术交流与内推社群大V、顶会审稿人云集 回复【0511】领取算法岗面试手册刷offer神器 回复【0424】领取刷论文神器挖掘每日、每月必刷重磅论文 文末福利 后台回复关键词【入群】加入卖萌屋NLP/IR/Rec与求职讨论群 有顶会审稿人、大厂研究员、知乎大V和妹纸 等你来撩哦~ 参考文献 [1] Simplify the Usage of Lexicon in Chinese NER: https://arxiv.org/abs/1908.05969 [2] Enhancing Pre-trained Chinese Character Representation with Word-aligned Attention: https://arxiv.org/abs/1911.02821 [3] Chinese NER Using Lattice LSTM: https://arxiv.org/pdf/1805.02023.pdf [4] Batch_Parallel_LatticeLSTM: https://github.com/LeeSureman/Batch_Parallel_LatticeLSTM [5] Leverage Lexical Knowledge for Chinese Named Entity Recognition via Collaborative Graph Network: https://www.aclweb.org/anthology/D19-1396.pdf [6] A Lexicon-Based Graph Neural Network for Chinese NER: https://www.aclweb.org/anthology/D19-1096.pdf [7] TENER: Adapting Transformer Encoder for Named Entity Recognition: https://arxiv.org/abs/1911.04474