0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

NER中的深度学习技术

深度学习自然语言处理 来源:CS的陋室 作者:CS的陋室 2021-03-05 16:17 次阅读

上周推荐了一篇NER的论文,这周算是把这篇综述看完了,感觉自己的收获挺大的(老是感觉自己看过写过,但是又没找到),给大家介绍一下。

A Survey on Deep Learning for Named Entity Recognition.

总评

这篇综述让我感受到比较完整的NER世界观是啥样的,问题定义、问题拆解、常用方法及其评价、模型评估、拓展等,由于是综述,全面性满满,具体的方法可以在参考文献里面找,212篇文献可谓是诚意满满。

文章关键点笔记

1 introduction

命名实体识别的中的核心,命名实体(Named Entity)概念的出现其实并不久远,1996年。时至今日,处理NER问题的主要有四种:

基于规则的方法。

无监督学习方法。

基于特征的机器学习方法。

深度学习方法。

我们其实可以看到,得益于机器学习方法,NER问题被更好的解决。

2 background

本章主要是讨论了NER的一些背景问题,NER的问题定义(尤其是NE的定义)、数据集和工具、模型评估、传统方法之类的。

NER问题定义

首先是问题定义,主要是命名实体的定义,我直接用文章的原句吧:

A named entity is a word or a phrase that clearly identies one item from a set of other items that have similar attributes.

那么NER,其实就是去识别这个命名实体。

NER的模型评估

作者把评估方法分为了两块,精准匹配和软匹配(我翻译的,英文是relaxed-match)。

精确匹配有两个层面,一个是每个位点的预测准确情况(BIO或者BIEMO的情况),这个比较常见。

而软匹配上,其实由于他的复杂性和基于问题的特异性,没有被广泛使用。

传统NER方法

所谓的“传统”方法,作者认为是除了DL之外的方法都算吧。

基于规则的方法会依赖问题的背景,其实也有一些输出,作者角度看,如果资源足够时,其实就能够有很好的效果(这个和我的实践来看是一致的),高准确低召回低可迁移性是它的特点。

无监督方法

无监督方法也有一些,说白了就是聚类,利用的是关键词汇、种子词汇去进行扩增,从而完成无监督学习的任务,需要根据问题进行策略的调整,可迁移性较低。

基于特征的机器学习方法

常用的机器学习方法其实就是那些,隐马尔科夫、决策树、最大熵、支持向量机和条件随机场。

至于特征上,也给了大家一些提示,词性、句子成分、大小写等,另外还可以引入一些外部的知识信息,例如维基百科的地点词等。

3 NER中的深度学习技术

我们都知道,在nlp领域下,论准招等各种效果,深度学习具有很高的地位,因此作者也花了非常大的笔墨来讨论深度学习,首先就谈了深度学习的特点:

非线性处理。

自动化信息抽取,不用花费精力寻找和维护特征。

直接端到端训练。

对于解决NER的深度学习方法,作者把整体架构划分为三个等级:

分布式文本表示

上下文编码

tag解码

分布式文本表示

分布式文本表示,说白了就是word2vector、glove之类的预训练方法。具体定义不赘述了哈哈哈。

word级别,其实就比较常见word2vector、glove、fasttet、senna等,当然也有一些简单预训练语言模型,例如结合CNN之类的。

而char级别(中文就是字级别)对未登录词的识别能力很高,其构建的主要方式主要有CNN-based和RNN-based。

当然,还有一些混合方法,会加入一些外部信息(词典信息、词汇相似度信息),这些方法对效果提升有用,但是可迁移性下降了。另外,作者把bert的方法也归于此处,主要原因是他在预训练的时候使用了大量外部语料信息。

上下文编码架构

上下文编码是文本表示之后的操作,作者分为了4种情况,CNN、RNNs、递归神经网络和transformer,另外还单独提到了神经网络语言模型。

CNN和RNNs的情况其实比较常规了,不做太多解释,文章中其实更多的也是论文的解释。

递归神经网络(Recurrent Neural Networks)其实我也只是听过,自己没有深入地了解,后续会排期学习。简单的用作者的话评价:

Recursive Neural Networks are non-linear adaptive mod- els that are able to learn deep structured information, by traversing a given structure in topological order.

也就是构建了一种特定的拓扑结构来表达内部的信息,这种信息大都和句子的语法结构相关。

神经语言模型是nlp里面最为基础的内容,NLP几次前进的里程碑都和神经语言模型的大跨步有关,word2vector、elmo、bert。

想提一个有意思的思路,他借助语言模型和NER多任务的模型来进行训练,这种方式能让模型学到更加针对领域的语言模型,同时也能满足NER的需求,作者的解释放这里:

