基于相似关系和共现关系的话题流行度预测方法与流程

文档序号:11276553阅读:339来源:国知局

本发明属于社交网络大数据技术领域,具体涉及一种基于相似关系和共现关系的话题流行度预测方法。



背景技术:

微博作为当今最为流行的在线社会网络形式之一,近几年得到了迅速发展,它是一种互动及传播性极快的平台,传播速度甚至比一般社会网络和媒体都要快。微博的出现,很多新闻事件和热点话题在微博网站得以快速、广泛地传播,成为网民获取信息、分享信息、交友的重要平台。用户发表话题根据其作者、内容的不同,将会受到不同程度的关注,为了更好地将有价值、流行度较高的话题推荐给用户,对话题流行度进行合理排序,有必要对用户发表的话题流行度进行合理预测。然而,话题流行度预测是一个具有挑战性的研究课题,涉及的方面很多,目前尚未有成熟的方案。参考文献[1]首先发现了在线内容在早期和晚期热度的对数值之间的强线性关系,基于此发现,他们提出了szabo-huberman模型来预测在线内容的热度。该方法虽然发现了流行度之间的数值关系,但仅针对具体数值,而在实际应用中,更关心的是内容的流行程度而不是具体数值。

参考文献[2]提出了适合长期预测的算法,基本思想是对待预测的话题,假设其历史热度曲线,根据与它历史热度曲线最相似的其他话题的热度曲线来预测话题未来的变化趋势,该方法的不足之处是无法应对短期预测的问题。

参考文献[3]提出了一种基于k近邻的预测帖子流行度方法,它以帖子的点击数作为流行度的衡量标准,根据与话题相似的k个话题的流行度情况预测话题的发展趋势。该方法采用的是向量空间模型表示,在找出最相似的k个话题上存在较大的误差。

参考文献[4]提出一种基于k近邻和lda模型(latentdirichletallocation)的预测方法,该方法除了考虑了近邻方法还加入了对作者兴趣特征的考虑。该方法虽然采用lda模型,弥补了向量空间模型的问题,但是没有加入话题之间的共现关系的考虑,共现话题存在一定的逻辑关联,对于话题流行度预测具有重要的作用。具体参考文献如下:

[1]szabog,hubermanba.predictingthepopularityofonlinecontent.2010

[2]gaoh,wangss,fuy.predictionmodelforlong-termdevelopmenttrendofwebsentiment.2011

[3]nierl,chenl,wangyq,et,al,algorithmforpredictionofnewtopic’shotnessusingthek-nearestneighbors.2012.

[4]wangwj,chenl,wangyq,et,al,algorithmforpredictionofpost’shotnessusingk—nearestneighborsandlatentdirichletallocation.2014.



技术实现要素:

为解决上述技术问题,本发明通过流行度定义、相似关系的分析、共现关系的分析和话题流行度预测,基于相似关系和共现关系对话题流行度进行了预测,提出了一种话题流行度预测方法。具体技术方案如下:

一种基于相似关系和共现关系的话题流行度预测方法,包括以下步骤:

(s1)输入文档集合,通过lda建模分析得到话题集合、每个话题的词汇分布和每个文档的话题分布;

(s2)针对任一个话题za,根据话题za的词汇分布,通过kl散度法计算话题za与其他话题的相似关系,即话题za的相似向量;

(s3)针对任一个文档d,根据文档d的话题分布,将文档d中的话题按照分布概率值进行降序排列,取出概率最大的3个话题作为文档d的代表性话题,并计算话题za与其他话题的共现关系,即话题za的共现向量;

(s4)定义流行度,并计算话题的流行度;假设给定一个微博c,记微博c的发表时间为0时刻,则在t时刻的转发次数记为r(c,t),即微博c在时刻t的流行度;设话题za包含若干条微博,记话题za中第一条微博的发表时间为0时刻,则在t时刻的属于该话题za的所有微博转发次数之和记为r(za,t),即话题za在时刻t的流行度;定义r(za,t1)表示话题za在t1时刻的流行度,r(za,t2)表示话题za在预测时刻t2的流行度,t2>t1,则计算评价中间量q:

q=r(za,t1)/r(za,t2);

设定三个阈值p1、p2、p3,且p1<p2<p3,将流行度分为四个类别,具体为,

如果q<p1,则为l1类;

如果p1≤q<p2,则为l2类;

如果p2≤q<p3,则为l3类;

如果q≥p3,则为l4类;

(s5)计算话题za基于相似关系的流行度;

(s6)计算话题za基于共现关系的流行度;

(s7)根据步骤(s5)和步骤(s6)的计算结果,分别计算话题za在l1、l2、l3、l4四类情况下的概率值,选择概率值最大的类别作为该话题za的最终流行度。

优选地,所述步骤(s2)中通过kl散度法计算话题za与其他话题的相似关系具体为:

similarity(za)={(z1,ws-a1),(z2,ws-a2),…,(zm,ws-am)}

