搜索
您的当前位置:首页正文

基于spark框架的政府公文聚类方法研究

来源:知库网
ISSN1009-3044ComputerKnowledgeKnowledgeandandTechnologyTechnology电脑知识电脑知识与技术Computer与技术Vol.16,No.1,January.2020E-mail:eduf@dnzs.net.cn第16卷第1期(2020年1月)http://www.dnzs.net.cnTel:+86-551-6569096365690964基于Spark框架的政府公文聚类方法研究朱家麒,徐亚军(北京信息科技大学计算机学院,北京100101)摘要:政府网站中的政府公文数目巨大,对政府公文进行快速有效的分类,可以提供更好的用户体验。本文提出基于spark分布式计算框架采用K-means算法对政府公文进行分类的方法。首先从政府网站爬取足量的政府公文数据,对其进行数据预处理,再通过TF-IDF将处理后的政府文本信息转换成二维矩阵,然后在Spark计算框架中使用K-means算计进行聚类。最后分别在单机和使用spark框架的分布式计算环境下进行测试,三组实验结果表明,使用spark分布式计算框架进行聚类有着更高的计算效率。关键词:Spark;公文聚类;TF-IDF;K-means中图分类号:TP311文献标识码:A开放科学(资源服务)标识码(OSID):文章编号:1009-3044(2020)01-0210-03随着大数据、云计算之类的信息技术的发展,面对大数据带来的数据采集、数据融合、数据传输、数据处理、数据计算、数据存储等一系列问题,许多新的大数据计算框架和模型值得我们开发应用。同时随着大数据的深入应用,国家已发布多个文件要求强化数据资源规划,强化数据资源管理,推进数据资源应用。要求在2020年底前,建成覆盖全国的“互联网+政务服务”技术和服务体系。在“互联网+”的背景下,针对政府要业务数据等各类数据的管理需求,走向“数据治理”成为实现治理体系和治理能力现代化的必然要求[1][2]。信息渠道的变革,数据汇集管理也需要吸收新的技术。政府公文作为政府数据的一部分,需要对其进行分类处理。正对着一部分本文考虑用Spark计算框架下的聚类技术,实行大数据技术下政府公文的分类,提高政府公文的分类效率。

分布式数据集,对集群上并行处理数据在内存上进行分布式抽象,并基于RDD迭代式计算。RDD是Spark最核心的部分,RDD必须是可序列化的。RDD可以缓存到内存中,迭代计算的结果都可以放到内存中,下一个操作可以直接从缓存中输入,省去了MapReduce大量的磁盘I/O操作这对于迭代运算比较常见的机器学习算法来说效率提升较大。Spark并行计算框架如图1所示。

执行器驱动程序任务驱动程序Yarn集群资源管理器执行器驱动程序任务任务缓存任务缓存1相关理论以及技术1.1Spark并行计算框架ApacheSpark是一种快速的集群计算技术,专为快速计算而设计。它基于HadoopMapReduce,在MapReduce计算框架基础上进一步实现了分布式计算,以有效地将其应用于更多类型的计算,包括交互式查询和流处理。MapReduce是基于磁盘的运行模式,运算结果会暂存于磁盘上,增加内存消耗和数据传输所占用的磁盘I/O的成本,极大的影响总体计算效率。而Spark将中间处理数据存储在内存中,数据在内存中的处理速度至少是在磁盘中的10倍,通过这样的方式减少对磁盘读写操作的数量,增加总体计算效率。

Spark是Hadoop在2009年加州大学伯克利分校的MateiZa⁃haria的AMPLab开发的子项目之一。它是在2010年根据BSD许可开放。

与Hadoop不同的是,Spark采用弹性分布数据集(ResilientDisTributedDataset,RDD)实现了以操作本地集合的方式来操作

图1Spark并行计算框架Spark的工作流程为:

(1)构建Spark应用程序的运行环境(启动SparkContext),SparkContext向Yarn资源管理器注册并申请执行器资源;

(2)资源管理器分配执行器资源,执行器运行情况将随着心跳发送到资源管理器上;

(3)SparkContext构建成DAG图,将DAG图分解成阶,并将任务发送给任务分时管理器。执行器向SparkContext申请任务,任务分时管理器将任务发送给执行器的同时SparkContext将应用代码发送给执行器;

(4)任务在执行器上运行,运行完毕释放资源。1.2聚类算法聚类算法是把距离作为特征,通过自下而上的迭代方式,快速的将一群样本分成几各类别的算法。聚类算法大致分为基于层次和基于划分的两种聚类,本文用到的K-means算法则是基于划分的聚类算法。

