基于图神经网络的交互式社区搜索方法及装置

文档序号:25482112发布日期:2021-06-15 21:41阅读:242来源:国知局
基于图神经网络的交互式社区搜索方法及装置

本发明属于信息技术领域,尤其涉及一种基于图神经网络的交互式社区搜索方法及装置。



背景技术:

社区搜索是网络分析的重要工具,在线上社交网络中搜索一个包含给定查询节点的社区,在推荐、团队组织等方面有着广泛的应用。它的目标是寻找包含查询节点的密集连通子图。发现的社区可以作为一个有效的候选集,用于如商品/朋友推荐、非法组织发现等应用。

虽然这个问题已经得到了很好的研究,但目前的方法在应用于现实社会网络时仍面临挑战。首先,几乎所有这些方法都假设数据已经被抓取过,它们只对收集到的数据进行分析。但是,我们不能将数据抓取和社区搜索清晰地分开。每天在网络上都会出现大量新活跃账户和信息,如果不控制收集政策,网络爬虫会发现大量的无关紧要的数据,带来不必要的存储、网络传输、计算等资源消耗。

其次,现有的方法大部分利用规则度量社区成员,有些社区结构关系较为紧密,现有的社区搜索模型(例如文献xinhuang,hongcheng,luqin,wentaotian,andjeffreyxuyu.2014.queryingk-trusscommunityinlargeanddynamicgraphs.insigmod.1311–1322、文献maurosozioandaristidesgionis.2010.thecommunity-searchproblemandhowtoplanasuccessfulcocktailparty.insigkdd.939–948与文献h.wangy.luw.cui,y.xiaoandw.wang.2013.onlinesearchofoverlappingcommunities.insigmod)可以捕捉到这一点,但结构关系较弱、内容相似度较高的社区定位具有一定的挑战性。例如,同一公司的用户可能在网络中大致采取分层形式,网络结构关系相对稀疏,但用户的内容特征相似,因此社区搜索具有灵活性,几乎不可能直接使用预定义的社区规则生成高质量的社区。此外,如果使用现有的基于规则的方法来逐步寻找社区,会带来沉重的负担。一般情况下,用户需要根据每次结果反馈调整结构约束中的参数,选择具有代表性的属性,平衡内容与结构特征之间的权重,但考虑大量内容关键字及其复杂的关系,规则调整会带来更多的挑战。

图神经网络通过同时捕获内容特性和结构关系来用来学习节点的高维表示。图神经网络通过将内容和结构特征编码成函数来实现这一目标,并在监督或非监督训练信号的指导下对函数进行优化。通过将社交网络中各个节点发布的消息作为内容特性以及将互动(关注,转发,评论等)作为边,利用图神经网络可以更准确地反映出社交网络中不同节点之间的关系。

在大型社交网络中的社区搜索是研究和工业领域关注的对象。有效地利用社交网络中各种信息,如结构、内容,并将它们灵活地组合起来,是解决上述问题的关键所在。现有社区搜索方法,更加侧重于结构,忽略了内容信息,而内容在社区搜索的研究中是不可忽略的,而且社区大小不可控。另外,现有方法多为在整个图上分析,这对于真实社交网络的场景不太适用,也一定程度上制约了社区搜索的应用。



技术实现要素:

本发明提出一种基于图神经网络的交互式社区搜索方法及装置,通过在线网络中动态采集的子图来定位目标社区,利用图神经网络将社区成员关系问题重构为一个节点分类问题,在用户标注的指导下,灵活地结合内容和结构特征来捕获图节点与标注节点之间的相似性与差异性,以迭代和交互的方式发现目标社区。

本发明的技术内容包括:

一种基于图神经网络的交互式社区搜索方法,其步骤包括:

1)通过用户的查询节点和标记节点,从在线社交网络中构造给定候选子图gs;

2)通过给定候选子图gs的各节点构建邻接矩阵a,依据给定候选子图各样本正节点u的内容特征及预训练好的嵌入集d,构建内容特征矩阵fm,并通过交叉熵与排序损失相结合的方式作为损失函数,构造图神经网络模型m=(a,fm,w),其中a为邻接矩阵,w为参数矩阵;

