基于Spark Streaming和Spark MLlib实现文本情感分析

前言:

文章主要是学习实验楼《使用Spark MLlib进行情感分析》课程后的总结,这里只简单说明,没有具体操作步骤。代码和操作步骤可去课程实践获得,也可在我的资源下载中找到(资源中除课程介绍的随机森林模型训练数据方法,我还加入了自己学习使用朴素贝叶斯模型训练数据的方法)。项目实际利用推特上的数据结合Spark MLlib实现人们对美国这两位总统的情感分析,查看在美国不同地方的网民们对于他们的看法如何。

知识点:

Spark Streaming获得持续而且无止境的数据源;

Spark MLlib情感分析;

Python 地图可视化工具Basemap;

学习分解:

第一步学习Spark Streaming如何获取Twitter数据,推荐阅读《实时分析社交媒体数据》,它后期使用的是k-means算法模型,如图:

基于Spark Streaming和Spark MLlib实现文本情感分析_第1张图片

第二步文本情感分析,先对数据分词处理;去除跟情感无关的符号、URL、停用词;再利用Word2Vec将单词转换成向量,最后读入预先训练好的文本向量化模型word2vecM,创建RDD对象,利用spark mllib的分类器进行情感分析。

基于Spark Streaming和Spark MLlib实现文本情感分析_第2张图片

第三步分析结果可视化,结合Python的Basemap将之前的情感分析结果结合地区位置展示其热度。

基于Spark Streaming和Spark MLlib实现文本情感分析_第3张图片

基于Spark Streaming和Spark MLlib实现文本情感分析_第4张图片

总结:

这次课程只要是利用spark streaming获取Twitter流数据和spark mllib的随机森林模型进行twitter的情感分析,并且利用basemap进行可视化,通过可视化结果,我们可以直观的感受到美国今年曾经的候选总统在美国各个州的受欢迎程度。基于此课程,同学们也可以利用twitter或者微博提供的开发者接口获取网络上的数据,对不同方面(房价、物价、交通之类)的情感进行分析。

文章参考链接:

https://www.ibm.com/developerworks/cn/analytics/blog/analyze-social-media-data-real-time/index.html

https://www.shiyanlou.com/courses/722/labs/2380/document

你可能感兴趣的:(微服务及云计算学习总结,spark,Streaming,spark,mllib,情感分析,可视化)