使用Gensim進(jìn)行文本信息分類

pip install gensim

數(shù)據(jù)源:

朋友圈信息

代碼:

# -*- coding:utf-8 -*-

import numpyas np

from gensimimport corpora, models, similarities

import time

import jieba

def load_stopword():

'''

? ? 加載停用詞表

? ? :return: 返回停用詞的列表'''

? ? f_stop =open('stopword.txt')

sw = [line.strip()for linein f_stop]

f_stop.close()

return sw

if __name__ =='__main__':

print('1.初始化停止詞列表 ------')

# 開始的時(shí)間

? ? t_start = time.time()

# 加載停用詞表

? ? stop_words = load_stopword()

print('2.開始讀入語料數(shù)據(jù) ------ ')

wxid_list =list()

texts =list()

# 讀入語料庫

? ? with open('sample2_combined_7201wxid.txt', 'r', encoding='utf-8')as file_to_read1:

while True:

one_line = file_to_read1.readline()

if one_line =='' or one_line =='\n':

break

? ? ? ? ? ? line_strs = one_line.split('\n')[0].split('\t')

wx_id = line_strs[0]

text = line_strs[1]

words = jieba.lcut(text)

wxid_list.append(wx_id)

texts.append(words)

print('讀入語料數(shù)據(jù)完成,用時(shí)%.3f秒' % (time.time() - t_start))

M =len(texts)

print('文本數(shù)目:%d個(gè)' % M)

print('3.正在建立詞典 ------')

# 建立字典

? ? dictionary = corpora.Dictionary(texts)

V =len(dictionary)

print('4.正在計(jì)算文本向量 ------')

# 轉(zhuǎn)換文本數(shù)據(jù)為索引帜羊,并計(jì)數(shù)

? ? corpus = [dictionary.doc2bow(text)for textin texts]

print('5.正在計(jì)算文檔TF-IDF ------')

t_start = time.time()

# 計(jì)算tf-idf值

? ? corpus_tfidf = models.TfidfModel(corpus)[corpus]

print('建立文檔TF-IDF完成,用時(shí)%.3f秒' % (time.time() - t_start))

print('6.LDA模型擬合推斷 ------')

# 訓(xùn)練模型

? ? num_topics =30

? ? t_start = time.time()

lda = models.LdaModel(corpus_tfidf, num_topics=num_topics, id2word=dictionary,

? ? ? ? ? ? ? ? ? ? ? ? ? alpha=0.01, eta=0.01, minimum_probability=0.001,

? ? ? ? ? ? ? ? ? ? ? ? ? update_every=1, chunksize=100, passes=1)

print('LDA模型完成,訓(xùn)練時(shí)間為\t%.3f秒' % (time.time() - t_start))

# 隨機(jī)打印某10個(gè)文檔的主題

? ? num_show_topic =10? # 每個(gè)文檔顯示前幾個(gè)主題

? ? print('7.結(jié)果:10個(gè)文檔的主題分布:--')

doc_topics = lda.get_document_topics(corpus_tfidf)# 所有文檔的主題分布

? ? idx = np.arange(M)

np.random.shuffle(idx)

idx = idx[:10]

for iin idx:

topic = np.array(doc_topics[i])

topic_distribute = np.array(topic[:, 1])

# print topic_distribute

? ? ? ? topic_idx = topic_distribute.argsort()[:-num_show_topic -1:-1]

print(('第%d個(gè)文檔的前%d個(gè)主題:' % (i, num_show_topic)), topic_idx)

print(topic_distribute[topic_idx])

num_show_term =7? # 每個(gè)主題顯示幾個(gè)詞

? ? print('8.結(jié)果:每個(gè)主題的詞分布:--')

for topic_idin range(num_topics):

print('主題#%d:\t' % topic_id)

term_distribute_all = lda.get_topic_terms(topicid=topic_id)

term_distribute = term_distribute_all[:num_show_term]

term_distribute = np.array(term_distribute)

term_id = term_distribute[:, 0].astype(np.int)

print('詞:\t', )

for tin term_id:

print(dictionary.id2token[t], )

print('\n概率:\t', term_distribute[:, 1])

運(yùn)行結(jié)果:

1.初始化停止詞列表 ------

2.開始讀入語料數(shù)據(jù) ------

Building prefix dict from the default dictionary ...

Loading model from cache /tmp/jieba.cache

Loading model cost 0.453 seconds.

Prefix dict has been built succesfully.

