基于启发式算法的动态社交用户对齐方法及系统
技术领域
本发明属于社交网络分析领域,具体涉及一种基于启发式算法的动态社交用户对齐方法及系统。
背景技术
随着互联网的蓬勃发展,越来越多人愿意在虚拟网络中交友与生活。很多用户为了享受社交网络不同的功能,会加入不同类型的社交网络平台,形成一个用户拥有多个社交网络账号的现象。然而,由于平台之间的封闭性,同一用户在不同社交网络平台产生的数据无法有效连通,这为基于多源异构的网络数据挖掘任务带来了一定的困难。因此,跨社交网络用户对齐成为这一研究领域的一个关键问题,其主要目标是在不同的社交网络中找出属于同一个人的账号进行关联,从而完成跨平台的数据融合。相关研究可以有效缓解社区发现,信息传播,用户推荐等社交网络分析相关任务中的“数据稀疏”和“冷启动”问题。
现阶段,社交网络对齐任务的研究大多是基于静态网络环境,忽略了网络具有动态更新的内在属性。在现实世界中,用户可能加入或者退出一个社交网络,用户的友邻关系也在不断变化,即网络的节点和边都在不断地演进和变化。动态性是社交网络的一个重要属性,然而这一重要维度在社交网络对齐问题中尚未探索。
与静态网络相比,动态网络更符合目前社交网络演化的真实情形,其具有能够及时反映网络变化、为网络增加信息、减少数据陈旧等优势;动态性是社交网络的天然特性。用户间动态的交互行为,如增删好友、关注、点赞和评论@等都是动态性的体现。然而,直接将针对静态网络构建用户对齐的模型应用至动态网络时,通常会面临着模型需要重新训练的问题。随着社交网络平台用户更新迭代速度的增加,社交网络平台变化得越来越快,并且随着网络规模的增大,模型重新训练的资源开销也会急剧增加。因此,构建高效快速的动态跨社交网络用户对齐模型是目前这一研究领域面临的一个重要挑战。
发明内容
为解决以上现有技术问题,针对目前的动态网络环境,本发明提供了基于启发式算法的动态社交用户对齐方法及系统用以解决上述问题,本发明主要采用跨网络新增节点权重自适应学习方法,在单网络环境下引入注意力机制获取新节点在单网络中的局部影响权重,在多网络环境下使用跨网络特有的锚节点作为监督信息,启发式学习新节点在用户对齐任务驱动下的局部影响权重;网络局部动态更新,融合上述两种权重,选择需要更新的网络范围,在保持二阶邻居相似度的前提下进行网络局部动态更新,完成用户对齐任务驱动下的多网络用户表示,进而完成动态跨网络用户对齐。
本发明的技术方案为:
在本发明的第一方面,本发明提供了一种启发式算法的动态社交网络用户对齐方法,其步骤包括:
从多个不同的社交网络平台中获取每个用户的社交关系和平台间的锚用户即共同用户,并将存在社交关系的两用户作为邻居用户;
根据初始社交网络平台用户的社交关系提取结构信息构建出用户关系概率模型,通过最小化经验概率和概率模型之间的相对熵建立出初始网络表示模型,得到每个用户的网络表示,并进行用户全局对齐;
在社交网络平台中增加新用户,使用注意力机制获取新用户与其邻居用户在每个社交网络平台中的第一权重;
使用跨社交网络平台的共同用户作为监督信息,利用启发式算法计算出该新用户与其邻居用户在不同社交网络平台中的第二权重;
采用加和的方式融合第一权重和第二权重,并获得新用户以及其邻居用户的启发式权重;
对该新用户的所有邻居用户的启发式权重进行排序,确定出启发式权重值最高的前K个邻居用户和该新用户共同作为待更新的局部网络;
利用监督学习到的启发式权重对初始网络表示模型进行更新;在保持二阶相似度的目标下,根据更新后的初始网络表示模型对待更新的局部网络中的所有用户进行用户对齐。
在本发明的第二方面,本发明提供了一种基于启发式算法的动态社交用户对齐系统,所述系统包括:
平台接口API,用于获取社交网络平台中的每个用户的社交关系;
模型建模模块,用于构造出社交网络平台的图网络,将社交网络用户作为图节点,将存在社交关系的两邻居用户作为图边;
注意力机制模块,用于根据注意力机制获取新用户与其邻居用户在每个社交网络平台中的第一权重;
监督训练模块,用于根据启发式算法计算出新用户与其邻居用户在不同社交网络平台中的第二权重;
排序模块,用于对新用户的所有邻居用户的启发式权重进行排序,确定出启发式权重值最高的前K个邻居用户和该新用户共同作为待更新的局部网络;
用户对齐模块,用于获取不同社交网络平台中的用户相似程度,在保持二阶相似度的目标下,对待对齐的局部网络中的所有用户进行用户对齐,并计算用户相似度。
本发明的技术效果包括:
本发明通过构建动态跨网络表示学习模型来实现跨网络用户之间的对齐任务,利用网络结构信息进行建模,在标签信息缺失的情况下,依旧可以获得较好的准确率,在较短的时间完成动态网络的更新,有效解决动态网络用户对齐时间开销大、模型重训练等问题。
附图说明
图1是本发明的基于启发式算法的动态社交网络用户对齐方法流程图;
图2为本发明的基于启发式算法的动态社交网络用户对齐系统结构图;
图3为本发明的计算机设备的架构图;
图4为本发明所述新增节点类型对嵌入位置的影响图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明的一种启发式算法的动态社交网络用户对齐方法,其步骤包括:
101、从多个不同的社交网络平台中获取每个用户的社交关系和平台间的锚用户即共同用户,并将存在社交关系的两用户作为邻居用户;
102、根据初始社交网络平台用户的社交关系提取结构信息构建出用户关系概率模型,通过最小化经验概率和概率模型之间的相对熵建立出初始网络表示模型,得到每个用户的网络表示,并进行用户全局对齐;
103、在社交网络平台中增加新用户,使用注意力机制获取新用户与其邻居用户在每个社交网络平台中的第一权重;
104、使用跨社交网络平台的共同用户作为监督信息,利用启发式算法计算出该新用户与其邻居用户在不同社交网络平台中的第二权重;
105、采用加和的方式融合第一权重和第二权重,并获得新用户以及其邻居用户的启发式权重;
106、对该新用户的所有邻居用户的启发式权重进行排序,确定出启发式权重值最高的前K个邻居用户和该新用户共同作为待更新的局部网络;
107、利用监督学习到的启发式权重对初始网络表示模型进行更新;在保持二阶相似度的目标下,根据更新后的初始网络表示模型对待更新的局部网络中的所有用户进行用户对齐。
KL距离,是Kullback-Leibler差异(Kullback-Leibler Divergence)的简称,也叫做相对熵(Relative Entropy)。
在步骤101中,包含跨网络即多个不同的社交网络平台用户信息的采集,对齐指的是,一个自然人,在不同社交媒体(微博、豆瓣、贴吧、知乎、Twitter、Facebook等)拥有不同的账号。本发明通过不同社交网络平台中账号的各个特征,判断出来他们是否属于同一个自然人;将社交网络平台中的用户作为图节点,将具有社交关系的两用户通过边的方式连接,这里的存在社交关系表示用户间存在关注与粉丝关系。
在步骤102中,根据初始社交网络平台用户的社交关系提取结构信息构建出用户关系概率模型的构建公式如下:
其中,p
1(v
j|v
i)表示用户v
i关注用户v
j的概率;p
2(v
i|v
j)表示用户v
j被用户v
i关注的概率;
表示用户v
i本身的向量,
表示该用户v
i作为输入上下文时的向量,
表示该用户v
i作为输出上下文时的向量,V表示社交网络平台用户集合,i,j,k∈|V|,且由于用户不能关注本身,也不能被其本身关注,所以用户i,j,k各不相同。
更进一步的,根据初始网络表示模型中的两个初始目标函数,同时最小化这两个初始目标函数,从而求解出每个用户的网络表示,按照每个用户的网络表示对用户进行全局对齐;
本发明采用最小化
和
与其经验概率
和
之间的KL距离的方式构造出原始的初始目标函数,表示为:
表示为用户v
j的入度值;
表示为用户v
i的出度值;其中,p1和p2经验概率定义为:
以及
和
分别表示用户v
i的出度和用户v
j的入度;w
ij表示用户v
i和用户v
j的边权重;w
ik表示用户v
i和用户v
k的边权重;N
out(v
i)表示用户v
i的出度集合;N
in(v
j)表示用户v
j的入度集合。
进一步的,对上述原始的初始目标函数进行化简,得到两个初始目标函数的表示公式如下:
O
1表示社交网络平台内部的用户相似度的初始目标函数;O
2社交网络平台间的用户相似度的初始目标函数;E
X社交网络平台X中的所有用户边;E
Y表示社交网络平台Y中的所有用户边;
表示在社交网络平台X中用户v
i和用户v
j所构成的边权重;
表示在社交网平台Y中用户v
i和用户v
j所构成的边权重;
表示在社交网络平台X的用户v
i关注在社交网络平台Y的用户v
k的概率;
表示在社交网络平台Y的用户v
k被在社交网络平台X的用户v
i关注的概率。
当上述初始目标函数最小化时,此时O1和O2所对应的用户的网络表示则可以确定该用户的各项关系,例如可以确定出该用户的邻居用户对其定位,从而找到该用户在社交网络平台X和社交网络平台Y的对应位置,进行用户全局对齐。目标函数O1可保证在同一网络的情况下,关系结构相似的两个用户在向量空间中的表示也相似;目标函数O2使用锚用户作为桥梁,使得两个网络中的用户同时嵌入在同一个向量空间中。
在步骤103中,第一权重是单一社交网络平台内部的贡献权重,其关键在于寻找新加入用户对于网络局部结构的影响,对于仅有好友或者关注粉丝关系的网络而言,网络间影响权重通常被设置为节点的出度或入度。在直观上,由于用户之间的关联强度是有区别的。基于此,本专利使用注意力机制来获取新用户与其邻居用户在单一的社交网络平台上的贡献权重
如公式所示:
其中,
表示新用户v
*与其邻居用户v
i的第一权重;softmax表示归一化指数函数;v
*∈R
d表示新用户的嵌入向量,d为嵌入向量的维度;v
i,v
j∈N(v
*)表示v
*的邻居节点向量,N(v
*)表示新用户v
*的邻居用户。v
*可以通过随机初始化的方式获取,或者通过常见网络嵌入模型进行一次局部网络更新获取。
在步骤104中,本专利采用了监督学习的方法对局部网络训练出一种启发式的学习机制,算出节点的类型对节点的影响的大小。其基本思路是:对链接不同社交网络的锚节点赋予更多的权重,从而获得更大的贡献权重。具体而言,本发明首先为局部网络中的每条边根据锚节点数构建标准权重,然后将它们应用于监督学习去训练每条边的权重系数。为了实现这个目标,我们设
为新增节点v
*与邻居节点v
i通过监督学习训练后的到的权重系数。
该贡献权重的计算公式表示为:
其中,
表示新用户v
*与其邻居用户v
i的第二权重;w∈R
1*d为监督学习要学的参数向量,d为嵌入向量的维度;v
*为新用户的嵌入向量,v
i表示v
*的邻居节点向量;(v
*+v
i)∈R
d*1为节点向量对应位置元素相加。
所述第二权重的训练过程包括对链接到不同社交网络平台的共同用户赋予更多的权重,采用了监督学习的方法,通过监督学习所构建的权重系数获取新用户与原用户之间的跨网络贡献权重
为了动态网络能够快速实现迭代过程;使用平方差损失函数训练出一种启发式的学习机制,计算出用户的类型对用户的影响的大小;其中平方差损失函数表示为:
其中,
表示为第二权重所对应的平方差损失函数;n为局部网络中的社交关系数;
表示为根据共同用户个数所定义的权重。一条边所连接的锚节点个数越多,则表示相应权重越大。没有锚节点的边,本发明将其权重定义为0。每增加一个锚节点,相关边的权重则加1。
在一个可实现方式中,采用随机梯度下降算法进行参数w的求解。在实际训练过程中,本发明可以通过一次有标注新节点加入的情况下学习得到w。在学习到参数w之后,对与网络新加入的节点,我们在不知道新节点是否是锚节点的情况下,可以直接通过公式(2)获取新节点与原有节点之间的跨网络贡献权重
在步骤105中,本发明采用加和的方式得到总体权重,为下一步局部网络更新作为依据。其中,整体权重
定义如公式所示:
在步骤106中,局部网络更新是动态网络表示的一个关键环节,其中的一个重要环节是选择网络局部更新的范围,当一个新用户加入网络时,网络的变化程度由大至小是以新用户为中心向四周散开。本发明的模型主要关注节点与其直接邻居节点的变化情况。为了更好的获得更新效率,需要对新用户进行初始化,其中初始化的公式表示为:
其中,v
j∈N(v
*)表示新用户v
*的邻居用户,
表示模型学习得到的邻居用户v
j的启发式权重。
当一个新用户加入社交网络平台时,利用算出新用户与每个邻居用户的权重系数
进行更新的范围选择,首先根据这一数值进行排序,最后选出权重系数top-K的邻居用户和新用户一起作为需要更新的局部网络。
在步骤107中,基于二阶相似度的目标对网络进行局部更新,目标函数表示为:
使用连接多个社交网络平台的共同用户作为监督信息,利用启发式学习新用户在跨网络用户对齐任务中的局部影响;融合上述两种权重,基于保持网络二阶相似度的目标进行网络局部更新,进而完成动态跨社交网络用户对齐任务;更新后的初始网络表示模型中的二阶相似度的目标函数分别表示为:
其中,O
1′表示社交网络平台内部的用户相似度的更新目标函数;O
2′社交网络平台间的用户相似度的更新目标函数;E
X社交网络平台X中的所有用户边;E
Y表示社交网络平台Y中的所有用户边;
表示在社交网络平台X中新用户v
*和社交网络平台X中用户v
j所学习到的启发式权重;
表示在社交网络平台X中新用户v
*和社交网络平台Y中用户v
j所学习到的启发式权重
表示在社交网络平台X中的新用户v
*关注用户v
j的概率;
表示在社交网络平台X的用户v
j被在社交网络平台X的新用户v
*关注的概率;p1和p2经验概率定义为:
其中,
以及
和
分别表示v
i的出度和v
j的入度;N
out(v
i)表示用户v
i的出度集合;N
in(v
j)表示用户v
j的入度集合。最终,将目标函数O1、O2相加作为整体目标函数,通过负采样方法将softmax函数转化为sigmoid函数,并且采用梯度下降的方法对目标函数进行求解保证模型的效率。
对于跨网络用户对齐的预测,本发明采用计算效率较高的余弦相似度的计算方式来获取不同网络之间的用户相似程度。举个例子,对于微博平台中一个用户,计算知乎平台中除已知锚节点用户以外的所有用户与之相似程度,并将相似程度较高的用户作为对齐用户的候选。
如图2所示,本实施例给出了一种基于启发式算法的动态社交网络用户对齐系统,所述系统包括:
平台接口API,用于获取社交网络平台中的每个用户的社交关系;
模型建模模块,用于构造出社交网络平台的图网络,将社交网络用户作为图节点,将存在社交关系的两邻居用户作为图边;
注意力机制模块,用于根据注意力机制获取新用户与其邻居用户在每个社交网络平台中的第一权重;
监督训练模块,用于根据启发式算法计算出新用户与其邻居用户在不同社交网络平台中的第二权重;
排序模块,用于对新用户的所有邻居用户的启发式权重进行排序,确定出启发式权重值最高的前K个邻居用户和该新用户共同作为待更新的局部网络;
用户对齐模块,用于获取不同社交网络平台中的用户相似程度,在保持二阶相似度的目标下,对待对齐的局部网络中的所有用户进行用户对齐。
基于上述,本发明还可以提供一种计算机设备,如图3所示,包括存储器和处理器,所述存储器存储计算机程序,所述计算机程序被配置为由所述处理器执行,所述计算机程序包括用于执行上述基于启发式算法的动态社交用户对齐方法中各步骤的指令。
该计算机设备包括通过系统总线连接的处理器、非易失性存储介质、内存储器及网络接口。其中,计算机设备的非易失性存储介质存储有操作系统及计算机可执行指令,该计算机可执行指令用于实现本发明实施例中提供的基于启发式算法的动态社交网络对齐方法。该处理器用于提供计算和控制能力,支撑整个计算机设备的运行。计算机设备中的内存储器为非易失性存储介质中的操作系统及计算机可执行指令的运行提供环境,网络接口用于与其它的计算机设备进行网络通信。该计算机设备可以是手机、平板电脑、PC(personal computer)等终端,也可以是服务器等。本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体地计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
下面将结合具体的实施例来对本发明进行论述,如图4所示,X、Y网络内部节点用圆形表示,锚节点用具有固定填充的节点表示,潜在锚节点用加了标记的节点表示,标记相同的为同一对潜在锚节点。T1时刻的网络中存在两对潜在锚节点对。T2时刻网络发生了两种动态变化,一种是网络新增了普通节点,另一种是网络新增了锚节点。在只新增普通节点的情况中,新增的普通节点与一方网络的潜在锚节点直接相连,使得嵌入空间中潜在锚节点向新增节点移动,从而使潜在锚节点对的位置变远。而在新增了锚节点的情况中,锚节点能为网络对齐提供帮助信息,作用于潜在锚节点对从而使潜在锚节点对位置变近。
在对齐任务驱动的多网络节点表示模型中,如何充分考虑跨网络表示模型中不同的节点类型,启发式确定新增节点对于网络表示贡献的权重至关重要。针对以上挑战,本发明提出一种跨社交网络用户对齐任务驱动的动态网络表示学习模型。针对新加入节点,首先,使用注意力机制获取新节点在单一网络中的局部影响权重。其次,使用连接多个社交网络平台的锚节点作为监督信息,启发式学习新节点在跨网络用户对齐任务中的局部影响。最后,融合上述两种权重,基于保持网络二阶相似度的目标进行网络局部更新,进而完成动态跨社交网络用户对齐任务。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。