首页> 中国专利> 一种基于PageRank和起源图抽象的关键视图发现方法

一种基于PageRank和起源图抽象的关键视图发现方法

摘要

本发明公开一种基于PageRank和起源图抽象的关键视图发现方法,包含以下步骤:首先,提出基于PageRank算法得到基于节点分组的起源图中关键节点识别的思想,根据PROV图的特性对PageRank算法进行改进,制定关键节点发现策略得到该用户对应的图中的关键节点;然后,通过分区算法对非关键节点进行“分区”;最后通过图抽象技术对PROV图进行“抽象”,从而得到关键视图,并通过实验验证了该思想的可行性。本发明可以根据不同用户对信息重要性定义不同,为不同用户生成不同关键视图,即可以快速的根据用户的需要发现图中的主要信息。

著录项

  • 公开/公告号CN106709000A

    专利类型发明专利

  • 公开/公告日2017-05-24

    原文格式PDF

  • 申请/专利权人 河海大学;

    申请/专利号CN201611197595.X

  • 发明设计人 许国艳;杨少松;王诗玉;

    申请日2016-12-22

  • 分类号G06F17/30;

  • 代理机构南京苏高专利商标事务所(普通合伙);

  • 代理人梁耀文

  • 地址 210098 江苏省南京市江宁开发区佛城西路8号

  • 入库时间 2023-06-19 02:16:22

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-07-14

    授权

    授权

  • 2017-06-16

    实质审查的生效 IPC(主分类):G06F17/30 申请日:20161222

    实质审查的生效

  • 2017-05-24

    公开

    公开

说明书

技术领域

本发明属于大数据领域,特别涉及一种基于PageRank和起源图抽象的关键视图发现方法。

背景技术

随着大数据的不断发展,为了方便用户快速访问图中重要信息,需要求得起源图中的关键视图,由于不同用户对起源信息关注程度不同,因此,不同用户对信息重要性定义不同。通过关键节点识别技术求得每个节点的影响力,其次制定关键节点发现策略根据用户的需要提取关键节点,然后通过分区算法对非关键节点进行分区,最后得到该用户对应的关键视图。

发明内容

发明目的:针对不同用户对起源图中信息关注程度不同生成不同关键视图的问题,本发明提出一种基于PageRank和起源图抽象的关键视图发现方法,

步骤一:根据W3C起源工作组定义一个数据模型——PROV模型,利用PROV模型使用户对各类系统中数据的起源信息进行标准化描述,将实体En、活动Act、代理Agent以及used和wasGeneratedBy等关系从PROV模型中提取出来建立基于PROV模型的起源图;

步骤二:在步骤一得到的起源图的基础上利用节点分组的概念,提出闭包、扩展、替换、删除等操作,并进行形式化定义和完善,得到符合PROV约束条件的抽象图;

步骤三:提出了基于PageRank算法的关键节点识别算法,针对PROV起源图无环性的特性对PageRank算法进行改进,求出步骤二中得到的抽象图中所有节点的关键度;

步骤四:当用户对起源信息进行查看时,指定访问等级s(n)和节点类型,利用步骤三中得到的抽象图中节点关键度与指定访问等级的节点以及指定类型的节点进行比较,得到关键节点和非关键节点。同时将非关键节点标记为抽象节点,从而得到需要抽象的点的集合R。

步骤五:将步骤四中得到的需要抽象的点的集合R经过最优分区算法和图转换算法,最终得到对应用户对应的关键视图。

进一步的,所述步骤二中所述的节点分组是定义图形的编辑操作,即如何将指定节点从原起源图中移除,生成一个新的有效的起源图;抽象图是指将用户指定的一系列节点看作一组,然后用一个新的抽象节点替换,同时通过修改节点以及新的抽象节点之间的关系,得到一个新的图。

进一步的,所述步骤二中所述的符合PROV约束条件的抽象图的构建步骤具体如下:

