2012-12-17 6 views
1

text_corpus에서 gensim을 사용하여 LDA 모델을 교육했습니다. 새 텍스트 문서 text_sparse_vector 추론 할 수있는 경우gensim에서 LDA 모델의 항목 번호를 얻는 방법

>lda_model = gensim.models.ldamodel.LdaModel(text_corpus, 10) 

는 지금은

>lda_model[text_sparse_vector] 
[(0, 0.036479568280206563), (3, 0.053828073308160099), (7, 0.021936618544365804), (11, 0.017499953446152686), (15, 0.010153090454090822), (16, 0.35967516223499041), (19, 0.098570351997275749), (26, 0.068550060242800928), (27, 0.08371562828754453), (28, 0.14110945630261607), (29, 0.089938130046832571)] 

을해야하지만, 어떻게 대응하는 각 항목에 대한 단어 분포를받을 수 있나요. 예를 들어, 주제 번호 16의 상위 20 개 단어를 어떻게 알 수 있습니까?

클래스 gensim.models.ldamodel.LdaModel에는 show_topics (항목 = 10, topn = 10, 로그 = False, 형식 = True)라는 메서드가 있지만 설명서에 무작위로 선택된 항목 목록이 표시되어 있다고 나와 있습니다.

링크 또는 인쇄 방법 유추 된 주제 번호를 단어 배포본에 매핑 할 수 있습니까?

+0

당신은'show_topic()'을 사용할 수 있습니다. 여기를 참조하십시오 : https://github.com/piskvorky/gensim/blob/develop/gensim/models/ldamodel.py#L570-575 주문이 임의적이라고 생각하지만 잘못 될 수 있습니다. 정확히 무엇을하고 싶습니까? – Karsten

답변

5
lda.print_topic(x, topn=20) 

는 주제 X

0

당신에게 20 가지 주요 기능을 얻을 것이다 또는 당신은 다음 K 항목이있는 경우 :

print(str(["TopiC#"+str(k)+":\n" + str(lda.show_topic(k,topn=20)) for k in range(K)]))

출력은 추한하지만, 지속적으로 분류 얻을 것이다.