根据CNNIC《中国互联网信息中心》的第43次中国互联网发展状况统计报告,截至2018年12月,我国网民规模达8.29亿,普及率达59.6%[1]。随着互联网和智能手机技术的快速发展,每个人都成为了信息的制造者、传播者和分享者。作为社交娱乐、新闻来源和信息传播的主要渠道之一,微博已经成为越来越受欢迎的平台,微博的用户群体庞大,每天都产生海量的数据,相比传统的媒体(如报刊、电视、广播),人们可以在微博上及时获得社会上的热点话题,因此,吸引了大量的研究者进行研究,并取得了大量的研究成果。对于热点话题的研究不仅可以帮助政府发现网络舆情并监管网络舆情的走向;还可以帮助企业了解消费者的需求,及时调整公司的营销战略;还可以帮助用户更好地提升阅读的体验,及时了解国家大事、社会热点事件。因此,对微博的话题发现进行研究具有重要的意义。

1 国内外研究现状

TDT(Topic Detection and Tracking)是美国国际高级研究计划局(DARPA)发起倡议的,主要用于在新闻报道流中发现和跟踪新事件。传统的话题检测技术在长文本中可以得到很好的结果,但是在微博短文本中很难得到好的效果。这是由于微博短文本的稀疏性问题,以及网络用语不规范化、口语化严重,且文本中包含表情符号、图片、视频,这给微博话题的发现带来了极大的挑战。

TDT的核心思想是将类似的文档聚集在一起形成主题。针对微博短文本热点话题发现的方法主要有以下3种:基于统计分析、学习模型分析和改进相似度度量的方法。基于统计分析的方法中,研究者们认为在微博平台上,热点事件往往在短时间内引起很多人的关注,会导致大量的评论和转发信息。根据这一特征,学者们统计给定时间内话题关键词出现的频率来检测热点话题。文献[2]中Zheng Jun 等提出了一种通过划分时间窗,并根据每个时间窗中微博数据词频增长率和相对词频的两个因素提取微博数据的主题词,从而聚类得到热点话题的方法。文献[3]中BENNY A通过使用特定的关键字收集tweet,然后对其进行汇总以找出与该关键字相关的主题。文献[4]中张雪松等针对传统文本聚类方法忽略词之间的语义关系问题,提出了一种基于频繁词集的文本聚类方法,得到更好的聚类效果。

在基于学习模型分析的方法中,主要是通过对传统的LDA主题模型的改进来挖掘潜在主题进行热点话题检测。文献[5]中LIU G提出了将微博的时间属性和标签属性引入到LDA模型中的多属性潜在狄利克雷分配(MA-LDA)模型。文献[6]石磊等提出一种基于循环神经网络和主题模型的突发话题发现(RTM-SBTD)方法,结果表明所提出的方法在多种评价指标上优于对比方法。文献[7]中车蕾提出了一种多特征融合文本聚类方法,来发现新闻话题。文献[8]中曾祥坤等提出了一种文本主题提取模型和技术,解决以往交通事故统计中交通违法行为难以挖掘的问题,以实例验证了该模型的有效性。

基于改进相似度度量的方法中,研究者们运用不同的方法以得到更好的结果。文献[9]中ZHAO Y等针对传统新闻话题检测忽略其他属性的问题,提出了将文本与时间相似度结合起来的热点话题检测方法。文献[10]中黄建一提出了一种基于上下文相似度矩阵的Single-Pass短文本聚类方法。文献[11]中李勇等针对现有话题检测技术的不足,利用VSM和LDA模型对微博文本数据进行混合建模,融合微博社会关系,提出了SPWSR聚类算法进行热点话题发现。文献[12]中MA R等人提出一种结合过滤数据和基于特征词的文本相似度改进的方法,提高了聚类的精度。文献[13]中李征提出了一种基于改进文本相似度计算的聚类方法,并且得到了很好的效果。

综上前3种微博话题的检测研究虽然在一定程度上提高了话题发现的准确性,但是未能很好地解决微博短文本存在的高维稀疏的缺陷。因此,本文在现有的研究基础上,根据微博短文本的特点,提出了一种特征融合的文本表示方法。首先,对微博文本数据集进行预处理,然后使用基于词对的向量空间模型(Biterm_VSM)代替传统的向量空间模型对文本进行建模;同时为减少后面聚类过程中语言二义性对聚类准确度产生的影响,本文引入LDA主题模型对微博文本进行建模,利用主题模型的优点挖掘出微博短文本中潜在的语义知识。最后结合词对向量空间模型和LDA主题模型,将基于统计的方法和基于学习模型的方法融合为一体,达到提高微博短文本聚类质量的目的。分析了常用的几种聚类算法的特点后,本文选择了划分聚类算法的经典模型K-means算法,并且把上一步得到的融合特征输入到K-means聚类算法中,进行微博话题聚类。