步骤1.1:PROV起源图研究只包含实体En和活动Act以及used和wasGeneratedBy的关系,针对抽象节点都是同一类型的作为同质分组进行操作,针对抽象节点不是同一类型的作为异质分组进行操作;

其中同质分组通过闭包、扩展、替换和删除四种操作来将新的抽象节点与原节点进行替换,并形成新的节点之间的相互关系;

步骤1.2:通过以下四个约束条件对抽象图进行进一步修改得到最终正确的抽象图;

其中四个约束条件为:

5)如果一个实体由两个及以上的活动产生,那么这些活动需同时发生;

6)实体必须生成后才能使用;

7)活动使用实体必须发生在活动发生的过程中;

8)活动生成实体必须发生在活动发生的过程中。

进一步的,所述步骤三的PageRank算法是针对于Web系统设计的,核心思想为:指向某页面的链接将增加该页面的PageRank值。将起源图中的节点作为Web系统中的页面,起源图中的边作为Web系统中的链接,通过PageRank算法计算出PROV图中每个节点的影响力。其中PageRank算法的具体步骤如下:

步骤3.1:通过网页间的链接关系构建Web图;

步骤3.2:输入邻接矩阵,为每个页面设置初始PageRank值;

步骤3.3:根据邻接矩阵得到转移矩阵,然后初始化初始向量并判断是否收敛,如果收敛则进入步骤3.4,如果不收敛则进行递归计算节点PR值然后再对收敛进行判断;

步骤3.4:计算根据步骤3.3中计算得出的数值计算关键度。

由于PageRank算法最初是针对Web系统设计的,其构成的图为有环图,因此其随机游走策略为所随机进入所有节点的概率一致。而PROV图主要记录数据演变的过程,为有向无环图,因此,改进的PageRank算法中修改了算法的随机游走策略,游走到各个节点的概率不同,只有悬虚节点可以作为游走的节点,将初始向量v中的悬虚节点设置为1,其余设置为0。同时通过PageRank算法求出PROV图中每个节点的PR值,根据PR值求得相对PR值(除以向量中最大值),将相对PR值分为10个区间,每个区间对应一个关键度,即为最终所需的节点的关键度。

进一步的,所述步骤四中的关键节点发现策略,当用户对起源信息进行查看时,指定访问等级s(n)和节点类型,图中关键度不小于指定访问等级的节点以及指定类型的节点即为图中的关键节点,其余节点为非关键节点。不同的访问等级对应的访问视图不同。将非关键节点标记为抽象节点,从而得到需要抽象的点的集合R。

进一步的,所述步骤五中的最优分区算法的具体步骤如下:首先计算抽象节点的集合中每个元素的外部原因集合和外部影响集合,从而得到空原因集和空影响集,然后根据每个元素外部原因和外部影响元素个数之和降序排列;然后对排序后集合进行遍历,选择一个节点作为种子节点,再遍历集合后面的元素,判断两节点能否满足在同一分区的条件,若满足条件则将该节点加入到集合中作为同一分区元素,同时将该元素在集合中删除。

进一步的,所述步骤五中图转换算法的具体步骤如下:如果分区中有一个元素抽象级别为隐藏,或者分区所有元素标记为空,或该分区为空原因集或空结果集,则删除该分区,否则进行替换操作,即将分区所有节点的标记作为一个新的抽象节点的标记,得到需要的关键视图。

大数据领域的不同用户对起源图中信息关注程度不同生成不同关键视图的问题,提出了基于PageRank算法的关键节点识别算法,继而针对PROV起源图无环性的特性对PageRank算法进行改进,求出图中所有节点的关键度,制定关键节点发现策略得到该用户对应的图中的关键节点,然后通过分区算法对非关键节点进行“分区”,最后通过图抽象技术对PROV图进行“抽象”,从而得到关键视图。

本发明针对不同用户对起源图中信息关注程度不同生成不同关键视图的问题,引入一种关键视图发现方法,分别从关键节点识别、非关键节点分区和关键视图生成三方面进行分析,并对方法可行的、有效的进行验证。

