掌桥专利:专业的专利平台
掌桥专利
首页

一种基于哈希算法的社交网络关系预测方法

文献发布时间:2023-06-19 18:46:07


一种基于哈希算法的社交网络关系预测方法

技术领域

本发明属于数据挖掘技术领域,具体涉及一种基于哈希算法的社交网络关系预测方法。

背景技术

图数据在现实生活中非常普遍,如蛋白质交互图、社交网络、引文网络等。随着大数据时代的到来,图数据的种类和数量均呈现指数式增长,也推动了图挖掘技术的高速发展。图挖掘领域的一个重要应用是链接预测,判断图中任意两个顶点之间是否存在边。链接预测技术也推动了数据挖掘技术在社交领域的发展,有利于快速判断两个用户之间是否存在交互关系,这种交互关系意味着这两个用户之间存在很高的相似性,进而可向邻居用户推荐朋友或相关产品。

根据图中顶点是否携带信息,图数据通常分为两类:普通图和属性图。前者仅包含图的结构信息,而后者同时包含结构和顶点的内容信息,例如,社交网络中代表用户的顶点携带用户个人信息,蛋白质交互网络中代表蛋白质的顶点携带蛋白质相关性质信息。因此属性图更有研究和应用价值。

目前针对属性图的链接预测方法主要包括图嵌入方法和图神经网络方法。作为一类传统方法,图嵌入方法旨在将图中每个顶点映射到低维空间中,通过计算低维空间中的距离来近似原始图中顶点的相似度,进而判断顶点之间是否存在边。图神经网络技术能够学习图中的隐藏模式;近些年的研究表明图神经网络技术具有强大的图表达能力,能够有效保存图中的结构和顶点的内容信息。但是,图神经网络技术由于海量的参数计算,极其依赖价格昂贵的高端硬件(比如图形处理器,Graphics Processing Unit,GPU),并且需要大量的计算和存储资源。

发明内容

本发明要解决的技术问题是针对现有技术的不足而提供一种可靠性高、精确性好且效率较高的基于哈希算法的社交网络关系预测方法。

为解决上述技术问题,本发明的内容包括:

一种基于哈希算法的社交网络关系预测方法,包括如下步骤:

S1.构建社交网络对应的图结构,对图结构中各个顶点的原始向量表达,采用MinHash算法计算各个顶点的初始向量表达;

S2.对图结构中每个顶点的原始向量表达以及该顶点的所有邻居顶点的初始向量表达的并集,分别使用MinHash算法生成两个中间向量表达,同时保存这两个中间向量表达中每一维度的哈希值;

S3.比较每个顶点对应的两个中间向量表达中每一维度的哈希值,将最小值对应的哈希码作为该顶点在该维度的哈希码,即得到每个顶点的当前向量表达;

S4.根据每个顶点的当前向量表达,计算任意两个顶点之间的相似度,从而构建相似度矩阵;

S5.针对待判断的边,先从相似度矩阵中获取该边对应的两个顶点之间的相似度,然后从相似度矩阵中随机抽样若干个不存在边的顶点对之间的相似度,如果前面相似度大于后面相似度的比例超过设定阈值,则认为该边存在,否则认为该边不存在。

进一步的,所述步骤S1中,采用MinHash算法计算图结构中各个顶点的初始向量表达,具体包括以下步骤:

S1-1.对于图结构中的每个顶点,在初始阶段表示为|A|维特征向量x,特征向量x的每个维度索引值表示为d,并随机生成K组服从均匀分布的整数a

S1-2.采用以下算式,将特征向量x转换为K维哈希码,从而得到该顶点的向量表达:

式中,h

进一步的,所述步骤S4中,相似度矩阵的构建具体包括如下步骤:

S4-1.根据每个顶点的K维当前向量表达,计算任意两个顶点之间的海明相似度;

S4-2.采用如下算式计算得到核矩阵:

式中,Sim(i,j)为相似度矩阵的第i行第j列的元素,表示顶点i与顶点j的相似度;x

进一步的,所述步骤S5中,针对待判断的边,从相似度矩阵中一万次随机抽样不存在边的顶点对。