2 相关介绍

为解决传统的话题检测方法在微博短文本上存在的缺陷,文中使用词对向量空间模型(Biterm_VSM)来替代传统的向量空间模型(VSM),并与LDA主题模型进行结合,更好地进行话题发现。

2.1 词对向量空间的基本概念

在一句文本中,往往仅用少量的词就可以充分地表示这个句子的语义,因此考虑使用多个词作为一个文本的基本单元,但是同时带来的是高维度,使得模型过于复杂[14]。所以本文使用在一句文本中共现的词对作为文本表示的基本单位。

基于特征融合的K-means微博话题发现模型

这个文本预处理之后为“重庆|ns路|n公交车|n人|n争执|v秒|n互殴|v个人|n错过|v站|n错过|v后半生|n愿|v逝者|n安息|v”。这个文本产生的词对集合为{(重庆,路),(重庆,公交车),…,(逝者,安息)}。由于数据集中的词对比词在文本中出现的频率要低,因此其权重不使用词对的词频-逆文档频率值(Vtf-idf)来表示,而是由词对中两个词的Vtf-idf的和来表示:

2.2 LDA基本概念

话题发现模型应用最广泛的是基于词袋理论的层次贝叶斯模型-隐含狄利克雷分布监督话题模型LDA,它可以计算出每篇文档的主题概率分布[15-16]。在LDA主题模型中假设文档是多个潜在隐含主题上的混合分布,文档中的词语属于各个主题。LDA概率模型图如图1所示。

基于特征融合的K-means微博话题发现模型

基于特征融合的K-means微博话题发现模型

2.3 文本聚类算法介绍

文本聚类的主要算法有6种[7],分别为基于层次的、基于密度的、基于网格的、基于模型的、基于图论的和基于划分的聚类算法。层次聚类算法是通过对数据集合按照某种指定的方式进行层次划分,直到满足某种收敛或者满足某种符合的条件时算法停止,层次聚类算法分为凝聚式层次聚类和分裂式层次聚类;基于密度的算法是基于密度的,不同于其他的聚类算法是基于不同距离计算方式计算数据对象之间的距离,克服了基于距离算法只能发现一定距离内的类簇的局限性;基于网格的算法是通过将数据空间形成有限的数目的网格单元,然后在这些网格单元中进行聚类运算;基于模型的算法是对数据建立数学模型,并将数据集合与该模型进行拟合;基于图论的聚类方法通过对样本数据的拉普拉斯矩阵的特征向量进行聚类,从而达到对样本数据聚类的目的;基于划分的算法是首先将数据分为K组,通过迭代的方法将数据划分到不同的分组中,使得最终的分组满足一定的条件,类簇间达到最大距离,类簇内达到最小距离。

3 基于特征融合的微博话题发现模型

3.1 基本流程

本文方法的基本流程如图2所示,主要包括数据采集、数据预处理、文本建模、计算相似度、基于K-means算法进行文本聚类、聚类得到相应的微博话题。其中,文本建模过程包括:Biterm_VSM特征词建模、LDA的主题建模。计算相似度包括:计算基于词对特征值的文本相似度、计算基于主题的文本相似度。

基于特征融合的K-means微博话题发现模型

3.2 特征融合的文本相似度计算

在本文中,确定文本相似度是进行下面文本聚类分析的关键一步。本文采用线性组合的方式将基于TF-IDF的词对向量空间模型和基于LDA主题模型结合,得到文本相似度,即本文的特征融合文本相似度。

线性结合的公式如式(5)所示:

式中,simBiterm_vsm(d1,d2)为两个文本间词对向量空间模型的文本相似度,simLDA(d1,d2)为两个文本间主题向量空间模型的文本相似度。

3.2.1 词对向量空间模型文本相似度计算

不同的模型需要用不同的相似度计算方法,采用词对的标准化TF-IDF值来衡量词对向量空间模型中的文本,采用欧氏距离来计算文本的相似度。

计算公式如式(6)所示:

其中,t1和t2分别为两个文本,xi为文本t1的第i个特征向量,yi为文本t2的第i个特征向量。

在词对向量空间模型中,文本向量的每个特征向量(词对)W的计算公式是式(1)。

3.2.2 主题向量空间模型文本相似度计算

采用服从Dirichlet分布的主题概率向量来表示LDA主题模型中的文本,同样采用欧氏距离来计算文本的相似度,公式如式(7)所示:

