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"}
我们可以得到一个共现矩阵(对称矩阵):
中间的每个格子表示的是行和列组成的词组在词典总共同出现的次数,也就体现了共现的特性。
GloVe的共现