Gensim LDA дает вывод идентификаторов тем, но вероятности не суммируются до 1 - PullRequest
0 голосов
/ 22 февраля 2019

Я подготовил модель LDA к кластерной теме 100, и, насколько мне известно, каждая тема должна выводиться с определенной вероятностью, все в сумме составляют 1.

Но когда я запускаю этот код, яЯ получаю только 2 темы.

Пожалуйста, помогите.

text = "A blood cell, also called a hematocyte, is a cell produced by hematopoiesis and normally found in blood."

# transform text into the bag-of-words space
bow_vector = dictionary.doc2bow(tokenize(text))
lda_vector = lda_model[bow_vector]
print("LDA Output: ", lda_vector)
print("\nTop Keywords from highest prob Topic: ",lda_model.print_topic(max(lda_vector, key=lambda item: item[1])[0]))
print("\n\nAddition of all the probabilities from LDA output:",functools.reduce(lambda x,y:x+y,[i[1] for i in lda_vector]))

Вывод LDA: [(64, 0,6952628), (69, 0,18223721)]

ВверхКлючевые слова с высокой вероятностью Тема: 0,042 * «здоровье» + 0,032 * «медицинское обслуживание» + 0,017 * «пациенты» + 0,016 * «рак» + 0,015 * «стационар» + 0,015 * «лечение» + 0,015 * «лечение» + 0,012 *«врачи» + 0,012 * «уход» + 0,012 * «препарат»

Сложение всех вероятностей из выхода LDA: 0,8775

1 Ответ

0 голосов
/ 28 февраля 2019

Если вы установите для параметра minimum_probability из LdaModel значение 0, сумма будет 1 (или около 1 из-за ошибок аппроксимации).Он управляет фильтрацией тем, возвращаемых для документа.

...