收稿日期:2019-11-16基金项目:本文由北京信息科技大学2019年促进高校内涵发展-大学生科研训练项目(5101923400)支持。作者简介:朱家麒(1997-),男,北京信息科技大学计算机学院本科生;徐亚军(1996-),男,北京信息科技大学计算机学院本科生。210

人工智能及识别技术本栏目责任编辑:唐一东

第16卷第1期(2020年1月)K-means(1)数据集随机选取算法的步骤包括:

k个数据作为初始的聚类质心;离最近的簇内;

(2)计算剩余的样本到聚类质心的距离,并将其分配到距(3)(4)将每个簇的样本平均值作为簇的新聚类质心;K-means判断样本的簇是否改变,若改变则返回(2)。(1)算法的优点有:(2)算法快速简单;

(3)对大数据集有着较高的效率并且可伸缩;K-means时间复杂度呈线性,适合挖掘大规模数据集。判断,(1)需要用不同的方法找出合适的在K-means算法的缺点有:

算法中的K需要事先确定,K的确定非常难好,可能无法得到有效的聚类结果。(2)K的选取极大地影响了聚类结果,K值;

如果初始值选取的不1.3文本表示文本是一种无结构的数据,想要进行聚类,首先必须把文

本表示成计算机能够识别和处理的形式。本文采用最常用的向量空间模型(VSM),向量的每一维都由特征项及其权重组成,特征项的权重用TF-IDF的方法来计算。

计算方法。它们有多种计算方法,TF-IDF权重是文本处理领域中使用最为广泛的数值权重目前较为常用的公式为:

Wik=tfik×log

(N

nk

+l)其中tfik表示项tk在文本Di中出现的次数,

N表示全部训练集的文本数,

nk表示训练文本中出现tk的文本频率数。l的取值要根据实际来确定,一般取0.01。

根据香农信息学理论,如果项在文本中出现的频率越高,则它包含的信息熵越少;如果项表现较为集中,只在少量文中中有着较高的出现频率,那它则有着更高的信息熵。

考虑到文本长度也对权重有影响,还应该将权重公式做归一化处理,将各权重规范到[0,1]之间:

tf(N

wik×logn+0.01

)ik=

∑n(tf2k=1ik)×log2(Nnk+0.01)以往经验获得的一个经验公式,TF-IDF公式虽然不是一个严谨的计算公式,但是其在文本聚类处理方面的它只是根据有效性值得我们拿来应用。

2实验及数据分析2.1实验环境GB节点操作系统均为内存的实验平台配置为PC;其中一台作为4个服务器节点,master,其他台作为每个节点均为双核、4JDK1.8.0scala版本,CentOs;Hadoop版本为3.2.0,Javaslaves开发包为;每个政府公文数据采集自北京市政府网站。实验分别在单机版本为2.11.12Hadoop,Spark程序使用程序由javascala编写;编写。

Spark版本为2.4.4,和spark集群上分别测试。2.2数据预处理为了将待聚类文本成功输入到spark的文本聚类程序,常

本栏目责任编辑:唐一东

ComputerKnowledgeandTechnology电脑知识与技术

规的去停用词操作还不够,还需要编写格式处理程序,将待转

换的文本集合所有内容写入一个txt文件,每一行存储一篇公文的id,标题和正文内容。其中正文内容是经过分词和去停用词的词序列,词和词之间使用空格隔开。如图2所示:

图2文本数据格式2.3基于Spark的数据处理基于(1)Spark质心;

(2)提交聚类任务给的K-means聚类实现步骤有:

Master用手肘法确定合适的Master节点;

K值,用作初始的聚类相应的质心;

(3)Master计算数据节点到质心的距离,将数据节点划分到slave(4)Master根据聚类质心个数将任务划分,并分配到每个的质心;

(5)节点;

Slave计算节点到聚类质心的距离,将节点划分到相应(6)(7)Slave执行。

(8)计算准则函数;

计算新质心的平均值,更行聚类质心;判断聚类是否收敛,是则聚类成功,否则转到(5)继续图3基于Spark的K-means并行化实现人工智能及识别技术211

ComputerKnowledgeandTechnology电脑知识与技术第16卷第1期(2020年1月)

