(二十六)【2021 WWW】Knowledge-Preserving Incremental Social Event Detection via Heterogeneous GNNs

在这里插入图片描述
题目: 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,...,Mi1,Mi,...是社会信息块的连续和时间序列,其中MiM_iMi是一个消息块包含了在时间段内到达的所有消息[ti,ti+1)[t_i,t_{i+1})[ti,ti+1)

我们表示一个消息块MiM_iMiMi={mj∣1≤j≤Mi}M_i = \left \{{m_j|1\le j\le M_i} \right \}Mi={mj1jMi},其中mmm是单个消息! mj={dj,uj,tj}m_j = \left \{ d_j,u_j,t_j \right \}mj={dj,uj,tj}表示为一种社会消息。 其中djd_jdjuju_jujtjt_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={mi1ie}一组相关的社会信息,讨论相同的现实世界发生的事情。注意,我们假设每个社交信息最多只属于一个事件

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={ek1kEi}是包含在MiM_iMi一组事件。

Definition 2.4.
给定社会流S,incremental social event detection算法学习一系列的事件检测模型f0,...,ft−w,ft,...f_0,...,f_{t-w},f_t,...f0,...,ftw,ft,...,这样ft(Mi;θt,θt−w)=Eif_t(M_i;\theta _t,\theta_{t-w})=E_ift(Mi;θt,θtw)=Ei会为所有的在{Mi∣t+1≤i≤t+w}\left \{ M_i|t+1 \le i \le t+w \right \}{Mit+1it+w}中的消息块。 这里,Ei={ek∣1≤k≤∣Ei∣}E_{i}=\left\{e_{k}|1 \leq k \leq| E_{i} \mid\right\}Ei={ek1kEi}是一系列的事件包含在消息块MiM_iMiwww是更新模型的window size,而θt\theta_tθtθt−w\theta_{t-w}θtw是两个模型ftf_tftft−wf_{t-w}ftw的参数。 注意ftf_tft扩展了ft−wf_{t-w}ftw的知识,通过根据θt−w\theta_{t-w}θtwf0f_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,eu

异构节点类型: 现有的异构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_imimjm_jmj链接到一些常见类型k节点,[Wmk⋅Wmk⊤]i,j\left[\boldsymbol{W}_{m k} \cdot \boldsymbol{W}_{m k}^{\top}\right]_{i, j}[WmkWmk]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={xmiRd1iN}},其中xmix_{m_i}xmimim_imi的初始特征向量,d是维度,是与相应的消息节点关联。我们将齐次消息图表示为G=(X,A)\mathcal{G}=(X,A)G=(X,A)

注意G\mathcal{G}G是静态的,当新消息块到达进行检测时(如图2第二阶段所示),我们通过插入新消息节点、它们与现有消息节点的链接和他们内部的链接到G\mathcal{G}G来更新图。 类似地,我们定期从中删除过时的消息节点和与其相关联的边。在第4节中,我们对不同的更新维护策略进行了实证比较。

3.3 Knowledge-Preserving Incremental Message Embedding

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/476062.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

IL应用之——用IL分析接口的本质