其中,p和q为两个文本的主题概率分布,ai和bi为两个文本中主题θi的概率分布。

3.3 特征融合的文本聚类算法

本文聚类算法采用的是经典算法K-means算法[18],该算法思想简单,易于实现,可以快速有效地处理大规模数据。

K-means聚类算法的基本思想如下:

输入:簇数目K,特征融合的文本向量矩阵

输出:簇的集合D

步骤:

(1)从集合D中随机选择K个数据点作为话题簇的初始聚类中心点;

(2)计算每个微博向量与聚类中心点的距离,并将该微博向量分配到最近的中心点;

(3)重新计算K个簇的聚类中心并更新;

(4)重复上面的2个过程,直到话题簇的中心点不再变化,或者达到收敛的条件停止算法;

(5)输出聚类簇的结果。

4 实验

4.1 实验环境

本文的实验是利用PyCharm平台下的Python语言实现的。所有实验均在一台操作系统为64位的Windows 10家庭中文版的Lenovo台式电脑上,处理器为Inter CoreTMi7-7700 [email protected] GHz 3.60 GHz,内存为8 GB。

4.2 实验数据

通过使用八爪鱼爬虫工具,采用关键词爬取的方式采集2018年10月29日-2018年11月4日期间的12个新浪微博的话题数据共11 289条。

为了提高后续聚类检测的速度和准确率,应该尽可能剔除垃圾数据,并在分词之前过滤掉微博文本中的无用信息。

(1)微博账号中有一些“僵尸账号”。这些微博用户发布的微博数很少,粉丝也很少,有些甚至接近于0。

(2)“@用户”等信息具有主题的指向性或用户对话。这种对话是一般性的,与热门话题无关。根据一些官方微博和大V,众所周知,微博的热门话题很少涉及特定的用户。因此,应该去掉“@用户”以提高检测的准确性。

(3)按照上述的步骤对微博文本进行处理后,采用Jieba分词工具对文本进行分词。Jieba分词是Python语言的一个中文分词包,不仅可以分词,还可以进行词性标注,不同的词性在语篇中起着不同的作用。主题的表达和关键功能的识别是动词、名词。形容词、介词、虚词和数字等表达效果要低得多。因此,要保留动词、名词、地名词,其余的词均删除,可以使得文本建模过程中的维度进一步降低。

4.3 评价指标

话题发现是一个聚类的过程,而且实验使用的数据是无标签的,因而无法使用类似于分类过程中的评价体系,例如准确率、精确率、召回率以及由精确率和召回率得到的F1值。因此本文实验的评价指标采用的是聚类的一种评价指标——调整兰德系数(Adjusted Rand Index,ARI)。

兰德系数(Rand Index,RI),RI取值范围为[0,1],值越大意味着聚类结果与真实情况越接近。

基于特征融合的K-means微博话题发现模型

其中,E(RI)为兰德系数的平均值,max(RI)为兰德系数的最大值。

4.4 对比试验

4.4.1 实验1

本文的对比实验1分别由下面的4部分组成:

(1)采用基于词特征的传统向量空间模型对微博文本进行表示,并由K-means聚类算法进行进行聚类实验;

(2)采用基于词对特征的向量空间模型对微博文本进行表示,并由K-means聚类算法进行进行聚类实验;

(3)采用基于主题向量空间模型对微博文本进行表示,并由K-means聚类算法进行进行聚类实验;

(4)采用基于词对特征向量空间模型和基于主题向量空间模型融合来对微博文本进行表示,并由K-means聚类算法进行聚类实验。

实验结果如图3所示。

基于特征融合的K-means微博话题发现模型

图3中显示了特征融合模型(Biterm_LDA)与其他模型(VSM、Biterm_VSM和LDA)的评价指标对比情况。从图3中可以看出,结合了Biterm_VSM模型和LDA模型的Biterm_LDA模型比单纯的VSM的性能要优;单独使用Biterm_VSM模型和LDA模型性能差不多;相比于前3个模型,本文提出的特征融合模型的性能是最优的。

4.4.2 实验2

本文的实验2是主题为不同K值况下采用本文方法的对比情况,实验结果如图4所示。

基于特征融合的K-means微博话题发现模型

从图4中可以看出,当主题的数目越接近真实的微博话题数目时,效果越来越好;当主题的数目超过真实的微博话题数目时,效果越来越差。因此,主题模型K值的设定是很重要的。从实验结果中可以看出,当K=12时,得到的聚类结果是最好的,而且和实际的微博话题数目是最接近的,说明本文提出的模型是有效的。

4.4.3 实验3

本文的实验3为K-means算法与密度聚类的DBCAN算法、谱聚类算法和凝聚式层次聚类算法3种算法之间的对比实验,并且是在主题的数目K=12的情况下进行的。实验结果如图5所示。

基于特征融合的K-means微博话题发现模型

从图5中可以看出,本文提出的模型在微博短文本上,K-means聚类算法比其余的3种算法效果表现更好,分析可知,DBSCAN密度聚类算法对噪声数据比较敏感,而且对参数的设置要求也较高,因此得到的结果有很大的差异。谱聚类和凝聚式层次聚类在本文数据上的性能表现没有K-means聚类算法好。

5 结论

本文针对传统话题检测方法的缺陷,提出了一种改进的特征融合短文本聚类的微博话题发现模型,改进了传统的向量空间模型对微博短文本的表示方式,引入词对向量空间模型,并结合主题空间模型在潜在语义挖掘上的优点,提高了微博话题发现的准确性。实验结果表明,改进的特征融合模型具有更优的话题发现效果。

虽然词对比词更能表达文本的语义信息,但是微博短文本数据集中词对的数量要远远多于词的数量,这会造成文本转化为向量时的维度过高。而且K-means聚类算法对初始聚类中心点较为敏感,对最终的聚类结果有影响,因此下一步的工作方向就是解决主题K值的自适应和K-means聚类算法初始中心点选择的问题。

参考文献

[1] 中国互联网信息中心.第43次中国互联网络发展状况统计报告[R].北京:中国互联网信息中心,2019.

[2] Zheng Jun,Li Yuanjun.A hot topic detection method for Chinese Microblog based on topic words[C].International Conference on Information Technology & Electronic Commerce,2015.

[3] BENNY A,PHILIP M.Keyword based tweet extraction and detection of related topics[J].Procedia Computer Science,2015,46(46):364-371.

[4] 张雪松,贾彩燕.一种基于频繁词集表示的新文本聚类方法[J].计算机研究与发展,2018,55(1):102-112.

[5] LIU G,XU X,ZHU Y,et al.An improved latent Dirichlet allocation model for hot topic extraction[C].2014 IEEE International Conference on Big Data and Cloud Computing(BdCloud).IEEE Computer Society,2014.

[6] 石磊,杜军平,梁美玉.基于RNN和主题模型的社交网络突发话题发现[J].通信学报,2018,39(4):189-198.

[7] 车蕾,杨小平.多特征融合文本聚类的新闻话题发现模型[J].国防科技大学学报,2017,39(3):85-90.

[8] 曾祥坤,张俊辉,石拓,等.基于主题提取模型的交通违法行为文本数据的挖掘[J].电子技术应用,2019,45(6):41-45.

[9] ZHAO Y,ZHANG K,ZHANG H,et al.-Hot topic detection based on combined content and time similarity[C].2017 International Conference on Progress in Informatics and Computing(PIC),Nanjing,2017:399-403.

[10] 黄建一,李建江,王铮,等.基于上下文相似度矩阵的Single-Pass短文本聚类[J].计算机科学,2019,46(4):50-56.

[11] 李勇,张克亮.面向LDA和VSM模型的微博热点话题发现研究[J].自动化技术与应用,2016,35(8):52-57.

[12] MA R,XU P,LI L,et al.Hotspot detection in social media based on improved strategy clustering[C].International Conference on Big Data,2019.

[13] 李征,李斌.一种基于改进相似度计算的文本聚类方法[J].河南大学学报(自然科学版),2018,48(4):415-420.

[14] 张文博,米成刚,杨雅婷.基于词对向量的中文新闻话题检测方法[J].厦门大学学报(自然科学版),2019,58(2):231-236.

[15] BLEI D M,NG A Y,JORDAN M I.Latent Dirichlet allocation[J].The Journal of Machine Learning Research,2003,3(4/5):993-1022.

[16] ZHANG Q,SUN Y.The collocation model based on LDA[C].SPIE Sixth International Conference on Electronics and Information Engineering,Dalian,China,2015.

[17] 谭梦婕,吕鑫,陶飞飞.基于多特征融合的财经新闻话题检测研究[J].计算机工程,2019,45(3):293-299,308.

[18] 张杰,卓灵,朱韵攸.一种K-means聚类算法的改进与应用[J].电子技术应用,2015,41(1):125-128.

作者信息:

李海磊1,杨文忠1,2,李东昊1,温杰彬1,钱芸芸1

(1.新疆大学 信息科学与工程学院,新疆 乌鲁木齐 830046;

2.中国电子科学研究院 社会安全风险感知与防控大数据应用国家工程实验室,北京 100041)

相关文章