情感分析是對帶有情感色彩的主觀性文本進行分析、處理、歸納和推理的過程
情感分析的目的是為了找出說話者/作者在某些話題上或者針對壹個文本兩極觀點的態度。這個態度或許是他或她的個人判斷或是評估,也許是他當時的情感狀態(就是說,作者在做出這個言論時的情緒狀態),或是作者有意向的情感交流(就是作者想要讀者所體驗的情緒)
文本情感分析的應用非常廣泛,如網絡輿情風險分析,信息預測等。如通過Twitter用戶情感預測股票走勢,電影票房、選舉結果等,均是將公眾情緒與社會事件對比,發現壹致性,並用於預測
首先安裝SnowNLP中文情感分析庫:
SnowNLP(Simplified Chinese Text Processing),是壹個python語言編寫的類庫,可以方便的處理中文文本內容,其開發受到了TextBlob的啟發
In [1]:
數據載入
In [2]:
Out[2]:
數據預處理
In [3]:
In [4]:
Out[4]:
In [7]:
Out[7]:
將所有數據打分
In [9]:
Out[9]:
將分數合並會原表格
In [11]:
Out[11]:
計算指標
In [12]:
Out[12]:
In [13]:
Out[13]:
In [14]:
Out[14]:
基礎結論:中位數比平均值高很多,說明有少量異常低的評分拉低了均值
In [16]:
Out[16]:
看分數分布情況,直方圖最合適
In [17]:
Out[17]:
少量數據,柱狀圖也可以
In [18]:
Out[18]:
In [19]:
Out[19]:
In [20]:
以分數排序,查看打分準確率
In [22]:
Out[22]:
好評
In [23]:
Out[23]:
In [24]:
Out[24]:
差評
In [25]:
Out[25]:
In [26]:
Out[26]:
In [27]:
Out[27]:
In [28]:
Out[28]:
In [29]:
Out[29]:
In [30]:
Out[30]:
結論
準確率比瞎猜高,但達不到人工打分準確率
SnowNLP庫的訓練基準數據是基於電商銷售產品訓練的,對飯店留言數據的打分準確率壹般
做情感分析最好用戶自行實現(網站增加打分功能,用戶自行打分)