基于向量压缩与重构的社交网络特征动态提取方法
技术领域
本发明属于物理技术领域,更进一步涉及向量表示技术领域中的一种基于向量压缩与重构的社交网络特征动态提取方法。本发明社交网络特征动态提取方法,用特征向量形式维护了社交网络的网络拓扑和时序演变特性,并将提取的特征用于社交关系发现,社团关系划分等网络结构数据挖掘任务。
背景技术
社交网络特征动态提取方法基于网络拓扑结构特征,通过对网络的动态建模,实现网络的低维向量化表达,来发掘网络的演变规律并动态提取社交网络特征。通常采用矩阵分解、随机游走、自编码器等神经网络技术进行动态网络特征提取,后续将捕捉到的网络特征输入到各类社交网络背景下的实际问题中进行求解,包括且并不限于社交关系预测、社团划分和推荐系统等网络结构数据挖掘任务。然而这些算法模型应用于动态特征提取具有各自的局限性,基于矩阵分解算法特征向量计算效率复杂且难以捕捉潜在的高阶链路属性。基于随机游走的算法受随机游走步长和方向限制,特征向量只能提取到二阶的网络结构特性。基于自编码的网络为半监督模型,只能产生固定长度序列的向量化表示。
中国科学院声学研究所在其申请的专利文献“一种基于深度动态网络嵌入表示模型的链路预测方法”(专利申请号201911279182.X,申请公开号110020379A)中公开了一种社交网络嵌入表示方法。该方法的实施步骤是:第一步,构建深度动态网络嵌入表示模型;第二步,从互联网抓取大量的网络数据,对网络数据进行预处理;第三步,按一定时间长度将网络数据划分为时间片,每个时间片下构造网络图和一阶时序邻接矩阵;第四步,多次迭代并用随机梯度下降法训练深度动态网络嵌入表示模型;第五步,对历史连接邻接矩阵进行迭代编码,所述解码器利用多层感知机网络对向量进行解码,得到每个向量的固定长度的嵌入表示,然后乘以权值矩阵得到下一个时刻的连接状态预测。该方法存在的不足之处是,该方法提出的网络嵌入表示模型只能预先设置好隐藏层结构,提取社交网络固定长度的特征向量,最大化保留低阶网络拓扑结构信息,提取的社交网络特征缺乏高阶性信息,社交网络特征提取准确率较低,在社交网络发现与社团关系划分中效果较差。
华中科技大学在其申请的专利文献“基于非负矩阵分解的社交网络特征提取方法”(专利申请号201911279182.X,申请公开号111091475A)中公开了一种社交网络特征提取方法。该方法的实施步骤是:第一步,计算不同视角社交网络图一阶邻接矩阵转化的拉普拉斯矩阵;第二步,对所有视角的拉普拉斯矩阵进行联合非负矩阵分解,得到基矩阵向量、每个视角的残差矩阵和系数矩阵;第三步,根据基矩阵和系数矩阵对每个视角的残差矩阵进行独立非负矩阵分解,得到各视角的基矩阵向量;第四步,将两种基矩阵向量级联,得到社交网络图的特征向量。该方法存在的不足之处是,该方法在社交网络中只能提取一阶网络拓扑结构,其特征向量无法对高阶网络拓扑结构进行表达,且此算法存在计算量庞大,矩阵分解产生的特征信息失真会导致社交网络特征提取准确率较低。
发明内容
本发明的目的在于针对上述现有技术存在的不足,提出一种基于向量压缩与重构的社交网络特征动态提取方法,用于解决现有特征提取方法忽略了社交网络特征的高阶性信息导致提取社交网络特征方法准确度较差的问题,以及计算规模大导致较低空间利用率和信息失真的问题。
实现本发明目的的思路是,构建社交网络数据集,利用深度半监督自编码器网络构造社交网络的压缩向量,构建并训练生成对抗网络,在生成对抗网络中输出当前社交网络的特征向量,实现社交网络特征的动态提取。
实现本发明目的的步骤如下:
(1)生成训练集:
(1a)在不同的30种节点社区中选取累计分布的至少1000个网络节点,每个网络节点在至少3个月的时间内存在2条与其他网络节点连接的边,且所有网络节点形成至少50000条边数,将节点社区、网络节点、网络节点构成的边和时间标签四种数据类型构成社交网络数据集;
(1b)将每条边按时间标签对社交网络数据集进行快照划分,得到每个时间间隔内由节点社区、网络节点和边三种数据类型构成的时间快照,对每个时间快照进行图数据建模处理得到快照图,将建模后的所有快照图构成训练集;
(2)构造深度半监督自编码器网络:
(2a)搭建一个7层的深度半监督自编码器网络,其结构依次为:输入层→第1全连接层→第2全连接层→输出层→第3全连接层→第4全连接层→解码重构层;其中,输入层与解码重构层基于网络层的参数维度对称,第1全连接层与第4全连接层基于网络层的参数维度对称,第2全连接层与第3全连接层基于网络层的参数维度对称;
(2b)设置深度半监督自编码器每层参数:
将第1、2、3、4全连接层的维度依次设置为1000,100,100,1000;
将输出层的输出维度设置为64;
每层的激活函数均使用sigmoid函数;
(3)构建生成对抗网络:
(3a)搭建一个由输入输出层、全连接层、分类层的生成器网络;将输入输出层的维度设置为64;输入输出层与全连接层均使用sigmoid函数,分类层采用softmax激活函数;
(3b)搭建一个由第1全连接层、第2全连接层、分类层的判别器网络;将第2全连接层和分类层的维度分别设置为64、1;激活函数均使用sigmoid函数;
(3c)将生成器网络的分类层与判别器网络中的第1全连接层相连组成生成对抗网络;
(4)训练网络:
(4a)将训练集中的每个快照图依次输入到深度半监督自编码器网络中,用梯度下降法更新网络的权值,直到深度半监督自编码器网络的损失函数收敛为止,输出层输出每个快照图的压缩向量;
(4b)从所有压缩向量中依次选取一个压缩向量;
(4c)将所选压缩向量输入到生成对抗网络生成网络中,在生成器网络的全连接层加入至少100个随机噪声,得到经生成器网络分类层softmax函数处理后带有噪声的一个假样本;
(4d)将所选的压缩向量的下一个压缩向量对应的快照图作为真样本,从真样本与假样本中各自随机选取100个样本进行混合,将混合样本输入到判别器网络中第1全连接层,经判别器网络对混合样本进行分类得到分类损失值;
(4e)利用分类损失值,根据最大最小化训练准则对生成对抗网络中的判别器网络和生成器网络进行交替训练,分别更新生成器网络中和判别器网络每一层的权重值,直到分类损失值满足阈值区间,停止训练;
(4f)判断是否选完所有压缩向量,若是,则执行步骤(4g),否则,执行步骤(4b);
(4g)得到训练好的生成对抗网络;
(5)将动态社交网络的快照图输入到训练好的生成对抗网络中,输出社交网络的特征向量。
本发明与现有技术相比具有如下优点:
第一,由于本发明构建了一个只包含7层的深度半监督自编码器网络,用于捕捉社交网络的高阶结构信息,网络结构简单,网络容易训练,克服了现有技术的特征提取方法忽略了社交网络特征的高阶性信息,而导致提取社交网络特征方法准确度较差的问题,使得本发明可以捕获高阶的社交网络拓扑特征,能够捕捉更丰富的网络结构信息,具有准确度较高的优点;
第二,由于本发明训练了一个生成对抗网络,动态提取社交网络的特征,克服了现有技术使用矩阵运算导致的计算规模大导致较低空间利用率和信息失真的问题,使得本发明利用神经网络结构对社交网络特征进行快速提取,在处理大型社交网络时具有较短的处理时间和较大的空间利用率的优点。
附图说明
图1为本发明的流程图。
具体实施方式
下面结合附图1对本发明的具体步骤做进一步的描述。
步骤1,生成训练集。
在不同的30种节点社区中选取累计分布的至少1000个网络节点,每个网络节点在至少3个月的时间内存在2条与其他网络节点连接的边,且所有网络节点形成至少50000条边数,将节点社区、网络节点、网络节点构成的边和时间标签四种数据类型构成社交网络数据集。
将每条边按时间标签对社交网络数据集进行快照划分,得到每个时间间隔内由节点社区、网络节点和边三种数据类型构成的时间快照,对每个时间快照进行图数据建模处理得到由顶点、边和顶点标签组成的快照图结构。
所述对训练集内的每个时间快照进行建模的步骤如下:
第1步,将训练集内的每个时间快照输入到计算机中,将时间快照内的每个网络节点映射为以序号0开始的快照图的顶点。
第2步,将每个时间快照内的网络节点连接关系映射为顶点的边。
第3步,将时间快照的节点社区标签映射为以序号0开始的顶点标签。
第4步,将上述三步得到的顶点、边和顶点标签组成的组合为该时间快照对应的快照图结构。
将建模后的所有快照图构成训练集。
步骤2,构建深度半监督自编码器网络。
搭建一个7层的深度半监督自编码器网络,其结构依次为:输入层→第1全连接层→第2全连接层→输出层→第3全连接层→第4全连接层→解码重构层;其中,输入层与解码重构层基于网络层的参数维度对称,第1全连接层与第4全连接层基于网络层的参数维度对称,第2全连接层与第3全连接层基于网络层的参数维度对称。
设置深度半监督自编码器网络每层的参数:
将第1、2、3、4全连接层的维度依次设置为1000,100,100,1000。
将输出层的输出维度设置为64。
每层的激活函数均使用sigmoid函数。
步骤3,构建生成对抗网络。
搭建一个由输入输出层、全连接层、分类层的生成器网络;将输入输出层的维度设置为64;输入输出层与全连接层均使用sigmoid函数,分类层采用softmax激活函数。
搭建一个由第1全连接层、第2全连接层、分类层的判别器网络;将第2全连接层和分类层的维度分别设置为64、1;激活函数均使用sigmoid函数。
将生成器网络的分类层与判别器网络中的第1全连接层相连组成生成对抗网络。
步骤4,训练网络。
将训练集中的每个快照图依次输入到深度半监督自编码器网络中,用梯度下降法更新网络的权值,直到深度半监督自编码器网络的损失函数收敛为止,输出层输出每个快照图的压缩向量。
从所有压缩向量中依次选取一个压缩向量。
将所选压缩向量输入到生成对抗网络生成网络中,在生成器网络的全连接层加入至少100个随机噪声,得到经生成器网络分类层softmax函数处理后带有噪声的一个假样本。
将所选的压缩向量的下一个压缩向量对应的快照图作为真样本,从真样本与假样本中各自随机选取100个样本进行混合,将混合样本输入到判别器网络中第1全连接层,经判别器网络对混合样本进行分类得到分类损失值。
利用分类损失值,根据最大最小化训练准则对生成对抗网络中的判别器网络和生成器网络进行交替训练。
所述的最大最小化训练准则如下:
其中,L表示误差,E表示求期望的操作,V表示快照图的顶点集合,t表示第t个快照图,Vt表示t快照图的顶点集合,p表示两个节点之间的边对应的概率,pt表示第t个快照图的拓扑结构,~表示两个快照图拓扑结构的相似度,·表示Vt-1中的节点的邻居节点集合,|表示条件分布概率的运算符号,log表示对数操作,D表示判别器网络,G表示生成器网络,θD与θG分别表示为判别器与生成器的快照图的压缩向量,;表示通过θD与θG计算出第t和t-1快照图中节点相似度。
分别更新生成器网络中和判别器网络每一层的权重值,直到分类损失值满足阈值区间,停止训练。
直到选完所有压缩向量,得到训练好的生成对抗网络。
步骤5,在生成对抗网络中完成对社交网络的动态特征提取。
将动态社交网络的快照图输入到训练好的生成对抗网络中,输出社交网络的特征向量。
下面结合仿真实验对本发明的效果做进一步的说明:
1.仿真实验条件。
本发明的仿真实验的硬件平台为:处理器为Intel(R)Xeon(R)CPU E5-2650 v4,主频为2.20GHz,内存256GB。
本发明的仿真实验的软件平台为:Ubuntu 18.04操作系统和python 3.6。
2.仿真内容及仿真结果分析:
本发明仿真实验有两个。
本发明的仿真实验1是依次基于Email-Eu-core,CollegeMsg两个社交网络数据集,采用本发明和四个现有技术的特征提取方法DeepWalk,Line,GraphGAN,SDNE对社交网络数据集进行社交网络特征提取,并将提取的特征用于该社交网络数据集的社团关系发现,获得该社交网络中用户关系结果。
本发明的仿真实验2是依次基于Flick,BlogCatalog两个社交网络数据集,采用本发明和四个现有技术的特征提取方法DeepWalk,Line,Node2Vec,Struc2vec对社交网络数据集进行社交网络特征提取,并将提取的特征用于该社交网络数据集的社团关系划分,获得该社交网络的社团分类结果。
本发明仿真实验使用了四个的社交网络数据集,其中Email-Eu-core和CollegeMsg用于社交关系发现,Flick和BlogCatalog用于社团关系划分。
Email-Eu-core是欧洲研究所的电子邮件数据生成的社交网络的数据集,网络节点指示用户,边指示用户成功发送私人消息。由Ashwin Paranjape等人在“Motifs inTemporal Networks,pp.601–610,Feb.2017”中生成了该数据集。
CollegeMsg是加州大学欧文分校的在线社交网络的数据集,网络节点指示研究所成员,边指示研究所成员之间电子邮件交换的匿名通信。由Pietro Panzarasa等人在“Patterns and dynamics ofusers'behavior and interaction:Network analysis ofan online community,Journal of the American Society for Information Scienceand Technology 60.5(2009):911-932.”中生成了该数据集。
Flick是用户发布博客的社交网络,网络节点指示社交网络用户,边指示用户之间的好友关系。由Tang L等人在“Relational learning via latent socialdimensions.International Conference on Knowledge Discovery and Data Mining,pp.817–826,2009”中生成了该数据集。
BlogCatalog是供用户发布博客的社交网络,网络节点指示社交网络用户,边指示用户之间有相同的兴趣爱好。由Tang L等人在“Relational learning via latent socialdimensions.International Conference on Knowledge Discovery and Data Mining,pp.817–826,2009”中生成了该数据集。
本发明仿真实验所使用的6个现有技术如下:
现有技术DeepWalk特征提取方法指的是,Perozzi B等人在“Deepwalk:Onlinelearning of social representations.International Conference on KnowledgeDiscovery and Data Mining(pp.701–710)”中提出基于随机游走的特征提取方法,简称DeepWalk。
现有技术Line特征提取方法指的是,Tang J等人在“Line:Large-scaleinformation network embedding.International Conference on World Wide Web(pp.1067–1077).”中提出的组合一阶与二阶邻近度的大规模社交网络特征提取方法,简称Line。
现有技术Node2Vec特征提取方法指的是,Grover A等人在“Node2vec:Scalablefeature learning for networks.International Conference on Knowledge Discoveryand Data Mining(pp.855–864).”中提出基于偏向随机游走的特征提取方法方法,简称Node2Vec。
现有技术GraphGAN特征提取方法指的是,Wang H等人在“Graphgan:Graphrepresentation learning with generative adversarial nets.In Proceedings ofthe 32nd AAAI Conference on Artificial Intelligence(pp.2508–2515).”中提出利用生成对抗网络实现社交网络特征提取方法,简称GraphGAN。
现有技术SDNE特征提取方法指的是,Wang D等人在“Structural deep networkembedding.International Conference on Knowledge Discovery and Data Mining(pp.1225–1234).”中提出基于半监督深层模型的特征提取方法,简称SDNE。
现有技术Struc2vec特征提取方法指的是,Ribeiro L等人在“Struc2vec:Learning node representations from structural identity.InternationalConference on Knowledge Discovery and Data Mining(pp.385–394).”中提出基于空间结构相似性的特征提取方法,简称Struc2vec。
仿真实验1中将五种方法提取的社交网络中快照图顶点的特征向量,利用基于欧几里德距离的向量相似度算法,计算所有图顶点之间特征向量的相似度,两个图顶点之间特征向量的相似度代表了两个顶点存在边的概率,也代表了用户之间存在社交关系的预测概率,得到社交网络中所有边的概率构成概率矩阵,将概率矩阵作为社交网络的社交关系预测结果,利用AUC评价指标对社交关系预测结果进行评价,将所有评价结果绘制成表1:仿真实验中本发明和上述现有技术在Email-Eu-core和CollegeMsg数据集上的社交关系预测评价结果对比表,表1中的Ours表示本发明的仿真实验结果。
表1社交关系预测评价结果对比表
正确率(%) |
Email-Eu-core |
CollegeMsg |
DeepWalk |
45.3 |
21.2 |
Line |
42.5 |
17.1 |
GraphGAN |
50.4 |
18.4 |
SDNE |
56.2 |
63.1 |
Ours |
66.7 |
63.2 |
结合表1可以看出,本发明的在第一个Email-Eu-core数据集上均超过了现有技术的平均水平,而在CollegeMsg数据集上达到了现有技术水平,证明本发明可以得到更高社交关系发现的准确率,证明本发明方法提取的社交网络特征准确度更高。
仿真实验2中将快照图中相同社区标签的所有顶点的特征向量进行平均值计算,得到所有社区中心的特征向量表示,将五种方法提取的社交网络快照图顶点的特征向量分别与社区中心的特征向量进行向量相似度计算,选取相似度最大的社区作为顶点的社区,最终得到所有顶点的划分结果构成社交网络的社团划分结果,利用评价指标得到社交网络的社团划分结果的正确率,并将评价结果分别绘制成表2:仿真实验中本发明和上述现有技术在Flick和BlogCatalog数据集上的社团划分结果的评价结果对比表,表2中的Ours表示本发明的仿真实验结果。
表2社团划分结果的评价结果对比表
正确率(%) |
Flick |
BlogCatalog |
DeepWalk |
11.8 |
19.3 |
Line |
15.4 |
17.4 |
Node2Vec |
13.6 |
18.1 |
Struc2vec |
15.6 |
19.1 |
Ours |
15.9 |
19.6 |
结合表2可以看出,本发明的在两个数据集上均超过了现有技术水平,证明本发明可以得到更高社团关系划分的正确率,证明本发明方法提取的社交网络特征准确度更高。