[我正在寻找一种将预先训练的单词向量动态添加到word2vec gensim模型的方法。
我在txt中有一个经过训练的word2vec模型(单词及其嵌入),我需要获取特定语料库中的文档与新文档之间的单词移动器的距离(例如,通过gensim.models.Word2Vec.wmdistance)。
为了避免加载整个词汇表,我只想加载在语料库中找到的预训练模型词的子集。但是,如果新文档中的单词不在语料库中找到,而是在原始模型词汇表中,请将它们添加到模型中,以便在计算中考虑它们。
我想要的是节省RAM,所以可能的事情对我有帮助:
谢谢。
您可以只使用keyedvectors中的gensim.models.keyedvectors
。它们非常易于使用。
from gensim.models.keyedvectors import WordEmbeddingsKeyedVectors
w2v = WordEmbeddingsKeyedVectors(50) # 50 = vec length
w2v.add(new_words, their_new_vecs)