题目: Knowledge-Preserving Incremental Social Event Detection via Heterogeneous GNNs
中文题目: 基于异构gnn的知识保持增量社会事件检测
学习目标
学习怎么知识增强的?
学习怎么处理时间等多个因素的?
学习怎么构建子图的?
学习怎么对新类型有鲁棒性的?
ABSTRACT
Social events: 就是比较大型的新闻,引起了人们的关注! 检测和分析这些事件有助于提取有价值的洞见。 在危机管理、产品推荐和决策等领域有很多应用。
难点:
在增量学习环境中获取、保存和扩展知识是主要关注的问题。
过去的方法忽略了社交数据中丰富的语义信息! 而且不能保留住学习到的知识。
本文:
KPGNN利用了复杂的社会网络来促进数据的利用。
为了应用传入的数据,采用了contrastive loss terms处理数量不断变化的事件类。
它还利用gnn的归纳学习能力来有效地检测事件,并从之前未见过的数据扩展其知识。
KPGNN在处理大的社会流时,采用小批子图抽样策略进行训练,并定期剔除过时数据以保持动态
的嵌入空间。
KPGNN不需要特征工程,也很少有超参数需要调优。
NOTATIONS AND PROBLEM FORMULATION
我们首先在表1中总结了本文中使用的主要符号。然后我们将社会流、社会事件、社会事件检测和增量社会事件检测形式化如下:
社会流:从社会流(即社交媒体消息序列)中提取相关消息的聚类来表示事件,如Twitter流。
Definition 2.1. social stream
一个社会流S=M0,...,Mi−1,Mi,...S = M_0,...,M_{i-1},M_i,...S=M0,...,Mi−1,Mi,...是社会信息块的连续和时间序列,其中MiM_iMi是一个消息块包含了在时间段内到达的所有消息[ti,ti+1)[t_i,t_{i+1})[ti,ti+1)。
我们表示一个消息块MiM_iMi为Mi={mj∣1≤j≤Mi}M_i = \left \{{m_j|1\le j\le M_i} \right \}Mi={mj∣1≤j≤Mi},其中mmm是单个消息! mj={dj,uj,tj}m_j = \left \{ d_j,u_j,t_j \right \}mj={dj,uj,tj}表示为一种社会消息。 其中djd_jdj和uju_juj和tjt_jtj表示为关联的文本文档、用户(发送者和提到的用户)和时间戳
Definition 2.2. social event
social event: e={mi∣1≤i≤∣e∣}e=\left \{ m_i|1 \le i \le \left | e \right | \right \}e={mi∣1≤i≤∣e∣}是一组相关的社会信息,讨论相同的现实世界发生的事情。注意,我们假设每个社交信息最多只属于一个事件。
Definition 2.3.
给定一个消息块MiM_iMi,一个社会检测算法学习一个模型f(Mi;θ)=Eif(M_i; \theta) = E_if(Mi;θ)=Ei 。这样Ei={ek∣1≤k≤∣Ei∣}E_i = \left \{ e_k|1 \le k \le |E_i|\right \}Ei={ek∣1≤k≤∣Ei∣}是包含在MiM_iMi一组事件。
Definition 2.4.
给定社会流S,incremental social event detection算法学习一系列的事件检测模型f0,...,ft−w,ft,...f_0,...,f_{t-w},f_t,...f0,...,ft−w,ft,...,这样ft(Mi;θt,θt−w)=Eif_t(M_i;\theta _t,\theta_{t-w})=E_ift(Mi;θt,θt−w)=Ei会为所有的在{Mi∣t+1≤i≤t+w}\left \{ M_i|t+1 \le i \le t+w \right \}{Mi∣t+1≤i≤t+w}中的消息块。 这里,Ei={ek∣1≤k≤∣Ei∣}E_{i}=\left\{e_{k}|1 \leq k \leq| E_{i} \mid\right\}Ei={ek∣1≤k≤∣Ei∣}是一系列的事件包含在消息块MiM_iMi,www是更新模型的window size,而θt\theta_tθt和θt−w\theta_{t-w}θt−w是两个模型ftf_tft和ft−wf_{t-w}ft−w的参数。 注意ftf_tft扩展了ft−wf_{t-w}ft−w的知识,通过根据θt−w\theta_{t-w}θt−w。 f0f_0f0就是啥也没有扩展。
3 METHODOLOGY
本节介绍我们提出的KPGNN模型。3.1节介绍了KPGNN的生命周期,给出了KPGNN如何增量运行的大图景。第3.2-3.5节对KPGNN的组件进行了放大,KPGNN的设计目标是增量获取和保存知识。第3.6节分析了KPGNN的时间复杂度。
3.1 Continuous Detection Framework
如图2所示,KPGNN的生命周期包括三个阶段,即预培训、检测和维护。
在训练前阶段,我们构建一个初始消息图并训练一个初始模型。
在检测阶段,我们用输入消息块更新消息图,并检测事件。目前的KPGNN模型在进入维护阶段之前对一系列连续的区块进行工作。
在维护阶段,我们从消息图中删除过时的消息,并使用到达最后一个窗口的数据恢复模型训练。维护阶段允许模型忘记过时的知识,并为模型配备最新的知识。维护的模型可以在下一个窗口中用于检测。通过这种方式,KPGNN不断适应传入的数据,以检测新的事件并更新模型的知识。
3.2 Heterogeneous Social Message Modeling
在预处理过程中,我们的目标是:1)充分利用社交数据,从消息中提取不同类型的信息元素,2)对提取的元素进行统一组织,便于进一步处理。为此,我们利用了异构信息网络(HINs) 。HIN是一个包含不止一种类型的节点和边的图。图1 (a)是HIN的一个例子。
构建异构图:给定一个消息mim_imi,我们从它的文档提取一组命名实体和文字(过滤掉非常常见和非常罕见的单词),提取的元素,以及一组和mim_imi关联的用户和mim_imi本身作为节点添加到HIN。我们在mim_imi和它的边元素之间添加边。 例如,图1 (a),从m1m_1m1,我们可以提取tweet node m1m_1m1,单词节点包含了fire和tears。 其中用户节点包含了user1和user2。 我们添加了m1m_1m1和其它节点之间边。我们对所有消息重复相同的过程,合并重复节点。最终,我们得到了一个包含所有信息及其不同类型元素的异构社交图谱。我们表示节点类型,即消息、单词、命名实体和用户分别表示为m,o,e和um,o,e和um,o,e和u。
异构节点类型: 现有的异构gnn[18,37,40,43,44]通常在其模型中保留异构节点类型,以学习所有节点的表示。
消息同构图: 而KPGNN作为一个document-pivot模型,专注于学习消息之间的相关性,因此我们采用了不同的设计,将异构的社交图映射为同质的消息图,如图1 ©所示。同构消息图只包含消息节点,共享一些公共元素的消息之间有边。通过映射,同质消息图保留了异构社交图编码的消息相关性。具体来说,映射过程如下:
其中,A是同构信息图的邻接矩阵。N是图中的消息总数。⋅i,j·_{i,j}⋅i,j表示的是i行j列,k表示的是节点类型。 WmkW_{mk}Wmk是异质社会图邻接矩阵的子矩阵,包含了类型m的行和类型k的列。如果消息mim_imi和mjm_jmj链接到一些常见类型k节点,[Wmk⋅Wmk⊤]i,j\left[\boldsymbol{W}_{m k} \cdot \boldsymbol{W}_{m k}^{\top}\right]_{i, j}[Wmk⋅Wmk⊤]i,j将大于或等于1,并且Ai,jA_{i,j}Ai,j将会等于1.
为了利用数据中的语义和时间信息,我们构造了消息的特征向量,如图1(b)所示。具体而言,文档特征计算为文档中所有单词预训练单词嵌入的平均值。通过对时间戳进行编码来计算时间特征:我们将每个时间戳转换为OLE date,OLE date的分数和整数分量构成一个二维向量。然后,我们执行这两个函数的消息连接。得到的初始特征向量,表示为X={xmi∈Rd∣1≤i≤N}},\left.\boldsymbol{X}=\left\{x_{m_{i}} \in \mathbb{R}^{d} \mid 1 \leq i \leq N\right\}\right\},X={xmi∈Rd∣1≤i≤N}},其中xmix_{m_i}xmi是mim_imi的初始特征向量,d是维度,是与相应的消息节点关联。我们将齐次消息图表示为G=(X,A)\mathcal{G}=(X,A)G=(X,A)
注意G\mathcal{G}G是静态的,当新消息块到达进行检测时(如图2第二阶段所示),我们通过插入新消息节点、它们与现有消息节点的链接和他们内部的链接到G\mathcal{G}G来更新图。 类似地,我们定期从中删除过时的消息节点和与其相关联的边。在第4节中,我们对不同的更新维护策略进行了实证比较。