讀入語料數(shù)據(jù)完成,用時(shí)20.850秒

文本數(shù)目:7201個(gè)

3.正在建立詞典 ------

4.正在計(jì)算文本向量 ------

5.正在計(jì)算文檔TF-IDF ------

建立文檔TF-IDF完成匈庭,用時(shí)0.340秒

6.LDA模型擬合推斷 ------

LDA模型完成污桦,訓(xùn)練時(shí)間為 39.582秒

7.結(jié)果:10個(gè)文檔的主題分布:--

第4776個(gè)文檔的前10個(gè)主題: [12 29 28? 1? 2? 3? 4? 5? 6? 7]

[0.58493376 0.01431263 0.01431263 0.01431263 0.01431263 0.01431263

0.01431263 0.01431263 0.01431263 0.01431263]

第4029個(gè)文檔的前10個(gè)主題: [12? 3 20? 4 29 13? 1? 2? 5? 6]

[0.37388983 0.3025465? 0.12476926 0.11684622 0.00315185 0.00315185

0.00315185 0.00315185 0.00315185 0.00315185]

第3246個(gè)文檔的前10個(gè)主題: [ 3? 5 25? 4 29 13? 1? 2? 6? 7]

[0.37498331 0.2976712? 0.19527724 0.05764455 0.00286245 0.00286245

0.00286245 0.00286245 0.00286245 0.00286245]

第4338個(gè)文檔的前10個(gè)主題: [ 3 25? 4? 0? 5 12 13? 1? 2? 6]

[0.5332467? 0.15297471 0.12927592 0.07833721 0.04124153 0.02898731

0.00149736 0.00149736 0.00149736 0.00149736]

第2161個(gè)文檔的前10個(gè)主題: [ 3 25? 5? 4 27? 0 23 12? 1? 2]

[0.38401735 0.21167417 0.14914817 0.10948798 0.04541766 0.03539393

0.02509075 0.00172913 0.00172913 0.00172913]

第4651個(gè)文檔的前10個(gè)主題: [ 3 25? 5 12 29 13? 1? 2? 4? 6]

[0.32238352 0.31823975 0.21561985 0.04819759 0.00367536 0.00367536

0.00367536 0.00367536 0.00367536 0.00367536]

第5238個(gè)文檔的前10個(gè)主題: [12? 3 25? 5 27 29 13? 1? 2? 4]

[0.27936012 0.26403227 0.1416378? 0.1241198? 0.08557552 0.00421098

0.00421098 0.00421098 0.00421098 0.00421098]

第4130個(gè)文檔的前10個(gè)主題: [ 3 27? 5? 4 29 13? 1? 2? 6? 7]

[0.59734505 0.10868986 0.10651511 0.07392456 0.00436636 0.00436636

0.00436636 0.00436636 0.00436636 0.00436636]

第5269個(gè)文檔的前10個(gè)主題: [25? 3? 4 27? 0 13? 1? 2? 5? 6]

[0.343871? 0.30449691 0.19992411 0.05840852 0.05270721 0.00162369

0.00162369 0.00162369 0.00162369 0.00162369]

第6264個(gè)文檔的前10個(gè)主題: [25 12? 3? 5 27? 6 29 13? 1? 2]

[0.33372545 0.19687143 0.16887571 0.10230102 0.07008811 0.04191673

0.00359256 0.00359256 0.00359256 0.00359256]

8.結(jié)果:每個(gè)主題的詞分布:--

主題#0:

詞:

早餐

牛肉

維生素

C

早安

導(dǎo)致

概率: [0.03386845 0.02483381 0.02025204 0.01660909 0.01363995 0.01068665

0.00706152]

主題#1:

詞:

講授

宛伊

春季班

淺秋

網(wǎng)課

航道

幫轉(zhuǎn)

概率: [7.93909385e-06 7.93909385e-06 7.93909385e-06 7.93909385e-06

7.93909385e-06 7.93909385e-06 7.93909385e-06]

主題#2:

詞:

小伙伴

流淚

輔導(dǎo)

寵兒

瘋狂

微笑

概率: [1.29068419e-02 7.86041255e-06 7.84468011e-06 7.84414897e-06

7.84136773e-06 7.83974428e-06 7.83950691e-06]

主題#3:

詞:

]

