基于流图的Top-K频繁模式挖掘方法、装置和设备制造方法及图纸

技术编号:38222189 阅读:7 留言:0更新日期:2023-07-25 17:53
本申请涉及数据挖掘技术领域的一种基于流图的Top

【技术实现步骤摘要】
基于流图的Top

K频繁模式挖掘方法、装置和设备


[0001]本申请涉及数据挖掘
,特别是涉及一种基于流图的Top

K频繁模式挖掘方法、装置和设备。

技术介绍

[0002]社交网络的发展和普遍应用,使得大量研究人员转向对网络关联关系的研究,如在社交网络用户的关注、转发、评论、提及等关联关系中隐藏着许多有价值的知识,以流图为数据结构来建立社交网络中不同类型的复杂关系,挖掘这些数据中隐藏的知识在近几年已经成为研究的热点。在社交网络中用户影响力分析、企业广告营销、社区发现等方面都有应用的前景。
[0003]流图上的频繁模式挖掘有着重要的实际用途,例如,在音乐流服务及其用户的图数据,当用户(节点)在一定的时间间隔内听同一首歌时,通过边临时连接。随着时间的推移,分析频繁模式使我们能够研究用户对音乐的品味,并将这些信息用于歌曲推荐。
[0004]在流图中发现所有频繁子图的一个重要难题是用户定义的阈值很难设置。如果阈值设置得太低,则发现的模式很少,用户可能会错过有价值的信息。相反,如果阈值设置得太高,可能会找到数百万个子图,算法可能会有很长的执行时间,甚至会耗尽内存或存储空间。为此,我们关注频繁模式挖掘问题的前k个子图,即在流图上找到k个出现频率最高的有趣子图。
[0005]大规模和高动态性使得随时跟踪所有子图模式频率的准确变化既消耗内存也消耗时间。采用近似值计算是一种自然选择。最近的许多研究使得演变图中频繁模式挖掘得到发展,当新数据到达时,可以修改这些方法来提供前k个频繁子图模式。通过蓄水池采样法来保持均匀的样本子图,这样保证了边插入后样本的均匀性。基于样本子图,我们可以估计不同模式的频率,然后对所有子图模式进行排名,以获得前k个结果。
[0006]由于估计精度取决于样本大小,因此该算法需要从流图中采样大量子图,以准确地挖掘前k个频繁模式,这是非常消耗内存的。此外,算法需要对这些采样的子图进行昂贵的子图匹配计算,以在发生所有更新之后估计每个模式的频率,这是非常耗时的。因此,需要先进的技术来有效地挖掘前k个频繁模式。

技术实现思路

[0007]基于此,有必要针对上述技术问题,提供一种基于流图的Top

K频繁模式挖掘方法、装置和设备。
[0008]一种基于流图的Top

K频繁模式挖掘方法,所述方法包括:
[0009]初始化包括l个块的初始辅助数据结构FPC,每个块的初始值都为空,所述块包括:计数器和子图集,其中,子图集包括d个单元格,单元格用于存储子图模式ID、频数以及标识;l、d均为大于0的整数。
[0010]获取社交网络时间t的流图,并将在时间t+1接收的插入边添加到时间t的流图中,
得到时间t+1的流图;所述流图是到特定时间为止观察到社交网络的图,包括若干个数据项,数据项是在特定时间到达的两个顶点之间的边。
[0011]在时间t+1的流图中挖掘出所有包含所述插入边的m边子图,得到m边子图集合;其中,m为大于0的整数。
[0012]将所述m边子图集合中每个m边子图映射到m边子图序列。
[0013]采用哈希函数将m边子图序列中每个子图映射到辅助数据结构FPC的块中,得到最终的辅助数据结构FPC。
[0014]根据最终的辅助数据结构FPC估计每个模式的频数,根据每个模式的频数的估计结果计算前k个有趣m边模式集;其中k为大于0的整数。
[0015]一种基于流图的Top

