1. 提出背景

在2013年的word2vec及2014年的GloVe的工作中,每个词对应一个vector,对于多义词无能为力。ELMo的工作对于此,提出了一个较好的解决方案。不同于以往的一个词对应一个向量,是固定的。在ELMo世界里,预训练好的模型不再只是向量对应关系,而是一个训练好的模型。使用时,将一句话或一段话输入模型,模型会根据上下文来推断每个词对应的词向量。这样做之后明显的好处之一就是对于多义词,可以结合前后语境对多义词进行理解。比如apple,可以根据前后文语境理解为公司或水果。

ELMO,是Embedding from Language Model的缩写( Peters等人,2018年),通过无监督预训练多层双向LSTM模型来学习带上下文信息的(Contextualized)单词表示。

ELMo在中文上确实会比word2vec好很多, 使用中文语料测试成功了, 使用200m新闻语料训练语言模型, 然后在对该新闻语料进行分类(10类)。最终测试结果使用ELMO比word2vector高近2个百分点, 而且这还是没有对ELMO优化的情况下。

2.简介

与传统词向量用固定向量的表示不同,ELMo是一种动态词向量表示方法,其最终训练得到一个语言模型。当需要文本s中某个词w的词向量表示时,ELMo通过将s作为输入,得到文本的向量表示,继而获得词w在文本s语境下的词向量表示。
ELMo认为,通过联合bi-LSTM的各层内部状态来表示词向量可以表达词语更为丰富的信息,模型底层隐状态表达词语的语法信息(eg:适用于词性标注任务),而上层隐状态则捕捉了词语的语义信息(eg:适用于词义消歧任务)。
大量实验证明,ELMo在多种NLP任务中都获得极好的效果;另外,前人的工作以及论文最后对ELMo与GoVe的分析则证明,词向量的深度表示比仅利用LSTM的最后一层的效果更好。

3.ELMo原理


他们使用的是一个双向的LSTM语言模型,由一个前向和一个后向语言模型构成,目标函数就是取这两个方向语言模型的最大似然。

前向LSTM结构:

双向语言模型是ELMO的基础。模型的输入是由n个token构成的序列(x1,...,xn)(x_1,...,x_n)(x1,...,xn),语言模型根据历史的序列预测x1.....xi−1x_1.....x_{i-1}x1.....xi1下一个token xix_ixi的概率。在正向计过程中,根据历史的序列预测x1.....xi−1x_1.....x_{i-1}x1.....xi1下一个token xix_ixi的概率

反向LSTM结构:

在反向计算过程中,根据历史之后的序列xi+1.....xnx_{i+1}.....x_nxi+1.....xn预测第i个token xix_ixi的概率,
最大似然函数:

该模型的loss是最小化两个方向的负对数似然( =最大化真实单词的对数似然) :



因此ELMo的基本输入单元为句子,每个词没有固定的词向量,是根据词的上下文环境来动态产生当前词的词向量,常见的场景可以较好解决一词多义的问题,这一点跟word2vec与glove等通用词向量模型是不同的。

参考https://blog.csdn.net/zwqjoy/article/details/101296941

