基于人工智能的社区发现方法技术

技术编号:22914537 阅读:28 留言:0更新日期:2019-12-24 21:57
本发明专利技术提供了一种基于人工智能的社区发现方法,该方法包括:以用户节点为顶点,社交关系为边,建立社交网络图;将随时间变化的社交网络图组成时间演进网络;对所述时间演进网络进行划分,确定关键时间点;将不同时间段下子网络的编码代价进行累加,得到时间演进网络的编码代价;通过最小化所述编码代价,将社交网络分解成同质分区。本发明专利技术提出了一种基于人工智能的社区发现方法,在面对具有链路缺失或具有噪声数据的网络时,有效降低了网络突变和累加误差对社区发现精度的影响,不仅考虑节点直接邻居的影响,还考虑间接邻居的影响,从而降低算法对邻域阈值参数的敏感性,有效提高社区归属结果的准确性。

【技术实现步骤摘要】
基于人工智能的社区发现方法
本专利技术涉及大数据,特别涉及一种基于人工智能的社区发现方法。
技术介绍
社交网络中用户由于共同的兴趣和社会属性而结成社区。社区通常由功能相近或性质相似的网络节点组成,在一定程度上反映了用户自发行为背后的局部弱规则性和全局有序性。对社交网络的社区结构的发现识别有助于揭示相互关联的用户如何形成复杂的社会网络,而且具有很多的实用价值,例如通过发现网络中的社区获取具有共同偏好兴趣或相似社会背景的群体。目前大部分社区发现技术都是面向自动社区发现问题,即根据网络结构,通过算法自动地发现网络中的社区,是一种无监督的方法。但自动算法通常存在两个重要的问题:用户获得的网络包含了大量包括错误连接在内的噪声数据,网络连接通常也是不完全的,自动社区发现的性能此时会大大下降,很难有效地识别网络中的真实社区结构;而且通过近似优化方法最大化模块度来发现社区,即使模块度值差得很小,也可能导致差异非常大的社区划分,不能得到一个最优的划分结果,更难以发现特定情境下满足特定需求的社区结构。
技术实现思路
为解决上述现有技术所存在的问题,本专利技术提出了一种基于人工智能的社区发现方法,包括:以用户节点为顶点,社交关系为边,建立社交网络图;将随时间变化的社交网络图组成时间演进网络;对所述时间演进网络进行划分,确定关键时间点;将不同时间段下子网络的编码代价进行累加,得到时间演进网络的编码代价;通过最小化所述编码代价,将社交网络分解成同质分区。优选地,所述对所述时间演进网络进行划分,进一步包括:对时间演进网络进行结构划分,将类型相同的用户节点划分到一个子集,结构相同的社交网络划分到一个子网络。优选地,所述以用户节点为顶点,进一步包括:将用户组成的社交网络顶点集V分割为两个子集子集I为消息创建用户集合,子集J为消息转发用户集合。优选地,所述将类型相同的用户节点划分到一个子集,进一步包括:将消息创建用户集合I中m个消息创建用户划分到k(1≤k≤m)个子集,第p(1≤p≤k)个子集用Ip表示,p≠p',有且∪pItp=I,记Itp为t时刻的一个创建用户子集,t时刻创建用户子集表示为It={It1,…,Itp,…,Itk};将n个消息转发用户划分到l(1≤l≤n)个子集,第q(1≤q≤l)个子集用Jtq表示,q≠q',有且∪qJtq=J,记Jtq为t时刻的一个转发用户子集,t时刻转发用户子集表示为Jt={Jt1,…,Jtq,…,Jtl}。优选地,用邻接矩阵表示分割集Gtp,q=(Itp,Jtq,Etp,q),行表示消息创建用户,列表示消息转发用户,用户间存在社交关系用1表示,不存在用0表示;若该矩阵非0元素比例大于预设阈值,则确定TRtx={Itp,Jtq}(1≤x≤max{k,l})为t时刻的一个社区。本专利技术相比现有技术,具有以下优点:本专利技术提出了一种基于人工智能的社区发现方法,在面对具有链路缺失或具有噪声数据的网络时,有效降低了网络突变和累加误差对社区发现精度的影响,不仅考虑节点直接邻居的影响,还考虑间接邻居的影响,从而降低算法对邻域阈值参数的敏感性,有效提高社区归属结果的准确性。附图说明图1是根据本专利技术实施例的基于人工智能的社区发现方法的流程图。具体实施方式下文与图示本专利技术原理的附图一起提供对本专利技术一个或者多个实施例的详细描述。结合这样的实施例描述本专利技术,但是本专利技术不限于任何实施例。本专利技术的范围仅由权利要求书限定,并且本专利技术涵盖诸多替代、修改和等同物。在下文描述中阐述诸多具体细节以便提供对本专利技术的透彻理解。出于示例的目的而提供这些细节,并且无这些具体细节中的一些或者所有细节也可以根据权利要求书实现本专利技术。本专利技术的一方面提供了一种基于人工智能的社区发现方法。图1是根据本专利技术实施例的基于人工智能的社区发现方法流程图。在用户交互过程中,用户节点之间的社交关系形成一个社交网络图。用户为网络中的顶点,其集合记为V;用户间社交关系为网络中的边,其集合记为E。将社交网络顶点集V分割为两个子集子集I为消息创建用户集合,子集J为消息转发用户集合,则社交网络可表示为图G=(I,J,E)。记用户ai与bj间的社交关系为eij,eij∈E,有ai∈I,bj∈J,考虑基于网络进化的时间信息T={1,2,…,t,…},t是社交网络的时间标识。设时刻t下的社交网络为Gt,则不同时刻社交网络的集合称为时间演进网络,记为F={G1,G2,…,Gt,…}。为进一步描述社交网络结构随时间的进化,对时间演进网络进行结构划分,将类型相同的用户节点划分到一个子集,结构相同的社交网络划分到一个子网络,若消息创建用户集合I中有m个消息创建用户,消息转发用户集合J中有n个消息转发用户。将消息创建用户集合I中m个消息创建用户划分到k(1≤k≤m)个子集,第p(1≤p≤k)个子集用Ip表示,p≠p',有且∪pItp=I,则称Itp为t时刻的一个创建用户子集,t时刻创建用户子集表示为It={It1,…,Itp,…,Itk}。同理,将n个消息转发用户划分到l(1≤l≤n)个子集,第q(1≤q≤l)个子集用Jtq表示,q≠q',有且∪qJtq=J,则称Jtq为t时刻的一个转发用户子集,t时刻转发用户子集表示为Jt={Jt1,…,Jtq,…,Jtl}。记Etp,q为连接Itp与Jtq中用户节点的社交关系集,称Gtp,q=(Itp,Jtq,Etp,q)为一个分割集。用邻接矩阵表示分割集Gtp,q,行表示消息创建用户,列表示消息转发用户,用户间存在社交关系用1表示,不存在用0表示。若该矩阵非0元素比例大于预设阈值,则称TRtx={Itp,Jtq}(1≤x≤max{k,l})为t时刻的一个社区,社区用集合表示为TRt={TRt1,…,TRtx,…,TRtmax{k,l}}。设T(s)={ts,ts+1,…,ts+1-1}为第s个时段,T(s)所对应的社交网络集合为若对于时刻t≠t',在Gt和Gt'中,有It=It',Jt=Jt',即F(s)中每个社交网络的创建用户子集和转发用户子集相同,则称F(s)为第s个社交子网络,ts为关键时间点。记F(s)中创建用户子集为I(s),转发用户子集为J(s),社区集合为TR(s)。通过分析时间演进网络F的进化结构,识别关键时间点ts和不同时段下的用户社区的TR(s),发现用户社区的稳定结构及其变化情况。社交网络进化问题求解过程中,对多种可能解所构成的网络进化模型进行编码,通过聚类算法搜索最优解。首先将时间演进网络转化为社交关系矩阵,然后对其编码,构建编码代价函数。通过对用户进行分组来划分社交网络,将结构相同的社交网络组成子网络,从而压缩编码,发现不同时间段下社区的稳定结构。对社交网络的编码即将一个含有m个消息创建用户和n个消息转发用户的社交网络转化为社交关系矩阵来描述。行表示消息创建用户,列表示消息转发用户,用户间存在社交关系用1表示,不存在用0表示。然后将该矩阵元素逐行串行化排列,得到社本文档来自技高网...

