发明内容
本发明的目的在于克服现有技术中存在的至少一个上述问题,提供一种基于Skip-gram的信息传播预测模型,该模型试图捕捉信息级联的动态扩散过程并获得级联网络的结构特征. 为了捕获动态扩散过程,将级联图中每个扩散时间的扩散路径放入GRU中,以获得路径表示,将路径表示与扩散时间加权,然后合并所有路径表示.为了充分利用级联网络的结构特征,将级联图表示为一组随机游走路径然后将其输入到Skip-gram中得到节点表示,然后将所有节点表示合并。最后,将动态扩散过程与结构特征相结合,预测信息级联的增长规模。
为实现上述技术目的,达到上述技术效果,本发明是通过以下技术方案实现:
本发明提供一种基于Skip-gram的信息传播预测模型,该模型的框架将级联作为输入,预测级联图的增长规模作为输出,该模型主要包括四个部分:
第一部分即扩散路径编码:根据观测到的级联扩散顺序,通过循环神经网络对扩散路径进行编码;
第二部分即时间效应:扩散路径编码后结合时间效应进一步提取级联表示;
第三部分即结构建模:将随机游走采样的序列通过Skip-gram获得级联图的结构特征表示;
第四部分即预测:将带有时间效应的级联表示和结构表示结合输入到多层感知机中进行级联规模预测。
进一步地,上述信息传播预测模型中,作为输入的级联,关于级联预测问题中“社交图”的定义为:给定一个社交网络图的快照G=(V,E),其中V是该社交图的节点集,EVV是节点的边集,一个节点可以是一个社交平台的一个用户或学术论文网络中的一篇论文,边则表示两个节点之间的关系,如转发或引用等。
进一步地,上述信息传播预测模型中,作为输入的级联,关于级联预测问题中“级联图”的定义为:假设社交网络中有M条消息,对于第i条消息使用级联图表示,每个级联图对应一个演化序列,使用级联来表示级联图在时间内的扩散过程,其中表示在时间内参与级联的用户,表示中用户之间的反馈关系(如转发或引用),则表示原始帖子发生转发的间隔时间;级联图的扩散过程,即,……,以此类推。
进一步地,上述信息传播预测模型中,作为输入的级联,关于级联预测问题中“增长规模”的定义为:消息或论文的转发或者引用的数量;给定一个级联,在观测时间窗口内,在给定固定时间间隔下,预测的增长规模,即。
进一步地,上述信息传播预测模型中,在扩散路径编码这个部分中,参与级联扩散的用户不仅会受到刚发生转发行为的用户影响,还会受到以前用户的影响;同样,之前的参与者也会对其直接转发者和间接转发者造成影响;用户A发布了一条消息,用户B转发了用户A的这条消息,用户D转发了用户B的这条消息,则这条消息的转发路径为A→B→D,用户A仍然对消息的传递产生影响;级联中的每个用户都能够在从开始到结束的整个扩散过程中影响其他用户;因此,对整个的级联扩散传播路径进行编码。
使用门控递归单元GRU对整个扩散路径进行编码;首先将扩散路径中的每个用户用一个one-hot向量表示,然后按照扩散路径的顺序将扩散路径中的第k个用户,记为,馈送到GRU单元,对其进行更新操作后更新隐藏状态,其中输出,输入,表示更新前的隐藏状态,为用户的维度,为隐藏状态的维度,GRU的更新公式如下:
重置门的计算公式为:
更新门的计算公式为:
隐藏状态通过以下公式计算:
其中,为sigmoid激活函数,,,,,,和,,是独立可训练的参数。
进一步地,上述信息传播预测模型中,在时间效应这个部分中,时间效应是级联信息扩散的普遍现象,在级联预测中发挥着重要作用;例如,微博中的帖子通常在发布后的第一时间被频繁转发,并且转发次数随着时间的推移而减少;
假设一个级联其产生后的持续时间为t,则很容易知道其产生和每次转发或引用之间的时间间隔;得到级联图中每个用户转发的时间间隔,其中是用户v转发消息的时间,是帖子的原始发布时间;
为了了解时间对级联的影响,采用以下时间衰减效应;假设观测的级联时间窗口[0,T],将时间窗口分割成大小相等的时间间隔,其中,,为每个扩散时间分配相应的时间间隔,计算t时刻转发的时间衰减效应相应的时间间隔:
时间衰减效应的函数为:
然后将得到的级联隐藏状态加入时间衰减效应,进一步得到
求和,以获得级联的表示向量:
进一步地,上述信息传播预测模型中,在结构建模这个部分中,级联未来的规模很大程度上取决于谁是信息“传播者”,即当前级联图中的节点;因此,表示一个图的一种直接的方法是将其视为一组节点;然而,这种方法显然忽略了级联图中的结构信息,这对于预测扩散十分重要;有偏的随机游走考虑了广度优先和深度优先的采样策略,可以更好的捕获级联图的结构信息,因此将级联图表示为通过多个有偏的随机游走过程采样的一组级联路径,对于每个随机游走过程,首先通过以下概率对起始节点进行采样:
式中,表示平滑参数,表示级联中节点u的出度,表示全局图中u的度;是级联中的节点集;在起始节点之后,按照以下概率对邻居节点进行迭代采样:
式中,是级联图中的邻居集。
随机游走采样序列的数量和长度在确定级联图的表示中起着关键作用;因此,为了更好的进行采样过程,设置了两个参数L和K,其中K代表采样的序列个数,L代表每个序列的长度;将L和K固定为常数,当达到预定义的长度L时,或者到达没有任何传出邻居的节点时,停止对一个序列的采样;如果节点序列的长度小于L,由一个特殊的节点“+”填充,这个采样序列的过程一直持续到采样预定义的K个序列为止。
Skip-gram模型应用于处理自然语言的词表示,旨在根据同一个句子中的另一个词尽可能多地对一个词进行分类;具体地说,每个给定单词的表示是输入,该模型使用逻辑回归来预测句子中输入单词前后一定距离内的单词;类似地,将随机游走获得的节点序列作为输入,经过投影(projection)层的对数函数映射得到每个节点的嵌入向量;假设是由邻域采样策略生成的节点v的邻域列表,嵌入表示记为,其中n是节点数;通过Skip-gram模型优化以下目标以最大化所有的节点邻域的对数概率,如下所示:
根据条件独立性假设,得:
根据Node2vec中的特征空间对称性假设,假设源节点和相邻节点在嵌入空间中彼此具有对称效应,则每个源邻域节点对的条件似然函数可以使用由其特征的点积参数化的softmax函数进行建模:
根据上述假设,最终的目标函数可以简化为:
进一步地,上述信息传播预测模型中,在预测这个部分中,将预测的增长规模和真实值之间的平方损失最小化,其中使用多层感知机作为预测,公式如下:
式中,表示MLP的可训练参数,表示预测级联增长规模,表示真实的增长规模。
本发明的有益效果是:
本发明提出了一种新的基于Skip-gram的信息传播预测模型来预测信息级联的增长大小;首先,利用级联图的扩散路径和每个扩散时刻的时间效应,得到级联图的动态扩散过程;其次,将有偏随机游走采样序列放入skip-gram模型中,以获得级联信息的结构表示;最后,结合动态扩散过程和结构表示来预测信息级联的增长大小。在两个真实数据集上的大量实验表明,与最先进的模型相比,本发明模型SkipCas显著提高了预测精度。
当然,实施本发明的任一产品并不一定需要同时达到以上的所有优点。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
本发明提供一种基于Skip-gram的信息传播预测模型,如图1所示,该模型的框架将级联作为输入,预测级联图的增长规模作为输出,该模型主要包括四个部分:
第一部分即扩散路径编码:根据观测到的级联扩散顺序,通过循环神经网络对扩散路径进行编码;
第二部分即时间效应:扩散路径编码后结合时间效应进一步提取级联表示;
第三部分即结构建模:将随机游走采样的序列通过Skip-gram获得级联图的结构特征表示;
第四部分即预测:将带有时间效应的级联表示和结构表示结合输入到多层感知机中进行级联规模预测。
本发明中,作为输入的级联,关于级联预测问题中“社交图”的定义为:给定一个社交网络图的快照G=(V,E),其中V是该社交图的节点集,EVV是节点的边集,一个节点可以是一个社交平台的一个用户或学术论文网络中的一篇论文,边则表示两个节点之间的关系,如转发或引用等。
本发明中,作为输入的级联,关于级联预测问题中“级联图”的定义为:假设社交网络中有M条消息,对于第i条消息使用级联图表示,每个级联图对应一个演化序列,使用级联来表示级联图在时间内的扩散过程,其中表示在时间内参与级联的用户,表示中用户之间的反馈关系(如转发或引用),则表示原始帖子发生转发的间隔时间;级联图的扩散过程如图2所示,即,……,以此类推。
本发明中,作为输入的级联,关于级联预测问题中“增长规模”的定义为:消息或论文的转发或者引用的数量;给定一个级联,在观测时间窗口内,在给定固定时间间隔下,预测的增长规模,即。
本发明中,在扩散路径编码这个部分中,参与级联扩散的用户不仅会受到刚发生转发行为的用户影响,还会受到以前用户的影响;同样,之前的参与者也会对其直接转发者和间接转发者造成影响;用户A发布了一条消息,用户B转发了用户A的这条消息,用户D转发了用户B的这条消息,则这条消息的转发路径为A→B→D,用户A仍然对消息的传递产生影响;级联中的每个用户对其之后的转发都可能会产生直接或间接的影响;因此,对整个的级联扩散传播路径进行编码。
使用门控递归单元GRU对整个扩散路径进行编码;首先将扩散路径中的每个用户用一个one-hot向量表示,然后按照扩散路径的顺序将扩散路径中的第k个用户,记为,馈送到GRU单元,对其进行更新操作后更新隐藏状态,其中输出,输入,表示更新前的隐藏状态,为用户的维度,为隐藏状态的维度,GRU的更新公式如下:
重置门的计算公式为:
更新门的计算公式为:
隐藏状态通过以下公式计算:
其中,为sigmoid激活函数,,,,,,和,,是独立可训练的参数。
本发明中,在时间效应这个部分中,时间效应是级联信息扩散的普遍现象,在级联预测中发挥着重要作用;例如,微博中的帖子通常在发布后的第一时间被频繁转发,并且转发次数随着时间的推移而减少;
假设一个级联其产生后的持续时间为t,则很容易知道其产生和每次转发或引用之间的时间间隔;得到级联图中每个用户转发的时间间隔,其中是用户v转发消息的时间,是帖子的原始发布时间;
为了了解时间对级联的影响,采用以下时间衰减效应;假设观测的级联时间窗口[0,T],将时间窗口分割成大小相等的时间间隔,其中,,为每个扩散时间分配相应的时间间隔,计算t时刻转发的时间衰减效应相应的时间间隔:
时间衰减效应的函数为:
然后将得到的级联隐藏状态加入时间衰减效应,进一步得到
求和,以获得级联的表示向量:
本发明中,在结构建模这个部分中,级联未来的规模很大程度上取决于谁是信息“传播者”,即当前级联图中的节点;因此,表示一个图的一种直接的方法是将其视为一组节点;然而,这种方法显然忽略了级联图中的结构信息,这对于预测扩散十分重要;有偏的随机游走考虑了广度优先和深度优先的采样策略,可以更好的捕获级联图的结构信息,因此将级联图表示为通过多个有偏的随机游走过程采样的一组级联路径,对于每个随机游走过程,首先通过以下概率对起始节点进行采样:
式中,表示平滑参数,表示级联中节点u的出度,表示全局图中u的度;是级联中的节点集;在起始节点之后,按照以下概率对邻居节点进行迭代采样:
式中,是级联图中的邻居集。
随机游走采样序列的数量和长度在确定级联图的表示中起着关键作用;因此,为了更好的进行采样过程,设置了两个参数L和K,其中K代表采样的序列个数,L代表每个序列的长度;将L和K固定为常数,当达到预定义的长度L时,或者到达没有任何传出邻居的节点时,停止对一个序列的采样;如果节点序列的长度小于L,由一个特殊的节点“+”填充,这个采样序列的过程一直持续到采样预定义的K个序列为止。
Skip-gram模型应用于处理自然语言的词表示,旨在根据同一个句子中的另一个词尽可能多地对一个词进行分类;具体地说,每个给定单词的表示是输入,该模型使用逻辑回归来预测句子中输入单词前后一定距离内的单词;类似地,将随机游走获得的节点序列作为输入,经过投影(projection)层的对数函数映射得到每个节点的嵌入向量;假设是由邻域采样策略生成的节点v的邻域列表,嵌入表示记为,其中n是节点数;通过Skip-gram模型优化以下目标以最大化所有的节点邻域的对数概率,如下所示:
根据条件独立性假设,得:
根据Node2vec中的特征空间对称性假设,假设源节点和相邻节点在嵌入空间中彼此具有对称效应,则每个源邻域节点对的条件似然函数可以使用由其特征的点积参数化的softmax函数进行建模:
根据上述假设,最终的目标函数可以简化为:
本发明中,在预测这个部分中,将预测的增长规模和真实值之间的平方损失最小化,其中使用多层感知机作为预测,公式如下:
式中,表示MLP的可训练参数,表示预测级联增长规模,表示真实的增长规模。
本发明的具体实施例如下:
在本实施例中,描述了在真实数据集上进行的实验的细节,以及提出的模型和基线方法之间的结果分析。
1)数据集
本实施例评估了提出的模型在两种信息级联预测场景下的有效性,并使用公开可用的数据集(微博和APS)与以前的工作进行比较,数据集统计情况如表1所示:
表1 数据集的统计信息
Sina Weibo是提供的公开数据集,每条推特及其转发都可以形成一个转发级联。遵循与类似的实验设置,即观察时间窗口的长度为T =1小时、2小时和3小时,由于昼夜节律的影响关注的是上午8点至下午6点之间发布的推文。随机选择70%用于训练,15%用于验证,其余15%用于测试。
American Physical Society (APS)包含由APS期刊发表的科学论文,APS数据集中的每篇论文及其引用形成一个引用级联,级联的增长规模为被引用次数。对于观测时间窗口的长度T, 选择T = 5年、7年和9年,同样地,前70%的数据用于训练,15%用于验证,15%用于测试。
2)对比方法
将提出的模型与一些最先进的级联预测方法进行比较,包括:
Feature-based:最近的研究表明,结构特征、时间特征和其他特征(例如,内容特征)对于信息级联预测有重要作用.选择了级联图中常用的几个特征(例如,节点数、边数、平均度数、边密度),并通过 Feature-linear 和 Feature-Deep 预测级联的规模。
Node2vec:它作为节点嵌入方法的代表.在级联图执行随机游走,并为每个节点生成嵌入向量。然后,将级联图中所有节点的嵌入信息输入到MLP中进行预测。具体文献参考Grover, A., Leskovec, J.: Node2vec: scalable feature learning for networks.In: SIGKDD, pp.855-864 (2016)。
DeepCas:第一个用于信息级联预测的深度学习体系结构,它通过随机游走将级联图表示为一组随机游走路径,并使用GRU和注意机制来以端到端的方式建模和预测级联大小。具体文献参考Li, C., Ma, J., Guo, X., Mei, Q.: DeepCas: An end-to-endpredictor of information cascades. In: WWW, pp. 577-586(2017)。
Topo-LSTM:它使用有向无环图作为扩散拓扑,使用LSTM对图中节点之间的关系建模.每个节点在给定时间的隐藏状态和单元取决于在该时刻之前被感染的每个先前节点的隐藏状态和单元。具体文献参考Wang, J., Zheng, V.W., Liu, Z., Chang, K.C.:Topological recurrent neural network fordiffusion prediction. In: ICDM, pp.475-484 (2017)。
Deep-Hawkes:它将深度学习的高预测能力集成到Hawkes过程的可解释因素中,用于级联规模预测,弥合了预测和理解信息级联之间的差距。具体文献参考Cao,Q., Shen,H., Cen, K., Ouyang, W.R., Cheng, X.: DeepHawkes: bridging the gap betweenprediction and understanding of information cascades. In: CIKM, pp.1149-158(2017)。
CasCN:它将级联图采样为一系列的子级联图序列,通过图卷积来学习每个子级联的局部结构,然后使用LSTM捕获级联结构的演化过程。具体文献参考Chen, X., Zhou, F.,Zhang, K., Trajcevski, G., Zhong, T.: Information diffusion prediction viarecurrentcascades convolution. In: ICDE, pp. 770-781 (2019)。
DeepCon+Str:它从整体上学习级联的嵌入,首先基于内容和结构相似度构造高阶图,学习每个级联图的低维表示,然后通过半监督语言模型进行级联预测。具体文献参考Feng, X., Zhao, Q., Liu, Z.: Prediction of information cascades via contentandstructure proximity preserved graph level embedding. Inf. 560, 424-440(2021)。
3)评估指标
本实施例采用均方对数转换误差:
MSLE (mean square log-transformed error)来评估测试集上的预测精度,这在级联预测评估中广泛使用。MSLE定义为:
其中,M是消息的总数,是消息预测值,是真实值。
4)参数选择
本实施例模型涉及多个超参数,例如,Feature-linear中的L2系数选择0.05。对于Feature-deep,参数类似于基于深度学习的方法.对于级联图的采样序列,设置K = 200条路径,每条路径的长度L = 10,对于Node2Vec,遵循Node2vec的工作。
对于DeepCas、DeepHawkes、Topo-LSTM、CasCN、DeepCon+Str以及的模型SkipCas都遵循DeepCas的设置,其中用户的嵌入维度为50,每个GRU的隐藏层为32个单元,两层MLP的隐藏维度。
分别为32和16;学习率为0.005,batch大小设置为32,平滑参数设置为0.01。
5)实验结果
在Weibo和APS数据集上将所提出的模型与几种基线方法的性能进行了比较,结果如表2所示:
表2 不同方法间信息级联预测的整体性能比较
实验结果表明,SkipCas模型在两个数据集的信息级联预测方面表现相对较好,它不仅优于传统方法,而且优于最先进的深度学习方法,MSLE在统计上显著降低。在Weibo和APS数据集上绘制了SkipCas的训练过程,如图3所示,可以看出,SkipCas 损失逐渐收敛到较低的结果。
Feature-deep和Feature-linear之间的性能差距非常小,而且在APS数据集上Feature-linear的性能要优于Feature-Deep,这意味着如果有一组信息级联的代表性特征,深度学习并不总是比传统的预测方法表现得更好。然而,这些方法的性能在很大程度上取决于手工抽取的相关特征,很难推广到其他领域。
对于嵌入方法,Node2vec在两个数据集的表现都较差。它只用图中的节点来表示网络,而忽略级联中的其他结构和内容信息。
DeepCas在Weibo数据集上表现出比基于特征的方法更好的性能,但在APS数据集中DeepCas却不如基于特征的方法,这再次说明深度学习方法并不一定优于基于特征的方法。然而,由于忽略了级联图的时间特征和拓扑结构,它的性能仍然比其他基于深度学习的方法表现要差;同样,Topo-LSTM也缺乏时间特征,无法从级联中提取足够的信息,因此其性能与的模型相比略差。DeepHawkes没有考虑级联的拓扑信息,其性能取决于时间序列建模能力。CasCN虽然同时利用了级联网络的结构和时间信息,但由于其学习结构信息的能力较弱,表现并不是最好的。DeepCon+Str利用级联图结构和内容的相似性获取整个级联图的嵌入,但没有考虑时间因素,从而影响了预测性能。
在这些基线中,SkipCas的性能最好,在两个数据集上都取得了较好的效果,因为它充分研究了级联的动态扩散信息和结构特征。
6)消融实验
为了更好的表达SkipCas的每个组件的有效性,本实施例提出了四种变体,如表3所示:
表3 SkipCas及其变体之间的性能比较
表3概述了模型与变体之间的性能比较。
1、SkipCas-LSTM,该方法使用LSTM来代替所提出模型的GRU。与GRU类似,LSTM的变体通过额外的门控单元对级联信息进行建模。
2、SkipCas-Time,该方法不考虑级联图的时间效应,是为了测试在提出模型中时间效应的必要性。
3、SkipCas-Path,该方法使用随机游走采样的序列代替扩散路径。
4、SkipCas-Skipgarm,该方法不考虑所提出模型的skip-gram组件,仅使用GRU和时间特征来预测,以检验级联图结构的重要性。
由表3可以看出,与其他变体相比,原模型SkipCas的预测误差有一定的降低。虽然SkipCas-LSTM的误差与原模型的差距并不大,但仍可以说明选择的循环神经网络是正确的;通过对比SkipCas-Time,发现忽略时间效应会导致预测误差的显著增加,这说明时间效应在级联的预测中是必不可少的。同样,SkipCas-Path的预测性能也显著降低,这说明扩散路径可以更好的反映级联图的变化过程。此外,SkipCas-Skipgram与原模型相比,预测效果明显下降,这充分说明级联图的结构信息在级联预测中的重要性。
综上,级联的时间效应和结构特征对未来级联预测是十分重要的,本实施例也证明了所提出模型各个组件的有效性和必要性,从本质上提高了信息级联预测的性能。
7)参数分析
观测时间窗口T是模型的一个重要参数,如图4所示,在Weibo数据集上,可以观察到随着观测时间的增加,MSLE的值不断降低,3小时比1小时的预测误差提高了16%;同样,在APS引文数据集上也有同样的效果,随着观测年份的增加,预测性能不断提高,9年的预测误差比5年的提升了10.1%。
这说明随着观测时间窗口T的增大,可以观测的信息就越多,越容易做出更加准确的预测,这也是训练数据增加的自然结果。
对于时间间隔l,选择微博为2小时和APS为7年的数据集进行分析。从图5(上)可以看出,随着时间间隔的增加,模型的预测性能逐渐提高,但是当时间间隔超过8时性能又开始下降。因此,本实施例的实验采用时间间隔l=8。对于用户嵌入维度d同样选择微博为2小时和APS为7年的数据集,实验结果如图5(下)所示。随着维度d的增加,模型的预测性能也在提高,当d为50时,MSLE的值最小,说明此时的预测效果最好;但当用户维度超过50时,预测性能并未提高反而减低。因此,本实施例实验采用用户嵌入维度d为50。
本发明提出了一种新的基于Skip-gram的信息传播预测模型,在级联图中对每个扩散时间的扩散路径进行编码得到级联图的动态扩散过程,利用随机游走采样的序列通过skip-gram得到级联图的结构特征,然后结合扩散过程和结构特征预测信息级联的增长规模。在两个真实数据集上的实验结果表明,SkipCas显着提高了级联预测效果.对于未来的工作,计划探索更有效的方法来进一步挖掘级联之间的结构信息。
以上公开的本发明优选实施例只是利于帮助阐述本发明。优选实施例并没有详尽叙述所有的细节,也不限制该发明仅为具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本发明的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本发明。本发明仅受权利要求书及其全部范围和等效物的限制。