3)对图神经网络模型m进行收敛,得到各节点的图神经网络分数,并依据图神经网络分数,更新给定候选子图gs;

4)依据更新后的给定候选子图及设定社区大小k,通过保证社区连通且社区中节点分数尽可能大,选取大小为k的最终目标社区。

进一步地,构造给定候选子图gs的方法包括:局部边缘增强的广度优先搜索策略或广度优先搜索。

进一步地,依据局部边缘增强的广度优先搜索策略,通过以下步骤构造给定候选子图:

1)每轮迭代前,查找先前候选子图gb,其中若未查找先前候选子图gb,则先前候选子图gb为空;

2)依据先前候选子图gb=(vb,eb,fb)与正样本集合sp,计算节点集合vs=sp∪vb、边集合es=eb及节点内容特征集合fs=fb,其中,vb、eb与fb分别为先前候选子图gb的节点集合、边集合与节点内容特征集合,样本节点集合s包括:正样本集合sp和标记负节点集合sn,正样本集合sp包括标记正节点集合和查询节点;

3)对节点集合vs中每一节点u,获得与节点u连边的节点集合n及节点u的新发布信息,将节点u的新发布信息特征加入节点内容特征集合fs中,更新节点内容特征集合fs,并继续更新节点集合vs与边集合es,其中若节点u∈sp且节点v∈n,则节点集合vs←vs+{v}及边集合es←es+{(u,v)};若节点且v∈n∧v∈vs,则节点集合vs不变,边集合es←es+{(u,v)};

4)根据更新后的节点集合vs、边集合es与节点内容特征集合fs,构造给定候选子图gs=(vs,es,fs),其中将当前候选子图gs保存以用于下次迭代。

进一步地,损失函数lossa=lossc+λlossr,其中交叉熵损失函数排名损失函数λ为权重参数,s为样本节点集合,us.y为节点us的标记结果,p[us]为节点us的图神经网络分数,r为用户标记的一组排序节点对,(ur,vr)∈r代表u获得比v更高的图神经网络分数,v为社区网络的一节点,m∈[0,1]是允许排序误差的容忍度。

进一步地,构造图神经网络模型m的方法包括:利用图卷积神经网络gcn、利用图注意力网络gat或利用图自编码器gae。

进一步地,图神经网络模型m进行收敛的方法包括:常规梯度下降方法。

进一步地,选取目标社区的方法包括:基于局部边缘增强的广度优先搜索策略的最终社区定位算法或基于贪心的最终社区定位算法;其中,

1)通过以下步骤实现基于局部边缘增强的广度优先搜索策略的最终社区定位算法:

1.1)对于更新后给定候选子图gs=(vs,es,fs,ps),从查询节点q开始执行局部边缘增强的广度优先搜索策略,将遇到的新节点v加入节点集合vc,直到|vc|=k,得到节点集合vc,其中vs、es、fs及ps分别为给定候选子图gs的节点集合、边集合、节点内容特征集合与图神经网络得分集合;

1.2)获取节点集合vc中各节点u′的连边节点集合n(u′);

1.3)分别通过以下步骤每一节点u′进行操作,获取节点集合v′c:

1.3.a)找到一个节点v′,其中

1.3.b)找到一个节点c,其中c∈vc∧c≠u′且节点c的图神经网络分数在节点集合vc中是最小的;

1.3.c)若节点v′的图神经网络分数大于节点c的图神经网络分数且不存在节点d∈vc,则通过节点c与节点v′对节点集合vc进行更新,其中节点c是节点d的父亲节点;

1.4)依据更新后的节点集合vc,得到最终目标社区;

2)通过以下步骤实现基于贪心的最终社区定位算法:

2.1)对于更新后给定候选子图g′s=(v′s,e′s,f′s,p′s)和查询节点q,初始化社区节点集合v′c={q};

2.2)初始化队列q=v′c,分别通过以下步骤对每一节点u″进行操作,其中u″∈q:

2.2.a)获取节点u″的邻居集合n(u″);

