本文實例講述了Python實現購物評論文本情感分析操作。分享給大家供大家參考,具體如下:
昨晚上發現了snownlp這個庫,很開心。先說說我開心的原因。我本科畢業設計做的是文本挖掘,用R語言做的,發現R語言對文本處理特別不友好,沒有很多強大的庫,特別是針對中文文本的,加上那時候還沒有學機器學習算法。所以很頭疼,后來不得已用了一個可視化的軟件RostCM,但是一般可視化軟件最大的缺點是無法調參,很死板,準確率并不高?,F在研一,機器學習算法學完以后,又想起來要繼續學習文本挖掘了。所以前半個月開始了用python進行文本挖掘的學習,很多人都推薦我從《python自然語言處理》這本書入門,學習了半個月以后,可能本科畢業設計的時候有些基礎了,再看這個感覺沒太多進步,并且這里通篇將nltk庫進行英文文本挖掘的,英文文本挖掘跟中文是有很大差別的,或者說學完英文文本挖掘,再做中文的,也是完全懵逼的。所以我停了下來,覺得太沒效率了。然后我在網上查找關于python如何進行中文文本挖掘的文章,最后找到了snownlp這個庫,這個庫是國人自己開發的python類庫,專門針對中文文本進行挖掘,里面已經有了算法,需要自己調用函數,根據不同的文本構建語料庫就可以,真的太方便了。我只介紹一下這個庫具體應用,不介紹其中的有關算法原理,因為算法原理可以自己去學習。因為我在學習這個庫的時候,我查了很多資料發現很少或者基本沒有寫這個庫的實例應用,很多都是轉載官網對這個庫的簡介,所以我記錄一下我今天的學習。
首先簡單介紹一下這個庫可以進行哪些文本挖掘。snownlp主要可以進行中文分詞(算法是Character-Based Generative Model)、詞性標注(原理是TnT、3-gram 隱馬)、情感分析(官網木有介紹原理,但是指明購物類的評論的準確率較高,其實是因為它的語料庫主要是購物方面的,可以自己構建相關領域語料庫,替換原來的,準確率也挺不錯的)、文本分類(原理是樸素貝葉斯)、轉換拼音、繁體轉簡體、提取文本關鍵詞(原理是TextRank)、提取摘要(原理是TextRank)、分割句子、文本相似(原理是BM25)。官網還有更多關于該庫的介紹,在看我這個文章之前,建議先看一下官網,里面有最基礎的一些命令的介紹。官網鏈接:https://pypi.python.org/pypi/snownlp/0.11.1。
PS:可以直接使用pip install snownlp
命令進行snownlp模塊的快速安裝(注:這里要求pip版本至少為18.0)。
下面正式介紹實例應用。主要是中文文本的情感分析,我今天從京東網站采集了249條關于筆記本的評論文本作為練習數據,由于我只是想練習一下,沒采集更多。然后人工標注每條評論的情感正負性,情感正負性就是指該條評論代表了評論者的何種態度,是褒義還是貶義。以下是樣例
新聞熱點
疑難解答