2023年11月23日发(作者:)
基于Spark的新闻大数据分析研究
李伟;孙新杰;张毓福
【摘 要】随着大数据时代的到来,面对海量新闻数据,用户很难获得有用的信息.提
出基于Spark技术构建新闻大数据分析系统,使用Scrapy采集新闻数据,利用向量
空间模型对数据进行特征化,选择K-Means算法进行新闻聚类,对新闻进行实时分
析,帮助用户获取新闻热点.系统运行结果表明,该方法对新闻大数据分析效果较好.
【期刊名称】《六盘水师范学院学报》
【年(卷),期】2019(031)003
【总页数】3页(P20-22)
【关键词】新闻大数据;Spark;新闻热点;向量空间模型;K-Means算法
【作 者】李伟;孙新杰;张毓福
【作者单位】六盘水师范学院数学与信息工程学院,贵州六盘水553001;六盘水师
范学院数学与信息工程学院,贵州六盘水553001;六盘水师范学院数学与信息工程
学院,贵州六盘水553001
【正文语种】中 文
【中图分类】TP391.3
随着大数据时代的到来,网络上的新闻内容呈爆炸式增长。面对海量的互联网新闻
资讯,用户很难获得有用的信息,需要构建新闻大数据分析系统,帮助用户分析获
取新闻热点。肖剑楠等[1]提出了构建新闻数据可视分析系统,帮助用户更好地
分析与理解新闻数据,Liu M C et al[2]通过比较多个新闻数据源中共同以及不
同的主题,但是在处理新闻大数据时存在速度慢的问题。
Spark是基于内存计算的大数据并行计算框架[3],可以加快集群处理大数据的
速度,同时保证系统的高容错性和高可伸缩性。基于Spark技术来构建新闻大数
据分析系统,可以减少新闻大数据的处理时间。
1 关键技术
Spark[4]是加州大学伯克利分校的AMP实验室所开源的并行框架,是一种类
似Hadoop[5]的集群计算环境,不同点在于Spark将作业中间输出结果保存在
内存中,而不需要存储到HDFS。Spark提高了大数据背景下数据处理的实时性,
其优势在于运行需要迭代的数据挖掘和机器学习算法。
与MapReduce的调度方式不同,Spark会尽可能地管道化。它根据不同的依赖
关系将RDD切分成多个阶段(Stage),每个阶段包含一系列需要进行流水线执
行的函数。Spark只会记录Transformations的操作,并不会真正去执行,直到
需要进行Actions操作的时候才会启动计算过程。Spark在执行过程中,在逻辑
运算之间会形成有向无环图,其运行原理如图1所示,最后由调度器调度图上的
任务进行运算。
图1 Spark执行有向无环图
2 系统架构
新闻大数据分析系统主要分为三个模块,即新闻抓取模块、新闻分析模块和可视化
展现模块。系统架构如图2所示。新闻抓取模块采用爬虫Scrapy[6]分布式抓
取网络新闻,新闻分析模块采用Spark对新闻进行离线分析和实时分析,可视化
展现模块通过Web页面展现新闻热点。
图2 系统架构
Scrapy是基于Python的快速高效Web抓取框架,用于抓取网络站点新闻,提
取结构化数据。首先建立Scrapy项目,定义要提取的新闻Item,然后启动分布
式爬虫抓取新闻站点并提取Items,最后存储数据到MongoDB进行新闻离线分
析,存储数据到Kafka进行实时新闻分析。
3 新闻聚类
从MongoDB数据库中读取信息进行数据预处理,抽取网页ID和文本信息。使用
向量空间模型(VSM)将预处理后的数据转换成向量,获取文本的主体和知识。
向量空间模型将文档映射为一个特征向量V(d)=(t1,w1(d);……;tn,
wn(d)),式中ti(i=1,2,…,n)是不同的词条项,wi(d)为ti在d中权值,其
取值为ti在d的出现频率,公式为:
式中,是词条ti在d中出现频率的函数,ni是含有词条ti的文档数目,N是所有
文档的数目。在信息检索中,TF-IDF函数是常用的词条权值计算方法[7],文档
中词条ti出现的频率越高,则文档对内容属性的区分能力越强,其权值也越大。
文档间相似度采用向量夹角余弦来表示,文档di与文档dj相似度公式为:
当进行查询时,根据布尔模型将查询条件Q进行向量化,文档d与查询Q的相似
度公式为:
式中利用VSM能够实现文档的自动分类,并对查询结果相似度进行排序。
根据文档间相似度,再使用K-Means算法[8]进行新闻聚类,统计分析出新闻
热点的类别。使用Spark的MLlib中Kmeans类库,聚类分析得到新闻文本的主
题,其程序关键代码如下所示:
4 实时分析新闻热点
新闻具有很强的时效性,笔者也进行了新闻热点实时分析研究。实时新闻数据为
Scrapy抓取的网页,并将新闻数据存储在Kafka的Topic中。使用保存的K-
Means聚类模型,通过Spark Streaming对存储在Kafka中新闻数据进行实时分
析,其程序关键代码如下所示:
最后,系统的可视化展现模块通过Web页面展示实时新闻的分析结果,如图3所
示。在页面中列出了当前新闻热点,用户可以快速获取有用 新闻信息。
图3 当前新闻热点结果页面
5 结语
本文提出了新闻大数据分析系统的架构,通过Scrapy爬取新闻网页进行数据采集,
采用向量空间模型对新闻数据进行特征化,使用Spark技术进行新闻聚类,并对
新闻热点进行了实时分析。下一步研究的重点是将处理流程进行高度的集成化,方
便系统的部署实施。
参考文献:
【相关文献】
[1]肖剑楠,刘梦尘,刘世霞.新闻数据可视分析系统[J].计算机辅助设计与图形学学
报,2016,28(11):1863-1870.
[2]LIU MC,LIU S X,ZHU X Z,et uncertainty-aware ap-proach for exploratory
microblog retrieval[J].IEEE Transac-tions on Visualization and Computer
Graphics,2016,22(1):250-259.
[3]李淋淋,倪建成,曹博,等.基于Spark框架的并行聚类算法[J].计算机技术与发
展,2017,27(05):97-101.
[4]HOLDEN 快速大数据分析[M].北京:人民邮电出版社,2015.
[5]李伟,石云,孙新杰.基于Hadoop的协同过滤算法的并行化研究[J].六盘水师范学院学
报,2017,29(3):46-49.
[6]华云彬,匡芳君.基于Scrapy框架的分布式网络爬虫的研究与实现[J].智能计算机与应
用,2018,8(5):47-50.
[7]武永亮,赵书良,李长镜,等.基于TF-IDF和余弦相似度的文本分类方法[J].中文信息学
报,2017,31(05),138-145.
[8]许明杰,蔚承建,沈航.基于Spark的并行K-means算法研究[J].微电子学与计算
机.2018,35(5):95-99.
发布评论