一种基于深度神经网络的SimRank相似度计算方法

专利检索2025-07-30  16


本发明涉及数据挖掘,尤其涉及一种基于深度神经网络的simrank相似度计算方法。


背景技术:

1、相似度度量是在数据分析和机器学习领域中常见的任务,用于衡量两个对象之间的相似程度。目前基于图结构的相似性度量方法主要代表是simrank算法,用于衡量节点之间的相似性。它通过迭代计算节点之间的相似度,考虑了节点的邻居节点以及它们之间的相似度。simrank的优点在于能够捕捉到图结构中的结构相似性,适用于不同类型的图数据;但是它需要迭代计算,计算复杂度较高,尤其是对于大规模的图结构。这会导致算法的运行时间较长,限制了它在实际应用中的可行性;在处理稀疏图时容易出现过拟合问题,导致节点之间的相似度得分不够准确。这可能会影响到算法的可靠性和有效性;对于噪声数据较为敏感,会导致节点之间的相似度得分出现偏差。这可能会影响到算法的结果和应用效果。


技术实现思路

1、本发明的目的在于基于深度神经网络,将simrank与其结合进行相似度计算,充分利用图结构的相似性信息和深度神经网络的特征提取能力,从而获得更准确和有效的相似度计算结果。

2、为达到上述目的,本发明提出一种基于深度神经网络的simrank相似度计算方法,包括以下处理步骤:

3、在数据获取阶段中,基于networkx库将语料库进行标准化处理并进行展示,得到一张实体关系图。

4、在数据处理阶段中,基于node2vec算法与simrank算法,得到语料库中实体在本语料库中的特征向量矩阵和一个稳态概率矩阵,所述特征向量矩阵为每个实体在语料库关系分析网络中的唯一特征矩阵,所述稳态概率矩阵为每个实体与语料库中其他实体的相似度矩阵。

5、进一步的,所述数据获取阶段中,具体包括以下步骤:

6、s1:对语料库中的文本进行预处理,处理后的文本数据统一表示为实体id的形式;

7、s2:结合networkx库进行构建“实体-实体”的二分网络模型,得到一张实体关系图。

8、进一步的,所述s1中,对语料库中的文本进行预处理指对描述文本进行去除标点符号、大小写转换、分词操作,之后预处理后的实体进行映射成唯一的实体id,即使得文本数据统一表示为实体id的形式。

9、进一步的,所述s1中,结合networkx库建立“实体-实体”二分网络模型,构建“实体-实体”二分图g=(v,e);

10、其中v表示所有实体的集合,e是用节点对表示的实体与实体的边集;并用networkx库进行二分网络关系图构建。

11、进一步的,所述数据处理阶段中,具体包括以下步骤;

12、s1’:将实体网络中的每个实体作为一个节点,对节点进行node2vec算法,得到每个节点的特征向量;

13、s2’:将所有节点的特征向量组合成特征矩阵;

14、s3’:将所述特征矩阵作为初始转移概率矩阵利用simrank算法计算获得稳态概率相似度矩阵。

15、进一步的,所述s2’中,所述node2vec算法中可以将随机游走的过程表示成一个转移概率矩阵p;对于一个g=(v,e),其中v表示所有实体的集合,e是用节点对表示的实体与实体的边集,转移概率矩阵p的大小为|v|×|v|,其中p[i,j]表示从节点i转移到节点j的概率;目标是学习每个节点的向量表示,通过迭代过程来逐步更新节点的表示;先定义一个初始节点向量表示矩阵x0,该矩阵的大小为|v|×d,其中d表示节点的向量表示的维度;然后通过迭代的方式来更新节点向量表示矩阵x,直到收敛为止。

16、进一步的,基于node2vec算法进行特征向量矩阵构建包括以下步骤:

17、s21’:根据转移概率矩阵p和当前的节点向量表示矩阵x,计算出下一次随机游走的起始节点,即根据当前节点的向量表示,按照转移概率矩阵p进行随机游走,得到下一个节点,作为下一次迭代的起始节点;

18、s22’:在当前节点v的所有邻居节点中进行随机游走,得到一些样本节点作为v的上下文集合c(v);

19、s23’:对于每个节点v和它的上下文集合c(v),使用skip-gram模型来学习节点v的向量表示;

20、s24’:对于每个节点v,将学习得到的向量表示作为节点v的新向量表示,用来更新节点向量表示矩阵x;

21、s25’:重复步骤s21’-s24’,直到节点向量表示矩阵x收敛或达到预定的迭代次数。

22、进一步的,所述s3’中,所述simrank算法的思想是基于图结构的相似度计算方法,如果两个实体相似,那么跟它们相关的实体应该也相似;

23、所述simrank算法通过计算两个节点之间的相似度分数来度量它们的相似性,该分数是根据它们邻居节点的相似度分数计算得到的;计算步骤如下:

24、初始化相似度矩阵s为单位矩阵i,大小为|v|×|v|,其中v是节点集合;