与现有技术相比,本发明的优点在于:由于不同用户对起源信息关注程度不同,即不同用户对信息重要性定义不同,为不同用户生成不同关键视图,即可以快速的根据用户的需要发现图中的主要信息。

附图说明

图1为本发明的流程图;

图2为PageRank模型示意图;

图3为PageRank算法流程图;

图4为实施例中的患者诊断记录起源图;

图5为实施例中的改进前节点关键度;

图6为实施例中的改进后节点关键度;

图7为实施例中的改进后实体节点关键度;

图8为实施例中的非关键节点分区结果图;

图9为实施例中的关键视图。

具体实施方式

下面结合具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。

基于PageRank和起源图抽象的关键视图发现方法,包含以下步骤:首先,提出基于PageRank算法得到基于节点分组的起源图中关键节点识别的思想,根据PROV图的特性对PageRank算法进行改进,制定关键节点发现策略得到该用户对应的图中的关键节点;然后,通过分区算法对非关键节点进行“分区”;最后通过图抽象技术对PROV图进行“抽象”,从而得到关键视图,并通过实验验证了该思想的可行性,流程如图1所示。

1、PGgu/ea起源图抽象

(1)、同质分组

节点分组的主要任务是定义图形的编辑操作,即如何将指定节点从图G∈PGgu/ea中移除,生成一个新的有效的PROV图G'∈PGgu/ea

分组操作的主要思想为:利用图G=(V,E)∈PGgu/ea(V代表节点集,E代表节点间边的集合)和节点集V的一个子集对图进行重写,生成一个新的图G'∈PGgu/ea。重写即为Vgr中的所有节点作为一组被一个新的节点替换,同时与Vgr相关的关系也被替换为新的关系。

闭包操作:假设起源图G=(V,E)∈PGgu/ea,且有集合对于集合中的任意两个顶点对vi,vj∈Vgr,假如在图G中有一条vi到vj连通的有向边,则将集合定义为该路径上的所有点。Vgr在图G中的路径闭包操作定义为:

扩展操作:假设图G=(V,E)∈PGgu/ea,集合t∈{En,Act}。

在生成抽象图的过程中,将原图中抽象集合中的节点替换为一个新的节点,需要删除图中部分节点间的关系,同时需要引入一系列的关系,将抽象节点与图中与其相关的节点连接起来。

设图G=(V,E),是通过扩展操作得到的需要抽象的节点集合,vnew表示替换后的抽象节点。replace函数将V'gr替换为vnew,并将vnew节点根据一定的方式来与图中与其相关的节点相连。

由于V'gr被新的节点替换,因此,需要删除图G中V'gr与VV'gr之间的边,下面分类对这些关系进行定义。

1)将vout(V'gr)定义为图G中需要删除的V'gr的引出边,即从V'gr中引出到VV'gr中边的集合,定义为:

vout(V'gr)={(v,v')|v∈V'gr,v'∈VV'gr}(3)

2)将vin(V'gr)定义为图G中需要删除的V'gr的引入边,即从VV'gr中引入到V'gr一系列边的集合,定义为:

vin(V'gr)={(v,v')|v'∈V'gr,v∈VV'gr}(4)

3)将vint(V'gr)定义为图G中需要删除的V'gr的内部边,V'gr内部节点之间的边,定义为:

vint(V'gr)={(v,v')|v,v'∈V'gr}(5)

由于生成抽象图中添加新的节点vnew,为了保证图的连通性及有效性,需要在vnew与VV'gr之间添加适当关系的边。

1)将v'out(V'gr)定义为需要增加的引出边,即从vnew中引出到VV'gr中边的集合,定义为:

2)将v'in(V'gr)定义为需要增加的引入边,即从VV'gr中引入到vnew一系列边的集合,定义为:

