本文篇幅较长,倡议配合目录食用分次浏览。
本文首发于 CSDN 平台 链接:
https://blog.csdn.net/INTSIG/…
导读 :
将深度学习技术利用于 NER 有三个外围劣势。首先,NER 受害于非线性转换,它生成从输出到输入的非线性映射。与线性模型(如对数线性 HMM 和线性链 CRF)相比,基于 DL 的模型可能通过非线性激活函数从数据中学习简单的特色。
第二,深度学习节俭了设计 NER 个性的大量精力。传统的基于特色的办法须要大量的工程技能和畛域专业知识。另一方面,基于 DL 的模型能够无效地从原始数据中主动学习有用的示意和底层因素。
第三,通过梯度降落,能够在端到端的范式中训练深层神经 NER 模型。该个性使咱们可能设计可能简单的 NER 零碎。
3.1 实体抽取的办法
深度学习 是一个由多个解决层组成的机器学习畛域,用于学习具备多个抽象层次的数据表示。典型的档次是人工神经网络,由前向传递和后向传递组成。正向传递计算来自前一层的输出的加权和,并通过非线性函数传递后果。向后传递是通过导数链规定计算指标函数绝对于多层模块堆栈权重的梯度。深度学习的要害劣势在于示意学习的能力以及向量示意和神经解决赋予的语义合成能力。这容许机器输出原始数据,并主动发现分类或检测所需的潜在示意和解决。
将深度学习技术利用于 NER 有三个外围劣势:
- 首先,NER 受害于非线性转换,它生成从输出到输入的非线性映射。与线性模型(如对数线性 HMM 和线性链 CRF)相比,基于 DL 的模型可能通过非线性激活函数从数据中学习简单的特色。
- 第二,深度学习节俭了设计 NER 个性的大量精力。传统的基于特色的办法须要大量的工程技能和畛域专业知识。另一方面,基于 DL 的模型能够无效地从原始数据中主动学习有用的示意和底层因素。
- 第三,通过梯度降落,能够在端到端的范式中训练深层神经 NER 模型。该个性使咱们可能设计可能简单的 NER 零碎。
-
一个基于深度学习的 NER 模型应该具备如下图所示的三局部:
1. 分布式向量输出
2. 上下文编码构造
3. 标签解码构造
3.1.1 分布式向量输出
示意单词的一个简略选项是一维特征向量示意。在一维特征向量空间中,两个不同的单词具备齐全不同的示意模式,并且是正交的。分布式示意示意低维实值密集向量中的单词,其中每个维度示意一个潜在特色。分布式示意从文本中主动学习,能够捕捉单词的语义和句法属性,这些属性在输出到 NER 时不会显式呈现。接下来,将介绍 NER 模型中应用的三种分布式示意:单词级、字符级和混合示意。
3.1.1.1. 词级别向量(word-level representation)
一些钻研采纳了词级别表示法,通常通过无监督算法(如间断词袋(CBOW)和间断 skip-gram 模型)对大量文本汇合进行预训练。《Deep active learning for named entity recognition》和《Design challenges and misconceptions in neural sequence labeling》的钻研表明了这种事后训练的单词嵌入的重要性。
作为输出,预训练的单词嵌入能够在 NER 模型训练期间固定或进一步微调。罕用的单词嵌入包含 Google Word2Vec、Stanford GloVe、Facebook fastText 和 SENNA。《Biomedical named entity recognition based on deep neutral network》提出了 Bio-NER,这是一种基于深度神经网络架构的生物医学 NER 模型。在 PubMed 数据库上应用 skip-gram 模型对 Bio-NER 中的单词示意进行训练。这本词典蕴含了 600 维向量中的 205924 个单词。
《Toward mention detection robustness with recurrent neural networks》应用 word2vec 工具包从 Gigaword 语料库学习英语单词嵌入,并应用 BOLT(宽泛操作语言技术)的新闻组数据进行加强。《Neural models for sequence chunking》设计了一个序列组块的神经模型,该模型由两个子工作组成:宰割和标记。神经模型能够输出番泻叶嵌入或随机初始化嵌入。《Joint extraction of entities and relations based on a novel tagging scheme》应用繁多模型联结提取实体和关系。该端到端模型应用 word2vec tookit 在纽约时报语料库上学习的单词嵌入。
《Fast and accurate entity recognition with iterated dilated convolutions》提出了一种基于迭代扩张卷积神经网络(ID CNN)的标签计划。在他们的模型中,查找表是由在 SENNA 语料库上通过 skip-n-gram 训练的 100 维嵌入来初始化的。
《Joint extraction of multiple relations and entities by using a hybrid neural network》在他们提出的提取属性及其关系的神经模型中,应用了来自谷歌的通过预训练的 300 维单词向量。此外,GloVe 和 fastText 也宽泛用于 NER 工作。
3.1.1.2. 字符级别向量(character-level representation)
《Charner: Character-level named entity recognition》和《Named entity recognition with stack residual lstm and trainable bias decoding》的钻研联合了从端到端神经模型学习到的基于字符的单词示意,而不是仅将单词级示意作为根本输出。字符级示意对于利用显式子词级信息(如前缀和后缀)十分有用。
字符级示意的另一个长处是,它能够天然地解决词汇表之外的内容。因而,基于字符的模型可能推断出看不见的单词的示意,并共享语素级规定的信息。
有两种宽泛用于提取字符级示意的体系结构:基于 CNN 的模型和基于 RNN 的模型。
下图(a)和(b)阐明了这两种体系结构。
《End-to-end sequence labeling via bidirectional lstm-cnns-crf》利用 CNN 提取单词的字符级示意。而后,将字符示意向量与单词嵌入相连接,而后将其送入 RNN 上下文编码器。同样,《Leveraging linguistic structures for named entity recognition with bidirectional recursive neural networks》利用了一系列卷积层和高速公路层来生成单词的字符级示意。单词的最终嵌入被反馈到一个双向递归网络中。
《Neural reranking for named entity recognition》提出了 NER 的神经重排序模型,其中在字符嵌入层的顶部应用具备固定窗口大小的卷积层。
《Deep contextualized word representations》提出了 ELMo 单词表示法,它是在具备字符卷积的两层双向语言模型的根底上计算的。在基于 RNN 的模型中,长短时记忆(LSTM)和选通循环单元(GRU)是两种典型的根本单元抉择。
《Charner: Character-level named entity recognition》提出了 CharNER,这是一种与语言无关的字符级标记器。CharNER 将句子视为字符序列,并利用 LSTM 提取字符级示意。它为每个字符而不是每个单词输入标记散布。而后从字符级标签中获取单词级标签。他们的钻研结果表明,以字符为次要表征优于以单词为根本输出单位。
《Neural architectures for named entity recognition》利用双向 LSTM 提取单词的字符级示意。与《End-to-end sequence labeling via bidirectional lstm-cnns-crf》相似,字符级示意与单词查找表中事后训练的单词级嵌入连贯在一起。
《Character-level neural network for biomedical named entity recognition》钻研了单词嵌入和字符级示意在辨认生物医学命名实体中的作用。《Attending to characters in neural sequence labeling models》应用选通机制将字符级示意与单词嵌入相结合。通过这种形式,Rei 的模型能够动静地决定从字符级或单词级组件中应用多少信息。
《Named entity recognition with stack residual lstm and trainable bias decoding》介绍了一种具备堆栈残余 LSTM 和可训练偏差解码的神经 NER 模型,其中从单词嵌入和字符级 RNN 中提取单词特色。《Multi-task cross-lingual sequence tagging from scratch》开发了一个对立解决跨语言和多任务联结训练的模型。他们应用深度双向 GRU 学习信息丰盛的状态扩张卷积神经网络(ID CNN)。
在他们的模型中,查找表是由在 SENNA 语料库上通过 skip-n-gram 训练的 100 维嵌入来初始化的。应用 RNN 网络进行语言建模的最新进展使语言建模成为字符上的散布成为可能。
《Contextual string embeddings for sequence labeling》的上下文字符串嵌入应用字符级神经语言模型为句子上下文中的字符串生成上下文嵌入。一个重要的个性是,嵌入是由其四周的文本语境化的,这意味着同一个词依据其上下文用处有不同的嵌入。
下图展现了在句子上下文中提取嵌入单词“Washington”的上下文字符串的体系结构。
3.1.1.3 混合信息向量(hybrid representation)
除了词级别向量、字符级别向量外,一些钻研工作还嵌入了其余一些语义信息,如词汇类似 度、词性标注、分块、语义依赖、汉字偏旁、汉字拼音等。此外,还有一些钻研从多模态学习登程,通过模态注意力机制嵌入视觉特色。论文也将 BERT 归为这一类,将地位嵌入、token 嵌入和段嵌入看作是混合信息向量。
除了单词级和字符级示意,一些钻研还将附加信息(例如地名录、词汇相似性、语言依赖性和视觉特色)纳入单词的最终示意,而后再输出上下文编码层。换句话说,基于 DL 的示意以混合形式与基于特色的办法相结合。
增加额定的信息可能会进步 NER 性能,代价是侵害这些零碎的通用性。神经模型在 NER 中的利用由《Natural language processing (almost) from scratch》创始,其中提出了一种基于词序列上的工夫卷积神经网络的体系结构。当合并常见的先验常识(例如地名录和词性)时,后果零碎的性能优于仅应用单词级示意的基线。在《Bidirectional lstm-crf models for sequence tagging》的 BiLSTM-CRF 模型中,NER 工作应用了四种类型的特色:拼写特色、上下文特色、单词嵌入和地名索引特色。他们的试验结果表明,额定的特色(即地名录)进步了标签的准确性。
《Named entity recognition with bidirectional lstm-cnns》提出的 BiLSTM CNN 模型联合了双向 LSTM 和角色级 CNN。除了单词嵌入,该模型还应用了额定的单词级特色(大写、词汇)和字符级特色(示意字符类型的四维向量:大写、小写、标点符号等)。
《Disease named entity recognition by combining conditional random fields and bidirectional recurrent neural networks》提出了一种基于 CRF 的神经系统,用于辨认和标准疾病名称。除了单词嵌入之外,该零碎还采纳了丰盛的性能,包含单词、词性标签、组块和单词形态特色(例如词典和词形特色)。
《Fast and accurate entity recognition with iterated dilated convolutions》将 100 维嵌入与 5 维字型向量(例如,全副大写、不大写、首字母大写或蕴含大写字母)连接起来。《Multi-channel bilstm-crf model for emerging named entity recognition in social media》将字符级表示法、单词级表示法和句法单词表示法(即词性标签、隶属角色、单词地位、词头地位)联合起来,造成了一个全面的单词表示法。
Aguilar 等人 [114] 提出了 NER 的多任务办法。在这个层面上,CNN 利用文字和形态来捕获字符。对于单词级的句法和上下文信息,例如词性和单词嵌入,该模型实现了 LSTM 体系结构。《Distributed representation, lda topic modelling and deep learning for emerging named entity recognition from social media》提出将 LDA 与字符级和单词级嵌入的深度学习相结合。
《A local detection approach for named entity recognition and mention detection》提出了一种基于固定大小程序忘记编码(FOFE)的 NER 部分检测办法,FOFE 摸索了每个片段及其上下文的字符级和字级示意。
《Multimodal named entity recognition for short social media posts》的多模态 NER 零碎中,对于用户生成的数据,如推特和 Snapchat 题目、ord 嵌入、字符嵌入和视觉特色,都与模态留神相结合。
《Robust lexical features for improved neural network named-entity recognition》发现,词汇特色在神经系统中大部分被抛弃是不偏心的。他们提出了另一种离线训练的词汇表示法,能够增加到任何神经系统中。词汇示意是用 120 维向量计算每个单词的,其中每个元素用实体类型编码单词的相似性。
最近,《Bert: Pre-training of deep bidirectional transformers for language understanding》提出了一种新的语言示意模型,称为 BERT,即变压器的双向编码器示意。伯特应用蒙面语言模型来实现事后训练的深层双向示意。对于给定的令牌,其输出示意由相应地位、段和令牌嵌入的总和组成。请留神,事后训练的语言模型嵌入。通常须要大规模语料库进行培训,并且实质上蕴含辅助嵌入(例如地位和片段嵌入)。
出于这个起因,在本次考察中将这些语境化语言模型嵌入归类为混合示意。
3.1.2 上下文编码构造
次要包含了卷积网络 CNN、循环网络 RNN、递归网络、Transformer。
-
CNN
根本框架如下图所示,句子通过 embedding 层,一个 word 被示意为 N 维度的向量,随后整个句子示意应用卷积(通常为一维卷积)编码,进而失去每个 word 的部分特色,再应用最大池化操作失去整个句子的全局特色,能够间接将其送入解码层输入标签,也能够将其和部分特征向量一起送入解码层。
> 其余一些研究者,开始思考应用 BiLSTM-CNN 的网络结构,随之而来的还有 ID-CNNs 迭代收缩卷积(集体认为相似多层 N-Gram 语言模型)等。
- 循环神经网络 RNN
循环神经网络及其变体,如 gated recurrent unit (GRU) 和 long-short term memory (LSTM),在序列数据建模方面获得了显著的成就。特地是,双向 RNN 无效地利用了特定工夫范畴内的过来信息(通过前向状态)和将来信息(通过后向状态)。因而,由双向 RNN 编码的标记将蕴含来自整个输出句子的证据。因而,双向 RNN 成为形成文本深层上下文相干示意的事实标准。基于 RNN 的上下文编码器的典型架构如图所示。
《Bidirectional lstm-crf models for sequence tagging》的工作是最早利用双向 LSTM CRF 架构对标记工作(词性、组块和 NER)进行排序的工作之一。之后,一系列著述将 Bi LSTM 作为编码序列上下文信息的根本架构。
《Multi-task cross-lingual sequence tagging from scratch》在字符和单词两个层面上应用深层 GRU 编码形态学和上下文信息。论文通过共享架构和参数,进一步将模型扩大到跨语言和多任务的联结训练。《Named entity recognition with parallel recurrent neural networks》在同一输出端应用了多个独立的双向 LSTM 单元。他们的模型通过采纳模型间正则化项来促成 LSTM 单元之间的多样性。通过将计算散布在多个较小的 LSTM 上,他们发现参数总数有所缩小。最近,一些钻研设计了基于 LSTM 的嵌套命名实体辨认神经网络。
《Nested named entity recognition revisited》提出了对规范的基于 LSTM 的序列标记模型的批改,以解决嵌套命名实体辨认。《neural layered model for nested named entity recognition》提出了一种神经模型,通过动静重叠立体 NER 层,直到没有提取内部实体,从而辨认嵌套实体。每个立体 NER 层采纳双向 LSTM 来捕捉程序上下文。该模型将 LSTM 层的输入合并到以后立体 NER 层中,为检测到的实体构建新的示意,而后将它们输出到下一个立体 NER 层。
- 递归神经网络 Recursive Neural Networks
递归神经网络是一种非线性自适应模型,可能通过按拓扑程序遍历给定构造来学习深层构造信息。命名实体与语言成分高度相干,例如名词短语。然而,典型的程序标注办法很少思考句子的短语构造。
为此,《Leveraging linguistic structures for named entity recognition with bidirectional recursive neural networks》提出为 NER 对选区构造中的每个节点进行分类。该模型递归计算每个节点的暗藏状态向量,并依据这些暗藏向量对每个节点进行分类。
下图显示了如何递归地计算每个节点的两个暗藏状态特色。自下而上的方向计算每个节点的子树的语义组成,自上而下的对应方将蕴含子树的语言构造流传到该节点。给定每个节点的暗藏向量,网络计算实体类型加上非凡非实体类型的概率分布。
尽管递归神经网络实践上感觉成果不错,但理论利用中成果个别,并且很难训练。相较之下 tree LSTM 近些年的钻研常常被提及,在关系抽取以及其余工作上有不少利用。
- Transformer
Google 的一篇《Attention is all you need》将注意力机制推上新的浪潮之巅,于此同时 transformer 这一不依赖于 CNN、RNN 构造,纯重叠自注意力、点积与前馈神经网络的网络结构也被大家所熟知。尔后的钻研证实,transformer 在长距离文本依赖上相较 RNN 有更好的成果。
神经序列标记模型通常基于由编码器和解码器组成的简单卷积或递归网络。
《Attention is all you need》提出的 Transformer 齐全罢黜了递归和卷积。Transformer 利用重叠的 self-attention 和逐点齐全连贯的层来构建编码器和解码器的基本块。对各种工作的试验表明,Transformer 的品质更高,同时须要的训练工夫显著缩小。
> 基于 Transformer,Radford 等人提出了用于语言了解工作的生成式预训练 Transformer(Generative Pre-trained Transformer,GPT)。GPT 有两个阶段的训练程序。
- 首先,他们应用一个语言建模指标,在未标记的数据上应用 Transformer 来学习初始参数。
- 而后,他们应用监督指标使这些参数适应指标工作,从而使预训练模型的变动最小。与 GPT(一种从左到右的体系结构)不同,来自 Transformer 的双向编码器示意(BERT)倡议通过在所有层的左右上下文中联结调节来预训练深度双向 Transformer。下图总结了 BERT、GPT 和 ELMo。
- 此外,《Cloze-driven pretraining of self-attention networks》提出了一种新的基于双向 Transformer 的完形填空驱动预训练模式,该模式应用完形填空式指标进行训练,并在所有左右文本语境下预测中心词。*
这些语言模型嵌入应用“Transformer”正在成为一种新的神经网络范式。
- 首先,这些嵌入是情境化的,能够用来取代传统的嵌入,比方 Google Word2vec 和 Stanford GloVe。一些钻研通过利用传统嵌入和语言模型嵌入的组合,获得了良好的性能。
- 第二,这些语言模型嵌入能够通过一个额定的输入层进行进一步微调,以实现包含 NER 和分块在内的各种工作。特地是,《Dice loss for data-imbalanced NLP tasks》和《A unified MRC framework for named entity recognition,》将 NER 工作定义为机器浏览了解(MRC)问题,能够通过微调 BERT 模型来解决。
3.1.3 标签解码构造
标签解码器是 NER 模型的最初一个阶段。它将上下文相干的示意作为输出,并生成与输出序列绝对应的标记序列。下文总结了标签解码器的四种架构:MLP+softmax 层、条件随机场(CRF)、递归神经网络和指针网络。
- Multi-Layer Perceptron(多层感知器)+Softmax
NER 通常被形容为一个序列标记问题。采纳 Multi-Layer Perceptron(多层感知器)+Softmax 层作为标签解码层,将序列标记工作转换为多类分类问题。
每个单词的标签是基于上下文相干的示意独立预测的,而不思考其街坊。晚期推出的许多 NER 模型应用 MLP+Softmax 作为标签解码器。作为一项特定于畛域的 NER 工作,《Domain specific named entity recognition referring to the real world by deep neural networks》应用 softmax 作为标签解码器来预测日本象棋游戏中的游戏状态。他们的模型从文本和国际象棋棋盘(9×9 方块,40 块 14 种不同类型的棋子)中获取输出,并预测该游戏特定的 21 个命名实体。文本示意和游戏状态嵌入都被提供给 softmax 层,用于应用 BIO 标记计划预测命名实体。
- 条件随机场(CRF)
条件随机场(CRF)是以观测序列为全局条件的随机场。CRF 已广泛应用于基于特色的监督学习办法。许多基于深度学习的 NER 模型应用 CRF 层作为标签解码器,例如,在双向 LSTM 层和 CNN 层之上。CRF 是标签解码器最常见的抉择,以及 CoNLL03 和 ONTO NOTE5.0 的最新性能由通过 CRF 标签解码器实现。然而,CRF 不能充分利用段级信息,因为段的外部属性不能用字级示意齐全编码。《Segment-level sequence modeling using gated recursive semi-markov conditional random fields》随后提出了门控递归半马尔可夫 CRF,该 CRF 间接建模片段而不是单词,并通过门控递归卷积神经网络主动提取片段级特色。《Hybrid semi-markov crf for neural sequence labeling,》提出了用于神经序列标记的混合半马尔可夫 CRF。该办法采纳分段代替词作为特征提取和过渡建模的根本单元。单词级标签用于推导段分数。因而,这种办法可能利用单词和片段级别的信息来计算片段分数。
- 循环神经网络
一些钻研摸索了 RNN 对标签的解码。Shen 等人 [88] 报告称,RNN 标签解码器的性能优于 CRF,并且在实体类型数量较大时训练速度更快。图展现了基于 RNN 的标签解码器的工作流程,它作为一种语言模型,大量生成标签序列。第一步的 [GO] 符号作为 y1 提供给 RNN 解码器。随后,在每个工夫步骤 i,RNN 解码器依据前一步骤标记 yi、前一步骤解码器暗藏状态 hDec i 和以后步骤编码器暗藏状态 hEnci+1 计算以后解码器暗藏状态 hDeci+1;以后输入标签 yi+ 1 通过应用 softmax 损耗函数进行解码,并进一步作为输出馈送到下一时间步。最初,失去了所有工夫步长上的标签序列。
- 指针网络
指针网络应用 RNN 来学习输入序列的条件概率,其中的元素是与输出序列中的地位绝对应的离散标记《Pointer networks》《Segbot: A generic neural text segmentation model with pointer network》。它通过应用 softmax 概率分布作为“指针”来示意可变长度字典。《Neural models for sequence chunking》首次利用指针网络来产生序列标签。如图 12(d)所示,指针网络首先辨认块(或段),而后标记它。反复此操作,直到解决完输出序列中的所有单词。在下图(d)中,给定起始标记“<s>”,首先辨认段“Michael Jeffery Jordan”,而后标记为“PERSON”。宰割和标记能够通过指针网络中的两个独立的神经网络来实现。接下来,将“迈克尔·杰弗里·乔丹”作为输出,输出指针网络。因而,段“was”被辨认并标记为“O”。