背景
筆者由于最近做一個(gè)監(jiān)控應(yīng)用評(píng)論內(nèi)容的項(xiàng)目,為滿足需求,需要對(duì)抓取下來的應(yīng)用評(píng)論做中文語義識(shí)別,結(jié)果搜出來的大部分都是僅限英文語義識(shí)別的庫(kù),搜好久才找到這個(gè)國(guó)人開發(fā)的中文文本處理庫(kù)(包含語義識(shí)別功能),特此介紹給大家。
開源項(xiàng)目Github地址SnowNLP
安裝
跟其他python類庫(kù)一樣,使用pip安裝就行了
pip install snownlp
語義分析使用DEMO
# -*- coding: utf-8 -*-
#返回一段文本是積極的還是消極的
#@params: text
#@author: pyj 2017.03.24
#@return: 0~1 (語義積極的概率,越接近1情感表現(xiàn)越積極)
from snownlp import SnowNLP
import sys
if (len(sys.argv) != 2):
print u"請(qǐng)確認(rèn)輸入?yún)?shù)!"
else:
text = sys.argv[1].decode('utf-8')
s = SnowNLP(text)
print round(s.sentiments,2)
測(cè)試一哈
python test.py '真的很贊贊贊'
1.0
python test.py '我不知道說什么,太難用了,我給差評(píng)'
0.1
語義分析再訓(xùn)練
用的時(shí)候,有時(shí)候可能會(huì)覺得有些語句分析出來的結(jié)果會(huì)不太準(zhǔn)確,這時(shí)候你就需要更新語料庫(kù),再進(jìn)行訓(xùn)練,這樣下次分析出來的結(jié)果就更加準(zhǔn)確了。下面介紹一下如何進(jìn)行訓(xùn)練
首先準(zhǔn)備兩份語料文本,neg.txt(負(fù)面語料文本) pos.txt(積極語料文本)
# -*- coding: utf-8 -*-
from snownlp import sentiment
sentiment.train('neg.txt', 'pos.txt')
sentiment.save('sentiment.marshal')
再次把生成好的sentiment.marshal放入類庫(kù)的/sentiment 就可以了
試用效果如下,分析各渠道應(yīng)用市場(chǎng)評(píng)論內(nèi)容的情感:
image.png
目前筆者也僅僅試用了情感分析的功能而已,其他功能歡迎讀者自行試用,總之就是相當(dāng)強(qiáng)大