0

我使用以下代码将手套向量用于词嵌入

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 究竟做了什么?

4

1 回答 1

1

GloVe 算法和word2vec都创建词向量,每个词一个向量。

但是存储这些向量的格式略有不同。该gensim glove2word2vec()功能可让您将 GloVe 格式的文件转换为原始 Googleword2vec.c代码使用的格式。

https://radimrehurek.com/gensim/scripts/glove2word2vec.html

同时,该gensim KeyedVectors.load_word2vec_format()方法可以将该格式的向量加载到(或其相同接口子类之一)word2vec.c的实例中,以便于查找和其他常见的词向量操作。KeyedVectors

于 2020-02-05T02:19:48.603 回答