如何在GoogleNews-vectors-negative300.bin预先训练的模型中添加缺失的单词向量?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (1353)

我在Python中使用gensim word2vec库,并使用预先训练好的GoogleNews-vectors-negative300.bin模型。但,

我有我的语料库中的单词,我没有单词向量,并得到keyError,我该如何解决这个问题?

这是我到目前为止所尝试的,

1:加载GoogleNews-vectors-negative300.bin每个训练模型:

model = Word2Vec.load_word2vec_format('GoogleNews-vectors-negative300.bin', binary=True)
print "model loaded..."

2:使用推文中的所有单词向量的平均值构建训练集的单词向量,然后缩放

def buildWordVector(text, size):
vec = np.zeros(size).reshape((1, size))
count = 0.
for word in text:
    try:
        vec += model[word].reshape((1, size))
        count += 1.
        #print "found! ",  word
    except KeyError:
        print "not found! ",  word #missing words
        continue
if count != 0:
    vec /= count
return vec

trained_vecs = np.concatenate([buildWordVector(z, n_dim) for z in x_train])

请说明如何在预先训练好的Word2vec模型中添加新单词?

提问于
用户回答回答于

这些命令可能会派上用场

# Loading pre-trained vectors
model = Word2Vec.load_word2vec_format('/tmp/vectors.bin', binary=True)

# Training the model with list of sentences (with 4 CPU cores)
model.train(sentences, workers=4)

扫码关注云+社区

领取腾讯云代金券