一种异构网络可交互可视化方法

文档序号:6619723阅读:534来源:国知局
一种异构网络可交互可视化方法
【专利摘要】本发明公开了一种异构网络可交互可视化方法。本方法为:1)对异构网络中的节点按照节点属性的取值进行聚类,并生成相应的聚类网络可视化图;2)对所选聚类结果中的每一节点,计算该节点的邻居节点集合;然后按照邻居节点集合节点属性值对所选聚类结果中的每一节点进行聚类;并生成聚类可视化图作为下一级可视图;3)选取步骤2)的若干聚类结果,对所选聚类结果中的每一节点根据其邻居节点集合进行聚类,将具有相同邻居节点集合的节点划分到同一聚类中;然后将此次聚类结果生成聚类可视化图并将其作为步骤2)所生成聚类网络可视化图的下一级可视图。本发明结合了拓扑和属性信息,使用户能够用更细的粒度进行更低层级的查看。
【专利说明】-种异构网络可交互可视化方法 【技术领域】
[〇〇〇1] 本发明涉及聚类分析、异构网络、数据挖掘、拓扑结构分析、大型数据网络可视化 分析等领域,提出了一种基于异构网络节点属性及网络拓扑结构相结合的处理大型异构网 络数据的方法。该方法适用于社会化网络、计算机网络、传感器网络及知识网络等典型信息 网络数据。是一种可以进行交互分析的可视化展示方法。 【背景技术】
[0002] 大数据时代的到来,在短时间内产生了复杂多变的大型数据网络,很多人开始针 对这些量大、质杂的网络数据进行分析和深入研究。这些数据网络中,一些是在网络节点上 具有不同属性特征的网络类型,一些是拓扑结构和关联关系复杂的网络类型。本发明所指 的异构网络数据主要指同时具有以上两种特征的网络,即由一些具有不同属性、类型的数 据节点所构成的较为复杂的关系/关联网络。当前,已有一些研究是针对异构网络数据进 行聚类分析。主要是根据网络数据上节点所具有的不同属性,进行聚类可视化分析。同时, 网络拓扑结构主要指数据节点和数据节点之间因为某种关联关系而相互联系形成的网络, 基于网络拓扑结构的聚类分析也较为常见,如图聚类、谱聚类方法。
[0003] 在可视化研究领域,大部分的网络数据可视化研究均集中于网络拓扑结构的可视 化。随着web2. 0时代的到来,数据量不断的增加,网络数据的形式已经发生了很大的改变。 现有的一些数据网络很多的结点及他们的边都拥有了属性,对于这种具有属性的异构网络 可视化,现在仍很少有研究。并且,已知的方法均不能结合网络节点属性及拓扑结构进行联 合分析,不能同时基于此两类信息实现可视化展示与分析。例如,Wattenberg对异构网络 的可视化分析进行了研究。但是,他仅仅利用了网络节点属性实现可视化,并没有针对以上 两种异构网络信息进行二者相结合的可视化研究。
[0004] 具体说来,针对这一类的大型异构网络数据可视化的研究问题如下:
[0005] 1)现有的异构网络数据可视化聚类分析研究,有一些是基于网络节点属性数据的 聚类分析,一些是基于网络拓扑结构数据的聚类分析,聚类分析方法仅采用网络拓扑结构 或节点属性的单一来源,不能实现结合两类数据类型同时进行聚类分析。.例如,在包含"论 文、作者、会议/期刊"三类节点的学术异构网络中,已有可视化分析方法不能直观展示"哪 些作者的合作者发表了更多的高/中/低引用论文,哪些作者发表的论文有近似的引用率 分布"等探索式问题。
[0006] 现有的大型异构网络数据可视化聚类分析研究,可根据网络节点属性或拓扑结 构,生成一定数目的网络节点聚类。然而,这两种方法的聚类结果颗粒度或过于粗糙以至于 丢失大量网络细节(如基于节点属性的方法将整个网络压缩为几个节点聚类,对应节点属 性的几个取值),或过于细密因此难以布局和展示(如基于网络结构的聚类)。虽然已有一 些方法可以聚类数目为输入(如图分割方法),然而用户难以控制并理解聚类结果,且不能 支持用户自定义的自顶向下可视化浏览分析过程。
【发明内容】

