.most_similar() 的 Gensim 错误,jupyter 内核重新启动

Gensim error with .most_similar(), jupyter kernel restarting

我无法使用 .most_similar() 函数。我已经尝试了 Gensim 3.8.3 版本,现在是测试版 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))

如果 Jupyter 内核在没有明确错误消息的情况下快死了,您可能 运行 内存不足。

可能有更多信息记录到您启动 Jupyter 服务器的控制台。如果您扩展您的问题以在其中包含任何信息,以及有关您已加载的模型(磁盘大小)和您 运行 使用的系统(尤其是可用 RAM)的详细信息,则可能提出其他建议。

另外:

gensim-3.8.3 在第一次 .most_similar() 调用时需要新的大 RAM 增量,而 gensim-4.0.0beta 预发布当时只需要小得多的增量 -因此更有可能的是,如果模型加载成功,您也应该能够获得 .most_similar() 结果。所以了解以下内容也会很有用:

  • 您是如何安装 gensim-4.0.0beta 的,您是否确认这是您的笔记本内核环境实际使用的版本?
  • 您确定之前的步骤(例如加载)已成功,并且只有且恰好是 most_similar() 触发了失败? (是否在单独的单元格中,在尝试 most_similar() 之前,您能否成功查询模型的其他方面,例如它的长度或是否包含某些单词?)