def genlda(textlist,n): ticks = str(time.time()).replace('.','')[-6:-1] nn=str(n) dictionary = corpora.Dictionary(textlist) corpus = [ dictionary.doc2bow(text) for text in textlist ] #tfidf = models.TfidfModel(corpus) #corpus_tfidf = tfidf[corpus] #print(list(corpus_tfidf))#輸出詞的tfidf #print(list(corpus))#輸出文本向量空間 #########Run the LDA model for XX topics ############################### lda =LdaMulticore(corpus=corpus, id2word=dictionary, num_topics=n,passes=100,workers=3) doc_topic = [a for a in lda[corpus]] ####### write the topics in file topics_result.txt ############## topics_r = lda.print_topics(num_topics = n, num_words =20) topic_name = codecs.open('詞匯矩陣主題個數'+nn+'時間'+ticks+'.txt','w') for v in topics_r: topic_name.write(str(v)+'\n') lda.save('模型主題個數'+nn+'時間'+ticks) print('主題數',nn,ticks,lda.log_perplexity(corpus)) f=open('每篇分類主題個數'+nn+'時間'+ticks+'.txt','a+') k=0 for i in lda.get_document_topics(corpus)[:]: listj=[] for j in i: listj.append(j[1]) bz=listj.index(max(listj)) print(k,i[bz][0],i[bz][1],listj,listj.index(max(listj)),file=f) k=k+1