如何用 Python 和机器学习训练中文文本情感分类模型?

Shuyi Wang
24 min readSep 26, 2021

利用 Python 机器学习框架 scikit-learn,我们自己做一个分类模型,对中文评论信息做情感分析。其中还会介绍中文停用词的处理方法。

疑惑

前些日子,我在微信后台收到了一则读者的留言。

我一下子有些懵 — — 这怎么还带点播了呢?

但是旋即我醒悟过来,好像是我自己之前挖了个坑。

之前我写过《 如何用 Python 从海量文本抽取主题? 》一文,其中有这么一段:

为了演示的流畅,我们这里忽略了许多细节。很多内容使用的是预置默认参数,而且完全忽略了中文停用词设置环节,因此“这个”、“如果”、“可能”、“就是”这样的停用词才会大摇大摆地出现在结果中。不过没有关系,完成比完美重要得多。知道了问题所在,后面改进起来很容易。有机会我会写文章介绍如何加入中文停用词的去除环节。

根据 “自己挖坑自己填” 的法则,我决定把这一部分写出来。

我可以使用偷懒的办法。

例如在原先的教程里,更新中文停用词处理部分,打个补丁。

但是,最近我发现,好像至今为止,我们的教程从来没有介绍过如何用机器学习做情感分析。

你可能说,不对吧?

情感分析不是讲过了吗?老师你好像讲过《 如何用 Python 做情感分析? 》,《 如何用 Python 做舆情时间序列可视化? 》和《 如何用 Python 和 R 对《权力的游戏》故事情节做情绪分析? 》。

你记得真清楚,提出表扬。

但是请注意,之前这几篇文章中,并没有使用机器学习方法。我们只不过调用了第三方提供的文本情感分析工具而已。

但是问题来了,这些第三方工具是在别的数据集上面训练出来的,未必适合你的应用场景。

例如有些情感分析工具更适合分析新闻,有的更善于处理微博数据…… 你拿过来,却是要对店铺评论信息做分析。

这就如同你自己笔记本电脑里的网页浏览器,和图书馆电子阅览室的网页浏览器,可能类型、版本完全一样。但是你用起自己的浏览器,就是比公用电脑上的舒服、高效 — — 因为你已经根据偏好,对自己浏览器上的…

--

--

Shuyi Wang
Shuyi Wang

Written by Shuyi Wang

PhD in Information Science. Associate Professor at Tianjin Normal University. Former Adjunct Faculty at UNT. First Prize Winner of HackNTX 2018.

No responses yet