python 數(shù)據(jù)挖掘篇 三 gensim 使用

Python安裝

python學(xué)習(xí) 一 python語(yǔ)法颈畸,及變量類型

python學(xué)習(xí) 二 爬一個(gè)圖片網(wǎng)站上

python學(xué)習(xí) 二 02 爬一個(gè)圖片網(wǎng)站,獲得主鏈接網(wǎng)址,并保存

python學(xué)習(xí) 二 03 爬一個(gè)圖片網(wǎng)站-獲得所有分頁(yè)網(wǎng)址

python學(xué)習(xí) 二 04 爬一個(gè)圖片網(wǎng)站-解析文件,獲得所有圖片鏈接

python學(xué)習(xí) 二 05 爬一個(gè)圖片網(wǎng)站-下載圖片鏈接

python學(xué)習(xí) 二 06 爬一個(gè)圖片網(wǎng)站-多線程方式下載

python學(xué)習(xí) 三 01 再爬一個(gè)網(wǎng)站,幾行代碼许饿,搞定分類類別

python學(xué)習(xí) 三 02 再爬一個(gè)網(wǎng)站,獲得所有分頁(yè)

python學(xué)習(xí) 三 03 再爬一個(gè)網(wǎng)站舵盈,根據(jù)分頁(yè)陋率,下載圖片

python學(xué)習(xí) 三 04 圖片爬蟲(chóng)工程-組織框架

Python 爬蟲(chóng) 上篇

Python 爬蟲(chóng) 下篇

python 數(shù)據(jù)挖掘篇 一 結(jié)巴分詞

python 數(shù)據(jù)挖掘篇 二 詞云統(tǒng)計(jì)

python 數(shù)據(jù)挖掘篇 三 gensim 使用

python 數(shù)據(jù)挖掘篇四 小說(shuō)數(shù)據(jù)挖掘?qū)嵗?/a>



第三章 Genism

3.1字符串列表到分詞向量的轉(zhuǎn)換

將每一個(gè)文檔進(jìn)行分詞,形成2維列表形式秽晚,列表的每一項(xiàng)是子列表瓦糟,子列表存儲(chǔ)的文檔的分詞

到此為止,我們已經(jīng)將字符串列表赴蝇,轉(zhuǎn)換為了分詞向量的形式菩浙。

但是,這樣計(jì)算機(jī)還是不好處理句伶,而且劲蜻,也不好進(jìn)行數(shù)學(xué)運(yùn)算,如果能將他們表示成數(shù)學(xué)的方式考余,豈不是非常美妙的一件事先嬉。

3.2分詞向量轉(zhuǎn)換為數(shù)學(xué)空間整形向量(語(yǔ)料)

怎么轉(zhuǎn)換成數(shù)學(xué)表達(dá)形式呢?

其實(shí)這個(gè)肯定都用過(guò)秃殉,你沒(méi)用過(guò)坝初?不太可能吧浸剩,你肯定壓縮過(guò)文件吧

壓縮文件時(shí)钾军,就有個(gè)字典選項(xiàng)鳄袍,沒(méi)錯(cuò),就是通過(guò)字典吏恭,將文件中常用字用數(shù)字替代拗小,這樣就節(jié)省空間了。

這里的字典是什么呢樱哼?簡(jiǎn)單來(lái)說(shuō)哀九,就是字符串和數(shù)字的對(duì)應(yīng)

3.2.1 字符串轉(zhuǎn)換成整形向量

而gensim提供了字符串向量向字典轉(zhuǎn)換的函數(shù)

打印這個(gè)字典,可以看到搅幅,字符串與數(shù)字對(duì)應(yīng)起來(lái)了 數(shù)字11 代表的就是字符串minors

有了字典阅束,我們就可以將字符串用字典表示成數(shù)學(xué)整形向量了

Doc2bow 作用就是將字符串分詞向量,轉(zhuǎn)換為對(duì)應(yīng)的整形向量

Bow是bag of word 直譯為詞袋茄唐,為啥叫詞袋呢息裸?個(gè)人以為是將字典作為原料,編織成袋子沪编,將字典表示的各個(gè)分詞向量呼盆,裝在這個(gè)袋子里,個(gè)人理解蚁廓,不必糾結(jié)访圃。

下面將所有的文檔,轉(zhuǎn)換為詞袋形式

3.2.2 文件流的形式相嵌,分解轉(zhuǎn)換語(yǔ)料

上述轉(zhuǎn)換為詞袋語(yǔ)料用的是

corpus = [dictionary.doc2bow(text)fortextintexts]

