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

作者&编辑 | 小Dream哥

1 朴素贝叶斯

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

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

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

2 隐马尔科夫模型(HMM)

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

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

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

3 条件随机场(CRF)

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

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

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

4 循环神经网络(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中的一些重大的进展。

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

12篇文章带你进入NLP领域,掌握核心知识相关推荐

  1. 12篇文章带你逛遍主流分割网络

    文章发布于公号[数智物语] (ID:decision_engine),关注公号不错过每一篇干货. 作者 | 孙叔桥 来源 | 有三AI 本文的12篇文章总结了当前主流的分割网络及其结构,涵盖从编解码结 ...

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

    专栏<NLP>第一阶段正式完结了.在本专栏中,我们从NLP中常用的机器学习算法开始,介绍了NLP中常用的算法和模型:从朴素贝叶斯讲到XLnet,特征抽取器从RNN讲到transformer ...

  3. 「完结」12篇文章带你逛遍主流分割网络

    https://www.toutiao.com/a6717221469463511566/ 专栏<图像分割模型>正式完结了.在本专栏中,我们从编解码结构入手,讲到解码器设计:从感受野,讲到 ...

  4. 【完结】12篇文章带你逛遍主流分割网络

    专栏<图像分割模型>正式完结了.在本专栏中,我们从编解码结构入手,讲到解码器设计:从感受野,讲到多尺度融合:从CNN,讲到RNN与CRF:从2D分割,讲到3D分割:从语义分割到实例分割和全 ...

  5. 当今主流分割网络有哪些?12篇文章一次带你看完

    作者 | 孙叔桥 来源 | 转载自有三AI(ID: yanyousan_ai) 本文的12篇文章总结了当前主流的分割网络及其结构,涵盖从编解码结构到解码器设计:从感受野到多尺度融合:从CNN到RNN与 ...

  6. 设计模式一网打尽,40余篇文章带你领略设计模式之美

    文章末尾附带GitHub开源下载地址. 该文章的最新版本已迁移至个人博客[比特飞],单击链接 设计模式一网打尽,40余篇文章带你领略设计模式之美 | .Net中文网 访问. 设计模式概述 20世纪80 ...

  7. 四篇文章带你快速入门Jetpck(中)之ViewModel,DataBinding

    文章目录 四篇文章带你快速入门Jetpck(中)之ViewModel,DataBinding Jetpack 官方推荐架构 ViewModel 添加依赖 创建ViewModel 初始化ViewMode ...

  8. 什么产品适合抖音广告?本篇文章带你来了解

    到底什么产品适合抖音广告?抖音广告类型的多样化使不计其数的广告主选择在抖音这个热门app上投放产品广告.不断有很多广告主提出疑问,自己的产品到底适不适合在抖音做营销.下面为您介绍适合在抖音做广告的产品 ...

  9. 每个成功的男人背后都有个厉害的女人,这篇文章带你看看互联网大佬们背后的女人。...

    每个成功的男人背后都有个厉害的女人,这篇文章带你看看互联网大佬们背后的女人. 别看这些互联网大佬现在一幅高大上的样子,可是别忘了人家也有屌丝的时候,也有青春少年的时候啊!今天咱们就八卦一下,翻翻这些大 ...

最新文章

  1. Tensorflow【实战Google深度学习框架】—完整的TensorFlow入门教程
  2. ACM入门之【读入、输出优化】
  3. G. GCD Festival(莫比乌斯、欧拉函数)
  4. selenium python文档_selenium+python实现百度文库word文档抓取
  5. ArcGIS Engine开发之地图基本操作(3)
  6. -1交替c语言代码,排序(1)---------选择排序(C语言实现)(示例代码)
  7. 设计模式(二):Facade和Adapter模式
  8. 手机app支付宝支付和苹果支付分析
  9. ARM Aarch32 中 A32 和 T32 的汇编编程的例子(call return stack 结构相关的指令)
  10. FireFox新标签页打开搜索和书签
  11. 【图】max51开发板(手工焊接)
  12. [转载][shell]linux常用入门命令
  13. android接入华为推送
  14. 磕磕碰碰的Chrome之plugin开发
  15. 浏览器不能下载response输出的excel
  16. 黄鸟抓包app(httpcanary)
  17. 日语语法准备一:日语词性的分类
  18. 使用cordova + vue搭建混合app框架
  19. php网页地图上自定义,网页嵌入百度地图和使用百度地图api自定义地图的详细步骤...
  20. 使用 SciPy探索标准正态分布

热门文章

  1. js传入参数为字符串问题
  2. JAVA中的垃圾回收机制以及其在android开发中的作用
  3. 【2011-3】【旋转表格】
  4. 【青少年编程(第33周)】Scratch(三级)公益活动开营了!
  5. 【组队学习】【29期】2. 计算机视觉
  6. 谢文睿:西瓜书 + 南瓜书 吃瓜系列 7. 支持向量机
  7. 【C#串口编程计划】通信协议解析 -- byte[]与常用类型的转换
  8. 行列式求值、矩阵求逆
  9. 【MATLAB】符号数学计算(三):符号的精度计算
  10. 溢价 5 倍欲将 SiFive 收入麾下,英特尔的绝地反击战