APP下载

社交网络中新闻趋势的预测分析

2012-06-29荣,张旸,杨

中文信息学报 2012年6期
关键词:主峰动量平均值

路 荣,张 旸,杨 青

(中国科学院 自动化研究所 模式识别国家重点实验室,北京 100190)

1 引言

随着社会的发展,人与人之间的信息传递更加频繁。而基于互联网的社交网络服务更是促进了这种人与人之间信息流动,同样它也满足了人们需要通过互动来获取更多信息,以及扩展自身影响力的需求。国内外著名的社交网络服务有新浪微博、人人网、Twitter和Facebook。它们共同的特点是,用户间通过好友 (真实的和非真实的) 关系建立了一个社会化的网络,相互间通过分享简短的文本、图像或是视频来快速传递信息。这种信息的传播的速度非常快,有时甚至是爆炸式的沿着网络中好友链接扩散开来的。

这其中又以新闻的传播为甚。新闻是信息的一种,它天生就有被传播的要求,因而社交网络服务中有大量的新闻数据。在社交网络平台上预测新闻传播的发展趋势,对于政府的舆情监控、企业的危机公关、投资机构的投资决策都有重要的意义。同时微博中大量的新闻数据也为研究新闻趋势预测提供了很好的数据源。

导致一个新闻事件忽然引来大量关注并立即传播开来的原因很多。新闻本身是否重大,是否有争议能吸引大众的注意力等等都很重要。但即使在一个网络关系相对明晰的社会化网络服务平台上,也很难找到加速传播的源头和原因,这其中又有一定的偶然性。但在新闻快速传播开始之前和传播之初,一些统计上的规律却可以帮助我们,对它未来可能的传播趋势做出预测。

本文中,我们利用新闻报道在社交网络服务平台上出现的频率的移动平均值,来跟踪它的发展趋势。本文中的移动平均值,是指以当前时间为截止时间,向前的一个固定时间窗口内,该新闻报道出现频率的均值。随着当前时间的前进,该均值也不断变化。

对于相对短期的趋势,用一个时间窗口较小的移动平均值来跟踪;对于相对长期的趋势,则用时间窗口较大的移动平均值来跟踪;当一条新闻突然加速传播之时,其短期移动平均值会显著增加,而长期移动平均值则波动较小,此时短期移动平均值与长期移动平均值的差值会变大。如果这种传播呈爆炸式展开,那么这个差值也会加速变大。这个差值对于趋势的发展会有一些提前反应,因此,我们将这个差值定义为新闻的趋势动量。通过趋势动量的值为正或负以及它本身大小变化的速度可以对新闻报道在社交网络服务平台上未来的趋势做出预测。

2 相关工作

趋势检测(Emerging Trend Detection,ETD)已经有很多研究与应用。它的主要任务是从文本信息流中识别出新的或正在变重要的一些话题[1]。新兴趋势检测最常用的数据集来源于1997年开始的话题监测与跟踪(Topic Detection and Tracking,TDT)项目[2]语料,该项目由当时美国国防高级研究计划署(DARPA)提出。其目的在于在没有人工干预的情况下自动地将相关话题的信息从新闻数据流中提取、汇总,以供人查阅[2-4]。

ETD和TDT不同在于,TDT需要从数据流中检测出话题,而ETD则更关注于话题趋势的变化。ETD系统根据是否需要用户的参与分为半自动和全自动的系统[1],而TDT系统一般都是全自动的。半自动ETD系统首先需要用户输入,通常是关键词,系统从数据流中检测这些关键词,并跟踪它们的趋势;全自动ETD系统,不需要用户输入数据,而自动地检测出文本数据流中新兴的或是热门的关键词或话题,并给出其趋势的演化。

早在1995年,Porter等人就给出了一个技术趋势分析系统(Technology Opportunities Analysis System, TOAS)[5],该ETD系统是半自动系统。它根据用户输入的关键词,系统自动从文档中利用词频、相互引用等信息找到相关词,以及这些关键词和其相关词的演化趋势,用户根据这些相关词,可以再做迭代地查询以获取更准确的结果。该系统需要用户有专业领域的知识,并且迭代查询的方式也比较耗时。此外还有TimeMines[6]、 PatentMiner[7]、HDDI[8]等趋势检测系统。

