当前位置:   article > 正文

四步理解GloVe!(附代码实现)_glove词特征向量代码

glove词特征向量代码

1. 说说GloVe

正如GloVe论文的标题而言,**GloVe的全称叫Global Vectors for Word Representation,它是一个基于全局词频统计(count-based & overall statistics)的词表征(word representation)工具,它可以把一个单词表达成一个由实数组成的向量,这些向量捕捉到了单词之间一些语义特性,比如相似性(similarity)、类比性(analogy)等。**我们通过对向量的运算,比如欧几里得距离或者cosine相似度,可以计算出两个单词之间的语义相似性。

2. GloVe的实现步骤

2.1 构建共现矩阵

什么是共现矩阵?

共现矩阵顾名思义就是共同出现的意思,词文档的共现矩阵主要用于发现主题(topic),用于主题模型,如LSA。

局域窗中的word-word共现矩阵可以挖掘语法和语义信息,例如:

  • I like deep learning.
  • I like NLP.
  • I enjoy flying

有以上三句话,设置滑窗为2,可以得到一个词典:{“I like”,“like deep”,“deep learning”,“like NLP”,“I enjoy”,“enjoy flying”,“I like”}

我们可以得到一个共现矩阵(对称矩阵):

image

中间的每个格子表示的是行和列组成的词组在词典中共同出现的次数,也就体现了共现的特性。

GloVe的共现矩阵

根据语料库(corpus)构建一个共现矩阵(Co-ocurrence Matrix)X,矩阵中的每一个元素 Xij 代表单词 i 和上下文单词 j 在特定大小的上下文窗口(context window)内共同出现的次数。一般而言,这个次数的最小单位是1,但是GloVe不这么认为:它根据两个单词在上下文窗口的距离 d,提出了一个衰减函数(decreasing weighting):decay=1/d 用于计算权重,也就是说距离越远的两个单词所占总计数(total count)的权重越小

2.2 词向量和共现矩阵的近似关系

构建词向量(Word Vector)和共现矩阵(Co-ocurrence Matrix)之间的近似关系,论文的作者提出以下的公式可以近似地表达两者之间的关系:

w i T w j ~ + b i + b ~ j = l o g ( X i j ) w_i^T\tilde{w_j}+b_i+\tilde{b}_j=log(X_{ij}) wiTwj~+bi+b~

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/663059
推荐阅读
相关标签
  

闽ICP备14008679号