как получить топи c вероятность от ldamodel с помощью gensim? - PullRequest
0 голосов
/ 16 марта 2020
data1=[tokens.doc2bow(text) for text in texts]
ldamodel=gensim.models.ldamodel.LdaModel(corpus=data1,id2word=tokens,num_topics=10,random_state=100,update_every=1,chunksize=10,passes=10,alpha='auto',per_word_topics=True)
print(*ldamodel.print_topics(),sep="\n")
lda=ldamodel[data1]
l=[ldamodel.get_document_topics(item) for item in data1]
print(l)

Выполняя get_document_topics(), он выдает сотни строк (как показано на рисунке). Я не знаю, что это значит. Я на самом деле хочу вероятности тем. Какой метод я должен использовать, чтобы получить topi c вероятности?

output of the get_document_topics()

1 Ответ

0 голосов
/ 16 марта 2020

Это топи 1030 * вероятностей. Ваша строка ...

l=[ldamodel.get_document_topics(item) for item in data1]

... по сути говорит: "дайте мне список, где каждая запись в этом списке является topi c -проблемой для той же записи в data".

Итак, самый первый элемент в этом возвращенном списке ...

[(0, 0.974673)]

... означает, что вашему самому первому документу присвоен шанс 97,4673% быть в топи c # 0.

Если вместо этого вы хотите получить вероятности для одного документа, скажем, документа в слоте 6, вместо этого вы должны выполнить:

doc_6_topics = ldamodel.get_document_topics(data1[6])

Таким образом, ваш существующий код уже сообщает о выполнении c topi c вероятности., Если ваша истинная потребность в том, «Как я могу получить их в другом формате для другой цели?», Вам следует отредактировать / расширить свой вопрос с более подробной информацией о том, почему существующее возвращаемое значение не удовлетворить ваши потребности, и что бы удовлетворить ваши потребности, и что вы пытаетесь делать дальше.

Отдельные примечания:

  • Было бы лучше поделиться необработанным форматированным текстом того, что вы видите, чем скриншотами - см. Некоторые причины здесь

  • Это немного относится к фрагменту показанного результата - ваши ранние документы - все они заканчиваются в topi c # 0. Если на самом деле ваши учебные данные «скопированы» со всеми связанными документами подряд, может быть полезно перетасовать их перед тренировкой модели, чтобы документы любого конкретного топи c могли появляться где угодно, а не «все в спереди "или" все сзади ".

...