Маллет с Gensim: файл не найден

Я пытаюсь заставить работать LDAMallet в gensim, но получаю следующую ошибку

'C:\...\AppData\Local\Temp\eb09f5_state.mallet.gz' не найден

Код

ldamallet = gensim.models.\
wrappers.LdaMallet(mallet_path,
                   corpus=corpus,
                   num_topics=5,
                   id2word=dictionary)

(num_topics чрезвычайно мало, но тест проходит более 5 предложений; это не проблема в обычном gensim LdaModel)

Благодарность,


person user9165100    schedule 07.06.2018    source источник
comment
Вы уверены, что именно этот фрагмент кода вызывает ошибку? LdaMallet создает эти файлы при сохранении модели. Они не требуются для запуска оболочки.   -  person WolfgangK    schedule 07.06.2018
comment
Не могли бы вы рассказать мне, как вы решили это? Кажется, я столкнулся с той же проблемой. Любая помощь будет оценена по достоинству.   -  person Rahul Nori    schedule 01.07.2018
comment
Аналогичный вопрос: stackoverflow.com/questions/50671565/   -  person Patrick    schedule 03.07.2018


Ответы (1)


Я столкнулся с той же проблемой. Ошибка, которую я получил, была следующей:

IOError: [Errno 2] No such file or directory c:\\users\\...\\appdata\\local\\temp \\d36348_state.mallet.gz.

Каждый раз, когда я пытался запустить код, префикс перед подчеркиванием менялся, но имя ошибки всегда заканчивалось формой «~Some Alphanumeric String~_state.mallet.gz».

Я попытался понять вывод трассировки стека в консоли. Строка непосредственно перед этой строкой ошибки была следующей:

fileobj = self.myfileobj = __builtin__.open(filename, mode or 'rb')

Я погуглил и нашел эту конкретную ссылку. Это ссылка на github, где человек поднял другую ошибку, но конечная часть его журнала ошибок была такой же, как у меня. Решением его ошибки было обновление его модуля smart_open, от которого зависит gensim, так как обновление устранило проблему. Итак, я проверил свою версию модуля smart_open, и она была 1.4.x, последний раз обновлялся около полутора лет назад, поэтому я обновил ее до версии 1.5.7, и код LdaMallet работает без сбоев.

Пожалуйста, проверьте, не вызвана ли проблема с вашей стороны теми же причинами.

Надеюсь, поможет!

P.S. Я также обновил свой модуль gensim вместе с smart_open до версии 3.4.

person Rahul Nori    schedule 03.07.2018