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