更全的杂志信息网

基于Hadoop平台的并行kNN网络舆情分类算法

更新时间:2016-07-05

1 引言

随着移动互联网、移动终端和社交平台的快速发展,微博、博客等网络媒体逐渐成为人们获取信息的重要媒介,同时也是人们发布信息的重要渠道,因此网络上每天的数据量正在成几何数量增长。网络舆情已经成为影响社会发展和稳定的重要因素,因此对海量网络舆情进行监控和及时处理网络上的敏感信息,对不同主题的信息进行分类、分析、预警、引导具有现实意义。由于网络舆情数据具有数据量大、非结构化、分散性等特点,使得用于处理文本分类的传统算法很难快速、高效的对网络舆情数据进行分类。

随着大数据技术的快速发展,为处理大批量网络舆情信息提供了可能性,其中Hadoop平台专门用于处理大规模分布式数据,成为当前的研究热点。文献[1-2]通过将朴素贝叶斯算法并行化实现了对网络舆情信息的快速、高效处理。文献[3-5]通过优化MapReduce分布式计算框架来实现对网络舆情数据快速分类。因而,研究处理海量、分散、非结构化数据处理算法具有重要意义。

95例疑似胆道结石患者,最终经手术证实胆道结石90例,其中结石直径≥0.8cm的患者52例,结石直径<0.8cm的患者38例,其他5例。CT检出胆道结石92例,经手术证实76例,其中结石直径≥0.8cm的患者47例,结石直径<0.8cm的患者29例,其他3例。MRCP检出胆道结石91例,经手术证实87例,其中结石直径≥0.8cm的患50例,结石直径<0.8cm的患者37例,其他4例。CT诊断准确率较MRCP低(p<0.05),两种检查方法对结石直径≥0.8cm的诊断准确率比较无明显差异(p>0.05),MRCP对结石直径<0.8cm的检查准确率较CT高(p<0.05),见表1。

2 kNN算法原理

k最近邻(k-Nearset Neighbor, kNN)算法[6],最初由Cover和Hart于1968年提出,其思路非常简单直观,易于快速实现,同时也是最简单的机器学习算法之一。该算法的思想是:如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别。

kNN分类器是一种消极(懒惰)型学习器,模型的对建立非常简单(仅需要存储训练数据),当接收到测试数据后开始构造分类模型,对测试数据进行预处理并计算各分量间的距离,根据测试数据与训练数据进行分类。kNN算法在进行分类时需要计算训练数据与测试数据之间的距离,因此算法消耗资源较多,各个数据节点对相似度计算具有独立性,因而该算法适合在并行环境下运行。

假设训练集为L,C1,C2,…,CN表示有N个类别,L训练集的总数量为M,特征向量维度阈值为n。di={xi1,xi2,…,xij,…,xin}表示训练集L中的一个文本的特征向量形式(0<iM),xij表示di的第j维的权重(0<jn)。测试集的特征向量形式为d={X1,X2,…,Xj,…Xn},其中Xj代表d的第j 维的权重(0<jn)。用来判断测试集与训练集中每个对象的距离常用方法有:余弦相似度和欧氏距离。

Emit(Key1,Value1);

(1)

通过(1)式找到测试数据集分类文本的K个最近邻文本后,最后通过(1)式计算待分类文本d属于每个类别的权重,将待分类文本归到权重最大的类别。

(2)

3:Collection sem = new ArrayList();

(3)

3 kNN算法的并行化

设计基于Hadoop平台的并行KNN网络舆情分类算法的流程图,如图1所示。

图1 算法执行流程图

①钻机就位→②钻孔角度校正→③开孔钻进→④提钻取芯→⑤岩芯放置及标识→⑥班报表填写(详细记录钻进岩芯情况和渗水位置、量测渗水量)→⑦钻进至终孔→⑧终孔验收→⑨岩芯编录→⑩资料整理及分析。

(1)Map函数

Input:训练数据集和测试数据集、设定k的值一般取奇数、给出训练数据集的类别

这种表面润滑的螺旋形磁性纳米机器人直径仅为500纳米,不到头发丝粗细的两百分之一,它可在短时间内完成从眼球玻璃体中心位置到视网膜的可控运动。

Output:键值对,其中Key1表示测试数据集索引值,Value1由字符串相似度S和类别标签C组成。

1: Method map(Key,Value,Key1,Value1)

以地铁12号线极小间距下穿京张高铁盾构隧道为工程背景,针对台阶法、临时仰拱台阶法、CRD法以及CD法实施中地层变形、地表沉降规律以及盾构管片变形受力特征开展研究,结果表明:

