原文链接:《无问西东》豆瓣短评分析【二】
微信公众号:机器学习养成记 搜索添加微信公众号:chenchenwings
在《无问西东》豆瓣短评分析一文中,我们通过爬虫技术,抓取了220条豆瓣短评与相应打分数据,通过分词与关键词提取技术,比较了正、负向评价的关键词差异。本文中,我们对同样的数据,使用SnowNLP包,对短评进行情感分析,并与实际打分情况进行比较。
情感分析
SnowNLP可以进行中文分词、词性标注、情感分析等操作,对于情感分析,使用的语料库主要为购物方面的,可以替换语料库进行训练。本文中,直接使用默认语料库。
如下,导入《无问西东》豆瓣短评分析中得到的数据,并加载SnowNLP包,对每一条评论计算情感分析打分。SnowNLP进行情感分析得到的是[0,1]的分值,分值越高代表正向的可能性越大。
ROC比较效果
确定阈值
我们需要确定一个阈值,大于此阈值的预测结果,认为是正向,反之为负向。阈值的选取通过与真实结果计算得到最大auc值的划分确定。这里使用sklearn中的函数计算auc,因为此函数只能计算二分类结果,因此我们要先对数据进行处理。将实际打分在3分以上的判断为正向,小于三分为负向。然后以0.1为步长,循环计算在不同阈值下,预测结果与真实结果的auc值,取最大auc值对应的划分做为预测分类。
画出roc曲线
根据最终结果,画出实际值与预测值的roc曲线。
结果分析
从结果看,通过情感分析,可以在一定程度上预测短评的情感偏向,但本次结果的auc值一般,只有0.64,最可能的原因是使用默认语料库,影响了对影评情感分析的效果。所以语料库是非常关键的,如果要正式进行文本挖掘,建议要构建自己的语料库。
公众号后台回复“ 无问西东”,可获得本例代码
推荐文章:
微信公众号:机器学习养成记 搜索添加微信公众号:chenchenwings
扫描二维码,关注我们。
如需转载,请在开篇显著位置注明作者和出处,并在文末放置机器学习养成记二维码和添加原文链接。
快来关注我们吧!
网友评论