replace函数将每条属于vout(V'gr)的边替换为同一类型的边arc(vnew,v),同时将每条属于vin(V'gr)的边替换为一条同一类型的边arc(v,vnew),而那些属于vint的边则随着节点V'gr一起被删除。

我们很容易就可以证明,通过替换操作得到的新的抽象图中的节点与边的关系类型都是正确的。根据上文可知,通过扩展操作得到的V'gr集合中所有的终点都是类型t∈{En,Act}的,而且新构造的节点vnew也是类型t∈{En,Act}的,因此,用vnew来替换V'gr不会产生节点类型不一致的情况;同时,由于新引入的边都是用相同类型的边替换,因此,也不会引入类型不一致的边。由此可见,替换操作保证了类型的正确性。下面正式的定义替换操作:

替换操作:在图G中将Vgr替换为vnew公式为

vout(Vgr)、vin(Vgr)、vint(Vgr)为图中要删除的边

v'out(Vgr)、v'in(Vgr)为图中新引入的边

删除操作:设图G=(V,E),是待删除点的集合。通过删除操作产生一个新的起源图G'=(V',E'),其中:

通过以上定义,我们可以定义PGgu/ea模型中同质分组操作:

同质分组操作:设图G=(V,E)∈PGgu/ea,Vgr∈V是同一类型的节点集,vnew是一个Vgr类型的新的节点(vnew=type(Vgr)),则同质分组的定义为:

Grouphom(G,Vgr,vnew)=replace(extend(pclos(Vgr,V),V,type(Vgr)),vnew,G)(10)

(2)、异质分组

异质分组就是Vgr中包含不同类型的节点时的分组操作,由于不能通过type(Vgr)函数得到新的节点的类型,因此需要指定替换节点的类型,而指定的类型不同生成的抽象图也会不同。我们将异质分组操作称为t-grouping,其中t∈{En,Act}。当指定类型为En时称为e-grouping,当指定类型为Act时称为a-grouping。

异质分组操作:设图G=(V,E)∈PGgu/ea,Vgr∈V,t∈{En,Act},vnew是新指定的t类型的节点,则异质分组的定义为:

Group(G,Vgr,vnew,t)=replace(extend(pclos(Vgr,V),V,t),vnew,G)(11)

一个合法的PROV图需要同时满足两种类型的约束条件:类型约束和时序约束。前面在定义节点分组操作的过程中只考虑了形式上的类型约束,并没有考虑时序约束。

简单的说,时序约束包括以下几个条件:

(1)如果一个实体由两个及以上的活动产生,那么这些活动需同时发生;

(2)实体必须生成后才能使用;

(3)活动使用实体必须发生在活动发生的过程中;

(4)活动生成实体必须发生在活动发生的过程中。

为保证生成的抽象图满足时序约束条件(1),需要对e-grouping操作生成的图进行时序条件验证,如果生成的抽象图中的抽象节点与多个活动节点相关,则需要对与抽象节点相关的活动节点进行分组,然后执行a-grouping操作,将这些节点抽象为一个活动节点。具体定义如下:

严格分组操作:设图G=(V,E)∈PGgu+/ea,Vgr∈V,vnew是一个En类型新节点,G′=(V′,E′)=Group(G,Vgr,vnew,t),是图G'上与新生成的节点vnew相关联的活动节点的集合,那么

当分组操作是同质的a-grouping操作时,strict t-grouping与t-grouping一致。

在对起源图进行抽象的过程中可能会引入环路,这将对起源图造成很大的影响。为了更好的解决这个问题,我们对抽象节点的使用事件和生成事件进行重新定义。

抽象节点生成事件:设Vgr∈V和vnew是替换Vgr的抽象节点,生成活动a,那么:

接下来,我们定义抽象节点vnew的使用事件,即Vgr节点中最先使用的事件,具体定义如下:

抽象节点使用事件:设Vgr∈V,G'=(V',E')是新的抽象图,vnew∈V'是新的抽象节点。如果存在一个活动a∈V',使得used(a,vnew)成立,那么:

通过以上定义,保证了生成图中关系的有效性,但是根据两个定义可知,若抽象节点的使用和生成关系同时成立,需要原图Vgr中所有的实体生成之后才可以使用,因此,需要添加额外的约束关系。

2、基于PageRank算法的关键节点识别

PageRank算法是针对于Web系统设计的,核心思想为:指向某页面的链接将增加该页面的PageRank值。即指向页面的数量越多、质量越高,该页面的PageRank值越大。PROV图是一个复杂的有向图,符合PageRank算法计算的理论基础。将起源图中的节点作为Web系统中的页面,起源图中的边作为Web系统中的链接,通过PageRank算法计算出PROV图中每个节点的影响力。

基本假设:在PageRank算法提出之前,很多搜索引擎通过网页的入链数量评估页面的影响力,该方法中网页的入链数量越多,说明该网页越重要。PageRank算法不仅考虑网页的入链数量而且考虑了入链网页的质量,一个网页的入链数量很多但是入链网页的质量很差,则该网页的重要性在一定程度上受到影响。

简单来说,PageRank算法基于以下两个基本假设:

(1)数量假设:一个页面的入链数量越多,则这个页面越重要。

(2)质量假设:指向一个页面的入链质量不同,一个页面的质量越高其通过链接向其他页面传递的值越大。

基本思想:PageRank算法充分考虑了上述的两个基本假设,其基本思想如下:

(1)通过网页间链接关系构建Web图;

(2)为每个页面设置初始PageRank值;

(3)通过多次迭代计算,得到每个页面的PageRank值。

在迭代过程中,更新页面PageRank值的方法为:每个页面将其当前计算得到的PageRank值平均分配到本页面指向的页面上,然后分别对每个页面中所有入链页面传入的值累加,求和结果即为该页面更新后的PageRank值。

假设一个节点A的入链为P1,P2,P3,…,Pn,设PR(A)表示节点A的PageRank值,PR(Pi)表示Pi节点的PageRank值,L(Pi)表示节点转发的总次数,则值的计算公式如下:

如图2所示为一个简单的PageRank模型。该模型由4个页面组成,B、C、D三个页面都指向A页面,同时B页面也指向C页面,D页面也指向B页面和C页面。由于一个页面只能投1次票,所以B页面投给A、C两个页面的票数只能算半票。同样,D页面只有三分之一的票投到了A页面。因此,A页面的PageRank值为:

为了解决终止点问题(一些网页不指向任何网页)和陷阱问题(网页存在指向自己的链接),对上述公式进行修改,对于页面Pi,其PageRank值为:

其中,α是阻尼系数,通常为0.85;P1,P2,…,Pj,…,Pn是链入Pi的页面;L(Pj)是Pi页面包含的出链数目;N是模型中所有页面的总数。

由所有页面的PageRank值构成一个向量R

R可以通过以下方程得到:

其中,邻接函数l(Pi,Pj)的定义为:对第j列每个元素,当Pj没有指向Pi的链接时,l(Pi,Pj)=0;当Pj有指向Pi的链接时,即该列所有值的和为1。

算法实现:PageRank值可以采用乘幂法通过矩阵迭代的方法计算得到,下面首先介绍计算过程中涉及到的几个基本概念:

1)邻接矩阵M。邻接矩阵用来描述具有n个节点的有向网络的连接关系,若节点i与节点j之间有连接关系,则邻接矩阵中mij值为1,否则矩阵中该元素值为0。

2)悬虚节点。如果节点vi没有向外的连接,则节点vi称为悬虚节点。若vi为悬虚节点则邻接矩阵M第i行的所有值为0。起源图中的外围节点即为悬虚节点。因此,起源图中悬虚节点代表起源图的入口。

3)初始向量v。初始向量v是一个n维列向量,表示随机游走到该节点的概率值。通常vi=1/N,N为节点的个数。