Peters et al. [19] proposed TagLM, a language model augmented sequence tagger. This tagger considers both pre-trained word embeddings and bidirectional language model embeddings for every token in the input sequence for sequence labeling task. Figure 12 shows the architecture of LM-LSTM-CRF model [121], [122]. The language model and sequence tagging model share the same character-level layer in a multi-task learning manner. The vectors from character- level embeddings, pre-trained word embeddings, and lan- guage model representations, are concatenated and fed into the word-level LSTMs. Experimental results demonstrate that multi-task learning is an effective approach to guide the language model to learn task-specific knowledge.

transformer可以说是距离我们最近的一次里程碑跨越的代表了,一次技术的突破需要时间落到更多任务的实践中,NER也不例外,目前在transformer应用于NER的研究上,已经有不少人进行尝试,而且从效果来看,具有下面这些特点:

上下文和位置信息的表征。

微调方法为模型的通用性提供了保证,同时对特定问题也能进行特异性训练。

tag解码器

有关tag解码器,其实就有点像机器学习方法了,上游做好特征工程,然后下游接解码器预测每个位置的分类,常用的方法有:

MLP+softmax,简单,但是上下文信息捕获能力很差。

CRF,NER上比较重要的基本方法。、

RNN,训练速度比CRF稍快,但是个人感觉效果不如CRF强。

pointer networks。RNN的一种升级版,用来提取其中的chunk,内部其实有两个神经网络,一个用于分词,一个用于标记。

summary

作者花了很多的力气去对比各个模型的效果,经过作者的总结,有如下信息:

文本表示效果对预测结果影响很大。

噪音数据对效果影响较大。

外部信息,包括预训练语言模型,效果虽好,作者特别指出了里面的问题:

外部信息依赖计算性能和标注性能。

大部分情况不利于可迁移能力。

从效果来看transformer比lstm系列效果更好,可以成为lstm的替换方法。

rnn系列的缺点在于贪婪法,首先强烈依赖于上一步的结果,同时对速度有影响。

后续作者对任务下的方法进行总结,给出一些方法选择的建议:

For end users, what architecture to choose is data and domain task dependent. If data isabundant, training models withRNNs from scratch and fine-tuning contextualized languagemodels could be considered. If data is scarce, adoptingtransfer strategiesmight be a better choice. For newswires domain, there are many pre-trained off-the-shelf models available. For specific domains (e.g., medical and social media),fine-tuning general-purpose contextualized language modelswith domain-specific data is often an effective way.

可惜的是作者这里只考虑了准招效果,而没有考虑参数量、复杂度、内存等其他因素,不过就准招而言,确实有借鉴意义。

深度学习在NER中的应用

这章更多的是谈一些使用深度学习解决NER的思路,这块涉及自己的盲点很多,但是这些东西都很值得学习,此处先列出,后续慢慢学习。

深度多任务学习。

深度迁移学习。

深度主动学习。

深度强化学习。

深度对抗学习。

Attention机制。

NER的挑战和未来方向

看到类似的句子,说明综述到尾声了,总结了过去,肯定要展望未来,在挑战上,作者提出了两个关键点:

数据标注问题,NER相比文本分类,其实更加需要数据,这个一直是一个老大难的问题,如何获取更多更准的标注样本,是一个技术活。

非正式语言环境。在非正式的语境下,其实语法结构并不是那么完整(例如微博、朋友圈、用户query到等),这对准确性和鲁棒性要求就很高了。

而在方向上,有如下思路可供参考:

细粒度的NER和边界问题。NER有时候也被叫做提槽,槽位的精准在现在问题下,其实多在于对边缘的准确划分。

实体链接。即对NER问题有了更高级的需求,要求理解实体之间的关系,这个对知识图谱的构建非常重要。

资源匮乏下NER的训练。

NER的可延展性,由于NER大都依赖rnn这种递归式,贪婪式的模型,所以耗时普遍较长,长句子的识别时间尤其可怕,因此这个问题需要被关注。

迁移学习。说白了就是看看能不能白嫖或者是少花钱的方式完成一个ner任务。

NER下可用的深度学习工具。

评价

这篇综述其实谈到了很多NER我之前没有关注的点,几个重点我划一下,后续我也会持续去看:

上下游编码结构和tagger两个模块的模型拓展。

多任务、主动学习这两块有较大的挖掘空间。

另外我认为作者还有几个方向没有谈到但是大家应该关注:

nlp下的数据增强问题,可以从ner角度开始拓展,主要因为ner的标注数据具有的信息,比比他简单的文本分类问题的数据多,也比比他复杂的机器翻译、对话系统的数据信息更结构化,因此用ner进行数据增强具有很大价值。

蒸馏。我们都知道上述模型耗时长、体积大,蒸馏是解决该问题的一个重要方法,但是相比CV领域,nlp领域的蒸馏还有很大潜力。

责任编辑:lq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 模型
    +关注

    关注

    1

    文章

    3255

    浏览量

    48897
  • 机器学习
    +关注

    关注

    66

    文章

    8423

    浏览量

    132744
  • 深度学习
    +关注

    关注

    73

    文章

    5505

    浏览量

    121250