K频繁模式挖掘装置,所述装置包括:
[0016]辅助数据结构FPC初始化模块,用于初始化包括l个块的初始辅助数据结构FPC,每个块的初始值都为空,所述块包括:计数器和子图集,其中,子图集包括d个单元格,单元格用于存储子图模式ID、频数以及标识;l、d均为大于0的整数。
[0017]时间t+1的流图获取模块,用于获取社交网络时间t的流图,并将在时间t+1接收的插入边添加到时间t的流图中,得到时间t+1的流图;所述流图是到特定时间为止观察到社交网络的图,包括若干个数据项,数据项是在特定时间到达的两个顶点之间的边。
[0018]m边子图序列确定模块,用于在时间t+1的流图中挖掘出所有包含所述插入边的m边子图,得到m边子图集合;其中,m为大于0的整数;将所述m边子图集合中每个m边子图映射到m边子图序列。
[0019]辅助数据结构FPC更新模块,用于采用哈希函数将m边子图序列中每个子图映射到辅助数据结构FPC的块中,得到最终的辅助数据结构FPC。
[0020]Top

K频繁模式挖掘模块,用于根据最终的辅助数据结构FPC估计每个模式的频数,根据每个模式的频数的估计结果计算前k个有趣m边模式集;其中k为大于0的整数。
[0021]一种基于流图的Top

K频繁模式挖掘方法,所述方法包括:
[0022]初始化包括l个块的初始增强辅助数据结构FPCS,每个块的初始值都为空,所述块包括:计数器和子图集,其中,子图集包括d个单元格,单元格用于存储子图的模式ID、频数、指纹f(s
i
)以及标识;其中,l、d均为大于0的整数,f(s
i
)=h(s
i
)%F,F为指纹的上界,h(s
i
)为子图s
i
经过第一哈希函数处理后的哈希值。
[0023]获取社交网络时间t的流图,并将在时间t+1接收的插入边添加到时间t的流图中,得到时间t+1的流图;所述流图是到特定时间为止观察到社交网络的图,包括若干个数据项,数据项是在特定时间到达的两个顶点之间的边。
[0024]在时间t+1的流图中挖掘出所有包含所述插入边的m边子图,得到m边子图集合;其中,m为大于0的整数。
[0025]将所述m边子图集合中每个m边子图映射到m边子图序列。
[0026]采用垂直哈希的优化策略计算m边子图序列中每个子图的存储块地址序列。
[0027]根据所述存储块地址序列采用线性同余方法选择w个存储块,得到候选存储块,并将m边子图序列中的每个子图映射到对应的候选存储块中,得到最终的增强辅助数据结构FPCS。
[0028]根据最终的增强辅助数据结构FPCS估计每个模式的频数,根据得到每个模式的频
数的估计结果计算前k个有趣m边模式集;其中k为大于0的整数。
[0029]一种基于流图的Top

K频繁模式挖掘装置,所述装置包括:
[0030]增强辅助数据结构FPCS初始化模块,用于初始化包括l个块的初始增强辅助数据结构FPCS,每个块的初始值都为空,所述块包括:计数器和子图集,其中,子图集包括d个单元格,单元格用于存储子图的模式ID、频数、指纹f(s
i
)以及标识;其中,l、d均为大于0的整数,f(s
i
)=h(s
i
)%F,F为本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于流图的Top

