Это потому, что ваш домашний каталог для Маллета не настроен должным образом.Даже если у вас есть путь к двоичному набору в качестве переменной, вы все равно должны определить переменную среды, которая содержит источник, где находится Маллет:
import os
from gensim.models.wrappers import LdaMallet
os.environ['MALLET_HOME'] = 'C:\\mallet\\mallet-2.0.8'
mallet_path = 'C:\\mallet\\mallet-2.0.8\\bin\\mallet'
ldamallet_test = gensim.models.wrappers.LdaMallet(mallet_path, corpus=bow_corpus_test, num_topics=20, id2word=dictionary_test)
Обратите внимание, что вам не нужно добавлятьрасширение .bat
, так как Windows должна выполнить это изначально, поскольку она знает, что это командный файл.И, наконец, вы должны использовать двойную обратную косую черту (\\
) для разделителя пути в Windows.Невыполнение этого в зависимости от используемой версии Windows может привести к неожиданному поведению.Если вы хотите избежать головной боли, попробуйте использовать os.path.join
, который предоставит вам правильный разделитель пути независимо от операционной системы:
mallet_path = os.path.join('C:', 'mallet', 'mallet-2.0.8', 'bin', 'mallet')