【发布时间】:2021-03-27 17:42:26
【问题描述】:
我无法让 .most_similar() 函数工作。我已经尝试过 Gensim 3.8.3 版本,现在是 beta 版本 4.0 。我正在使用每个文档版本的 Word2Vec 模型教程。
代码给我错误并重新启动我的内核:
print(wv.most_similar(positive=['car', 'minivan'], topn=5))
以上代码在 3.8.3 文档和 4.0 中都是逐字记录的。按照教程逐字逐句。
正如其他堆栈溢出答案中所述,我尝试过 model.wv.most_similar()
我认为 .most_similar() 没有贬值。
另外 .doesnt_match() 函数不起作用。
关于 gojomo 的编辑:
现在我在 Genism 3.8.3 上。我正在使用 GloVe 模型和 Word2Vec 模型,实际上只是尝试过,它与 GloVe 模型一起使用,也许 Word2Vec 模型存在内存问题,如 gojomo 建议我的代码如下:
我正在使用 linx 笔记本电脑,I-7 核心 1065 cpu,内存 7.4 GiB,64 位 ubuntu
%matplotlib inline
import logging
logging.basicConfig(format='%(asctime)s : %(levelname)s : %(message)s', level=logging.INFO)
import gensim.downloader as api
wv = api.load('word2vec-google-news-300')
for i, word in enumerate(wv.vocab):
if i == 10:
break
print(word)
pairs = [
('programming', 'linux'),
('programming', 'bicycle'),
('programming', 'apple'),
('programming', 'cereal'),
('programming', 'capitalism'),
('programming', 'computers'),
('programming', 'python'),
('programming', 'algebra'),
('programming', 'logic'),
('programming', 'math'),
]
for w1, w2 in pairs:
print('%r\t%r\t%.2f' % (w1, w2, wv.similarity(w1, w2)))
print(wv.most_similar(positive=['math'], topn=5))
【问题讨论】:
标签: python-3.x machine-learning nlp gensim word2vec