Как получить топ (скажем, 5) документов, принадлежащих теме в LDA - PullRequest
0 голосов
/ 26 марта 2019

В основном я построил модель LDA, которая дает мне 5 тем для данных опроса, которые у меня есть. Я хочу получить примеры из этого опроса (документа), относящиеся к темам с наибольшей вероятностью (или сходством)

Я попробовал следующий код, но это не дает мне никакого порядка или вероятности того, насколько похож документ с темой:

LDA = gensim.models.ldamodel.LdaModel

# Build LDA model
lda_model = LDA(corpus=doc_term_matrix, id2word=dictionary, num_topics=5, 
random_state=100,
                chunksize=1000, passes=50,minimum_probability=0)
lda_corpus = lda_model[doc_term_matrix]
from itertools import chain
scores = list(chain(*[[score for topic_id,score in topic] \
                      for topic in [doc for doc in lda_corpus]]))
threshold = sum(scores)/len(scores)
threshold = threshold + 0.3
print(threshold)
cluster1 = [j for i,j in zip(lda_corpus,input_df['Serv_DlrRec_Verb']) if i[0][1] > threshold]
cluster2 = [j for i,j in zip(lda_corpus,input_df['Serv_DlrRec_Verb']) if i[1][1] > threshold]
cluster3 = [j for i,j in zip(lda_corpus,input_df['Serv_DlrRec_Verb']) if i[2][1] > threshold]
cluster4 = [j for i,j in zip(lda_corpus,input_df['Serv_DlrRec_Verb']) if i[3][1] > threshold]
cluster5 = [j for i,j in zip(lda_corpus,input_df['Serv_DlrRec_Verb']) if i[4][1] > threshold]

Не могли бы вы, ребята, помочь?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...