近年来,隐主题模型(Latent Dirichlet Allocation,LDA)[9]在数据挖掘领域被广泛应用, LDA模型是一种完全的文本生成模型,和时间信息无关,文本集中的文本先后顺序并不影响其结果,而趋势检测则要依赖于文本出现时间顺序。因而在趋势检测中,基于时间的隐主题模型得到了更多的关注[10-11]。依次介绍了离散时间主题模型(discretet-time Dynamic Topic Model,dDTM)和连续时间LDA模型(continuous-time Dynamic Topic Model,cDTM)。dDTM将所有的数据按时间顺序分到若干时间片中,每个时间片中的隐主题模型参数,都依赖于前一个时间片的参数。cDTM则认为隐主题模型的参数,随着时间连续的变化在做布朗运动。文献[12]也给出了一个连续时间的主题模型TOT(Topics over Time),它则认为每个隐主题不仅是词的混合,也是时间戳的混合。在TOT的基础上,文献[13]进一步引入了隐趋势类的变量从而提出趋势分析模型(Trend Analysis Model, TAM)。在增加了时间因素后,dDTM、cDTM、TOT和TAM都可以很好地展现出主题随时间变化的趋势。但这些主题都是从文本集中训练出来的,是“隐”主题,往往没有特别清晰的含义。

此外,Leskovec在论文 [14]通过构建短语的有向图及图的分割聚类出描述同一新闻短语的各种变形形式,并给出了这些短语的聚类变化趋势。文献[15]则给出了一个实际运行的趋势分析系统,对于给定的关键词,从社交网络媒体和传统媒体数据流中,跟踪其变化趋势。并通过比较其他词和关键词的共现的比例,来提取给定关键词的在趋势变化中的相关词。该系统同时给出了非常友好的可视化界面。

3 数据准备

本文的研究数据来源于美联社和Twitter,首先我们从美联社新闻网站给出的最热门新闻的聚合内容(Really Simple Syndication,RSS)网址*http://hosted.ap.org/lineups/TOPHEADS-rss_2.0.xml?SITE=DEWIL&SECTION=HOME中抓取了超过3 000条热门新闻标题,起止时间为2010年11月2日~2011年1月10日,超过两个月的时间跨度。

之后,我们再从社交服务网站Twitter中,抓取相应的tweets(Twitter中每条发布的微博称为一条tweet)。这些tweets必须完全匹配从美联社新闻网站RSS获取的新闻标题,我们称之为新闻tweet。当然,不是所有讨论新闻事件的tweets都完全匹配相应的新闻标题,我们抓取的tweets可以看作全体讨论新闻事件tweets的集合的一个采样。这样我们从超过20万用户那里共抓取约115万新闻tweets。

这里先给出一个典型的新闻事件的其tweets数随时间变化过程,如图1所示。

图1 新闻“PayPal cuts WikiLeaks from money flow”每分钟tweet数

图1给出了2010年12月24日13时51分41秒美联社发布的新闻“PayPal cuts WikiLeaks from money flow”。在Twitter上讨论该新闻的tweet数,最初60分钟里是在低位波动;从60分钟到90分钟区间里tweet数迅猛增加;从90分钟左右起开始逐渐衰减,且衰减速度逐渐减慢。该新闻持续了约7 200分钟(5天),后面有非常长的长尾,图中已截去。

4 趋势预测方法

如图1所示,我们对于新闻趋势预测的目标,首先就是在第60分钟左右,能预测出它即将在网络中呈爆炸性的扩散增长。其次是在第180分钟后能预测出该新闻已经趋冷,关注越来越少了。通常,预测何时将会爆炸性增长往往比预测何时趋冷更为重要,也更需要准确的时间点,这样才能及时对新闻做出适当的反应,本文的方法能对新闻的爆发给出准确预测。尽管,新闻的何时趋冷相对次要一点,但本文的方法也能给出很好的预测。

4.1 趋势动量

在给出我们的趋势预测方法之前,先需要给出趋势动量的相关定义。

首先是移动平均值(Moving Average, MA),时间片ti中出现的频率为f(ti),那么在时间窗口大小为k个时间片,当前时间为第n个时间片时,

如果n

移动平均线可以很好地跟踪发展趋势,且不同长度的时间窗口,可以跟踪不同周期的趋势。将每个时间片的移动平均值用直线连起来,就构成了移动平均线或称为趋势线。当一个新闻事件在社交网络中出现频率的趋势线变化时,若其短期趋势线将在长期趋势线之上,易见该新闻在社交网络中当前正处于或趋向于活跃的时期。

因此,我们定义趋势动量(Trend Momentum,TM)为:

其中,ks为较短的时间窗口,kl为较长的时间窗口。

式(3)定义了趋势动量即为短期移动平均值与长期移动平均值之差。易见短期移动平均值 MA(n,ks)扰动较大,而长期移动平均值MA(n,kl)则相对更加稳定。当长期均值处于相对高位时,说明该新闻事件总体处于活跃期,此时趋势动量也应该较大,所以作为减项MA(n,kl)应作适当衰减。故可以重新定义趋势动量为:

其中0<α<1。

式(4)给出了趋势动量,但其值波动较为剧烈,为此我们用前面的移动平均值方法再对它进行平滑。最终得到趋势动量表示为,

如果n

