论文部分内容阅读
推特、新浪微博等社交网络社区中每天都传播着现实世界中发生的事件。这些事件可以是多种多样的,比如明星轶事,政治事件,当地社会事件以及自然灾害等。用户在见证或参与发生的事件时会在微博平台中发文以表达观点或寻求关注,因此微博平台积累的用户数据和大量的微博文本数据对于发现社会上发生的事件具有极大的价值。然而社交媒体的事件检测有以下几个难点:一,与传统媒体不同,社交媒体的文本是无格式并且垃圾文本占多的短文本,这导致很多针对传统媒体比如报纸、网站博客等设计的算法不再适用于社交媒体,比如基于文档聚类的事件检测算法不再适用于微博类的社交媒体。二,社交媒体数据量比较大,传统的基于文本聚类的事件检测算法效率会非常低下,而且基于特征词聚类的方法在用词向量等词袋模型表示时会随着数据量的增大出现维数灾难。为了解决现有算法的不足以及更有效的利用微博检测事件,本文针对微博类社交媒体自身的特点,提出了两种不同类型的算法:基于EventGraph图模型的事件检测算法和EventLDA事件生成模型。在基于EventGraph图模型的算法中,我们利用词语的共现关系,以及词语之间的关联强度等构建有向加权图,事件则以子图或社区的形式分布其中。由于社交媒体文本,噪声多,数量大,我们提出了基于关键节点的事件社区发现算法。该算法不仅能够避免把由噪声文本组成的社区误认为事件社区而且降低了基于图模型的事件发现算法的时间复杂度。此外基于关键节点的事件社区提取互不干扰,该算法能够很好的并行化。EventLDA事件生成模型是一个三层的贝叶斯混合模型,包含了词语-事件-用户三层模型。在该模型中,事件是词语和时间上的一个概率分布,用户是事件上的一个概率分布,同时假定每一条文档只描述了一个事件。在该模型中,我们假设每一条的文档的生成过程如下:用户首先从自己事件分布中选择一个事件,然后基于该事件在词语上的概率分布选择词语,如此重复以上过程直到文档完。成我们采用吉布斯采样算法来估计模型的参数,即事件在词语上的概率分布以及用户在事件的概率分布。为了验证算法的高效性和可行性,本文在四份数据集上做了实验并与经典的LDA和数据集作者提出的BNgram算法做了对比实验,并分析了模型参数对实验结果的影响。