【完结】 12篇文章带你完全进入NLP领域,掌握核心技术
专栏《NLP》第一阶段正式完结了。在本专栏中,我们从NLP中常用的机器学习算法开始,介绍了NLP中常用的算法和模型;从朴素贝叶斯讲到XLnet,特征抽取器从RNN讲到transformerXL。这篇文章我们就一起回顾一下这些文章。
作者&编辑 | 小Dream哥
1 朴素贝叶斯
贝叶斯分类器在早期的自然语言处理任务中有着较多实际的应用,例如大部分的垃圾邮件处理都是用的贝叶斯分类器。
贝叶斯决策论是在统计概率框架下进行分类决策的基本方法。对于分类任务来说,在所有相关概率都已知的情况下,贝叶斯决策论考虑如何基于这些概率和误判损失来预测分类。
2 隐马尔科夫模型(HMM)
HMM早期在语音识别、分词等序列标注问题中有着广泛的应用。
HMM是非常适合用于序列标注问题的。HMM模型引入了马尔科夫假设,即T时刻的状态仅仅与前一时刻的状态相关。
3 条件随机场(CRF)
隐马尔科夫模型引入了马尔科夫假设,即当前时刻的状态只与其前一时刻的状态有关。但是,在序列标注任务中,当前时刻的状态,应该同该时刻的前后的状态均相关。于是,在很多序列标注任务中,引入了条件随机场。
这里详细了介绍条件随机场的理论和及其在实体识别中的应用和Tensorflow中的实现。
4 循环神经网络(RNN)
对于一些序列输入的信息,例如语音、语言等,不同时刻之间的输入存在相互的影响,需要一种模型能够“记忆”历史输入的信息,进而对整个序列进行完整的特征提取和表征。
循环神经网络(RNN)就是面对这样的需求提出来的,它能够“记忆”序列输入的历史信息,从而能够较好的对整个序列进行语义建模。
RNN虽然理论上可以很漂亮的解决序列数据的训练,但是它也像DNN一样有梯度消失的问题,当序列很长的时候问题尤其严重。虽然同选择合适的激活函数等方法能够一定程度的减轻该问题。但人们往往更青睐于使用RNN的变种。
5 LSTM
LSTM在原本RNN的基础上增加了CEC的内容,CEC保证了误差以常数的形式在网络中流动,这部分通过引入细胞状态C来体现。
并且,为了解决输入和输出在参数更新时的矛盾,在CEC的基础上添加3个门使得模型变成非线性的,就可以调整不同时序的输出对模型后续动作的影响。
6 NLP中Attention机制
人类在对信息进行处理的过程中,注意力不是平均分散的,而是有重点的分布。受此启发,做计算机视觉的朋友,开始在视觉处理过程中加入注意力机制(Attention)。随后,做自然语言处理的朋友们,也开始引入这个机制。在NLP的很多任务中,加入注意力机制后,都取得了非常好的效果。
在NLP中,Attention机制是什么呢?从直觉上来说,与人类的注意力分配过程类似,就是在信息处理过程中,对不同的内容分配不同的注意力权重。
7 特征抽取器Tranformer
Transformer中最重要的特点就是引入了Attention,特别是Multi-Head Attention。作为一个序列输入的特征抽取器,其编码能力强大,没有明显的缺点。短期内难以看到可以匹敌的竞争对手。
8 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作为特征抽取器的深度双向预训练语言理解模型。
9 transformerXL
TransformerXL是Transformer一种非常重要的改进,通过映入Recurrence机制和相对位置编码,增强了Transformer在长文本输入上的特征抽取能力。
TransformerXL学习的依赖关系比RNN长80%,比传统Transformer长450%,在短序列和长序列上都获得了更好的性能,并且在评估阶段比传统Transformer快1800+倍。
10 GPT及GPT2.0
GPT,特别是GPT2.0是一个大型无监督语言模型,能够生产连贯的文本段落,在许多语言建模基准上取得了 SOTA 表现。而且该模型在没有任务特定训练的情况下,能够做到初步的阅读理解、机器翻译、问答和自动摘要。
11 XLnet
XLnet集合了目前两大预训练模型的优点,在结构上,XLnet采用改进后的transofmerXL作为特征抽取器。在训练模式上,XLnet实现了BERT的双向语言模型,引入了PLM和双流自注意力模型,避免了BERT MLM的缺点。
12 NLP综述
从词向量开始,到最新最强大的BERT等预训练模型,梗概性的介绍了深度学习近20年在NLP中的一些重大的进展。
知识星球推荐
扫描上面的二维码,就可以加入我们的星球,助你成长为一名合格的自然语言处理算法工程师。
知识星球主要有以下内容:
(1) 聊天机器人。考虑到聊天机器人是一个非常复杂的NLP应用场景,几乎涵盖了所有的NLP任务及应用。所以小Dream哥计划以聊天机器人作为切入点,通过介绍聊天机器人的原理和实践,逐步系统的更新到大部分NLP的知识,会包括语义匹配,文本分类,意图识别,语义匹配命名实体识别、对话管理以及分词等。
(2) 知识图谱。知识图谱对于NLP各项任务效果好坏的重要性,就好比基础知识对于一个学生成绩好坏的重要性。他是NLP最重要的基础设施,目前各大公司都在着力打造知识图谱,作为一个NLP工程师,必须要熟悉和了解他。
(3) NLP预训练模型。基于海量数据,进行超大规模网络的无监督预训练。具体的任务再通过少量的样本进行Fine-Tune。这样模式是目前NLP领域最火热的模式,很有可能引领NLP进入一个全新发展高度。你怎么不深入的了解?
总结