Gensim Word2Vec缺少用于输入字的向量
我训练的Gensim Word2Vec缺少一些单词的向量。也就是说,虽然我有一个单词“yuval”作为输入,但是模型缺少一个向量。原因是什么?您可能没有提供格式正确的语料库作为标记,或者出现的次数低于模型的Gensim Word2Vec缺少用于输入字的向量,gensim,word2vec,Gensim,Word2vec,我训练的Gensim Word2Vec缺少一些单词的向量。也就是说,虽然我有一个单词“yuval”作为输入,但是模型缺少一个向量。原因是什么?您可能没有提供格式正确的语料库作为标记,或者出现的次数低于模型的最小计数。(对于Word2Vec模型来说,丢弃低频词通常是有帮助的——如果一个词只有几个例子,那么更多的数据并不会自动变得更好。) 仔细检查'yuval'是否出现在语料库中,出现了多少次,以及这是否足以让单词存活minu counttrimming 您可能没有提供'yuval'作为带有正确格式
最小计数。(对于Word2Vec
模型来说,丢弃低频词通常是有帮助的——如果一个词只有几个例子,那么更多的数据并不会自动变得更好。)
仔细检查'yuval'
是否出现在语料库中,出现了多少次,以及这是否足以让单词存活minu count
trimming 您可能没有提供'yuval'
作为带有正确格式语料库的标记,或者出现的次数低于模型的最小计数。(对于Word2Vec
模型来说,丢弃低频词通常是有帮助的——如果一个词只有几个例子,那么更多的数据并不会自动变得更好。)
仔细检查'yuval'
是否出现在语料库中,出现了多少次,以及这是否足以让单词存活minu count
trimming 为了扩展@gojomo
的答案,Word2Vec
模型在训练期间被告知丢弃最小计数以下的代币,因为它们被认为是无信息的,这意味着无法推断出有用的上下文
这意味着,这些标记不会有向量
要进行检查,请加载模型,并检查词汇表是否包含您感兴趣的标记:
>>> import gensim
>>> model = gensim.models.KeyedVectors.load(...)
>>> 'car' in model
True
>>> 'yuval' in model
False
由于“yuval”不在词汇表中,因此无法使用
运算符中的找到它,如果使用,将抛出一个键错误
>>> model['car']
...
...
<numpy array>
>>> model['yuval']
...
...
KeyError: "word 'yuval' not in vocabulary"
为了进一步说明@gojomo
的答案,Word2Vec
模型在培训期间被告知丢弃min\u计数以下的代币,因为它们被认为是无信息的,这意味着无法推断有用的上下文
这意味着,这些标记不会有向量
要进行检查,请加载模型,并检查词汇表是否包含您感兴趣的标记:
>>> import gensim
>>> model = gensim.models.KeyedVectors.load(...)
>>> 'car' in model
True
>>> 'yuval' in model
False
由于“yuval”不在词汇表中,因此无法使用
运算符中的找到它,如果使用,将抛出一个键错误
>>> model['car']
...
...
<numpy array>
>>> model['yuval']
...
...
KeyError: "word 'yuval' not in vocabulary"