K频繁模式挖掘方法,其特征在于,所述方法包括:初始化包括l个块的初始辅助数据结构FPC,每个块的初始值都为空,所述块包括:计数器和子图集,其中,子图集包括d个单元格,单元格用于存储子图模式ID、频数以及标识;l、d均为大于0的整数;获取社交网络时间t的流图,并将在时间t+1接收的插入边添加到时间t的流图中,得到时间t+1的流图;所述流图是到特定时间为止观察到社交网络的图,包括若干个数据项,数据项是在特定时间到达的两个顶点之间的边;在时间t+1的流图中挖掘出所有包含所述插入边的m边子图,得到m边子图集合;其中,m为大于0的整数;将所述m边子图集合中每个m边子图映射到m边子图序列;采用哈希函数将m边子图序列中每个子图映射到辅助数据结构FPC的块中,得到最终的辅助数据结构FPC;根据最终的辅助数据结构FPC估计每个模式的频数,根据每个模式的频数的估计结果计算前k个有趣m边模式集;其中k为大于0的整数。2.根据权利要求1所述的方法,其特征在于,采用哈希函数将m边子图序列中每个子图映射到辅助数据结构FPC的块中,得到最终的辅助数据结构FPC,包括:将m边子图序列中子图s
i
经过第一哈希函数处理后,根据得到的哈希值在辅助数据结构FPC找到对应的块B[h(s
i
)];如果m边子图序列中子图s
i
同构于块B[h(s
i
)].sub中的模式p
j
,则当模式p
j
的标识符为true时,将模式p
j
的频数增加1;当则当模式p
j
的标识符为false时,将模式p
j
的频数增加1,并根据子图s
i
和第二哈希函数,更新B[h(s
i
)].count的值;所述第二哈希函数用于将子图s
i
映射到{+1,

1};如果m边子图序列中子图s
i
与块B[h(s
i
)].sub中存储的所有模式都不同构,并且块B[h(s
i
)].sub的单元格未满,则删除子图s
i
的顶点ID,确定子图s
i
的模式p
i
,将<p
i
,1,true>插入到块B[h(s
i
)].sub的空单元格中;如果m边子图序列中子图s
i
与块B[h(s
i
)].sub中存储的所有模式都不同构,并且块B[h(s
i
)].sub的单元格已满,则采用替换策略来实现B[h(s
i
)].sub存储更高频数的模式。3.根据权利要求2所述的方法,其特征在于,如果m边子图序列中子图s
i
与块B[h(s
i
)].sub中存储的所有模式都不同构,并且块B[h(s
i
)].sub的单元格已满,则采用替换策略来实现B[h(s
i
)].sub存储更高频数的模式,包括:将块B[h(s
i
)]的计数器的值与m边子图序列中子图s
i
通过第二哈希函数映射后得到的值相乘,得到子图s
i
的模式的频数估计值;如果模式的频数估计值小于块B[h(s
i
)].sub中的最小频数,则将子图s
i
的模式p
i
插入到B[h(s
i
)].count中;如果模式的频数估计值大于等于块B[h(s
i
)].sub中的最小频数,则将子图s
i
的模式p
i
插入到B[h(s
i
)].count中,将具有最小频数对应的模式所在的单元格进行更新,更新后为:其中为模式的频数估计值;如果被替换的模式的标识位为true,则将被替换的模式插入到B[h(s
i
)].count。
4.根据权利要求1所述的方法,其特征在于,将所述m边子图集合中每个m边子图映射到子图序列,包括:根据顶点的度和标签,得到顶点的新标签l(v),并将每条边e=(v
i
,v
j
,t(e))的新标签记为l(e)=(l(v
i
),l(v
j
));根据每条边的权重和顶点的新标签,确定子图的边映射顺序;所述每条边是在流图中分配的,所述每条边的权重等于子图模式的出现顺序;根据所述m边子图集合中每个m边子图的每条边的映射顺序,得到每个m边子图的子图序列。5.一种基于流图的Top

K频繁模式挖掘装置,其特征在于,所述装置包括:辅助数据结构FPC初始化模块,用于初始化包括l个块的初始辅助数据结构FPC,每个块的初始值都为空,所述块包括:计数器和子图集,其中,子图集包括d个单元格,单元格用于存储子图模式ID、频数以及标识;l、d均为大于0的整数;时间t+1的流图获取模块,用于获取社交网络时间t的流图,并将在时间t+1接收的插入边添加到时间t的流图中,得到时间t+1的流图;所述流图是到特定时间为止观察到社交...

【专利技术属性】
技术研发人员:张千桢王希郭得科罗来龙任棒棒
申请(专利权)人:中国人民解放军国防科技大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1