Gensim做中文主題模型(LDA)
環境: Ubuntu 12.04, gensim, jieba
中文語料來自 的 24M
jerry@hq:/u01/jerry/Reduced$ ls
C000008 C000010 C000013 C000014 C000016 C000020 C000022 C000023 C000024
各個資料夾的分類:
C000007 汽車
C000008 財經
C000010 IT
C000013 健康
C000014 體育
C000016 旅遊
C000020 教育
C000022 招聘
C000023 文化
C000024 軍事
步驟如下:
import jieba, os
from gensim import corpora, models, similarities
train_set = []
walk = os.walk('/u01/jerry/Reduced')
for root, dirs, files in walk:
for name in files:
f = open(os.path.join(root, name), 'r')
raw = f.read()
word_list = list(jieba.cut(raw, cut_all = False))
train_set.append(word_list)
dic = corpora.Dictionary(train_set)
corpus = [dic.doc2bow(text) for text in train_set]
tfidf = models.TfidfModel(corpus)
corpus_tfidf = tfidf[corpus]
lda = models.LdaModel(corpus_tfidf, id2word = dic, num_topics = 10)
corpus_lda = lda[corpus_tfidf]
>>> for i in range(0, 10):
... print lda.print_topic(i)
...
0.000*康寧 + 0.000*sohu2 + 0.000*wmv + 0.000*bbn7 + 0.000*mmst + 0.000*cid + 0.000*icp + 0.000*沙塵 + 0.000*性騷擾 + 0.000*烏里韋
0.000*media + 0.000*mid + 0.000*stream + 0.000*bbn7 + 0.000*mmst + 0.000*sohu2 + 0.000*cid + 0.000*icp + 0.000*wmv + 0.000*that
0.012* + 0.000*米蘭 + 0.000*老闆 + 0.000*男人 + 0.000*女人 + 0.000*她 + 0.000*小說 + 0.000*病人 + 0.000*我 + 0.000*女性
0.002*& + 0.002*nbsp + 0.001*0 + 0.001*; + 0.001*西安 + 0.001*報名 + 0.001*1 + 0.001*∶ + 0.001*00 + 0.001*5
0.002*手機 + 0.002*孩子 + 0.001*球 + 0.001*國家隊 + 0.001*勝 + 0.001*教練 + 0.001*; + 0.001*名單 + 0.001*閱讀 + 0.001*高校
0.001*' + 0.000* + 0.000*= + 0.000*var + 0.000*height + 0.000*width + 0.000*NewWin + 0.000*} + 0.000*{ + 0.000*+
0.003* + 0.002*比賽 + 0.002*我 + 0.002* + 0.001*; + 0.001*- + 0.001*, + 0.001*他 + 0.001*& + 0.001*―
0.000*航班 + 0.000*勞動合同 + 0.000*最低工資 + 0.000*農民工 + 0.000*養老保險 + 0.000*勞動者 + 0.000*用人單位 + 0.000*養老 + 0.000*上調 + 0.000*錦江
0.000*皮膚 + 0.000*碘 + 0.000*食物 + 0.000*維生素 + 0.000*營養 + 0.000*皮膚 + 0.000*蛋白質 + 0.000*藥物 + 0.000*症狀 + 0.000*體內
0.000* + 0.000*EMC + 0.000*包機 + 0.000*基金 + 0.000*陸純初 + 0.000*南越 + 0.000*Kashya + 0.000*西沙群島 + 0.000*Clariion + 0.000*西沙
感覺最終的主題模型不太理想, 可以需要多增加引數num_topics的數量。
中文語料來自 的 24M
jerry@hq:/u01/jerry/Reduced$ ls
C000008 C000010 C000013 C000014 C000016 C000020 C000022 C000023 C000024
各個資料夾的分類:
C000007 汽車
C000008 財經
C000010 IT
C000013 健康
C000014 體育
C000016 旅遊
C000020 教育
C000022 招聘
C000023 文化
C000024 軍事
步驟如下:
import jieba, os
from gensim import corpora, models, similarities
train_set = []
walk = os.walk('/u01/jerry/Reduced')
for root, dirs, files in walk:
for name in files:
f = open(os.path.join(root, name), 'r')
raw = f.read()
word_list = list(jieba.cut(raw, cut_all = False))
train_set.append(word_list)
dic = corpora.Dictionary(train_set)
corpus = [dic.doc2bow(text) for text in train_set]
tfidf = models.TfidfModel(corpus)
corpus_tfidf = tfidf[corpus]
lda = models.LdaModel(corpus_tfidf, id2word = dic, num_topics = 10)
corpus_lda = lda[corpus_tfidf]
>>> for i in range(0, 10):
... print lda.print_topic(i)
...
0.000*康寧 + 0.000*sohu2 + 0.000*wmv + 0.000*bbn7 + 0.000*mmst + 0.000*cid + 0.000*icp + 0.000*沙塵 + 0.000*性騷擾 + 0.000*烏里韋
0.000*media + 0.000*mid + 0.000*stream + 0.000*bbn7 + 0.000*mmst + 0.000*sohu2 + 0.000*cid + 0.000*icp + 0.000*wmv + 0.000*that
0.012* + 0.000*米蘭 + 0.000*老闆 + 0.000*男人 + 0.000*女人 + 0.000*她 + 0.000*小說 + 0.000*病人 + 0.000*我 + 0.000*女性
0.002*& + 0.002*nbsp + 0.001*0 + 0.001*; + 0.001*西安 + 0.001*報名 + 0.001*1 + 0.001*∶ + 0.001*00 + 0.001*5
0.002*手機 + 0.002*孩子 + 0.001*球 + 0.001*國家隊 + 0.001*勝 + 0.001*教練 + 0.001*; + 0.001*名單 + 0.001*閱讀 + 0.001*高校
0.001*' + 0.000* + 0.000*= + 0.000*var + 0.000*height + 0.000*width + 0.000*NewWin + 0.000*} + 0.000*{ + 0.000*+
0.003* + 0.002*比賽 + 0.002*我 + 0.002* + 0.001*; + 0.001*- + 0.001*, + 0.001*他 + 0.001*& + 0.001*―
0.000*航班 + 0.000*勞動合同 + 0.000*最低工資 + 0.000*農民工 + 0.000*養老保險 + 0.000*勞動者 + 0.000*用人單位 + 0.000*養老 + 0.000*上調 + 0.000*錦江
0.000*皮膚 + 0.000*碘 + 0.000*食物 + 0.000*維生素 + 0.000*營養 + 0.000*皮膚 + 0.000*蛋白質 + 0.000*藥物 + 0.000*症狀 + 0.000*體內
0.000* + 0.000*EMC + 0.000*包機 + 0.000*基金 + 0.000*陸純初 + 0.000*南越 + 0.000*Kashya + 0.000*西沙群島 + 0.000*Clariion + 0.000*西沙
感覺最終的主題模型不太理想, 可以需要多增加引數num_topics的數量。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16582684/viewspace-1253901/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 文字主題抽取:用gensim訓練LDA模型LDA模型
- LDA主題模型LDA模型
- 主題模型值LDA模型LDA
- 主題模型-LDA淺析模型LDA
- 通俗理解LDA主題模型LDA模型
- 文字主題模型之LDA(一) LDA基礎模型LDA
- 用scikit-learn學習LDA主題模型LDA模型
- LDA主題模型簡介及Python實現LDA模型Python
- 文字主題模型之LDA(二) LDA求解之Gibbs取樣演算法模型LDA演算法
- 文字主題模型之LDA(三) LDA求解之變分推斷EM演算法模型LDA演算法
- 使用Gensim進行主題建模(一)
- 使用Gensim進行主題建模(二)
- 淺談話題模型:LSA、PLSA、LDA模型LDA
- 用WordCloud詞雲+LDA主題模型,帶你讀一讀《芳華》(python實現)CloudLDA模型Python
- 用 LDA 做主題模型:當 MLlib 邂逅 GraphXLDA模型
- pLSA主題模型模型
- 主題模型TopicModel:Unigram、LSA、PLSA主題模型詳解模型
- [python] LDA處理文件主題分佈程式碼入門筆記PythonLDA筆記
- 【轉】概念主題模型簡記模型
- [python] LDA處理文件主題分佈及分詞、詞頻、tfidf計算PythonLDA分詞
- [DataAnalysis]機器學習演算法——線性模型(邏輯迴歸+LDA)機器學習演算法模型邏輯迴歸LDA
- Linux下安裝GensimLinux
- 【JSConf EU 2018】主題總結 (部分主題已有中文文章)JS
- 文字主題模型之非負矩陣分解(NMF)模型矩陣
- 文字主題模型之潛在語義索引(LSI)模型索引
- NLP:Gensim庫之word2vec
- 用gensim學習word2vec
- 主庫不停做物理dg
- 隨機森林、EM、HMM、LDA隨機森林HMMLDA
- 【機器學習】--LDA初始和應用機器學習LDA
- LDA(線性判別分析)LDA
- 08 特徵工程 - 特徵降維 - LDA特徵工程LDA
- LDA臨時筆記,待整理LDA筆記
- 用主題模型視覺化分析911新聞(Python版)模型視覺化Python
- 如何用Python做中文分詞?Python中文分詞
- 做題思路
- 【NLP學習筆記】(一)Gensim基本使用方法筆記
- LDA入門級學習筆記LDA筆記