其中,similarity(za)表示话题za的相似向量,zi表示第i个话题,ws-ai为第i个话题对应的相似权重,i=1,2,…,m且i≠a,m表示话题总数,i取整数。

ta表示话题za的词汇分布,ti表示话题zi的词汇分布,n为词汇总数,log表示以10为底对数的简写,ta(vh)表示词汇分布ta在词汇vh时的概率值,tp(vh)表示词汇分布tp在词汇vh时的概率值,h=1,2,…,n。h取整数。

优选地,所述步骤(s3)中计算话题za与其他话题的共现关系具体为:

cooccurrence(za)={(z1,wc-a1),(z2,wc-a2),…,(zm,wc-am)}

其中,cooccurrence(za)表示话题za的共现向量,zi表示第i个话题,wc-ai为第i个话题对应的共现权重,i=1,2,…,m且i≠a,m表示话题总数;

f为文档集合,za和zb表示任意两个话题,d表示文档,s(d)表示文档的代表性话题集合;

优选地,所述步骤(s5)中计算话题za基于相似关系的流行度具体过程为:

从话题za的相似向量中选出k个相似权重最高的话题,记为ssim(za),通过这k个话题的流行度类别和与话题za的相似关系,计算话题za在相似关系下属于四种流行度类别的情况,计算公式如下:

其中β的取值为1,2,3,4,zj表示话题,ws-aj为话题zj对应的相似权重,r(zj)表示话题zj所属流行度类别,δ()表示布尔函数,

优选地,所述步骤(s6)中计算话题za基于共现关系的流行度具体过程为:

从话题za的共现向量中选出k个共现权重最高的话题,记为scor(za),通过这k个话题的流行度类别以及与话题za的共现情况,计算出话题za在共现关系下属于四种流行度类别的情况,计算公式如下:

其中β的取值为1,2,3,4,zl表示话题,wc-al为话题zl对应的相似权重,r(zl)表示话题zl所属流行度的类别,δ()表示布尔函数,

优选地,所述步骤(s7)中话题za的最终流行度计算过程为:分别计算话题za属于l1,l2,l3,l4四种类别的概率p(za,lβ):

p(za,lβ)=γ*psim(za,lβ)+(1-γ)*pcor(za,lβ)

其中γ表示线性参数,psim(za,lβ)表示话题za基于相似关系属于类别lβ的概率,pcor(za,lβ)表示话题za基于共现关系属于类别lβ的概率;选择最终概率最大值作为话题za的最终流行程度。

采用本发明获得的有益效果:本发明方法将话题流行度预测方法应用到了社交网络大数据中,实现了话题流行程度的短期预测,在考虑话题间相似关系的同时,融入话题间共现关系的考虑,简化了预测过程,在一定程度上提高了话题流行度预测的准确性。

附图说明

图1为本发明方法流程图。

具体实施方式

下面结合附图和实施例对本发明作进一步说明。

如图1所示为本发明流程图,一种基于相似关系和共现关系的话题流行度预测方法,包括以下步骤:

(s1)输入文档集合,通过lda建模分析,得到话题集合、每个话题的词汇分布和每个文档的话题分布;

(s2)针对任一个话题za,根据话题za的词汇分布,通过kl散度法计算话题za与其他话题的相似关系,即话题za的相似向量;

(s3)针对任一个文档d,根据文档d的话题分布,将文档d中的话题按分布概率的降序排列,取出概率最大的3个话题作为文档d的代表性话题,并计算话题za与其他话题的共现关系,即话题za的共现向量;

(s4)定义流行度,并计算话题的流行度;假设给定一个微博c,记微博c的发表时间为0时刻,则在t时刻的转发次数记为r(c,t),即微博c在时刻t的流行度(本发明中一个微博与该微博评论集合放在一起,经过去停用词、分词等预处理操作后即得到一篇文档);设话题za包含若干条微博,记话题za中第一条微博的发表时间为0时刻,则在t时刻的属于该话题za的所有微博转发次数之和记为r(za,t),即话题z在时刻t的流行度,也可表示为定义r(za,t1)表示话题za在t1时刻的流行度,r(za,t2)表示话题za在预测时刻t2的流行度,t2>t1,则计算评价中间量q:

q=r(za,t1)/r(za,t2);

设定三个阈值p1,p2,p3,且p1<p2<p3,将流行度分为四个类别,具体为,

如果q<p1,则为l1类;表示此话题在t2时刻后仍会产生高规模数量的新博文和转发;实施例中设置p1,p2,p3分别设置为0.2,0.4和0.7。

如果p1≤q<p2,则为l2类;表示此话题在t2时刻后仍会产生中规模数量的新博文和转发;

如果p2≤q<p3,则为l3类;表示此话题在t2时刻后仍会产生低规模数量的新博文和转发;

如果q≥p3,则为l4类;表示此话题在t2时刻后无新博文和转发;

(s5)计算话题za基于相似关系的流行度;

(s6)计算话题za基于共现关系的流行度;