25、重复以下步骤,直到相似度矩阵s收敛或达到预定的迭代次数:

26、temp=ccwtsw

27、s=temp+i-diag(diag(temp))

28、式中,w是将权重值p构成的矩阵p归一化后的矩阵;

29、返回最终的相似度矩阵s作为节点之间的相似度分数。

30、进一步的,还包括对所述深度神经网络的测试,包括以下步骤:选择深度神经网络进行模拟simrank计算算法,构建两个网络层模型,并将语料库按比例划分为训练集和测试集;在训练过程中,使用反向传播算法更新模型参数,以最小化平均误差、均方根误差和平均绝对误差作为评估指标;最后,根据测试数据集的结果来评估模型的性能。

31、与现有技术相比,本发明的优势之处在于:

32、1、本发明将simrank和深度神经网络结合起来进行相似度计算,可以充分利用图结构的相似性信息和深度神经网络的特征提取能力,解决大规模网络下simrank迭代耗时的问题,从而获得更准确和有效的相似度计算结果。

33、2、本发明将node2vec算法和深度神经网络模型进行有效的结合,通过考虑实体与实体之间的关系,将文本数据转化为实体id形式,捕捉实体之间的语义关系,更好地学习实体之间的相似度得分,提高模型的准确性。



技术特征:

1.一种基于深度神经网络的simrank相似度计算方法,其特征在于:

2.根据权利要求1所述的基于深度神经网络的simrank相似度计算方法,其特征在于,所述数据获取阶段中,具体包括以下步骤:

3.根据权利要求2所述的基于深度神经网络的simrank相似度计算方法,其特征在于,所述s1中,对语料库中的文本进行预处理指对描述文本进行去除标点符号、大小写转换、分词操作,之后预处理后的实体进行映射成唯一的实体id,即使得文本数据统一表示为实体id的形式。

4.根据权利要求2所述的基于深度神经网络的simrank相似度计算方法,其特征在于,所述s1中,结合networkx库建立“实体-实体”二分网络模型,构建“实体-实体”二分图g=(v,e);

5.根据权利要求1所述的基于深度神经网络的simrank相似度计算方法,其特征在于,所述数据处理阶段中,具体包括以下步骤;

6.根据权利要求5所述的基于深度神经网络的simrank相似度计算方法,其特征在于,所述s2’中,所述node2vec算法中可以将随机游走的过程表示成一个转移概率矩阵p;对于一个g=(v,e),其中v表示所有实体的集合,e是用节点对表示的实体与实体的边集,转移概率矩阵p的大小为|v|×|v|,其中p[i,j]表示从节点i转移到节点j的概率;目标是学习每个节点的向量表示,通过迭代过程来逐步更新节点的表示;先定义一个初始节点向量表示矩阵x0,该矩阵的大小为|v|×d,其中d表示节点的向量表示的维度;然后通过迭代的方式来更新节点向量表示矩阵x,直到收敛为止。

7.根据权利要求6所述的基于深度神经网络的simrank相似度计算方法,其特征在于,基于node2vec算法进行特征向量矩阵构建包括以下步骤:

8.根据权利要求5所述的基于深度神经网络的simrank相似度计算方法,其特征在于,所述s3’中,所述simrank算法的思想是基于图结构的相似度计算方法,如果两个实体相似,那么跟它们相关的实体应该也相似;

9.根据权利要求1所述的基于深度神经网络的simrank相似度计算方法,其特征在于,还包括对所述深度神经网络模型的构建以及测试,包括以下步骤:选择深度神经网络进行模拟simrank计算算法,构建两个网络层模型,并将语料库按比例划分为训练集和测试集;在训练过程中,使用反向传播算法更新模型参数,以最小化平均误差、均方根误差和平均绝对误差作为评估指标;最后,根据测试数据集的结果来评估模型的性能。


技术总结
本发明提出一种基于深度神经网络的SimRank相似度计算方法,首先在数据获取阶段将语料库进行预处理成实体ID形式并利用NetWorkX库进行网络构建;将实体进行Node2vec网络特征学习得到语料库网络中特征向量矩阵;将该特征向量矩阵作为初始转移概率矩阵进行SimRank迭代计算得到稳态概率相似度得分矩阵;最后构建模型,通过构建深度神经网络模型进行模拟SimRank相似度的计算进行两个网络层模型搭建,并将语料库按比例划分进行训练和测试得到MSE,RMSE,MAE的值来评估模型;本方法引入深度神经网络模型来模拟SimRank迭代计算问题,通过模拟SimRank算法的计算过程,有效地降低计算时间复杂度和运行内存,使得在保证计算精确度的同时提高计算效率。

技术研发人员:张明西,冒鸿宇,朱衍熹
受保护的技术使用者:上海理工大学
技术研发日:
技术公布日:2024/5/29
转载请注明原文地址:https://win.8miu.com/read-1157094.html

最新回复(0)