Python Cemotion库快速进行文本情感分析
临近毕业答辩,有些人毕设还没怎么写,找我帮忙几小时完成知乎问答爬取和情感分析功能。爬虫一小时左右就写好并爬取完数据存到CSV里,但情感分析怎么能几小时内完成。我研究方向是CV,对NLP的了解只限于transfomer和常用模型的名词,但四年的室友我还是得帮个忙。
我首先想到的是否有现成的Python库可以调用,因为赶时间所以不能涉及自定义词典、模型训练等花费时间长的工作,能直接用几行代码得出预测值。最后锁定了SnowNLP和Cemotion。SnowNLP用的是经典机器学习的贝叶斯算法,但已经有七年没有更新了;Cemotion使用的是深度学习RNN模型,最近更新时间也比较近。在未经训练的情况下简单试用后Cemotion的预测准确率略高于SnowNLP。

Cemotion通过pip安装即可,但涉及TensorFlow等库且要下载RNN模型,我在Colab环境上下载模型花了47s,建议使用国内镜像安装。
安装好之后就通过pandas读取CSV文件中的回答并对其进行情感分析,将结果写入新的CSV文件中。完整代码如下:
几个小时完成的情感分析过于粗糙,预测值和个人对回答的实际感受有些误差,但应付毕设应该足够,之后就是对这些数据放到web页面可视化。
最后希望毕设不要赶ddl才写,真的对延毕无所谓吗。