2.2.b)对于节点v″,其中找到一条节点v″到当前社区v′c的最短路径path(v″,v′c),计算并记录下v″的相对价值;

2.2.c)将相对价值最大的节点v″加入节点集合v′c;

2.3)重复步骤2.2)直到节点集合v′c中的节点数量达到k,得到最终目标社区v′c。

进一步地,通过衡量最短路径的边权,计算所述相对价值;衡量最短路径边权包括:全为相同值、为两端点图神经网络分数或pagerank值之和。

一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述所述的方法。

一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机以执行上述所述的方法。

相对于现有方法,本发明的有益效果如下:

1)通过在线网络中动态采集的子图来定位目标社区,利用图神经网络将社区成员关系问题重构为一个节点分类问题,并引入一个k大小的社区来描述目标社区,在用户标注的指导下,灵活地结合内容和结构特征来捕获图节点与标注节点之间的相似性与差异性,以迭代和交互的方式发现目标社区;

2)提出了利用排序损失帮助用户更好的标记社区,减轻用户负担;

3)最后提出了两种发现目标社区的具体算法,能在各种情况下搜索出准确率高,大小精确的社区。

附图说明

图1为整体方法的流程图。

图2为构建候选子图示意图,其中(a)为底层数据图,(b)为a为标记正样本结果示意图,(c)为a,b为标记正样本结果示意图。

图3为寻找目标社区示意图,其中(a)为以a为查询节点,k为正样例,b为负样例的示意图,(b)为搜索后的中间社区示意图,(c)为交换后的目标社区示意图。

具体实施方式

为了使本发明的目的、技术方案更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。

本发明提出了在社交网络中基于图神经网络(gnn)的交互式社区搜索方法,图1为整体方法流程图。给出一个查询节点q,构造一个包含q的候选子图,训练一个gnn模型来推断社区中节点的概率,并在子图中定位目标社区。随着用户反馈的结合,这个过程不断重复。该方法能够达到更高的有效性和效率,同时降低人类的标注负担。我们的数据模型记为图g=(v,e,f,p),其中,v表示节点集合,e表示边集合,f代表节点内容特征,p代表节点分数。对于节点v∈v,f[v]为该节点的内容特性,p[v]为在图神经网络训练收敛时该点训练出的分数,在社交网络中,v代表某个用户,f[v]代表该用户发布的信息所转化的内容特征,p[v]代表了该用户属于目标社区的概率。边(u,v)∈e表示两个用户之间存在关系。

图神经网络模型可以抽象为m=gnn(a,fm,w),其中a,fm,w分别为邻接矩阵,特征矩阵,参数矩阵。a={0,1}|v|×|v|,如果a[i,j]=1代表第i个节点和第j个节点是连通的,为0则代表不连通。为内容特征矩阵,其中fm[i]是第i个节点的大小为d的特征向量。m[i]∈[0,1]表示第i个节点的gnn分数,也用p[u]∈[0,1]来表示节点u的gnn分数。显然p[u]越大,u属于社区的概率也越大,我们也可以认为gnn分数代表其属于社区的概率。

为候选子图中用户标记的样本,为正样本(包括查询节点)对于up∈sp,up应该属于社区并且p[up]=1。为负样本,对于un∈sn,un不应该属于社区并且p[un]=0。r为用户标记的一组排序节点对,对于(ur,vr)∈r,代表ur应该获得比vr更高的gnn分数,也就是ur比vr更应该在社区中。

最终的目标社区,应该为大小为k的连通图,并且满足社区中节点的图神经网络分数最大,我们简称为kmg(k-sizedcommunitywithmaximumgnnscores),定义为gc=(vc,ec,fc,pc),为候选子图gs的诱导子图,首先查询节点q∈vc,本发明对社区的结构关系进行了放松,因为社区是灵活的并且受爬行策略影响导致候选子图可能不是密集的。其次,保证|vc|=k,用户可以根据发现结果的质量调整k值(一些应用程序需要k指定的限制,例如一个有组织的团队中最多有k个人、为了在后续工具中清晰地可视化最多有k个节点等),用以解决之前研究中关于结构的定义不能精确地控制社区规模的难题。最后,保证最大,这个限制是为了保证选择的社区是在标记节点的指导下,通过gnn模型学习利用内容和结构特征后得到的最优解。有时为了方便起见,也会用vc作为目标社区。

