本文主要是介绍初次理解GloVe及其与word2vec区别,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
GloVe: Global Vectors for Word Representation1
进行词的向量化表示,使得向量之间尽可能多的蕴含语义和语法的信息。
GloVe是一个基于全局词频统计(count-based & overall statistics)的词表征(word representation)工具,它可以把一个单词表达成一个由实数组成的向量,这些向量捕捉到了单词之间一些语义特性,比如相似性(similarity)、类比性(analogy)等。我们通过对向量的运算,比如欧几里得距离或者cosine相似度,可以计算出两个单词之间的语义相似性。
-
Glove与LSA、word2vec的比较
LSA(Latent Semantic Analysis)是一种比较早的count-based的词向量表征工具,它也是基于co-occurance matrix的,只不过采用了基于奇异值分解(SVD)的矩阵分解技术对大矩阵进行降维,而我们知道SVD的复杂度是很高的,所以它的计算代价比较大。还有一点是它对所有单词的统计权重都是一致的。而这些缺点在GloVe中被一一克服了。而word2vec最大的缺点则是没有充分利用所有的语料,所以GloVe其实是把两者的优点结合了起来。从这篇论文给出的实验结果来看,GloVe的性能是远超LSA和word2vec的,但网上也有人说GloVe和word2vec实际表现其实差不多。
-
详细探索
- 《GloVe详解》 ,此文理论功底较好,阅读友好
- 《GloVe: Global Vectors for Word Representation》,不管是谁的解读,本质都是源自这里
- 《论文分享–>GloVe: Global Vectors for Word Representation》 ,对论文的解读
- 《NLP︱高级词向量表达(一)——GloVe(理论、相关测评结果、R&python实现、相关应用)》
GloVe Official Document ↩︎
这篇关于初次理解GloVe及其与word2vec区别的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!