具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
以下结合附图,详细说明本申请各实施例提供的技术方案。
现有技术中,在发现目标群体时,采用的算法大多是传统的稠密子图挖掘模型,如基于kcore(K中心算法)结构,基于模块性(modularity),基于标签传播(LPA)等方法,这些方法都是无监督模型,发现的目标群体都是基于交易网络某些结构方面的最优化,如连通度,模块性等,基于这些优化函数挖掘的目标不能保证有很强的业务特征,如群体的交易模式等,无法预测出群体的可疑行为类型以及群体的分层结构。例如:用户A与20个用户存在同设备关系,同设备关系可以指的是使用同一mac地址,同一手机号等,此时,可以认为用户A与这20个用户组成的小团体X的连通度较大,预测可能是可疑群体的概率较高,此时,因为无法确定团体X的行为类型,因此,不能判定团体X属于目标群体;或者假如预设的可疑目标群体人员数量阈值范围为不低于10人,此时,存在5个小团体,每个团体中的用户人数仅为6人,但是这五个团体属于同一目标群体的分支,此时,采用现有技术中的方法无法预测出目标群体的层次结构。
图1为本说明书实施例中一种目标群体预测方法的流程示意图。从程序角度而言,流程的执行主体可以为搭载于应用服务器的程序或应用用户端。
如图1所示,一种目标群体预测方法,可以包括以下步骤:
S101:获取群体用户样本集合,所述群体用户样本集合中包括多个类型的群体用户样本。
每个群体用户样本中至少包括各个用户的用户个人身份信息数据、用户关系数据、用户行为类型数据,所述用户关系数据用于表示用户之间的资金往来关系或同设备关系,所述用户行为类型数据用于表示用户被标记的历史行为类型。
层次结构可以表示的是一个大团伙中的多个小团伙,例如:层次结构为:团伙A中包括以3-4人构成的小团伙A1、A2、A3、A4。
需要说明的是,群体用户样本集合中包括的群体类型可以为多个,例如:获取的群体样本中有传销样本、赌博样本、骗贷样本等等;群体用户样本集合中的群体用户样本作为后续进行模型训练的样本数据,可以指的是具有确定结果的真实群体人员的相关数据集合。群体用户样本集合中的每个群体用户样本中可以包括各个用户对应的相关数据,这些相关数据可以包含用户个人身份信息数据、用户关系数据、用户行为类型数据等。
例如:获取一个群体用户样本集合Y={A,B,C},其中,群体用户样本A表示传销样本,群体用户样本B表示赌博样本,群体用户样本C表示骗贷样本。传销样本A中包括用户1-用户6这六个用户的用户个人身份信息数据、用户关系数据、用户行为类型数据;赌博样本B中包括用户7-用户11这五个用户的用户个人身份信息数据、用户关系数据、用户行为类型数据;骗保样本C中包括用户12-用户18这7个用户的用户个人身份信息数据、用户关系数据、用户行为类型数据。
其中,群体可以指的是在用户关系网络中,某些关系较为密切的用户形成的用户群。如利用一些支付平台从事洗钱活动的群体、或者利用某些交友软件从事传销活动的群体等。
用户个人身份信息数据可以表示的是用户的姓名、年龄、职业、账号等个人基本信息。
用户关系数据可以指的是各用户之间的资金往来数据以及同设备关系数据,具体的,用户之间的资金往来数据可以指的是在特定时间内(例如3个月内)各用户的账户流入流出金额、交易对象、交易平台、交易类型等等;用户之间的同设备关系数据可以指的是两个或两个以上的用户共用一个媒体访问控制子层协议(Media Access Control,简称MAC)地址、唯一素材预测码(Unique Material Identifier,简称UMID)、SIM(SubscriberIdentity Module)卡号、互联网协议地址(Internet Protocol Address,简称IP地址)、虚拟专用网络(Virtual Private Network,简称VPN)地址以及设备型号等。
用户行为类型数据可以指的是用户被标记的已知的历史真实行为类型数据,例如:用户A被标记的疑似诈骗、疑似赌博的行为。
S102:从所述用户样本集合中确定出有效样本集合,所述有效样本集合中的有效数据为满足预设条件的所述用户样本集合中的用户数据。
用户样本集合中包括的数据量较多,在进行特征提取时,如果对所有数据都进行处理,任务量大,服务器的负载运行压力也会增加,因此,为了克服这一技术缺陷,本实施例中在确定表征向量之前,只选择保留满足预设条件的有效数据进行后续的操作。
S103:将所述有效样本集合作为样本数据,利用图神经网络进行自学习,得到第一表征向量,所述第一表征向量用于表征所述有效样本集合的样本特征信息。
第一表征向量可以表示有效样本集合中所有用户数据对应的特征信息。所述特征信息可以表示的是目标群体中的用户行为特征、用户关系特征等等。例如:第一表征向量可以是一个128维的向量空间,目标群体的用户数据特征信息可以是这128维的向量空间中的映射点。
S104:根据所述第一表征向量得到目标群体预测模型。
训练模型可以是根据提供的算法与训练数据,从变量映射到目标的训练数据模式学习,并输出捕获这些关系的模型。在本申请中,通过对目标群体样本数据的分析得到第一表征向量,采用第一表征向量训练模型,得到目标群体模型。
S105:利用所述目标群体预测模型对待预测用户数据进行预测。
将待预测的用户数据输入训练好的目标群体预测模型中进行预测,确定目标群体的交易类型以及层次结构。
图1中的方法,本说明书实施例采用的上述至少一个技术方案能够达到以下有益效果:通过对获取到的各种类型的群体用户样本中的有效样本进行自学习,得到可以表示有效样本特征信息的表征向量,根据表征向量确定目标群体预测模型,并采用该模型对待预测的用户数据进行预测,仅对有效样本进行自学习得到表征向量能够提高目标群体的预测效率;通过表征向量确定的目标群体预测模型进行预测,能够预测得到目标群体的交易类型以及层次结构。
基于图1的方法,本说明书实施例还提供了该方法的一些具体实施方案,下面进行说明。
图1的方案中,将所述有效样本集合作为样本数据,利用图神经网络进行自学习,得到第一表征向量,具体可以包括:
根据所述有效样本集合构建第一用户关系网络,所述第一用户关系网络用于表示所述有效样本集合中各用户之间的关系信息;
将所述第一用户关系网络作为输入,利用图神经网络进行自学习,得到第一表征向量。图2为本说明书实施例提供的用户关系网络示意图。如图2所示,第一用户关系网络由节点和连线构成,可以用来表示有效样本集合中包含的诸多用户及其各用户之间的相互联系。可以用节点来表示用户(可以是用户账户或者用于表示用户的标记),节点之间的连线用于表示用户之间的关系。
图神经网络(graph neural network,简称GNN),可以指在广义的图结构上,利用一种递归聚合的方式,将图中节点的信息进行传播,最终学习每个图节点的表征向量。更为具体的,深度学习理论中的图神经网络可以是在拓扑空间(topological space)内按图(graph)结构组织以进行关系推理(relational reasoning)的函数集合。
在实际应用中,根据所述有效样本集合构建第一用户关系网络时,具体可以采用以下方式,但并不局限于下述方式:
第一、当有效样本集合中的用户关系数据为资金往来关系数据时,可以根据用户在特定时间段内交易的对象、交易的频率、交易的金额总量以及用户的行为类型数据来进行用户关系网络的建立。例如:有效样本集合中包括用户1-用户6,预设时间段为3个月,交易频次为不低于3次,交易金额总量为大于10万人民币或占比20%以上。此时,假设用户1与用户2三个月内交易10次,交易金额总量为20万,用户1与用户6三个月内交易5次,交易金额总量为30万,用户2与用户6三个月内交易10次,交易金额总量为10万;此时可以建立用户1、用户2与用户6之间的关系,在图2的用户关系网络中可以表示为A:顶点1、顶点2与顶点6分别表示用户1、用户2与用户6,顶点1与顶点2之间的连线(或者是边)表示用户1与用户2之间的关系,顶点1与顶点6之间的连线表示用户1与用户6之间的关系,顶点2与顶点6之间的连线表示用户2与用户6之间的关系。这里具体可以分别表示用户1与用户2、用户1与用户6以及用户2与用户6之间三个月内的具体资金往来关系。
又或者,可以根据用户的行为类型来建立关系,例如:用户3与用户4之前都被标记为疑似传销成员,用户3和用户5之前都被标记为疑似赌博人员;此时在图2的用户关系网络中可以表示为B:顶点3与顶点4之间的连线表示用户3与用户4都为疑似传销人员,用户3与用户5均为疑似赌博人员。此时的用户3即为疑似传销人员,也为疑似赌博人员。
第二、当有效样本集合中的用户关系数据为同设备关系数据时,可以根据不同用户在特定时间段内使用同一MAC地址、同一IP地址或者同一手机号进行活动的频率以及用户的行为类型数据来进行用户关系网络的建立。例如:有效样本集合中包括用户7、用户8、用户9;预设时间段为1个月,使用频率为不低于3次,假设用户7与用户8在半个月内使用同一Mac地址进行可疑信息发送的次数为30次,此时,在图2的用户关系网络中可以表示为C:顶点7与顶点8之间的连线表示用户7与用户8为同设备关系。
在用户同设备关系的情况下,也可以根据用户的行为类型来建立关系,具体建立关系的方法与上述第一点论述资金往来关系中的方法相同,此处不再赘述。
需要说明的是,有效样本集合中可以包括多种类型的群体用户数据,因此,上面论述的两种建立关系网络的方式可以共同应用在同一个用户关系网络的建立中,例如:有效用户集合中的用户1与用户2在特定时间段内既存在资金往来关系,也存在同设备关系,用户1与用户3存在用户类型关系以及用户同设备关系,此时,在图2的用户关系网络中可以表示为D:其中,顶点1与顶点2之间的连线表示用户1与用户2在特定时间段内既存在资金往来关系,也存在同设备关系,用户1与用户3之间的连线表示用户1与用户3存在用户类型关系以及用户同设备关系。
上述步骤中,通过用户之间不同的关系数据,采用不同的方法建立用户关系网络,将每个用户作为顶点,将用户之间的关系作为连线(或者边),构成一个用户关系网络,并将所述第一用户关系网络作为输入,利用图神经网络进行自学习,得到第一表征向量,第一表征向量可以表示全部群体类型中的用户数据特征,为预测模型提供了更加全面的群体特征数据。
现有技术中,通常是对每一层网络利用社团划分算法,对整个网络形成社团划分结构,然后把每一个群体看作一个顶点,从而形成下一层的网络结构,同时下一层网络的顶点表征向量是简单的该社团所有顶点在当前层中表征向量的求和或平均,这种方法存在信息失真的问题,不能很好的预测群体的分层结构。
为了克服现有技术中的缺陷,本说明书实施例提供了以下的具体实施方案,下面进行说明:
将所述第一用户关系网络作为输入,利用图神经网络进行自学习,得到第一表征向量,具体可以包括:
对所述第一用户关系网络进行网络池化,得到分配概率矩阵,所述分配概率矩阵用于表示所述第一用户关系网络中当前层的各顶点在池化过程中的分配概率,所述顶点用于表示所述有效样本集合中的各个用户;
将所述分配概率矩阵作为样本数据进行自学习,得到最优分配概率矩阵,所述最优分配概率矩阵具有最小损失函数,所述最小损失函数表示所述用户样本集合中全部样本数据的损失值最小;
根据所述最优分配概率矩阵确定所述第一表征向量。
池化(pooling),可以对不同位置的特征进行聚合统计操作,例如,可以计算图像一个区域上的某个特定特征的平均值(或最大值)。这些需要统计的特征相比使用所有提取得到的特征少,同时还会改善结果。有时根据计算池化的方法也可以称为平均池化或者最大池化。
分配概率矩阵可以用于表示所述第一用户关系网络中当前层的各顶点在池化过程中的分配概率,所述顶点可以用于表示所述有效样本集合中的各个用户。所述分配概率矩阵中的每一行对应一个所述第一用户关系网络中当前层(比如第l层)的顶点,每一列对应所述下一层(比如第l+1层)网络中的一个聚类,所述聚类中至少包括所述第一用户关系网络中的一个顶点。
损失函数(loss function)可以是指一种将一个样本空间中的一个元素映射到一个表达与其事件相关的经济成本或机会成本的实数上的一种函数。可以用来估量模型的预测值f(x)与真实值Y的不一致程度,它是一个非负实值函数,通常使用L(Y,f(x))来表示,损失函数越小,模型的鲁棒性就越好。
将分配概率矩阵作为学习的参数,通过分类器进行训练,最终学习得到使损失函数最小时的最优分配概率函数,此时的损失函数最小并不仅仅指单独一个群体样本数据对应的损失函数最小,而是对应的群体样本集合中所有的群体样本数据对应的损失函数最小。
根据所述最优分配概率矩阵确定所述第一表征向量。
本方案的实施例中,在对用户关系网络进行多层池化,得到表征向量时,具体可以采用以下方式:
图3为本说明书实施例提供的一种网络池化方法的结构示意图。
如图3所示,用户关系网络中包括五个模块,分别为301-305,每个模块可以代表一个群体,每一个小圆圈(或者是顶点)可以代表一个用户;一层池化网络中包括两个模块,分别为306和307,每个模块可以代表一个群体类型,模块与模块之间的每条边(或者连线)可以表示群体之间的关系,顶点与顶点之间的连线可以表示用户之间的关系;每个模块中都包括聚类,如:模块306中的聚类A、聚类B和聚类C,二层池化网络中包括模块308,模块308中包括聚类F和聚类G,三层池化网络中形成一个表征向量309。具体的池化过程可以是:
输入是一个用户关系群体网络,用户关系网络中的每个顶点可以表示一个用户,每个用户有若干维的特征,用户之间可以存在资金或非资金关系,非资金关系可以是同设备关系。用户关系网络通过池化,形成一层池化网络,此时,用户关系网络中的每一个小模块经过池化后凝聚成一个聚类,具体对应关系为:模块301→A,模块302→B,模块303→C,模块304→E,模块305→D;同时,小模块之间的关系形成下一层网络之间的边,具体对应关系为:模块301与模块302之间的关系形成聚类A与聚类B之间的连线,模块302与模块303之间的关系形成聚类B与聚类C之间的连线。如此迭代,一层池化网络中的模块306形成二层池化网络中的聚类F,一层池化网络中的模块307形成二层池化网络中的聚类G,直到最后一个池化层只剩一个表征向量309,表征向量309可以用于表示客户关系网络中最后将这个顶点的表征向量灌入一个分类器,预测群体类型。需要说明的是,图3中的网络结构以及池化层数等仅用于解释实施例中的技术方案,并不对本发明中的技术方案起限定作用。
结合用户关系数据的种类以及用户行为类型数据对图3进行分析,可以是:在用户关系网络中,模块301与模块302以及模块303之间均有连线,可以表示群体301与群体302之间有资金往来关系和/或同设备关系,模块301中存在三个顶点互相连接,假设模块301中的三个顶点分别代表三个用户1、2、3,此时三个用户之间具有关系,但是此时三人之间的关系可以是相同类型的关系,也可以是不同的关系,例如:可以认为用户1与用户2之间,用户1与用户3之间,用户2与用户3之间均为3个月内资金往来异常的关系。也可以认为用户1与用户2之间在特定时间段内存在可疑的资金往来(例如:三个月内超过35次的转账或者是超出10万的资金流转),用户2与用户3之间在特定时间内使用同一设备进行异常操作的频率高出预设阈值,用户1与用户3之间同属于被标记的疑似传销人员。
另外,在具体池化过程中,会存在每个顶点的概率分配问题,如图3所示,第一层向第二层池化时,第一层池化网络中的层的每一个顶点都会被分配到第二层池化网络中的某个聚类中,这里是概率值形式的软分配,记为分配矩阵S,这里S中的每一行对应一个第一层池化网络中的顶点,而每一列则对应第二层池化网络中的一个聚类。现在假设分配矩阵S是已知的,则我们可以通过l层的顶点表征矩阵Z和顶点邻接矩阵A得到l+1层的顶点表征矩阵Z和顶点邻接矩阵A。
所述将所述分配概率矩阵作为样本数据,利用图神经网络进行自学习,得到最优分配概率矩阵,具体可以包括:
根据所述分配概率矩阵确定所述第一用户关系网络在进行网络池化过程中对应的顶点特征矩阵和顶点邻接矩阵;
将所述顶点特征矩阵和顶点邻接矩阵作为输入,通过所述分类器进行训练,得到最优分配概率矩阵。
所述根据所述分配概率矩阵确定所述第一用户关系网络在进行池化过程中对应的顶点特征矩阵和顶点邻接矩阵,具体可以包括:
采用如下公式确定所述第一用户关系网络在进行网络池化过程中对应的顶点特征矩阵X和顶点邻接矩阵A:
其中,X(l+1)表示第l+1层网络中的顶点特征矩阵,A(l+1)表示第l+1层网络中的顶点邻接矩阵,S(l)表示第l层网络中顶点的分配概率矩阵,Z(l)表示l层的表征向量,T表示矩阵的转置,d表示向量维度,R表示实数集,nl+1×d表示一个nl+1×d的矩阵。
例如:一用户关系网络X需要经过三层池化,分别途径第一层池化网络、第二层池化网络和第三层池化网络,在经过第一层网络池化后,分配概率矩阵S1中的概率分配值可以随机获取。经过第二层网络池化后,第二层池化网络中的顶点特征矩阵X2由第一层池化网络中的分配概率矩阵S1以及第一层池化网络中的表征矩阵(或者表征向量)Z1来确定,第二层网络中的顶点邻接矩阵A2由第一层池化网络中的分配概率矩阵S1以及第一层池化网络中的顶点邻接矩阵A1来确定;依次循环,第三层池化网络中的顶点特征矩阵X3由第二层池化网络中的分配概率矩阵S2以及第二层池化网络中的表征矩阵(或者表征向量)Z2来确定,第三层网络中的顶点邻接矩阵A3由第二层池化网络中的分配概率矩阵S2以及第二层池化网络中的顶点邻接矩阵A2来确定。
所述将所述顶点特征矩阵和顶点邻接矩阵作为输入,通过所述分类器进行训练,得到最优分配概率矩阵,具体可以包括:
采用如下公式确定最优分配概率矩阵S′(l):
S′(l)=softmax(GNNl,pool(A(l),X(l)))
其中,softmax()表示利用softmax函数进行软分类,GNNl,pool()表示图神经网络池化,X(l)表示第l层网络中的顶点特征矩阵,A(l)表示第l层网络中的顶点邻接矩阵。
需要说明的是,在利用图神经网络进行池化,确定最优分配矩阵时,是将当前层的顶点特征矩阵X和顶点邻接矩阵A作为输入来进行池化,得到最优分配概率矩阵。
Softmax函数,也可以称作归一化指数函数,可以将一个含任意实数的K维向量“压缩”到另一个K维实向量中,使得每一个元素的范围都在(0,1)之间,并且所有元素的和为1。例如:输入向量[1,2,3,4,1,2,3]对应的Softmax函数的值为[0.024,0.064,0.175,0.475,0.024,0.064,0.175]。输出向量中拥有最大权重的项“0.475”对应着输入向量中的最大值“4”。
所述根据所述最优分配概率矩阵确定所述第一表征向量,具体可以包括:
获取所述最优分配概率矩阵对应的顶点特征矩阵和顶点邻接矩阵,根据所述顶点特征矩阵和顶点邻接矩阵确定所述第一表征向量;
所述根据所述顶点特征矩阵和顶点邻接矩阵确定所述第一表征向量,具体可以包括:
采用如下公式确定所述第一表征向量Z(l):
Z(l)=GNNl,embed(A(l),X(l))
其中,GNNl,embed()表示利用图神经网络进行表征学习,得到第一表征向量求解。
在利用图神经网络进行表征学习时,将当前层的顶点特征矩阵X和顶点邻接矩阵A作为输入进行表征学习,得到表征向量。
需要说明的是,在利用GNN学习得到顶点表征向量和分配矩阵时,也可以使用其它的深度学习网络表征模型,如基于随机游走的node2vec(网络特征提取)或Deep walk(网络表征学习)等方法,由于这些方法通常不能处理顶点原始的特征,因此在使用时,需要将这些原始信息追加到学习到的表征向量后面,以减少信息丢失。
上述步骤中,基于图神经网络的深度学习方法,能够以一种端到端(end-to-end)的方式发现分层群体结构,层与层之间的映射是完全通过样本群体以一种有监督方式学习得到,自动学习最优的社团分配矩阵。同时,在生成顶点表征向量时,利用比求和或平均等更先进的GNN(图神经网络)模型学习得到,GNN最大的优点是能将网络结构信息和顶点特征信息融合在输出的表征向量中,充分利用数据本身的信息进行知识挖掘,能够预测出群体的交易类型以及层次结构。
在生成预测模型之后,需要采用预测模型对待预测的用户数据进行预测,在具体预测时,可以包括以下步骤:
根据所述待预测用户数据构建第二用户关系网络,所述第二用户关系网络用于表示所述待预测用户数据对应的各用户之间的关系信息;
对所述第二用户关系网络进行网络池化,得到所述待预测用户数据对应的待预测第二表征向量;
将所述第二表征向量输入目标群体预测模型中,得到预测结果。
在进行预测时,需要对待预测的用户数据构建有关系网络,并对构建的用户关系网络进行多层池化后形成一个点的表征向量,然后再在训练好的分类器(预测模型)上进行预测预测。
前面提到的,所述从所述群体用户样本集合中确定出有效样本集合,具体可以包括:
对所述群体用户样本集合中的用户数据进行数据清洗,保留满足预设条件的有效用户数据,得到包含所述有效用户数据的有效样本集合。
数据清洗可以指的是发现并纠正数据文件中可识别的错误,包括检查数据一致性,处理无效值和缺失值。
在本实施例中,预设条件可以是特定时间段内的交易频率、交易金额、使用同设备的频率以及是否被标记等众多条件中的一个或多个,可以根据具体情况进行设定,这里提到的预设条件类型仅用于解释实施例中的技术方案,并不对本发明中的技术方案起限定作用。
上述步骤中,在进行网络池化之前,对获取的群体用户样本集合中的样本数据进行数据清洗,去除不满足条件的数据,仅保留有效数据,能够减轻服务器在保存以及处理数据过程中的负载压力,并且仅对有效数据进行自学习,能够提高获取表征向量的效率,从而进一步提高预测群体的效率。
基于同样的思路,本说明书实施例还提供了上述方法对应的装置。图4为本说明书实施例提供的对应于图1的一种目标群体预测装置的结构示意图。如图4所示,该装置可以包括:
群体用户样本获取模块401,用于获取群体用户样本集合,所述群体用户样本集合中包括多个类型的群体用户样本;
其中,每个群体用户样本中至少包括各个用户的用户个人身份信息数据、用户关系数据、用户行为类型数据,所述用户关系数据用于表示用户之间的资金往来关系或同设备关系,所述用户行为类型数据用于表示用户被标记的历史行为类型;
有效样本确定模块402,用于从所述群体用户样本集合中确定出有效样本集合,所述有效样本集合中的有效样本为满足预设条件的所述群体用户样本;
第一表征向量确定模块403,用于将所述有效样本集合作为样本数据,利用图神经网络进行自学习,得到第一表征向量,所述第一表征向量用于表征所述有效样本集合的样本特征信息;
预测模型确定模块404,用于根据所述第一表征向量得到目标群体预测模型;
预测模块405,用于利用所述目标群体预测模型对待预测用户数据进行预测。
可选的,所述第一表征向量确定模块403,具体可以包括:
第一用户关系网络构建单元,用于根据所述有效样本集合构建第一用户关系网络,所述第一用户关系网络用于表示所述有效样本集合中各用户之间的关系信息;
第一表征向量确定单元,用于将所述第一用户关系网络作为输入,利用图神经网络进行自学习,得到第一表征向量。
可选的,所述第一表征向量确定单元,具体可以包括:
池化子单元,用于对所述第一用户关系网络进行网络池化,得到分配概率矩阵,所述分配概率矩阵用于表示所述第一用户关系网络中各顶点在池化过程中的分配概率,所述顶点用于表示所述有效样本集合中的各个用户;
最优分配概率矩阵确定子单元,用于将所述分配概率矩阵作为样本数据进行自学习,得到最优分配概率矩阵,所述最优分配概率矩阵具有最小损失函数,所述最小损失函数表示所述用户样本集合中全部样本数据的损失值最小;
第一表征向量确定子单元,用于根据所述最优分配概率矩阵确定所述第一表征向量。
可选的,所述最优分配概率矩阵确定子单元,具体可以用于:
根据所述分配概率矩阵确定所述第一用户关系网络在进行网络池化过程中对应的顶点特征矩阵和顶点邻接矩阵;
将所述顶点特征矩阵和顶点邻接矩阵作为输入数据进行自学习,得到最优分配概率矩阵。
可选的,所述预测模块405,具体可以用于:
根据所述待预测用户数据构建第二用户关系网络,所述第二用户关系网络用于表示所述待预测用户数据对应的各用户之间的关系信息;
对所述第二用户关系网络进行网络池化,得到所述待预测用户数据对应的第二表征向量,所述第二表征向量用于表示所述待预测用户数据的特征信息;
将所述第二表征向量输入目标群体预测模型中,得到预测结果。
可选的,所述有效样本确定模块402,具体可以用于:
对所述群体用户样本集合中的用户数据进行数据清洗,保留满足预设条件的有效用户数据,得到包含所述有效用户数据的有效样本集合。
可选的,所述装置,具体可以用于:
采用如下公式确定所述第一用户关系网络在进行网络池化过程中对应的顶点特征矩阵X和顶点邻接矩阵A:
其中,X(l+1)表示第l+1层网络中的顶点特征矩阵,A(l+1)表示第l+1层网络中的顶点邻接矩阵,S(l)表示第l层网络中顶点的分配概率矩阵,Z(l)表示l层的表征向量,T表示矩阵的转置,d表示向量维度,R表示实数集,nl+1×d表示一个nl+1×d的矩阵。
可选的,所述装置,具体可以用于:
采用如下公式确定最优分配概率矩阵S′(l):
S′(l)=softmax(GNNl,pool(A(l),X(l)))
其中,softmax()表示利用softmax函数进行软分类,GNNl,pool()表示图神经网络池化,X(l)表示第l层网络中的顶点特征矩阵,A(l)表示第l层网络中的顶点邻接矩阵。
可选的,所述第一表征向量确定子单元,具体可以用于:
采用如下公式确定所述第一表征向量Z(l):
Z(l)=GNNl,embed(A(l),X(l))
其中,GNNl,embed()表示利用表征学习图神经网络进行所述第一表征向量求解。
基于同样的思路,本说明书实施例还提供了上述方法对应的设备。
图5为本说明书实施例提供的对应于图1的一种目标群体预测设备的结构示意图。如图5所示,设备500可以包括:
至少一个处理器510;以及,
与所述至少一个处理器通信连接的存储器530;其中,
所述存储器530存储有可被所述至少一个处理器510执行的指令520,所述指令被所述至少一个处理器510执行,以使所述至少一个处理器510能够:
获取群体用户样本集合,所述群体用户样本集合中包括多个类型的群体用户样本;
从所述群体用户样本集合中确定出有效样本集合,所述有效样本集合中的有效样本为满足预设条件的所述群体用户样本;
将所述有效样本集合作为样本数据,利用图神经网络进行自学习,得到第一表征向量,所述第一表征向量用于表征所述有效样本集合的样本特征信息;
根据所述第一表征向量得到目标群体预测模型;
利用所述目标群体预测模型对待预测用户数据进行预测。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。