查看原文
其他

【完结】 12篇文章带你完全进入NLP领域,掌握核心技术

小Dream哥 有三AI 2020-09-07

专栏《NLP》第一阶段正式完结了。在本专栏中,我们从NLP中常用的机器学习算法开始,介绍了NLP中常用的算法和模型;从朴素贝叶斯讲到XLnet,特征抽取器从RNN讲到transformerXL。这篇文章我们就一起回顾一下这些文章。


作者&编辑 | 小Dream哥

1 朴素贝叶斯

贝叶斯分类器在早期的自然语言处理任务中有着较多实际的应用,例如大部分的垃圾邮件处理都是用的贝叶斯分类器。


贝叶斯决策论是在统计概率框架下进行分类决策的基本方法。对于分类任务来说,在所有相关概率都已知的情况下,贝叶斯决策论考虑如何基于这些概率和误判损失来预测分类。

【NLP】经典分类模型朴素贝叶斯解读

隐马尔科夫模型(HMM)

HMM早期在语音识别、分词等序列标注问题中有着广泛的应用。


HMM是非常适合用于序列标注问题的。HMM模型引入了马尔科夫假设,即T时刻的状态仅仅与前一时刻的状态相关。

【NLP】用于语音识别、分词的隐马尔科夫模型HMM

3 条件随机场(CRF)

隐马尔科夫模型引入了马尔科夫假设,即当前时刻的状态只与其前一时刻的状态有关。但是,在序列标注任务中,当前时刻的状态,应该同该时刻的前后的状态均相关。于是,在很多序列标注任务中,引入了条件随机场。


这里详细了介绍条件随机场的理论和及其在实体识别中的应用和Tensorflow中的实现。

【NLP】用于序列标注问题的条件随机场(Conditional Random Field, CRF)

循环神经网络(RNN)

对于一些序列输入的信息,例如语音、语言等,不同时刻之间的输入存在相互的影响,需要一种模型能够“记忆”历史输入的信息,进而对整个序列进行完整的特征提取和表征。


循环神经网络(RNN)就是面对这样的需求提出来的,它能够“记忆”序列输入的历史信息,从而能够较好的对整个序列进行语义建模。


RNN虽然理论上可以很漂亮的解决序列数据的训练,但是它也像DNN一样有梯度消失的问题,当序列很长的时候问题尤其严重。虽然同选择合适的激活函数等方法能够一定程度的减轻该问题。但人们往往更青睐于使用RNN的变种。

【NLP】 深度学习NLP开篇-循环神经网络(RNN)

LSTM

LSTM在原本RNN的基础上增加了CEC的内容,CEC保证了误差以常数的形式在网络中流动,这部分通过引入细胞状态C来体现。


并且,为了解决输入和输出在参数更新时的矛盾,在CEC的基础上添加3个门使得模型变成非线性的,就可以调整不同时序的输出对模型后续动作的影响。

【NLP】 NLP中应用最广泛的特征抽取模型-LSTM

NLP中Attention机制

人类在对信息进行处理的过程中,注意力不是平均分散的,而是有重点的分布。受此启发,做计算机视觉的朋友,开始在视觉处理过程中加入注意力机制(Attention)。随后,做自然语言处理的朋友们,也开始引入这个机制。在NLP的很多任务中,加入注意力机制后,都取得了非常好的效果。


在NLP中,Attention机制是什么呢?从直觉上来说,与人类的注意力分配过程类似,就是在信息处理过程中,对不同的内容分配不同的注意力权重

【NLP】 聊聊NLP中的attention机制

特征抽取器Tranformer

Transformer中最重要的特点就是引入了Attention,特别是Multi-Head Attention。作为一个序列输入的特征抽取器,其编码能力强大,没有明显的缺点。短期内难以看到可以匹敌的竞争对手。

【NLP】 理解NLP中网红特征抽取器Tranformer

BERT

BERT,全称是Pre-training of Deep Bidirectional Transformers for Language Understanding。注意其中的每一个词都说明了BERT的一个特征。


Pre-training说明BERT是一个预训练模型,通过前期的大量语料的无监督训练,为下游任务学习大量的先验的语言、句法、词义等信息。


Bidirectional 说明BERT采用的是双向语言模型的方式,能够更好的融合前后文的知识。


Transformers说明BERT采用Transformers作为特征抽取器。

Deep说明模型很深,base版本有12层,large版本有24层。


总的来说,BERT是一个用Transformers作为特征抽取器的深度双向预训练语言理解模型

【NLP】 深入浅出解析BERT原理及其表征的内容

9 transformerXL

TransformerXL是Transformer一种非常重要的改进,通过映入Recurrence机制和相对位置编码,增强了Transformer在长文本输入上的特征抽取能力。


TransformerXL学习的依赖关系比RNN长80%,比传统Transformer长450%,在短序列和长序列上都获得了更好的性能,并且在评估阶段比传统Transformer快1800+倍。

【NLP】TransformerXL:因为XL,所以更牛

10 GPT及GPT2.0

GPT,特别是GPT2.0是一个大型无监督语言模型,能够生产连贯的文本段落,在许多语言建模基准上取得了 SOTA 表现。而且该模型在没有任务特定训练的情况下,能够做到初步的阅读理解、机器翻译、问答和自动摘要。

【NLP】GPT:第一个引入Transformer的预训练模型

11 XLnet

XLnet集合了目前两大预训练模型的优点,在结构上,XLnet采用改进后的transofmerXL作为特征抽取器。在训练模式上,XLnet实现了BERT的双向语言模型,引入了PLM和双流自注意力模型,避免了BERT MLM的缺点。

【NLP】XLnet:GPT和BERT的合体,博采众长,所以更强

12 NLP综述

从词向量开始,到最新最强大的BERT等预训练模型,梗概性的介绍了深度学习近20年在NLP中的一些重大的进展。

【技术综述】深度学习在自然语言处理中的应用

知识星球推荐

扫描上面的二维码,就可以加入我们的星球,助你成长为一名合格的自然语言处理算法工程师。


知识星球主要有以下内容:


(1) 聊天机器人。考虑到聊天机器人是一个非常复杂的NLP应用场景,几乎涵盖了所有的NLP任务及应用。所以小Dream哥计划以聊天机器人作为切入点,通过介绍聊天机器人的原理和实践,逐步系统的更新到大部分NLP的知识,会包括语义匹配,文本分类,意图识别,语义匹配命名实体识别、对话管理以及分词等。


(2) 知识图谱。知识图谱对于NLP各项任务效果好坏的重要性,就好比基础知识对于一个学生成绩好坏的重要性。他是NLP最重要的基础设施,目前各大公司都在着力打造知识图谱,作为一个NLP工程师,必须要熟悉和了解他。


(3) NLP预训练模型。基于海量数据,进行超大规模网络的无监督预训练。具体的任务再通过少量的样本进行Fine-Tune。这样模式是目前NLP领域最火热的模式,很有可能引领NLP进入一个全新发展高度。你怎么不深入的了解?

总结


希望经过这个专栏,想入门NLP的小伙伴们对这个领域已经有了基本的概念和了解。后续我们还会按照不同的NLP任务,深入各个任务跟大家进行介绍,敬请关注。

有三AI夏季划

有三AI夏季划进行中,欢迎了解并加入,系统性成长为中级CV算法工程师。

转载文章请后台联系

侵权必究

往期精选


    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存