1.一种向量相似度的分布式计算方法,其特征在于,所述方法用于对目标矩阵中列向量的两两相似度进行计算,其中,所述目标矩阵中的元素分布在多个计算节点上,所述方法应用于任一所述计算节点,包括:该计算节点接收其他计算节点分发的与该计算节点存储的元素同一行的元素,得到所述目标矩阵中所述元素所在的行向量;
计算该行向量的转置向量与该行向量的乘积,得到中间矩阵;并
将自身计算得到的每一中间矩阵广播到其他计算节点上;
该计算节点在接收到其他计算节点发送的其他行向量对应的中间矩阵后,将接收到的所述中间矩阵与自身计算得到的每一中间矩阵相加,得到内积矩阵,其中,所述内积矩阵中的第i行第j列元素表示所述目标矩阵中第i列向量和第j列向量的内积;
根据所述内积矩阵中的每一元素计算所述目标矩阵中两两列向量之间的相似度。
2.根据权利要求1所述的方法,其特征在于,所述计算该行向量的转置向量与该行向量的乘积,得到中间矩阵,包括:针对任一行向量a1=[k1,k2……kn],通过如下方式计算得到所述中间矩阵V1中的第i行第j列元素:
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:获取同一类别的每一网络对象的列向量,得到向量集合;
对所述向量集合中的所有列向量进行聚类,得到多个类簇;
所述目标矩阵是任一所述类簇中的列向量组成的矩阵。
4.根据权利要求3所述的方法,其特征在于,所述对所述向量集合中的所有列向量进行聚类,得到多个类簇,包括:根据第一定义方式定义的向量距离对所述向量集合中的所有列向量进行聚类;
所述根据所述内积矩阵中的每一元素计算所述目标矩阵中两两列向量之间的相似度,包括:根据所述内积矩阵中的每一元素计算所述目标矩阵中两两列向量之间的所述第一定义方式定义的相似度。
5.一种向量相似度的分布式计算方法,其特征在于,所述方法应用于计算第一目标矩阵中的每一列向量与第二目标矩阵中的每一列向量的相似度,所述第一目标矩阵中的元素分布在多个计算节点上,所述第二目标矩阵中的元素分布在所述多个计算节点上,所述方法应用于任一所述计算节点,包括:该计算节点接收其他计算节点分发的与该计算节点存储的元素相同行号的所述第一目标矩阵中的元素和所述第二目标矩阵中的元素,得到所述第一目标矩阵中与所述第二目标矩阵中所述行号的行向量对;
针对每一行向量对,计算该行向量对中属于所述第二目标矩阵的第一行向量的转置向量与该行向量对中属于所述第一目标矩阵的第二行向量的乘积,得到中间矩阵;
将自身计算得到的每一中间矩阵广播到其他计算节点上;
该计算节点在接收到其他计算节点发送的其他行向量对的中间矩阵后,将接收到的所述中间矩阵与自身计算得到的每一中间矩阵相加,得到内积矩阵,其中,所述内积矩阵中的第i行第j列元素表示所述第一目标矩阵中第j列向量和所述第二目标矩阵中的第i列向量的内积;
根据所述内积矩阵中的每一元素计算所述第一目标矩阵中的每一列向量与所述第二目标矩阵中的每一列向量的相似度。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
获取第一类别的每一网络对象的列向量,得到第一向量集合;
获取第二类别的每一网络对象的列向量,得到第二向量集合;
分别对所述第一向量集合与所述第二向量集合进行聚类,得到所述第一类别的网络对象的多个类簇以及所述第二类别的网络对象的多个类簇;
根据每一所述类簇的中心点,确定所述第一类别的网络对象的多个类簇与所述第二类别的网络对象的多个类簇中,相似度大于阈值的类簇对;
其中,所述第一目标矩阵是所述类簇对中所述第一类别的网络对象的类簇的列向量组成的矩阵,所述第二目标矩阵是所述类簇对中所述第二类别的网络对象的类簇的列向量组成的矩阵。
7.一种向量相似度的分布式计算装置,其特征在于,所述装置用于对目标矩阵中列向量的两两相似度进行计算,其中,所述目标矩阵中的元素分布在多个计算节点上,所述装置应用于任一所述计算节点,包括:接收模块,用于接收其他计算节点分发的与该计算节点存储的元素同一行的元素,得到所述目标矩阵中所述元素所在的行向量;
第一计算模块,用于计算该行向量的转置向量与该行向量的乘积,得到中间矩阵;
广播分发模块,用于将该计算节点自身计算得到的每一中间矩阵广播到其他计算节点上;
第二计算模块,用于在该计算节点接收到其他计算节点发送的其他行向量对应的中间矩阵后,将接收到的所述中间矩阵与自身计算得到的每一中间矩阵相加,得到内积矩阵,其中,所述内积矩阵中的第i行第j列元素表示所述目标矩阵中第i列向量和第j列向量的内积;
相似度计算模块,用于根据所述内积矩阵中的每一元素计算所述目标矩阵中两两列向量之间的相似度。
8.一种向量相似度的分布式计算装置,其特征在于,所述装置应用于计算第一目标矩阵中的每一列向量与第二目标矩阵中的每一列向量的相似度,所述第一目标矩阵中的元素分布在多个计算节点上,所述第二目标矩阵中的元素分布在所述多个计算节点上,所述装置应用于任一所述计算节点,包括:接收模块,用于接收其他计算节点分发的与该计算节点存储的元素相同行号的所述第一目标矩阵中的元素和所述第二目标矩阵中的元素,得到所述第一目标矩阵中与所述第二目标矩阵中所述行号的行向量对;
第一计算模块,用于针对每一行向量对,计算该行向量对中属于所述第二目标矩阵的第一行向量的转置向量与该行向量对中属于所述第一目标矩阵的第二行向量的乘积,得到中间矩阵;
广播分发模块,用于将自身计算得到的每一中间矩阵广播到其他计算节点上。
第二计算模块,用于在该计算节点接收到其他计算节点发送的其他行向量对的中间矩阵后,将接收到的所述中间矩阵与自身计算得到的每一中间矩阵相加,得到内积矩阵,其中,所述内积矩阵中的第i行第j列元素表示所述第一目标矩阵中第j列向量和所述第二目标矩阵中的第i列向量的内积;
相似度计算模块,用于根据所述内积矩阵中的每一元素计算所述第一目标矩阵中的每一列向量与所述第二目标矩阵中的每一列向量的相似度。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-6中任一项所述方法的步骤。
10.一种计算节点,其特征在于,包括:
权利要求9中所述的计算机可读存储介质;以及
一个或者多个处理器,用于执行所述计算机可读存储介质中的程序。