《新闻大学》
引言
随着大数据时代的到来,各式各样的新闻内容呈爆炸式增长[1]。面对海量的互联网新闻资讯,用户获得了大量内容重复、杂乱无章的新闻信息。如何利用新闻内容聚类分析系统帮助用户对各个领域的新闻信息进行分类并分析新闻热点,从而使用户快速地获得有价值的信息,就具有了重要的研究意义。
Spark是一个开源的大数据分布式处理的平台,是基于内存计算的大数据并行计算框架,主要用于大规模数据的分布式存储和计算,具有高效、方便、可交互、可扩展性的特点,同时又可以保证系统的高容错性和高可靠性[2]。如今,Spark架构已经在很多大型企业中得到了广泛的应用,并取得了非常良好的效果。因此,基于Spark技术来构建新闻内容聚类及热点研究系统,可以有效减少新闻大数据的处理分析时间。
1 相关理论与技术基础
1.1 Spark
Spark最初诞生于美国加州大学伯克利分校(UC Berkeley)的AMP实验室,是一个可应用于大规模数据处理的快速、通用引擎。2013年,Spark加入Apache孵化器项目后,开始获得迅猛的发展。Spark最初的设计目标是使数据分析更快一一不仅运行速度快,也要能快速、容易地编写程序。为了使程序运行更快,Spark提供了内存计算,减少了迭代计算时的开销;虽然,Hadoop已成为大数据的事实标准,但其MapReduce分布式计算模型仍存在诸多缺陷,而Spark不仅具备Hadoop MapReduce所具有的优点,且解决了Hadoop MapReduce的缺陷[1]。
1.2 Scrapy爬虫技术
Scrapy是利用Python语言实现的一个爬虫框架,用于抓取网页内容,提取结构化数据并存储,它基于Twisted实现异步网络通信,并且拥有多个中间件接口,可以接收用户的个性化爬虫需求,灵活度高。同时,它利用布隆过滤器实现URL去重,防止因URL数量不断增加而出现运行效率下降的问题;还提供多种数据输出格式,如JSON、XML等,能够和不同的存储系统连接;能够自动获取网页中的视频、图片等多媒体数据。基于这些优势,Scrapy框架在各类数据挖掘任务中被广泛应用。
1.3 K-Means聚类算法
K-Means是一种聚类算法,其中的K 值代表的是类别的数目,Means 代表均值。因此可以将K-Means算法理解为通过求均值对于数据进行聚类的算法[3]。K-Means算法对于K值进行预先的设定,之后进行文本之间的相识度计算,主要是样本与中心之间的计算,最后达到将相似性最高的文本都划分到同一集合的效果。此算法需要不停地进行迭代操作来产生最优的结果。
2 系统总体设计
此次研究目标是挖掘与追踪各个新闻领域内的热点信息,因此系统需要首先利用Scrapy网络爬虫技术来获取新闻数据,并将获取到的新闻数据集进行分词和去停用词等预处理操作,其次利用K-Means聚类算法对各个领域的新闻进行聚类划分,以形成不同领域的新闻数据聚类集,然后对各个新闻聚类进行话题挖掘并追踪热度以便用户能够更加便捷地了解新闻资讯。
根据上述流程的描述,此分析系统主要分为4个模块,即新闻数据获取模块、新闻数据预处理模块、新闻数据聚类模块和新闻热点提取模块。系统架构如图1所示[2]。
图1 系统架构如图
3 系统设计实现
3.1 新闻数据获取
首先需要利用Scrapy网络爬虫技术抓取源新闻数据,数据获取模块被设计为仅收取新闻标题、发布的时间、新闻内容、用户点赞数和评论数等有用信息,会过滤掉外部链接、广告等与无关内容,以便后续的模型训练。
3.2 新闻数据预处理
在完成新闻数据源的采集后,虽然此时的数据集中已没有和系统目标无关的文本内容,但是由于计算机无法直接理解句子的内容,还需要对文本数据进行预处理操作,预处理操作分为分词和去停用词。分词主要是针对新闻标题和新闻的正文内容,将其中的段落内容按照规则切分为单个词语,切分后的词语是文本向量化的基础。经过分词操作之后,会出现很多与表征文本内容不相关的词语,如语气词、关联词和标点符号等,这些词被统一称作停用词,他们的存在会模糊各个文档之间的分类界限,因此在下一步操作之前还需要将停用词去除。
预处理得出的结果存储到MySQL数据库中[3]。
3.3 新闻数据聚类
从MySQL数据库中读取预处理后的数据,使用TF-IDF函数来计算词条的权值[4],使用向量空间模型(VSM)将预处理后的数据集向量化,向量空间模型将文档映射为一个特征向量V(d)=(t1,w1(d);......;tn,wn(d)),式中ti(i=1,2...,n)是不同的词条项,wi(d)为ti在d中的权值,其取值为ti在d的出现频率,具体公式为:
上一篇:电视新闻画面编辑技巧
下一篇:没有了