(s7)根据步骤(s5)和步骤(s6)的计算结果,分别计算话题za在l1、l2、l3、l4四类情况下的概率值,选择概率值最大的类别作为该话题za的最终流行度。

话题的相似关系分析的重点是如何判断两个话题是否是相似关系。实施例中采用kl散度的方法进行衡量。kl散度(kullback–leiblerdivergence),又称相对熵(relativeentropy),是描述两个概率分布p和q差异的一种方法。它是非对称的,这意味着d(p||q)≠d(q||p)。特别的,在信息论中,d(p||q)表示当用概率分布q来拟合真实分布p时,产生的信息损耗,其中p表示真实分布,q表示p的拟合分布。具体如下面公式所示,其中表示概率分布p在变量取时的概率,表示概率分布q在变量取时的概率。kl-divergence始终是大于等于0的。当且仅当两个分布相同时,kl-divergence等于0。

所述步骤(s2)中通过kl散度法计算话题za与其他话题的相似关系具体为:

similarity(za)={(z1,ws-a1),(z2,ws-a2),…,(zm,ws-am)}

其中,similarity(za)表示话题za的相似向量,zi表示第i个话题,ws-ai为第i个话题对应的相似权重,i=1,2,…,m且i≠a,m表示话题总数;

ta表示话题za的词汇分布,ti表示话题zi的词汇分布,n为词汇总数,log表示以10为底对数的简写,ta(vh)表示词汇分布ta在词汇vh时的概率值,tp(vh)表示词汇分布tp在词汇vh时的概率值,h=1,2,…,n。

实施例中,通过lda模型可以得到文档集合中每个话题的词汇分布。对于两个话题za和zi,它们词汇分布分别为ta和ti。用kl散度衡量两个话题的词汇分布的相似程度,两个话题语义越接近,则它们的分布越相似,那么它们对应的kl-divergence值就越接近于0。即在两个话题相似性分析时,散度值越小越好。由于散度值越小,说明两个话题越相似,所以上述采用简单的取倒数方式来表示,为了防止计算过程中分母为零,一般情况下使用1+d(ta||ti)进行计算。

在话题模型中,每篇文档表示为话题的混合分布,其中那些分布概率高的话题则是该文档的代表性话题。如果两个话题同时出现在某篇文档的代表性话题中,则称这两个话题存在一次共现,即这两个话题是共现关系。共现次数越多的话题,可以认为它们的逻辑关系越强。

实施例中,计算两个话题的共现次数具体为,定义布尔函数来判断两个话题za和zb是否同时为某一文档d的代表性话题,f为总体的文档集合,cor(za,zb)表示两个话题共现次数,s(d)表示文档的代表性话题集合;

则计算话题za与其他话题的共现关系具体为:

cooccurrence(za)={(z1,wc-a1),(z2,wc-a2),…,(zm,wc-am)}

其中,cooccurrence(za)表示话题za的共现向量,zi表示第i个话题,wc-ai为第i个话题对应的共现权重,i=1,2,…,m且i≠a,m表示话题总数;

基于knn算法(又称k近邻分类算法)的思想,一个话题的流行度可以通过与其最相似的k个话题的流行情况进行预测,同样,也可以通过与共现信息比重最高的k个话题的流行度进行预测。基于以上考虑,这里提出了scw(similarityco-occurrenceweighting)算法。根据相似情况和共现信息分别计算出话题属于定义四个类别的概率,然后最终预测出话题的流行类别。

(1)计算话题za基于相似关系的流行度具体过程为:

从话题za的相似向量中选出k个相似权重最高的话题,记为ssim(za),通过这k个话题的流行度类别和与话题za的相似关系,计算话题za在相似关系下属于四种流行度类别的情况,计算公式如下:

其中β的取值为1,2,3,4,zj表示话题,ws-aj为话题zj对应的相似权重,r(zj)表示对于一个话题zj,根据其评价中间量q的情况判断话题zj所属流行度类别的函数,δ()表示布尔函数,

(2)计算话题za基于共现关系的流行度具体过程为:

从话题za的共现向量中选出k个共现权重最高的话题,记为scor(za),通过这k个话题的流行度类别以及与话题za的共现情况,计算出话题za在共现关系下属于四种流行度类别的情况,计算公式如下:

其中β的取值为1,2,3,4,zl表示话题,wc-al为话题zl对应的相似权重,r(zl)表示对于一个话题zl,根据其评价中间量q的情况判断话题zl所属流行度类别的函数,δ()表示布尔函数,

(3)话题za的最终流行度计算过程为:分别计算话题za属于l1,l2,l3,l4四种类别的概率p(za,lβ):

p(za,lβ)=γ*psim(za,lβ)+(1-γ)*pcor(za,lβ)

其中γ表示线性参数,γ∈(0,1),psim(za,lβ)表示话题za基于相似关系属于类别lβ的概率,pcor(za,lβ)表示话题za基于共现关系属于类别lβ的概率;选择最终概率最大值对应的类别作为话题za的最终流行程度。

以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接应用在其他相关技术领域,均同理包括在本发明的专利保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1