IL反编译利器——Ildasm.exe和Reflector.exe:一:Ildasm.exe简介 这一微软VS自带工具,在上一篇博文《初识Ildasm.exe——IL反编译的实用工具》中已经做了详细介绍,这里不再鳌述;二:Reflector.exe简介 至此(1…

自定义_如何自定义协议

前言何为自定义协议,其实是相对标准协议来说的,这里主要针对的是应用层协议;常见的标准的应用层协议如http、ftp、smtp等,如果我们在网络通信的过程中不去使用这些标准协议,那就需要自定义协议,比如我们常用…

校验json格式_格式化展示,校验错误,编辑JSON,这几个JSON工具一定不能错过

今天给大家介绍几个常用JSON的工具,基本上能满足你工作中对JSON的所有需求google插件 JSONView安装好插件后,格式化接口返回的JSON,还能展开节点和关闭节点,超级方便格式化本地JSON,检验错误JSON Viewer网页版将杂乱的…

推荐系统常用评价指标和代码实现

评价指标 Recall 名称: 召回率(真阳性率) 意义:在推荐系统中,我们只关心正确推荐的有多少,也就是用户真实喜欢的,并不会关心推荐错的,所以我们用召回率,而不是准确率&a…

python timeit用法_十大Python开发技巧

Python开发指南, 超级实用足以让您震撼> Photo by Christina Morillo from StockSnap时不时地,当我了解Python的新功能时,或者我发现其他一些人不知道该功能时,我会记下它。在过去的几周中,我最近了解或实现了一些有趣的功能-S…

python编程中的经验(一直更新)

文章目录1. python基础语法1.1 怎么让两个list或者其它可以迭代的放到一起1.2 random.choice(x, n, replaceTrue) numpy中从某个数据集中选择1.3 如何根据key返回字典的value1.4 The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all…

Cairngorm初学者入门教程 第六节--Cairngorm中Command利用Delegate与Service连接

在上一节,我们利用FrontController 去映射 Event与Command 在这一节我们主要针对Command这部分动作做介紹。在RIA应用程序中,不可或缺的部份就是跟后台服务器连接进行数据传递。Command通过Delegate去做Services的部份(包含Remoting,WebServices,…等) C…

3d点击_3D打印服务加工在医疗器械行业的应用

3D打印技术如今已经很常见的出现在了我们日常的制造生产中。普通的3D打印机从最开始的几万块到如今的几千块,设备价格的降低也使得3D打印技术普及率的增加,而技术的普及也推动着技术的发展。3D打印开始应用到许多行业当中,下面悟空打印坊3D打…

所有算法库的使用(sklearn,scipy)

文章目录1. sklearn1.1 sklearn.preprocessing 之 fit 和 transform 以及 fit_transform1.2 算法之 fit 和 predict和predict_proba1.3 predict_proba1.4 各种评测指标1.4.1 R2R^2R21.4.2 准确度、精准率、召回率1.4.3 平均绝对误差(MAE)和均方误差(MSE)1.5 特征缩放 StandardS…

android aar保存图片文件异常_我去!合并AAR时踩坑了!

点击上方“刘望舒”,马上关注,早上8:42推送真爱,请置顶或星标作者: leeon7https://www.jianshu.com/p/8f7e32015836背景在输出Android模块时,有时会因为个别原因(比如来自业务的不可抗力),要求将模块打包成一个文件提供…

与kylin_Kylin 迁移到 HBase 实践在小米的实践

背景小米Kylin生产环境部署的是基于社区2.5.2修改的内部版本,所依赖HBase集群是一个公共集群,小米内部很多离线计算服务共享使用该HBase集群。由于Kylin已经产生超过6000张HBase表,给HBase的metadata管理造成了不小的压力,HBase m…

LeetCode 1227. 飞机座位分配概率(DP+数学归纳法)

1. 题目 有 n 位乘客即将登机,飞机正好有 n 个座位。第一位乘客的票丢了,他随便选了一个座位坐下。 剩下的乘客将会: 如果他们自己的座位还空着,就坐到自己的座位上, 当他们自己的座位被占用时,随机选择…

LeetCode 1025. 除数博弈(动态规划)

1. 题目 爱丽丝和鲍勃一起玩游戏&#xff0c;他们轮流行动。爱丽丝先手开局。 最初&#xff0c;黑板上有一个数字 N 。在每个玩家的回合&#xff0c;玩家需要执行以下操作&#xff1a; 选出任一 x&#xff0c;满足 0 < x < N 且 N % x 0 。用 N - x 替换黑板上的数字…

BN / LN / IN / GN /

链接 但是代码不敢苟同! 所以自己写了两种代码! 由于这只是测试, 并不是用来训练, 所以α和β参数就没有加! def BN(inputs):c inputs.shape[1]for i in range(c):channel inputs[:,i,:,:]mu np.mean(channel)var np.var(channel)channel_new ((channel - mu)/(np.sqrt(…

中文验证码 php_还在苦恼验证码怎么实现?看看这个验证码组件合集,你想要的都有...

随着安全性的要求越来越高&#xff0c;如今的验证码已经不再是简单的四个数字或者字母了&#xff0c;更复杂的图形验证码和行为验证码已经成为了更流行的趋势&#xff0c;但更难的实现也让很多开发者头秃&#xff0c;Gitee 已经替你们想到了这一点。不多说了&#xff0c;下面这…

reload端口 tomcat_tomcat上部署网站的三种方式

一、利用webapps文件夹自动部署这是最简单的方式&#xff0c;只要将网站直接拷贝到&#xff1a;tomcat根目录下的webapps文件夹里举例&#xff1a;helloworld文件夹下创建里index.html文件&#xff0c;然后把helloworld文件夹移动到tomcat根目录下webapps文件夹里&#xff0c;重…

不能用蛮力法解决的问题_溆浦事蒙汉:脱贫攻坚绝不能心浮气躁骄傲自满疲倦厌战...

脱贫攻坚绝不能心浮气躁骄傲自满疲倦厌战——蒙汉到卢峰镇检查“四支队伍”集村部工作情况检查南华山村“四支队伍”集村部工作情况与大潭村贫困户舒采米座谈红网溆浦讯(记者 伍交才)8月28日&#xff0c;市人大常委会副主任、县委书记蒙汉到卢峰镇南华山村、大潭村检查“四支队…

mock模拟接口测试 vue_vue+mock.js实现前后端分离

之前都是介绍在普通项目中使用mock.js&#xff0c;那么本次就来介绍一下在vue中使用mock.js实现前后端分离。安装&#xff1a;npm install mockjs这里先写个小案例介绍一下具体使用&#xff0c;写法不规范&#xff0c;仅供参考。然后案例讲完后我们讲具体的规范使用那么一起来看…

mysql slow log 分析工具_mysql slow log分析工具的比较

mysql 中的 slow log 是用来记录执行时间较长(超过 long_query_time 秒)的 sql 的一种日志工具。启用 slow log在 my.cnf 中设置[mysqld]slow_query_logonslow_query_log_filemysql-slow重启 MySQL 服务。五款常用工具mysqldumpslowmysqlslamyprofimysql-explain-slow-logmysql…

利用寄存器进入栈值交换

代码 varA, B: Word;beginA :1; B :2; asmmov ax, a //赋值 mov bx, b push ax //进栈 push bx pop ax //退栈 pop bx mov a, ax //利用栈先进后出, ax已退栈, 寄存器里的值为原bx 的值 mov b, bx //利用栈先进后出, bx已退栈, 寄存…