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

    文章

    2704

    浏览量

    47670
  • 机器学习
    +关注

    关注

    66

    文章

    8112

    浏览量

    130542
  • 深度学习
    +关注

    关注

    73

    文章

    5235

    浏览量

    119893

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

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

收藏 人收藏

    评论

    相关推荐

    FPGA在深度学习应用或将取代GPU

    硬件公司供货的不断增加,GPU 在深度学习的市场需求还催生了大量公共云服务,这些服务为深度学习项目提供强大的 GPU 虚拟机。 但是显卡
    发表于 03-21 15:19

    深度学习技术与边缘学习技术的不同之处

    如今,AI技术的广泛应用已经成为推动制造和物流领域自动化的核心驱动力。康耐视所推出的深度学习和边缘学习技术,这两种基于AI的
    的头像 发表于 11-17 10:44 278次阅读

    深度学习在语音识别中的应用及挑战

    一、引言 随着深度学习技术的快速发展,其在语音识别领域的应用也日益广泛。深度学习技术可以有效地提
    的头像 发表于 10-10 18:14 486次阅读

    基于深度学习的语音合成技术的进展与未来趋势

    近年来,深度学习技术在语音合成领域取得了显著的进展。基于深度学习的语音合成技术能够生成更加自然、
    的头像 发表于 09-16 14:48 528次阅读

    机器学习深度学习的区别

      机器学习深度学习是当今最流行的人工智能(AI)技术之一。这两种技术都有助于在不需要人类干预的情况下让计算机自主
    发表于 08-28 17:31 1035次阅读

    机器学习深度学习的区别

    机器学习深度学习的区别 随着人工智能技术的不断发展,机器学习深度
    的头像 发表于 08-17 16:11 3370次阅读

    深度学习框架和深度学习算法教程

    深度学习框架和深度学习算法教程 深度学习是机器学习
    的头像 发表于 08-17 16:11 707次阅读

    深度学习框架连接技术

    深度学习框架连接技术 深度学习框架是一个能够帮助机器学习和人工智能开发人员轻松进行模型训练、优化
    的头像 发表于 08-17 16:11 475次阅读

    深度学习框架的作用是什么

    深度学习框架的作用是什么 深度学习是一种计算机技术,它利用人工神经网络来模拟人类的学习过程。由于
    的头像 发表于 08-17 16:10 1155次阅读

    深度学习框架是什么?深度学习框架有哪些?

    深度学习框架是什么?深度学习框架有哪些?  深度学习框架是一种软件工具,它可以帮助开发者轻松快速
    的头像 发表于 08-17 16:03 1732次阅读

    什么是深度学习算法?深度学习算法的应用

    什么是深度学习算法?深度学习算法的应用 深度学习算法被认为是人工智能的核心,它是一种模仿人类大脑
    的头像 发表于 08-17 16:03 1465次阅读

    深度学习是什么领域

    深度学习是什么领域  深度学习是机器学习的一种子集,由多层神经网络组成。它是一种自动学习
    的头像 发表于 08-17 16:02 1195次阅读

    深度学习算法简介 深度学习算法是什么 深度学习算法有哪些

    深度学习算法简介 深度学习算法是什么?深度学习算法有哪些?  作为一种现代化、前沿化的
    的头像 发表于 08-17 16:02 6777次阅读

    深度学习的七种策略

    深度学习的七种策略 深度学习已经成为了人工智能领域的热门话题,它能够帮助人们更好地理解和处理自然语言、图形图像、语音等各种数据。然而,要想获得最好的效果,只是使用
    的头像 发表于 08-17 16:02 1298次阅读

    智造之眼丨深度学习应用

    智造之眼®科学设计深度学习各应用流程,在尽量简化前期准备工作的基础上为客户提供稳定且准确的深度学习解决方案。
    的头像 发表于 05-04 16:55 463次阅读
    智造之眼丨<b class='flag-5'>深度</b><b class='flag-5'>学习</b>应用