Word Representation方法,Word2Vec, GloVe, fastText等对每个单词仅有一种表示,而通常单词的含义依赖其上下文会有所不同,而且每个单词不仅有一方面特征,而应有各方面特征如语义特征,语法特征等,
集中讨论contextual word representation,主要比较了ELMO,GPT与BERT模型。

EMLo

在EMLo中,他们使用的是一个双向的LSTM语言模型,由一个前向和一个后向语言模型构成,目标函数就是取这两个方向语言模型的最大似然。ELMo的整体图如下图,它使用了多层LSTM,且增加了后向语言模型(backward LM)。

对于多层lstm,每层的输出都是隐向量htht,在ELMo里,为了区分,前向lstm语言模型的第j层第k时刻的输出向量命名为hLMk,j−→−hk,jLM→。

对于后向语言模型,跟前向语言模型类似,除了它是给定后文来预测前文。我们设定后向lstm的第j层的第k时刻的输出向量命名为hLMk,j←−−hk,jLM←。

ELMO缺点
首先,一个非常明显的缺点在特征抽取器选择方面,ELMO 使用了 LSTM 而不是新贵 Transformer,Transformer 是谷歌在 17 年做机器翻译任务的“Attention is all you need”的论文中提出的,引起了相当大的反响,很多研究已经证明了 Transformer 提取特征的能力是要远强于 LSTM 的。如果 ELMO 采取 Transformer 作为特征提取器,那么估计 Bert 的反响远不如现在的这种火爆场面。另外一点,ELMO 采取双向拼接这种融合特征的能力可能比 Bert 一体化的融合特征方式弱,但是,这只是一种从道理推断产生的怀疑,目前并没有具体实验说明这一点。

OpenAI GPT

OpenAI Transformer是一类可迁移到多种NLP任务的,基于Transformer的语言模型,其利用Transformer的结构来进行单向语言模型的训练,它主张用Transformer结构。

优点
循环神经网络所捕捉到的信息较少,而Transformer可以捕捉到更长范围的信息。
计算速度比循环神经网络更快,易于并行化
实验结果显示Transformer的效果比ELMo和LSTM网络更好
缺点
对于某些类型的任务需要对输入数据的结构作调整

BERT

模型的全称是:BidirectionalEncoder Representations from Transformer。从名字中可以看出,BERT模型的目标是利用大规模无标注语料训练、获得文本的包含丰富语义信息的Representation,即:文本的语义表示,然后将文本的语义表示在特定NLP任务中作微调,最终应用于该NLP任务。

BERT模型训练文本语义表示的过程就好比我们在高中阶段学习语数英、物化生等各门基础学科,夯实基础知识;而模型在特定NLP任务中的参数微调就相当于我们在大学期间基于已有基础知识、针对所选专业作进一步强化,从而获得能够应用于实际场景的专业技能。

优点
用的是Transformer,也就是相对rnn更加高效、能捕捉更长距离的依赖。对比起之前的预训练模型,它捕捉到的是真正意义上的bidirectional context信息。模型有两个 loss,一个是 Masked Language Model,另一个是 Next Sentence Prediction。

缺点
BERT算法还有很大的优化空间,例如我们在Transformer中讲的如何让模型有捕捉Token序列关系的能力,而不是简单依靠位置嵌入。
每个batch只有15%的token被预测,所以BERT收敛得比left-to-right模型要慢。BERT的成功还有一个很大的原因来自于模型的体量以及训练的数据量,但BERT的训练在目前的计算资源下很难完成。