4.2 趋势预测规则

定义了趋势动量后,我们可以根据趋势动量的值及其变化给出趋势预测的方法。后文中的趋势动量TM(n),即指式(5)和(6)中经过平滑后的TrendMomentum(n)。趋势动量的变化,则由其对时间的导数Δ(TM)/Δt表示,那么对于趋势预测有如下规则:

1) 趋势上扬: (1.1)趋势动量值由负变正;(1.2)趋势动量TM(n)>λ1时,Δ(TM)/Δt>μ1;

2) 趋势下降: (2.1)趋势动量值由正变负;(2.2)趋势动量TM(n)<λ2时,Δ(TM)/Δt<μ2;这其中,λ1,λ2,μ1>0,μ2<0。

事实上本文使用的趋势动量的定义和简单的规则都来源于股票价格趋势预测技术中的MACD指标,但有以下两点不同。

首先,MACD指标中使用的是指数移动平均值(EMA),而本文使用的是最简单的移动平均值(MA)。两者的差距在于,EMA给离当前时间片越近的指数(本文中对应时间片中的频率)更高的权重,而离当前时间片越远的指数其权重是随时间距离呈指数衰减的。在股票分析中,这样做可以使MACD更紧密地跟踪当前趋势,并快速反应其短期发展趋势。在本文中,我们使用MA而不是EMA,

是因为我们将时间片切分的非常小,这导致所有数据分配到每个时间片中会显得相对稀疏,进而导致频率值在相邻的时间片中波动剧烈,EMA因为给了临近时间片中的频率值更高的权重,会比MA波动剧烈,这样配合本文的预测规则,会过于灵敏发出较多的错误预测信号。所以本文选用MA。

其次,本文对长期移动平均值做了衰减。因为,一些低频词的噪声波动也会带来其趋势动量值的正负变化等,进而触发趋势预测规则;而另一方面社交网络中有些长期热门的讨论词,这些词往往容易发生新的新闻事件,但由于长期热门,其长期移动平均值较高,以至于短期均值变化时的其相对长期均值的变化反而不明显。所以,文本在计算趋势动量时,对长期移动平均值做衰减,以保证热门词的频率变化可以比冷门的低频词的噪声波动更加明显。

5 实验

在实验中,我们设定每个基本时间片长度为1分钟,ks=30,kl=60,α=0.8,式(5)和(6)中平滑区间k= 20。而规则判断中,取λ1=0.7,λ2=0.04,μ1=0.05,μ2=-0.05。

5.1 趋势预测分析

根据4.2节提出的规则,我们将用具体的实例来解释如何进行趋势分析。

第一条新闻“PayPal cuts WikiLeaks from money flow”,图2显示了它的新闻tweet数、双移动平均线以及其他的趋势动量。

图2 新闻“PayPal cuts WikiLeaks from money flow”的趋势动量

如图2所示,其趋势动量值在第80分钟由负变正,在第230分钟时由正变负。根据规则(1.1)和(2.1) ,可以预测80分钟后趋势将上扬,在230分钟后趋势下降,这和该新闻每分钟tweet数量的变化基本吻合,该新闻的绝大多数tweet也都出现在这个时间段内。

下面再给出一个例子,该新闻的标题是“Teena Marie, known as ‘Ivory Queen of Soul,’ dies”,由美联社发布于2010年12月27日3时29分40秒,如图3所示。

图3 新闻“Teena Marie, known as ‘Ivory Queen of Soul,’ dies”的趋势动量

图3中,在第23分钟,趋势动量大于0.7,趋势动量的变化大于0.04,根据规则(1.2),趋势将上扬;在第149分钟时,趋势动量小于0.5,趋势动量变化小于0.05,根据规则(2.2)趋势将下降。这和该新闻每分钟tweet数的变化也很吻合。

图2和图3这两个例子阐述了如何利用趋势动量来对趋势的发展作预测分析。可以看到趋势动量确实可以很好地提前反应新闻趋势的发展。

5.2 新闻主峰检测

对于新闻的趋势预测,往往更关注何时该新闻将会爆发,会大量快速传播,对应于图2、图3则是每分钟新闻tweet数形成的尖峰。大多数新闻往往有数个显而易见的尖峰,我们用滑动平均值对每分钟的新闻tweet数做平滑,找出其中的最高点(称为主峰),即每分钟新闻tweet密度最大的时间点。

再根据第4节提出的规则,来检测这个主峰的峰前。在Twitter这种快速的信息流网络中,预测点(即在该点预测即将有主峰到来)离主峰一般不应超过60分钟, 也不能太靠近主峰, 否则失去了预测的意义。传统的方法预测主峰,只能根据某时刻新闻tweet出现的频率是否大于一个固定阈值θ来判断,一旦某一时间片中的出现频率大于该阈值,则该时间片成为预测点。