进一步的,所述步骤S5中,所述设定阈值为0.8。

本发明的有益效果是:

本发明提出的基于哈希算法的社交网络关系预测方法,通过随机生成若干组MinHash函数来高效表达图中所有顶点,取得了关于顶点数量的线性时间和空间复杂度,并有效保存了顶点之间的相似度信息,能够生成用于链接预测的相似度矩阵,从而完成用户之间关系的预测;本发明方法避免了图神经网络中海量的参数学习,同时不再依赖昂贵的高端硬件,能够在满足社交网络关系预测精度的前提下,明显降低时间开销,尤其适用于大规模社交网络数据集场景下的关系预测任务,而且可靠性高,精确性好,效率较高。

附图说明

图1是本发明的方法流程图;

图2是本发明的整体思路示意图;

图3是本发明顶点当前向量表达的生成过程示意图。

具体实施方式

为便于理解本发明,下面结合附图和具体实施方式对本发明作进一步详细的说明。本领域技术人员应该明了,所述实施例仅仅是帮助理解本发明,不应视为对本发明的具体限制。

社交网络通常都可以建模为一个图g=(V,E,A,f),其中V为该图的顶点集,E为该图的边集,A为该图的属性集,图中每个顶点携带多个数值型属性,f:

本发明方法的主要目标是将每个顶点表达为低维向量x,通过顶点的低维表达得到顶点之间的相似度矩阵,从而实现链接预测,具体思路如图2所示。

如图1、2所示,本发明提供了一种基于哈希算法的社交网络关系预测方法,包括如下步骤:

S1.构建社交网络对应的图结构,对图结构中各个顶点的原始向量表达,采用MinHash算法计算各个顶点的初始向量表达;具体包括以下步骤:

假设整个社交网络中所有顶点包含的特征个数为|A|,初始化MinHash算法的参数:生成服从均匀分布的K组随机数a,b,c;其中c为大于特征个数|A|的质数;

对于社交网络图结构中的每个顶点,在初始阶段表示为|A|维特征向量x,特征向量x的每个维度索引值表示为d,并随机生成K组服从均匀分布的整数a

采用以下算式,将特征向量x转换为K维哈希码,从而得到该顶点的向量表达:

式中,h

S2.对图结构中每个顶点的原始向量表达以及该顶点的所有邻居顶点的初始向量表达的并集,分别使用MinHash算法生成两个中间向量表达,同时保存这两个中间向量表达中每一维度的哈希值。

S3.比较每个顶点对应的两个中间向量表达中每一维度的哈希值,将最小值对应的哈希码作为该顶点在该维度的哈希码,即得到每个顶点的当前向量表达;如图3所示。

图3中,顶点1、2和3的原始向量表达为[α,β,γ]、[γ,β,∈]和[ζ,β,φ]。在

S4.根据每个顶点的当前向量表达,计算任意两个顶点之间的相似度,从而构建相似度矩阵;相似度矩阵的构建具体包括如下步骤:

S4-1.根据每个顶点的K维当前向量表达,计算任意两个顶点之间的海明相似度;

S4-2.采用如下算式计算得到核矩阵:

式中,Sim(i,j)为相似度矩阵的第i行第j列的元素,表示顶点i与顶点j的相似度;x

S5.针对待判断的边,先从相似度矩阵中获取该边对应的两个顶点之间的相似度,然后从相似度矩阵中随机抽样若干个不存在边的顶点对(不包含待判断的边)之间的相似度,如果前面相似度大于后面相似度的比例超过设定阈值,则认为该边存在,否则认为该边不存在。

具体的,在步骤S4中,针对待判断的边,在社交网络中多次(比如10000次)随机抽样不存在边的顶点对。

具体的,在步骤S4中,设定阈值为0.8。

本发明提供的这种社交网络关系预测方法,适用于社交网络或者引文网络等包含顶点内容的网络链接预测。预测结果为社交网络中的两个用户是否存在关系,比如通过微信朋友圈判断两个没有互加好友的用户是否有潜在的好友关系或者相同的兴趣爱好等,进而可向他们推荐好友和商品。

尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

技术分类

06120115687600