一种结合网络拓扑特征和用户行为特征的朋友关系挖掘方法与流程

文档序号:19042897发布日期:2019-11-05 23:20阅读:200来源:国知局
一种结合网络拓扑特征和用户行为特征的朋友关系挖掘方法与流程

本发明涉及数据挖掘与推荐系统领域,特别是涉及一种基于社交网络拓扑特征以及用户行为特征的朋友关系挖掘方法。



背景技术:

随着互联网尤其是移动互联网的兴起,在海量的信息和数据中挖掘有价值的信息呈现给用户,成为电商、社交、新闻、影音等各大主流应用的核心功能。推荐系统特别是个性化推荐为每位用户提供精准、及时,甚至是带有惊喜感的个性化信息服务,无论是对于用户,还是发布该功能的产品来说,都潜藏着极大的价值。而朋友预测对于用户来说却有不一样的惊喜感,因为如果产品推荐出了你现实中的朋友,而这些朋友起初并不存在你的好友列表里的话,用户会极大的提高对该产品的好感、忠诚度,这对产品的发展至关重要。本发明在于最大可能的挖掘出“潜在”的朋友关系推荐给用户。



技术实现要素:

为了克服现有的社交网络中传统的朋友关系网络都可以抽象为无向无权图,只能表示两者之间是否为存在朋友关系、无法有效挖掘朋友关系的不足,本发明将网络特征以及用户行为特征引入到传统的朋友关系网络中,不仅表示两者是否为朋友,也能表示两个朋友关系的强弱程度,从不同的角度考虑两个人的相似度,即社交网络拓扑特征以及用户行为特征,使用改进的CNM(Clauset-Newman-Moore)算法进行社团划分,人与人之间存在“物以类聚,人以群分”的现象,本发明结合网络拓扑特征和用户行为特征使用改进的CNM算法挖掘出两个用户是否存在朋友关系。

本发明解决其技术问题所采用的技术方案如下:

一种结合网络拓扑特征和用户行为特征的朋友关系挖掘方法,所述挖掘方法包括以下步骤:

S1:数据集提供包括朋友网络与就餐地点、口味信息,首先建立朋友关系网络图,随机选取其中设定比例的朋友关系连边数据为训练集,剩余部分作为测试集;

S2:根据训练集建立朋友关系无权无向图G1=(V,E1),图G1的邻接矩阵A=(aij)v×v,i,j∈{1,2,...,v},其中:

根据邻接矩阵Av×v=(aij)v×v,i,j∈{1,2,...,v}分别求出如下两种网络拓扑特征:资源分配指标(RA),Jaccard指标(J),分别得到下列各拓扑特征矩阵:

RAv×v=(RAij)v×v,Jv×v=(Jij)v×v,i,j∈{1,2,...,v},如下为各特征矩阵元素表达式:

其中Γ(i)为节点i的邻居节点的集合,k(z)=|Γ(z)|为节点z的度,各特征矩阵RAv×v,Jv×v线性归一化分别为上述矩阵中各元素表达式如下:

如上将朋友关系的无权无向图G1分别转化为两种有权无向图,其中权值分别等于上述两种归一化后的特征矩阵的值,即

