中文語料的情感分析基本步驟以下:html
開發環境Python-v3(3.6)
:git
gensim==3.0.1 jieba==0.39 scikit-learn==0.19.1 tensorflow==1.2.1 numpy==1.13.1+mkl
示例代碼參考Chinese-sentiment-analysis-with-Doc2Vec
https://github.com/lybroman/C...github
在repo中有兩個zip文件分別爲train.zip
和test.zip
數據,固然你也能夠直接在加載語料時將部分數據用做測試數據(詳見後文)。函數
preprocess.py
)72_1380108_2006-11-9_1.0.txt
,那麼該評分爲1.0分(其實就是差評啦)。咱們須要作的是將全部評分劃分爲一、二、三、4,5檔,顧名思義就是評價由壞到好。這裏用了一些簡單的字符串處理來獲取分數並使用round
函數來對分數取整。words_segment.py
)filter_chars = "\r\n,。;!,.:;:、" trans_dict = dict.fromkeys((ord(_) for _ in filter_chars), '') line = line.translate(trans_dict)
main.py:step 1-3
)gensim.models.doc2vec
,該模塊提供了將不定長的文本映射到維度大小固定的向量的功能。這對於計算類似度仍是用做後續的CNN分類器訓練(後續有時間的話會實現基於TensorFlow的分類器)都是十分有幫助的。main.py:step 4-5
)sklearn
中的分類器(LR、SVM、決策樹等等,最新版本的sklearn還提供了NN的實現)。具體參考scikit-learn。train, test, train_label, test_label = ms.train_test_split( train_arrays, train_labels, test_size=0.2)
prediction.py
)