繁体   English   中英

Gensim word2vec模型中给定单词嵌入模型的文本的获取概率

[英]Getting probability of the text given word embedding model in gensim word2vec model

我正在尝试使用gensim word2vec模型获得最可能的单词序列。 我找到了提供这些文件的预训练模型:

word2vec.bin
word2vec.bin.syn0.npy
word2vec.bin.syn1neg.npy

这是我的代码尝试使用此模型获得句子的概率:

model = model.wv.load(word_embedding_model_path)
model.hs = 1
model.negative = 0
print model.score(sentence.split(" "))

运行此代码时,出现此错误:

AttributeError: 'Word2Vec' object has no attribute 'syn1'

谁能帮助我找出解决问题的方法。 通常,我想使用一些预训练的模型来获得单词序列一起出现的概率。

在初始设置和训练之后hs=1, negative=0您不能将模型从使用负采样(例如negative=5, hs=0 )切换到使用hierarchical-softmax(例如hs=1, negative=0 )。 这两个模型使用不同的内部属性,这些属性仅由设置和培训创建。 (例如,属性syn1仅存在于以syn1模式创建和训练的模型中。)

由于score()方法当前仅适用于HS模型,因此您只需要将其用于以该模式训练的模型即可。

(还要注意,针对单个模型的单个文本的score()中的值不能解释为绝对概率。仅是与同一个模型的其他文本的得分相比,或同一个文本的替代文本的得分相比)模型,分数的相对值就变得有意义。)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM