APP下载

基于GV—LDA的微博话题检测研究

2018-03-10李少华李卫疆余正涛

软件导刊 2018年2期
关键词:微博

李少华+李卫疆+余正涛

摘 要:随着社交网络的不断发展,微博成为越来越多的人获取信息的平台。为了有效解决微博话题检测中海量短文本带来的词稀疏问题,提出结合全局向量模型(GloVe)和潜在狄利克雷分布(LDA)的GV-LDA模型。在使用LDA进行话题检测前,模型利用多义词词项的含义与词性相关的事实,在标注过并去除低频词的语料上,对全局向量模型进行训练获得词向量,对词性相同且相似度大于阈值的词进行替换以解决稀疏性问题。实验结果表明, GV-LDA模型较传统的LDA主题模型,可有效提高话题检测的准确率和召回率,并降低“主题-词”处理的维度,因此GV-LDA更适合微博话题检测。

关键词:微博;话题检测;全局向量;潜在狄利克雷分布

DOIDOI:10.11907/rjdk.172432

中图分类号:TP319

文献标识码:A 文章编号:1672-7800(2018)002-0131-05

0 引言

随着信息技术的快速发展,社交网络信息量出现了爆炸式增长,人们可接触的信息越来越丰富,如何从海量信息中获取有效信息受到研究者越来越多的关注。

微博是一个基于用户关系的信息传播平台,可使用电脑或手机上的网页或应用,通过发布、评论、点赞、转发文字消息、照片或视频音频链接等方式,即时分享自己对事件的感受。微博作为一种新的网络媒体形式,已经成为普通民众分享、关注、获取所关心信息的重要平台。微博的字数限制在140字之内,更加契合忙碌运转的现代社会对写作和传播方式的需要,增加了人们创作的随意性。微博用户可以便捷地了解自己所关注的人和群组发布的消息,但无法及时掌握整个平台的热点话题。为此,需要将海量的微博信息进行组织和归并,从中提取话题,并以简洁而明确的形式予以展示。

利用微博的结构和内容信息,结合现有的话题检测技术,本文提出一套适合微博的话题检测方法,以更加有效地利用微博信息为用户提供更完善的信息服务。本文研究的主要问题包括共现窗口大小的确定、如何从词共现获得词向量、相似词归并中如何选定相似度阈值、如何通过文本得出话题等。

1 相关工作

Hofmann等[1]提出基于似然原理的生成模型PLSA(Probabilistic Latent Semantic Analysis,概率潜在语义分析),其基本思想是每个文档都是通过选择主题的分布,然后根据分布选择文档中的词语生成的。主题的数量有限,對应低维的语义空间,主题挖掘就是通过“降维”将文档从高维空间投影到语义空间。PLSA使用EM(Exception Maximization,最大期望算法)对模型进行求解,其计算复杂度小于SVD算法,因此PLSA在性能和扩展性等方面的表现优于LSA。但是PLSA在文档层面没有提供合适的概率模型,同时EM算法需要反复迭代,计算量依然很大。

Blei等[2]提出的LDA(Latent Dirichlet Allocation,潜在狄利克雷分布)在PLSA中加入了Dirichlet先验分布。在这个模型中,文档建模为主题潜在集合上的有限混合,而主题则建模为主题概率潜在集合上的无限混合。针对PLSA中过多的参数导致过拟合及难以对训练集外的文档分配概率等缺陷,LDA引入了超参数,形成“文档-主题-词”的三层贝叶斯模型,使用变分贝叶斯近似后验分布推导参数来挖掘文本主题。

ThomasL.Grffiths等[3]在LDA模型的参数推导阶段引入马尔科夫链-蒙特卡洛算法(Gibbs抽样),并使用贝叶斯模型的选择来确定主题数量。其对参数的推导过程更加快速,同时解决了变分贝叶斯方法中参数局部最优的问题。

微博与传统文本在结构和内容上有差异,传统的话题检测方法不能很好地对其建模。为此,研究者纷纷提出新的模型,LDA模型在传统文本话题检测中表现卓越,多数模型基于LDA模型进行改进。

孙胜平[4]提出在空间向量模型中使用SP&HA聚类算法用于微博话题检测。总体思想是:首先使用归一化TF-IDF函数计算特征权重,然后使用余弦法则计算文本的相似度,接着在话题初步检测中采用Single-Pass增量聚类算法,对与话题相似度高于阈值的文本进行归并,最后在话题合并环节采用自底向上的凝聚式层次聚类算法,不断合并相似度矩阵中相似度最大的两个文本,得到满足相似度预设值的话题类。

张晨逸等[5]综合考虑微博文本包含的社交网络结构化信息进行统一建模,提出MB-LDA微博生成模型。该模型基于如下假设:与同一个用户有关联的微博主题相关;转发的微博与原创微博主题相关。对以@开头的对话微博,模型抽样出@的联系人与各个主题的关系,并赋值给微博与主题之间的关系;对转发微博,模型从伯努利分布中抽取参数确定的多项式分布,抽样出当前单词所属主题;对原创微博,则使用LDA模型生成,然后使用吉布斯抽样得出模型参数,最终获得微博语料上的话题分布。

黄波[6]针对微博的结构和内容特点,利用LDA模型提取文本隐含主题,同时使用VSM计算文本向量的特征权重,并在计算文本相似度阶段,通过实验确定两种模型得出的相似度进行线性叠加权重,最后通过两层聚类得出微博话题。

郑磊[7]为了解决LDA模型需要预先确定话题个数而难以拟合微博话题分布的问题,选择设定较大的话题数,然后利用层次聚类算法需事先确定类别个数的特点,对LDA的输出进行聚类,同时引入互信息度量微博话题词之间的依存关系,使得模型能够动态地由话题词的相关性生成话题。

路荣等[8]提出的微博新闻话题发现方法,首先利用LDA得出主题-文档分布,然后在每个时间窗口内根据新闻的特点给单义词单元评分,并对每个微博中单义词单元得分累加得到的总分排序,获得若干可能的新闻微博。接着用K均值和层次聚类的两层聚类,对选取的微博文本进行聚类,从而检测出新闻话题。该方法能有效解决微博文本的稀疏性问题,具有良好的扩展性。endprint

谢昊等[9]通过对原创和转发两种类型的微博结构和内容分析,得出原创微博主题由微博本身确定,而转发微博主题由转发的原创微博内容确定的结论。提出了基于LDA主题模型的RT-LDA模型,从作者的主题分布中抽取原创微博主题,并将溯源到的最终的原创微博主题作为转发微博的主题,并采用吉布斯抽样法推导模型参数,最终得出微博的主题和用户的主题分布。

刘嘉等[10]针对微博中新词不断出现,传统模型无法对新词相关的话题有效建模的问题,提出首先使用经过标准语料库训练各层隐马尔科夫模型的CHMM(Cascaded Hidden Markov Model,层叠隐马尔科夫模型)发现新词,然后使用微博语料和更新过的词典作为LDA模型输入的改进LDA模型。该模型能够使社交网络环境下的话题检测结果更加准确全面。

李卫疆等[11]为了解决传统话题模型无法对稀疏的短文本有效建模的问题,使用BTM模型将微博文本转换为词对形式,以获取微博语料库上的话题分布,并使用吉布斯抽样推导模型参数,最后进行K-means聚类以获取区分度良好的话题。在新浪微博数据集上的实验表明,该模型话题检测的F值优于LDA模型。

郭蓝天等[12]为了解决微博数据集的高维性及主题不明确问题,提出结合CBOW神经网络语言模型和LDA主题模型的CBOW-LDA主题建模方法。模型首先使用CBOW(Continuous Bag-of-Word,连续词袋模型)得出词向量,然后对相似度大于相似度阈值的词语进行聚类,接着从相似词聚类中抽取词语替换词表和语料中的其它项,接着将处理过的词表和语料作为LDA主题模型的输入进行话题检测。实验结果表明,该话题检测方法能有效降低LDA模型的困惑度。该模型能够发现词项之间的相关关系,但是不能有效处理一词多义问题,同时相似度阈值的选择缺乏说服力。

2 基于GV-LDA的话题检测

2.1 GV-LDA算法框架

本文针对CBOW-LDA中存在的问题,提出GV-LDA模型,其核心思想是结合一词多义通常与词性相关的实际情况,首先对微博语料进行标注,然后使用较CBOW模型更为快速高效的GloVe模型(Global Vector,全局向量模型)进行词表示,分别在多个相似度阈值下对相似度大于阈值且词性相同的词进行聚类,接着从相似词聚类中抽取频率最大的词语替换词表和语料中同一簇的其它项,以降低LDA模型的处理维度。将处理过的词表和语料作为LDA主题模型的输入进行话题检测,過程如图1所示。

2.2 文本向量化

GloVe语言模型是J Pennington等[13]于2014年提出的一种基于全局log-bilinear的语言模型,它结合了整体矩阵分解和局部内容窗口的优点,通过训练非零元素的词共生矩阵,有效利用统计信息,产生一个具有意义子结构的向量空间。通过词向量在多个维度上的差异表示词项在语义上的相似度。

Pennington通过实验表明,词向量学习更合适的起始点应该是词共现概率之比而非词共现概率本身。使用X表示词共现计数,Xij表示词j在词i的上下文中出现的次数,wi表示词i的词向量,j为另一个神经网络实例生成的独立的上下文词向量。词向量与共现矩阵统计量的关系可以表示为:

