首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在gensim word2vec模型中获取给定单词嵌入模型的文本概率

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

Stack Overflow用户
提问于 2017-09-06 09:35:35
回答 1查看 734关注 0票数 1

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

代码语言:javascript
复制
word2vec.bin
word2vec.bin.syn0.npy
word2vec.bin.syn1neg.npy

这是我的代码,试图用这个模型获得句子的概率:

代码语言:javascript
复制
model = model.wv.load(word_embedding_model_path)
model.hs = 1
model.negative = 0
print model.score(sentence.split(" "))

在运行这段代码时,我得到了这个错误:

代码语言:javascript
复制
AttributeError: 'Word2Vec' object has no attribute 'syn1'

谁能帮我想出解决这个问题的办法。一般来说,我希望使用一些预训练模型来获得单词序列一起出现的概率。

EN

回答 1

Stack Overflow用户

发布于 2017-09-07 01:42:38

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

由于score()方法目前仅适用于HS模型,因此您只需将其用于在该模式下训练的模型。

(还要注意,相对于单个模型,单个文本的score()值不能解释为绝对概率。只有在与相同模型的其他文本的分数或与备用模型的相同文本的分数进行比较时,分数的相对值才变得有意义。)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46065514

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档