K-means聚类算法及其在网络舆情中的应用

2018-11-19 11:05:10徐建国韩青君
软件导刊 2018年11期
关键词:热点话题热点舆情

徐建国,韩青君,李 青

(1.山东科技大学 计算机科学与工程学院,山东 青岛 266590;2.山东政法学院 公共管理学院,山东 济南 250014)

0 引言

2018年8月20日,中国互联网络信息中心(CNNIC)在北京发布第42次《中国互联网络发展状况统计报告》,截至2018年6月,中国网民规模已高达8.02亿,普及率达到57.7%,2018年上半年新增网民数量较上一年末增长3.8%[1]。互联网成为社会大众获取信息、发布信息、交流观点最主要的平台[2]。网络舆情成为社会舆情的最主要组成部分,而网络因其特有的开放性、自由性、传播速度快等特点,很容易使网民在发表自己观点的同时受到外界诱导,也非常易于虚假信息的传播。因此,网络舆情热点的准确获取与分析对政府掌握舆情动态以及维护社会稳定具有重要的现实意义。

通过检索相关文献发现,国外很早就已经出现舆情热点相关研究。1996年,首次出现话题检测与跟踪技术(Topic Detection and Tracking,TDT)[3],主要研究报道切分、关联发现、话题跟踪、新事件发现、话题发现5个方面;而后,马赛诸塞大学探索形成了语料库,为TDT研究打下坚实基础;Manquan Yu等[4]采用层次聚类算法将新闻语料进行分类,避免了相似话题聚拢的问题,也可将时间跨度较大的几个话题组间聚类为一个话题;Zheng等[5]利用Aging Theory对BBS中热点话题进行识别,可快速挖掘任意时间段内的热点话题。国内关于舆情热点的研究起步较晚,但随着互联网技术发展,越来越多学者关注舆情热点问题。其中,王伟、许鑫[6]构建了基于聚类的网络舆情热点发现及分析系统,通过二次聚类提高舆情相关度质量及舆情分析准确度;张寿华、刘振鹏[7]针对网络舆情发生和传播的特点,提出自动挖掘热点关键词并根据关键词进行话题聚类的方法;王亚民、胡悦[8]提出一种基于BTM模型的微博舆情热点发现方法,有效解决了传统模型在文本建模中的高维度、稀疏性问题,改善了热点话题的发现质量;邓先均、杨雅茜等[9]使用几种聚类算法对网络舆情热点话题监测进行对比试验,进而分析出更适用于热点话题监测的算法。因此,本文结合网路舆情特点,在理解K-means算法的基础上,将改进后的K-means算法运用于舆情热点获取与分析中,提高网络舆情分析准确度,为政府舆情管理工作提升技术保障。

1 K-means聚类算法

K-means聚类的基本原理是,首先随机选取需要的k个聚类中心,计算每个样本到聚类中心的距离,根据样本点与k个聚类中心的距离可将所有样本聚类成k个类,然后不断地修正聚类中心,再计算每个样本到新的聚类中心的距离,将所有样本聚成k个类,由此循环往复直到每个类的大小几乎不再发生变化,在阈值范围内停止,聚类完成[10]。5种常见的聚类算法分别是:划分式聚类算法、层次式聚类算法、基于网格的聚类算法、基于密度的聚类算法和基于模型的聚类算法[11]。

K-means聚类算法中,指定聚类C=V2{V1}中心的特点使得到的聚类结果受人为干预影响大,还会导致不准确的话题聚类结果。为解决该问题,进一步改进K-Means聚类算法,步骤如下[12]:

第一步,按照特征项个数由多到少对论坛主题特征向量排序,并存储在D′={V1,V2,V3,…Vn}中,将V1作为第一个聚类中心,使聚类中心集合C={V1},确定聚类个数k。

第二步,设定n=0,从V2开始,依次比较D′中元素与聚类中心集合C中的元素是否含有相同特征项。若有,从D′中删除该元素,反之,把该元素放入聚类中心集合C中,且n=n+1,直到n=k时停止,聚类中心集合为C={V1,V2,V3,…Vk}。

第四步,循环往复前2步,直到每个类的大小几乎不再发生变化,在阈值范围内停止,聚类完成。

第五步,输出聚类结果。

对于给定的论坛主题特征向量集D={T1,T2,T3,…Tn},可以得到k个聚类中心,这样就把每个特征向量对应的主题分到k个聚类中心。话题聚类后,根据话题存在的实际意义,对话题进行过滤,以提高准确性。

2 K-means聚类算法在网络舆情中的应用

K-means聚类分析目前在电子商务、图情分析、生物科学、企业经济等领域都得到了有效应用,如人体体型分类、图书馆主题挖掘、高校学生消费数据、卷烟零售门店库存分析等[14-17]。同时,该算法也适用于网络舆情中的舆情热点获取与分析,因为网络舆情分散在互联网各个网页中,针对某一个网络舆情事件的每一句留言或评论都是舆情热点分析的范畴。所以,使用K-means聚类算法有助于将网民的相同观点与不同观点划分到不同类,它是舆情数据处理的关键一步,算法精确与否关系到数据处理的精确度。

2.1 K-means聚类算法应用流程

网络舆情热点提取主要是将获取的舆情数据经热点提取算法划分到不同话题簇中,并在需要时对话题簇进行更新,以便政府管理人员快速发现有用信息,有助于监督和了解互联网上的舆论情况。本文分析使用K-means聚类算法实现以上要求,该算法的简易流程如图1所示。

图1 K-means聚类算法应用流程

2.2 实现过程

算法实现过程主要代码如下:

print' Start Kmeans'

from sklearn.cluster import Kmeans

For k in range(3,5,1):

Clf=Kmeans(n_clusters=k)

S=clf,fit(weight)

Centroids=clf.cluster_centers_

#进行降维处理

From sklearn.decomposition import PCA

Pca=PCA(n_components=2)

#输出两维

newData=pca.fit_transform(weight)

载入N维

Mark=['or','ob','og','oy','^r','+r','sr','dr','

For i in range(0,455,1):

Sign=''

markIndex=clf.labels_[i]

Plt.plot(newData[i][0],newData[i][1],mark[markIndex]

For j in range(numword):

If weight[i][j]>0.4:

Sign=sign+word[j]

Plt.text(newData[i][0],newData[i][1],sign,fontsize=6)

Plt.show()

3 结语

互联网不断发展使得网络舆情的形成、传播和发展复杂多变[18]。本文通过对比分析,对近年来网络舆情热点的获取方法进行了研究,在理解K-means聚类算法的基础上进一步改进该算法,对新闻中的关键词进行聚类分析以获得舆情热点,最后给出该算法的实现过程,以提高聚类性能的精度和稳定性[19]。研究表明,该方法能为引导网络舆情的发展方向提供依据,也可及时防范误导性言论对社会公众的消极影响。然而,如何更加全面、准确、深入地获取舆情热点,深入挖掘舆情信息,仍需要更深入的研究。

猜你喜欢
热点话题热点舆情
热点
热点
车迷(2019年10期)2019-06-24 05:43:28
结合热点做演讲
快乐语文(2018年7期)2018-05-25 02:32:00
2017年高考作文热点话题预测
舆情
中国民政(2016年16期)2016-09-19 02:16:48
基于SVM的热点话题跟踪实现过程研究
舆情
中国民政(2016年10期)2016-06-05 09:04:16
舆情
中国民政(2016年24期)2016-02-11 03:34:38
热点话题排行榜
热点
中国记者(2014年6期)2014-03-01 01:39:53