-
随着互联网的快速发展和移动设备的广泛使用,知乎、微博等应用平台产生了大量的数据流。这些数据具有传播速度快、随时间动态变化等特点。
不同于传统静态数据,这些数据流无法用传统的聚类算法直接处理,因此研究人员提出了动态文本聚类算法。动态文本聚类算法使用了在线和离线的两阶段处理方式,在在线阶段采用特定的数据结构来概述持续到来的数据,使用k-means等传统聚类算法为基准算法在离线阶段进行聚类。这种分而治之的处理模式成功解决了数据流的聚类问题。这些动态文本聚类算法多在假设文本特征的独立性而缺乏对语义的识别,使用组平均值为类心进行聚类,这种处理模式无法处理新到来的词典外的词特征,也无法解决同一事件不同风格的表达方式的问题,且无法识别事件、已有事件和新增文本间的关系。所以当数据流到来的时候文本会基于词共现特征去到错误的分组,无法利用语义信息进行正确聚类。同时,文本的聚类个数应随着数据流的发展而产生变化,这些传统的动态文本聚类算法普遍依赖于人为设定或自动学习的类别个数,导致无法准确生成符合实际情况的聚类个数,常常产生高于实际类别的聚类结果。针对这些问题,本文提出了一种半监督语义动态文本聚类算法(SDCS)。该算法融入文本的语义信息来表示文本,解决了传统动态文本聚类中因新词特征的出现而导致的文本表示困难问题,更好地捕获了文本间的关系;并且针对现有算法多聚焦于词级别的语义表示,缺乏对类别语义的描述提出在聚类过程中动态的学习类别语义,让只是因为描述,方式不同的同类文本能根据语义准确聚类。此外,该算法加入了半监督聚类的方法引入监督信息,利用这些监督信息对新类的产生进行监督,生成更符合实际情况的聚类结果。
HTML
-
本文在3个真实文本数据集上运行本文模型,对实验结果使用标准文档聚类评价指标,特别是归一化互信息NMI来评估聚类性能[20]。
-
首先使用3个数据集验证模型的有效性,第一个数据集TweetSet是从包括不同主题类的twitter语料库中随机提取的5 450个数据。第二个数据集PaperSet来自Aminer-Paper语料库[21]。使用Kajjle比赛数据为第3个真实数据集。具体信息如表 1所示(L:数据集样本总数,V:数据集词典大小,K:数据集包含的类别总数)。
数据集 L V K TweetSet 5 450 4 383 3 PaperSet 890 2 400 3 Kajjle 12 122 15 440 20 -
通过其他4种流聚类算法和标准k-means算法作为实验的对比基线。包括:1)常用于新闻热点事件检测的Single-Pass数据流聚类算法——一种基于余弦相似度聚类数据的不可逆算法;2)最先进的聚类算法FGSDMM+[15]——基于Dirichlet多项式混合模型的数据流动态聚类算法,是传统GSDMM[14]模型的推广,采用吉布斯采样算法进行学习推论;3)最近提出的实时聚类算法RCADF[22]——基于数据特征匹配总数的实时聚类算法;4)经典的CluStream算法。对每个模型运行后取NMI、F值进行比较。
对真实数据集Kajjle进行3个时间窗的平均划分,时间窗中的超参数$\gamma {\rm{ = }}0.3$,$\alpha {\rm{ = }}0.05$,${\rm{iters = 5}}$,对比$\gamma {\rm{ = }}0.03$,${\rm{iters = 5}}$,${\rm{cluster\_strictness = 25}}$流式聚类算法Single-Pass、RCADF。跟踪算法的聚类过程,由图 4表示各算法聚类过程中簇的变化趋势,由图可知对比在3个时间窗中簇分别为8、7、5的数据而言SDCS模型表现更好,能自动获取各时间窗内8、6、6的新簇,表现出比其他模型更合理可靠的新类别发现能力,表明本文的半监督新类发现模式十分有效。表 2、表 3对应了各时间窗上各模型的NMI、F值,可见提出的算法优于其他模型,能力出众。
时间窗 SDCS Single-Pass RCADF T=1 0.363 0.209 0.344 T=2 0.598 0.117 0.438 T=3 0.627 0.276 0.402 时间窗 SDCS Single-Pass RCADF T=1 0.372 0.348 0.239 T=2 0.448 0.302 0.336 T=3 0.416 0.409 0.327 对3个数据集,除了在TweetSet、PaperSet中设置$\gamma {\rm{ = }}0.1$外其余保持不变,模型k-means和Clutream中设置与真实类别个数一致的$k$值。运行模型10次后各指标取平均值进行比较,结果如表 4、表 5所示。从实验结果看不管是对比经典的静态聚类算法k-means还是其他几种动态聚类算法,本文提出的模型表现更好。特别的它将属于“BUSINESS”类的文本“Fast-Food Chains With The Most Unhealthy Customers”、“The Most Damaged Brands In America”、“America's Disappearing Restaurant Chains”都正确聚到了一起,而Single-Pass、RCADF等算法错误地聚到了两个类。实验结果表明本文结合类别语义学习的算法对数据流进行的动态聚类是有效的,得到的聚类结果更符合实际情况。
模型 TweetSet PaperSet Kajjle Single-Pass 0.481 0.863 0.229 k-means 0.757 0.856 0.472 FGSDMM+ 0.702 0.497 0.467 RCADF 0.612 0.757 0.332 Clustream 0.402 0.339 0.312 SDCS 0.851 0.945 0.535 模型 TweetSet PaperSet Kajjle Single-Pass 0.713 0.925 0.206 k-means 0.818 0.890 0.332 FGSDMM+ 0.546 0.832 0.354 RCADF 0.693 0.807 0.256 Clustream 0.705 0.558 0.205 SDCS 0.925 0.980 0.415 综上所述,本文所提出的SDCS模型在文本动态聚类过程中,不仅引入了语义信息还允许人工的介入以半监督的方式生成更准确的类别个数。实验表明不管是在文本表征还是后面的类别语义学习,模型都更好地捕获了数据的信息而提高了聚类的准确度,并且模型结合半监督方法一起得到的聚类结果更符合实际情况。实验对比发现模型整体表现是最优的,具有先进性和有效性。