2017-02-17 3 views
1

Ich habe das LDA-Modell und die Dokument-Thema-Wahrscheinlichkeiten.Extrahieren Sie Thema Wort Wahrscheinlichkeitsmatrix in Gensim LdaModel

# build the model on the corpus 
ldam = LdaModel(corpus=corpus, num_topics=20, id2word=dictionary) 
# get the document-topic probabilities 
theta, _ = ldam.inference(corpus) 

Ich brauche auch die Verteilung der Worte für alle Themen das heißt ein Thema Wortwahrscheinlichkeitsmatrix. Gibt es eine Möglichkeit, diese Informationen zu extrahieren?

Danke!

Antwort

3

Die Themen Zeit Matrix (Lambda) ist über:

topics_terms = ldam.state.get_lambda() 

Wenn Sie eine Wahrscheinlichkeitsverteilung wollen es nur normalisieren:

topics_terms_proba = np.apply_along_axis(lambda x: x/x.sum(),1,topics_terms) 
+0

wenn ich 'ldam.state.get_lambda() 'Ich bekomme eine numpige Matrix, aber es gibt keine Spaltennamen. Wie identifiziere ich die Wörter? –

+0

Um zu wissen, welches Wort einem bestimmten Index entspricht, verwenden Sie 'ldam.id2word'. Zum Beispiel ist "ldam.id2word [0]" das Wort, das der ersten Spalte der Matrix entspricht. – arthur

Verwandte Themen