Python自然語(yǔ)言處理之snownlp模塊介紹、安裝與常見(jiàn)操作實(shí)戰(zhàn)案例
一、SnowNLP模塊介紹
SnowNLP是一個(gè)專為中文文本設(shè)計(jì)的Python庫(kù),它基于自然語(yǔ)言處理技術(shù),提供了多種功能,包括分詞、詞性標(biāo)注、情感分析、文本轉(zhuǎn)換(簡(jiǎn)繁轉(zhuǎn)換)、關(guān)鍵詞提取、摘要生成、短語(yǔ)提取以及文本中詞語(yǔ)之間的依存關(guān)系分析等。其核心優(yōu)勢(shì)在于對(duì)中文文本的處理能力,尤其是情感分析功能。
SnowNLP受到TextBlob的啟發(fā)而開(kāi)發(fā),但與TextBlob不同的是,SnowNLP沒(méi)有使用NLTK,所有的算法都是自己實(shí)現(xiàn)的,并且自帶了一些訓(xùn)練好的字典。它處理的是unicode編碼,因此在使用時(shí)需要自行decode成unicode。
二、SnowNLP安裝
安裝SnowNLP可以通過(guò)pip命令來(lái)完成。以下是安裝步驟:
- 打開(kāi)終端或命令提示符。
- 輸入以下命令來(lái)安裝SnowNLP:
pip install snownlp
如果你遇到了網(wǎng)絡(luò)問(wèn)題,可以嘗試使用國(guó)內(nèi)鏡像源,例如清華大學(xué)的鏡像源。
三、常見(jiàn)操作案例及代碼
以下是一些使用SnowNLP進(jìn)行常見(jiàn)操作的代碼案例及其輸出結(jié)果:
- 分詞
from snownlp import SnowNLP text = "中新社北京2023年12月29日電(記者 劉育英)中國(guó)工信部12月29日發(fā)布的《工業(yè)和信息化部等八部門關(guān)于加快傳統(tǒng)制造業(yè)轉(zhuǎn)型升級(jí)的指導(dǎo)意見(jiàn)》提出,到2027年,中國(guó)傳統(tǒng)制造業(yè)在全球產(chǎn)業(yè)分工中的地位和競(jìng)爭(zhēng)力進(jìn)一步鞏固增強(qiáng)。" s = SnowNLP(text) print(s.words)
輸出結(jié)果:
['中新社', '北京', '2023年12月29日', '電', '(', '記者', ' ', '劉育英', ')', '中國(guó)', '工信部', '12月29日', '發(fā)布', '的', '《', '工業(yè)和信息化部', '等', '八部門', '關(guān)于', '加快', '傳統(tǒng)', '制造業(yè)', '轉(zhuǎn)型升級(jí)', '的', '指導(dǎo)意見(jiàn)', '》', '提出', ',', '到', '2027年', ',', '中國(guó)', '傳統(tǒng)', '制造業(yè)', '在', '全球', '產(chǎn)業(yè)', '分工', '中', '的', '地位', '和', '競(jìng)爭(zhēng)力', '進(jìn)一步', '鞏固', '增強(qiáng)', '。']
注意:分詞結(jié)果可能因算法和語(yǔ)料庫(kù)的不同而有所差異。
- 詞性標(biāo)注
tags = [word.tag for word in SnowNLP(text).tags] print(tags)
輸出結(jié)果:
詞性標(biāo)注的結(jié)果是一個(gè)包含詞性標(biāo)簽的列表,例如名詞(n)、動(dòng)詞(v)等。由于輸出結(jié)果較長(zhǎng),這里不具體展示。
- 情感分析
sentiment = SnowNLP(text).sentiments print(sentiment) if sentiment > 0.5: print('正面情感') else: print('負(fù)面情感')
輸出結(jié)果:
(情感分析得分,例如:0.95)
正面情感
情感分析的結(jié)果是一個(gè)介于0(負(fù)面)到1(正面)之間的浮點(diǎn)數(shù)。分?jǐn)?shù)越接近1,表示文本的情感傾向越正面;分?jǐn)?shù)越接近0,表示文本的情感傾向越負(fù)面。
- 文本轉(zhuǎn)換(簡(jiǎn)繁轉(zhuǎn)換)
traditional = SnowNLP(text).han print(traditional)
輸出結(jié)果:
簡(jiǎn)繁轉(zhuǎn)換功能可能因SnowNLP版本和語(yǔ)料庫(kù)的不同而有所差異。在某些情況下,轉(zhuǎn)換可能不會(huì)生效。
- 關(guān)鍵詞提取
keywords = SnowNLP(text).keywords(limit=5) print(keywords)
輸出結(jié)果:
['傳統(tǒng)制造業(yè)', '轉(zhuǎn)型升級(jí)', '指導(dǎo)意見(jiàn)', '工信部', '競(jìng)爭(zhēng)力']
關(guān)鍵詞提取的結(jié)果是一個(gè)包含關(guān)鍵詞的列表,數(shù)量由limit
參數(shù)指定。
- 摘要生成
summary = SnowNLP(text).summary(3) print(summary)
輸出結(jié)果:
['中國(guó)工信部12月29日發(fā)布的《工業(yè)和信息化部等八部門關(guān)于加快傳統(tǒng)制造業(yè)轉(zhuǎn)型升級(jí)的指導(dǎo)意見(jiàn)》提出,到2027年,中國(guó)傳統(tǒng)制造業(yè)在全球產(chǎn)業(yè)分工中的地位和競(jìng)爭(zhēng)力進(jìn)一步鞏固增強(qiáng)。', '指導(dǎo)意見(jiàn)提出,到2027年,傳統(tǒng)制造業(yè)高端化、智能化、綠色化、融合化發(fā)展水平明顯提升。', '工業(yè)企業(yè)數(shù)字化研發(fā)設(shè)計(jì)工具普及率、關(guān)鍵工序數(shù)控化率分別超過(guò)90%、70%。']
摘要生成的結(jié)果是一個(gè)包含關(guān)鍵句的列表,數(shù)量由參數(shù)指定。
四、總結(jié)
SnowNLP是一個(gè)功能強(qiáng)大的Python自然語(yǔ)言處理庫(kù),特別適合處理中文文本。它提供了分詞、詞性標(biāo)注、情感分析、文本轉(zhuǎn)換、關(guān)鍵詞提取、摘要生成等多種功能。通過(guò)簡(jiǎn)單的安裝和代碼編寫,用戶可以輕松地實(shí)現(xiàn)中文文本的自然語(yǔ)言處理任務(wù)。
到此這篇關(guān)于Python自然語(yǔ)言處理之snownlp模塊介紹、安裝與常見(jiàn)操作的文章就介紹到這了,更多相關(guān)Python snownlp模塊安裝與常見(jiàn)操作內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
matplotlib實(shí)現(xiàn)區(qū)域顏色填充
這篇文章主要為大家詳細(xì)介紹了matplotlib實(shí)現(xiàn)區(qū)域顏色填充,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-03-03如何創(chuàng)建一個(gè)Flask項(xiàng)目并進(jìn)行簡(jiǎn)單配置
這篇文章主要介紹了如何創(chuàng)建一個(gè)Flask項(xiàng)目并進(jìn)行簡(jiǎn)單配置,幫助大家更好的理解和學(xué)習(xí)flask框架,感興趣的朋友可以了解下2020-11-11python飛機(jī)大戰(zhàn)pygame碰撞檢測(cè)實(shí)現(xiàn)方法分析
這篇文章主要介紹了python飛機(jī)大戰(zhàn)pygame碰撞檢測(cè)實(shí)現(xiàn)方法,結(jié)合實(shí)例形式分析了Python使用pygame實(shí)現(xiàn)飛機(jī)大戰(zhàn)游戲中碰撞檢測(cè)的原理與相關(guān)操作技巧,需要的朋友可以參考下2019-12-12Python os.path.exists()函數(shù)總是返回false的解決方案
這篇文章主要介紹了Python os.path.exists()函數(shù)總是返回false的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-03-03tensorflow1.x和tensorflow2.x中的tensor轉(zhuǎn)換為字符串的實(shí)現(xiàn)
本文主要介紹了tensorflow1.x和tensorflow2.x中的tensor轉(zhuǎn)換為字符串的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-02-02python最小生成樹(shù)kruskal與prim算法詳解
這篇文章主要為大家詳細(xì)介紹了python最小生成樹(shù)kruskal與prim算法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-01-01如何利用python批量提取txt文本中所需文本并寫入excel
最近幫人寫了幾個(gè)小程序,所以記錄下,下面這篇文章主要給大家介紹了關(guān)于如何利用python批量提取txt文本中所需文本并寫入excel的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-07-07python幾種常用功能實(shí)現(xiàn)代碼實(shí)例
這篇文章主要介紹了python幾種常用功能實(shí)現(xiàn)代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-12-12Python無(wú)法安裝包的一種解決(Requirement already satisfied問(wèn)題)
這篇文章主要介紹了Python無(wú)法安裝包的一種解決(Requirement already satisfied問(wèn)題),具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-08-08