本发明的交互式社区搜索方法,包括以下步骤:

1)用户给定查询节点和标记节点,从在线社交网络中构造候选子图。

子图构造是在一个大型社交网络中定位潜在有用的节点及其关系,它可以通过在查询节点和标记的正节点周围爬行来实现。本发明采用了一种局部边缘增强的广度优先搜索策略(bfs)。初始子图使用来自bfs标记的正节点(包括查询节点)的1跳邻居,允许bfs从1跳邻居中搜索,但只加入边而跳过新遇到的节点。

2)使用图神经网络模型推断出候选子图中未标记节点gnn分数

在构建候选子图的基础上,继续建立一个gnn模型来度量属于目标社区节点的概率。本发明受graphsage(williaml.hamilton,zhitaoying,andjureleskovec.2017.inductiverepresentationlearningonlargegraphs.innips.1024–1034)启发,我们将u发布的所有消息中每个关键字t的emb(t)取平均值来聚合u的内容特征,其中emb(t)是预先训练的嵌入集中的嵌入,并提出了交叉熵与排序损失相结合的方式作为模型的损失函数。其中lossc为交叉熵损失函数,us.y为标记节点us的标记结果,p[us]为us的gnn分数。

lossr为排序损失函数,m∈[0,1]是允许排序误差的容忍度,p[ur],p[vr]分别代表节点ur和vr的gnn分数。用户可能不确定某个节点必须在社区中。相反,用户很容易在两个候选节点上排名,即与节点vr∈gc相比,节点ur∈gs应该在社区中,这类用户反馈可以通过排名损失来捕捉。

lossa为最终的损失函数,其中λ为超参数用于调整交叉熵损失和排名损失之间的权重参数。

lossa=lossc+λlossr

当训练收敛时,使用训练后的模型来推断候选子图中其他未标记节点上的gnn分数,作为定位目标社区的基础。本发明采用增量爬行策略来构建候选子图,但在每个候选子图上完全训练模型。这是因为通过控制候选子图的大小,与人类标记和页面爬行所需要的时间相比,模型训练的时间成本并不是瓶颈。此外,完全训练的模型通常比增量训练的模型有更好的性能支持社区搜索。

3)利用gnn分数定位kmg社区

本发明证明定位kmg社区的决策版本是np-hard,即检查是否存在一个gnn评分总和大于阈值的k-大小子图。首先,验证发现的结果需要一个多项式的时间。其次,将np-hard问题中的背包问题(richardm.karp.1972.reducibilityamongcombinatorialproblems.inproceedingsofasymposiumonthecomplexityofcomputercomputations.85–103)转化为kmg的决策问题。背包问题是对于物品集合i,对于i∈i,有自己的价值i.v和重量i.c,给定背包容量b和阈值t,选择一个子集的物品使得∑i∈i′i.v≥t并且∑i∈i′i.c≤b。对于背包问题,构造一个树t。对于每个i∈i,我们建立一条从t的根到叶节点i长度为i.c的路径,在i上的gnn得分为i.v,在路径上的其他节点上的gnn得分为0,根节点被选择为查询节点,每个节点的重量为1。显然,存在满足背包容量b的物品子集∑i∈i′i.v≥t当且仅当存在(b+1)mg社区(包括查询节点),其gnn分数的总和大于t。因此,寻找一个(b+1)mg社区的复杂度也是np-hard。由于问题的复杂性,本发明提出了两种启发式的近似算法。

i)基于bfs的kmg定位算法

直观地说,靠近查询节点的节点有更多的机会出现在社区中。社区可以由bfs初始化,从查询节点开始直到遇到k个节点,接下来,在保持连通性的情况下交换社区内分数低的点与社区外分数高的点。

ii)基于贪心的kmg定位算法

