在对文本数据的情感分析中,基于情感词典的方法是最简单也是最常用的一种了。
它的大体思路如下:
对文档分词,找出文档中的情感词、否定词以及程度副词,然后判断每个情感词之前是否有否定词及程度副词,将它之前的否定词和程度副词划分为一个组,如果有否定词将情感词的情感权值乘以-1,如果有程度副词就乘以程度副词的程度值,最后所有组的得分加起来,大于 0 的归于正向,小于 0 的归于负向。
这两天,学校的一个团队让我帮忙爬取某网站的两份带有权值的情感词典。
第一份是“台湾大学情感词汇库”,有 11086 个带有权值的情感词。
第二份是“萌泰情感词汇库”,有 27466 个带有权值的情感词。
分析这个网站,我们发现每一个网络请求都需要携带 ,即身份认证。
所以,我们需要先通过登陆请求,获取到该用户的 ,之后的每次请求带上该 才能爬取到该网站的数据。
为了快速完成爬取这两份情感词典的任务,我使用了两套开源代码, 和 。
RestSharp
利用该开源代码可以得到网络请求之后的 数据,其下载地址如下:
https://github.com/restsharp/RestSharp
Newtonsoft.Json
利用该开源代码可以对得到的 数据进行反序列化,得到 对应的类,其下载地址如下:
https://github.com/JamesNK/Newtonsoft.Json
这套开源代码,我在 如何利用 C# 爬取「猫眼电影专业版:票房」数据! 以及 如何做一款「桌面版百度翻译」软件? 中使用过,以前网络请求部分都是通过 直接写的,这次偷懒使用了 这套来源代码。
如果大家对这两套开源代码感兴趣,给我留言,我再来写几篇图文介绍它们,下面来看看爬取情感词典的代码。
1. 构造接收 的类 。
2. 得到登陆用户的数据。
3. 构造接收“情感词典”的类 。
4. 得到所需要的情感词典。
5. 输出感情词典。
包含 11086 个词汇以及评分的“台湾大学情感词汇”爬取结果如下:
包含 27466 个词汇以及评分的“蒙泰感情词汇”爬取结果如下: