WWW'21 | 图神经网络增量学习在事件检测中的应用

Posted 图与推荐

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WWW'21 | 图神经网络增量学习在事件检测中的应用相关的知识,希望对你有一定的参考价值。

Y. Cao, H. Peng, J. Wu, Y. Dou, J. Li, and P. S. Yu. "Knowledge-Preserving Incremental Social Event Detection via Heterogeneous GNNs." The Web Conference, 2021.

Code: github.com/YuweiCao-UIC/KPGNN

Paper: arxiv.org/pdf/2101.08747.pdf


摘要



社交事件反映了大众的行为和关注点,因而在产品推荐和危机管理等许多领域都有应用。社交消息是复杂的、流式的,因此,对社交事件的检测适合用增量学习的方式来进行。


增量学习的重点在于对知识的获取、保存和拓展。现有的模型,包括基于增量聚类和社群检测的模型,普遍忽略了社交数据的语义和结构信息,因此从数据中获取的知识是有限的。此外,这些模型无法记住以前学到的知识。


在这篇论文中,作者提出了一种全新的知识保存增量异构图神经网络(KPGNN)用于增量社交事件检测。为了获取更多知识,KPGNN将复杂的社交消息构建为统一的社交图以最大化地利用数据,并依靠图神经网络强大的表达能力来提取知识。


为了持续适应新到达的数据,KPGNN采用对比损失函数来应对不断变化的事件类别数。同时,还利用图神经网络的归纳学习能力,从之前没见过的数据中检测事件和发掘知识。


为了处理大规模的社交消息流,KPGNN采取小批量子图采样来进行可扩展训练,并周期性地移除过时数据来维护一个动态的嵌入空间。KPGNN不需要特征工程,需要调节的超参数也很少。实验结果证实了KPGNN的优越性。


引言



社交事件检测是指从社交消息流(即一系列社交媒体消息,如推特或微博)中提取由相关信息组成的类簇,由这些类簇来代表相应的社交事件。


相较于传统的新闻和文章,社交消息流更为复杂:其具有时序性,量大;包含了各种元素,如文本、时间戳、话题标签及隐含的社交网络结构;单条消息很短,并且常含有字典中没有的缩写词,等等。由于这些特征,社交事件检测充满挑战。复杂、流式的社交消息适合用增量学习的方式来进行处理。


增量学习模型最重要的是1)从数据中获取知识,2)保存已经学到的知识,和3)持续不断地适应流入的数据。现有的社交事件检测模型无法完全满足这些要求。


基于增量聚类和社群检测的传统社交事件检测模型能学到的知识有限。它们利用统计特征(如词频和共现)进行检测,忽略了社交数据中的语义和结构信息。此外,由于它们所包含的参数很少,这些模型无法记住以前学到的知识。


一些较新的模型利用图神经网络来整合语义和结构信息,取得了很好的效果。但这些模型假设数据集和输出空间都是静态的,一旦有新数据,则需要从头训练模型。综上,增量社交事件检测问题仍待解决。


在这篇文章中,作者从知识保存的角度解决增量社交事件检测问题。文章提出了一种全新的知识保存增量异构图神经网络(KPGNN)模型。KPGNN持续不断地从输入的社交消息流中检测事件、学习知识。


KPGNN解决了知识保存增量社交事件检测中的以下几个问题:


1)对知识的获取、保存和拓展。KPGNN利用异构信息网络(Heterogenous Information Networks)将社交消息流中的各类元素融合为统一的社交图数据,并依靠图神经网络强大的表达能力来提取社交图数据中的语义和结构信息。


图神经网络的参数经过训练,将模型所学到的知识保留下来。当有新信息到达时,社交图也会随之变动。为此,KPGNN的生命周期包含了检测阶段和维护阶段,检测阶段依靠图神经网络的归纳学习能力从新信息中直接检测事件,维护阶段则利用新信息继续训练已有模型、拓展模型的知识。


2)适应不断变化的事件类别。在线场景下新事件源源不断地发生,softmax交叉熵损失函数不再适用,因此,KPGNN采用了三元组损失(triplet loss)函数。同时,为了更好地捕捉图结构信息,KPGNN还引入了全局-局部对损失(global-local pair loss)项。


3)适应大规模的社交消息流。KPGNN周期性地移除过时数据来维护一个动态的嵌入空间。同时,KPGNN采取小批量(mini-batch)子图采样(subgraph sampling),无需将整个数据集读进内存,使训练更高效。


KPGNN模型



1. 持续检测框架


图1,KPGNN的增量检测生命周期。M代表消息区块(即在一段时间内产生的社交消息,如一天的微博),下标的0,t+1,...,t+w代表消息区块的时间顺序。w是超参数,代表维护模型的时间窗口的长度。彩色气泡为输出的消息类簇(即社交事件)。


图1从宏观上介绍了KPGNN是如何进行增量检测的。如图所示,KPGNN的生命周期包含三个阶段:


1)阶段一,预训练:读入一个消息区块,构建初始消息图并预训练模型;


2)阶段二,检测:每次读入一个消息区块,更新消息图、检测事件。连续检测w次后进入维护阶段;


3)阶段三,维护:移除过时数据,利用上一个时间窗口内到达的消息区块继续训练已有模型。维护后的模型重新进入检测阶段。


下面逐一介绍KPGNN的组成部分,分别是预处理(Preprocessing)、消息嵌入(Message Embedding)、训练(Training)、检测(Detection),如图2所示。


图2,KPGNN的整体架构。(a) 为异构社交图,(b) 为消息的初始特征向量,(c) 为同构消息图,(d) 为图神经网络,(e) 为对比学习损失函数,(f) 为消息聚类模块。


2. 预处理:异构社交消息建模


KPGNN采用异构信息网络(Heterogeneous Information Network,简称HIN,即包含多种类型的节点和边的图)将社交消息中的词、命名实体、用户id、消息id等元素进行建模,形成如图 2(a) 所示的异构社交图。


随后,KPGNN将异构社交图映射为只包含消息节点的同构消息图,如图 2(c) 所示。映射的规则是:如果两条消息在异构社交图中间接相连(即与同一个节点有连边,例如两条微博都提到了同一个词,或都是同一个用户发出的),则认为这两条消息可能是相关的,在同构消息图中连接它们。


同时,为每条消息构建初始特征向量,如图 2(b) 所示。初始特征向量包含了消息的文本特征和时间特征。


需要注意的是,同构消息图不是静态的。当有新消息区块抵达,KPGNN将新的消息节点和连边添加进同构消息图。同时,KPGNN定期维护同构消息图,移除过时的消息节点和连边(如图1 阶段三所示)。作者在实验部分比较了不同的维护策略。


3. 知识保存的增量消息嵌入


KPGNN通过在同构消息图上训练图神经网络来学习消息的表征,如图2(d) 所示。KPGNN能够保存知识:所学习到的消息表征保留了消息的语义信息、时序信息、消息之间的关联等知识,经过训练的图神经网络参数则保留了KPGNN对社交数据的认知。


为了使模型能够在增量场景下学到训练时所没见过的新消息的表征,KPGNN采用了基于注意力机制的图神经网络(这类图神经网络具备归纳学习能力,对于一条目标信息,只访问其邻居信息节点的特征,因此不要求整个图结构是固定的)。


4. 对比学习实现可扩展训练


由于新消息的不断加入,事件类别不是固定的,因此,KPGNN采用了三元组损失(triplet loss)函数。三元组损失函数不限制类别总数。对一条消息(称为锚点消息),选择一条同类别消息(称为正消息)和一条不同类别的消息(称为负消息),构成一个三元组。三元组损失函数使锚点消息和正消息的表征尽可能接近,同时和负消息的表征尽可能远离。


同时,为了更好地捕捉图结构,KPGNN还引入了全局-局部对损失(global-local pair loss)项。全局-局部对损失可以最大化局部表征(即单条消息的表征)和全局表征(即消息图中所有消息的表征的均值)之间的互信息(mutual information),从而使模型所学到的消息表征包含更多的图结构信息。KPGNN总损失函数为三元组损失项与全局-局部对损失项之和,如图2(e) 所示。


为了适应大规模的消息图,KPGNN在训练时采用了小批量(mini-batch)子图采样(subgraph sampling),以上两项损失项均在子图上计算得到。


请注意,KPGNN在生命周期的预训练阶段(图1 阶段一)和维护阶段(图1 阶段三)均会进行训练。区别在于,预训练阶段的训练是从头进行的,而维护阶段的训练则是在已有模型的基础上,利用近期到达的数据继续训练。


5. 检测:消息聚类


在生命周期的检测阶段(图1 阶段二),KPGNN对新到达的消息学习表征,并进行聚类,得到的消息类簇即为社交事件。


实验



实验部分采用了两个大规模数据集:Twitter数据集(68841条消息,503个事件类别)和MAVEN数据集(10242条消息,154个事件类别)。


作者进行了静态场景下和增量场景下的实验,其中,静态实验将数据集简单拆分为训练集、验证集和测试集,增量实验则将数据集按时间顺序拆分为消息区块以模拟线上场景。所报告的指标有NMI、AMI、ARI。


基线模型包括文本嵌入方法(Word2vec、LDA、BERT、BiLSTM),文本相似度比较方法(WMD),基于图神经网络的静态社交事件检测方法(PP-GCN),基于社群检测的增量社交事件检测方法(EventX),以及KPGNN模型的变种(KPGNN_t,去掉全局-局部对损失项,仅采用三元组损失项)。


在两类实验中,KPGNN的表现均为最佳。作者还在KPGNN生命周期中的维护阶段采取不同策略,进行比较。实验结果表明,在维护阶段移除全部旧消息(从这些旧消息中学到的知识仍以参数的形式保留在模型中)、仅采用上一个时间窗口内到达的消息区块重构消息图所获得的效果最佳,速度最快,内存消耗也最小。


此外,参数敏感度实验结果表明,维护模型的时间窗口的长度(w)、小批量子图的节点数这两项超参数对KPGNN的表现影响较小。


结论



这篇文章从知识保存的角度解决增量社交事件检测问题。文章提出的KPGNN模型整合了社交数据中的语义和结构信息以获取知识。KPGNN从动态的社交消息流中不断检测事件、学习新知识。实验中,KPGNN表现良好。作者计划今后将KPGNN拓展运用于解决社交事件分析(包括事件演化)、社交数据中的因果发现等问题。


注:KPGNN的代码和预处理后的实验数据均已公开(https://github.com/YuweiCao-UIC/KPGNN)。定义、算法、时间复杂度分析、实验设置及结果、相关工作介绍等详见原文(https://arxiv.org/pdf/2101.08747.pdf)。


以上是关于WWW'21 | 图神经网络增量学习在事件检测中的应用的主要内容,如果未能解决你的问题,请参考以下文章

顶会CIKM‘21论文解读:基于图神经网络的人类行为轨迹恢复模型

(21)UML类图学习

对于简单的增量表单更新来说,事件溯源是不是过大?

如何使用机器学习从数据序列中计算状态图?

GRNN回归预测基于matlab有限增量进化广义回归神经网络LIEV-GRNN数据回归预测含Matlab源码 2132期

GRNN回归预测基于matlab有限增量进化广义回归神经网络LIEV-GRNN数据回归预测含Matlab源码 2132期