当查询节点是社区的边界节点时,算法i处理起来比较困难。例如,假设一个节点v被标记为正的,但它离查询节点很远。如果v不直接与中间社区中的任何节点相连,因此没有机会被交换到最终社区中,则v可能不包含在最终社区中。因此,该算法不假设查询节点位于社区中心,而是提出一种动态的相对价值,以决定节点是否应该在社区中。假设vc为我们发现的中间社区,对于节点v寻找一条最短路径path(v,vc)使得v到vc中任意一个节点距离最短。如果想将v加入vc我们需要将path(v,vc)中的点都加入vc。因此,定义v的相对价值为:

每次选择相对价值最大的节点vmax,将其path(vmax,vc)加入vc。例如对于一个标记正样本节点v的情况,它与查询节点q距离很远。最初,社区vc只包含q,由于path(v,vc)的长度很大,所以v的相对收益很低。v的相对利益在每个节点被选择进入团体后重新计算。当群体向v扩展时,路径长度会减少,相对效益会增加,从而使v有更多的机会被选择。

第一阶段计算流程如下:

a)给定标记的正样本sp(包含查询节点),载入先前候选子图gb=(vb,eb,fb),如果是首次运行,gb为空,通过gb初始化当前候选子图gs=(vs,es,fs),vs=sp∪vb,es=eb,fs=fb

b)针对每个u∈vs,分别执行下列操作:

c)如果u∈sp∧u∈vs,获得与u连边的节点集合n,对于v∈n,vs←vs+{v},es←es+{(u,v)}

d)如果获得与u连边的节点集合n,对于v∈n∧v∈vs,vs不变,es←es+{(u,v)}

e)获得u新发布的信息,将其加入于f[u]中

f)重复b)-e)步骤直到建立完当前候选子图gs,将gs保存下次迭代使用

第二阶段计算流程如下:

a)给定候选子图gs=(vs,es,fs),标记节点集合s,预训练好的嵌入集d(例如fasttext,参考网址:https://fasttext.cc/)

b)每个u∈vs,使用d创建u的内容特征

c)使用lossa建立gnn模型m=gnn(a,fm,w)

d)通过常规梯度下降,学习模型的参数,直到收敛。获得gs=(vs,es,fs,ps)第三阶段算法i计算流程如下:

a)给定gs=(vs,es,fs,ps),查询节点q和社区大小k

b)初始化vc=φ

c)从q点开始bfs,将新遇到的点加入vc,直到|vc|=k

d)对于u′∈vc,分别执行下面的操作

e)找到一个节点v′,

f)找到一个节点c,c∈vc∧c≠u′,并且p[c]是vc中值最小的

g)如果满足p[v′]>p[c]并且不存在d∈vc使得c是d的父亲节点,则vc←vc-{c}+{v′}

h)重复d)-g)直到结束,得到目标社区vc

第三阶段算法ii计算流程如下:

a)给定gs=(v′s,e′s,f′s,p′s),查询节点q和社区大小k

b)初始化vx′={q}

c)初始化队列q=v′c

d)对于u″∈q,执行下面的操作

e)获取u″的邻居集合n(u″),对于找到一条v″到当前社区v′c的最短路径path(v″,vc′),计算并记录下v″的相对价值。

f)重复d)-e)直到结束,找到相对价值最大的vmax,将path(vmax,v′c)中的点加入v′c

g)重复c)-f)的步骤,直到|v′c|=k

下文更具体地对本发明做进一步描述。

1、如图2表示查询节点a所在的底层数据图构建给定候选子图示例。本发明针对的是开放社交网络中的社区搜索,在开放社交网络中,用户的关系和发布的信息可以被他人访问,从而可以通过应用程序接口获取,我们可以在不同的社交网络中找到类似的接口。即使社交网络不提供这些功能,也可以通过爬虫获取。通常用户发布的消息和关系被存放在多个页面中,爬虫时需要记录节点的状态来支持增量爬行策略。当邻居数量很大时,一次爬行到达所有邻居是不可行的。当用户发布的消息占据了许多页面时,情况也类似。给定图2中(a)的底层数据图和查询节点a,设置每次最多爬行4个邻居,第一轮爬行结果如图2中的(b)。假设此时用户在节点b上做了一个正标签。在第二轮的爬行中,将以存储状态继续从a开始的进行局部边缘增强的广度优先搜索,并从b开始一个新的搜索,在这个过程中遇到并添加c,结果如图2中的(c)。进一步地,本方法还从非标记的节点(如节点2)开始创建一个新的搜索。然而,只在节点2和现有节点(如o)之间建立一条边,而没有将新遇到的节点(如节点5)添加到子图中。