[0007] 针对上述大型异构网络数据的分析问题,本发明的目的在于提出一种异构网络可 交互可视化方法。本发明提供了可以解决上述问题的可视数据分析方法以及其可视化实现 形式--洋葱图。这是一种可以根据任意节点本身的属性、拓扑关系,或是两类信息的混合 来进行聚类分析及可视化展示的大型异构网络数据分析方法。各网络结点或节点聚类都可 以灵活的根据属性或拓扑关系进行二次拆分或聚类。在可视化展现上,网络节点根据所在 的聚类层级的不同,用多个同心圆来显示,形象如同一个被切开的洋葱。因此,我们的方法 以洋葱图命名。
[0008] 本发明基于国家 973 科技项目(Supportedby the National Basic Research Program of China under Grant No. 2014CB340301)和国家自然科学基金(the National Science Foundation of China (NSFC)under Grant No. 61379088)的支持,通过分析网络 数据的属性特征及拓扑关系,将大型异构网络数据压缩成分层次的网络节点聚类,提供直 观的可视化形式(洋葱图)展示所计算的网络节点聚类及聚类之间的关系,并通过简单、易 用的交互形式来指引用户分层浏览并可视化分析大型异构网络数据的聚类结果。特别地, 本方法支持用户按照自己的分析需求,选择特定的异构网络局部数据,并从将所选择的某 个层次的网络节点聚类,继续按照分析需求逐层放大(向较低层次聚类)或合并(向较低 层次聚类)。通过在同一异构网络可视化视图种展示不同层次的聚类粒度,实现用户关注的 局部异构网络数据的详细关联分析。
[0009] 在具体实现中,本方法通过界面的按钮及常见的鼠标操作实现上述交互,支持用 户按需浏览分析大型异构网络数据:用户既可看到较高层次聚类状态下清晰可见的按照节 点属性不同取值聚类的少数几个节点集合,也可通过交互将可视化视图展开为成千上万的 较低聚类层次状态下的异构网络数据聚类分布及关联关系。
[〇〇1〇] 为了实现上述目的,本发明所采用的技术方案是:
[〇〇11] 一种异构网络可交互可视化方法,其步骤为:
[〇〇12] 1)对待处理异构网络中的节点按照选取或设定的节点属性的取值进行聚类,并生 成相应的聚类网络可视化图;
[0013] 2)选取步骤1)的若干聚类结果,并对所选聚类结果中的每一节点,根据该异构网 络的拓扑结构计算该节点的邻居节点集合;然后按照选取或设定的邻居节点集合节点属性 值对所选聚类结果中的每一节点进行聚类;得到的聚类结果中,位于同一聚类中的节点具 有节点属性值相同且在异构网络中的拓扑位置相似;然后将此次聚类结果生成聚类可视化 图并将其作为步骤1)聚类网络可视化图的下一级可视图;
[0014] 3)选取步骤2)的若干聚类结果,并对所选聚类结果中的每一节点,根据其邻居节 点集合进行聚类,将具有相同邻居节点集合的节点划分到同一聚类中;得到的聚类结果中, 位于同一聚类中的节点具有节点属性值相同且在异构网络中的拓扑位置相同;然后将此 次聚类结果生成聚类可视化图并将其作为步骤2)所生成聚类网络可视化图的下一级可视 图。
[0015] 进一步的,所述异构网络为有向异构网络G = (V,E);其中,V = {vp . . .,vj表示 网络节点集合,E = {θι,. . .,ej表示网络边集合;异构网络的邻接矩阵为W,其中的元素 Wij 代表连接节点Vi到节点ν」的边;对于每个节点VpN+Gi) = {ν」|wij = 1}代表节点Vi的出 向邻居节点集合,『(Vi) = {Vj I Wji = 1}为节点Vi的入向邻居节点集合。
[0016] 进一步的,所述步骤2)或步骤3)中的聚类方法为:
[0017] 31)将节点Vi的邻居节点集合表示为一个邻居向量R(Vi)= {c n,· · ·,cit,cn,· · ·,cti};其中,cit为节点Vi的第t个出向邻居节点,cti为节点Vi的第t 个入向邻居节点;
[0018] 32)对于所有需要划分的网络节点,按照其邻居节点集合的向量计算两两节点之 间的节点近似度距离;
[0019] 33)根据计算出的节点间相似度距离及期望聚类数目,将节点划分为k个聚类。
[0020] 进一步的,将每一节点采用一统一行向量表示;所述统一行向量包括:节点属性 信息及取值、节点的邻居信息及邻居属性取值;每次聚类时计算节点的统一行向量的哈希 值,将哈希值相同的节点划分为同一聚类;其中,进行步骤1)的聚类时,节点的统一行向量 包含节点属性信息及取值,其他取值为空;进行步骤2)的聚类时,节点的统一行向量包含 节点属性信息及取值、节点的邻居属性取值;步骤3)的聚类时,节点的统一行向量包含节 点属性信息及取值、节点的邻居信息。
[0021] 进一步的,将待处理的该异构网络生成可视化图作为第一级可视图,步骤1)所生 成的聚类网络可视化图为该第一级可视图的下一级可视图;将步骤3)每一聚类结果中的 节点生成一可视化图并将其作为步骤3)所生成聚类网络可视化图的下一级可视图,即最 小粒度可视图。
[0022] 进一步的,根据选取或设定的进行聚类的属性值不同,在同一级可视化图内包含 一种或多种粒度的下一级可视化图。
[0023] 进一步的,在每一聚类之间的连接关系上标记该聚类间关系所包含的原始异构网 络节点间关系的总数作为该聚类间连接关系的连接强度。
[0024] (1)本发明的实现原理概述
[0025] 主要采用异构网络数据节点属性结合拓扑结构的分层聚类分析方法:在较高层 次,按节点属性取值聚类,主要支持从全局查看整个大型异构网络的宏观关联情况;在较 低层次,在节点属性基础上加入网络拓扑信息,并按此混合信息对已有聚类进行二次聚类, 每个原有聚类可分为若干个子聚类。同时,利用可视化交互支持用户从较低层次聚类过渡 到较低层次聚类,以查看更多网络关联细节信息。这里涉及的分层结构的主要目标是要保 证每一较低层次展示的信息都比它的上一个层次包含更多信息,同时展示的内容也更加复 杂。
[0026] 现有的网络数据可视化方法也可实现某种分层聚类效果。但是,他们仅仅采用网 络拓扑结构数据或只采用网络节点属性,而我们的方法可结合异构网络中的这两种数据类 型。而且,已有的分层聚类方法都是预先假定了一个层次结构,用户只能根据已有的聚类路 径进行浏览,而不能根据用户特定需求,实现在线的二次聚类并完成可视化分析。已有分层 聚类算法对输入参数非常敏感,不利于交互查看,用户也难以理解交互分析操作所得的可 视化结果的真实含义。
[0027] 相比之下,我们提出的洋葱图分层结构及可视化方法利用了更为合理、综合的聚 类算法,可结合网络拓扑结构及节点属性,并对各个分层结构的结果进行了明确地定义,算 法基本不需核心参数输入。用户可以很清晰的知道自己的每一步交互操作对应数据分析上 的含义。用户也可以根据不同的异构网络数据特征和需求来进行分层可视化展示。
[0028] 洋葱图方法内建了局部网络展开和全局数据过滤两种数据操作方法,可以利用局 部网络方法,将分层网络数据从高层次展开到更低一级别层次。通过全局过滤操作,用户可 以根据网络节点上的不同属性值,来过滤掉不是很重要的细节网络数据。这样,就可以更加 清晰的展现分析整个网络数据的关联趋势图。
[0029] (2)洋葱图分层聚类结构
[0030] 洋葱图结构主要思路为将大型异构网络数据通过多种算法进行聚类,将其处理成 具有五层网络数据聚类结构的数据模型,如图1所示。其中,每层数据结构可在交互过程中 实时计算,也可通过离线预处理事先计算,以加快可视化分析响应速度,改善用户体验。
[0031] 上述五层异构网络数据分层结构及方法如下,具体的实现算法见后文:
[0032] 第一层:首先将大型异构网络数据进行导入,作为数据源及基础数据。在第一层, 整个网络聚集成一个初始节点,作为交互可视分析的出发点。
[0033] 第二层:通过算法对网络中节点按照节点属性值进行聚类。首先选择一个属性,例 如社会网络中节点(自然人)的性别,将在该属性上具有相同取值的节点进行聚类,并生成 相应的聚类网络可视化图。同时,支持基于多个属性的聚类展示,即将大型网络按照所选择 的多个节点属性取值,如社会网络中节点(自然人)的性别及年龄,进行更细粒度的聚类。 通过局部网络展开,也支持在同一视图内包含多种粒度的聚类可视化,如某些节点按照一 个属性值聚类,另外一些节点按照在多个属性上的取值进行聚类。
[〇〇34] 第三层:在按照节点属性值的聚类结果之上,进一步按照节点的邻居节点集合的 属性值完成二次聚类,以进一步细化局部异构网络展示。这里的邻居节点集合根据网络拓 扑结构计算,即指某节点所有有连接关系的邻居节点组成的集合。聚类所用的属性可自动 生成,即采用上一层用于聚类的节点属性;也可由用户根据分析再次选择。按邻居节点集 合的属性值聚类详细方法如下:对于任意一个节点,找到它的邻居节点集合,再根据此集合 内所有节点在所选择属性上的取值,计算出它们的邻居节点属性值分布。例如,设定在社会 网络中以自然人为节点,所选择属性为性别,则某节点的邻居节点属性值分布为男性邻居3 人,女性邻居2人。邻居节点属性值分布相等或相似的节点归为同一聚类。特别的,这里的 邻居节点属性值分布相等不考虑在某属性值上的邻居节点数目,只考虑在某属性值上是否 有邻居节点。换句话说,这里采用邻居节点属性值集合实现二次聚类。考虑在某属性值上 邻居节点数目的方法通过近似算法实现,见后文模糊算法。这里需要特别指出的是,本层次 的节点聚类综合了异构网络节点上的属性信息及其网络的拓扑结构。同时,本层次的聚类 分析也可在用户选取的某些范围的节点上完成,而其他部分网络仍然保持上层更粗粒度的 聚类结果。在实际操作时,用户可以选中某个或某几个希望详细查看的上层聚类节点,通过 上述算法,将选中的上层聚类节点细化为同时按照网络节点属性和其邻居节点属性取值的 聚类结果,从而实现用户查看更详细局部网络的需求。按照此算法生成的聚类结果中,同一 个聚类中的不同节点不仅节点属性取值相同(在用户选定的属性上),其在异构网络中的 拓扑位置也相同/相似,即与相同/相似属性的邻居相连。
[0035] 第四层:类似上一方法,用户可以通过交互可视分析,对已生成的聚类结果继续细 分,以更详细的查看局部网络结构。本层次聚类比上一层次更细致,要求划分到同一聚类的 节点不仅邻居节点的属性值相同/相似,其邻居节点集合也一致。由于在实际网络中,邻居 节点集合完全相同的案例很少,因此本层次方法大部分采用模糊算法,计算邻居节点集合 相似的聚类。这种聚类在计算机网络,尤其是网络安全领域有很重要的应用。在DDOS (分布 式拒绝服务)攻击场景中,大量被操纵的计算机通过网络访问被指定攻击的客户目标机。 虽然被操纵的计算机属于不同网段,物理上间隔万里,通过他们连接的客户机集合,即计算 机网络中的邻居节点,可将被同一攻击操纵的计算机聚集起来分析。同时,被攻击的客户目 标机也可采用相同的方法根据攻击发动者集合聚类。
[〇〇36] 第五层:用户可以通过可视化分析的方法,进一步的对节点聚类进行细分至单一 节点粒度,即节点聚类被完全展开,每个节点全部独立显示。类似地,在同一视图中,为保 证整体视觉复杂度不超出用户可理解的范围,大部分情况只选择部分网络实现第五层的展 开。
[〇〇37] 需要特别说明的是,以上分层方法将大型异构网络的节点划分为若干聚类,其关 联关系也相应的附加在聚类之间,即初始异构网络数据的每一个关联关系,将附加在其源、 目的节点对应的聚类之间,如有关联方向,则方向不变。
[0038] 在上面的洋葱图分层结构中,在第三、四层次,本方法同时支持根据用户所选择的 浏览粒度进行模糊聚类(即按相似度聚类),并允许指定结果中的聚类数目,从而保证了用 户可控的聚类效果。
[0039] (3)可视化方案
[〇〇4〇] 可视化方案也是本方法的重要部分。我们选用了"洋葱"这一创意形式,提取了洋 葱隐喻的"同心圆"概念来对应我们方法的异构网络分层结构,以实现直观可视化。在具体 设计上,在形式和颜色等方面都选取了洋葱隐喻相关元素的同时,对于不同属性取值的节 点,我们也设计了样式上有显著不同的可视化图形。我们还专门为这一可视化方案设计了 更为创新易用的可视化界面。同时,在洋葱图上,还支持一系列统计图表展示,便于更好地 查询分析相关属性及关联信息。用户只需要进行简单的操作即可进行可视化筛选和查看。
[0041] (4)交互方案
[0042] 洋葱图提供了高可用性的交互操作和控制界面,用户在逐层浏览大型异构网络数 据信息时,可通过分层聚类算法及局部展开操作,实现交互可视分析。这些交互方法包括:
[0043] 1)用户根据所需要展现的粒度,输入对异构网络的展开层次(层次1?5)。本方 法根据输入对异构网络进行聚类,并将结果通过可视化视图展现,即切换到按照所选择层 次展开的视图。这种交互方法对整个异构网络全局生效,即交互操作后,视图中异构网络的 聚类粒度相同。
[0044] 2)用户根据所需要展现的粒度及所关注的异构网络范围,输入对异构网络的展开 层次(层次1?5)及需要展开的异构网络的局部范围。本方法根据输入对异构网络的选 中的局部进行聚类,并将结果通过可视化视图展现。未选中的网络其它部分不变。关联关 系仍然按照聚类间关系附加方法展示。
[0045] 3)用户根据所需要展现的粒度、所关注的异构网络范围及希望得到的结果,输入 对异构网络的展开层次(层次1?5)、需要展开的异构网络的局部范围及希望得到的聚类 数目。本方法根据输入对异构网络的选中的局部进行近似聚类,保证所选中局部网络生成 用户输入的聚类数目,并将结果通过可视化视图展现。未选中的网络其它部分不变。关联 关系仍然按照聚类间关系附加方法展示。
[0046] 特别的,以上用户输入均通过可视化界面输入,聚类粒度的层次选择可通过交互 滑块设定,对异构网络的局部选择采用鼠标框选,交互的执行也可通过简单的鼠标操作触 发(如双击鼠标将选中异构网络向更细粒度拓展一层,或向更粗粒度提升一层)。这些交互 操作辅助用户平滑的浏览大型异构网络数据。图1给出了此种交互结果的示意图。
[〇〇47] 已有的可视化研究中,用户只能看到全局网络关联的信息,或采用数据过滤查看 某一类属性取值的内部关联信息。而在我们的方法中,用户可以通过以上交互操作,将大型 异构网络划分为多个局部网络,针对不同局部网络按照不同的层次和输入条件聚类,以同 时查看网络不同局部在多个不同层次聚类后的异构关联关系。用户也可递进的将其中一个 聚类或多个聚类在同一个界面中进行再次展开。这极大的方便了用户同时对多个分类属性 取值情况进行查看,并在多个分类数据取值间做比较分析。同时,我们的方法还支持初始化 (回到初始聚类层次设定),历史回退(回到上一次的聚类层次设定)等功能,方便用户进 行迭代、交互的可视分析操作。同时,本可视化方法实现的工具还提供了相关信息的查询列 表,方便用户更为细致全面的查看该异构网络数据内聚类节点的各项信息。
[〇〇48] 与现有大型异构网络数据分析技术相比,本发明的创新点在于:
[〇〇49] (1)本方法支持自上而下的分层结构来进行聚类可视分析。聚类分析算法结合了 异构网络拓扑和网络节点属性两部分信息,这是以往的方法均不支持的。
[0050] (2)本方法支持从全局粗粒度聚类细化为细粒度聚类,并通过算法支持局部网络 的递进展开分析。此操作可在局部网络中实现,对异构网络不同部分按照不同粒度聚类,并 查看之间的关联关系。
[0051] (3)本方法引入"洋葱"的视觉概念来表示不同的层级关系,通过绘制一定数量的 同心圆来表示所在的层级信息。通过平衡同心圆的数目及层级的相应关系,达到控制大型 异构网络数据的摘要视图的可视复杂度,提供对于用户更友好的浏览模式。 【专利附图】

