【思路】基于互联网电子产品评论的舆情分析

来源:互联网 发布:涉税数据保密协议范本 编辑:程序博客网 时间:2024/05/17 03:06

一、前言

       最近在一位研究生的带领下,在研究互联网电子产品评论的舆情分析。觉得这个项目挺有意义的,跟我感兴趣的大数据,数据挖掘这块也很沾边。也看了不少论文了,在此写点我的心得,以及整个project实现的思路。下面我将以某一手机品牌为研究对象。整个工程可以分为数据获取,数据预处理,评论情感分析,成果展示这四个方面。

二、数据获取

       数据来源的途径有很多,我将它分为两种,一种是现有的,其可能存储在数据库,txt,excel等中;还有一种是靠爬虫区爬取。如果你的数据来源是第一种,那么实在是太棒了,这一步几乎没有任何难度了。如果没有现成的数据,那么没办法,你只能通过爬虫去网上爬取,评论最多的网站当属淘宝,京东,亚马逊等大型电子商务网站了。不过你要实现一个这种网站的爬虫难度非常大,因为它们对爬虫都做了很多的限制,而且现在越来越多的网站采用AJAX来返回数据,使得你要去对JS去分析,京东的商品信息,好像就是通过JS生成的,无疑给开发者带来巨大麻烦。
       爬虫的实现的话,java,python等都不错,现在也有很多成熟的开源框架。这是我用scrapy,一个python的爬虫框架爬取亚马逊商品信息的博文,有兴趣可以参考下。scrapy爬取亚马逊商品信息

三、数据预处理

       如果你是通过爬虫爬来的数据,那么你肯定要对这些数据进行清洗,包括从htlm源码里面提取你需要的信息,例如提取用户昵称,所在地,评论时间,评论内容等,根据实际需求决定。在这之后,你需要对所有评论进行一个粗过滤,所谓粗过滤就是考虑到某些商品的评论存在刷屏的现象,或者有些人打广告等,如果不对这些信息进行处理,那么会对最终的结果造成很大影响。其实整个工程的每一步都很难,稍有不慎,就会对最终出来的报告造成很大影响,所以需要对每一步进行完善考虑,但这样做带来的一个后果就是,你需要去找到各种各样的算法来满足你的要求。
       预处理之后,将评论存入数据库。

四、评论情感分析

       这块内容是整个project 的核心,也是最难的一部分,各种论文也都提供了各种算法。你可以去知网搜。所谓情感分析粗略的概况就是我们要判断一句话是带有正面感情色彩的?还是负面?或者中性?。首先,将上一步存入数据库中的评论读取出来,由于用户的评论可能有很多个短句构成,所以你要先将一整条评论进行分句(通常根据标点符号进行断句,注意:一定要保留标点符号,因为有些标点,例如!等蕴含了很强烈的情感),之后的操作都是对这样的一条条分句进行操作,等到计算完每条分句的情感后,再进行累加。当然直接计算一条句子的情感还是不行的,需要将句子细分到词,汉语中每个词都有每个词的词性,例如动词,形容词,副词,否定词,名词等(好吧是不是已经觉得够烦的了抓狂)然后对词进行情感计算。这里的难点是分词,如何把之前讲的这些词给分出来,并给它们标注上词性。市面上有很多分词的框架,可以直接拿过来用。这里推荐NLPIR,非常强大,可以自主往里面加停用词,扩展词,并且帮你进行了词性的标注。
       对一分句进行情感分析,通常有两种做法,一是基于统计,也就是语料库,根据语料库,用机器学习的算法,训练出一个模型,然后去分析。这样带来的一个问题就是你需要一个非常合适的语料库,语料库的好坏会决定最终结果的好坏,所以这种方法的重点是如何确定一个语料库。另外一种做法是基于知识库,也就是情感词典,词典的构建是其核心。由于我做的是第二种,所以详细对它进行介绍下。
      通常的做法都是这样:首先选取50对(60对,100对,或者更多,有论文证明,越多准确率越高,当然你所付出的精力也就越多)情感词,所谓一对,是指一个正面词和一个负面词,选出来之后,你需要对这些词进行情感极性与情感强度的标注。另外,目前市面上有几个非常有名的情感词典,例如hownet,同义林等,就hownet来说,里面提供了六万多个词,几乎包括了常用的词汇,通过hownet你可以计算词与词之间的相似度。这样一来你就可以将你分好的情感词与你之前标注好的50对情感词进行相似度计算,从而得到每个情感词的极性与情感强度。这里面有一个问题就是,毕竟hownet里面提供的都是常用词,对于某些特定领域词,你就无法对其进行计算了,举个例子,比如手机领域的“黑屏,死机”这些词就不在词典中了。这时你要做的就是去构建一个更加完善的词典,好吧,太难了大哭
      最后,结合标点符号所带的情感,程度副词所带的情感,否定词取相反情感,为某个评价对象确定一个权重等,你就可以计算一分句的情感了,然后将所有分句汇总即可,

五、成果展示

      这一步就是将上述各步骤产生数据进行展示。也就是如何对外行吹牛逼了,什么摆几个大的显示器,页面上动画效果丰富点什么巴拉巴拉的,都是骗骗人的了,谁知道你们的准确率有多少?偷笑

六、总结

       真的很难!!!尤其是对汉语进行情感分析,一个词在不同语境下情感简直天壤之别,唉,中国汉语博大精深啊。上面的各个步骤对最终的准确率都有很大影响,因此需要对每一步进行优化。
       欢迎大家给我留言,一起探讨。
0 0