|
2、计算情感得分
关联了情感权重,那么每个文档的得分自然而然可以求得,以weight为例,进行分组汇总即可,用aggregate函数。
#2、计算情感指数??
dictresult?<-?aggregate(weight?~?id,?data?=?testterm,?sum)??
dictlabel?<-?rep(-1,?length(dictresult[,?1]))??
dictlabel[dictresult$weight?>?0]?<-?1??????????#很有技巧地把情感词语正负赋值到情感得分表中??
dictresult?<-?as.data.frame(cbind(dictresult,?dictlabel),?stringsAsFactors?=?F)??

图3
得到了如图3中weight的数列,为了与原来的文本分类进行比较,需要简单知道每个文本的情感偏向,得分>0则偏向为1,得分<0,偏向为-1,这时候引入了一个辅助列,dictlabel来进行这样的操作。 dictlabel[dictresult$weight > 0] <- 1是辅助列运算的精华语句。
3、模型评价
###模型评价??
temp?<-?unique(testterm[,?c("id",?"label")])??
dictresult?<-?join(dictresult,?temp)??
evalue?<-?table(dictresult$dictlabel,?dictresult$label)??
最后可以和原先的分类进行混淆矩阵评价。从结果查看,并不是很精确。 从执行的过程中我们也发现,很多不具有情感色彩的词被定义为了情感词,例如的、了、还、在、我、都、把、上等字词,这些字词都是高频字词,而我们的计算方法按照出现频次重复计算,所以导致上面的结果偏差很大。 暂时的改进办法:修改优化词典,去除这类词汇,或者更改为去重计算,即一条评论中某词无论出现多少次都只计算一次权重。
via:http://blog.csdn.net/sinat--26917383/article/details/51313336
(编辑:武汉站长网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|