[4]肖连杰,成洁,蒋勋.大数据环境下国内情报分析研究方法研究[J/OL].情报理论与实践:1-14[2019-10-27].http://kns.cnki.net/kcms/detail/11.1762.G3.20191008.0932.002.html.[5]高彦杰.Spark大数据处理[M].北京:机械工业出版社,2014.[6]许礼捷.基于Spark的大数据处理平台的搭建与研究[J].电脑知识与技术,2016,12(15):14-16.[7]刘鹏,滕家雨,丁恩杰,等.基于Spark的大规模文本k-means并行聚类算法[J].中文信息学报,2017,31(4):145-153.[8]杨俊闯,赵超.K-Means聚类算法研究综述[EB/OL].计算机工程与应用:1-11[2019-10-27].http://kns.cnki.net/kcms/detail/11.2127.TP.20191015.1136.006.html.[9]万晓燕.基于聚类划分的大数据处理方法研究[J].智库时代,2019(39):280,283.[10]黄源.k-means聚类算法介绍及应用[J].科学咨询(科技·管理),2019(10):86-87.[11]侯泽民,何建仓.K-Means聚类算法在大学生智慧就业平台中的应用研究[J].福建电脑,2018,34(12):18,37.[12]熊康平.机器学习方法在文本聚类中的应用[J].电子世界,2018(22):41,43.[13]张振,冯永亮,赵津曼.一种基于Spark的图像聚类并行化算法[J].电子制作,2019(Z1):67-68,108.【通联编辑:闻翔军】

2.4实验结果对比表1文件来源北京市河北省天津市

503824291000实验文件耗时对比单机环境中耗时

2h09m58m28mSpark框架下耗时29m18m13m文件数量

本文爬取了三个政府网站的公文,并对这三组公文分别做

了聚类实验,可以发现单机环境下聚类的耗时都远远大于在Spark平台上聚类的耗时。由此可以看出Spark平台上处理相同数量的文本比单机效率有着显著提高。

3结论本文在Spark平台上,通过实验验证了基于Spark平台的K-means公文聚类,发现聚类算法在处理大量公文时效率相比单机有着较为显著的提升。

参考文献:[1]鲍静,张勇进.政府部门数据治理:一个亟需回应的基本问题[J].中国行政管理,2017(4):28-34.[2]王芳,陈锋.国家治理进程中的政府大数据开放利用研究[J].中国行政管理,2015(11):6-12.[3]赵洪,王芳,王晓宇,等.基于大规模政府公文智能处理的知识发现及应用研究[J].情报学报,2018(8):805-812.(上接第204页)

文件夹选择视频文件,选择需要的分辨率,可以选择是否框出视频中车牌,识别过程中同样会储存识别记录,便于查看。2.2.4查看记录如果需要查看以往的记录,点击查看记录功能,软件会将所有以往记录文本显示在表格中,右击表格中的行,点击查看该记录即可在右边表格中显示所有信息。本系统提供记录检索功能,通过填写车牌出现识别,或者地点或者明确的车牌号即可查询到是否存在记录。

3结束语图7系统界面2.2功能详解2.2.1图片识别首先进入图片识别,图片识别分为图片批量识别和单个图片识别。还包含了正确率结果打印,指定图片文件夹和结果集文本后会自动输出识别结果,用于测试识别率。图片识别只需点击文件按钮,指定某个图片,便可识别,图片批量识别需要指定文件夹以及输出文件夹。2.2.2实时识别高速公路、城市交通、停车场等基础设施建设水平的不断发展和车辆管理体制的不断完善,为以计算机视觉为基础的智能交通管理系统的实际应用提供了契机。车牌自动识别系统应用愈发广泛,能够减轻交通压力和减少人工成本,有很重要的使用价值。

参考文献:[1]冈萨雷斯.数字图像处理[M].2版.北京:电子工业出版社,2007.08[2]叶晨洲,廖金周.一种基于纹理的牌照图像二值化方法[J].微型电脑应用,1999,15(6):28-29,19.[3]梁玮,罗剑锋,贾云得.一种复杂背景下的多车牌图像分割与识别方法[D],北京:北京理工大学,2003.[4]崔江,王友仁.车牌自动识别方法中的关键技术研究[J].计算机测量与控制,2003,11(4):260-262.【通联编辑:闻翔军】

实时识别需要摄像头,将摄像头的USB接口插入电脑端

口,可以选择分别率,点击打开摄像头按钮,软件自动识别电脑摄像头并给出选项选择,软件会播放摄像头画面,框出车牌位置,并且会将识别结果显示在表格中,此外,这些记录会做本地化保存,可进入查看记录功能进行查看。2.2.3视频识别可以对已有车辆视频进行识别,选择视频识别功能,点击212

人工智能及识别技术本栏目责任编辑:唐一东

因篇幅问题不能全部显示,请点此查看更多更全内容

Top