texts 是分詞向量列表腿时,這個(gè)分詞向量列表所有的子分詞列表,都是加載到內(nèi)存中的饭宾,對(duì)于大文件來(lái)說(shuō)批糟,很吃內(nèi)存。

對(duì)此捏雌,gensim提供了流的形式跃赚,每次從硬盤上讀取一段數(shù)據(jù)流,進(jìn)行詞袋轉(zhuǎn)換性湿,比如我想將上千本古典小說(shuō)轉(zhuǎn)換為詞袋的形式纬傲,只能用這種方式一本本的轉(zhuǎn)換,不能一下子放在內(nèi)存中肤频,我的內(nèi)存才可憐的2G叹括,一下子就撐爆了。

自定義一個(gè)類宵荒,迭代的方式讀取文件數(shù)據(jù)汁雷。

這有啥作用呢净嘀?

用處就是,你可以不局限于內(nèi)存大小侠讯,可以將任意數(shù)量的文本轉(zhuǎn)換為整形向量了挖藏。比如我以后打算將1000本古典小說(shuō)轉(zhuǎn)換為整形向量,使用這種方法就可以了厢漩。

3.2.3 文件流的形式膜眠,擴(kuò)展字典

如果想構(gòu)建一個(gè)大字典,比如上千本古典小說(shuō)的大字典溜嗜,也不可能一下子將上千本書(shū)加載到內(nèi)存中宵膨,gensim也提供了流加載,逐步擴(kuò)展字典的方法炸宵。

到目前為止辟躏,已經(jīng)可以將字符串轉(zhuǎn)換成整形向量語(yǔ)料形式了。

3.3 向量空間轉(zhuǎn)換

初始的向量空間土全,是由字典生成的整形向量空間

(字典ID, 該詞在此子分詞列表中出現(xiàn)的次數(shù))

初始的向量空間捎琐,我自己稱為初始語(yǔ)料,初始語(yǔ)料可以使用模型加工成其它語(yǔ)料

MmCorpus(9 documents, 12 features, 28 non-zero entries)

最簡(jiǎn)單的就是tfidf語(yǔ)料涯曲,除此之外還有l(wèi)si野哭,lda等

Tfidf

這個(gè)轉(zhuǎn)換很簡(jiǎn)單,使用初始語(yǔ)料幻件,遍歷一遍拨黔,計(jì)算頻率

獲取的結(jié)果是一個(gè)對(duì)象,使用這個(gè)對(duì)象绰沥,可以對(duì)初始的語(yǔ)料空間中的向量進(jìn)行轉(zhuǎn)換篱蝇。

將初始語(yǔ)料,全部轉(zhuǎn)換為tfidf語(yǔ)料

3.4 models 模型

模型是干嘛的呢徽曲,簡(jiǎn)單的說(shuō)零截,是對(duì)語(yǔ)料進(jìn)行進(jìn)一步的處理,從中利用數(shù)學(xué)關(guān)系秃臣,計(jì)算機(jī)算法涧衙,挖掘出潛在的信息。

常用的模型:tf-idf模型奥此,lsi模型弧哎,lda模型

Tfidf模型

使用舉例:

目前,只是傳入了初始語(yǔ)料參數(shù)稚虎,生成了一個(gè)新的對(duì)象撤嫩,但并沒(méi)有進(jìn)行語(yǔ)料的處理。真正的語(yǔ)料處理蠢终,還得調(diào)用如下方式實(shí)現(xiàn)

類似的還有:

LSI模型

num_topic的選項(xiàng)序攘,指的潛在主題(topic)的數(shù)目茴她,默認(rèn)是300,在真實(shí)大量語(yǔ)料情況下程奠,200-500丈牢,被認(rèn)為是黃金標(biāo)準(zhǔn)。

LDA模型

Word2Vec模型

這個(gè)模型也很有意思梦染,可以對(duì)詞的相近性做比較赡麦,還有部分推理關(guān)系

3.5 字典朴皆、語(yǔ)料帕识、模型的保存

字典、詞袋的形成都是很耗費(fèi)時(shí)間的遂铡,所以要將其保存起來(lái)肮疗,下次直接加載使用就可以了。

3.5.1 語(yǔ)料與文檔 對(duì)應(yīng)關(guān)系的保存與加載

生成字典后扒接,將文檔轉(zhuǎn)換為語(yǔ)料伪货,然后利用這些語(yǔ)料進(jìn)行后期的數(shù)學(xué)運(yùn)算,最終用于相似性詢問(wèn)查找钾怔。

但是最終給出的結(jié)果碱呼,是索引的形式。