我们用两种方得到的预测点到主峰的时间,以及是否会漏过主峰来比较这两种方法的优劣。结果如表1所示。

表1 趋势动量法与固定阈值法预测主峰的比较

续表

对于用固定阈值法来预测主峰,当阈值θ不断变大时,预测点距主峰的时间越来越短,因为主峰处新闻tweet的密度较大,θ越大也越有可能靠近主峰处。但可以看到,这种方法遗漏率太高,当θ=20时,就会遗漏超过40%的主峰,效果不好。而我们的方法,预测点距离主峰的平均时间是24分钟,遗漏率只有不到11%,不仅能很好地提前预测该新闻高峰的到来,而且能对大部分新闻做出准确预测。

6 结论

本文通过双移动平均线的相对变化,提出了趋势动量的概念,并通过观察趋势动量来对社交平台上的新闻发展趋势做出预测。趋势动量是不同周期两个移动平均值之差,相对短期和长期的移动平均线分别跟踪了相对短期和长期的趋势,趋势动量则反映这两种已有趋势的相对变化,而这种相对变化可以某种程度上成为推测未来的依据。实验也验证了趋势动量确实能很好地对新闻未来的趋势做出提前反应。本文虽是首先提出趋势动量的概念,并利用它进行新闻趋势的预测,还有很多更进一步的工作可以继续。

首先,本文中利用趋势动量进行趋势预测的规则相对简单,还需要更完备、更合理的规则来配合趋势动量进行预测。

其次,本文中选择的相对短期窗口时长为30分钟,长期窗口时长为60分钟。对于不同的应用,长短时间窗口合理的长度选择需要更进一步研究。

最后,我们的方法并不仅仅适用于社交网络的新闻数据。事实上可以推广到任何有大量数据,并需要预测未来趋势的场合。

[1] A Kontostathis, L Galitsky, W M Pottenger, et al. A survey of emerging trend detection in textual data mining[M]. Survey of Text Mining, 2003:185-224.

[2] J Allan, J Carbonell, G Doddington, et al. Topic detection and tracking pilot study final report[C]//Proceedings of the DARPA Broadcast News Transcription and Understanding Workshop, 1998.

[3] 骆卫华,于满泉,许洪波,等. 基于多策略优化的分治多层聚类算法的话题发现研究[J]. 中文信息学报, 2006,20(1):29-36.

[4] 洪宇,张宇,刘挺,等. 话题检测与跟踪的评测及研究综述[J]. 中文信息学报,2007,21(6): 71-87.

[5] A L Porter, M J Detampel. Technology opportunities analysis[C]//Technological Forecasting and Social Change, 1995,49:237-255.

[6] R Swan, D Jensen. Timemines: constructing timelines with statistical models of word usage[C]//KDD Workshop on Text Mining, 2000: 73-80.

[7] B Lent, R Agrawal, R Srikant. Discovering trends in test databases[C]//Proceedings of the 3rd Intel Conference on Knowledge Discovery in Databases and Data Mining, 1997.

[8] Pottenger W M, Kim Y B, Meling D D. HDDITM: Hierarchical Distributed Dynamic Indexing[C]//Proceedings of Data Mining for Scientific and Engineering Applications, 2001.

[9] Blei D M, Ng A Y, Jordan M I. Latent dirichlet allocation[J]. The Journal of Machine Learning Research, 2003, (3): 993-1022.

[10] Blei D M, Lafferty J D. Dynamic topic models[C]//Proceedings of the 23rd International Conference on Machine Learning, 2006: 113-120.

[11] Wang C, Blei D, Heckerman D. Continuous time dynamic topic models[C]//Proceedings of UAI, 2008.

[12] Wang X, McCallum A. Topics over time: a non-Markov continuous-time model of topical trends[C]//Proceedings of the 12th ACM SIGKDD. 2006: 424-433.

[13] Kawamae N. Trend analysis model: trend consists of temporal words, topics, and timestamps[C]//Proceedings of 4th ACM International Conference on Web Search and Data Mining,2011: 317-326.

[14] Leskovec J., Backstrom L, Kleinberg J. Meme-tracking and the dynamics of the news cycle[C]//Proceedings of the 15th ACM SIGKDD. 2009:497-506.

[15] Goorha S, Ungar L. Discovery of significant emerging trends[C]//Proceedings of the 16th ACM SIGKDD. 2010: 57-64.

猜你喜欢

主峰动量平均值
平均值的一组新不等式
登主峰,抓纲领
应用动量守恒定律解题之秘诀
原子物理与动量、能量的结合
幽 古
动量相关知识的理解和应用
傅占魁
变力做功时运用F=F1+F2/2的条件
平面图形中构造调和平均值几例
2007/2008年度桑蚕干茧质量分析报告