Правильный способ загрузки модели LdaMallet с помощью gensim и классификации невидимых документов

В своем проекте я использую библиотеку Python gensim для тематического моделирования/извлечения текст. Я пытаюсь загрузить свою обученную модель LdaMallet для классификации новых невидимых текстов.

Первая часть загружает модель.

import os

dirname = os.path.dirname(__file__)
filename = os.path.join(dirname, 'mallet-2.0.8/bin/mallet')

# Download File: http://mallet.cs.umass.edu/dist/mallet-2.0.8.zip
os.environ['MALLET_HOME'] = # path to mallet

ldaMallet = gensim.models.wrappers.LdaMallet.load('lda_malletoutputCommentsAndMethods.model)
ldaModel = gensim.models.wrappers.ldamallet.malletmodel2ldamodel(ldaMallet)

Я не уверен в последней строке, которая преобразует ldaMallet в LdaModel. Это был единственный способ получить какой-то результат.

Затем вторая часть готовит новые данные и классифицирует их.

from gensim.test.utils import common_dictionary
other_texts = [['new', 'document', 'to', 'classify', 'as', 'array']]
other_corpus = [common_dictionary.doc2bow(text) for text in other_texts]
vector = ldaModel[other_corpus[0]]

# sorts the result by probability and not by topic ID
print(sorted(vector, key=lambda x: x[1], reverse=True))

Тогда результат выглядит примерно так:

[(16, 0.143), (17, 0.08), (9, 0.0653),...]

Независимо от того, какой текст я использую в массиве other_texts, этот результат не меняется, но должен.


person Freshchris    schedule 10.03.2019    source источник
comment
Печать (ldaModel [other_corpus [0])   -  person Sara    schedule 24.04.2019
comment
Print(ldaModel[other_corpus[4]) и Print(ldaModel[other_corpus[:]) для меня, пожалуйста   -  person Sara    schedule 24.04.2019
comment
У меня есть несколько сообщений о применении предварительно обученного LDA к новому набору данных, но никогда из отдельного файла. Я предполагаю, что итерационные шаги аналогичны   -  person Sara    schedule 24.04.2019