【技术保护点】
1.一种基于人工智能的社区发现方法,其特征在于,包括:/n以用户节点为顶点,社交关系为边,建立社交网络图;/n将随时间变化的社交网络图组成时间演进网络;对所述时间演进网络进行划分,确定关键时间点;/n将不同时间段下子网络的编码代价进行累加,得到时间演进网络的编码代价;/n通过最小化所述编码代价,将社交网络分解成同质分区。/n

【技术特征摘要】
1.一种基于人工智能的社区发现方法,其特征在于,包括:
以用户节点为顶点,社交关系为边,建立社交网络图;
将随时间变化的社交网络图组成时间演进网络;对所述时间演进网络进行划分,确定关键时间点;
将不同时间段下子网络的编码代价进行累加,得到时间演进网络的编码代价;
通过最小化所述编码代价,将社交网络分解成同质分区。


2.根据权利要求1所述的方法,其特征在于,所述对所述时间演进网络进行划分,进一步包括:
对时间演进网络进行结构划分,将类型相同的用户节点划分到一个子集,结构相同的社交网络划分到一个子网络。


3.根据权利要求2所述的方法,其特征在于,所述以用户节点为顶点,进一步包括:
将用户组成的社交网络顶点集V分割为两个子集子集I为消息创建用户集合,子集J为消息转发用户集合。


4.根据权利要求3所述的方法,其特征在于,所述将类型...

【专利技术属性】
技术研发人员:马涛
申请(专利权)人:成都威嘉软件有限公司
类型:发明
国别省市:四川;51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1