2016-10-11 15 views
6

Tôi hy vọng sẽ gán từng tài liệu cho một chủ đề bằng cách sử dụng LDA. Bây giờ tôi nhận ra rằng những gì bạn nhận được là phân phối các chủ đề từ LDA. Tuy nhiên, như bạn thấy từ dòng cuối cùng bên dưới, tôi gán nó cho chủ đề có thể xảy ra nhất.Gensim LDA chủ đề chuyển nhượng

Câu hỏi của tôi là vậy. Tôi phải chạy lda[corpus] lần thứ hai để có được những chủ đề này. Có một số hàm gensim nội trang khác sẽ cung cấp cho tôi các vectơ gán chủ đề này trực tiếp không? Đặc biệt là kể từ khi thuật toán LDA đã đi qua các tài liệu, nó có thể đã lưu các bài tập chủ đề này?

# Get the Dictionary and BoW of the corpus after some stemming/ cleansing 
texts = [[stem(word) for word in document.split() if word not in STOPWORDS] for document in cleanDF.text.values] 
dictionary = corpora.Dictionary(texts) 
dictionary.filter_extremes(no_below=5, no_above=0.9) 
corpus = [dictionary.doc2bow(text) for text in texts] 

# The actual LDA component 
lda = models.LdaMulticore(corpus=corpus, id2word=dictionary, num_topics=30, chunksize=10000, passes=10,workers=4) 

# Assign each document to most prevalent document 
lda_topic_assignment = [max(p,key=lambda item: item[1]) for p in lda[corpus]] 

Trả lời

-1
dictionary = corpora.Dictionary(texts) 
corpus = [dictionary.doc2bow(text) for text in texts] 


test =LDA[corpus[0]] 
print(test) 
sorted(test, reverse=True, key=lambda x: x[1]) 

Topics = ['Topic_'+str(sorted(LDA[i], reverse=True, key=lambda x: x[1])[0][0]).zfill(3) for i in corpus] 
+4

vui lòng cung cấp một số bối cảnh giải thích tại sao giải pháp của bạn là đúng. Điều này sẽ giúp OP hiểu nó. –

Các vấn đề liên quan