這時(shí)候,語(yǔ)料與文檔的對(duì)應(yīng)關(guān)系,需要我們自己解決

我是用來(lái)查詢小說(shuō)的抵乓,將小說(shuō)每段作為文檔來(lái)處理填渠,這時(shí)候,我就要記錄下段落在語(yǔ)料中的索引搔啊。

在此,我是用字典記錄的,不同的應(yīng)用舶斧,這個(gè)要做不同的處理,針對(duì)這個(gè)應(yīng)用察皇,我是這樣處理的茴厉。

{0:第一段,1:第二段}

3.5.2 字典的保存與加載

保存

加載

如:

3.5.3 語(yǔ)料的保存與加載

保存

加載

3.5.4 模型的保存與加載

3.5.5 索引保存

在相似性查詢時(shí)什荣,對(duì)語(yǔ)料進(jìn)行索引編碼矾缓,索引信息也可以保存與加載

3.6 查詢—Similarity

其實(shí),就是搜索引擎溃睹,輸入文字而账,查詢與這個(gè)文字最相近的文檔。

3.6.1 初始化

既然要查詢哪些文檔與輸入的文字最相近因篇,首先你得有這些文檔吧泞辐,有了這些文檔笔横,還得轉(zhuǎn)換成語(yǔ)料空間吧,這樣才方便利用數(shù)學(xué)關(guān)系進(jìn)行相似度查找吧咐吼。

首先吹缔,對(duì)語(yǔ)料進(jìn)行索引編碼

這里使用lsi語(yǔ)料為例

語(yǔ)料索引編碼后,可以保存

3.6.2 對(duì)查詢字符串做語(yǔ)料轉(zhuǎn)換

如上锯茄,我們使用的lsi語(yǔ)料做的索引厢塘,所以查詢字符串也要轉(zhuǎn)換成lsi語(yǔ)料

查詢的字符串---》初始整形語(yǔ)料----》ti-idf語(yǔ)料---》lsi語(yǔ)料

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市肌幽,隨后出現(xiàn)的幾起案子晚碾,更是在濱河造成了極大的恐慌,老刑警劉巖喂急,帶你破解...
    沈念sama閱讀 218,858評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件格嘁,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡廊移,警方通過(guò)查閱死者的電腦和手機(jī)糕簿,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,372評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)狡孔,“玉大人懂诗,你說(shuō)我怎么就攤上這事∶缦ィ” “怎么了殃恒?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,282評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)荚醒。 經(jīng)常有香客問(wèn)我芋类,道長(zhǎng),這世上最難降的妖魔是什么界阁? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,842評(píng)論 1 295
  • 正文 為了忘掉前任侯繁,我火速辦了婚禮,結(jié)果婚禮上泡躯,老公的妹妹穿的比我還像新娘贮竟。我一直安慰自己,他們只是感情好较剃,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,857評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布咕别。 她就那樣靜靜地躺著,像睡著了一般写穴。 火紅的嫁衣襯著肌膚如雪惰拱。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,679評(píng)論 1 305
  • 那天啊送,我揣著相機(jī)與錄音偿短,去河邊找鬼欣孤。 笑死,一個(gè)胖子當(dāng)著我的面吹牛昔逗,可吹牛的內(nèi)容都是我干的降传。 我是一名探鬼主播,決...
    沈念sama閱讀 40,406評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼勾怒,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼婆排!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起笔链,我...
    開(kāi)封第一講書(shū)人閱讀 39,311評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤段只,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后卡乾,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體翼悴,經(jīng)...
    沈念sama閱讀 45,767評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評(píng)論 3 336
  • 正文 我和宋清朗相戀三年幔妨,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片谍椅。...
    茶點(diǎn)故事閱讀 40,090評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡误堡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出雏吭,到底是詐尸還是另有隱情锁施,我是刑警寧澤,帶...
    沈念sama閱讀 35,785評(píng)論 5 346
  • 正文 年R本政府宣布杖们,位于F島的核電站悉抵,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏摘完。R本人自食惡果不足惜姥饰,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,420評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望孝治。 院中可真熱鬧列粪,春花似錦、人聲如沸谈飒。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,988評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)杭措。三九已至费什,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間手素,已是汗流浹背鸳址。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,101評(píng)論 1 271
  • 我被黑心中介騙來(lái)泰國(guó)打工赘那, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人氯质。 一個(gè)月前我還...
    沈念sama閱讀 48,298評(píng)論 3 372
  • 正文 我出身青樓募舟,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親闻察。 傳聞我的和親對(duì)象是個(gè)殘疾皇子拱礁,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,033評(píng)論 2 355

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