Glove模型详解

目录

Glove模型

总结


Glove模型

GloVe(Global Vectors)模型认为语料库中单词出现的统计(共现矩阵)学习词向量表示的无监督学习算法的重要资料。
问题在于如何基于这些统计生成单词向量表示
GloVe模型给出了一个答案,它利用了全局(整个)语料库的统计信息

做word embedding的方法,在2014年的时候主要有两种。一种是Matrix Factorization Methods(矩阵分解方法),一种是Shallow Window-Based Methods(基于浅窗口的方法)。关于Shallow Window-Based Methods,一个典型代表就是word2vec的方法,我在博客[5]已经解析过了。Matrix Factorization Methods这种方法,大致可以理解为是一种基于统计的方法,下面以简单例子说明

一个简单的例子:Window based co-occurrence matrix(基于窗口的共现矩阵)。 窗口长度这里选择为1(通常使用5-10),矩阵具有对称性(与在左侧或右侧无关)。样本数据集:1. I like deep learning. 2. I like NLP. 3. I enjoy flying.

这样就可以得到如下的基于窗口的共现矩阵,如下图图1。

共现矩阵的例子:
不管语料库有多少篇文档,矩阵的表示考虑的是整个语料库的信息

在这里插入图片描述

 只考虑附近一个单词,一起出现就出现一次

有了这个矩阵,每个词的向量就可以表示出来了。比如上图图1中,I就是对应第一行的向量,所以在这个模型中,I的向量表示就是 (0,2,1,0,0,0,0,0)(0,2,1,0,0,0,0,0),其他的类推。但是使用此矩阵去表示词向量有以下问题:

  1. 着词汇增多,向量的大小会变得很大
  2. 非常高维,需要大量存储空间
  3. 随后的分类模型具有稀疏性的问题。(注:因为维数高,又稀疏,模型分类不易)
  4. 模型不够健壮(robust)

对于上述问题的解决方案:Low dimensional vectors(低维向量)。该方案的想法是:将“大多数”的重要信息保存在一个固定的、数量较小的维度的向量。通常这个维度是25-1000维,类似于word2vec。那么,如何减少这个维度呢?

 

 

 

在这里插入图片描述 

上表显示了在大语料库中的这些概率值,以及它们的比值,这些比值肯定了我们的期望。与原始概率相比,比值更能区分相关的单词(比如solid与gas)和不相关的单词(water与fashion),并且也能更好地区分这两个相关的单词

上面的论述说明词向量学习的好的开端是从共现矩阵概率的比值开始,而不是从共现矩阵概率本身。接下来我们来设计模型,注意,下面很长一部分都是模型的设计阶段,没有严格的论证。

 

 

 

 现在,我们注意到上式中F 的参数是向量,而等式右边是标量。那么F 可以由一个复杂的函数,比如,神经网络表示,这样做会我们想要捕获的线性结构冲突。为了避免这个问题,我们让左边也变成标量,可以尝试取这些参数的点积

接下来,注意到单词-单词的共现矩阵是对称的,即改变单词和上下文词位置得到的值是一样的。我们的最终模型应该在这转换下保持不变。要满足这种对称性,需要做以下几步。 

 

 

 

 

 

 

利用词贡献矩阵来设计比值和损失函数,来设计模型,从而构建词训练向量。

总结

先大致使用以下Glove模型,先学会利用Glove模型生成的词向量,来进行复现论文,后期在抽时间认真复现以下Glove模型论文。 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值