2、在处理内容特征时,本方法首先将不同节点的不同长度的消息转换成固定长度的特征,同时处理不同关键字含义相似的问题。设u为候选子图中的一个节点,f(u)包含了u发布的消息,对于每条消息m∈f(u),m包含多个关键字。要构建u的内容特征,需要对每个关键字进行嵌入(embedding)获得其表示,并将所有表示组合起来。具体可以参考graphsage处理数据集reddit(richardm.karp.1972.reducibilityamongcombinatorialproblems.inproceedingsofasymposiumonthecomplexityofcomputercomputations.85–103)。

3、图神经网络gnn(jiezhou,ganqucui,zhengyanzhang,chengyang,zhiyuanliu,andmaosongsun.2018.graphneuralnetworks:areviewofmethodsandapplications.corr(2018))通过捕获节点的内容特征和结构关系学习其高维表示。gnn通过将内容和结构特征编码成函数来实现这一目标,并在(监督或非监督)训练信号的指导下对函数进行优化。gnn模型的工作原理如下。节点的嵌入用内容特征上初始化,其中w0是函数中的参数:

h0=g(f,w0)

然后,递归更新邻居的嵌入。第i+1层的嵌入hi+1可以计算为以下式子,其中a是相邻矩阵,是参数。

在监督设置下,损失函数测量标记结果和预测结果之间的差异。采用梯度下降等策略学习模型中的参数,以最小化损失。具体实施时,本发明采用的是两层的图卷积神经网络(gcn(thomasn.kipfandmaxwelling.2017.semi-supervisedclassificationwithgraphonvolutionalnetworks.iniclr))是基于光谱的gnn模型的简化版本,并分配与节点度数相关的邻居权重。

4、图3表示寻找目标社区示意图。如图3中的(a),假设查询节点是a,最终用户在k上做一个正标签,在d上做一个负标签。因此,目标社区中节点的概率相对高于其他节点。如图3中的(b),使用基于局部边缘增强的目标社区定位算法从查询节点a初始化了具有5个节点的社区。然后该算法用社区中图神经网络分数得分最低的节点进行交换。例如j是k的邻居,p[b]=0.4小于p[j]=0.8,去掉b,将j加入到社区中。最后,在图3中的(c)获得了期望的目标社区。

此外,本发明不限于以上实施例中描述的方式,比如:

1.获取候选子图的具体方法,可以为局部边缘增强的广度优先搜索,也可以仅为广度优先搜索。

2.图神经网络模型训练出候选子图每个节点属于目标社区的概率时,选择其他图神经网络,例如gae,gat等。

3.基于贪心的目标定位算法时,选择多种度量衡量最短路,从而影响相对收益来衡量节点是否应该在社区中,例如边权可以为相同值,为两端点的图神经网络分数或pagerank值之和等。

4.本方法的交互性体现于可以单独对某一环节进行迭代重复,例如多次爬行,多次标记节点训练图神经网络等,并非一定按照图1流程图进行。

实验数据

本发明与locatc(参考文献xinhuangandlaksv.s.lakshmanan.2017.attribute-drivencommunitysearch.proc.vldbendow.10,9(2017),949–960.)在facebook数据集(参考网址http://snap.stanford.edu/data/ego-facebook.html)上进行对比,在遵循locatc的实验设置下,针对10个facebook的自我中心网络,本发明在9个网络上获得了比locatc更高的f1分数。

以上实施例仅用以说明本发明的技术方案而非对其进行限制,本领域的普通技术人员可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明的原理和范围,本发明的保护范围应以权利要求书所述为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1