前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布

ELMo

作者头像
小爷毛毛_卓寿杰
发布2019-05-08 09:25:44
1K0
发布2019-05-08 09:25:44
举报
文章被收录于专栏:Soul Joy HubSoul Joy Hub

论文:《Deep contextualized word representations》

1. word2vector

我们先简单回顾下word2vector。我们想解的问题的是:如何将一个词语用向量来表示?

1.1 one-hot

首先想到的是使用one-hot来表示,如我们有一个词典:【a,apple,…,zoo,】,词典有n个词语,那么就用n维向量表示某个词。向量中词语下标位的值为1,其余为0:

在这里插入图片描述
在这里插入图片描述

该方法的主要缺点为:

  • 向量太长,词汇量增加,向量维度增加。
  • 该向量无法表达出词汇之间的关系: 模型学不到“I want a glass of apple _____”该填什么的。 “orange”和“apple”的特征表示没有任何的关系。
1.2 Neural Architecture of language model

语言模型简单可以理解是某一句话是合理的概率模型。如给出“I want a glass of orange __”,通过语言模型我们可能得到空格处最可能的单词为“juice”。基于神经网络结构的语言模型如下所示:

在这里插入图片描述
在这里插入图片描述
  • 第一层:绿色方块为onehot向量
  • 第二层:各个one-hot向量(10000维)会乘以共享矩阵C,即词向量矩阵(10000*300)。
  • 第三层:乘完的向量(300维)连接(3*300=900维),并代入tanh函数
  • 第四层:第三层到第四层(10000维)使用的是全连接
  • Softmax:Vi表示输出V中的第i个元素,那么这个元素的Softmax为
在这里插入图片描述
在这里插入图片描述
1.3 word2vector

Neural Architecture of language model 非常重,一个比较轻巧训练词向量的方式就是最流行的word2vector:

在这里插入图片描述
在这里插入图片描述
  • CBOW模型:获得中间词两边的的上下文,然后用周围的词去预测中间的词。经过词嵌入后,将向量按位素数相加。
  • Skip-gram模型正好和CBOW模型相反,输入为中间的词,使用预测两边的的上下文的单词。 为了加速训练,还做了优化:
  • hierarchical softmax:不使用one-hot,而是利用哈夫曼编码。节点数logV。
  • 负采样:将模型变成2分类任务模型: 相邻: [V orange ​ ,V juice ​ ] -> 1 非相邻:[ V orange ​ ,V man ​ ] - > 0

word2vector的显而易见的缺点是没考虑上下文含义。比如说“我 用 苹果 手机 上网 买了 一箱 苹果”,这里的两个“苹果”我们从词向量矩阵中lookup出来的是相同的向量,但是显然这两个苹果的含义的不同的。这个问题之前的解法有如,训练多个词向量矩阵,可参阅《improving word representations via global context and multiple word prototypes》。但是,这个方法存在比较大我问题是,如何确定一个词有多少种意思(多少个矩阵)?如何更好的确定选哪个词向量的矩阵?

2. ELMo

2.1 核心创新

ELMo 借鉴CV中低、中、高特征的表示,如图:

在这里插入图片描述
在这里插入图片描述

ELMo用多层的BiLSTM语言模型,也想训练出多层次的文本表示:

在这里插入图片描述
在这里插入图片描述

可认为,低层特征表示是词语级别的特征,中层特征表示是句法级别的特征、高层特征表示是语义级别的特征。

2.2 核心公式
  • 各层的表示向量为:
在这里插入图片描述
在这里插入图片描述

其中:h0=[x,x]h_0 =[x,x]h0​=[x,x],hl=[hl→,hl←]h_l=[\stackrel{\rightarrow}{h_l},\stackrel{\leftarrow}{h_l}]hl​=[hl​→​,hl​←​]

  • 各层的表示向量加权求和得到该token的ELMo表示:
在这里插入图片描述
在这里插入图片描述

其中:sss为各层表示的权重,γ\gammaγ为改次任务的权重。

2.3 实验效果

如下表所示,ELMo能非常好的找到相同语境含义的“play”:

在这里插入图片描述
在这里插入图片描述
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019年04月22日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. word2vector
    • 1.1 one-hot
      • 1.2 Neural Architecture of language model
        • 1.3 word2vector
        • 2. ELMo
          • 2.1 核心创新
            • 2.2 核心公式
              • 2.3 实验效果
              相关产品与服务
              NLP 服务
              NLP 服务(Natural Language Process,NLP)深度整合了腾讯内部的 NLP 技术,提供多项智能文本处理和文本生成能力,包括词法分析、相似词召回、词相似度、句子相似度、文本润色、句子纠错、文本补全、句子生成等。满足各行业的文本智能需求。
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档