原文标题:【综述】2018年的一篇NER综述笔记

文章出处:【微信号:zenRRan,微信公众号:深度学习自然语言处理】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    GPU在深度学习的应用 GPUs在图形设计的作用

    随着人工智能技术的飞速发展,深度学习作为其核心部分,已经成为推动技术进步的重要力量。GPU(图形处理单元)在深度
    的头像 发表于 11-19 10:55 560次阅读

    NPU在深度学习的应用

    随着人工智能技术的飞速发展,深度学习作为其核心驱动力之一,已经在众多领域展现出了巨大的潜力和价值。NPU(Neural Processing Unit,神经网络处理单元)是专门为深度
    的头像 发表于 11-14 15:17 653次阅读

    激光雷达技术的基于深度学习的进步

    信息。这使得激光雷达在自动驾驶、无人机、机器人等领域具有广泛的应用前景。 二、深度学习技术的发展 深度学习是机器
    的头像 发表于 10-27 10:57 423次阅读

    FPGA做深度学习能走多远?

    。 总之,FPGA 在深度学习领域具有很大的发展潜力和机会,但也面临一些挑战。随着技术的不断进步和市场的不断发展,FPGA 在深度学习
    发表于 09-27 20:53

    深度学习算法在集成电路测试的应用

    随着半导体技术的快速发展,集成电路(IC)的复杂性和集成度不断提高,对测试技术的要求也日益增加。深度学习算法作为一种强大的数据处理和模式识别工具,在集成电路测试领域展现出了巨大的应用潜
    的头像 发表于 07-15 09:48 1041次阅读

    深度学习反卷积的原理和应用

    深度学习的广阔领域中,反卷积(Deconvolution,也称作Transposed Convolution)作为一种重要的图像上采样技术,扮演着至关重要的角色。特别是在计算机视觉任务
    的头像 发表于 07-14 10:22 1897次阅读

    深度学习模型的过拟合与正则化

    测试数据或新数据上表现不佳的现象。为了解决这个问题,正则化(Regularization)技术应运而生,成为深度学习不可或缺的一部分。本文将从过拟合的原因、表现、正则化的原理、方法及
    的头像 发表于 07-09 15:56 992次阅读

    深度学习的时间序列分类方法

    时间序列分类(Time Series Classification, TSC)是机器学习深度学习领域的重要任务之一,广泛应用于人体活动识别、系统监测、金融预测、医疗诊断等多个领域。随着深度
    的头像 发表于 07-09 15:54 1004次阅读

    深度学习的无监督学习方法综述

    应用往往难以实现。因此,无监督学习深度学习扮演着越来越重要的角色。本文旨在综述深度
    的头像 发表于 07-09 10:50 798次阅读

    深度学习在视觉检测的应用

    深度学习是机器学习领域中的一个重要分支,其核心在于通过构建具有多层次的神经网络模型,使计算机能够从大量数据自动学习并提取特征,进而实现对复
    的头像 发表于 07-08 10:27 749次阅读

    深度学习的模型权重

    深度学习这一充满无限可能性的领域中,模型权重(Weights)作为其核心组成部分,扮演着至关重要的角色。它们不仅是模型学习的基石,更是模型智能的源泉。本文将从模型权重的定义、作用、优化、管理以及应用等多个方面,深入探讨
    的头像 发表于 07-04 11:49 1427次阅读

    深度学习与传统机器学习的对比

    在人工智能的浪潮,机器学习深度学习无疑是两大核心驱动力。它们各自以其独特的方式推动着技术的进步,为众多领域带来了革命性的变化。然而,尽管
    的头像 发表于 07-01 11:40 1420次阅读

    深度学习在自动驾驶的关键技术

    随着人工智能技术的飞速发展,自动驾驶技术作为其中的重要分支,正逐渐走向成熟。在自动驾驶系统深度学习
    的头像 发表于 07-01 11:40 782次阅读

    深度解析深度学习下的语义SLAM

    随着深度学习技术的兴起,计算机视觉的许多传统领域都取得了突破性进展,例如目标的检测、识别和分类等领域。近年来,研究人员开始在视觉SLAM算法引入
    发表于 04-23 17:18 1312次阅读
    <b class='flag-5'>深度</b>解析<b class='flag-5'>深度</b><b class='flag-5'>学习</b>下的语义SLAM

    为什么深度学习的效果更好?

    导读深度学习是机器学习的一个子集,已成为人工智能领域的一项变革性技术,在从计算机视觉、自然语言处理到自动驾驶汽车等广泛的应用取得了显著的成
    的头像 发表于 03-09 08:26 638次阅读
    为什么<b class='flag-5'>深度</b><b class='flag-5'>学习</b>的效果更好?