4)转移矩阵P。转移矩阵P用来描述vi与vj之间存在一条有向边时,从vi出发到vj的概率。计算时,将邻接矩阵M的每一个元素除以该行所有非零元素的数目,得到转移矩阵P。

5)变换矩阵P'。为了处理图中的悬虚节点,当访问到悬虚节点时,随机进入一个节点,对转移矩阵P进行变换得到矩阵P':

P′=P+d×vT(15)

d表示悬虚节点的n维列向量,如果节点vi为悬虚节点则di=1,否则di=0。

对上文定义的公式进行转换,可以表达为:R=AR

A=(P")T

P"=αP'+(1-α)E

E=e×vT

E表示访问某一节点时,以概率1-α跳到一个随机页面。e为全1的n维列向量。

由R=AR可以看出,PageRank的值等于矩阵A的主特征向量。可以通过乘幂法计算矩阵A的主特征向量,递归地用矩阵A乘以一个初始向量直到其收敛于主特征向量,可以很方便地计算出PangRank的向量值。算法流程如图3(a)所示。

3、基于改进的PageRank算法的关键节点识别

改进思想:上文提出利用PageRank算法求出PROV图中各节点的PageRank值,从而得到PROV图中的关键节点的思想。然而,由于PROV图的固有特性,因此需对PageRank算法进行适当的改进,使得该算法能在基于PROV图中的关键节点识别中发挥更好的效果。

通过对PROV图及PageRank算法的分析,发现可以从以下两点对该算法进行改进:

(1)由于PROV图中代理节点都是外围节点,而且代理节点只是用来记录数据产生的责任者,用来决定某事物的可信度,对关键视图发现没有关联,因此,不需要研究含有代理的PGgu+/eaAg图。

(2)PageRank算法最初是针对Web系统设计的,其构成的图为有环图,因此其随机游走策略为所随机进入所有节点的概率一致。而PROV图主要记录数据演变的过程,为有向无环图,因此,需修改算法的随机游走策略,游走到各个节点的概率不同,只有悬虚节点可以作为游走的节点。将初始向量v中的悬虚节点设置为1,其余设置为0。

(3)根据PageRank算法求出的PR值求出节点的关键度。通过PageRank算法求出PROV图中每个节点的PR值,根据PR值求得相对PR值(除以向量中最大值)。将相对PR值分为10个区间,每个区间对应一个关键度,对应关系如表1所示。改进后算法流程图3(b)所示。

表1相对PR值与关键度对照表

4、关键节点发现策略

当用户对起源信息进行查看时,指定访问等级s(n)和节点类型,图中关键度不小于指定访问等级的节点以及指定类型的节点即为图中的关键节点,其余节点为非关键节点。不同的访问等级对应的访问视图不同。将非关键节点标记为抽象节点,从而得到需要抽象的点的集合R。具体步骤如下:

(1)定义不允许访问的节点集和已标记的节点集;

(2)遍历图中的节点,若节点类型与输入的指定的节点类型不同,则将该节点加入不允许访问的节点集和已标记的节点集;

(3)再次遍历图中的节点,若节点不属于已标记的节点集并且节点的关键度小雨输入的指定的访问等级,则将节点加入不允许访问的节点集和已标记的节点集;

(4)输出不允许访问的节点集R。非关键节点分区

采用最优分区算法,首先对分区过程中涉及到几个概念:

外部原因(external causes)即当前节点是外部节点产生的原因。

外部影响(external effects)即当前节点是由外部节点产生。

限制条件限制条件是为了计算最优分区而定义的分区所有元素都满足的布尔表达式。下面为两个限制条件:

RESTR.1:一个集合中的节点不允许存在软依赖关系。

RESTR.2:分区中的所有节点有相同的评估属性。

根据关键节点发现策略得到需要抽象的节点的集合,可以对节点进行适当的分区简化抽象过程,分区的方式有很多种,本发明提出最优分区算法。算法的主要思想分为两个阶段:

第一阶段首先计算R中每个元素的外部原因集合和外部影响集合,从而得到空原因集和空影响集,然后根据每个元素外部原因和外部影响元素个数之和降序排列。

第二阶段对排序后集合进行遍历,选择一个节点作为种子节点,然后遍历集合后面的元素,判断两节点能否满足在同一分区的条件,若满足条件则将该节点加入到集合中作为同一分区元素,同时将该元素在集合中删除。

访问视图生成:利用上述的最优分区算法和图转换算法生成抽象图,图转换算法是指根据标记信息对所有分区进行抽象或隐藏,生成抽象图的过程。算法的主要思想为如果分区中有一个元素抽象级别为隐藏,或者分区所有元素标记为空,或该分区为空原因集或空结果集,则删除该分区,否则进行替换操作,即将分区所有节点的标记作为一个新的抽象节点的标记,得到需要的访问视图。

实验验证:本实验数据仍采用医疗系统中电子健康档案和临床试验系统收集的起源信息。选取患者一次诊断记录的起源信息并删除图中的代理节点,得到PROV图,如图4所示。

该图描述了患者的一次诊断过程。首先,根据患者以前的电子病历(v19-e1)执行新项目的创建过程(a1),产生一个新的电子病历(v20-e2)。医生在为患者详细诊断后为患者开具处方(e3)和血液检测表(e4),同时更新电子病历生成一个新版本的记录(v21-e5)。血液检测报告创建活动用于生成血液检测报告(e7)和一个新的电子病历(v22–e9)。图中主要信息为电子病历由版本(v19-e1)更新到(v22–e9)。

本实验主要分为三个步骤:

(1)根据改进后PageRank算法计算PROV图中所有节点的关键度

(2)根据分区算法对非关键节点及非指定类型的节点进行分区

(3)通过抽象模型生成关键视图

首先,分别用改进前和改进后的算法,求得图中所有节点的关键度,结果如图5和图6所示。

根据图4描述可知,该图中主要信息为电子病历的版本更迭,因此图中与电子病历相关的节点求出的关键度应该较大。如图5所示,改进前e5节点的关键度最大,e2、a4、e9的节点的关键度相对较大,而如图6所示,改进后e1节点的关键度则最大,e2、e5、a4、e9节点的关键度相对较大。由于e5是由e2演变过来的,所以在PRVO图中e2节点的关键度应该比e5节点的关键度略大或相同,因此,改进后的PageRank算法求出的节点关键度更符合PROV图的实际意义。

此外,由图4可知,e1、e2、e5、e9节点刚好对应电子病历的几个版本。同样说明改进后的算法更适合计算PROV图中节点的关键度。

为了更好的体现以上内容,只关注实体节点,得到图7所示结果。从图中明显看出,改进后PageRank算法得到的结果很好的体现出图4中的重要实体节点。

接下来,根据分区算法对用户非关键节点及非指定类型的节点进行分区。简便起见,本实验指定的用户为审计人员,即该用户可以访问图中所有信息,同时用户指定的访问等级为6,关注类型为实体节点。

由于用户指定的类型为实体节点,因此首先标记活动节点a1、a2、a3、a4、a5且抽象级别为隐藏,用户指定访问等级为6,因此标记关键度小于6的节点e3、e4、e6、e7、e8抽象级别定义为抽象。然后根据分区算法对节点进行分区,得到分区结果{{a1},{a3,a2,e3,a5,e7,e4,e6,a4,e8}},如图8所示。

最后,根据分区得到的结果及其标记信息得到用户指定访问等级对应的关键视图,如图9所示。

通过以上实验得到审计人员指定访问等级为6且类型为实体节点的访问视图。通过该视图用户可以快速的了解到起源图中的重要信息。通过图4的描述可以原图描述了患者诊断记录,其中的主要信息为病历版本的更迭,而图9的结果恰好反应了该过程,因此通过本模型得到的关键视图很好的满足了用户的需要。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号