S3:通过用户已有的就餐地点与口味行为的记录数据,分别建立两类二分图,即用户-餐馆地区,用户-口味标签,过程如下:定义餐馆二分图G=(X,E,R),其中Xi={x1,x2,...,xv},i∈{1,2,...,v}表示v个用户,Ri={r1,r2,...,rn},i∈{1,2,...,n}表示n个餐馆,若用户xi,i∈{1,2,...,v}去过餐馆rj,j∈{1,2,...,n},则用有权连边表示该用户去了几次该餐馆,权值为dij,i∈{1,2,...,v},j∈{1,2,...,n},即去过的次数,同理,构建用户-口味标签二分图G(X,E',T),其中Xi={x1,x2,...,xv},i∈{1,2,...,v}表示v个用户,Ti={t1,t2,...,tm},i∈{1,2,...,m}表示m个口味标签,若用户xi选择口味tj,j∈{1,2,...,m},则用有权连边表示该用户选择了几次该口味,权值为di'j,i∈{1,2,...,v},j∈{1,2,...,m},即选择的次数;所述S3包括以下步骤:

S3-1:分别根据用户-餐馆与用户-口味标签的二分图,计算出任意两个用户的节点相似度,用于表征两个用户之间的行为差异,其中dij表示用户xi去餐馆rj的次数,则用户xi去餐馆rj的概率为:

其中,k=1,2,…,|v|表示所有的用户;

根据不相关熵的定义,餐馆rj的熵为:

其中,Ej值越大,表示餐馆rj越受用户欢迎;

用户xi,xj选择餐馆的特征相似度(RSIM)定义为:

特征矩阵各元素线性归一化结果为:

同理,在用户-口味标签二分图中,di'j表示用户xi尝过口味tj的次数,则用户xi尝过口味tj的概率为:

根据不相关熵的定义,口味tj的熵为:

其中,E′ij值越大,表示口味tj越受用户欢迎;

则用户选择餐馆在口味上的相似度特征(TSIMij)定义为:

特征矩阵各元素线性归一化结果为:

S3-2:根据上述两种用户行为特征的重新构建朋友网络,即有权无向图G2=(V,E2),过程如下:保留用户节点,删除所有朋友连边,两点之间是否有连边以及连边的权值取决于用户行为特征相似度,其中朋友网络的连边E2的权值分别取自于上述两个特征矩阵即

S4:使用基于加权模块度的社团检测算法分别对上述四个有权无向图进行社团划分,如下为加权无向网络的模块度公式为:

其中,W是网络中所有边的权值之和,si是节点的强度,即与节点i相连的所有边的权重和,wij是网络中节点i与节点j之间的连边的权值,sisj/(2W)是相应的零模型中节点i与节点j之间的连边的期望的权值,Ci与Cj分别表示节点i与节点j在网络中所属的社团:如果这两个节点属于同一社团,则δ(Ci,Cj)=1;否则值为0,所述S4包括以下步骤:

S4-1:初始化:初始时假设每个节点就是一个独立的社团,即v个社团,选取基于的有权无向图为对象,该网络所有边的权值之和为W1,此时模块度值Q=0,定义对称矩阵Fv×v,其中的元素fij表示连接社团和社团中的边权值占所有边权值的比例;定义行的加总它表示所有连接了社团中的节点的边权值占总权值的比例,矩阵F和辅助向量的元素为fij和ai,初始的fij、ai计算如下:

ai=si/(2W1)

其中,fij的非零值是根据所基于的不同特征即拓扑特征、行为特征的有权无向图对象决定,初始的模块度增量矩阵ΔQ的各元素计算如下:

得到初始模块增量矩阵以后,就能得到由它每一行的最大元素构成的最大堆H;

S4-2:从最大堆H中选择max{ΔQij},合并相应的社团Gi和Gj,标记合并后的社团标号为j;并更新模块度增量矩阵ΔQ、最大堆H和辅助向量

S4-2-1:ΔQ的更新:删除第i行和第i列的元素,更新第j行和第j列的元素,得到

S4-2-2:最大堆H的更新:在更新ΔQ后,要更新最大堆中相应的行和列的最大元素;

S4-2-3:辅助向量的更新如下:

aj←ai+aj,然后ai=0

并记录合并以后的模块度值:

Q←Q+max{ΔQij}

S4-2-4:重复步骤S4-2-2直到网络中所有的节点都归到一个社团内;

当模块度增量矩阵中最大的元素由正变为负,就停止合并,并认为此时的结果就是基于的有权无向图网络的社区结构C1;

S4-3:选取基于的有权无向网络为对象,重复S4-1过程,就能得到基于的有权无向网络的社区结构C2,C3,C4;

S4-4:根据以上基于四种不同特征包括网络拓扑特征以及用户行为特征的网络社团结构,即C1,C2,C3,C4,如果任意两个用户两点在上述四种社团划分过程中至少有三次或以上被划为同一个社区,则认为这两个用户是朋友关系。

本发明的有益效果为:本发明挖掘社交网络中的用户关系(即用户关系网络中未知的连边状态),最终的预测结果较高,能有效满足实际使用的要求。

附图说明

图1为本发明实施例的社交网络中的用户关系发掘方法的流程图。

具体实施方式

下面结合附图对本发明做进一步说明。

参照图1,一种结合网络拓扑特征和用户行为特征的朋友关系挖掘方法,所述挖掘方法包括以下步骤:

S1:根据Yelp用户数据集,建立朋友关系网络图,随机选取其中90%的朋友关系连边数据为训练集,剩余的10%作为测试集;

S2:根据两种网络拓扑特征分别构建两种基于拓扑特征的朋友关系网络的有权无向图;

S3:分别构建用户与餐馆、用户与口味的两类二分图,根据上述两类二分图计算出两种行为特征相似度矩阵,再构建基于用户行为特征的朋友关系网络的有权无向图;

S4:使用基于模块度的社团检测算法(CNM算法)分别对上述四种有权无向图进行社团划分。如果任意两个用户两点在上述四种社团划分过程中至少有三次或以上被划为同一个社区,则认为这两个用户是朋友关系。

所述步骤S1中,Yelp数据集提供包括朋友网络与就餐地点、口味信息,首先建立朋友关系网络图,随机选取其中90%的朋友关系连边数据为训练集,剩余的作为测试集。

所述步骤S2中,根据训练集建立朋友关系无权无向图G1=(V,E1),图G1的邻接矩阵A=(aij)v×v,i,j∈{1,2,...,v},其中:

根据邻接矩阵Av×v=(aij)v×v,i,j∈{1,2,...,v}分别求出如下三种网络拓扑特征:资源分配指标(RA),Jaccard指标(J),分别得到下列各拓扑特征矩阵:

RAv×v=(RAij)v×v,Jv×v=(Jij)v×v,i,j∈{1,2,...,v}。如下为各特征矩阵元素表达式:

其中Γ(i)为节点i的邻居节点的集合,k(z)=|Γ(z)|为节点z的度。各特征矩阵RAv×v,Jv×v线性归一化分别为上述矩阵中各元素表达式如下:

如上将朋友关系的无权无向图G1分别转化为两种有权无向图,其中权值分别等于上述两种归一化后的特征矩阵的值,即

所述步骤S3中,通过Yelp用户已有的就餐地点与口味等行为的记录数据,分别建立两类二分图,即用户-餐馆地区,用户-口味标签。过程如下:定义餐馆二分图G=(X,E,R),其中Xi={x1,x2,...,xv},i∈{1,2,...,v}表示v个用户,Ri={r1,r2,...,rn},i∈{1,2,...,n}表示n个餐馆,若用户xi,i∈{1,2,...,v}去过餐馆rj,j∈{1,2,...,n}。则用有权连边表示该用户去了几次该餐馆,权值为dij,i∈{1,2,...,v},j∈{1,2,...,n},即去过的次数。同理,可构建用户-口味标签二分图G(X,E',T),其中Xi={x1,x2,...,xv},i∈{1,2,...,v}表示v个用户,Ti={t1,t2,...,tm},i∈{1,2,...,m}表示m个口味标签,若用户xi选择口味tj,j∈{1,2,...,m}。则用有权连边表示该用户选择了几次该口味,权值为di'j,i∈{1,2,...,v},j∈{1,2,...,m},即选择的次数。

所述步骤S3包括以下步骤:

S3-1:分别根据用户-餐馆与用户-口味标签的二分图,计算出任意两个用户的节点相似度,用于表征两个用户之间的行为差异。其中dij表示用户xi去餐馆rj的次数,则用户xi去餐馆rj的概率为:

其中,k=1,2,…,|v|表示所有的用户;

根据不相关熵的定义,餐馆rj的熵为:

其中,Ej值越大,表示餐馆rj越受用户欢迎。

用户xi,xj选择餐馆的特征相似度(RSIM)定义为:

特征矩阵各元素线性归一化结果为:

同理,在用户-口味标签二分图中,d′ij表示用户xi尝过口味tj的次数,则用户xi尝过口味tj的概率为:

根据不相关熵的定义,口味tj的熵为:

其中,E′ij值越大,表示口味tj越受用户欢迎。

则用户选择餐馆在口味上的相似度特征(TSIMij)定义为:

特征矩阵各元素线性归一化结果为:

S3-2:根据上述两种用户行为特征的重新构建朋友网络,即有权无向图G2=(V,E2),过程如下:保留用户节点,删除所有朋友连边,两点之间是否有连边以及连边的权值取决于用户行为特征相似度,其中朋友网络的连边E2的权值分别取自于上述两个特征矩阵即

在所述步骤S4中,使用基于加权模块度的社团检测算法(CNM算法)分别对上述四个有权无向图进行社团划分,如下为加权无向网络的模块度Qw公式为:

其中,W是网络中所有边的权值之和,si是节点的强度,即与节点i相连的所有边的权重和,wij是网络中节点i与节点j之间的连边的权值,sisj/(2W)是相应的零模型中节点i与节点j之间的连边的期望的权值,Ci与Cj分别表示节点i与节点j在网络中所属的社团:如果这两个节点属于同一社团,则δ(Ci,Cj)=1;否则值为0。所述步骤S4包括以下步骤:

S4-1:初始化:初始时假设每个节点就是一个独立的社团,即v个社团,选取基于的有权无向图为对象,该网络所有边的权值之和为W1,此时模块度值Q=0,定义对称矩阵Fv×v,其中的元素fij表示连接社团和社团中的边权值占所有边权值的比例。定义行的加总它表示所有连接了社团中的节点的边权值占总权值的比例。矩阵F和辅助向量的元素为fij和ai,初始的fij、ai计算如下:

ai=si/(2W1)

其中,fij的非零值是根据所基于的不同特征即拓扑特征、行为特征的有权无向图对象而决定,初始的模块度增量矩阵的元素计算如下:

得到初始模块增量矩阵以后,就能得到由它每一行的最大元素构成的最大堆H;

S4-2:从最大堆H中选择max{ΔQij},合并相应的社团Gi和Gj,标记合并后的社团标号为j;并更新模块度增量矩阵ΔQ、最大堆H和辅助向量

S4-2-1:ΔQ的更新:删除第i行和第i列的元素,更新第j行和第j列的元素,得到

S4-2-2:最大堆H的更新:在更新ΔQ后,要更新最大堆中相应的行和列的最大元素;

S4-2-3:辅助向量的更新如下:

aj←ai+aj,然后ai=0

并记录合并以后的模块度值:

Q←Q+max{ΔQij};

S4-2-4:重复步骤S4-2-2直到网络中所有的节点都归到一个社团内;

在算法运行的整个过程,模块度Q只有一个最大的峰值。当模块度增量矩阵中的最大元素都小于零以后,Q值就一直下降了。所以,只要当模块度增量矩阵中最大的元素由正变为负,就可以停止合并,并认为此时的结果就是基于的有权无向图网络的社区结构C1;

S4-3:选取基于的有权无向网络为对象,重复S4-1过程,就能得到基于的有权无向网络的社区结构C2,C3,C4;

S4-4:根据以上基于四种不同特征包括网络拓扑特征以及用户行为特征的网络社团结构,即C1,C2,C3,C4,如果任意两个用户两点在上述四种社团划分过程中至少有三次或以上被划为同一个社区,则认为这两个用户是朋友关系。

如上所述为本发明在Yelp餐饮平台的用户朋友关系挖掘方法的实施例介绍,本发明是结合网络拓扑特征和用户行为特征对传统CNM算法的拓展,最终的预测结果较高,达到了实际使用的要求。对发明而言仅仅是说明性的,而非限制性的。本专业技术人员理解,在发明权利要求所限定的精神和范围内可对其进行许多改变,修改,甚至等效,但都将落入本发明的保护范围内。

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