式(1)结合了多个神经网络实例并对其进行合并,可以降低过拟合和噪声,一般情况下可改进结果。wi为目标词向量,j为另一个神经网络实例生成的独立的上下文词向量。词i、词j在彼此的上下文窗口内,角色可互换,加入两个词向量的偏移量bi,j,以保证方程的对称性。方程右侧是对窗口内全局共现的统计,对方程(1)进行因式分解,得到的词向量既包含全局统计信息又包含局部上下文信息。

低频词共现通常为噪声,相比高频词共现携带较少的信息。移除频率低于阈值的词共现可有效减少词汇表大小。词向量的目标是避免常用词权重过大。

通过把式(1)转化为一个最小平方问题并引入权重函数f(Xij),可以有效解决上述问题。加权最小平方回归模型为

对模型进行优化即得词向量。

2.3 文本模型表示

LDA主题模型是包含文档-主题-词语3层的贝叶斯模型,在这个模型中,文档被建模为主题潜在集合上的有限混合,而主题则建模为主题概率潜在集合上的无限混合。在LDA模型中使用吉布斯抽样得出模型参数后,便可由生成规则得到文-主题分布和主题-词分布。文本和主题的生成规则得到文本的主题结构。GV-LDA中LDA模型的输入是经过相似词聚类的文档和词表,降低了LDA主题模型的处理维度,使得待检测的主题更加明确。

LDA主题模型采用概率的产生式模型对文本进行建模,每篇文本是由服从参数为θ多项式分布的主题混合而成,θ满足参数为α的对称狄利克雷先验分布;每个主题又是由服从参数为φ多项式分布的词汇混合而成,φ满足参数为β的对称狄利克雷先验分布。

一个文本中所有单词与其所属主题的联合概率分布如式(8)所示:

LDA生成文本的过程见图2。①从主题的狄利克雷先验Dirichlet(β)中为每个主题t_i抽取多项式分布Multi(φ);②从文档的狄利克雷先验Dirichlet(α)中为每个文档dm抽取多项式分布Multi(θ);③对语料库中所有文档dm和文档中所有词汇wn:从多项式分布Multi(φ)中抽取主题tk;从多项式分布Multi(θ)中抽取词wn。

LDA建模的目的是求得参数θ和φ的值,进而得出文本-主题分布和主题-词分布。可以使用Gibbs抽样构造收敛于目标概率分布的Markov链并从中抽取样本估算参数。

Gibbs Sampling每次选取概率向量的一个维度,给定其它维度的变量值抽样得到当前维度的值。随着迭代的进行,Gibbs Sampling对参数的改变越来越小,通常选取一定的迭代次数作为循环终止条件,Gibbs Sampling过程如图3所示。endprint

3 实验结果与分析

3.1 评价指标

采用的评价指标包括文本及常用的困惑度和准确率、召回率、F1指标。

困惑度Perplex是用于生成测试数据集的词表大小的期望值,困惑度越小,表明语言模型吻合度越好。

式(9)中,wm为测试集文档m中可观测到的单词,p(wm)表示模型产生文本wm的概率,Nm为文档m的词项数。

准确率p指文本分类正确的样本数与所有分类文本数的比值:

召回率r是文本分类正确的样本数与该类的实际文本数比值:

式(10)、(11)中,a是正确分类的样本数,b是不属于该类但划分到该类的样本数,c是属于该类但未划分到该类的样本数。

3.2 数据集

本文采用的数据集为新浪关键词语料,包含30个主题,共211 413个json文件,其中的汉字表示为16进制的unicode编码,以uXXXX(X表示十六进制数字)的形式出现。文件编码为UTF-8无BOM。文件包含以“#”的话题信息、用户链接、用户名、转发列表、用户发布内容的ID(mid)、用户发布的内容及发布时间等信息,其中转发列表包括各转发用户的用户名、转发内容、转发字符串、转发时间和转发用户的用户链接。转发用户的转发内容为转发时的评论,默认为“转发微博”。转发用户的转发字符串为转发用户的用户名加上转发内容、点赞信息、转发时间及转发用户的客户端信息。转发评论非默认内容的,视为统一话题下的新微博。

3.3 数据集预处理

数据集本身包含的是原始微博数据,在使用模型分析之前需要进行预处理:编码转换、去除标记、分词、标注、去低频词。其中停用词出现频率高但携带的语义信息较少,而低频词学习的向量置信度不高。通过编码转换取得微博内容,去除不可解读的文件,得到11 246个json。

3.4 实驗步骤与参数设置

