分享python snownlp的實例教程
SnowNLP是國人開發的python類別庫,可以方便的處理中文文本內容,是受到了TextBlob的啟發而寫的,由於現在大部分的自然語言處理庫基本上都是針對英文的,於是寫了一個方便處理中文的類別庫,而且和TextBlob不同的是,這裡沒有用NLTK,所有的演算法都是自己實現的,並且自帶了一些訓練好的字典。注意本程式都是處理的unicode編碼,所以使用時請自行decode成unicode。 MIT許可下發行。
其github 主頁
我自己修改了上文連結中的python程式碼並加入些許註解,以方便你的理解:
from snownlp import SnowNLP# SnowNLP库:# words:分词# tags:关键词# sentiments:情感度# pinyin:拼音# keywords(limit):关键词# summary:关键句子# sentences:语序# tf:tf值# idf:idf值s = SnowNLP(u'这个东西真心很赞')# s.words # [u'这个', u'东西', u'真心', u'很', u'赞']print(s.words) s.tags # [(u'这个', u'r'), (u'东西', u'n'), (u'真心', u'd')# , (u'很', u'd'), (u'赞', u'Vg')]print(s.sentiments)# s.sentiments # 0.9769663402895832 positive的概率# s.pinyin # [u'zhe', u'ge', u'dong', u'xi', # u'zhen', u'xin', u'hen',# u'zan']4s = SnowNLP(u'「繁體字」「繁體中文」的叫法在臺灣亦很常見。')# s.han # u'「繁体字」「繁体中文」的叫法在台湾亦很常见。'print(s.han)
from snownlp import SnowNLP text = u'''自然语言处理是计算机科学领域与人工智能领域中的一个重要方向。 它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。 自然语言处理是一门融语言学、计算机科学、数学于一体的科学。 因此,这一领域的研究将涉及自然语言,即人们日常使用的语言, 所以它与语言学的研究有着密切的联系,但又有重要的区别。 自然语言处理并不是一般地研究自然语言, 而在于研制能有效地实现自然语言通信的计算机系统, 特别是其中的软件系统。因而它是计算机科学的一部分。'''s = SnowNLP(text)print(s.keywords(6)) # [u'语言', u'自然', u'计算机'] 不能用tags输出关键字.s.summary(3) # [u'因而它是计算机科学的一部分', u'自然语言处理是一门融语言学、计算机科学、# 数学于一体的科学', u'自然语言处理是计算机科学领域与人工智能领域中的一个重要方向']s.sentences# print(s.sentences)print(s.sentiments) # 1.0s = SnowNLP([[u'这篇', u'文章'], [u'那篇', u'论文'], [u'这个']])# print(s.tf)# print(s.idf)# print(s.sim([u'文章'])) # [0.3756070762985226, 0, 0]
在編譯運行之前,先得安裝snownlp包,後續還有pylab,pandas模組:
在VS Code終端(查看->集成終端)裡面輸入:
pip install snownlp
pip install pylab
pip install pandas
前提是你安裝了pip,若是pip沒有安裝可以查看我之前的 文章
在VS Code中我們可以右鍵模組名查看定義,便能看到模組的實現了.不得不說VS Code很強大,希望微軟能這麼一直走下去,走向開源走向跨平台! !
然後我隨便提取了《心靈捕手》豆瓣網評,放在了txt中:
其實大多數情況下,大陸的譯名比港譯要更有味道。
It is not ur fault!
我是在電視上偶爾才看到這部電影的,當時看的時候真的很感人。 為什麼會有這麼天才的人,卻有著這樣子曲折的人生。
是認為劇本很好卻沒有被完全拍出來:) 對演員的表演還是心存質疑一點點~ 呵呵
好評
前幾日剛剛看過,一部觸動心靈的電影,尋找真正的人生
這篇影評寫的很棒,我的眼睛濕潤了
很好的片子
最後就是處理的程序了:
from snownlp import SnowNLPimport pandas as pdimport pylab as pl txt = open('F:/_analyse_Emotion.txt') text = txt.readlines() txt.close()print('读入成功') sentences = [] senti_score = []for i in text: a1 = SnowNLP(i) a2 = a1.sentiments sentences.append(i) # 语序... senti_score.append(a2)print('doing') table = pd.DataFrame(sentences, senti_score)# table.to_excel('F:/_analyse_Emotion.xlsx', sheet_name='Sheet1')# ts = pd.Series(sentences, senti_score)# ts = ts.cumsum()# print(table)x = [1, 2, 3, 4, 5, 6, 7, 8] pl.mpl.rcParams['font.sans-serif'] = ['SimHei'] pl.plot(x, senti_score) pl.title(u'心 灵 捕 手 网 评') pl.xlabel(u'评 论 用 户') pl.ylabel(u'情 感 程 度') pl.show()
最後的效果:
可能有些不準確,我也是隨便提取的數據,不過snownlp還是號稱情感分析準確很高的!
以上是分享python snownlp的實例教程的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

PHP主要是過程式編程,但也支持面向對象編程(OOP);Python支持多種範式,包括OOP、函數式和過程式編程。 PHP適合web開發,Python適用於多種應用,如數據分析和機器學習。

PHP適合網頁開發和快速原型開發,Python適用於數據科學和機器學習。 1.PHP用於動態網頁開發,語法簡單,適合快速開發。 2.Python語法簡潔,適用於多領域,庫生態系統強大。

Python更適合初學者,學習曲線平緩,語法簡潔;JavaScript適合前端開發,學習曲線較陡,語法靈活。 1.Python語法直觀,適用於數據科學和後端開發。 2.JavaScript靈活,廣泛用於前端和服務器端編程。

PHP起源於1994年,由RasmusLerdorf開發,最初用於跟踪網站訪問者,逐漸演變為服務器端腳本語言,廣泛應用於網頁開發。 Python由GuidovanRossum於1980年代末開發,1991年首次發布,強調代碼可讀性和簡潔性,適用於科學計算、數據分析等領域。

VS Code可以在Windows 8上運行,但體驗可能不佳。首先確保系統已更新到最新補丁,然後下載與系統架構匹配的VS Code安裝包,按照提示安裝。安裝後,注意某些擴展程序可能與Windows 8不兼容,需要尋找替代擴展或在虛擬機中使用更新的Windows系統。安裝必要的擴展,檢查是否正常工作。儘管VS Code在Windows 8上可行,但建議升級到更新的Windows系統以獲得更好的開發體驗和安全保障。

VS Code 可用於編寫 Python,並提供許多功能,使其成為開發 Python 應用程序的理想工具。它允許用戶:安裝 Python 擴展,以獲得代碼補全、語法高亮和調試等功能。使用調試器逐步跟踪代碼,查找和修復錯誤。集成 Git,進行版本控制。使用代碼格式化工具,保持代碼一致性。使用 Linting 工具,提前發現潛在問題。

VS Code 擴展存在惡意風險,例如隱藏惡意代碼、利用漏洞、偽裝成合法擴展。識別惡意擴展的方法包括:檢查發布者、閱讀評論、檢查代碼、謹慎安裝。安全措施還包括:安全意識、良好習慣、定期更新和殺毒軟件。

在 VS Code 中,可以通過以下步驟在終端運行程序:準備代碼和打開集成終端確保代碼目錄與終端工作目錄一致根據編程語言選擇運行命令(如 Python 的 python your_file_name.py)檢查是否成功運行並解決錯誤利用調試器提升調試效率
