我使用以下代码使用手套向量进行词嵌入
from gensim.scripts.glove2word2vec import glove2word2vec #line1
glove_input_file = 'glove.840B.300d.txt' #line2
word2vec_output_file = 'glove.word2vec' #line3
glove2word2vec(glove_input_file, word2vec_output_file) #line4
from gensim.models import KeyedVectors #line5
glove_w2vec = KeyedVectors.load_word2vec_format('glove.word2vec', binary=False) #line6
我知道这段代码用于使用手套预训练向量进行单词嵌入。但我不确定每行发生了什么。为什么要将手套转换为word2vec格式?KeyedVectors.load_word2vec_format到底是做什么的?
GloVe 算法和word2vec
都创建词向量,每个词一个向量。
但是存储这些向量的格式略有不同。gensim
glove2word2vec()
函数可让您将 GloVe 格式的文件转换为原始 Googleword2vec.c
代码使用的格式。
https://radimrehurek.com/gensim/scripts/glove2word2vec.html
同时,gensim
KeyedVectors.load_word2vec_format()
方法可以将该word2vec.c
格式的向量加载到KeyedVectors
的实例(或其相同接口子类之一(中,以便于查找和其他常见的词向量操作。