去除微博标记后,使用LTP进行分词和标注,再依据词项的频率去低频词,低频词的阈值为5。在不同的相似度条件下比较CBOW-LDA和GV-LDA的Perplexity。词向量聚类中相似度的取值范围为0.7~0.95,间距为0.05.Word2Vec、GloVe、LDA的参数设置见表1、表2、表3。

3.5 实验结果与分析

在相同的参数设置和语料下,通过计算不同相似度阈值时的困惑度度量GV-LDA和CBOW-LDA模型的处理效果。两种方法困惑度随相似度的变化情况如图4所示。

可以看出,模型的困惑度随相似度阈值的增加先减少后增加,GV-LDA的困惑度在0.8~0.9范围内优于CBOW-LDA,且在相似度阈值为0.8时,GV-LDA模型取得最小困惑度。

取相似度阈值为0.8,对词表聚类后,词表大小由原来的324 438减少到63 725,有效减少了LDA阶段的运算时间。LDA阶段取相同参数,分别使用GV-LDA和Gibbs-LDA进行话题检测。GV-LDA和Gibbs-LDA++在30个主题上进行话题检测的准确率如图5所示,其中GV-LDA的平均准确率为77.69%,Gibbs-LDA++的平均准确率为70.51%。

GV-LDA和Gibbs-LDA++在30个主题上进行话题检测的召回率如图6所示,其中GV-LDA的平均召回率为77.09%,Gibbs-LDA++的平均召回率为69.24%。

根据之前得出的准确率和召回率,计算GV-LDA和Gibbs-LDA++在30个主题上进行话题检测的F值如图7所示,其中GV-LDA的平均F值为77.35%,Gibbs-LDA++的平均F值为69.79%。

从结果可以看出,本文GV-LDA方法的处理结果较Gibbs-LDA++有明显改善,虽然额外的GloVe阶段耗时较长,但相似词分析可以使用维基中文语料等通用语料,复用性强,因此GV-LDA方法实用价值很高。

4 结语

本文针对微博中短文本信息的特点,将文本深度表示模型的GloVe方法与LDA主题模型结合进行文本建模,将文本向量化表示,然后对LDA模型的输入进行文本向量聚类。通过比较不同阈值下的GV-LDA和CBOW-LDA模型的困惑度,得出GV-LDA能有效减少话题检测中困惑度的结论,并得出最佳相似度阈值。通过与LDA模型在准确率、召回率、F值等指标上的对比,显示该模型与LDA比较在话题检测方面有较大改进。

参考文献:

[1] HOFMANN T. Probabilistic latent semantic indexing[C].Proc of the 22nd Annual Int ACM SIGIR Conf on Research and Development in Information Retrieval. New York: ACM, 1999:50-57.

[2] BLEI D M, NG A Y, JORDAN M I. Lantent Dirichlet Allocation[J]. The Journal of Machine Learning Research, 2003(3): 993-1022.

[3] GRIFFITHS T L, STEYVERS M. Finding scientific topics.[J]. Proceedings of the National Academy of Sciences of the United States of America, 2004, 101 (1):5228-5229.

[4] 孙胜平.中文微博客人电话检测与跟踪技术研究[D].北京:北京交通大学,2011.

[5] 张晨逸,孙建伶,丁轶群.基于MB-LDA模型的微博主题挖掘[J].计算机研究与发展,2011,48(10):1795-1802.

[6] 黄波.基于向量空间模型和LDA模型相结合的微博客话题发现算法研究[D].成都:西南交通大学,2011.

[7] 郑磊.微博客话题检测的研究与实现[D].哈尔滨:哈尔滨工业大学,2012.

[8] 路荣,项亮,刘明荣,等.基于隐主题分析和文本聚类的微博客中新闻话题的发现[J].模式识别与人工智能,2012,25(3):382-387.

[9] 谢昊,江红.一种面向微博主题挖掘的改进LDA模型[J].华东师范大学学报:自然科学版,2013(6):93-101.

[10] 刘嘉,王庆林,刘禹,等.一种适合社交网络的短文本主题发现方法[C]. 中国控制会议 , 2014.

[11] 李卫疆,王真真,余正涛.基于BTM和K-means的微博话题检测[J].计算机科学,2017(2):257-261.

[12] 郭蓝天,李扬,慕德俊,等.一种基于LDA主题模型的话题发现方法[J].西北工业大学学报,2016,34(4):698-702.

[13] J PENNINGTON,R SOCHER,C MANNING. Glove: global vectors for word representation[C]. Conference on Empirical Methods in Natural Language Processing, 2014:1532-1543.endprint

猜你喜欢

微博
何以解忧?基于社交媒体大数据的睡眠健康公众叙事研究
打造医院里的“主流媒体”
事实与流言的博弈
重大突发事件中微博之力不微