社会网络,如微博和Twitter,已经成为数十亿人关注事件的重要平台。人们不仅关注所发生的事情,更关注事件的演化。因此,监控社交网络中事件的发展是至关重要的。在新闻文章和短文本(社交网络中的文本)中有一些挖掘事件演化的研究。由于短文的形式比新闻文章短,适用于新闻文章的方法不能直接应用于社交网络。一些应用于短文本的方法不考虑语义信息,有些方法无法发现长期跨度事件的演化,特别是中间有间断的事件。鉴于此,我们提出了一种非参数的方法来发现事件演化(故事情节)。首先使用贝叶斯模型测量短文本的语义相关性。其次,使用基于嵌入表示的算法来生成长期和短期事件的故事线。我们进一步使用Dirichlet过程自动学习适当数量的主题。与其他方法相比,三个人工标记数据集的详细实验结果证明了我们方法的有效性。 Social networks, such as Weibo and Twitter, have become important platforms where billions of individuals follow events. People not only concern about what happened, but also pay more attention to how the event gradually progresses. Therefore, it is crucial to monitor the development of events in social networks. There are some research mining event evolutions in news articles and short texts (texts in social networks). Methods designed for news articles cannot be directly applied to social network due to the fact that short texts are more ill-formed and shorter than news articles. Some methods that apply to short texts do not take into account semantic information, and some cannot discover evolution of long-term spanning events, especially intermittent events. In light of this, we propose a non-parametric method to discover event evolution (storylines). Firstly, a bayesian model is used to measure semantic correlation of short texts. Secondly, an embedded representation-based algorithm is used to generate storylines for long-term and short-term events. We further use dirichlet process to automatically learn an appropriate number of topics. In comparison with other methods, detailed experimental results on three manually labeled data sets demonstrate the effectiveness of our method.
李莹莹
北京航空航天大学,北京
收稿日期:2018年6月7日;录用日期:2018年6月22日;发布日期:2018年6月29日
社会网络,如微博和Twitter,已经成为数十亿人关注事件的重要平台。人们不仅关注所发生的事情,更关注事件的演化。因此,监控社交网络中事件的发展是至关重要的。在新闻文章和短文本(社交网络中的文本)中有一些挖掘事件演化的研究。由于短文的形式比新闻文章短,适用于新闻文章的方法不能直接应用于社交网络。一些应用于短文本的方法不考虑语义信息,有些方法无法发现长期跨度事件的演化,特别是中间有间断的事件。鉴于此,我们提出了一种非参数的方法来发现事件演化(故事情节)。首先使用贝叶斯模型测量短文本的语义相关性。其次,使用基于嵌入表示的算法来生成长期和短期事件的故事线。我们进一步使用Dirichlet过程自动学习适当数量的主题。与其他方法相比,三个人工标记数据集的详细实验结果证明了我们方法的有效性。
关键词 :事件演化,社会网络,概率图模型
Copyright © 2018 by author and Hans Publishers Inc.
This work is licensed under the Creative Commons Attribution International License (CC BY).
http://creativecommons.org/licenses/by/4.0/
社会网络已经成为人们分享和传播新闻的主流平台。社会网络每天都会产生大量的用户产生内容(User-Generated Contents)。对于UGC流,人们很容易感到不知所措。因此迫切需要从社会网络自动生成事件的演化。
目前有挖掘事件演化的相关研究。这些研究可大致分成两类。一类是基于词相似度的方法。Pei等人 [
为解决上述方法存在的不足。我们提出一个非参数的方法构造社会网络中的事件演化。首先,我们从微博中检测子事件。然后,我们提出一个非参数的方法提取子事件的隐式语义信息。最后我们基于子事件的隐式语义信息生成事件演化。本文的主要贡献如下所示:
· 我们提出一个非参数化的概念图模型,Biterm Topic Model with Dirichlet Process (BTMDP),提取子事件的语义信息。
· 我们提出基于子事件语义信息的故事情节生成算法(LineGen)。
· 通过在三个数据集上的实验证明我们方法较已有方法的有效性。
本文的其余部分组织如下。首先,我们介绍相关工作。然后,我们介绍我们的方法。随之,我们展示实验与结果。最后,我们总结提出的方法并展望未来的工作。
我们的工作与三方面的研究相关。1) 主题检测与追踪(TDT)。TDT旨在基于主题对文本分组,检测异常的和以前未报道的事件,和追踪某主题下事件的发展 [
故事情节生成相关的研究大致可分为两类:基于新闻文本和基于社会网络文本。1) 基于新闻文本。Wang等人根据用户给定的关键词形式化故事情节为最小权重连通适配集问题 [
基于已有算法的不足,我们提出一种挖掘事件演化的算法。社会网络文本具有不规范、文本较短等特性。单个微博可能只包含事件的部分信息。我们用已有的成熟的子事件检测算法检测能表示完成信息的子事件。事件间存在演化关系,文本间的词相似度不能有效挖掘演化关系。我们用主题模型挖掘子事件内在的主题结构。依据子事件的主题结构信息有效挖掘子事件的演化关系。
本节我们首先介绍挖掘子事件内在主题结构的融合狄利克雷过程的词对主题模型。然后,我们介绍基于子事件主题结构挖掘子事件演化关系的过程,即故事情节生成过程。
两个文本之间的相似性不仅取决于词共线程度,还取决于语义关联。主题模型是一种挖掘语义关联的方式。但传统的主题模型(如LDA和PLSA)遭受严重的数据稀疏短文本 [
其中,词对是由两个词构成的组合( w 1 , w 2 )。假设一个文章的词集合为{计算机,应用,发展},该文章的词对集合为{(计算机,应用),(计算机,发展),(应用,发展)}。
Cheng等人 [
当主题数K成为无穷时,BTM成为BTMDP。BTMDP的生成过程如下所示:
符号 | 注释 |
---|---|
B | 语料库中所有词对 |
B ¬ b | 语料库除去词对b的所有词对 |
B z , ¬ b | 主题z的除去词对b的所有词对 |
Z | 各词对的主题值 |
Z ¬ b | 除去词对b的各词对的主题值 |
M | 词库中词的数量 |
n z | 主题z的词对数 |
n w | z | 主题z下词w的出现次数 |
n t | BTMDP学到的主题数 |
表1. 符号的注释
图1. BTM和BTMDP的概率图模型
z b | θ ∼ M u l t i ( θ ) (2)
ϕ k | β ∼ D i r ( β ) (3)
b | z b , { ϕ } k = 1 ∞ ∼ p ( b | ϕ z b ) (4)
其中“ X ∼ S ”表示X服从于S的分布。Multi()表示多项分布。Dir()表示狄利克雷分布。
b是由两个词( w i , w j )组成的词对。 p ( b | ϕ z b ) = p ( w i | ϕ z b ) p ( w j | ϕ z b ) 。与BTM相同,BTMDP没有直接对文章的生成过程建模。在主题学习过程我们不能直接推断文章的主题分布。Yan等人 [
P ( z | d ) = ∑ b P ( z | b ) P ( b | d ) (5)
P ( z | b ) = P ( z ) P ( w i | z ) P ( w j | z ) ∑ z P ( z ) P ( w i | z ) P ( w j | z ) (6)
在BTMDP中不能直接推断。我们采用吉布斯抽样近似推断。在讨论BTMDP的抽样算法前,我们先了解一个BTM的抽样过程。BTM中,词对b选择一主题的概率如式(7)所示。
p ( z b = z | Z ¬ b , B , α , β ) ∝ p ( z b = z | Z ¬ b , B ¬ b , α , β ) p ( b | z b = z , Z ¬ b , B ¬ b , α , β ) ∝ p ( z b = z | Z ¬ b , α ) p ( b | z b = z , B z , ¬ b , β ) ∝ n z + α / K | B | − 1 + α ( n w i | z + β ) ( n w j | z + β ) ( ∑ w n w | z + M β ) ( ∑ w n w | z + M β + 1 ) (7)
p ( z b = z | Z ¬ b , B , α , β ) ∝ n z | B | − 1 + α ( n w i | z + β ) ( n w j | z + β ) ( ∑ w n w | z + M β ) ( ∑ w n w | z + M β + 1 ) (8)
p ( z b = K + 1 | Z ¬ b , B , α , β ) ∝ p ( z b = K + 1 | Z ¬ b , α ) p ( b | z b = K + 1 , β ) ∝ ( 1 − ∑ k = 1 K p ( z b = k | Z ¬ b , α ) ) p ( b | z b = K + 1 , β ) ∝ α | B | − 1 + α β 2 ( M β ) ( M β + 1 ) (9)
当K趋于无穷时,词对b选择一个存在的主题的概率如式(8)所示。词对b选择一个新主题的概率如式(9)所示。根据词和词对的主题分布。我们可根据式(10)和式(11)评估主题的词分布和主题分布。
p ( w | z ) = n w | z + β ∑ w n w | z + M β (10)
p ( θ z ) = n z + α / n t | B | + α (11)
BTMDP的吉布斯抽样过程如算法1所示。因为空间限制,我们略去了吉布斯抽样的详细推导。原理和推导过程请参考 [
观察发现,相同故事情节下,一些子事件的相似度更高。如表2所示,子事件se1和se2关于美国总统候选人选择竞选搭档。子事件se3和se4是关于总统候选人的支持率。首先,我们用pline(定义1)表示相似度更高的子事件集合。然后,我们基于DBSCAN的思想将pline聚成故事情节。
定义1:pline是一个子事件集合。Pline中所有子事件有相同的top one维度。我们用二元组 表示。其中(1) centroid是pline的中心,(2) selist是pline的子事件集合。
c e n t r o i d = ( c e n 1 , c e n 2 , ⋯ , c e n K ) c e n i = ∑ s ∈ s e l i s t s i ∑ m = 1 K c e n m (12)
高维数据经常包含大量噪音特征,这不利于数据处理 [
s i = { s i ∑ j ∈ t s e s j i ∈ t s e 0 others (13)
其中,子事件由前top-k个维度的特征表示。除前top-k维度外,其它维度的值为0。例,K为4的一个子事件的嵌入表示为embed_representation (subevent) = (0.2, 0.3, 0.4, 0.1),如果topk = 2,则representation (subevent) = (0,3/7,4/7,0)。
针对上一节中提出的方法,我们在本节进行实验验证。首先,我们介绍数据集。然后我们评价故事情节生成的性能,并展示我们提出的方法较于已有方法的优势。我们的算法包括两步,子事件检测和故事情节生成。有大量关于子事件检测的相关文献。我们从中选择一个成熟的子事件检测算法。因此我们不再评价子事件检测的性能。
数据集是依据新浪微博用子事件检测算法检测的子事件。子事件用6元组<时间、地点、参与者、核心词、描述词,描述>表示。我们请志愿者标注具有演化关系的子事件,即标注子事件所属的故事情节,具有演化关系的子事件为一个故事情节。我们用两种方式标注数据。两种方式的不同在于选择子事件数据集的方式。方式一为将某时间段内所有子事件作为标注使用的子事件数据集。方式二是与关键词相关的子事件作为子事件数据集。依据两种标注方式我们构造了三个数据集,基于方式一构造一个故事情节集,基于方式二构造两个故事情节集。DS11表示基于方式一从时间段2016年6月到2016年8月标注的故事情节集,该故事情节集包含416个子事件。DS21和DS22表示基于方式二构造的两个故事情节集。DS21是基于关键词丝绸之路标注的故事情节集,该故事情节集包含97个子事件。DS21是基于关键词萨德和亲信干政门标注的故事情节集,该故事情节集包含85个子事件。标注统计如表3所示。
在本小节,我们首先介绍使用的评价指标。然后,我们介绍所有的对比方法。最后,我们呈现实验
Se_id | Description |
---|---|
se1 | 希拉里选择弗吉尼亚州联邦参议员蒂姆·凯恩(Tim Kaine)为副总统竞选搭档 |
se2 | 特朗普宣布彭斯为竞选搭档 |
se3 | 从希拉里和特朗普的民意调查来看,很难预测谁是赢 |
se4 | 美大选希拉里支持率全面领先,特朗普被批有偏见 |
表2. 相同故事情节下,一些子事件相似度更高的例子
方式 | 故事情节集名称 | 故事情节集描述 |
---|---|---|
时间段 | DS11 | 从2016年6月到2016年8月标注的416个子事件 |
关键词 | DS21 | 基于关键词丝绸之路标注的97个子事件 |
DS22 | 基于关键词萨德和亲信干政门标注的85个子事件 |
表3. 标注统计
结果并展示我们方法的优势。
在三个故事情节集中,子事件标注有故事情节。真实的故事情节集称为 C ( | C | = L ) 。基于算法生成的故事情节集成为 M ( | M | = T ) 。一般来讲, T ≠ M 。我们的方法可生产任意数量的故事情节。依据真实的故事情节集C和生成故事情节集M,我们构造一个混乱矩阵(confusion matrix) CM。 是真实故事情节Cl和生成故事情节Mt交集的基,即 C M ( l , t ) = | C l ∩ M t | 。对任意标注故事情节 C l ∈ C ,我们用 t o p k ( C l ) 表示生成故事情节集中与其交集最大的top-k个故事情节。我们基于式 计算准确率和召回率。
P r e c i s i o n K = ∑ l = 1 L | C l ∩ t o p K ( C l ) | ∑ l = 1 L | t o p K ( C l ) | R e c a l l K = ∑ l = 1 L | C l ∩ t o p K ( C l ) | ∑ l = 1 L | C l | (14)
其中,Cl表示一个标注故事情节。 t o p k ( C l ) 表示生成故事情节集中与标注故事情节Cl交集最大的top-k个故事情节。|.|表示基,即集合中的元素个数。 ∩ 表示集合交集。计算准确率和召回率时,我们设置K = 2。
我们的方法(BTMDP + LineGen)首先用BTMDP学习子事件的主题结构,即为子事件生成主题嵌入表示。然后,我们的方法用LineGen生成故事情节。我们的对比方法如下所示:
· DBSCAN:该方法用DBSCAN对子事件聚类。一个簇称为一个故事情节。
· NMF + DBSCAN:该方法首先用NMF生成子事件的嵌入表示,然后基于嵌入表示用DBSCAN对子事件聚类。一个簇称为一个故事情节。
· BTM + DBSCAN:该方法首先用BTM生成子事件的主题嵌入表示,然后基于主题嵌入表示用DBSCAN对子事件聚类。一个簇称为一个故事情节。
· BTMDP + DBSCAN:该方法首先用BTMDP生成子事件的主题嵌入表示,然后基于主题嵌入表示用DBSCAN对子事件聚类。一个簇称为一个故事情节。
· NMF + LineGen:该方法首先用NMF生成子事件的主题嵌入表示,然后基于主题嵌入表示用LineGen生成故事情节。
· LDA + LineGen:该方法首先用LDA生成子事件的主题嵌入表示,然后基于主题嵌入表示用LineGen生成故事情节。
· BTM + LineGen:该方法首先用BTM生成子事件的主题嵌入表示,然后基于主题嵌入表示用LineGen生成故事情节。
LDA + DBSCAN将所有的子事件聚到一个簇,我们展示LDA + DBSCAN的效果。在LDA、BTM和BTMDP中,吉布斯抽样迭代1000次。在需要指定主题数的NMF、LDA和BTM中,我们设定主题数为250。在LDA、BTM和BTMDP中,参数 α 和 β 分别为500和0.02。在NMF + DBSCAN、BTM + DBSCAN和BTMDP + DBSCAN中,我们使用的距离函数如式(15)所示。在NMF + LineGen、BTM + LineGen和BTMDP + LineGen中,我们使用的距离函数如式(16)所示。在LineGen中我们设置参数top-k为5。所有的结果是十次结果的平均值。
d i s ( s e 1 , s e 2 ) = 1 − cos ( s e 1 , s e 2 ) (15)
d i s ( p 1 , p 2 ) = 1 − 0.7 * J a c c a r d ( p 1 , p 2 ) − 0.3 * cos ( p 1 , p 2 ) (16)
三个故事情节集,DS11、DS21和DS22,的准确率和召回率如图2所示。在三个数据集上,BTMDP + LineGen和BTM + LineGen的准确率和召回率的曲线在BTMDP + DBSCAN和BTM + DBSCAN之上。这说明LineGen方法的有效性。LineGen使用子事件的top-k个特征减小子事件特征的噪音和后序计算需要的时间。LineGen使用故事情节中子事件的特性,一些子事件的相似度更高,来提高准确率和召回率。BTMDP + LineGen比BTM + LineGen有更高或相等的准确率和召回率。BTMDP可自适应的学习合适的主题数,避免主题数过大或过小。BTMDP + LineGen和BTM + LineGen的准确率和召回率的曲线在DBSCAN之上,这说明子事件的主题结构有利于事件演化的挖掘。NMF + DBSCAN,NMF + LineGen and LDA + LineGen在三个数据集上比其他方法的效果更差,这说明对文档级别词共现模式建模的主题模型在短文本上得不到理想的效果。BTMDP是适用于短文本的主题模型。
我们也对比了我们的方法在不同的topk数下的实验结果,如图3所示。top-k为5的性能优于或等于top-k为all的性能。这说明,选择有区别性的特性对性能的提升有帮助。
图2. 三个故事情节集上的实验结果
图3. BTMDP + LineGen在不同的top-k下的实验结果
在社会网络挖掘事件演化具有重要意义。我们提出一个非参数化的方法在社会网络上挖掘事件的演化。首先,我们用一个子事件检测算法检测子事件。然后,我们提出非参数化的贝叶斯模型(BTMDP)生成子事件的语义信息。最后,我们用基于子事件嵌入表示的故事情节生成算法(LineGen)生成故事情节。实验结果表明我们的方法比已有的方法有较好的准确率和召回率。考虑到社会网络数据的动态性,我们将设计增量算法在社会网络挖掘事件的演化。我们将设计一个展示系统便于用户对事件演化的理解。
李莹莹. 社会网络中非参数化的事件演化分析 Analysis of Non-Parametric Event Evolution in Social Networks[J]. 计算机科学与应用, 2018, 08(06): 976-985. https://doi.org/10.12677/CSA.2018.86109