jiebaR_emotion 使用R语言的jiebaR包的情感分析
需要使用的词典放在dict目录下。 字典目录 emotion.dict.utf8 情感词典(正负情感倾向词) imperative.dict.utf8 祈使句 net.dict.utf8 网络用语 emotioncal.dict.utf8 情感计算词典(正负情感倾向词、否定词、程度副词、反问词)
main.R 文件中使用了多种标记,其中情感词典部分来源于知网Hownet情感词典,积极情感词标记为positive,消极情感词标记为negative,否定词标记为deny,反问词标记为rhe.
原理:利用jiebaR的用户自定义词典进行分词和词性标注。获得如下标记: positive 积极情感词 negative 消极情感词 deny 否定词 rhe 反问词 程度副词(以数值表示)
分词之后顺序遍历首先找到一个积极情感词或消极情感词,之后向前遍历直到句子头或前一个情感词,将之部分作为一个窗口进行整个窗口的情感倾向值的计算,计算过程中包括否定词和程度副词的加权。重复之后直到句子结尾,累加句子情感倾向值,同时判断句子是否为感叹句或反问句,并进行整句的情感倾向值的计算。
计算公式: 单词:积极情感 1 消极情感 -1 窗口:程度副词值单词情感值(-1)^否定词数量 句子:累加窗口值2(感叹句) 累加窗口值(-2)(反问句) 累加窗口值(其它)
反问句的判断:问号+反问词
输出语句仅作调试使用,如有妨碍请注释掉。 返回值是一个向量,第一个数字为积极情感倾向值,第二个数字为消极情感倾向值。
other.R文件读入一个多行的文本文件,输出一个文件统计其数量、总词数、总字数、名词、形容词、副词、数字、一人称代词、二人称代词、三人称代词、网络热词、链接、所提及人、祈使词、积极情感词、消极情感词等词的数量。 需要安装stringr包。 为了运行速度jieba引擎初始化仅执行一次即可。