




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第8章中文文本分析基礎(chǔ)與相關(guān)庫(kù)8.1中文分詞jieba庫(kù)8.2詞云(wordcloud)庫(kù)8.3社交關(guān)系網(wǎng)絡(luò)分析networkx庫(kù)8.4中文文本分析基礎(chǔ)與相關(guān)庫(kù)的應(yīng)用實(shí)例本章小結(jié)
8.1中文分詞jieba庫(kù)
作為一款由Python編寫(xiě)的中文分詞工具,jieba庫(kù)以其高效、簡(jiǎn)單易用的特點(diǎn),成為了中文自然語(yǔ)言處理領(lǐng)域的重要工具之一。它不僅可以對(duì)中文文本進(jìn)行精準(zhǔn)的分詞,還支持詞性標(biāo)注、關(guān)鍵詞提取等功能,為中文文本的分析和處理提供了強(qiáng)大的支持,庫(kù)的主要函數(shù)如表8-1所示。
8.1.1中文分詞
所謂分詞,就是將連續(xù)的字序列按照一定的規(guī)范重新組合成語(yǔ)義獨(dú)立的詞序列的過(guò)程。作為表意文字的代表——中文和字母文字的代表——英文,二者在分詞的難度上存在顯著差別。英文的單詞之間以空格作為自然分界符,而中文只是在字、句和段上通過(guò)明顯的分界符來(lái)簡(jiǎn)單劃界,在詞這個(gè)層面上卻沒(méi)有一個(gè)形式上的分界符,雖然英文也同樣存在短語(yǔ)的劃分問(wèn)題,不過(guò)在詞這一層上,中文比英文要復(fù)雜、困難得多。
【例8-1】
精確模式分詞。盡可能精確地切分句子。
【例8-2】
全模式分詞。盡可能地將可以成詞的詞語(yǔ)都掃描出來(lái)。
【例8-3】
搜索引擎模式分詞。結(jié)合以上兩種模式,盡可能精確且盡可能全面的分詞。
8.1.2詞性標(biāo)注
詞性標(biāo)注是自然語(yǔ)言處理中的重要任務(wù)之一,它涉及對(duì)文本中每個(gè)詞語(yǔ)所表達(dá)的語(yǔ)法和語(yǔ)義信息進(jìn)行準(zhǔn)確分類(lèi)的過(guò)程。通過(guò)對(duì)文本中的詞語(yǔ)進(jìn)行詞性標(biāo)注,我們能夠更深入地理解文本的結(jié)構(gòu)和含義,為后續(xù)的文本分析和處理提供重要支持。
在詞性標(biāo)注中,每個(gè)詞語(yǔ)都被賦予一個(gè)特定的詞性標(biāo)簽,例如名詞、動(dòng)詞、形容詞等,以反映其在句子中的作用和語(yǔ)法功能。
常用的詞性編碼及含義如表8-2所示。
【例8-4】
在使用詞性標(biāo)注時(shí),需要導(dǎo)入jieba.posseg模塊。
【例8-5】
利用詞性標(biāo)注對(duì)文本中的某一類(lèi)詞性進(jìn)行篩選。
8.1.3關(guān)鍵詞提取
在處理文本數(shù)據(jù)時(shí),識(shí)別關(guān)鍵信息是非常重要的。關(guān)鍵詞提取是一種常見(jiàn)的文本處理技術(shù),它能夠自動(dòng)地從文本中提取出具有重要意義的詞語(yǔ)或短語(yǔ),幫助我們快速了解文本的主題和內(nèi)容。通過(guò)關(guān)鍵詞提取,我們可以從海量的文本數(shù)據(jù)中快速發(fā)現(xiàn)和識(shí)別出關(guān)鍵信息,為后續(xù)的文本分析、信息檢索等任務(wù)提供重要支持。
關(guān)鍵詞提取技術(shù)廣泛應(yīng)用于各種文本處理場(chǎng)景,包括文本摘要生成、輿情分析、信息檢索等。
在jieba庫(kù)中,常用的關(guān)鍵詞提取算法主要包括TF-IDF和TextRank算法。TF-IDF算法是一種常用的文本特征提取方法,它通過(guò)計(jì)算詞語(yǔ)在文檔中的頻率和在整個(gè)語(yǔ)料庫(kù)中的逆文檔頻率來(lái)評(píng)估詞語(yǔ)的重要性。而TextRank算法是一種基于圖的排序算法,它利用詞語(yǔ)之間的相互關(guān)系構(gòu)建圖,并通過(guò)迭代計(jì)算詞語(yǔ)的權(quán)重來(lái)確定關(guān)鍵詞。
【例8-6】TF-IDF算法。
運(yùn)行結(jié)果如下:
【例8-7】TextRank算法。
運(yùn)行結(jié)果如下:
8.1.4用戶(hù)詞典支持
在分詞過(guò)程中,我們可以使用jieba.add_word()函數(shù)將新詞語(yǔ)添加到分詞詞典中,也可以指定自己預(yù)定義的詞典,來(lái)幫助jieba劃分不易識(shí)別的詞語(yǔ),提高開(kāi)發(fā)效率。
【例8-8】
引入新詞的用法。
【例8-9】
將“張教授”和“信息工程系”寫(xiě)入到“mydict.txt”文本文件中并導(dǎo)入到j(luò)ieba中。
8.2詞云(wordcloud)庫(kù)
詞云(wordcloud)是一種可視化技術(shù),用于展示文本數(shù)據(jù)中詞語(yǔ)的頻率或重要性。它通過(guò)將文本中出現(xiàn)頻率較高的詞語(yǔ)以視覺(jué)上吸引人的方式展現(xiàn)出來(lái),從而直觀(guān)地展示文本的主題和關(guān)鍵信息。作為Python語(yǔ)言中非常優(yōu)秀的第三方庫(kù),wordcloud庫(kù)常被用在文本數(shù)據(jù)的關(guān)鍵詞展示、文本摘要、主題分析等場(chǎng)景中,為用戶(hù)提供了一種直觀(guān)、有趣的方式來(lái)理解文本數(shù)據(jù)。
對(duì)于wordcloud庫(kù)的安裝,我們可以在文件下載路徑的目錄中執(zhí)行命令pipinstallwordcloud。當(dāng)我們需要使用時(shí),僅需在代碼中importwordcloud(導(dǎo)入庫(kù))即可。wordcloud庫(kù)中常用的函數(shù)及參數(shù)如表8-3所示。
8.2.1詞語(yǔ)詞頻統(tǒng)計(jì)
在通過(guò)詞云更加清晰直觀(guān)地獲取文本中的信息時(shí),我們需要對(duì)文本中的詞語(yǔ)詞頻進(jìn)行統(tǒng)計(jì)。首先,引用習(xí)近平總書(shū)記在重慶召開(kāi)新時(shí)代推動(dòng)西部大開(kāi)發(fā)座談會(huì)所發(fā)表的內(nèi)容中的一段作為我們的分析文本并寫(xiě)入“Test_text.txt”文本中,如圖8-1所示。圖8-1“Test_text.txt”文本
【例8-10】
詞頻統(tǒng)計(jì)。
【參考代碼】
8.2.2詞云的可視化展示
有了包含詞語(yǔ)和詞頻的詞典后,我們可以對(duì)其進(jìn)行詞云的可視化展示,具體如下:
【例8-11】
制作詞云。
程序運(yùn)行完畢后,會(huì)生成如圖8-2所示的詞云。圖8-2“result_cloud.png”
8.2.3自定義配置
詞云自定義配置可以涵蓋諸多方面,如字體樣式、詞語(yǔ)數(shù)量限制、詞語(yǔ)顏色設(shè)置等,通過(guò)靈活運(yùn)用這些配置選項(xiàng),我們可以創(chuàng)造出形態(tài)各異、富有個(gè)性的詞云圖。下面將介紹如何利用這些配置選項(xiàng)實(shí)現(xiàn)詞云圖的個(gè)性化定制,為我們的文本數(shù)據(jù)賦予更加出色的表現(xiàn)力。
我們利用楓葉圖(圖8-3)來(lái)為詞云更改形狀遮罩,同時(shí)將字體改為楷體。具體代碼見(jiàn)例8-12。圖8-3“l(fā)eaf.png”楓葉圖
【例8-12】
自定義詞云。
輸出的圖片如圖8-4所示。圖8-4“l(fā)eaf_cloud.png”
8.3社交關(guān)系網(wǎng)絡(luò)分析networkx庫(kù)
社交網(wǎng)絡(luò)分析是一種研究社會(huì)關(guān)系和網(wǎng)絡(luò)結(jié)構(gòu)的方法,通過(guò)對(duì)個(gè)體之間的連接模式和關(guān)系特征進(jìn)行分析,揭示社會(huì)網(wǎng)絡(luò)的結(jié)構(gòu)、功能和動(dòng)態(tài)。在社交網(wǎng)絡(luò)中,個(gè)體(節(jié)點(diǎn))之間的關(guān)系(邊)可以是各種類(lèi)型的,如友誼關(guān)系、合作關(guān)系、信息傳播關(guān)系等。社交網(wǎng)絡(luò)分析旨在探索人們之間的相互聯(lián)系、信息流動(dòng)和影響傳播等,以及揭示這些聯(lián)系和流動(dòng)的規(guī)律、特征和動(dòng)態(tài)變化。
安裝networkx需在系統(tǒng)命令行中執(zhí)行命令pipinstallnetworkx。networkx庫(kù)中的主要函數(shù)如表8-4所示。
【例8-13】
嘗試?yán)L制社交關(guān)系網(wǎng)絡(luò)圖。
最終我們得到的結(jié)果如圖8-5所示。圖8-5社交關(guān)系網(wǎng)絡(luò)圖
8.4中文文本分析基礎(chǔ)與相關(guān)庫(kù)的應(yīng)用實(shí)例
8.4.1分詞及詞頻統(tǒng)計(jì)將提前準(zhǔn)備好的《水滸傳》txt文本(圖8-6)讀取到我們的字符串類(lèi)型的變量text中,然后進(jìn)行分詞,并篩選出小說(shuō)中的人物并統(tǒng)計(jì)其出現(xiàn)的次數(shù)。最終將結(jié)果輸出到“詞頻.txt”中。具體如下所示。圖8-6“水滸傳.txt”
【例8-14】
分詞篩出小說(shuō)人物并統(tǒng)計(jì)詞頻。
【參考代碼】圖8-7輸出結(jié)果“詞頻.txt”
最終我們得到的結(jié)果如圖8-7所示,但我們發(fā)現(xiàn)“梁山泊”并不屬于人物名詞,并且“呼延灼”的名字被錯(cuò)誤地分詞成了“呼延”,除此之外還有一些分詞錯(cuò)誤。所以我們需要在代碼第七行詞性標(biāo)注之前添加自定義的詞性標(biāo)注詞典“新詞修改.txt”(圖8-8),并將第七至九行代碼更改如下:圖8-8“新詞修改.txt”
最終我們得到了更新的人物名詞和詞頻排序結(jié)果,如圖8-9所示。圖8-9修改后的“詞頻.txt”
8.4.2制作詞云
我們可以利用詞云將《水滸傳》中的高頻人物呈現(xiàn)出來(lái),具體代碼如下:
最終得到的結(jié)果如圖8-10所示。圖8-10詞云“水滸傳主要人物圖.png”
8.4.3章回拆分及分析
1.章回拆分
在分析前,我們需要找到每一回的起始索引位置和結(jié)束索引位置來(lái)確定每一回的文字范圍。代碼如下:
最終,得到的每回的起始和結(jié)束索引如下:
2.分析主要反派——“高太尉”
高俅作為主要的反面角色,與蔡京、童貫、楊戩同為《水滸傳》的四大奸臣。高俅本是浮浪子弟,依靠自己左右逢源的處事能力和高超的蹴鞠本領(lǐng),最終身居太尉。高俅與梁山泊不少英雄豪杰都鬧下了矛盾,最著名的便是把林沖逼上梁山。他的出現(xiàn)推動(dòng)了整個(gè)故事的發(fā)展,同時(shí)也引導(dǎo)著梁山眾兄弟悲慘故事的結(jié)局。接下來(lái)我們統(tǒng)計(jì)高俅在每回中出現(xiàn)的次數(shù)。代碼如下:
利用Matplotlib庫(kù),我們可以用折線(xiàn)圖更直觀(guān)地看到高俅的出現(xiàn)次數(shù),如圖8-11所示,結(jié)合實(shí)際統(tǒng)計(jì)數(shù)據(jù),我們看到,高俅的身影貫穿了整個(gè)水滸傳,在小說(shuō)的前中后期都有很高的出場(chǎng)率,結(jié)合文本內(nèi)容我們看到,高俅前期逼反了林沖,中后期曾經(jīng)三次攻打梁山失敗,最后又設(shè)計(jì)害死宋江和盧俊義,是北宋末期官逼民反的典型反面官員代表人物。圖8-11高俅每章回出現(xiàn)的次數(shù)
3.分析段落篇幅
我們可以通過(guò)統(tǒng)計(jì)每回的段落數(shù)和字?jǐn)?shù)來(lái)側(cè)面推測(cè)出每章回故事的復(fù)雜和曲折程度,然后利用Matplotlib庫(kù)中的散點(diǎn)圖將結(jié)果呈現(xiàn)出來(lái)。代碼如下:
程序執(zhí)行結(jié)果如圖8-12所示。圖8-12每章回篇幅
4.人物社交關(guān)系分析
利用之前統(tǒng)計(jì)詞頻算出來(lái)的主要人物“詞頻.txt”來(lái)分析這20個(gè)人之間的親疏關(guān)系,可以認(rèn)為,在同一段落中出現(xiàn)的兩個(gè)人之間一定存在某種聯(lián)系。于是我們以段落為單位,
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- T-ZJCX 0045-2024 食用菌干制品
- T-ZGZS 0411-2024 T-CCPITCSC 150-2024 綠色會(huì)展廢棄物管理規(guī)范
- T-ZMDS 10024-2024 手術(shù)導(dǎo)航設(shè)備配準(zhǔn)技術(shù)要求及試驗(yàn)方法
- 2025年度高端辦公空間無(wú)償租賃合作協(xié)議
- 2025年度能源企業(yè)質(zhì)押貸款擔(dān)保合同
- 二零二五年度企業(yè)辦公用品定制化采購(gòu)合同
- 醫(yī)藥公司二零二五年度員工商業(yè)秘密保密協(xié)議及保密技術(shù)支持服務(wù)協(xié)議
- 2025年度村辦公室裝修與農(nóng)村電商市場(chǎng)拓展合作合同
- 二零二五年度酒店加盟店經(jīng)營(yíng)管理合作協(xié)議
- 2025年度物流園區(qū)開(kāi)發(fā)物業(yè)移交與倉(cāng)儲(chǔ)物流服務(wù)協(xié)議
- MQL4命令中文詳解手冊(cè)
- 水利工程危險(xiǎn)源辨識(shí)清單全
- ISO20000:2018版標(biāo)準(zhǔn)培訓(xùn)教材
- 創(chuàng)新中學(xué)化學(xué)教學(xué)中的實(shí)驗(yàn)設(shè)計(jì)
- 全國(guó)青少年機(jī)器人技術(shù)等級(jí)考試一二級(jí)講稿課件-參考
- 大學(xué)計(jì)算機(jī)概論(Windows10+Office2016)PPT完整全套教學(xué)課件
- 四川峨勝水泥集團(tuán)股份有限公司環(huán)保搬遷3000td熟料新型干法大壩水泥生產(chǎn)線(xiàn)環(huán)境影響評(píng)價(jià)報(bào)告書(shū)
- 《公路工程計(jì)量與計(jì)價(jià)》說(shuō)課草稿
- 2023年教師招聘面試高中政治《堅(jiān)持以人民為中心》試講稿 統(tǒng)編版 必修三
- Barrett食管醫(yī)學(xué)知識(shí)講解
- 數(shù)獨(dú)課件完整版
評(píng)論
0/150
提交評(píng)論