发明内容
本说明书一个或多个实施例描述了一种计算机执行的确定关系网络图中节点向量的方法及装置。通过这样的方法,可以有效提高生成的节点向量的精准度。
根据第一方面,提供了一种计算机执行的、确定关系网络图中节点向量的方法,所述关系网络图中包括N个节点以及节点之间的连接边,所述N个节点中包括任意的第一节点;所述方法包括:获取所述关系网络图的邻接信息,所述邻接信息用于记录所述关系网络图中节点之间的连接关系;根据所述邻接信息,确定所述第一节点与所述N个节点中各个节点之间的第一关联度,得到N个第一关联度;其中,所述各个节点包括第二节点,所述第一节点与第二节点之间的第一关联度,与所述第一节点经过预定数量K以内的连接边到达所述第二节点的路径相关;基于N个第一关联度,确定所述第一节点与各个节点的第二关联度,得到N个第二关联度;其中,所述第一节点和第二节点之间的第二关联度,基于所述第一节点和第二节点之间的第一关联度,以及所述N个第一关联度的总和而确定;至少基于所述N个第二关联度,构造N维数据;对所述N维数据进行降维处理,得到所述第一节点的节点向量。
在一个实施例中,所述N个节点对应于N个用户,所述节点之间的连接边表示对应连接的两个用户之间具有关联关系。
在一个实施例中,所述邻接信息为邻接矩阵;所述确定所述第一节点与所述N个节点中各个节点之间的第一关联度,包括:确定所述邻接矩阵所对应的对称矩阵;将所述对称矩阵从1次方加和至所述预定数量K次方,得到第一矩阵,所述第一矩阵中包括第一元素,所述第一元素的行和列分别对应于第一节点和第二节点,所述第一元素的值表示所述第一节点和第二节点之间的第一关联度。
进一步地,在一个具体的实施例中,所述关系网络图为无向图;所述确定所述邻接矩阵所对应的对称矩阵,包括:将所述邻接矩阵确定为所述对称矩阵。
在另一个具体的实施例中,所述关系网络图为有向图,所述确定所述邻接矩阵所对应的对称矩阵,包括:对所述邻接矩阵与所述邻接矩阵的转置进行求和,得到所述对称矩阵。
在一个实施例中,所述确定所述第一节点与各个节点的第二关联度,包括:将所述第一节点和第二节点之间的第一关联度除以所述N个第一关联度的总和;基于得到的商值,确定所述第一节点和第二节点之间的第二关联度。
进一步地,在一个具体的实施例中,所述基于得到的商值,确定所述第一节点和第二节点之间的第二关联度,包括:将所述商值作为所述第一节点和第二节点之间的第二关联度;或,将所述商值作为预设增函数的输入,并将得到的输出结果确定为所述第一节点和第二节点之间的第二关联度。
在一个实施例中,所述N维数据为N维向量,所述至少基于所述N个第二关联度,构造N维数据,包括:将所述N个第二关联度构成所述第一节点的N维向量;所述对所述N维数据进行降维处理,得到所述第一节点的节点向量,包括:将所述N维向量输入受限玻尔兹曼机中,得到所述第一节点的节点向量。
在一个实施例中,所述N维数据为N维矩阵,所述至少基于所述N个第二关联度,构造N维数据,包括:将N个节点中各个节点所对应的N个第二关联度分别作为对应于各个节点的行数据,得到N维矩阵;所述对所述N维数据进行降维处理,得到所述第一节点的节点向量,包括:对所述N维矩阵进行奇异值分解,得到对应的左奇异矩阵;将所述左奇异矩阵中的各行数据组成的向量分别作为所对应的各个节点的节点向量。
根据第二方面,提供了一种确定关系网络图中节点向量的装置,所述关系网络图中包括N个节点以及节点之间的连接边,所述N个节点中包括任意的第一节点;所述装置包括:获取单元,配置为获取所述关系网络图的邻接信息,所述邻接信息用于记录所述关系网络图中节点之间的连接关系;第一确定单元,配置为根据所述邻接信息,确定所述第一节点与所述N个节点中各个节点之间的第一关联度,得到N个第一关联度;其中,所述各个节点包括第二节点,所述第一节点与第二节点之间的第一关联度,与所述第一节点经过预定数量K以内的连接边到达所述第二节点的路径相关;第二确定单元,配置为基于N个第一关联度,确定所述第一节点与各个节点的第二关联度,得到N个第二关联度;其中,所述第一节点和第二节点之间的第二关联度,基于所述第一节点和第二节点之间的第一关联度,以及所述N个第一关联度的总和而确定;构造单元,配置为至少基于所述N个第二关联度,构造N维数据;降维单元,配置为对所述N维数据进行降维处理,得到所述第一节点的节点向量。
根据第三方面,提供了一种账号风险状态的确定方法,所述方法包括:获取账号网络图的邻接信息,所述账号网络图中包括N个账号以及账号之间的连接边,所述邻接信息用于记录所述账号网络图中账号之间的连接关系。根据所述邻接信息,通过向量嵌入处理,确定所述N个账号中第一待测账号对应的第一向量,以及账号风险状态已知的已知账号对应的第二向量,其中所述向量嵌入处理包括:确定所述N个账号中任意的第一账号与所述N个账号中各个账号之间的第一关联度,得到N个第一关联度;其中,所述各个账号包括第二账号,所述第一账号与第二账号之间的第一关联度,与所述第一账号经过预定数量K以内的连接边到达所述第二账号的路径相关;基于N个第一关联度,确定所述第一账号与各个账号的第二关联度,得到N个第二关联度;其中,所述第一账号和第二账号之间的第二关联度,基于所述第一账号和第二账号之间的第一关联度,以及所述N个第一关联度的总和而确定;至少基于所述N个第二关联度,构造N维数据;对所述N维数据进行降维处理,得到所述第一账号的嵌入向量。基于所述第一向量和第二向量,确定第一待测账号的账号风险状态。
根据第四方面,提供了一种账号风险状态的确定装置,所述装置包括:获取单元,配置为获取账号网络图的邻接信息,所述账号网络图中包括N个账号以及账号之间的连接边,所述邻接信息用于记录所述账号网络图中账号之间的连接关系。第一确定单元,配置为根据所述邻接信息,通过向量嵌入处理,确定所述N个账号中第一待测账号对应的第一向量,以及账号风险状态已知的已知账号对应的第二向量,其中所述第一确定单元具体包括:第一确定子单元,配置为确定所述N个账号中任意的第一账号与所述N个账号中各个账号之间的第一关联度,得到N个第一关联度;其中,所述各个账号包括第二账号,所述第一账号与第二账号之间的第一关联度,与所述第一账号经过预定数量K以内的连接边到达所述第二账号的路径相关;第二确定子单元,配置为基于N个第一关联度,确定所述第一账号与各个账号的第二关联度,得到N个第二关联度;其中,所述第一账号和第二账号之间的第二关联度,基于所述第一账号和第二账号之间的第一关联度,以及所述N个第一关联度的总和而确定;构造子单元,配置为至少基于所述N个第二关联度,构造N维数据;降维子单元,配置为对所述N维数据进行降维处理,得到所述第一账号的嵌入向量。第二确定单元,配置为基于所述第一向量和第二向量,确定第一待测账号的账号风险状态。
根据第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面或第三方面的方法。
根据第五方面,提供了一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面或第三方面的方法。
采用本说明书实施例披露的确定关系网络图中节点向量的方法,可以有效提高生成的节点向量的准确度。
具体实施方式
下面结合附图,对本说明书提供的方案进行描述。
如前所述,关系网络图可以抽象为包括节点集合和边集合,其中节点表示现实世界中的实体,边表示实体之间的关联关系。图1示出关系网络图的示意图,其中以用户为节点进行示例。如图所示,具有关联关系的用户之间通过边进行连接。
目前,可以采用监督算法或无监督算法等,生成上述关系网络图中节点的节点向量。然而,其中现有的无监督生成算法难以满足对节点向量的准确度要求。基于此,本说明书实施例提供一种无监督的生成方法,可以生成精确度更高的节点向量。下面,结合具体的实施例,对所述方法进行介绍。
图2示出根据一个实施例的确定关系网络图中节点向量的方法流程图,所述方法的执行主体可以为任何具有计算、处理能力的装置或设备或平台或设备集群。此外,所述方法对应的关系网络图中包括多个节点以及节点之间的连接边。
为了更加清楚地对所述方法进行描述,以下将上述多个节点统称为N个节点,其中N指代多个节点所对应的数量,具体地,N可以为大于2的整数,如100万或1亿等等。以及,用第一节点指代N个节点中的任意一个节点。此外,以下将主要从确定第一节点的节点向量的角度出发,对所述方法进行说明。
如图2所示,该方法包括以下步骤:步骤S210,获取所述关系网络图的邻接信息,所述邻接信息用于记录所述关系网络图中节点之间的连接关系;步骤S220,根据所述邻接信息,确定所述第一节点与所述N个节点中各个节点之间的第一关联度,得到N个第一关联度;其中,所述各个节点包括第二节点,所述第一节点与第二节点之间的第一关联度,与所述第一节点经过预定数量K以内的连接边到达所述第二节点的路径相关;步骤S230,基于N个第一关联度,确定所述第一节点与各个节点的第二关联度,得到N个第二关联度;其中,所述第一节点和第二节点之间的第二关联度,基于所述第一节点和第二节点之间的第一关联度,以及所述N个第一关联度的总和而确定;步骤S240,至少基于所述N个第二关联度,构造N维数据;步骤S250,对所述N维数据进行降维处理,得到所述第一节点的节点向量。
下面结合具体例子,描述以上各个步骤的具体执行方式。
如上所述,图2的方法可以确定关系网络图中的节点向量,所述关系网络图中包括表示实体的节点,以及表示实体之间的关联关系的边。
在一个实施例中,关系网络图为无向图,也就是其中实体之间的关联关系不具有方向性,或者可以理解为双向互通,相应地,表示实体之间关联关系的边为无向边,具体可以用不带箭头的连线表示,如图3示出的关系网络图为无向图。
进一步地,在一个具体的实施例中,关系网络图中的节点对应于用户,用户可以通过用户的ID或者账号等进行标识。节点之间的连接边对应于用户之间的不具有方向性的关联关系,具体可以包括以下中的一种或多种,如社交关系、媒介关系、亲属关系等。在一个例子中,在基于上述社交关系形成的社交网络中,若两个用户有共同关注对象(例如微博账号共同关注了同一人),或他们之前有来往联系,或加入了共同群组(例如QQ群,微信群等),或在红包、彩票等活动中有互动,那么可以认为这两个节点之间存在社交关系,可以建立一条无向边进行连接。在一个例子中,在基于上述媒介关系形成的媒介网络中,若两个用户使用过同样的媒介,例如加密后的银行卡、身份证、邮箱、户号、手机号、物理地址(例如MAC地址)、终端设备号(例如UMID、TID、UTDID)等,则这两个用户之间存在媒介关系的关联,可以建立一条无向边进行连接。在一个例子中,在基于上述亲属关系形成的亲属网络中,若两个用户在支付平台开通了亲密付功能,或者手机号归属于同一个亲情号组合,可以建立一条无向边进行连接。
在另一个具体的实施例中,关系网络图中节点可以对应于商品,商品可以通过商品ID进行标识。节点之间的连接边对应于商品之间的不具有方向性的关联关系,具体可以包括以下中的一种或多种,如买家关联关系,卖家关联关系,类别关联关系等。在一个例子中,如果两个商品曾被同一买家购买,那么可以认为这两个商品具有买家关联关系。在一个例子中,如果两个商品曾被同一卖家出售,那么可以认为这两个商品具有卖家关联关系。在一个例子中,如果两个商品被***平台划分到同一预定级别的类,那么可以认为这两个商品具有类别关联关系。
在另一个实施例中,关系网络图为有向图,也就是其中实体之间的关联关系具有方向性,相应地,表示实体之间关联关系的边为有向边,具体可以用带箭头的连线表示,如图4示出的关系网络图为有向图。
进一步地,在一个具体的实施例中,关系网络图中的节点对应于用户,节点之间的连接边对应于用户之间的具有方向性的关联关系,如转账关系、借贷关系、上下级关系等。在一个例子中,如果用户A曾转账给用户B,而用户B未曾转账给用户A,那么可以认为这两个用户具有由用户A指向用户B的单向转账关系,相应地,可以建立一条由用户A指向用户B的有向边进行连接。在一个例子中,如果用户C和用户D之间曾互相转账,那么可以认为这两个用户具有双向转账关系,相应地,可以建立一条由用户C指向用户D的有向边以及由用户D指向用户C的有向边进行连接。
可以理解的是,关系网络图中的节点还可以代表其他实体,根据实体之间的一种或多种关系,在节点之间通过连接边进行连接。
另一方面,在一个实施例中,关系网络图为有权图,也就是其中的边具有对应的权重值,具体的权重值可以基于边表示的关联关系所对应的历史数据和预定的规则/算法而确定。在一个例子中,图5示出的有向图中的有向边具有权重。进一步地,其中节点可以表示用户,权重对应于其中一个用户向另一用户进行转账的历史转账次数。在另一个实施例中,关系网络图为无权图,也就是其中的边不考虑权重,或者可以理解为同一网络关系图中所有的边具有相同的权重值。在一个例子中,图3示出的无向图中的无向边和图4示出的有向图中的有向边不具有权重。
以上,对关系网络图进行了介绍。为了确定上述关系网络图中的节点向量,首先在步骤S210,获取所述关系网络图的邻接信息,所述邻接信息用于记录所述关系网络图中节点之间的连接关系。
需要说明的是,邻接信息可以对应于关系网络图的多种存储方式,具体包括邻接矩阵、边数组、邻接表、十字链表和邻接多重表等,均可以用于记录图中节点之间的连接关系。此外,由上述对关系网络图的描述内容可知,节点的连接关系可以包括,节点之间是否存在连接边,连接边的方向性和权重值等,具体可以参见上文,在此不再赘述。
在一个实施例中,关系网络图通过邻接矩阵的方式预先存储,相应地,获取的邻接信息为对应的邻接矩阵。在一个具体的实施例中,上述关系网络图中包括N个节点,其所对应的邻接矩阵为N阶方阵X,其中的元素Xi,j表示N个节点中从编号为i的节点到编号为j的节点之间的连接边所对应的取值。在一个例子中,关系网络图为无权重的无向图;在这样的情况下,邻接矩阵中某个元素的值为0,则说明对应的两个节点之间不存在连接边,值为1则说明两个节点之间存在连接边。在另一个例子中,关系网络图为有权图;在这样的情况下,邻接矩阵中某个元素的值为5,则说明对应连接边的权重值为5。在另一个实施例中,关系网络图通过邻接表的方式预先存储,相应地,获取的邻接信息为对应的邻接表。
以上,可以获取关系网络图的邻接信息。接着,在步骤S220,根据所述邻接信息,确定所述第一节点与所述N个节点中各个节点之间的第一关联度,得到N个第一关联度;其中,所述各个节点包括第二节点,所述第一节点与第二节点之间的第一关联度,与所述第一节点经过预定数量K以内的连接边到达所述第二节点的路径相关。
首先,以第一节点与第二节点之间的第一关联度为例,对任意两个节点之间第一关联度的含义和确定方法进行说明。第一节点与第二节点之间的第一关联度,与所述第一节点经过预定数量K以内的连接边到达所述第二节点的路径相关。其中,预定数量K为正整数,具体可以由工作人员根据实际需要预先设定,例如,可以设定为2、或3或4,等等。
在一个实施例中,关系网络图中为无权图,相应地,第一节点与第二节点之间的第一关联度,可以与第一节点经过预定数量K以内的连接边到达所述第二节点的路径数量正相关。在一个具体的实施例中,可以将上述路径数量确定为第一节点与第二节点之间的第一关联度。在一个具体的实施例中,上述路径数量可以通过遍历邻接表等方式基于邻接信息确定。
在另一个实施例中,关系网络图为有权图,相应地,第一节点与第二节点之间的第一关联度,可以与第一节点经过预定数量K以内的连接边到达第二节点的路径中各条路径所对应的边的权重值相关。在一个具体的实施例中,可以将其中各条路径包括的至少一条连接边所对应的至少一个权重值相乘所得到的积值作为对应路径的路径权重,然后对各条路径的路径权重进行求和,将得到的和值作为第一节点与第二节点之间的第一关联度。在另一个具体的实施例中,可以将其中各条路径包括的至少一条连接边所对应的至少一个权重相加所得到的和值作为对应路径的路径权重,然后对各条路径的路径权重进行求和,将得到的和值作为第一节点与第二节点之间的第一关联度。
下面,结合具体的实施例和例子,对第一关联度的确定方法进行进一步说明。
在一个具体的实施例中,可以将上述邻接矩阵从1次方加和至上述预定数量K次方,得到第一矩阵。可以理解的是,关系网络图中包括N个节点,对应的邻接矩阵是N阶方阵,相应得到的第一矩阵为N阶方阵,此外,第一矩阵中与第一节点对应的行所包括的N个元素的值,对应于第一节点具有的N个关联度。具体地,所述第一矩阵中包括第一元素,所述第一元素的行和列分别对应于第一节点和第二节点,所述第一元素的值表示所述第一节点和第二节点之间的第一关联度。
在一个例子中,上述邻接矩阵为N阶方阵X,可以通过以下公式(1)计算出第一矩阵M,具体公式如下:
M=X+X2+X3+…+XK=∑nXn (1)
其中,n=1,2,...,K。对于基于公式(1)得到的矩阵M,其中包括元素Mi,j,元素Mi,j的行和列分别对应于N个节点中编号为i的节点(以下简称节点i)和编号为j的节点(以下简称节点j),元素Mi,j的值表示节点i和节点j之间的第一关联度。同样可以理解的是,矩阵M中第i行包括的N个元素的值对应于节点i与N个节点之间的N个关联度。
需要说明的是,在一种情况下,上述关系网络图为无权图,则对于Xn所对应的矩阵中的元素xi,j,其表示上述节点i经过n条连接边正好可以到达节点j的路径数量,相应地,Mi,j表示上述节点i经过预定数量K以内的连接边到达节点j的路径数量。在另一种情况下,上述关系网络图为有权图,则对于Xn所对应的矩阵中的元素xi,j,其表示上述节点i经过n条连接边正好可以到达节点j的路径中,各条路径所对应的路径权重(此处指各条路径中包括的至少一条边所对应的至少一个权重值的乘积)之和。
此外,考虑到有向图中的连接边具有方向性,在关系网络图为有向图的情况下,其所对应的上述路径同样具有方向性。在实际计算过程中,可以弱化有向图中的方向性,如认为只要有向图的两个节点之间存在连接边,则可以实现双向连通,如此可以避免通过上述公式(1)进行计算而可能存在的数学或性能上的问题。在一个具体的实施例中,在关系网络图为有向图的情况下,先将获取的邻接矩阵转换为对应的对称矩阵,再将对称矩阵从1次方加和至上述预定数量K次方,得到上述第一矩阵。另外需要说明的是,因无向图的邻接矩阵原本就属于对称矩阵,因此不需要另外进行转换。在一个例子中,可以通过以下公式(2)将邻接矩阵X转换为对称矩阵A,具体公式如下:
A=X+XT (2)
其中,T表示矩阵的转置运算。进一步地,可以将矩阵A从1次方加和至预定数量K次方,得到上述第一矩阵。
以上,可以实现根据获取的邻接信息,确定所述第一节点与所述N个节点中各个节点之间的第一关联度,得到N个第一关联度。
然后,在步骤S230,基于N个第一关联度,确定所述第一节点与各个节点的第二关联度,得到N个第二关联度;其中,所述第一节点和第二节点之间的第二关联度,基于所述第一节点和第二节点之间的第一关联度,以及所述N个第一关联度的总和而确定。
首先,以确定第一节点和第二节点之间的第二关联度为例,对确定N个节点中任意两个节点之间第二关联度的方法进行说明。具体地,第一节点和第二节点之间的第二关联度,基于第一节点和第二节点之间的第一关联度,以及上述第一节点具有的N个第一关联度的总和而确定。在一个实施例中,第一节点和第二节点之间的第二关联度,与这两个节点的第一关联度和上述总和的相对大小正向相关。
在一个具体的实施例中,先将第一节点和第二节点之间的第一关联度除以上述总和,得到对应的商值。再基于得到的商值,确定第一节点和第二节点之间的第二关联度。进一步地,在一个例子中,可以将上述商值直接作为第一节点和第二节点之间的第二关联度。在另一个例子中,可以将上述商值作为预设增函数的输入,并将得到的输出结果确定为第一节点和第二节点之间的第二关联度。在一个具体的例子中,其中预设增函数的类型和其中的常量值可以由工作人员根据实际需要预先设定,例如,预设增函数的类型可以为对数函数或线性函数,等等。
根据一个具体的例子,基于上述公式(1)得到的第一矩阵M,可以采用下述公式(3)确定节点i和节点j之间的第二关联度Pi,j,具体公式如下:
其中,t=1,2,...,K;Mi,j表示节点i与节点j之间的第一关联度;∑NMi,t表示矩阵中第i行(对应于节点i)中所有元素的元素值的总和。此外,log函数的底数和C均为超参数,一般地,底数可以设置为大于1的数值,如2或10等,而C可以设置为0或1或-1等等。可以理解的是,底数和C的数值可以具有多种组合。
需要说明的是,当公式(1)中的矩阵X为对称矩阵时,M也为对称矩阵,相应地,Mi,t=Mt,i也就时说,上述公式(3)等价于以下公式(4):
在另一个具体的实施例中,可以将上述总和输入预设减函数中,得到对应的函数值,再将第一节点和第二节点之间的第一关联度乘以所述函数值,得到对应的积值。再基于得到的积值,确定第一节点和第二节点之间的第二关联度。在一个例子中,可以将上述积值直接确定为第一节点和第二节点之间的第二关联度。
以上,可以确定所述第一节点与各个节点的第二关联度,得到N个第二关联度。再接着,在步骤S240,至少基于上述第一节点具有的N个第二关联度,构造N维数据;以及,在步骤S250,对所述N维数据进行降维处理,得到所述第一节点的节点向量。
需要说明的是,N维数据可以是N维向量也可以是N维矩阵,具体构造为向量还是矩阵,与选取的降维算法相关。在一种情况下,N的数量级是比较大的,例如,N可以为千万级或亿级,而生成的节点向量通常是需要用于后续计算的,若直接构造N维向量作为对应节点的节点向量,可能会给后续计算造成运算量、运算资源上的极大难度。因此,需要通过对N维数据进行降维处理,再基于降维后的数据确定节点向量。
具体地,关于上述构造N维数据,在一个实施例中,可以将第一节点具有的N个第二关联度构成第一节点的N维向量。在一个例子中,对于基于上述公式(4)得到的Pi,j,可以构造(Pi,1,Pi,2,...,Pi,N)作为节点i的N维向量。
在另一个实施例中,可以将N个节点中各个节点所对应的N个第二关联度分别作为对应于各个节点的行数据,得到N维矩阵。在一个例子中,对于基于上述公式(4)得到的Pi,j,可以将Pi,j作为第i行第j列元素的元素值,进而得到对应的N维矩阵P。
另一方面,在一个实施例中,上述降维处理所对应的方法有多种,降维处理是对原始高维样本中的特征数据进行线性或非线性的运算,得到维度降低的处理样本。一般地,处理样本中的特征值并不直接对应于原始样本中的某个特征,而是原始样本中多个特征共同运算的结果。
在一个具体的实施例中,可以利用受限玻尔兹曼机(Restricted Boltzmannmachine,RBM)进行降维处理,具体地,将上述第一节点的N维向量输入RBM中,得到第一节点的节点向量。需要说明的是,RBM包括两层神经网络,RBM的第一层被称为可见层或者输入层,它的第二层叫做隐藏层。在同一层的神经元之间是相互独立的,而在不同的网络层之间的神经元是相互连接的(双向连接)。其中,隐藏层的节点数量需要预先设定,且设定的数值d通常远小于输入层输入节点的数量(例如,对应于上述维度N),例如,N为1亿时,可以将d设定为100或50。在一个例子中,将第一节点对应的N维向量输入RBM中,可以得到对应的d维向量,作为第一节点的节点向量。
在另一个具体的实施例中,可以利用奇异值分解(Singular ValueDecomposition,简称SVD)进行降维处理,具体地,先对上述N维矩阵进行奇异值分解,得到对应的左奇异矩阵,然后将左奇异矩阵中的各行数据组成的向量分别作为所对应的各个节点的节点向量。在一个例子中,对上述N维矩阵P进行奇异值分解,可以得到对应N*d阶的左奇异矩阵U,再将其中的第i行数据组成的向量,即(Ui,1,Ui,2,...,Ui,d)作为节点i的节点向量。
在又一个具体的实施例中,上述降维处理所对应的降维方法还可以包括主成分分析(Principal Component Analysis,简称PCA)方法。PCA方法通过线性正交变换将原始数据N维数据变换为一组各维度线性无关的表示,变换后的结果中,第一个主成分具有最大的方差值,每个后续的成分在与前述主成分正交条件限制下具有最大方差。在还一个具体的实施例中,降维方法包括最小绝对收缩和选择算子LASSO(Least absolute shrinkage andselection operator)方法。该方法是一种压缩估计,其基本思想是在回归系数的绝对值之和小于一个常数的约束条件下,使残差平方和最小化。在还一个具体的实施例中,数学上的小波分析过程中的一些变换操作可以排除一些干扰数据,也可以起到降维作用,因此也可以将其作为一种降维方法。
此外,降维方法还可以包括线性判别(Linear Discriminant Analysis,简称LDA)方法,拉普拉斯特征映射,LLE局部线性嵌入(Locally linear embedding)等等。
由上,可以确定出第一节点对应的节点向量。可以理解的是,第一节点是关系网络图中N个节点中的任一节点,由此,通过所述方法可以确定出N个节点中各个节点所对应的节点向量。
综上可知,采用本说明书实施例披露的确定关系网络图中节点向量的方法,可以有效提高生成的节点向量的准确度。
根据另一方面的实施例,提供了一种确定关系网络图中节点向量的装置,该装置可以部署在任何具有计算、处理能力的设备、平台或设备集群中。图6示出根据一个实施例的确定关系网络图中节点向量的装置结构图。图6中的装置600用于确定关系网络图中节点向量,其中关系网络图中包括N个节点以及节点之间的连接边,所述N个节点中包括任意的第一节点。如图6所示,该装置600包括:
获取单元610,配置为获取所述关系网络图的邻接信息,所述邻接信息用于记录所述关系网络图中节点之间的连接关系。
第一确定单元620,配置为根据所述邻接信息,确定所述第一节点与所述N个节点中各个节点之间的第一关联度,得到N个第一关联度;其中,所述各个节点包括第二节点,所述第一节点与第二节点之间的第一关联度,与所述第一节点经过预定数量K以内的连接边到达所述第二节点的路径相关。
第二确定单元630,配置为基于N个第一关联度,确定所述第一节点与各个节点的第二关联度,得到N个第二关联度;其中,所述第一节点和第二节点之间的第二关联度,基于所述第一节点和第二节点之间的第一关联度,以及所述N个第一关联度的总和而确定。
构造单元640,配置为至少基于所述N个第二关联度,构造N维数据。
降维单元650,配置为对所述N维数据进行降维处理,得到所述第一节点的节点向量。
在一个实施例中,所述N个节点对应于N个用户,所述节点之间的连接边表示对应连接的两个用户之间具有关联关系。
在一个实施例中,所述邻接信息为邻接矩阵;所述第一确定单元620具体包括:第一确定子单元621,配置为确定所述邻接矩阵所对应的对称矩阵;第一计算子单元622,配置为将所述对称矩阵从1次方加和至所述预定数量K次方,得到第一矩阵,所述第一矩阵中包括第一元素,所述第一元素的行和列分别对应于第一节点和第二节点,所述第一元素的值表示所述第一节点和第二节点之间的第一关联度。
进一步地,在一个具体的实施例中,所述关系网络图为无向图;所述第一确定子单元621具体配置为:将所述邻接矩阵确定为所述对称矩阵。
在另一个具体的实施例中,所述关系网络图为有向图,所述第一确定子单元621具体配置为:对所述邻接矩阵与所述邻接矩阵的转置进行求和,得到所述对称矩阵。
在一个实施例中,所述第二确定单元630具体包括:第二计算子单元631,配置为将所述第一节点和第二节点之间的第一关联度除以所述N个第一关联度的总和;第二确定子单元632,配置为基于得到的商值,确定所述第一节点和第二节点之间的第二关联度。
进一步地,在一个具体的实施例中,所述第二确定子单元632具体配置为:将所述商值作为所述第一节点和第二节点之间的第二关联度;或,将所述商值作为预设增函数的输入,并将得到的输出结果确定为所述第一节点和第二节点之间的第二关联度。
在一个实施例中,所述N维数据为N维向量,所述构造单元640具体配置为:将所述N个第二关联度构成所述第一节点的N维向量;所述降维单元650具体配置为:将所述N维向量输入受限玻尔兹曼机中,得到所述第一节点的节点向量。
在一个实施例中,所述N维数据为N维矩阵,所述构造单元640具体配置为:将N个节点中各个节点所对应的N个第二关联度分别作为对应于各个节点的行数据,得到N维矩阵;所述降维单元650具体配置为:对所述N维矩阵进行奇异值分解,得到对应的左奇异矩阵;将所述左奇异矩阵中的各行数据组成的向量分别作为所对应的各个节点的节点向量。
通过以上的装置,可以生成准确度更高的节点向量。
根据又一方面的实施例,本说明书实施例还提供一种账号风险状态的确定方法。具体地,图7示出根据一个实施例的账号风险状态的确定方法流程图,所述方法的执行主体可以为任何具有计算、处理能力的装置或设备或平台或设备集群。如图7所示,所述方法具体包括以下步骤:
首先,步骤S710,获取账号网络图的邻接信息,所述账号网络图中包括N个账号以及账号之间的连接边,所述邻接信息用于记录所述账号网络图中账号之间的连接关系。
需要说明的是,对步骤S710的描述,可以参见前述对步骤S210的描述,在此不作赘述。
接着,在步骤S720,根据所述邻接信息,通过向量嵌入处理,确定所述N个账号中第一待测账号对应的第一向量,以及账号风险状态已知的已知账号对应的第二向量,其中所述向量嵌入处理包括:步骤S721,确定所述N个账号中任意的第一账号与所述N个账号中各个账号之间的第一关联度,得到N个第一关联度;其中,所述各个账号包括第二账号,所述第一账号与第二账号之间的第一关联度,与所述第一账号经过预定数量K以内的连接边到达所述第二账号的路径相关;步骤S722,基于N个第一关联度,确定所述第一账号与各个账号的第二关联度,得到N个第二关联度;其中,所述第一账号和第二账号之间的第二关联度,基于所述第一账号和第二账号之间的第一关联度,以及所述N个第一关联度的总和而确定;步骤S723,至少基于所述N个第二关联度,构造N维数据;步骤S724,对所述N维数据进行降维处理,得到所述第一账号的嵌入向量。
需要说明的是,对其中步骤S721至步骤S724的描述,可以参见前述对步骤S220至步骤S250的描述,在此不作赘述。如此,基于确定出的N个账号中各个账号的嵌入向量,可以获取第一待测账号对应的第一向量,以及账号风险状态已知的已知账号对应的第二向量。
此外,在一个实施例中,账号风险状态可以包括多种。在一个具体的实施例中,账号风险状态可以包括正常、异常。在另一个具体的实施例中,账号风险状态可以包括低风险、中等风险和高风险,等等。需要说明的是,账号风险状态已知的已知账号,可以由工作人员根据用户投诉、请求冻结等反馈情况预先标定而得到。
然后,在步骤S730,基于所述第一向量和第二向量,确定第一待测账号的账号风险状态。
在一个实施例中,先确定所述第一向量和第二向量的相似度。进一步地,在所述相似度大于预定阈值的情况下,确定出所述第一待测账号的账号风险状态与所述已知账号一致。在一个具体的实施例中,其中预定阈值可以由工作人员根据实际经验预先设定,例如,可以设定为0.8或0.9,等等。在一个具体的实施例中,上述已知账号的账号风险状态为异常。进一步地,在一个例子中,假定预定阈值为0.85,确定出的相似度为0.9,由此可以判定第一待检测账号为异常账号。
以上,基于高准确度的节点向量,相应可以提高账号风险状态检测的精准度。
根据还一方面的实施例,提供了一种确定装置,该装置可以部署在任何具有计算、处理能力的设备、平台或设备集群中。图8示出根据一个实施例的账号风险状态的确定装置结构图。如图8所示,该装置800包括:
获取单元810,配置为获取账号网络图的邻接信息,所述账号网络图中包括N个账号以及账号之间的连接边,所述邻接信息用于记录所述账号网络图中账号之间的连接关系。
第一确定单元820,配置为根据所述邻接信息,通过向量嵌入处理,确定所述N个账号中第一待测账号对应的第一向量,以及账号风险状态已知的已知账号对应的第二向量。
其中所述第一确定单元820具体包括:第一确定子单元821,配置为确定所述N个账号中任意的第一账号与所述N个账号中各个账号之间的第一关联度,得到N个第一关联度;其中,所述各个账号包括第二账号,所述第一账号与第二账号之间的第一关联度,与所述第一账号经过预定数量K以内的连接边到达所述第二账号的路径相关;第二确定子单元822,配置为基于N个第一关联度,确定所述第一账号与各个账号的第二关联度,得到N个第二关联度;其中,所述第一账号和第二账号之间的第二关联度,基于所述第一账号和第二账号之间的第一关联度,以及所述N个第一关联度的总和而确定;构造子单元823,配置为至少基于所述N个第二关联度,构造N维数据;降维子单元824,配置为对所述N维数据进行降维处理,得到所述第一账号的嵌入向量。
第二确定单元830,配置为基于所述第一向量和第二向量,确定第一待测账号的账号风险状态。
在一个实施例中,所述第二确定单元830具体配置为:确定所述第一向量和第二向量的相似度;在所述相似度大于预定阈值的情况下,确定出所述第一待测账号的账号风险状态与所述已知账号一致。
根据另一方面的实施例,还提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行结合图2或图7所描述的方法。
根据再一方面的实施例,还提供一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现结合图2或图7所描述的方法。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。