【附图说明】
[0052] 图1是洋葱图分层结构原理图示。
[0053] 图2是第二层次按网络节点属性聚类结果示意图。
[0054] 图3是第三层次按网络拓扑结构相对正则等价聚类结果示意图。
[0055] 图4是第四层次按网络拓扑结构绝对结构等价聚类结果示意图。
[0056] 图5是洋葱图分层聚类算法实现步骤中的节点统一行向量设计。
[0057] 图6是洋葱图可视化方法示意图。
[0058] 图7是利用洋葱图可视分析可视化领域学术网络数据-按照异构节点类型展开 (按节点属性)。
[0059] 图8是利用洋葱图可视分析可视化领域学术网络数据-进一步按照会议/期刊类 型展开(按节点属性)。
[0060] 图9是利用洋葱图可视分析可视化领域学术网络数据-进一步按照论文引用类型 展开(按节点属性)。
[0061] 图10是利用洋葱图可视分析可视化领域学术网络数据-进一步按照作者发表论 文引用情况展开(按邻居节点属性)。
[0062] 图11是图10基础上使用统计图表展示邻居节点属性分布。 【具体实施方式】
[0063] 下面分四个部分具体阐述本发明的主要内容。
[0064] 1.算法设计
[〇〇65] 首先给出下述算法描述的基本符号定义。
[〇〇66] 我们用G= (V,E)表示一个有向的异构网络。其中,V= {Vl,...,vn}表示网络节 点集合,E = {ei,. . .,em}表示网络边集合(即关联关系)。W表示网络对应的邻接矩阵, 每个元素Rj = 1代表一个连接节点Vi到节点ν』的边。对于每个节点VpN+Gi) = {Vjlwu =1}, Pf (vD = {Vj I Wji = 1}分别代表节点Vi的出向邻居节点集合和入向邻居节点集合。 令D = {屯,...,ds}表示此异构网络G的节点属性集合,共包含s个节点属性。D(Vi)= {屯(vj,· · ·,ds (λ^) }表示节点Vi在所有s个节点属性上的取值,dk (vD表示节点Vi在第k 个节点属性上的取值。
[〇〇67] 我们采用网络划分的概念来描述对异构网络数据的聚类方法。即每一种聚类算法 均是将所选取网络中的所有节点划分为若干聚类,每个节点存在于且仅存在于同一层的一 个聚类中。另网络划分结果描述为P:v - {1,2,...,t},P表示一个映射,将每个网络节点 映射到网络划分后对应的聚类编号。所有网络节点共划分为t个聚类,P( Vi)为节点\在 划分后对应的聚类编号。
[〇〇68] 按照前一部分的描述,在洋葱图的五层结构中,第一层所有节点为同一聚类,第五 层为每个节点为一个聚类。这两层不需要特殊算法。下面我们主要描述第二、三、四层聚类 的算法设计。
[〇〇69] (1)网络节点属性聚类算法(第二层)
[0070] 根据网络节点属性对异构网络进行划分,并生成聚类。
[〇〇71] 算法说明:
[0072] 根据指定的用于聚类的属性集合互将网络节点划分为多个聚类,每个聚类 中的节点在集合2内部属性上的取值均相同。令本层聚类算法对应网络划分结果P,对于 划分到同一聚类的任意两个节点\和 ',其节点属性取值也相同,即算法等价于:
[0073] P(Vi) = P(vj) ^D(vi) = D(Vj)
[0074] 图2给出了按照网络节点属性聚类的算法结果示例。图中,左侧五个节点在选定 属性2上取值为I,在右侧五个节点上取值为Π,因此按照本方法在这一层次划分为两个聚 类,分别对应左侧实心节点组和右侧空心节点组。同样的,当用户选择多个网络节点属性 时,仍然根据网络节点在多个属性上的取值,决定其聚类结果。
[〇〇75] (2)网络拓扑结构相对正则等价聚类算法(第三层)
[〇〇76] 根据异构网络拓扑结构及节点属性进行联合分析,计算网络划分,并生成聚类。
[0077] 算法说明:
[0078] 根据上层聚类选择的节点属性集合2及对应网络节点划分匕,采用相对正则等价 聚类算法,计算出本层新的网络划分P。P满足,对于任意两个节点ν,和Vj :
[0079] Ρ(ν,) = Ρ(ν,) ^ Ρ〇(ν? = P〇(vj) and Ρ〇(Ν'(v,)) = P〇(N'(v,)) and P〇(\! (v,)) = P〇(N (v/))
[0080] 即聚类到同一网络划分的节点满足上层划分相同且其邻居节点集合的上层划分 相同。图3给出了本层按网络拓扑结构相对正则等价聚类的算法结果示例。图3是在图2 的基础上的划分,将原有的两个聚类细化为四个聚类,用节点形状和填充标识。同一聚类的 节点其属性及邻居节点属性集合均相同。
[0081] (3)网络拓扑结构绝对结构等价聚类算法(第四层)
[0082] 根据异构网络拓扑结构及节点属性进行联合分析,计算网络划分,并生成聚类。本 层次划分与上一层类似,但更加严格,要求属于同一聚类的节点不仅邻居节点属性相同,邻 居节点本身也要相同。
[0083] 算法说明:
[〇〇84] 根据上层聚类选择的节点属性集合2及对应网络节点划分匕,采用绝对结构等价 聚类算法,计算出本层新的网络划分P。P满足,对于任意两个节点Vi和Vj :
[0085] P(vi) = Ρ{ν?) P〇(vi) = P〇{v/) and Λ,!(νν) = Nl(v/) and N (w) = N (v,)
[0086] 即聚类到同一网络划分的节点满足上层划分相同且其邻居节点集合相同。图4给 出了本层按网络拓扑结构绝对结构等价聚类的算法结果示例。图4是在图2的基础上的划 分,且比图2和图3的聚类更细化。图4分为六个聚类,用节点形状和填充标识。同一聚类 的节点其属性及邻居节点集合均相同。
[〇〇87] (4)模糊聚类算法
[0088] 在一些情况下,上述第三、四层按照网络结构相对正则等价及绝对结构等价的聚 类方法过于严格,导致聚类结果过于细化,如划分为几十个聚类,难以为用户直观理解并用 于可视分析。我们的方法同时引入了模糊算法,允许在第三、四层聚类划分时指定需划分的 聚类数目,按照聚类内部近似度最优化的方式实现聚类划分,这样用户可通过交互,控制聚 类颗粒度来查看更深层次的关联信息。
[〇〇89] 模糊算法分三步设计:
[0090] 第一步,将每个节点Vi的邻居节点集合表示为一个邻居向量R (Vi)= {cn, · · ·,cit, cn, · · ·,cti}。向量前半部分对应Vi的出向邻居,后半部分对应丫丨的入向邻居, 全长2t。对于第三层聚类划分,t表示当前所选择节点属性的取值范围计数。例如,选择性 别属性,此计数为2 (男性和女性)。cn表示从Vi出发连接其它属性取值为第一个属性值 (共t个属性值)的节点的关系数目。对于第四层聚类划分,t表示网络中的节点数目,c n 表示从Vi节点出发连接Vl节点的关系数目。
[0091] 第二步,对于所有需要划分的网络节点,按照其邻居集合的向量表示R(Vi)计算两 两节点之间的节点近似度距离d( Vi,Vj)。本方法默认采用向量的欧几里德距离,如下公式, 也支持采用其他向量距离或相似度计算方法(如按向量余弦相似度计算的余弦距离)。
[0092] (KVi, Vj) = { Σ s = i,2,-2t[(Rs(Vi)-Rs(Vj)]2}0' 5
[0093] 第三步,根据计算出的节点间相似度距离及用户输入期望聚类数目,应用k-mean 算法,将节点划分为k个聚类。本步骤也可采用其它聚类方法,如谱聚类算法。
[0094] 2.算法具体实现
[〇〇95] 为了实现上述的洋葱图分层算法,我们引入了一个新的方法来快速计算异构网络 节点的最终聚类划分。该实现方法的优势是实现了五层结构的统一化聚类。此方法的核心 思路是设计节点的扩展行向量,称为节点的统一行向量。如图5所示,该行向量涉及三部 分,节点的标志符、节点属性信息及取值、节点的邻居信息及邻居属性取值。在不同的聚类 层次,此统一行向量包含不同的信息:第二、三、四层包含节点属性信息及取值;第三层额 外包含节点的邻居节点集合属性取值;第四层额外包含节点的邻居节点集合信息;第五层 只包含节点标志符,用于将网络细化为单一节点粒度。异构网络中的每个节点按照当前的 聚类层次计算节点的统一行向量,此行向量相同的节点划分为同一聚类。
[0096] 具体的最终聚类划分采用哈希算法实现,即对每个节点的统一行向量,利用某 哈希函数,计算哈希值,哈希值相同的节点划分为同一聚类。实现可采用Java语言中的 HashMap数据结构。
[0097] 3.算法性能分析
[〇〇98] 根据理论计算,以上分层聚类实现算法(不包含模糊算法)的时间复杂度为 0(m+dn)。其中,n,m,d分别代表异构网络数据的节点数目,边(关系)数目,节点上的属性 数目。即本算法计算时间随网络规模增长而线性增长,因此非常适用于超大规模异构网络 的聚类分析。我们将该算法的一个原型实现应用于四组网络数据集上(节点数目几千到上 百万)。在一台主流桌面台式机(四核心IntelCPU,3. 3GHz主频,6GB内存)上,测试得到 上述算法的计算时间如表1?3。其中,表1给出了第二层按网络节点属性聚类分析需要的 计算时间。从结果可看出,计算时间的增长略大于线性增长,对比网络节点数目的增长。而 且,在百万节点数据集上,仅需要10秒左右计算时间。表2和表3分别给出了第三、四层按 网络拓扑结构相对正则等价算法和绝对结构等价算法计算聚类分析需要的时间。结果可看 出,计算时间的增长仍然维持略大于线性增长的趋势。而且,在百万节点数据集上,所需时 间比第二层聚类分析略长,但仍不超过30秒。这一时间尺度在大规模异构网络的实时分析 上是有效的。
[0099] 对于在第三、四层聚类分析中可采用的模糊算法,理论分析可知其时间复杂度为 0(k*n*d*l),其中,n,d,k,l分别代表异构网络数据的节点数目、节点上的属性数目、聚类 个数及计算需迭代的次数。根据表2和表3的结果可知,采用模糊算法(Fuzzy),在第三层 聚类分析时,仍然可以支持到百万量级节点数目,计算时间不超过60秒。对于第四层聚类 分析,计算复杂度增长较快,实用范围达到十万量级边(关系)数目的异构网络。
[0100] 4.案例分析
[0101] 我们在这里举例说明洋葱图的具体应用。
[0102] 本案例采用的数据是从ArnetMiner数据库中提取的数据。它包含了 9大可视化 会议和期刊近30年的全部论文。数据集按照论文信息存储,每篇论文包括:论文题目、作 者、会议地点、发表时间、引用情况、关键词、摘要等属性。我们基于此数据建立的异构网络 主要包括三种重要的节点类型:11049位作者、9557篇论文和9个会议;共计106316个连接 关系。关于该数据的基本洋葱图展示见图6。我们邀请了几名资深可视化研究人员应用我 们的可视化分析工具进行相关的使用和数据分析,均发现了若干过去方法难以发现的关联 特征。这里以某研究员的分析过程为例。首先,我们的可视分析方法提供的初始网络数据 展示视图如图7。整个网络按照节点地类型属性划分为三个聚类,分别为作者聚类,论文聚 类和会议/期刊聚类。他通过选择会议/期刊聚类,并将该部分网络递进到第二层,按照会 议/期刊名划分,进一步得到图8。他立刻发现了数据中的一个特点:论文数目最多的会议 /期刊为CG&A和CGF,这两个会议/期刊的论文均超过了 2000篇(见连接关系上的标签数 字)。通过选择另一个聚类节点,论文聚类节点,并按照论文被引用次数在第二层划分,可 进一步得到图9。通过切换连接关系上标签数字的映射关系,映射为平均连接强度,他继续 发现:虽然在CG&A和CGF会议/期刊发表的论文很多,但其中低引用论文的比例很大。对 比来讲,SciVis和TVCG会议/期刊的中高引用论文比例相对更高。进一步,他选择了另一 个聚类节点,作者聚类,并按照第三层邻居节点(按引用情况划分的论文聚类节点)的属性 划分,如图10。通过过滤掉发表论文少于10篇的作者,他发现所有高产作者(发表论文 至少10篇)可分为四组聚类:第一组聚类中有309位作者,他们发表了很多中、低引用率 的论文,平均只有一篇高引用的文章。第二组聚类中包含了 75位作者,他们发表了更多的 文章(两倍于第一组作者),但中低引用情况的文章仍然占绝大多数。第三组聚类中包含7 名作者,均为可视化领域的资深研究员。他们平均每人发表了 41篇低引用论文,48篇中引 用论文和5篇高引用论文,发表高引用论文数目远远高于前两组聚类。最后一个组聚类最 为有意思,它包含了三位作者,他们共发表了 223篇论文,但其中只有1篇是被高引用的论 文。为更加直观的展示第三层聚类分析得到的不同聚类中邻居节点属性的分布,本方法也 支持采用统计图展示邻居节点属性分布。例如图11,作者聚类节点采用直方图展示了不同 作者聚类对应的被引用情况分布。
[0103] 通过采用洋葱图分层聚类分析方法,用户可对上述大型异构学术网络实现递进、 迭代、交互的可视分析,快速发现以往难以发现的宏观关联关系和微观的特殊聚类分组及 其特征。
[0104] 表1.网络节点属性聚类算法(第二层次聚类)性能指标
【权利要求】
1. 一种异构网络可交互可视化方法,其步骤为: 1) 对待处理异构网络中的节点按照选取或设定的节点属性的取值进行聚类,并生成相 应的聚类网络可视化图; 2) 选取步骤1)的若干聚类结果,并对所选聚类结果中的每一节点,根据该异构网络的 拓扑结构计算该节点的邻居节点集合;然后按照选取或设定的邻居节点集合节点属性值对 所选聚类结果中的每一节点进行聚类;得到的聚类结果中,位于同一聚类中的节点具有节 点属性值相同且在异构网络中的拓扑位置相似;然后将此次聚类结果生成聚类可视化图并 将其作为步骤1)聚类网络可视化图的下一级可视图; 3) 选取步骤2)的若干聚类结果,并对所选聚类结果中的每一节点,根据其邻居节点集 合进行聚类,将具有相同邻居节点集合的节点划分到同一聚类中;得到的聚类结果中,位于 同一聚类中的节点具有节点属性值相同且在异构网络中的拓扑位置相同;然后将此次聚类 结果生成聚类可视化图并将其作为步骤2)所生成聚类网络可视化图的下一级可视图。
2. 如权利要求1所述的方法,其特征在于所述异构网络为有向异构网络G= (V,E); 其中,V = {ν^ . . .,vn}表示网络节点集合,E = {e。. . .,em}表示网络边集合;异构网络的 邻接矩阵为W,其中的元素 Wij代表连接节点Vi到节点ν」的边;对于每个节点Vp N+(vD = {Vjlwu = 1}代表节点Vi的出向邻居节点集合,Ν? = {Vjlwji = 1}为节点Vi的入向邻 居节点集合。
3. 如权利要求1或2所述的方法,其特征在于所述步骤2)或步骤3)中的聚类方法为: 31) 将节点Vi的邻居节点集合表示为一个邻居向量R(Vi) = {cn,. . .,cit, cu,. . .,cti}; 其中,cit为节点Vi的第t个出向邻居节点,cti为节点Vi的第t个入向邻居节点; 32) 对于所有需要划分的网络节点,按照其邻居节点集合的向量计算两两节点之间的 节点近似度距离; 33) 根据计算出的节点间相似度距离及期望聚类数目,将节点划分为k个聚类。
4. 如权利要求1所述的方法,其特征在于将每一节点米用一统一行向量表不;所述统 一行向量包括:节点属性信息及取值、节点的邻居信息及邻居属性取值;每次聚类时计算 节点的统一行向量的哈希值,将哈希值相同的节点划分为同一聚类;其中,进行步骤1)的 聚类时,节点的统一行向量包含节点属性信息及取值,其他取值为空;进行步骤2)的聚类 时,节点的统一行向量包含节点属性信息及取值、节点的邻居属性取值;步骤3)的聚类时, 节点的统一行向量包含节点属性信息及取值、节点的邻居信息。
5. 如权利要求1所述的方法,其特征在于将待处理的该异构网络生成可视化图作为第 一级可视图,步骤1)所生成的聚类网络可视化图为该第一级可视图的下一级可视图;将步 骤3)每一聚类结果中的节点生成一可视化图并将其作为步骤3)所生成聚类网络可视化图 的下一级可视图,即最小粒度可视图。
6. 如权利要求1所述的方法,其特征在于根据选取或设定的进行聚类的属性值不同, 在同一级可视化图内包含一种或多种粒度的下一级可视化图。
7. 如权利要求1所述的方法,其特征在于在每一聚类之间的连接关系上标记该聚类间 关系所包含的原始异构网络节点间关系的总数作为该聚类间连接关系的连接强度。
【文档编号】G06F17/30GK104090957SQ201410327034
【公开日】2014年10月8日 申请日期:2014年7月10日 优先权日:2014年3月10日
【发明者】时磊, 赵月, 林闯 申请人:中国科学院软件研究所, 清华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1