通俗理解glove词向量,较word2vec的区别

写得这么通俗易懂,不仅是公式推导(虽然这个也没啥推导的),加入例子更好理解整个过程。整个过程相较于word2vec的训练过程来说,只是对真值做了改变和对损失函数的推导过程,当然里面也有一些巧妙的思路,不仅仅是凑巧。还有就是较word2vec,glove利用了全局信息,使其在训练时收敛更快,训练周期较Word2vec较短且效果更好。

实际我觉得这里作者发现的规律还是存在问题的,比值约等于1时,存在两种情况,P(i,k)P(j,k)都很大或者很小,很大表明单词i,k和j,k相关性很高,反之则很低,但很大和很小只是相对的,单纯的给两个数值我们并不能判断它们之间的相关性如何。P(i,k)=0.6,P(i,k)=3.6我们只能说明后者比前者相关性大,但后者相关性有多大???我们并不知道。仍需要统计普遍规律来设定相应的阈值。

如有疑问和错误,敬请指正

同时简介了其他作者的博客,共同学习。

以下是一个使用GloVe模型实现的标准demo,并有逐行注解和通俗易懂的说明: ```python from gensim.scripts.glove2word2vec import glove2word2vec from gensim.models import KeyedVectors # 将GloVe模型转换为Word2Vec格式 glove_file = 'path/to/glove/model.txt' # GloVe模型文件路径 word2vec_file = 'path/to/word2vec/model.txt' # 转换后的Word2Vec文件路径 glove2word2vec(glove_file, word2vec_file) # 加载转换后的Word2Vec模型 model = KeyedVectors.load_word2vec_format(word2vec_file) # 获取词向量 word_vector = model["computer"] # 打印词向量 print(word_vector) ``` 模型解释和原理技术说明: 1. GloVe(Global Vectors for Word Representation)是一种用于生成词向量的模型,旨在通过对全局词汇统计信息进行建模来捕捉词语之间的语义关系。 2. 在上述代码中,首先导入了gensim库中的`glove2word2vec`函数和`KeyedVectors`类。 3. `glove2word2vec`函数用于将GloVe模型转换为Word2Vec模型的格式,需要传入GloVe模型文件路径和转换后的Word2Vec文件路径。 4. 创建一个GloVe模型文件路径`glove_file`和一个转换后的Word2Vec文件路径`word2vec_file`。 5. 调用`glove2word2vec`函数将GloVe模型转换为Word2Vec模型。 6. 使用`KeyedVectors`类的`load_word2vec_format`方法加载转换后的Word2Vec模型,传入转换后的Word2Vec文件路径。 7. 调用模型的`wv`属性获取词向量,传入一个词语作为索引,得到该词语的向量表示。 8. 打印词向量。 通过以上代码和解释,一个NLP新手可以了解到: - GloVe是一种用于生成词向量的模型,通过对全局词汇统计信息进行建模来捕捉词语之间的语义关系。 - 在代码中,可以使用gensim库中的`glove2word2vec`函数将GloVe模型转换为Word2Vec模型。 - 需要提供GloVe模型文件路径和转换后的Word2Vec文件路径。 - 转换后,可以使用`KeyedVectors`类的`load_word2vec_format`方法加载转换后的Word2Vec模型。 - 加载完成后,可以通过模型的`wv`属性获取词向量,将词语作为索引传入即可得到对应的向量表示。 - 通过打印词向量,可以查看词语的向量表示。
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值