否定词的出现将直接将句子情感转向相反的方向,而且通常效用是叠加的。常见的否定词:不、没、无、非、莫、弗、勿、毋、未、否、别、無、休、难道
等。
1.1.3 程度副词词典
既是通过打分的方式判断文本的情感正负,那么分数绝对值的大小则通常表示情感强弱。既涉及到程度强弱的问题,那么程度副词的引入就是势在必行的。词典可从《知网》情感分析用词语集(beta版)下载。词典内数据格式可参考如下格式,即共两列,第一列为程度副词,第二列是程度数值,> 1
表示强化情感,< 1
表示弱化情感。
程度副词词典
1.1.4 停用词词典
科院计算所中文自然语言处理开放平台发布了有1208个停用词的中文停用词表,也有其他不需要积分的下载途径。
1.2 数据预处理
1.2.1 分词
即将句子拆分为词语集合,结果如下:
e.g. 这样/的/酒店/配/这样/的/价格/还算/不错
Python常用的分词工具:
- 结巴分词 Jieba
- Pymmseg-cpp
- Loso
- smallseg
`from collections import defaultdict
import os
import re
import jieba
import codecs
"""
1. 文本切割
"""
def sent2word(sentence):
"""
Segment a sentence to words
Delete stopwords
"""
segList = jieba.cut(sentence)
segResult = []
for w in segList:
segResult.append(w)
stopwords = readLines('stop\_words.txt')
newSent = []
for word in segResult:
if word in stopwords:
# print "stopword: %s" % word
continue
else:
newSent.append(word)
return newSent`
在此笔者使用Jieba进行分词。
1.2.2 去除停用词
遍历所有语料中的所有词语,删除其中的停用词
e.g. 这样/的/酒店/配/这样/的/价格/还算/不错