CN111898039B - 一种融合隐藏关系的属性社区搜索方法 - Google Patents
一种融合隐藏关系的属性社区搜索方法 Download PDFInfo
- Publication number
- CN111898039B CN111898039B CN202010636070.1A CN202010636070A CN111898039B CN 111898039 B CN111898039 B CN 111898039B CN 202010636070 A CN202010636070 A CN 202010636070A CN 111898039 B CN111898039 B CN 111898039B
- Authority
- CN
- China
- Prior art keywords
- node
- attribute
- community
- matrix
- subgraph
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 38
- 239000011159 matrix material Substances 0.000 claims description 72
- 239000013598 vector Substances 0.000 claims description 43
- 238000010586 diagram Methods 0.000 claims description 33
- 238000012549 training Methods 0.000 claims description 14
- 238000010845 search algorithm Methods 0.000 claims description 7
- 201000010099 disease Diseases 0.000 claims description 4
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 claims description 4
- 238000004364 calculation method Methods 0.000 claims description 3
- 230000009191 jumping Effects 0.000 claims description 3
- 238000013507 mapping Methods 0.000 claims description 3
- 238000005457 optimization Methods 0.000 abstract description 2
- 230000006870 function Effects 0.000 description 18
- 230000000694 effects Effects 0.000 description 4
- 230000007423 decrease Effects 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 239000013604 expression vector Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9536—Search customisation based on social or collaborative filtering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/01—Social networking
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Economics (AREA)
- General Health & Medical Sciences (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- Primary Health Care (AREA)
- Strategic Management (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明属于信息检索技术领域,具体涉及一种融合隐藏关系的属性社区搜索方法。本发明提供了一个能够提取社交网络结构和属性信息的堆栈式自编码器模型,主要针对现有的社区搜索算法没有考虑结点之间隐藏关系的问题,提出了新的优化方法。本发明能够有效地发现社区中的隐藏关系,通过预测社区中心增大了搜索社区的准确率,使得搜索的社区具有更好的鲁棒性和扩展性。
Description
技术领域
本发明属于信息检索技术领域,具体涉及一种融合隐藏关系的属性社区搜索方法。
背景技术
社区是社交网络中重要的组成部分,在社区中的结点联系紧密,有相似的属性,如职业,兴趣等。属性社区搜索问题是给定一个查询结点vq和一个属性集Aq,得到vq在Aq上所在的社区C,则C是包含vq且C中的结点都具有Aq中的属性信息。一个好的属性社区可以缩小目标范围,更有针对性地进行商品推荐,朋友推荐,消息推送等。现有的属性社区搜索算法在原始图中,根据拓扑结构和结点的属性进行搜索合适的结点,没有考虑到结点之间的隐藏关系,使得搜索到的社区中缺失部分信息。同时,现有的社区搜索算法是查询结点vq为中心向外扩展得到一个(k,d)-truss结构的社区候选集,如果查询结点是在真实社区中是一个边缘结点,则社区候选集与实际社区交集部分较少,导致查询结果与实际社区的误差较大。
针对上面问题,本发明首先对社交网络图进行网络表示学习,网络表示学习可以将原始图中高维的邻接矩阵压缩成低维的矩阵,将结点映射到低维空间中,在低维空间中结点之间的距离能够体现原图中结点之间在结构、属性上的联系。利用得到的表示向量对结点之间进行链接预测,可以发现原图中不存在的隐藏关系,再进行社区搜索,使得社区结构更健壮和可扩展。同时,本发明利用表示向量预测要搜索的社区中心,以预测到的中心节点向外扩展得到社区候选集,提高了查询结果的准确率。
发明内容
本发明的目的在于提供搜索融合隐藏关系的属性社区,通过预测社区中心提高属性社区搜索的查全率和查准率的一种融合隐藏关系的属性社区搜索方法。
本发明的目的通过如下技术方案来实现:包括以下步骤:
步骤1:输入原始社交网络图G=(V,E,A)、查询节点vq和查询属性集合Aq;
社交网络图G=(V,E,A)中,V为社交网络图中的节点集合,V={v1,…,vn},n为社交网络图中节点的数量;E为社交网络图中的边集,E={eij},0≤i,j<n,如果节点vi与节点vj之间存在一条边,则eij=1,否则eij=0;A为社交网络图的属性矩阵,m为社交网络图中属性的数量;
步骤2:将原始社交网络图G的邻接矩阵和属性矩阵/>拼接成矩阵
步骤3:使用矩阵X训练堆栈式自编码器;所述的堆栈式自编码器包括编码器和解码器;所述的矩阵X输入到编码器的输入层,编码器对矩阵X进行编码,编码器的隐藏层中间层输出表示矩阵d是表示空间的维度;所述的解码器将矩阵Y解码为/>通过迭代更新模型权重使损失函数最小化,完成练堆栈式自编码器的训练;
步骤4:将矩阵输入到训练好的堆栈式自编码器,得到表示矩阵
步骤5:从查询节点vq开始,做d次的广度优先搜索,得到子图Hs;
步骤6:获取子图Hs的中心节点c;
步骤7:从中心节点c开始,做d次广度优先搜索,得到候选子图Ht;
步骤8:对候选子图Ht中的每个节点进行链接预测,将发现的隐藏关系加入到候选子图Ht中,得到最终子图Hd;
步骤9:使用社区搜索算法对最终子图Hd进行搜索,得到查询节点vq所在的属性社区Hr;
步骤9.1:初始化令l=0,Hl=Hd,Hr=Hl;
步骤9.2:判断中心节点c是否在中间社区Hl中;若中心节点c在中间社区Hl中,则从步骤9.3开始循环执行;否则,结束循环跳到步骤9.8;
步骤9.3:对中间社区Hl中每个节点进行打分,节点打分函数为:
其中,u是除查询节点vq之外的节点,u∈Hl-vq;V(Hl)是子图Hl包含的节点集合;Vw为包含了属性w的节点集合;attr(u)表示节点u中存储的属性集合;
步骤9.4:删除打分最低的节点和该节点关联的边;
步骤9.5:将中间社区Hl加入到候选子图集合Hset中;
步骤9.6:将中间社区Hl调整为(k,d)-truss结构;
步骤9.7:令l=l+1,返回步骤9.2;
步骤9.8:计算候选子图集合Hset中每一个候选子图的社区评分,选择社区评分最高的候选子图作为搜索到的社区Hr;
Hr=argmaxH∈Hsetf(H,Aq)
其中,Va表示包含属性a的节点集合,V(H)表示候选子图H里的节点集合;
步骤9.9:判断查询节点vq是否在属性社区Hr中;若查询节点vq不在属性社区Hr中,则将查询节点vq加入到属性社区Hr中;
步骤9.10:输出包含查询节点vq,且所有节点都具有查询属性集合Aq中的属性信息的属性社区Hr。
本发明还可以包括:
所述的步骤6中获取子图Hs的中心节点c的方法具体为:
步骤6.1:建立子图Hs的无边图Hsa=(Vs,Esa,As);初始化si=sj=0;
Vs为子图Hs的节点集合,0≤s≤b,b为子图Hs中的节点数量;As为子图Hs的属性矩阵;
步骤6.2:令si=si+1,获取节点拥有的查询属性的数量nqi;所述的查询属性为查询属性集合Aq中的属性信息;
步骤6.3:令sj=sj+1;
步骤6.4:若si=sj,则返回步骤6.3;否则,获取节点拥有的查询属性的数量nqj;
步骤6.5:若nqi<nqj,则在无边图Hsa中添加一条有向边
若nqi=nqj且nqi≠0,则在无边图Hsa中添加两条有向边和/>
步骤6.6:若sj<b,则返回步骤6.3;否则,执行步骤6.7;
步骤6.7:若si<b,则返回步骤6.2;否则,输出带有属性方向的有向图Hsa,执行步骤6.8;
步骤6.8:计算带有属性方向的有向图Hsa中每一个节点vs的pageRank评分,选择具有最大pageRank评分的节点作为子图Hs的中心节点c。
所述的步骤8中对候选子图Ht中的每个节点进行链接预测,将发现的隐藏关系加入到候选子图Ht中,得到最终子图Hd的具体步骤为:
步骤8.1:计算原始社交网络图G中每个节点与其他节点的相似度,获取与每个节点相似度最大的p个节点,构建矩阵RN;两个节点的相似度计算公式为:
其中,yi为节点vi对应于表示矩阵中的表示向量;yj为节点vj对应于表示矩阵/>中的表示向量;p为设定的常数;
步骤8.2:初始化ti=1;
步骤8.3:在矩阵RN中根据索引找到距离候选子图Ht中节点在全属性上最近的p个节点,记为集合/>
步骤8.4:在集合中获取增大Aq权重后距离节点/>最近的且在原图中与节点vi不相连的r个节点,记为集合/>r为设定的常数;
所述的增大Aq权重后节点与另一个节点/>的距离为:
其中:为节点/>对应于表示矩阵/>中的表示向量;/>为节点/>对应于表示矩阵/>中的表示向量;/>表示加入查询属性的表示空间映射向量;
步骤8.5:初始化Pti=1;
步骤8.6:若集合中的节点/>在候选子图Ht的节点集合中,则在候选子图Ht中建立节点/>与节点/>之间的边;否则,将节点/>添加到候选子图Ht的节点集合中,建立节点/>与节点/>之间的边,并根据原始社交网络图G的边集E,在候选子图Ht中建立节点/>与候选子图Ht中其他节点之间的边;
步骤8.7:若Pti<r,则令Pti=Pti+1,并返回步骤8.6;否则,执行步骤8.8;
步骤8.8:若ti<g,g为候选子图Ht中节点的数量,则令ti=ti+1,并返回步骤8.3;否则,执行步骤8.9;
步骤8.9:将候选子图Ht调整为(k,d)-truss结构,得到最终子图Hd。
所述的步骤3中堆栈式自编码器的解码器的损失函数为:
L=Lhigh+Ls+La+Lreg
其中,Lhigh为损失函数的捕捉高阶结构特征;Ls为损失函数的捕捉一阶结构特征;La为损失函数的捕捉属性相似度;Lreg为正则项;yi和yj分别为原始社交网络图G中节点vi和节点vj的表示向量;若节点vi和节点vj之间存在一条边,则sij=eij;若节点vi和节点vj之间不存在一条边,则sij=θ<0;xi为节点vi的邻接向量和属性向量的串联向量;为xi对应的模型的输出;⊙为哈达玛积;ti=[ti1,ti2,…,ti(n+m)];若xij>0,则tij=δ>1,δ为常数;若xij≤0,则tij=1;/>ai和aj分别为节点vi和节点vj的属性向量;w(k)为编码器部分第k层隐藏层权重矩阵;/>为解码器第k层权重矩阵。
本发明的有益效果在于:
本发明提供了一个能够提取社交网络结构和属性信息的堆栈式自编码器模型,主要针对现有的社区搜索算法没有考虑结点之间隐藏关系的问题,提出了新的优化方法。本发明能够有效地发现社区中的隐藏关系,通过预测社区中心增大了搜索社区的准确率,使得搜索的社区具有更好的鲁棒性和扩展性。
附图说明
图1是本发明的流程图。
图2是堆栈式自编码器模型结构图。
图3(a)隐藏边ab使得实际边bc满足了(4,2)-truss结构的示意图。
图3(b)隐藏边ab,ac使得b与查询结点a连接起来的示意图。
图3(c)是隐藏边cb使得b到查询结点的最短距离由3变为2,从而进入(4,2)-truss子图中的示意图。
图4是使用堆栈式自编码器模型学习得到的表示向量在blogCatalog和facebook数据集上进行链接预测实验效果图。
图5是加入隐藏关系的属性社区搜素结果与没有加入隐藏关系的在facebook子图:F698、F686、F1912、F3437、F348、F3980、F414中,属性社区搜索结果的对比表。
具体实施方式
下面结合附图对本发明做进一步描述。
本发明提出一种融合隐藏关系的属性社区搜索方法,本发明提供了一个能够提取社交网络结构和属性信息的堆栈式自编码器模型,主要针对现有的社区搜索算法没有考虑结点之间隐藏关系的问题,提出了新的优化方法;包括:(1)使用堆栈式自编码器对图邻接矩阵和属性矩阵进行表示学习;(2)对查询结点所在(k,d)-truss子图进行中心预测;(3)对候选子图中进行链接预测发现隐藏关系;(4)在加入隐藏关系的候选子图中进行社区搜索。本发明能够有效地发现社区中的隐藏关系,通过预测社区中心增大了搜索社区的准确率,使得搜索的社区具有更好的鲁棒性和扩展性。
参照图1,一种融合隐藏关系的属性社区搜索方法,本发明实现步骤如下:
步骤1:输入原始社交网络图G=(V,E,A)、查询节点vq和查询属性集合Aq;
步骤2:将原始社交网络图G的邻接矩阵和属性矩阵/>拼接成矩阵
步骤3:使用矩阵X训练堆栈式自编码器;所述的堆栈式自编码器包括编码器和解码器;所述的矩阵X输入到编码器的输入层,编码器对矩阵X进行编码,编码器的隐藏层中间层输出表示矩阵d是表示空间的维度;所述的解码器将矩阵Y解码为/>通过迭代更新模型权重使损失函数最小化,完成练堆栈式自编码器的训练;
步骤4:将矩阵输入到训练好的堆栈式自编码器,得到表示矩阵
步骤5:从查询节点vq开始,做d次的广度优先搜索,得到子图Hs;
步骤6:获取子图Hs的中心节点c;
步骤7:从中心节点c开始,做d次广度优先搜索,得到候选子图Ht;
步骤8:对候选子图Ht中的每个节点进行链接预测,将发现的隐藏关系加入到候选子图Ht中,得到最终子图Hd;
步骤9:使用社区搜索算法对最终子图Hd进行搜索,得到查询节点vq所在的属性社区Hr;
本发明具体包括以下步骤:
步骤1:输入原始社交网络图G=(V,E,A)、查询节点vq和查询属性集合Aq;
社交网络图G=(V,E,A)中,V为社交网络图中的节点集合,V={v1,…,vn},n为社交网络图中节点的数量;E为社交网络图中的边集,E={eij},0≤i,j<n,如果节点vi与节点vj之间存在一条边,则eij=1,否则eij=0;A为社交网络图的属性矩阵,m为社交网络图中属性的数量;
步骤2:将原始社交网络图G的邻接矩阵和属性矩阵/>拼接成矩阵
步骤3:使用矩阵X训练堆栈式自编码器;所述的堆栈式自编码器包括编码器和解码器;所述的矩阵X输入到编码器的输入层,编码器对矩阵X进行编码,编码器的隐藏层中间层输出表示矩阵d是表示空间的维度,d<<(n+m);所述的解码器将矩阵Y解码为通过迭代更新模型权重使损失函数最小化,完成练堆栈式自编码器的训练;
堆栈式自编码器的解码器的损失函数为:
L=Lhigh+Ls+La+Lreg
其中,Lhigh为损失函数的捕捉高阶结构特征;Ls为损失函数的捕捉一阶结构特征;La为损失函数的捕捉属性相似度;Lreg为正则项;yi和yj分别为原始社交网络图G中节点vi和节点vj的表示向量;若节点vi和节点vj之间存在一条边,则sij=eij;若节点vi和节点vj之间不存在一条边,则sij=θ<0;xi为节点vi的邻接向量和属性向量的串联向量;为xi对应的模型的输出;⊙为哈达玛积;ti=[ti1,ti2,…,ti(n+m)];若xij>0,则tij=δ>1,δ为常数;若xij≤0,则tij=1;/>ai和aj分别为节点vi和节点vj的属性向量;w(k)为编码器部分第k层隐藏层权重矩阵;/>为解码器第k层权重矩阵。
步骤4:将矩阵输入到训练好的堆栈式自编码器,得到表示矩阵
步骤5:从查询节点vq开始,做d次的广度优先搜索,得到子图Hs;
步骤6:获取子图Hs的中心节点c;
步骤6.1:建立子图Hs的无边图Hsa=(Vs,Esa,As);初始化si=sj=0;
Vs为子图Hs的节点集合,0≤s≤b,b为子图Hs中的节点数量;As为子图Hs的属性矩阵;
步骤6.2:令si=si+1,获取节点拥有的查询属性的数量nqi;所述的查询属性为查询属性集合Aq中的属性信息;
步骤6.3:令sj=sj+1;
步骤6.4:若si=sj,则返回步骤6.3;否则,获取节点拥有的查询属性的数量nqj;
步骤6.5:若nqi<nqj,则在无边图Hsa中添加一条有向边
若nqi=nqj且nqi≠0,则在无边图Hsa中添加两条有向边和/>
步骤6.6:若sj<b,则返回步骤6.3;否则,执行步骤6.7;
步骤6.7:若si<b,则返回步骤6.2;否则,输出带有属性方向的有向图Hsa,执行步骤6.8;
步骤6.8:计算带有属性方向的有向图Hsa中每一个节点vs的pageRank评分,选择具有最大pageRank评分的节点作为子图Hs的中心节点c。
步骤7:从中心节点c开始,做d次广度优先搜索,得到候选子图Ht;
步骤8:对候选子图Ht中的每个节点进行链接预测,将发现的隐藏关系加入到候选子图Ht中,得到最终子图Hd;
步骤8.1:计算原始社交网络图G中每个节点与其他节点的相似度,获取与每个节点相似度最大的p个节点,构建矩阵RN;两个节点的相似度计算公式为:
其中,yi为节点vi对应于表示矩阵中的表示向量;yj为节点vj对应于表示矩阵/>中的表示向量;p为设定的常数;
步骤8.2:初始化ti=1;
步骤8.3:在矩阵RN中根据索引找到距离候选子图Ht中节点在全属性上最近的p个节点,记为集合/>
步骤8.4:在集合中获取增大Aq权重后距离节点/>最近的且在原图中与节点vi不相连的r个节点,记为集合/>r为设定的常数;
所述的增大Aq权重后节点与另一个节点/>的距离为:
其中:为节点/>对应于表示矩阵/>中的表示向量;/>为节点/>对应于表示矩阵/>中的表示向量;/>表示加入查询属性的表示空间映射向量;
步骤8.5:初始化Pti=1;
步骤8.6:若集合中的节点/>在候选子图Ht的节点集合中,则在候选子图Ht中建立节点/>与节点/>之间的边;否则,将节点/>添加到候选子图Ht的节点集合中,建立节点/>与节点/>之间的边,并根据原始社交网络图G的边集E,在候选子图Ht中建立节点/>与候选子图Ht中其他节点之间的边;
步骤8.7:若Pti<r,则令Pti=Pti+1,并返回步骤8.6;否则,执行步骤8.8;
步骤8.8:若ti<g,g为候选子图Ht中节点的数量,则令ti=ti+1,并返回步骤8.3;否则,执行步骤8.9;
步骤8.9:将候选子图Ht调整为(k,d)-truss结构,得到最终子图Hd。
步骤9:使用社区搜索算法对最终子图Hd进行搜索,得到查询节点vq所在的属性社区Hr;
步骤9.1:初始化令l=0,Hl=Hd,Hr=Hl;
步骤9.2:判断中心节点c是否在中间社区Hl中;若中心节点c在中间社区Hl中,则从步骤9.3开始循环执行;否则,结束循环跳到步骤9.8;
步骤9.3:对中间社区Hl中每个节点进行打分,节点打分函数为:
其中,u是除查询节点vq之外的节点,u∈Hl-vq;V(Hl)是子图Hl包含的节点集合;Vw为包含了属性w的节点集合;attr(u)表示节点u中存储的属性集合;
步骤9.4:删除打分最低的节点和该节点关联的边;
步骤9.5:将中间社区Hl加入到候选子图集合Hset中;
步骤9.6:将中间社区Hl调整为(k,d)-truss结构;
步骤9.7:令l=l+1,返回步骤9.2;
步骤9.8:计算候选子图集合Hset中每一个候选子图的社区评分,选择社区评分最高的候选子图作为搜索到的社区Hr;
Hr=argmaxH∈Hsetf(H,Aq)
其中,Va表示包含属性a的节点集合,V(H)表示候选子图H里的节点集合;
步骤9.9:判断查询节点vq是否在属性社区Hr中;若查询节点vq不在属性社区Hr中,则将查询节点vq加入到属性社区Hr中;
步骤9.10:输出包含查询节点vq,且所有节点都具有查询属性集合Aq中的属性信息的属性社区Hr。
步骤1中给定一个无向无权图G=(V,E,A),其中V={v1,…,vn}表示图中的n个结点,E={eij},0≤i,j<n表示边集,如果vi与vj之间存在一条边,则eij=1,否则eij=0;如果是带权图,则eij为边上的权重。为G的邻接矩阵,/>为G的属性矩阵。将M与A拼接起来构成/>
参照图2,堆栈式自编码器分为编码器和解码器两部分:编码器将输入层的的矩阵进行编码,从隐藏层中间层输出,得到一个/>的矩阵,再通过解码器,将Y解码为/>通过设计损失函数L=Lhigh+Ls+La+Lreg迭代更新模型权重使损失函数最小化。将X输入到已经训练好的模型中,在编码器模块最后一层输出的矩阵即为图G的低维表示矩阵Y;
为堆栈式自编码器设置损失函数捕捉一阶结构特征:
其中,yi和yj分别为vi和vj的表示向量。如果vi和vj之间存在一条边,则sij=eij,否则sij=θ<0。对于不相连的两个结点,给定一个负数的惩罚系数,在求Ls最小值的过程中,不相连的结点在低维空间中的距离会增大,相连的结点在低维空间中的距离会缩小。
设置损失函数捕捉高阶结构特征:
其中,xi为vi邻接向量和属性向量的串联向量,为xi对应的模型的输出,⊙为哈达玛积,ti=[ti1,ti2,…,ti(n+m)],xij>0,tij=δ>1,δ为常数,否则tij=1。这个会增加重构前后xi中1值的损失,减少xi中0值的损失。
设置捕捉属性相似度的损失函数:
其中,ai和aj分别为vi和vj的属性向量。为了将La最小化,ai和aj越相似,则yi和yj的距离会越近,反之则越远。
综上,堆栈式自编码器的损失函数为:
L=Lhigh+Ls+La+Lreg
其中,Lreg为L2正则项:
其中,w(k)为编码器部分第k层隐藏层权重矩阵,为解码器第k层权重矩阵。通过迭代训练自编码器模型,优化模型参数使得L最小。将X输入训练好的模型,在隐藏层的中间层输出,即得到表示学习矩阵/>其中d<<(n+m)。
由于现有的社区搜索算法多采用(k,d)-truss限制社区的结构,即一条边要在(k-2)个三角形中,结点到查询结点的距离不能大于d。这里我们讨论(4,2)-truss的结构,查询结点为a的情况:在图3(a)中,隐藏关系ab使得实际边bc满足(4,2)-truss结构,从而使得b结点加入到a所在的属性社区中;在图3(b)中,在实际图中结点b与a不相连,通过隐藏关系ab,bc使得ab相连;在图3(c)中,在实际图中b到a的最短距离为3,不满足(4,2)-truss结构,隐藏关系bc使得结点b到a的最短距离变为2,从而进入a所在的社区。
本发明的效果可通过以下实验进一步说明:
实验平台:操作系统Ubuntu 16.04.4,处理器Intel i7,内存8G,python3.6
(1)网络表示学习模型效果验证:
发现隐藏关系是通过表示向量进行链接预测,链接预测效果好坏对于隐藏关系的发掘有重要影响。在facebook数据集上,先随机删除一些边,对处理过的图进行表示学习。模型训练结束后,使用表示向量去预测未知的边,并与原图中的边进行比较,使用precision@K做为预测隐藏边的评价指标。实验结果如图4所示。从实验结果可以看出,通过堆栈式自编码器学习到的表示向量对于预测隐藏边有良好的效果。
(2)加入隐藏边的属性社区搜索算法的验证:
在facebook的子图中随机选择100个测试样本,每个样本里包含一个查询结点和一个查询属性,使用现有的属性社区搜索算法和融合隐藏关系的属性社区搜索算法进行搜索,将搜索到的结果与真实社区进行比较,如图5所示。由于预测了社区中心,使得候选子集和真实社区的交集增大,使得加入隐藏关系的社区具有更高的查准率;由于加入了隐藏关系,使得更多的结点加入到查询社区中,增大了结果的查全率。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (5)
1.一种融合隐藏关系的属性社区搜索方法,其特征在于,包括以下步骤:
步骤1:输入原始社交网络图G=(V,E,A)、查询节点vq和查询属性集合Aq;
社交网络图G=(V,E,A)中,V为社交网络图中的节点集合,V={v1,...,vn},n为社交网络图中节点的数量;E为社交网络图中的边集,E={eij},0≤i,j<n,如果节点vi与节点vj之间存在一条边,则eij=1,否则eij=0;A为社交网络图的属性矩阵,m为社交网络图中属性的数量;
步骤2:将原始社交网络图G的邻接矩阵和属性矩阵/>拼接成矩阵
步骤3:使用矩阵X训练堆栈式自编码器;所述的堆栈式自编码器包括编码器和解码器;所述的矩阵X输入到编码器的输入层,编码器对矩阵X进行编码,编码器的隐藏层中间层输出表示矩阵d是表示空间的维度;所述的解码器将矩阵Y解码为/>通过迭代更新模型权重使损失函数最小化,完成练堆栈式自编码器的训练;
步骤4:将矩阵输入到训练好的堆栈式自编码器,得到表示矩阵/>
步骤5:从查询节点vq开始,做d次的广度优先搜索,得到子图Hs;
步骤6:获取子图Hs的中心节点c;
步骤7:从中心节点c开始,做d次广度优先搜索,得到候选子图Ht;
步骤8:对候选子图Ht中的每个节点进行链接预测,将发现的隐藏关系加入到候选子图Ht中,得到最终子图Hd;
步骤9:使用社区搜索算法对最终子图Hd进行搜索,得到查询节点vq所在的属性社区Hr;
步骤9.1:初始化令l=0,Hl=Hd,Hr=Hl;
步骤9.2:判断中心节点c是否在中间社区Hl中;若中心节点c在中间社区Hl中,则从步骤9.3开始循环执行;否则,结束循环跳到步骤9.8;
步骤9.3:对中间社区Hl中每个节点进行打分,节点打分函数为:
其中,u是除查询节点vq之外的节点,u∈Hl-vq;V(Hl)是子图Hl包含的节点集合;Vw为包含了属性w的节点集合;attr(u)表示节点u中存储的属性集合;
步骤9.4:删除打分最低的节点和该节点关联的边;
步骤9.5:将中间社区Hl加入到候选子图集合Hset中;
步骤9.6:将中间社区Hl调整为(k,d)-truss结构;
步骤9.7:令l=l+1,返回步骤9.2;
步骤9.8:计算候选子图集合Hset中每一个候选子图的社区评分,选择社区评分最高的候选子图作为搜索到的社区Hr;
Hr=argmaxH∈Hsetf(H,Aq)
其中,Va表示包含属性a的节点集合,V(H)表示候选子图H里的节点集合;
步骤9.9:判断查询节点vq是否在属性社区Hr中;若查询节点vq不在属性社区Hr中,则将查询节点vq加入到属性社区Hr中;
步骤9.10:输出包含查询节点vq,且所有节点都具有查询属性集合Aq中的属性信息的属性社区Hr。
2.根据权利要求1所述的一种融合隐藏关系的属性社区搜索方法,其特征在于:所述的步骤6中获取子图Hs的中心节点c的方法具体为:
步骤6.1:建立子图Hs的无边图Hsa=(Vs,Esa,As);初始化si=sj=0;
Vs为子图Hs的节点集合,0≤s≤b,b为子图Hs中的节点数量;As为子图Hs的属性矩阵;
步骤6.2:令si=si+1,获取节点拥有的查询属性的数量nqi;所述的查询属性为查询属性集合Aq中的属性信息;
步骤6.3:令sj=sj+1;
步骤6.4:若si=sj,则返回步骤6.3;否则,获取节点拥有的查询属性的数量nqj;
步骤6.5:若nqi<nqj,则在无边图Hsa中添加一条有向边
若nqi=nqj且nqi≠0,则在无边图Hsa中添加两条有向边和/>
步骤6.6:若sj<b,则返回步骤6.3;否则,执行步骤6.7;
步骤6.7:若si<b,则返回步骤6.2;否则,输出带有属性方向的有向图Hsa,执行步骤6.8;
步骤6.8:计算带有属性方向的有向图Hsa中每一个节点vs的pageRank评分,选择具有最大pageRank评分的节点作为子图Hs的中心节点c。
3.根据权利要求1或2所述的一种融合隐藏关系的属性社区搜索方法,其特征在于:所述的步骤8中对候选子图Ht中的每个节点进行链接预测,将发现的隐藏关系加入到候选子图Ht中,得到最终子图Hd的具体步骤为:
步骤8.1:计算原始社交网络图G中每个节点与其他节点的相似度,获取与每个节点相似度最大的p个节点,构建矩阵RN;两个节点的相似度计算公式为:
其中,yi为节点vi对应于表示矩阵中的表示向量;yj为节点vj对应于表示矩阵中的表示向量;p为设定的常数;
步骤8.2:初始化ti=1;
步骤8.3:在矩阵RN中根据索引找到距离候选子图Ht中节点在全属性上最近的p个节点,记为集合/>
步骤8.4:在集合中获取增大Aq权重后距离节点/>最近的且在原图中与节点vi不相连的r个节点,记为集合/>r为设定的常数;
所述的增大Aq权重后节点与另一个节点/>的距离为:
其中:为节点/>对应于表示矩阵/>中的表示向量;/>为节点/>对应于表示矩阵/>中的表示向量;/>表示加入查询属性的表示空间映射向量;
步骤8.5:初始化Pti=1;
步骤8.6:若集合中的节点/>在候选子图Ht的节点集合中,则在候选子图Ht中建立节占/>与节点/>之间的边;否则,将节点/>添加到候选子图Ht的节点集合中,建立节点与节点/>之间的边,并根据原始社交网络图G的边集E,在候选子图Ht中建立节点/>与候选子图Ht中其他节点之间的边;
步骤8.7:若Pti<r,则令Pti=Pti+1,并返回步骤8.6;否则,执行步骤8.8;
步骤8.8:若ti<g,g为候选子图Ht中节点的数量,则令ti=ti+1,并返回步骤8.3;否则,执行步骤8.9;
步骤8.9:将候选子图Ht调整为(k,d)-truss结构,得到最终子图Hd。
4.根据权利要求1或2所述的一种融合隐藏关系的属性社区搜索方法,其特征在于:所述的步骤3中堆栈式自编码器的解码器的损失函数为:
L=Lhigh+Ls+La+Lreg
其中,Lhigh为损失函数的捕捉高阶结构特征;Ls为损失函数的捕捉一阶结构特征;La为损失函数的捕捉属性相似度;Lreg为正则项;yi和yj分别为原始社交网络图G中节点vi和节点vj的表示向量;若节点vi和节点vj之间存在一条边,则sij=eij;若节点vi和节点vj之间不存在一条边,则sij=θ<0;xi为节点vi的邻接向量和属性向量的串联向量;为xi对应的模型的输出;⊙为哈达玛积;ti=[ti1,ti2,...,ti(n+m)];若xij>0,则tij=δ>1,δ为常数;若xij≤0,则tij=1;/>ai和aj分别为节点vi和节点vj的属性向量;w(k)为编码器部分第k层隐藏层权重矩阵;/>为解码器第k层权重矩阵。
5.根据权利要求3所述的一种融合隐藏关系的属性社区搜索方法,其特征在于:所述的步骤3中堆栈式自编码器的解码器的损失函数为:
L=Lhigh+Ls+La+Lreg
其中,Lhigh为损失函数的捕捉高阶结构特征;Ls为损失函数的捕捉一阶结构特征;La为损失函数的捕捉属性相似度;Lreg为正则项;yi和yj分别为原始社交网络图G中节点vi和节点vj的表示向量;若节点vi和节点vj之间存在一条边,则sij=eij;若节点vi和节点vj之间不存在一条边,则sij=θ<0;xi为节点vi的邻接向量和属性向量的串联向量;为xi对应的模型的输出;⊙为哈达玛积;ti=[ti1,ti2,...,ti(n+m)];若xij>0,则tij=δ>1,δ为常数;若xij≤0,则tij=1;/>ai和aj分别为节点vi和节点vj的属性向量;w(k)为编码器部分第k层隐藏层权重矩阵;/>为解码器第k层权重矩阵。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010636070.1A CN111898039B (zh) | 2020-07-03 | 2020-07-03 | 一种融合隐藏关系的属性社区搜索方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010636070.1A CN111898039B (zh) | 2020-07-03 | 2020-07-03 | 一种融合隐藏关系的属性社区搜索方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111898039A CN111898039A (zh) | 2020-11-06 |
CN111898039B true CN111898039B (zh) | 2023-12-19 |
Family
ID=73191525
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010636070.1A Active CN111898039B (zh) | 2020-07-03 | 2020-07-03 | 一种融合隐藏关系的属性社区搜索方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111898039B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112966165A (zh) * | 2021-02-03 | 2021-06-15 | 北京大学 | 基于图神经网络的交互式社区搜索方法及装置 |
CN113626723A (zh) * | 2021-07-09 | 2021-11-09 | 中国科学院信息工程研究所 | 一种基于表示学习的属性图社区搜索方法和系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110533545A (zh) * | 2019-07-12 | 2019-12-03 | 长春工业大学 | 基于深度稀疏自编码器的边社区发现算法 |
CN111274498A (zh) * | 2020-01-22 | 2020-06-12 | 哈尔滨工业大学 | 一种网络特征社区查找方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107153713B (zh) * | 2017-05-27 | 2018-02-23 | 合肥工业大学 | 社交网络中基于节点间相似性的重叠社区检测方法及系统 |
US11093561B2 (en) * | 2017-12-11 | 2021-08-17 | Facebook, Inc. | Fast indexing with graphs and compact regression codes on online social networks |
-
2020
- 2020-07-03 CN CN202010636070.1A patent/CN111898039B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110533545A (zh) * | 2019-07-12 | 2019-12-03 | 长春工业大学 | 基于深度稀疏自编码器的边社区发现算法 |
CN111274498A (zh) * | 2020-01-22 | 2020-06-12 | 哈尔滨工业大学 | 一种网络特征社区查找方法 |
Non-Patent Citations (1)
Title |
---|
基于重引力搜索链接预测和评分传播的大数据推荐系统;李贞;吴勇;耿海军;;计算机应用与软件(02);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111898039A (zh) | 2020-11-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108846422B (zh) | 跨社交网络的账号关联方法及系统 | |
CN111898039B (zh) | 一种融合隐藏关系的属性社区搜索方法 | |
CN111460234B (zh) | 图查询方法、装置、电子设备及计算机可读存储介质 | |
CN104992078B (zh) | 一种基于语义密度的蛋白质网络复合物识别方法 | |
CN106874425B (zh) | 基于Storm的实时关键词近似搜索算法 | |
CN112328891A (zh) | 训练搜索模型的方法、搜索目标对象的方法及其装置 | |
CN112507247A (zh) | 一种融合用户状态信息的跨社交网络用户对齐方法 | |
CN112417313A (zh) | 一种基于知识图卷积网络的模型混合推荐方法 | |
CN113255895A (zh) | 基于图神经网络表示学习的结构图对齐方法和多图联合数据挖掘方法 | |
CN113626723A (zh) | 一种基于表示学习的属性图社区搜索方法和系统 | |
Hu et al. | A Web service clustering method based on topic enhanced Gibbs sampling algorithm for the Dirichlet Multinomial Mixture model and service collaboration graph | |
CN110020141A (zh) | 一种基于改进聚类和Spark框架的个性化推荐方法及系统 | |
CN113140254A (zh) | 元学习药物-靶点相互作用预测系统及预测方法 | |
CN111090765B (zh) | 一种基于缺失多模态哈希的社交图像检索方法及系统 | |
Xiong et al. | BTWalk: Branching tree random walk for multi-order structured network embedding | |
Kang et al. | Intra-class low-rank regularization for supervised and semi-supervised cross-modal retrieval | |
CN110580252A (zh) | 多目标优化下的空间对象索引与查询方法 | |
CN110543601B (zh) | 一种基于中智集的上下文感知兴趣点推荐方法及系统 | |
KR102158049B1 (ko) | Cf 트리를 활용한 범위 질의 기반의 데이터 클러스터링 장치 및 방법 | |
CN109582953B (zh) | 一种资讯的言据支撑评分方法、设备和存储介质 | |
CN108536796B (zh) | 一种基于图的异构本体匹配方法及系统 | |
CN114461943B (zh) | 基于深度学习的多源poi语义匹配方法、装置及其存储介质 | |
Yu et al. | Enhancing attributed network embedding via similarity measure | |
CN114443783A (zh) | 一种供应链数据分析和增强处理方法及装置 | |
CN112749246B (zh) | 搜索短语的评估方法、装置、服务器及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |