CN113158080B - 基于融合属性的社区发现方法、系统、装置及存储介质 - Google Patents
基于融合属性的社区发现方法、系统、装置及存储介质 Download PDFInfo
- Publication number
- CN113158080B CN113158080B CN202110460559.2A CN202110460559A CN113158080B CN 113158080 B CN113158080 B CN 113158080B CN 202110460559 A CN202110460559 A CN 202110460559A CN 113158080 B CN113158080 B CN 113158080B
- Authority
- CN
- China
- Prior art keywords
- matrix
- community
- loss function
- determining
- attribute
- 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
Images
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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/237—Lexical tools
- G06F40/242—Dictionaries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于融合属性的社区发现方法、系统、装置及存储介质,其中所述方法包括:根据节点的连接关系确定拓扑矩阵,根据节点的属性确定相似度矩阵,将拓扑矩阵分解为社区矩阵和第一矩阵,将相似度矩阵分解为节点矩阵和第二矩阵,确定第一损失函数和第二损失函数;根据社区矩阵和节点矩阵确定转移矩阵,确定第三损失函数;利用第二矩阵和相似度矩阵调节社区矩阵,确定第四损失函数;根据第一损失函数至第四损失函数确定总损失函数,并确定社区矩阵,确定社区结构。本申请实施例利用转移矩阵及反馈机制融合节点拓扑结构和属性,提高节点结构和节点属性的融合度,具有较强的鲁棒性;另使用相似度矩阵代替传统的属性矩阵,解决矩阵稀疏问题。
Description
技术领域
本申请涉及数据挖掘技术领域,尤其涉及一种基于融合属性的社区发现方法、系统、装置及存储介质。
背景技术
社交网络在互联网及其相应服务的高速发展下得到了全面普及,用户在社交网络上进行便捷的信息交流及信息共享,用户行为数据的不断丰富使社交网络相关各个领域的研究变得急切且必要,其中一个重要的方向是检测和提取网络的社区结构,称为社区发现。在实际场景中,大型的复杂网络上节点之间关系复杂,不同的社交网络下,比如学术社交网络与日常生活分享社交网络的特征差异巨大,因此提出一种对各种类型的社交网络都有较好适应性的社区发现算法是很有必要的。
而在社交网络中,各个节点之间的拓扑关系普遍用无向图来表示,而无向图用对称的邻接矩阵来存储,因此非负矩阵分解算法在研究社区发现问题上有其天然的直观性和优势。相关技术中,社区发现领域的非负矩阵分解算法主要集中在针对节点拓扑矩阵进行研究,未考虑节点本身的属性信息,或者是简单融合节点属性和节点拓扑矩阵的关系,这类算法的主要缺点是未能对节点属性和拓扑矩阵进行自适应的融合,对于拥有多种社区类型的大型复杂的社交网络并不友好。另外,在复杂社交网络中,为保证数据的多样性,属性字典不宜太小,但随着丰富的字典而来的问题是属性矩阵稀疏,影响算法效果与效率。
发明内容
本申请旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本申请提出一种基于融合属性的社区发现方法、系统、装置及存储介质。
第一方面,本申请实施例提供了一种基于融合属性的社区发现方法,包括:根据社交网络的节点链接关系确定拓扑矩阵;根据所述社交网络的节点属性确定相似度矩阵;将所述拓扑矩阵分解为社区矩阵和第一矩阵的乘积,并确定第一损失函数;其中所述社区矩阵和所述第一矩阵互为转置矩阵;将所述相似度矩阵分解为节点矩阵和第二矩阵的乘积,并确定第二损失函数;其中所述第二矩阵为属性矩阵的转置矩阵;根据所述社区矩阵和所述节点矩阵的映射关系,确定转移矩阵,并确定第三损失函数;根据所述第二矩阵和所述相似度矩阵反馈调节所述社区矩阵,并确定第四损失函数;根据所述第一损失函数、第二损失函数、第三损失函数和第四损失函数,确定总损失函数;根据所述总损失函数确定所述社区矩阵;并根据所述社区矩阵确定所述社交网络的社区结构。
可选地,所述根据所述总损失函数的局部最优解,确定所述属性矩阵和所述社区矩阵;并根据所述属性矩阵和所述社区矩阵,确定所述社交网络的社区结构,包括:根据所述第三损失函数确定所述属性矩阵的迭代公式;根据预设好的迭代次数以及所述属性矩阵的迭代公式确定所述属性矩阵;根据所述属性矩阵确定所述社交网络的社区结构。
可选地,所述根据所述社交网络的节点属性确定相似度矩阵,包括:获取所述社交网络中的用户信息;对所述用户信息进行分词处理及去噪处理,确定各个所述节点的节点属性;根据所述节点属性,确定属性字典;根据所述节点属性和所述属性字典的相似度,确定所述相似度矩阵。
可选地,所述总损失函数为所述第一损失函数、第二损失函数、第三损失函数和第四损失函数的和。
可选地,所述确定第四损失函数的步骤,包括:将所述第二矩阵和所述相似度矩阵,确定第三矩阵;其中所述第三矩阵为所述第二矩阵和所述相似度矩阵点乘的结果;根据所述第三矩阵和所述社区矩阵,确定所述第四损失函数。
可选地,使用最大最小化框架求解出所述总损失函数的局部最优解。
可选地,所述根据所述社区矩阵和所述节点矩阵的映射关系,确定转移矩阵,包括:根据任一节点从所述节点矩阵中转移到所述社区矩阵的概率,确定所述转移矩阵。
第二方面,本申请实施例提供了一种基于融合属性的社区发现系统,包括:矩阵获取模块,用于根据社交网络的节点链接关系确定拓扑矩阵,以及用于根据所述社交网络的节点属性确定相似度矩阵;第一分解模块,用于将所述拓扑矩阵分解为社区矩阵和第一矩阵的乘积,并确定第一损失函数;其中所述社区矩阵和所述第一矩阵互为转置矩阵;第二分解模块,用于将所述相似度矩阵分解为节点矩阵和第二矩阵的乘积,并确定第二损失函数;其中所述第二矩阵为属性矩阵的转置矩阵;转移模块,用于根据所述社区矩阵和所述节点矩阵的映射关系,确定转移矩阵,并确定第三损失函数;反馈模块,用于根据所述第二矩阵、所述相似度矩阵和所述社区矩阵,确定第四损失函数;损失计算模块,用于根据所述第一损失函数、第二损失函数、第三损失函数和第四损失函数,确定总损失函数;社区发现模块,用于根据所述总损失函数的局部最优解,确定所述属性矩阵和所述社区矩阵;并根据所述属性矩阵和所述社区矩阵,确定所述社交网络的社区结构。
第三方面,本申请实施例提供了一种装置,包括:至少一个处理器;至少一个存储器,用于存储至少一个程序;当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现如第一方面所述的基于融合属性的社区发现方法。
第四方面,本申请实施例提供了一种计算机存储介质,其中存储有处理器可执行的程序,所述处理器可执行的程序在由所述处理器执行时用于实现如第一方面所述的基于融合属性的社区发现方法。
本申请实施例的有益效果如下:首先根据社交网络中节点的连接关系确定拓扑矩阵,根据节点的属性确定相似度矩阵,利用矩阵分解的思想将拓扑矩阵分解为更低秩的社区矩阵和第一矩阵的乘积,将相似度矩阵分解为节点矩阵和第二矩阵的乘积,并根据矩阵分解的情况确定第一损失函数和第二损失函数。然后,根据社区矩阵和节点矩阵的映射关系确定转移矩阵,并确定转移过程的第三损失函数;并利用第二矩阵和相似度矩阵反馈调节社区矩阵,确定反馈过程的第四损失函数;最后根据第一损失函数至第四损失函数确定本社区发现算法的总损失函数,并根据总损失函数确定社区矩阵,从而确定本社区网络的社区结构。本申请实施例引入马尔科夫链转移概率思想,利用转移矩阵将独立的节点拓扑结构和节点属性融合起来,并利用节点属性相关的矩阵反馈调节社区矩阵,进一步提高节点结构和节点属性的融合度,本申请实施例的方法能在不同社交网络中灵活地融合节点的属性和节点间的拓扑信息,具有较强的鲁棒性。另外,本申请实施例使用相似度矩阵代替传统的属性矩阵,有效解决属性矩阵稀疏的问题。
附图说明
附图用来提供对本申请技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本申请的技术方案,并不构成对本申请技术方案的限制。
图1是本申请一个实施例提供的基于融合属性的社区发现方法的步骤流程图;
图2为本申请实施例提供的确定相似度矩阵的步骤流程图;
图3为本申请实施例提供的基于融合属性的社区发现方法的架构示意图;
图4为本申请实施例提供的基于融合属性的社区发现系统的示意图;
图5为本申请实施例提供的一种装置。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
需要说明的是,虽然在系统示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于系统中的模块划分,或流程图中的顺序执行所示出或描述的步骤。说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
在本申请实施例中,社交网络中的节点是指社交网络中唯一识别的账号,也称用户节点,而用户属性则是该账号在社交网络中的有特征的信息,比如工作地点、职称、研究兴趣等,对于社交网络的社区发现来说,最终结果是将用户节点划分到不同的社区,属于同一个社区的用户节点具有更高的相似度,因此社区发现的结果可以广泛应用于精准营销、防范金融风险等领域。
而相关技术中缺乏对节点和属性的有效融合,基于此,本申请实施例提出一种基于融合属性的社区发现方法、系统、装置及存储介质,对社交网络中的节点和属性进行融合,以期达到提高社区发现精准度的目的。
下面结合附图,对本申请实施例作进一步阐述。
参考图1,图1是本申请一个实施例提供的基于融合属性的社区发现方法的步骤流程图,该方法包括但不限于步骤S100-S170:
S100、根据社交网络的节点链接关系确定拓扑矩阵;
具体地,上文提到,在社交网络中常用无向图来表示各个节点之间的拓扑关系,而在计算机科学中无向图一般用邻接矩阵来存储,邻接矩阵存储无向图中节点的关系(边或弧)的数据,且对于无向图来说,邻接矩阵一定是对称的。因此,本申请中根据社交网络的节点链接关系来确定拓扑矩阵,拓扑矩阵也就是存储该社交网络中节点拓扑关系的邻接矩阵,且拓扑矩阵是对称矩阵。为了叙述的方便,在本申请实施例中使用X代表拓扑矩阵。
S110、根据社交网络的节点属性确定相似度矩阵;
具体地,根据社交网络中各个节点的属性,确定相似度矩阵。在相关技术中,若社区发现算法需要应用于大型复杂的网络,为了保证数据的多样性,需要考虑网络内众多节点的属性,创立丰富的属性字典。但由于不同类型的社交网络存在较大差异,例如学术社交网络的节点属性和日常生活分享社交网络的节点属性差异巨大,导致传统的属性矩阵存在矩阵稀疏的问题。在矩阵中,若数值为0的元素数目远远多于非0元素的数目,并且非0元素分布没有规律时,则称该矩阵为稀疏矩阵。在社区发现领域,稀疏矩阵会影响算法的效果和效率。因此,本申请使用相似度矩阵替代传统的属性矩阵,力求一定程度上解决属性矩阵稀疏的问题。为了叙述的方便,在本申请实施例中使用Y代表相似度矩阵。
参照图2,图2为本申请实施例提供的确定相似度矩阵的步骤流程图,该方法包括但不限于步骤S111-S114:
S111、获取社交网络中的用户信息;
具体地,社交网络中的用户信息包括用户节点和用户的属性信息,用户节点为社交网络中的账户信息;属性信息包括但不限于用户节点的工作地点、职称、研究兴趣等,获取社交网络中的以文本为载体的用户信息。
S112、对用户信息进行分词处理及去噪处理,确定各个节点的节点属性;
具体地,可以使用hanlp切词工具对用户信息进行分词处理,并对分词处理得到的结果进行去噪处理,去噪处理包括但不限于去除停用词、去重、统计并筛选高频词汇、去除敏感词等等,完成分词处理及去噪处理后,可以从用户信息中提取到多维的节点属性。
S113、根据节点属性,确定属性字典;
具体地,根据不同节点的属性,综合得到属性字典,属性字典中包含当前社交网络内所有节点的属性信息。
S114、根据节点属性和属性字典的相似度,确定相似度矩阵;
具体地,计算不同节点属性和属性字典的相似度,确定相似度矩阵,该相似度矩阵用于表征不同节点与属性字典的相似程度,因此,本步骤得到的相似度矩阵中均为非0元素,用该相似度矩阵代替传统的属性矩阵,可以有效解决矩阵稀疏问题,提高算法的运算效率。
通过步骤S111-S114,通过对用户信息进行分词、去噪处理,获得当前社交网络的属性字典,并根据不同节点的属性与属性字典的相似度,确定相似度矩阵。
上文已经对图2中确定相似度矩阵的步骤阐述完毕,下面开始阐述图1中的步骤S120。
S120、将拓扑矩阵分解为社区矩阵和第一矩阵的乘积,并确定第一损失函数;其中社区矩阵和第一矩阵互为转置矩阵;
具体地,上文中提到,节点之间的链接关系用拓扑矩阵X来存储。在机器学习中非负矩阵分解学习(Non-negative Matrix Factorization Learning)是应用最广泛的算法之一,该算法的主要思想是将原始矩阵分解成两个或多个矩阵乘积,分解后得到的矩阵的秩远低于原始矩阵的秩,秩的降低使得数据变得有效且紧凑,能高效地去掉无关信息,方便地发现数据潜在的特征和隐含的信息,在各种分类、聚类任务中应用广泛。因此,本申请实施例利用非负矩阵分解算法对拓扑矩阵X进行分解,以求使拓扑矩阵X的数据更紧凑。以下阐述对拓扑矩阵X进行非负矩阵分解的具体过程:
首先,将拓扑矩阵X转换为适用于社区发现的三分解形式,具体如下:
X≈PSPT
其中,P为社区矩阵,社区矩阵表征的是社交网络内节点的社区归属关系,通俗表述就是表示节点属于哪个社区;而S为节点归属社区的关系强度,通俗表述就是节点与该节点所属社区的关联性,是高还是低。PT为社区矩阵P的转置矩阵,称为第一矩阵。又由于上文已经提到,拓扑矩阵X为对称矩阵,因此,假设:
P=PS1/2
则对拓扑矩阵X的三分解形式化简可得如下表达式:
X≈PPT
再根据广泛应用于社区发现的非负矩阵分解损失函数,得到基于拓扑矩阵分解的损失函数,该损失函数称为第一损失函数F(P),表达式如下:
其中,“||||”表示范数,范数是一种矩阵范数,定义为一个矩阵所有元素平方和的开方,可以用来衡量两个矩阵之间的差异,即两个矩阵之间的欧氏距离。因此,若第一函数F(P)的值越小,则代表拓扑矩阵X和化简得到的矩阵PPT之间的欧式距离越小,则代表非负矩阵分解的效果越好。故第一损失函数应表达如下:
经过以上步骤,将拓扑矩阵X分解为社区矩阵P和第一矩阵的乘积,并确定了第一损失函数。
S130、将相似度矩阵分解为节点矩阵和第二矩阵的乘积,并确定第二损失函数;其中第二矩阵为属性矩阵的转置矩阵;
具体地,与上述步骤S120中对拓扑矩阵分解的过程类似,对相似度矩阵也进行非负矩阵分解。
首先,将相似度矩阵Y转换为适用社区发现的三分解形式,具体如下式:
Y≈QKQT
Q为节点矩阵,表征节点所属群落,节点矩阵Q与社区矩阵P的区别在于,节点矩阵只根据节点的属性信息,将节点划分为不同的类,为了和社区发现中的“社区”作区分,将节点矩阵Q表征的节点的不同“类”称为“群落”。QT为节点矩阵Q的转置矩阵;K为节点归属群落的关系强度,通俗表述就是节点与该节点所属群落的关联性,是高还是低。相似度矩阵Y并不是对称矩阵,假设一个属性矩阵W,并将该属性矩阵W的转置矩阵WT称为第二矩阵,作如下假设:
WT=KQT
W为属性矩阵,用于表征社交网络中的群落类型,通俗表述就是每一个群落的基本属性是什么,可以根据这些属性给群落命名,比如大数据群落、区块链群落等等。根据上式对相似度矩阵Y的三分解形式进行化简,得到下式:
Y≈QWT
再根据广泛应用于社区发现的非负矩阵分解损失函数,得到基于相似度矩阵分解的损失函数,该损失函数称为第二损失函数F(Q,W),表达式如下:
同理,若希望非负矩阵分解的效果越好,则第二损失函数的值应该越小,故第二损失函数应表达如下:
经过以上步骤,将相似度矩阵Y分解为节点矩阵Q和第二矩阵WT的乘积,并确定了第二损失函数。
S140、根据社区矩阵和节点矩阵的映射关系,确定转移矩阵,并确定第三损失函数;
具体地,通过步骤S100确定的拓扑矩阵X和通过步骤S110确定的相似度矩阵Y是相互独立的,为了将节点的拓扑关系和属性融合起来,本申请引入了马尔科夫链转移概率的思想。转移概率是马尔可夫链中的重要概念,若马氏链分为m个状态组成,历史资料转化为由这m个状态所组成的序列,从任意一个状态出发,经过任意一次转移,必然出现状态1、2、……,m中的一个,这种状态之间的转移称为转移概率。而转移概率对应的是转移矩阵,转移矩阵中各元素都是非负的,并且各行元素之和等于1,各元素用概率表示,在一定条件下是互相转移的,故称为转移概率矩阵。因此,在本申请中使用转移矩阵来将节点的拓扑关系和属性融合起来。
更具体地,本申请使用转移矩阵来表示节点矩阵Q与社区矩阵P之间映射关系,为了叙述方便,本申请用T来表示转移矩阵。假设节点从Qi转移到某个社区Pi的概率是Ti,i表示矩阵内的元素序号,那么可得到节点从节点矩阵Q到社区矩阵P的转移矩阵T,转移矩阵可有效融合两个矩阵之间的关系,并可以确定转移过程的损失函数,该损失函数称为第三损失函数F(P,T,Q),具体如下式:
另外,为增加基于转移概率模型的稳定性,根据每个节点从节点矩阵Q转移到社区矩阵P的概率应该最大的条件,将单位矩阵I作为其标准情况。
那么,第三损失函数为:
经过以上步骤,利用转移矩阵将节点矩阵Q和社区矩阵P融合起来,并确定了第三损失函数。
S150、根据第二矩阵和相似度矩阵反馈调节社区矩阵,并确定第四损失函数;
具体地,为了进一步加深节点的拓扑结构和节点的属性信息的联系,本申请还引入反馈调节机制,利用属性矩阵W反馈调节社区矩阵P,并确定反馈调节过程的损失函数,该损失函数称为第四损失函数F(W,P),具体如下式:
该第四损失函数也是越小越好,故第四损失函数为:
经过以上步骤,利用反馈调节将属性矩阵W和社区矩阵P融合起来,进一步加深了节点拓扑矩阵和属性的联系,并确定了第四损失函数。
S160、根据第一损失函数、第二损失函数、第三损失函数和第四损失函数,确定总损失函数;
具体地,根据上述矩阵分解、概率转移以及反馈调节过程,获得第一损失函数、第二损失函数、第三损失函数和第四损失函数,将得到的所有损失函数以累加的形式综合起来,得到总损失函数如下:
通过以上步骤,确定了总损失函数。
参照图3,图3为本申请实施例提供的基于融合属性的社区发现方法的架构示意图,如图3所示,拓扑矩阵X经过矩阵分解后得到社区矩阵P和第一矩阵,相似度矩阵Y经过矩阵分解后得到节点矩阵Q和属性矩阵W,根据转移矩阵T确定节点矩阵Q到社区矩阵P的映射关系,属性矩阵W和相似度矩阵Y作点乘,对社区矩阵P作反馈调节。
S170、根据总损失函数确定社区矩阵;并根据社区矩阵确定社交网络的社区结构;
具体地,通过求解总损失函数,确定社区矩阵P,上文中提到,社区矩阵P用于表征社交网络内节点的社区归属关系,因此确定了社区矩阵后可以确定该社交网络的社区结构。
更具体地,本步骤S170包括求解总损失函数的步骤。针对非负矩阵全局求最优解难的问题,本文使用最大最小化框架(Majorization-Minimization)对总损失函数进行求解,该框架核心思想是在目标函数J(x)比较难优化的时候,寻找另外一个更容易优化的目标函数G(x),当G(x)满足一定条件时,G(x)的最优解能够无限逼近J(x)的最优解。本申请实施例中,在该框架下,总目标函数的优化问题被分解成:固定社区矩阵P、节点矩阵Q、属性矩阵W,求解转移矩阵T;固定转移矩阵T、节点矩阵Q、属性矩阵W求社区矩阵P;固定转移矩阵T、社区矩阵P、属性矩阵W求节点矩阵Q;固定转移矩阵T、节点矩阵Q、社区矩阵P求属性矩阵W。这些矩阵互相影响,迭代更新,下面对求解总损失函数的过程详细展开叙述。
首先,对总损失函数进行化简,具体化简的公式如下:
其中,“tr”表示矩阵的迹。针对社区矩阵P,在总损失函数上提取包含社区矩阵P的部分,并固定其他矩阵,根据以上化简公式对总损失函数化简后得到关于社区矩阵P的函数L(P),L(P)如下式所示:
L(P)=tr(XTX-XTPPT-PPTX+PPTPPT)+tr(TTQTQT-TTQTP-PTQT+PTP)+tr(WTYTYW-WTYTP-PTYW+PTP)
对L(P)求导得:
同理,参照上述步骤,可以得到关于节点矩阵Q的函数L(Q),L(Q)如下式所示:
L(Q)=tr(YTY-YTQWT-WQTY+WQTQWT)+tr(TTQTQT-TTQTP-PTQT+PTP)
对L(Q)求导得:
同理,参照上述步骤,可以得到关于属性矩阵W的函数L(W),L(W)如下式所示:
L(W)=tr(YTY-YTQW-WQTY+WQTQWT)+tr(WTYTYW-WTYTP-PTYW+PTP)
对L(W)求导得:
同理,参照上述步骤,可以得到关于转移矩阵T的函数L(T),L(T)如下式所示:
L(T)=tr(TTQTQT-TTQTP-PTQT+PTP)+tr(I-T-TT+TTT)
对L(T)求导得:
得到关于各个矩阵的函数后,使用梯度下降法得到每个矩阵的迭代公式,以下公式中i和j表示矩阵中元素的位置。
社区矩阵P的迭代公式为pij,pij如下所示:
节点矩阵Q的迭代公式为qij,qij如下所示:
属性矩阵W的迭代公式为wij,wij如下所示:
转移矩阵T的迭代公式为tij,tij如下所示:
根据最大最小化框架,需要对得到的各个迭代公式进行迭代更新,使当前求解的矩阵无限逼近其最优解。下面阐述迭代更新的具体步骤。
首先,设置多个迭代更新次数n,迭代更新次数应该以等差数列分布较佳,分析在社区数量k不变时,迭代次数变化时所引起的社区变化情况,当社区变化基本稳定时,记录下此时的n值。重新设定k值,并重复以上的迭代过程。
根据社区划分结果的质量,对比出最佳的n与k的值。假设当前社交网络的社区数量K,则可以确定对应的最佳迭代次数N,并设置循环使上述社区矩阵P、节点矩阵Q、属性矩阵W以及转移矩阵T各自迭代更新N次,得到迭代更新后的社区矩阵P,此时的社区矩阵P的值为当前社交网络下的最优解。因此,通过比较社区矩阵P中元素值的大小,就可以得到每一个节点所属的社区,确定当前社交网络的社区结构,完成社区发现。
通过步骤S100-S170,本申请实施例首先根据社交网络中节点的连接关系确定拓扑矩阵,根据节点的属性确定相似度矩阵,利用非负矩阵分解的思想将拓扑矩阵分解为更低秩的社区矩阵和第一矩阵的乘积,将相似度矩阵分解为节点矩阵和第二矩阵的乘积,并根据矩阵分解的情况确定第一损失函数和第二损失函数。然后,根据社区矩阵和节点矩阵的映射关系确定转移矩阵,并确定转移过程的第三损失函数;并利用第二矩阵和相似度矩阵反馈调节社区矩阵,进一步加深节点拓扑结构和属性的融合度,确定反馈过程的第四损失函数;最后根据第一损失函数至第四损失函数确定本社区发现算法的总损失函数,并根据总损失函数确定社区矩阵,从而确定本社区网络的社区结构。本申请实施例引入马尔科夫链转移概率思想,利用转移矩阵将独立的节点拓扑结构和节点属性融合起来,并利用节点属性相关的矩阵反馈调节社区矩阵,进一步提高节点结构和节点属性的融合度,本申请实施例的方法能在不同社交网络中灵活地融合节点的属性和节点间的拓扑信息,具有较强的鲁棒性。另外,本申请实施例使用相似度矩阵代替传统的属性矩阵,有效解决属性矩阵稀疏的问题。
参照图4,图4为本申请实施例提供的基于融合属性的社区发现系统的示意图,该系统400包括矩阵获取模块410、第一分解模块420、第二分解模块430、转移模块440、反馈模块450、损失计算模块460以及社区发现模块470。矩阵获取模块用于根据社交网络的节点链接关系确定拓扑矩阵,以及用于根据社交网络的节点属性确定相似度矩阵;第一分解模块用于将拓扑矩阵分解为社区矩阵和第一矩阵的乘积,并确定第一损失函数;其中社区矩阵和第一矩阵互为转置矩阵;第二分解模块用于将相似度矩阵分解为节点矩阵和第二矩阵的乘积,并确定第二损失函数;其中第二矩阵为属性矩阵的转置矩阵;转移模块用于根据社区矩阵和节点矩阵的映射关系,确定转移矩阵,并确定第三损失函数;反馈模块用于根据第二矩阵、相似度矩阵和社区矩阵,确定第四损失函数;损失计算模块用于根据第一损失函数、第二损失函数、第三损失函数和第四损失函数,确定总损失函数;社区发现模块用于根据总损失函数的局部最优解,确定属性矩阵和社区矩阵;并根据属性矩阵和社区矩阵,确定社交网络的社区结构。
参考图5,图5为本申请实施例提供的一种装置,该装置500包括至少一个处理器510,还包括至少一个存储器520,用于存储至少一个程序;图5中以一个处理器及一个存储器为例。
处理器和存储器可以通过总线或者其他方式连接,图5中以通过总线连接为例。
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至该装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
本申请的另一个实施例还提供了一种装置,该装置可用于执行如上任意实施例中的控制方法,例如,执行以上描述的图1中的方法步骤。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
本申请实施例还公开了一种计算机存储介质,其中存储有处理器可执行的程序,其特征在于,处理器可执行的程序在由处理器执行时用于实现本申请提出的基于融合属性的社区发现方法。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统可以被实施为软件、固件、硬件及其适当的组合。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
以上是对本申请的较佳实施进行了具体说明,但本申请并不局限于上述实施方式,熟悉本领域的技术人员在不违背本申请精神的前提下还可作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。
Claims (8)
1.一种基于融合属性的社区发现方法,其特征在于,包括:
根据社交网络的节点链接关系确定拓扑矩阵;
根据所述社交网络的节点属性确定相似度矩阵;
将所述拓扑矩阵分解为社区矩阵和第一矩阵的乘积,并确定第一损失函数;其中所述社区矩阵和所述第一矩阵互为转置矩阵;
所述第一损失函数表达为:
式中,min用于求取最小值,F(P)为第一损失函数,X为拓扑矩阵,P为社区矩阵,PT为第一矩阵,“||||”表示范数;
将所述相似度矩阵分解为节点矩阵和第二矩阵的乘积,并确定第二损失函数;其中所述第二矩阵为属性矩阵的转置矩阵;
所述第二损失函数表达为:
式中,F(Q,W)为第二损失函数,Y为相似度矩阵,Q为节点矩阵,W为属性矩阵,WT为第二矩阵;
根据所述社区矩阵和所述节点矩阵的映射关系,确定转移矩阵,并确定第三损失函数;
所述第三损失函数表达为:
式中,F(P,T,Q)为第三损失函数,I为单位矩阵,T为社区矩阵P的转移矩阵;
根据所述属性矩阵和所述相似度矩阵反馈调节所述社区矩阵,并确定第四损失函数;
所述第四损失函数表达为:
式中,F(W,P)为第四损失函数;
根据所述第一损失函数、第二损失函数、第三损失函数和第四损失函数,确定总损失函数;
所述总损失函数表达为:
根据所述总损失函数确定所述社区矩阵;并根据所述社区矩阵确定所述社交网络的社区结构;
所述根据所述社交网络的节点属性确定相似度矩阵,包括:
获取所述社交网络中的用户信息;
对所述用户信息进行分词处理及去噪处理,确定各个所述节点的节点属性;
根据所述节点属性,确定属性字典;
根据所述节点属性和所述属性字典的相似度,确定所述相似度矩阵。
2.根据权利要求1所述的基于融合属性的社区发现方法,其特征在于,所述根据所述总损失函数确定所述社区矩阵;并根据所述社区矩阵确定所述社交网络的社区结构,包括:
根据所述总损失函数确定所述社区矩阵的迭代公式;
根据预设好的迭代次数以及所述社区矩阵的迭代公式确定所述社区矩阵;
根据所述社区矩阵确定所述社交网络的社区结构。
3.根据权利要求1所述的基于融合属性的社区发现方法,其特征在于,所述确定第四损失函数的步骤,包括:
将所述属性矩阵和所述相似度矩阵,确定第三矩阵;其中所述第三矩阵为所述属性矩阵和所述相似度矩阵点乘的结果;
根据所述第三矩阵和所述社区矩阵,确定所述第四损失函数。
4.根据权利要求1或2任一项所述的基于融合属性的社区发现方法,其特征在于,使用最大最小化框架求解出所述总损失函数的局部最优解。
5.根据权利要求1所述的基于融合属性的社区发现方法,其特征在于,所述根据所述社区矩阵和所述节点矩阵的映射关系,确定转移矩阵,包括:
根据任一节点从所述节点矩阵中转移到所述社区矩阵的概率,确定所述转移矩阵。
6.一种基于融合属性的社区发现系统,其特征在于,包括:
矩阵获取模块,用于根据社交网络的节点链接关系确定拓扑矩阵,以及用于根据所述社交网络的节点属性确定相似度矩阵;
第一分解模块,用于将所述拓扑矩阵分解为社区矩阵和第一矩阵的乘积,并确定第一损失函数;其中所述社区矩阵和所述第一矩阵互为转置矩阵;
所述第一损失函数表达为:
式中,min用于求取最小值,F(P)为第一损失函数,X为拓扑矩阵,P为社区矩阵,PT为第一矩阵,“||||”表示范数;
第二分解模块,用于将所述相似度矩阵分解为节点矩阵和第二矩阵的乘积,并确定第二损失函数;其中所述第二矩阵为属性矩阵的转置矩阵;
所述第二损失函数表达为:
式中,F(Q,W)为第二损失函数,Y为相似度矩阵,Q为节点矩阵,W为属性矩阵,WT为第二矩阵;
转移模块,用于根据所述社区矩阵和所述节点矩阵的映射关系,确定转移矩阵,并确定第三损失函数;
所述第三损失函数表达为:
式中,F(P,T,Q)为第三损失函数,I为单位矩阵,T为社区矩阵P的转移矩阵;
反馈模块,用于根据所述属性矩阵、所述相似度矩阵和所述社区矩阵,确定第四损失函数;
所述第四损失函数表达为:
式中,F(W,P)为第四损失函数;
损失计算模块,用于根据所述第一损失函数、第二损失函数、第三损失函数和第四损失函数,确定总损失函数;
所述总损失函数表达为:
社区发现模块,用于根据所述总损失函数的局部最优解,确定所述属性矩阵和所述社区矩阵;并根据所述属性矩阵和所述社区矩阵,确定所述社交网络的社区结构;
所述根据所述社交网络的节点属性确定相似度矩阵,包括:
获取所述社交网络中的用户信息;
对所述用户信息进行分词处理及去噪处理,确定各个所述节点的节点属性;
根据所述节点属性,确定属性字典;
根据所述节点属性和所述属性字典的相似度,确定所述相似度矩阵。
7.一种基于融合属性的社区发现装置,其特征在于,包括:
至少一个处理器;
至少一个存储器,用于存储至少一个程序;
当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现如权利要求1-5中任一项所述的基于融合属性的社区发现方法。
8.一种计算机存储介质,其中存储有处理器可执行的程序,其特征在于,所述处理器可执行的程序在由所述处理器执行时用于实现如权利要求1-5任一项所述的基于融合属性的社区发现方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110460559.2A CN113158080B (zh) | 2021-04-27 | 2021-04-27 | 基于融合属性的社区发现方法、系统、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110460559.2A CN113158080B (zh) | 2021-04-27 | 2021-04-27 | 基于融合属性的社区发现方法、系统、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113158080A CN113158080A (zh) | 2021-07-23 |
CN113158080B true CN113158080B (zh) | 2023-07-11 |
Family
ID=76871600
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110460559.2A Active CN113158080B (zh) | 2021-04-27 | 2021-04-27 | 基于融合属性的社区发现方法、系统、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113158080B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108334580A (zh) * | 2018-01-25 | 2018-07-27 | 重庆邮电大学 | 一种结合链接和属性信息的社区发现方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150187024A1 (en) * | 2013-12-27 | 2015-07-02 | Telefonica Digital España, S.L.U. | System and Method for Socially Aware Recommendations Based on Implicit User Feedback |
-
2021
- 2021-04-27 CN CN202110460559.2A patent/CN113158080B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108334580A (zh) * | 2018-01-25 | 2018-07-27 | 重庆邮电大学 | 一种结合链接和属性信息的社区发现方法 |
Non-Patent Citations (1)
Title |
---|
一种融合节点与链接属性的社交网络社区划分算法;李孝伟;陈福才;刘力雄;;计算机应用研究(05);第1477-1480页 * |
Also Published As
Publication number | Publication date |
---|---|
CN113158080A (zh) | 2021-07-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10846052B2 (en) | Community discovery method, device, server and computer storage medium | |
CN106600067B (zh) | 多维立方体模型的优化方法和装置 | |
CN112307762B (zh) | 搜索结果的排序方法及装置、存储介质、电子装置 | |
CN111159483B (zh) | 一种基于张量计算的社交网络图摘要的生成方法 | |
CN114579584B (zh) | 数据表处理方法、装置、计算机设备和存储介质 | |
CN112906873A (zh) | 一种图神经网络训练方法、装置、电子设备及存储介质 | |
Ahmed et al. | DGStream: High quality and efficiency stream clustering algorithm | |
Kadavankandy et al. | The power of side-information in subgraph detection | |
Lawrence et al. | Explaining neural matrix factorization with gradient rollback | |
CN115577283A (zh) | 一种实体分类方法、装置、电子设备及存储介质 | |
CN115098882A (zh) | 基于增量学习的本地差分隐私的多维数据发布方法及系统 | |
CN110781943A (zh) | 一种基于毗邻网格搜索的聚类方法 | |
Zhou et al. | Communication-efficient and Byzantine-robust distributed learning with statistical guarantee | |
CN113158080B (zh) | 基于融合属性的社区发现方法、系统、装置及存储介质 | |
CN113821657A (zh) | 基于人工智能的图像处理模型训练方法及图像处理方法 | |
CN111865690A (zh) | 基于网络结构和时序的机会网络链路预测方法 | |
Zhang et al. | Clustering optimization algorithm for data mining based on artificial intelligence neural network | |
Singh et al. | Performance analysis on clustering approaches for gene expression data | |
Kazemi et al. | FEM-DBSCAN: AN efficient density-based clustering approach | |
Dhoot et al. | Efficient Dimensionality Reduction for Big Data Using Clustering Technique | |
Torkkola | Information-theoretic methods | |
Li et al. | Discrete knowledge graph embedding based on discrete optimization | |
CN112990364B (zh) | 一种图数据节点分类方法及装置 | |
Bo | Homogeneous Graph Neural Networks | |
Zhang | Large data oriented to image information fusion spark and improved fruit fly optimization based on the density clustering algorithm |
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 |