Contextual Word Embeddings相关推荐

  1. Task 4: Contextual Word Embeddings

    Contextual Word Embeddings 最想学习哪些内容,汇总如下: 变压器 (Transformers) BERT 问题解答 (QA) 文本生成和摘要 预训练的词向量:早年的Collo ...

  2. Task 4: Contextual Word Embeddings (附代码)(Stanford CS224N NLP with Deep Learning Winter 2019)

    Task 4: Contextual Word Embeddings 目录 Task 4: Contextual Word Embeddings 词向量的表示 一.Peters et al. (201 ...

  3. Word Embeddings 学习笔记

    contextual语言模型的总结 完成日期:2019.08.12 内容从文章:Generalized Language Models整理翻译   GloVe,CBOW,SkipGram等浅层模型学习 ...

  4. 2019年CS224N课程笔记-Lecture 13: Contextual Word Representations and Pretraining

    资源链接:https://www.bilibili.com/video/BV1r4411 之前大部分都是课件内容翻译+自己的一些总结,以后更倾向于自己的总结咯- 正课内容 词的表示方法 一开始时学过的 ...

  5. 通俗易懂的Word Embeddings

    通俗易懂的Word Embeddings   Word Embeddings是机器学习领域最酷的事情之一,因为它可以从海量的文本数据中挖掘出单词之间纷繁复杂的联系.例如你可以在不给定任何先验知识的情况 ...

  6. 吴恩达《序列模型》精炼笔记(2)-- NLP和Word Embeddings

    AI有道 不可错过的AI技术公众号 关注 1 Word Representation 上节课我们介绍过表征单词的方式是首先建立一个较大的词汇表(例如10000),然后使用one-hot的方式对每个单词 ...

  7. Coursera吴恩达《序列模型》课程笔记(2)-- NLP Word Embeddings

    红色石头的个人网站:redstonewill.com <Recurrent Neural Networks>是Andrw Ng深度学习专项课程中的第五门课,也是最后一门课.这门课主要介绍循 ...

  8. Improving Twitter Sentiment Classification Using Topic-Enriched Multi-Prototype Word Embeddings

    1. 介绍 本文主要介绍论文Improving Twitter Sentiment Classification Using Topic-Enriched Multi-Prototype Word E ...

  9. From Word Embeddings To Document Distances论文总结

    一.前言 最近阅读的论文From Word Embeddings To Document Distances.做一个小总结.作为一个NLP刚刚开始,而且还没有入门的小白,很多的概念都不懂,一点点的查吧 ...

  10. Rasa课程、Rasa培训、Rasa面试、Rasa实战系列之Understanding Word Embeddings 1_ Just Letters

    Rasa课程.Rasa培训.Rasa面试.Rasa实战系列之Understanding Word Embeddings 1_ Just Letters 词嵌入 Word Embedding 理解 Wo ...

最新文章

  1. layui 下拉选择框可以选择但不显示数据值_你想做的quot;基因药物疾病quot;网络数据在这里!...
  2. mysql 数据为空 none 网页显示空白_用python爬虫爬取股票数据
  3. 翻译:创建 Windows8 应用 Part I: Hello, world!
  4. Git 分支 - 分支简介
  5. R语言paste函数
  6. jquery(js) 增加 删除 修改属性样式、元素内容
  7. LeetCode 171. Excel表列序号(26进制转10进制)
  8. S5PV210裸机之重定位
  9. xtragrid 某个值 查找_Java 经典算法:二分法查找(循环和递归两种方式实现)
  10. J2EEd 13个规范
  11. 查看Linux下端口被哪个程序占用
  12. while java_(Java) while循环
  13. linux 查找并删除
  14. Android 基础-2.0 拔打电话号码
  15. linux qt程序窗口大小变化,Qt调整初始窗口大小
  16. BeanUtils之commons-beanutils
  17. Mac版idea快速切换大小写快捷键
  18. 雾霾不散,课就不得不停?
  19. be idle sometimes to_英语美文_双语美文:趁着年轻做自己想做的事_沪江英语
  20. 使用虚拟机备份软件恢复Microsoft Hyper-V虚拟机

热门文章

  1. 益聚星荣:如果没有现代人类,地球会有什么不同?
  2. 现在的技术人啊,1小时200的活都看不上了吗?
  3. matlab绘制蜗牛圈圈图,Matlab实现的图像中的圆、矩形、正方形等形状识别
  4. swiper半圆形旋转
  5. c语言网络套接字讲解,C语言学习笔记-网络与套接字
  6. php工具下载 脚本之家,php脚本编辑工具题目
  7. word软件在计算机哪里,电脑自带的word在哪里
  8. Landsat 数据集合集(Landsat 5/7/8/9)
  9. pandas-task08-文本数据.md
  10. 第七章 文本数据-学习笔记+练习题