[

饼记!

?

太陽

概率: [0.01985054 0.01532708 0.01354059 0.0135403? 0.00976824 0.00958529

0.00929036]

主題#4:

詞:

含有

預(yù)防

油脂

玫瑰

代謝

氣血

概率: [0.02105247 0.01467578 0.00972506 0.00949167 0.00915031 0.00889741

0.00666286]

主題#5:

詞:

本人

信息

工作

食用

聯(lián)系電話

聯(lián)系

求購

概率: [0.02339416 0.01594725 0.01259175 0.01181062 0.01179646 0.01147621

0.01118094]

主題#6:

詞:

首付

E

擁抱

一廳

出租

跳跳

家電

概率: [0.00836604 0.008056? 0.00526544 0.00428819 0.00402217 0.00337555

0.00293302]

主題#7:

詞:

復(fù)制

三網(wǎng)

??

下載

概率: [7.94328753e-06 7.94041080e-06 7.94032258e-06 7.94012067e-06

7.93994695e-06 7.93993877e-06 7.93991512e-06]

主題#8:

詞:

??

110

碼數(shù)

??

珍惜

圍巾

概率: [0.01233861 0.00504165 0.00441902 0.00437879 0.00392553 0.00380516

0.00368871]

主題#9:

詞:

平米

下款

配合

服裝

一批

概率: [2.61398800e-05 7.94631796e-06 7.94381049e-06 7.94274365e-06

7.94042626e-06 7.94038988e-06 7.94034531e-06]

主題#10:

詞:

抽繩

就是

298

外套

39.6

概率: [7.94010339e-06 7.94001789e-06 7.93999061e-06 7.93988329e-06

7.93971594e-06 7.93969502e-06 7.93959043e-06]

主題#11:

詞:

刺激

?

閃電

高檔

設(shè)計(jì)

概率: [7.93989784e-06 7.93967229e-06 7.93963409e-06 7.93953132e-06

7.93952859e-06 7.93952768e-06 7.93951222e-06]

主題#12:

詞:

-

尺碼

面料

??

新款

概率: [0.01297308 0.01196654 0.00738309 0.00686454 0.00652365 0.00635273

0.00621089]

主題#13:

詞:

手串

極品

精品

mm

克價(jià)

概率: [7.93997333e-06 7.93986601e-06 7.93975596e-06 7.93964227e-06

7.93962499e-06 7.93960680e-06 7.93958588e-06]

主題#14:

詞:

貸款

辦理

自動(dòng)

信用卡

軟件

導(dǎo)航

刷卡

概率: [0.0075584? 0.00740018 0.00605603 0.0055211? 0.00507937 0.0047877

0.00400551]

主題#15:

詞:

松茸

十袋

豆包

降血糖

概率: [7.93930394e-06 7.93929939e-06 7.93925938e-06 7.93925210e-06

7.93922936e-06 7.93922754e-06 7.93922663e-06]

主題#16:

詞:

缺錢

先找

不放馬

盡我所能

讓開

驕縱

概率: [7.93957497e-06 7.93950130e-06 7.93943491e-06 7.93943309e-06

7.93943309e-06 7.93943309e-06 7.93943309e-06]

主題#17:

詞:

??

跑步

高幫

Jordan

流淚

概率: [0.0087569? 0.00830467 0.00424777 0.00316585 0.00305585 0.00290347

0.00265311]

主題#18:

詞:

出單

散客

客源

父母

鹿鞭

概率: [7.11068418e-03 3.31070670e-03 1.58573002e-05 9.37107234e-06

8.43134512e-06 7.91026287e-06 7.89694332e-06]

主題#19:

詞:

丈母娘

女兒

照料

用卡

困難

購點(diǎn)

概率: [7.93986328e-06 7.93965410e-06 7.93955314e-06 7.93948948e-06

7.93940035e-06 7.93935214e-06 7.93934214e-06]

主題#20:

詞:

??

領(lǐng)取

兔絨

ML

咖色

??

??

概率: [1.21185910e-02 8.46080638e-06 7.86211695e-06 7.84995154e-06

7.84794338e-06 7.84665463e-06 7.84584790e-06]

主題#21:

詞:

話費(fèi)

補(bǔ)單

吸引

??

成功

記住

概率: [9.07428004e-03 2.24792189e-03 8.18135049e-06 7.97946359e-06

7.96390214e-06 7.91229650e-06 7.89194746e-06]

主題#22:

詞:

封號(hào)

安卓

打擾

概率: [0.02807738 0.00463936 0.00386185 0.00289498 0.00250433 0.00160384

0.00153386]

主題#23:

詞:

cn

用戶

http

注冊(cè)

t

鏈接

下載

概率: [0.00543195 0.00511594 0.00499532 0.00436718 0.00374179 0.00372209

0.00302911]

主題#24:

詞:

我手

佛為

儒為表

思在腦

大度

概率: [7.93967683e-06 7.93967502e-06 7.93964318e-06 7.93963864e-06

7.93963409e-06 7.93959862e-06 7.93957406e-06]

主題#25:

詞:

..

慰枕、

??

具则,

概率: [0.03780913 0.02099271 0.01741591 0.01197653 0.01115799 0.01110726

0.01001806]

主題#26:

詞:

講授

宛伊

春季班

淺秋

網(wǎng)課

航道

幫轉(zhuǎn)

概率: [7.93909385e-06 7.93909385e-06 7.93909385e-06 7.93909385e-06

7.93909385e-06 7.93909385e-06 7.93909385e-06]

主題#27:

詞:

美容

萬人

商機(jī)

人們

女生

概率: [0.0233007? 0.01607903 0.01494002 0.01140604 0.01007851 0.01006253

0.0097663 ]

主題#28:

詞:

尺寸

蕾絲

牛仔

長款

大牌

禮盒

建議

概率: [0.00684191 0.00433312 0.00364425 0.00293131 0.00268158 0.00265364

0.00230511]

主題#29:

詞:

縮陰

宮頸

精準(zhǔn)

陰道

豐胸

糜爛

概率: [0.00535257 0.00325915 0.0028789? 0.00250742 0.00237429 0.00229252

0.0020758 ]

從每個(gè)分類的top7詞匯可以看出具帮,該方法有一定分類效果博肋。下一步優(yōu)化方向:增加停用詞列表、調(diào)參蜂厅。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末匪凡,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子掘猿,更是在濱河造成了極大的恐慌病游,老刑警劉巖,帶你破解...
    沈念sama閱讀 210,914評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件稠通,死亡現(xiàn)場(chǎng)離奇詭異礁遵,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)采记,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,935評(píng)論 2 383
  • 文/潘曉璐 我一進(jìn)店門佣耐,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人唧龄,你說我怎么就攤上這事兼砖〖樵叮” “怎么了?”我有些...
    開封第一講書人閱讀 156,531評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵讽挟,是天一觀的道長懒叛。 經(jīng)常有香客問我,道長耽梅,這世上最難降的妖魔是什么薛窥? 我笑而不...
    開封第一講書人閱讀 56,309評(píng)論 1 282
  • 正文 為了忘掉前任,我火速辦了婚禮眼姐,結(jié)果婚禮上诅迷,老公的妹妹穿的比我還像新娘。我一直安慰自己众旗,他們只是感情好罢杉,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,381評(píng)論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著贡歧,像睡著了一般滩租。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上利朵,一...
    開封第一講書人閱讀 49,730評(píng)論 1 289
  • 那天律想,我揣著相機(jī)與錄音,去河邊找鬼绍弟。 笑死技即,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的晌柬。 我是一名探鬼主播姥份,決...
    沈念sama閱讀 38,882評(píng)論 3 404
  • 文/蒼蘭香墨 我猛地睜開眼郭脂,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼年碘!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起展鸡,我...
    開封第一講書人閱讀 37,643評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤屿衅,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后莹弊,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體涤久,經(jīng)...
    沈念sama閱讀 44,095評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,448評(píng)論 2 325
  • 正文 我和宋清朗相戀三年忍弛,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了响迂。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,566評(píng)論 1 339
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡细疚,死狀恐怖蔗彤,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤然遏,帶...
    沈念sama閱讀 34,253評(píng)論 4 328
  • 正文 年R本政府宣布贫途,位于F島的核電站,受9級(jí)特大地震影響待侵,放射性物質(zhì)發(fā)生泄漏丢早。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,829評(píng)論 3 312
  • 文/蒙蒙 一秧倾、第九天 我趴在偏房一處隱蔽的房頂上張望怨酝。 院中可真熱鬧,春花似錦中狂、人聲如沸凫碌。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,715評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽盛险。三九已至,卻和暖如春勋又,著一層夾襖步出監(jiān)牢的瞬間苦掘,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,945評(píng)論 1 264
  • 我被黑心中介騙來泰國打工楔壤, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留鹤啡,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,248評(píng)論 2 360
  • 正文 我出身青樓蹲嚣,卻偏偏與公主長得像递瑰,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子隙畜,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,440評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容