自然语言处理 - ELMo相关推荐

  1. [深度学习]自然语言处理 --- ELMo

    原文链接:Deep contextualized word representations ELMO,是Embedding from Language Model的缩写( Peters等人,2018年 ...

  2. NLP之PTM:自然语言处理领域—预训练大模型时代的各种吊炸天大模型算法概述(Word2Vec→ELMO→Attention→Transfo→GPT系列/BERT系列等)、关系梳理、模型对比之详细攻略

    NLP之PTM:自然语言处理领域-预训练大模型时代的各种吊炸天大模型算法概述(Word2Vec→ELMO→Attention→Transformer→GPT系列/BERT系列等).关系梳理.模型对比之 ...

  3. 自然语言处理(NLP): 13 The Illustrated BERT, ELMo, and co.

    原文:The Illustrated BERT, ELMo, and co. (How NLP Cracked Transfer Learning) 作者:Jay Alammar 原文连接: http ...

  4. 【自然语言处理】ELMo, GPT等经典模型的介绍与对比

    接上一篇:BERT,Transformer的模型架构与详解 文章目录 2. ELMo, GPT等经典模型的介绍与对比 2.1 认识ELMo 学习目标 什么是ELMo ELMo的架构 ELMo的预训练任 ...

  5. 自然语言处理从入门到应用——动态词向量预训练:ELMo词向量

    分类目录:<自然语言处理从入门到应用>总目录 在双向语言模型预训练完成后,模型的编码部分(包括输入表示层以及多层堆叠LSTM)便可以用来计算任意文本的动态词向量表示.最自然的做法是使用两个 ...

  6. 【自然语言处理】ELMo 讲解

    有任何的书写错误.排版错误.概念错误等,希望大家包含指正. 作图属实不易! ELMo 讲解 ELMo 的核心思想是,基于深度语言模型进行训练,学习不同语境下的词向量用于更好地配合下游任务. ELMo ...

  7. 19年NAACL纪实:自然语言处理的实用性见解 | CSDN博文精选

    作者 | Nikita Zhiltsov 翻译 | 王威力 校对 | 李海明 本文为你概述处理不同NLP问题时的具有卓越性能的方法.技术和框架等. 计算语言:人类语言技术学会北美分会2019年年会(N ...

  8. 自然语言处理十问!独家福利

    最近,NLP 圈简直不要太热闹!预训练模型频频刷新榜单,让一众研究者.开发者"痛并快乐着".自 2018 年 10 月,Google 提出 BERT 以来,NLP 领域预训练模型的 ...

  9. 2021年自然语言处理学习路线!

    贪心科技教育 内容路线:自然语言处理 NLP近几年非常火,且发展特别快.像BERT.GPT-3.图神经网络.知识图谱等技术应运而生.我们正处在信息爆炸的时代.面对每天铺天盖地的网络资源和论文.很多时候 ...

最新文章

  1. 吴恩达老师深度学习视频课笔记:构建机器学习项目(机器学习策略)(1)
  2. 【sublime Text】sublime Text3安装可以使xml格式化的插件
  3. Java小案例——使用双重for循环实现杨辉三角的输出
  4. Tomcat6下使用jBPM-4出现 java.lang.LinkageError。javax/el/ExpressionFactory解决办法
  5. java父窗口传值给子窗口_【赖国荣】js实现父窗口与子窗口传值
  6. ASP.NET Core在Azure Kubernetes Service中的部署和管理
  7. html背景动起来,CSS+HTML 循环滚动背景效果
  8. 实现机器学习的循序渐进指南I——KNN
  9. html 无组件上传图片,无组件上传图片到数据库中,最完整解决方案
  10. web地图热力图理解
  11. 手机电阻屏和电容屏哪个好?电容屏和电阻屏的区别!
  12. 软件设计师中级-UML建模
  13. excel几个数相加等于某个数_『excel表如何从一列数据中筛选出合计等于某数的某些数?』...
  14. MySQL said: Host 'XXX' is not allowed to connect to this MySQL server
  15. java application作用_1. 下列关于 Java Application 程序在结构上特点的描述中,错误的是 ( )_汽车修理工题库答案_学小易找答案...
  16. 麻雀虽小五脏俱全----ZC评价系统
  17. 仿微信评论显示更多与收起
  18. 问什么说我的计算机主机名无效,为什么arcgis的许可管理器 修改为主机时,总是说我输入的是无效主机名...
  19. 【100%通过率 】华为OD真题c++/java/python【完美走位】【 2022 Q4 | 100分】
  20. 小试ildasm,ilasm,ilspy

热门文章

  1. java.lang.OutOfMemoryError: Java heap space解决办法
  2. Beta分布(Beta Distribution)
  3. python_获取文件及文件夹大小修改时间
  4. android 10.0 预制不可卸载app(RK 展讯 MTK平台都适用)
  5. 智联招聘python岗位_智联招聘的python岗位数据结巴分词(一)
  6. 2022年100家公司真实的面试题笔试题汇总
  7. 美团招聘CV算法专家/AutoML专家
  8. oppor17刷鸿蒙系统,coloros11正式版下载
  9. 目标检测:Faster-RCNN与YOLO V3模型的对比分析
  10. 素描 山_60秒内素描镜子