本发明涉及网络科学领域,特别是指一种基于邻居信息和属性网络表征学习的微博用户社团发现方法。
背景技术:
随着信息技术的极大发展,逐渐出现了以facebook、微博为代表的大型属性网络,这些社交网络是在人们日常工作和娱乐生活中占重要一部分。而微博是在当今中国社交网络中具有极大的代表性,可以实时看到最新最热的新闻消息,也可以发布自己的动态或者及时看到明星的动态,深受广大年轻人的喜爱。微博中的用户社区是一种大型节点属性网络,社团内部的成员往往连接较紧密并且爱好相同或相似。
在节点属性网络中划分社团有很多的作用,微博平台可以利用不同社团内的用户的联系和爱好为用户定制个性化推荐,可以利用划分的社团判断机器人用户。同样的,平台可以依此精准投放广告,用户可以找到更多自己感兴趣的其他用户或者内容。
近年来已经提出一些属性网络社团发现方法,例如block-lda算法、circles算法、cesna算法等,这些社团发现的算法对网络拓扑的挖掘不够,而且准确率并不高,不能很好地将相似的用户划分到同一社团。
技术实现要素:
为了克服目前在大型属性社交网络的社区发现方法存在的无法有效融合网络拓扑和属性信息、社团划分准确率不高等方面的缺陷,本发明提出了一种有效的基于邻居信息和属性网络表征学习的微博用户社区发现方法,首先将微博网络的拓扑信息和用户属性信息通过属性表征框架转化成特征空间的嵌入向量,该框架深入挖掘了用户的邻居信息并将拓扑结构和属性信息很好地融合在一起,然后使用k-means聚类划分社团,提高属性网络社团发现的准确率和效率。
本发明解决其技术问题所采用的技术方案是:
一种基于邻居信息和属性网络表征学习的微博用户社区发现方法,包括如下步骤:
步骤一:微博网络表示为一个属性网络g=(v,e,f),其中v={v1,v2,...,vn}为节点集合,每个节点表示一个用户,节点数即用户总数n=|v|,e为边集合,所有微博用户的连边关系构成一个邻接矩阵a,每个用户的属性f’={f1,f2,...,fm},微博用户属性数量m=|f’|,所有微博用户的属性表示为一个n行m列的属性信息矩阵f;
步骤二:根据微博用户的连边关系矩阵a,计算节点相似度saij
其中,cij为用户i与用户j的共同邻居数,wij为邻接矩阵a中用户i与用户j相连的边权,即在用户i与用户j有关注的情况下,节点相似度saij为两用户的共同邻居数比上节点总数,在两用户没有关注的情况下,saij为0;
步骤三:对属性信息矩阵f,采用余弦相似度度量标准计算属性接近度矩阵sf;
步骤四:对网络拓扑和属性信息联合建模,设置嵌入向量h的维度d,采用分布式算法进行求解,最小化目标函数j,得到每个用户的嵌入向量h,
其中,等式右边第1项为属性信息的损失函数,等式右边第2项为网络拓扑损失函数,λ为一个标量,是拓扑信息与属性信息所占比例的权衡,当λ=0时,表示嵌入模型只考虑了属性信息,hi、hj分别代表用户i和用户j的向量表征;
步骤五:对每个用户的嵌入向量h进行k-means聚类,得到用户的类别标签,实现社团发现。
本发明的技术构思为:根据微博网络的网络拓扑信息和属性信息,分别计算节点相似度和属性接近度,将两者联合表征,利用分布式算法求解得到嵌入向量,然后通过k-means聚类得到社团划分,具有融合微博网络用户邻居信息和属性信息的优点,提高了社团发现的准确率和有效性。
本发明的有益效果为:利用属性网络表征学习,融合了网络拓扑结构信息和节点属性信息,提高了社团发现的正确率和有效性。
附图说明
图1为一个简单的微博网络示意图,图中的节点表示微博网络的用户,数字1,2,3,...,7为相应的用户编号,如果用户之间有相互的关注,则两节点之间有一条连边。
图2为本发明的流程图。
具体实施方式
下面结合附图对本发明做进一步说明。
参照图1~图2,一种基于邻居信息和属性网络表征学习微博用户社区发现方法,包括如下步骤:
步骤一:微博网络表示为一个属性网络g=(v,e,f),其中v={v1,v2,...,vn}为节点集合,每个节点表示一个用户,节点数即用户总数n=|v|,e为边集合,所有微博用户的连边关系构成一个邻接矩阵a,每个用户的属性f’={f1,f2,...,fm},微博用户属性数量m=|f’|,所有微博用户的属性表示为一个n行m列的属性信息矩阵f;
步骤二:根据微博用户的连边关系矩阵a,计算节点相似度saij
其中,cij为用户i与用户j的共同邻居数,wij为邻接矩阵a中用户i与用户j相连的边权,即在用户i与用户j有关注的情况下,节点相似度saij为两用户的共同邻居数比上节点总数,在两用户没有关注的情况下,saij为0;
步骤三:对属性信息矩阵f,采用余弦相似度度量标准计算属性接近度矩阵sf;
步骤四:对网络拓扑和属性信息联合建模,设置嵌入向量h的维度d,采用分布式算法进行求解,最小化目标函数j,得到每个用户的嵌入向量h,
其中,等式右边第1项为属性信息的损失函数,等式右边第2项为网络拓扑损失函数,λ为一个标量,是拓扑信息与属性信息所占比例的权衡,当λ=0时,表示嵌入模型只考虑了属性信息,hi、hj分别代表用户i和用户j的向量表征;
步骤五:对每个用户的嵌入向量h进行k-means聚类,得到用户的类别标签,实现社团发现。
如上所述,本专利实施的具体实现步骤使本发明更加清晰。在本发明的精神和权利要求的保护范围内,对本发明作出的任何修改和改变,都落入本发明的保护范围。
1.一种基于邻居信息和属性网络表征学习的微博用户社团发现方法,其特征在于:所述方法包括如下步骤:
步骤一:微博网络表示为一个属性网络g=(v,e,f),其中v={v1,v2,...,vn}为节点集合,每个节点表示一个用户,节点数即用户总数n=|v|,e为边集合,所有微博用户的连边关系构成一个邻接矩阵a,每个用户的属性f’={f1,f2,...,fm},微博用户属性数量m=|f’|,所有微博用户的属性表示为一个n行m列的属性信息矩阵f;
步骤二:根据微博用户的连边关系矩阵a,计算节点相似度saij
其中,cij为用户i与用户j的共同邻居数,wij为邻接矩阵a中用户i与用户j相连的边权,即在用户i与用户j有关注的情况下,节点相似度saij为两用户的共同邻居数比上节点总数,在两用户没有关注的情况下,saij为0;
步骤三:对属性信息矩阵f,采用余弦相似度度量标准计算属性接近度矩阵sf;
步骤四:对网络拓扑和属性信息联合建模,设置嵌入向量h的维度d,采用分布式算法进行求解,最小化目标函数j,得到每个用户的嵌入向量h,
其中,等号右边第1项为属性信息的损失函数,等号右边第2项为网络拓扑损失函数,λ为一个标量,是拓扑信息与属性信息所占比例的权衡,当λ=0时,表示嵌入模型只考虑了属性信息,hi、hj分别代表用户i和用户j的向量表征;
步骤五:对每个用户的嵌入向量h进行k-means聚类,得到用户的类别标签,实现社团发现。