政府和社会资本合作模式(Public Private Partnership,PPP),是指政府通过特许经营权、合理定价、财政补贴等事先公开的收益约定规则,引入社会资本参与城市基础设施等公益性事业投资和运营,以利益共享和风险共担为特征,发挥双方优势,提高公共产品或服务的质量和供给效率。[注]2015《政府工作报告》缩略词注释,中央政府门户网站,http://www.gov.cn/xinwen/2015-03/11/content_2832629.htm,2015-03-11。 PPP模式对于增加公共产品供给、改善投融资环境、激活民间资本、深化供给侧改革具有重要意义。

2: {

3:for each line in Value do

将line中的数据分解成的形式;

计算相似度S=Simu(x,y);

x表示测试向量;y表示训练向量;

余弦相似度计算如式所示。

4:}

[4]吴边,吴信才. Cloud GIS关键技术研究[J]. 计算机工程与设计. 2011,32(4):1342-1346.

(2)Reduce函数

Input:map函数的输出结果

Output:,其中Key2为Key1的值,Value2表示分类结果

1: Method reduce(Key1,Value1,Key2,Value2)

9:}

2: {

公式(2)中,y(di,Cj)为类别属性函数,如式(3)所示。

//声明一个集合sem用于存放测试数据

//集与训练数//据集的相似度

本文通过对两组患者进行分组治疗,结果显示治疗前两组患者PRL水平下降情况无显著差异,但在治疗后30天、60天、90天研究组显著优于对照组,分析通过服用甲磺酸溴隐亭片能够有效作用于患者的PRL水平。甲磺酸α-二氢麦角隐亭属于选择性的多巴胺受体激动剂,患者使用后会出现相应的副作用。而溴隐亭属于催乳激素的抑制剂,能够预防和制止生理性泌乳及伴随的闭经或不排卵[6]。由于溴隐亭具有多巴胺能的活性,是人工合成的麦角碱衍生物,能够抑制PRL合成分泌,使得瘤体缩小,泌乳停止,保证患者恢复正常的排卵周期。因此本文结果显示,溴隐亭治疗组7.32%不良反应显著低于对照组24.39%,说明溴隐亭在治疗上更加出众。

手术记录 患者取俯卧位,胸腰段呈隆起状。常规消毒、铺巾,取胸部后正中纵行切口,长约10 cm。切开皮肤、皮下组织、筋膜、棘上韧带直至棘突,咬除部分T12棘突和腰1棘突、棘突根部和两侧椎板,暴露硬脊膜,显微镜下锐性切开硬脊膜,见硬脊膜内有一上下径约2.3 cm肿瘤,外观淡黄色,质地较韧,肿瘤包膜包绕一血管,与脊髓分界清楚。在肿瘤的上下端可见结节样增粗的淡黄色病变,与邻近马尾神经相连续。游离肿瘤后,完整取出肿瘤。

4:Collection classify = new ArrayList(); //声明一个集合classify用于存放分类标签

孢子悬浮液制备:将摇培获得的悬浮液用纱布过滤去除菌丝后,镜检测定孢子液浓度,并采用无菌水将孢子悬浮液浓度调节至试验所需即可。

5: for each v in Value1 do

构建键值对<S,C>,其中S为相似度,C为类别标签;

S的值加入到集合sem中,C添加到集合classify中;

6:将集合sem中的值进行排序,确定k个最近领集合同时得到集合sem数据所对应的类别;

7:把Key1的值赋值给Key2;

8:Emit(Key2,Value2);

Stacking算法是1992年Worlpert提出的stacked Generalization的学习模型,对基分类器的学习结果进行再集成得到集成模型预测结果[40]。采用Leave-One-Out的交叉验证(CV,Cross Validation)方法训练基分类器,将各基分类器的训练结果作为强分类器的输入训练实例,训练学习得到最终预测结果。

通过将KNN算法构造成MapReduce程序实现算法的并行化处理网络舆情分类,其中Map函数中key值为测试数据集的行号即偏移量,Value代表该行对应的训练集数据,数据集中包括相应的属性字段和类别标示。Map阶段的输出Key1表示测试数据集的行号,Value1表示计算出的相似度S和类别标签C。在Reduce阶段Key2表示测试数据集的行号,Value2代表计算出的分类结果。

4 算法测试和性能评估

首先,实验数据通过网络爬虫工具主要爬取互联网网页和微博数据,对爬取到的数据进行前期预处理:过滤网页和微博数据中的@符号、网络地址、图片、广告、视频、语音等;然后,采用中国科学院 NLPIR汉语分词系统对预处理后的数据进行分词处理,利用信息增益算法抽取和计算文档的词频和权重。对并行化kNN算法进行舆情文档分类性能评估。

利用5台计算机(Intel E7400,4GB内存,CentOS 6.5)搭建基于Hadoop平台的网络舆情处理平台,其中1台作为Master,该结点实现数据的上传管理和作业资料的调度与结果汇总。其余4台作为Slave节点,用于分布式存储数据和计算功能。各服务器上开启的进程,如表1所示。

表1 服务器进程表

机器名IP进程Master192.168.1.100NameNode、ResourceManagerSlave1192.168.1.101DataNode、NodeManagerSlave2192.168.1.102DataNode、NodeManagerSlave3192.168.1.103DataNode、NodeManagerSlave4192.168.1.104DataNode、NodeManager

4.1 算法分类性能测试

为了验证算法分类性能,采用搜狗实验室提供的SogouT互联网中文分类语料库[7],该语料库中保存了大量搜狐新闻网站数据,这些数据经过人工整理后将语料与分类信息一一对应,实现数据分类的精确性,语料库规模达到TB级;语料库包含:军事、体育、新闻、娱乐、社会、教育、交通、政治、财经、科技等10大类别,每大类下有80%数据用于模型训练,20%用于算法分类性能测试。同样使用中国科学院NLPIR汉语分词系统对语料库进行分词和词性标注,利用信息增益算法计算特征词和权重,每篇语料库中特征词汇平均为186个,通过对不同类别特征词汇排序,提取前500个组建特征词汇库,对剩余测试数据也进行特征词汇提取,选取前20项组建文档特征向量。通过搭建的Hadoop仿真平台测试算法分类性能,分类结果对比,如表2所示。

KNN并行化MapReduce网络舆情分类算法实现函数如下:

表2 分类算法对比表

类别本文算法查全率%查准率%NB算法查全率%查准率%军事97.6595.3297.4194.89体育94.5393.2194.2692.75新闻93.0390.2792.1289.54娱乐87.1586.3986.8885.79社会88.5787.4588.7386.26教育95.8295.1394.5194.96交通94.8797.1194.5496.55政治95.6593.4394.7592.13财经96.6793.1696.2392.65科技93.5592.8793.3391.78

由表2可知,基于并行化kNN算法在对网络舆情数据进行分类时能够准确进行分类;该算法在查全率和查准率方面总体在86%以上,具有较好的分类效果,这是因为并行kNN算法可以在每个数据结点上单独获取更多的舆情特征词汇,同时能够根据不同的分类选取不同的特征词汇与权重构造特征向量,增加了算法的分类能力。与行并化朴素贝叶斯算法(Naive Bayes, NB)算法相比在查全率和查准率这两个方面略好于后者。而在娱乐和社会两个大类别下分类正确率较低这是由于语料库中这两个方面数据重叠较大导致的。

随着青海省“生态立省”战略的深入推进,在生态环境保护方面取得了很大成效,自2005年以来,青海三江源生态保护和建设一二期工程、青海湖流域生态环境保护与综合治理工程、青海祁连山生态保护与建设综合治理工程等重大生态保护工程的相继实施,生态监测作为科技支撑类项目也得到持续的开展,现已形成了多部门协作的生态监测工作机制,初步建立了生态监测指标体系和评估指标体系。搭建了生态环境综合数据服务平台,为区域生态环境现状及生态保护工程成效监测与评估、重点生态功能区县域生态环境质量评价与考核、生态补偿和生态环境监管等工作发挥了积极作用。

4.2 算法运行效率

为了验证算法的运行效率,现将测试数据集分为以下几个量级:1 000、3 000、5 000、7 000、9 000、10 000。分别在基于Hadoop平台的并行kNN算法和独立服务器(Intel E7400,4GB内存,CentOS 6.5)集中模式的kNN算法进行分类比较最后结果,如图2所示。

图2 不同数量测试数据集分类时间

通过图2可以看出,当测试数据集体量较小时,并行模式与集中模式所耗时间没有较大差距,随着测试数据集体量增大,并行模式采用Hadoop平台的分布式存储与分布计算的特点,使计算能力分布到各数据结点上,这样减少了数据传递带来的开销,因此并行模式在处理大体量数据时具有独特优势。随着测试样本体量的增加集中模式所需计算时间将成倍增加,因为集中模式在计算时需要将数据传输到程序中在将结果暂时保存到硬盘中,最后将结果进行汇总,移动数据将给程序执行带来很大开销。

kNN算法的处理效率受到选取k值的不同而不同,因此通过修改并行kNN算法的k值来观察随着k值的变化对并行算法运行效率的影响。

凡此种种,小说体现的是一个拥有“个性解放”意识的现代女性形象,莫言从生命本体意义上的角度,摆脱传统道德思维模式的定律,展现了与封建社会主流意识抗衡的野性思维,而这种反礼教的人道之举充满了刚正不阿的民族气概。

由图3可知,随着取不同的k值,则算法的处理时间也在不断增加,当k值较小时,并行kNN算法和集中模式kNN两者之间消耗时间差距不是很大,但是随着k值的增加并行模式和集中模式在进行分类处理时所消耗的时间差距越来越大。

图3 不同K值运行时间

4.3 算法性能验证

微博由于其实时性强、传播速度快、影响范围广的特点,在人们的日常生活中越来越重要,因此微博也是最能反映社会舆情的地方。为验证kNN算法分类性能,实验数据选择网络爬虫抓取微博和论坛数据,抓取2017-7-6到2017-7-12微博和论坛数据共计127 456条。将数据分为以下10类:军事、体育、新闻、娱乐、社会、教育、交通、政治、财经、科技。对归类后的数据进行前期预期处理后,采用并行kNN算法和并行NB算法分别对采集到的数据进行分类测试,测试结果如图4所示。

图4 分类算法结果对比

实验结果表明,2017年7月6日至7月12日一周的舆情数据有关“社会”类舆情占比27.8%,“教育”类舆情数据受到高考志愿填报、名校招生乱象和谢师宴因素的影响占比在22.6%,这与新华云智公布的一周网络舆情参考数据结果相一致[8]。并行kNN网络舆情分类算法与朴素贝叶斯算法的分类结果整体一致,而在用时方面基于Hadoop平台的并行kNN算法用时为20分34秒,而基于朴素贝叶斯分类算法用时25分16秒,系统分类效率提升18.6%以上。

5 结束语

随着移动互联网和移动终端的快速发展,微博、博客等网络媒体逐渐成为人们获取信息的重要媒介,同时网络舆情也成为社会稳定的重要因素,因此进行网络舆情分类和预测研究,及时消除不良信息和引导正确的舆论对社会和谐发展具有重要意义。本文设计了一种基于Hadoop平台的并行kNN网络舆情分类算法,利用HDFS分布式存储特性可以实现大量数据高效快速存储。同时设计并行kNN的MapReduce程序利用移动计算来实现数据快速处理,实验数据表明该分类算法能快速、高效的处理网络舆情信息,对于网络舆情实时监控和数据分类具有实现意义。

参考文献

[1] 马宾. 一种基于Hadoop平台的并行朴素贝叶斯网络舆情快速分类算法[J]. 现代图书情报技术, 2015, 255(2):78-84.

[2] MA B, YIN L F. A Parallel Naive Bayesian Network Public Opinion Fast Classification Algorithm Based on Hadoop Platform[J]. New Technology of Library and Information Service, 2015, 31(2): 78-84.

[3] WANG B, LEI L. An Optimistic Distributed Parallel Algorithm Using Big Data Analysis[J]. Computer & Digital Engineering, 2013(11):1720-1724.

[4] TANG T. Research on method of internet public opinion analysis based on big data[J]. Journal of Modern Information, 2014, 34(3):3-6.

[5] 赵阳阳. 基于MapReduce的分布式网络舆情分类方法的研究[D]. 北京:北京交通大学, 2015:1-62.

[6] MA B. A New Kind of Parallel K_NN Network Public Opinion Classification Algorithm Based on Hadoop Platform[J]. Applied Mechanics and Materials, 2014, 644/650:2018-2021

[7] 搜狗实验室. 互联网语料库[EB/OL]. [2017-8-13]. http://www.sogou.com/labs/.

[8] 新华网. 网络舆情参考(2017年第25期 总第276期)[R/OL]. [2017-8-13]. http://news.xinhuanet.com/yuqing/2017-07/13/c_129654740.htm.

杜少波
《电视技术》 2018年第03期
《电视技术》2018年第03期文献

服务严谨可靠 7×14小时在线支持 支持宝特邀商家 不满意退款

本站非杂志社官网,上千家国家级期刊、省级期刊、北大核心、南大核心、专业的职称论文发表网站。
职称论文发表、杂志论文发表、期刊征稿、期刊投稿,论文发表指导正规机构。是您首选最可靠,最快速的期刊论文发表网站。
免责声明:本网站部分资源、信息来源于网络,完全免费共享,仅供学习和研究使用,版权和著作权归原作者所有
如有不愿意被转载的情况,请通知我们删除已转载的信息 粤ICP备2023046998号