1.4 实例2——基于知识图谱的交互关系浏览与分析
复杂数据的关系表达本质上是多目标对象的关系表达。语义上,复杂数据构建了一个多目标对象的异构网络。本案例采用知识图谱作为基础数据模型,提出一套关系分析中所需要的数据模型,如图1-13所示。我们将复杂数据构建的多对象异构网络映射到知识图谱表现的多实体异构网络,在此基础上,同时考虑空间信息在分析工作中的重要性,以及空间信息作为复合数据在可视化中的特殊性,设计建模方案。数据模型具体包括:对象、对象的属性、对象之间的关联、对象的空间结构。与知识图谱的实体、实体的属性、实体之间的关系的模型相比,该模型更能表达和利用空间地理信息。
图1-13 面向关系分析的数据模型
1.4.1 对象的可视化
根据Tamara Munzner的What-Why-How可视化分析框架(图1-14),我们可以对领域数据进行如表1-1所示的数据抽象(What)。
图1-14 可视化分析框架
表1-1 领域数据到抽象数据类型的映射
通过任务操作和任务目标的合理组合,我们得到如表1-2所示的异构矩阵视图用以表达本文中的任务抽象(Why)。
表1-2 异构矩阵视图
表1-2中矩阵视图的设计目的在于结合给定数据模型,将任务拆解为一系列元任务,降低系统可视化和交互设计的复杂度。通过组合元任务的设计编码或交互方式,达到解决复杂任务的目的。这些元任务根据语义层次不同,分为高层、中层、底层语义任务。越是底层的任务,越基础,也易于设计;越是高层的任务,越接近人的知识理解。高层语义任务依赖于中层语义任务,中层语义任务依赖于底层语义任务,因此底层语义任务还可以实现高层语义任务的具化,后续章节将通过案例来解释这样的具化。
这种系统性的设计方法可以高度地抽象数据、任务,可以让设计者避免受到领域信息的干扰,更准确地认知系统,设计更加完善的设计编码和交互方式;同时设计者可以对比和借鉴具有相似抽象数据、任务的其他领域系统,以此优化设计编码和交互方式。
良好的设计编码和交互方式有以下功能。
①提高用户工作效率:直观、易理解、易记忆的可视界面操作比命令行更加方便、有效。
②增加展示信息量:通过空间的复用,在有限的分辨率下向用户展示更多的信息。
③降低用户认知成本:通过控制可视界面的细节程度,隐藏或突出部分数据,降低用户对信息的认知成本。
下面主要介绍系统的节点链接视图、空间地理视图、时间轴视图、对象属性视图和统计视图(横向柱状图)。具体介绍表1-2中元任务的实现,以及相关可视设计编码和交互方式。所用数据来自Wikidata、Facebook、Twitter、LinkedIn以及本地文本文档。
1.4.2 可视化
表1-1中的高维数据抽象了领域数据模型中的对象,在知识图谱中则表现为实体。一个实体拥有唯一的URI作为标识符,同时拥有自身的属性、空间结构以及与其他实体之间的关联关系,且拥有确定的类型。在语义层面上看,实体表达了一个事物,较为具象,贴近人的理解,系统中对实体的操作,也是符合人的认知中对相应事物的操作。下面介绍结合不同语义任务中对数据的可视化设计。
1.4.2.1 数据的可视化
(1)底层语义任务
①识别单对象:用照片、形状(图形)、颜色编码对象或对象的类型,易于识别(如图1-15所示)。
图1-15 层次布局的搜索结果
②比较多对象:并列对象属性视图,进行比较(如图1-16所示)。
图1-16 比较多对象
③摘要对象集:关联其他视图+过滤,如图1-17所示,通过关联统计视图中的类别统计中执行过滤,从黄色高亮的对象集中摘要部分对象,并用橙色高亮表示。
图1-17 摘要对象集
(2)中层语义任务
查取、查阅对象:获取已知位置的已知或未知对象,可通过选择对象实现。例如图1-18中选择A节点的操作。
定位对象:获取未知位置的已知对象,导航+识别对象,例如通过缩放、平移等定位手段选择图1-18代表目标对象的B节点。
浏览对象:获取未知位置的未知对象,导航+选择,例如探索图1-18显示范围外的未知节点。
图1-18 查阅、定位对象——力引导布局
(3)高层语义任务
标记对象:选择。
推导多对象的相关性:标记对象+比较多对象,在图1-16中选中对象,比较对象,其中对象信息窗口的高亮跟随鼠标,由图中信息可以推导出两个对象是不同的人。
展示多对象分布:定位多对象+编码。
发现多对象分布:展示多对象分布+重配(如改变布局算法),如图1-15的层次布局,图1-18的力引导布局,使用图1-19的网格布局和圆环布局可以较为轻松地发现分布中关系集中的对象。
图1-19 搜索结果的网格布局(左)和圆环布局(右)
1.4.2.2 属性的可视化
表1-1中的属性抽象了领域数据模型中对象的属性,在知识图谱中表现为实体除空间结构以外的其他属性。一个属性是对其所属实体自身信息的一个描述,属性值根据类型的不同可能是类别型、有序型或数值型。时间属性属于数值型属性,通过时间轴视图进行可视化;非时间属性通过统计视图中的横向柱状图进行可视化;另外数值型属性可以通过热力图映射进行可视化。
(1)底层语义任务
识别单对象属性的分布、模式、异常:用横向柱状图可视化对象属性,如图1-20属性统计视图(左)和热力图(右),右侧显示了对选中节点的属性的统计,将数值型属性编码到热力图的颜色。
图1-20 属性统计视图(左)和热力图(右)
图1-21为时间轴视图。
图1-21 时间轴视图
复杂数据中,附带时间信息的部分数据可以抽取事件。事件作为特殊的实体,带有时间属性,通过一维映射的方式,可视化在时间轴上。用户通过改变时间轴的跨度、精度,可以观察时间的分布情况、特定事件的先后关系以及事件序列隐藏的特征等。
(2)中层语义任务
定位、浏览对象属性的分布——导航,在图1-20的属性统计视图中查找或浏览获取对象属性的统计信息。
(3)高层语义任务
发现和展示对象属性分布、极值:摘要对象+识别对象的分布、模式、异常,如图1-22所示,在展示的对三个实体的统计信息中可以发现:
①三个实体都是人(type属性);
②三个实体都是男的(gender属性);
③两位名为“Barack Obama”,一位名为“Barack Obama,Sr.”(name属性)。
统计视图如图1-22所示。
图1-22 统计视图
柱状图可用于查看多个对象在一个或多个维度上的数据分布信息。统计视图以柱状图的方式,统计多个对象的属性分布情况。对象的属性根据数据类型可分为:类别型属性、有序型属性和数值型属性。其中有序型属性和数值型属性的统计默认根据其次序进行可视化,便于发现对象属性的分布、极值。
1.4.2.3 关系的可视化
对象之间的关系抽象了领域数据模型中对象之间的关联,在知识图谱中表现为实体和实体之间的关联关系。关系依赖于其对象存在,所以关系可视化流程部分依赖于对象可视化。大量的关系将不同的对象关联起来,呈现出网络的形式,让用户更直观地发现关系网络中隐含的价值,比如观察信息在关系网络中的流动规律,或者关系网络中的核心节点等。
网络结构可视化中,最核心的要素是布局呈现方式。我们针对节点链接图的布局(图1-23)做了一定的可视化设计,以增强可视化效果。
图1-23 节点链接图在复杂关系上的布局应用
不同的节点链接图的布局,呈现出不同的网络信息的隐喻,这里使用了四种不同的布局方法。
(1)力引导布局
如图1-24(a)所示,力引导布局的核心思想是采用弹簧模型,使得布局在动态变化后,节点之间不存在相互的遮挡。布局不仅美观,对空间也有较高的利用率。通过力引导布局,能够反映实体之间的亲疏关系和网络结构中的拓扑属性。
图1-24 节点链接图的布局方法
力引导布局可以清楚地识别出网络结构中的核心人物(关键点),可以快速识别出社区团体以及他们之间的关系,对网络的中心性有较好的反映。因此,力引导布局在社交网络关系描述中使用频繁。
(2)层次布局
如图1-24(b)所示,层次布局可以描述网络结构中其他节点与关心节点的远近距离,或是隐含的从属或包含关系。例如,可在社交关系图中查看兴趣人的一级关系人脉、二级关系人脉等;或在分析的老板-公司-职员关系图中,发现其中老板拥有哪些公司,每个公司雇用了哪些职员。
网络结构图中,若关心其中拓扑结构或是隐含的树形结构信息,层次布局具有不错的展示效果。层次布局中,不同层次上的节点数据分布可能不均匀,空间利用情况难以估计。采用正交的层次布局,层次结构的体现较为自然、直观,但节点数量少的层次的空间利用率较低,图1-24(b)便是正交的层次布局;对于节点数量随层次深度加深而明显增加的数据,可以采用径向的层次布局,能够在不太损失层次结构的情况下,更好地利用空间。在实际应用过程中需要相互权衡,以提高布局的可读性和美观性。
(3)圆环布局
如图1-24(c)所示,圆环布局更加关注节点两两之间的关系。所有节点平均分布在圆环上,易于观察兴趣节点与其他所有节点存在的关系,以及节点间一级关系的分布情况。
圆环布局较为突出的缺点为空间的利用程度较低。
(4)网格布局
如图1-24(d)所示,网格布局是四个布局中空间利用率最高的布局算法,适合在未发现明显特征的数据图中查看图的网络结构、节点和边的简要信息。
网格布局的不足之处在于没有明显的隐喻信息。一般可以通过网格布局进行初步探索,发现兴趣节点或网络结构特征,进而选择更合适的布局算法,进行后续分析。
当关系分析的规模不断增大时,节点链接图的问题和挑战也渐渐突显出来。一方面,由于屏幕像素的限制,在有限的空间中有效表达的信息十分有限。若按照上述布局方法,当对象规模达到千级、关系规模达到万级时,必然出现大量的对象和关系的视觉遮挡现象。视觉遮挡不仅使得节点或边无法有效表达所代表的含义,同时给交互带来极大的难题。另一方面,由于浏览器的性能限制,当对象规模达到千级、关系规模达到万级时,渲染实现可能需要用户长时间等待,浏览器的渲染速度问题也突显出来,长时间的等待必然影响用户的交互体验。屏幕像素限制的解决方法一般包括减少图元使用的像素数、减少图元数量、增加屏幕像素。渲染时间的解决方法一般包括降低图元复杂度、减少图元数量、提升设备性能。减少图元使用的像素数、降低图元复杂度的方法可以保留数据整体详细分布,但是降低了图元编码信息的能力,理论上图元的最少使用像素数为1,即最高有效表达图元数量等于屏幕像素数;减少图元数量的方法损失部分信息和部分分布,但可通过LOD(Layer of Detail)技术,在交互过程中重现暂时损失的信息,或将图元替换并编码损失信息的统计特征,实现数据的概览。增加屏幕像素、提升设备性能的方法能够最大可能地保留原始展示,缺点是成本增加,且可扩展性不高。
在不考虑设备提升的情况下,我们在大规模关系可视化场景中设计了节点链接图的紧凑布局,可以对大规模关系进行更加有效的可视化。
(1)紧凑的力引导布局
力引导布局对于小规模数据,或者有着树形层次结构的数据,可以得到较好的布局效果,如图1-25(a)所示。但是对于大规模的数据,尤其是在数据点之间的连接比较杂乱的情况下,效果并不好。图1-25(b)所示的图包含3000个节点、18027条边,节点的大小和节点之间的连接关系都是随机生成的。
图1-25 力引导布局案例
紧凑的力引导布局方案通过简化节点的图元复杂度,减少甚至去除边的图元,达到提高渲染效率和有效展示的目的。紧凑的力引导布局的布局原理和力引导布局一致,只不过取消了边的限制,可以让节点均匀散布在屏幕上,较充分地利用屏幕空间,如图1-26所示。
图1-26 紧凑的力引导布局
该布局缺失了节点之间的连接信息,可以通过交互过程去弥补。当鼠标悬停节点上方时,高亮该节点、该节点的一级关联节点以及它们之间的边,如图1-27所示。
图1-27 紧凑的力引导布局中的高亮交互
(2)紧凑的网格布局
紧凑的网格布局方案同样通过简化节点的图元复杂度、减少甚至去除边的图元,达到提高渲染效率和有效展示的目的。紧凑的网格布局根据每个节点的权重分配固定大小的矩形区域,可以充分利用屏幕空间。但是数据量达到一定规模之后(如3000节点),即使在1920×1080的屏幕上,也会呈现出拥挤的状态,如图1-28所示,节点之间的关联信息可以采用与图1-27相似的处理方法,通过交互的方式来展示。
图1-28 紧凑的网格布局
(3)紧凑的层次布局(图1-29)
图1-29 紧凑的层次布局
紧凑的网格布局方案同样通过简化节点的图元复杂度,达到提高渲染效率和有效展示的目的。紧凑的层次布局表现为以关键对象为中心的多层环状布局。距离中心关键对象的路径越短,节点变得越少。从空间利用率和布局效果来说,大规模关系的场景下,径向的层次布局优于正交的层次布局。若简单地将到中心等距的节点排布于同一层圆环上,当外层圆环节点数量较多时,依然可能发生严重的遮挡问题,所以需要对基础布局进行改进,减少外层节点的遮挡。如图1-29所示,控制每个环中的节点密度,根据节点密度调整环的宽度。紧凑的圆环布局设计结果为一层无中心的紧凑径向层次布局,故将其合并为紧凑的径向层次布局。
①底层语义任务 不同布局下的关系网络,所运用的编码设计和交互方法基本相同,本节剩余部分用力引导布局进行说明。
a.识别单对象关系:识别关系所属对象,而后识别对象的关系(图1-30)。在识别到“Barack Obama”和“Sportscenter”后,确认识别到其中的“favoriteTVShow”关系。
图1-30 识别对象关系
b.摘要对象关系集:关联其他视图+过滤(图1-31),通过关联统计视图中的关系统计来执行过滤,高亮摘要的部分对象关系(“hasHomeCountry”关系)。
图1-31 摘要对象关系集
②中层语义任务(图1-32)
图1-32 查取、查阅、定位关系
a.查取对象关系:获取已知位置的已知关系,可通过选择关系实现。如图1-32所示,选择图中的A关系(“hasHomeCountry”关系)。
b.查阅对象关系:获取已知位置的未知关系,可通过选择关系实现。如图1-32所示,选择图中的B关系。
c.定位对象关系:获取未知位置的已知对象,导航+识别关系,例如通过缩放、平移等定位手段选择图1-32中代表“Barack Obama”和“Michelle Obama”之间的C关系(“spouse”关系)。
d.浏览对象关系:获取未知位置的未知对象,导航+选择,例如探索图1-32显示范围外的未知关系。
③高层语义任务
a.标记对象关系:选择。
b.推导对象关系:比较多对象,或观察节点链接图拓扑。图1-32中存在“Barack Obama→spouse→Michelle Obama”和“Barack Obama→mother→Ann Dunham”,可以推导出“Michelle Obama→motherInLaw→Ann Dunham”,如图1-33蓝色连线所示。
图1-33 推导对象关系
c.展示对象网络拓扑:定位多对象+定位多对象关系。
d.发现对象网络拓扑:展示对象网络拓扑+重配(如改变布局算法),可发现不同布局下的网络拓扑。
1.4.2.4 空间的可视化
(1)底层语义任务
①定位、标记对象空间位置(图1-34):用地图坐标编码地理信息。
图1-34 定位、标记对象空间位置
②摘要对象空间分布:关联其他窗口+过滤,如图1-35所示为在空间地理视图中摘要对象空间分布。
图1-35 摘要对象空间分布
(2)中层语义任务
①查取、定位对象空间位置:定位、标记对象空间位置,如图1-34所示。
②查阅、浏览对象空间位置:识别、比较对象空间位置,可参考查阅、浏览对象。
(3)高层语义任务
①标记对象空间位置:选择,如图1-36中红框对象选择的标记。
图1-36 地图的框选
②展示多对象空间分布:定位多对象空间位置。
③发现多对象空间分布:展示多对象空间分布+选择。
空间地理视图 地理信息数据是描述事物的必要因素,对其的可视化至关重要。对于异构数据的地理可视化,有助于观察数据在地理分布上存在的规律、特征。
通过点数据地图映射的方式,将代表实体的符号映射到相应的位置。数据密集的区域,绘制的符号集中;数据稀疏的地方,绘制的符号分散。
热力图 在数据过于密集的地方,可能出现符号重叠等,难以看清所表达的数值,或难以比较不同区域的多少,热力图可以有效地应付这样的情况。通过将地图分割为小单位,采用一定的重建或差值算法,将数据转化为连续的数值,通过颜色编码的方式呈现(越红的地方,数值越高;越蓝的地方,数值越低)。
热力图可以显示多个实体同一数值维度在地理上的分布情况,默认情况下,热力图展示实体的分布密度。