《实体解析与信息质量》 - 3.1.2 SERF模型

斯坦福实体解析框架(SERF)是由HectorGarcia-Molina领导的研究小组(Benjelloun, Garcia-Molina, Kawai, Larson, Menestrina,Su, Thavisomboon, and Widom,
2006
)在斯坦福信息实验室开发出来的。SERF模型中,两个引用的成对解析被抽象成一个匹配方法(match function M),该方法通过操作一对实体引用返回一个布尔类型的真假值,这个值表明该引用对是否是等价的。除了匹配方法M,SERF模型还介绍到了一个合并方法(merge function μ),这个方法通过对等价引用对进行操作而生成第三个引用,也就是说这个引用是由原有的两个引用对衍生出来的。

给定一组初始的实体引用R,SERF模型的目的是为了定义什么是R的通用实体解析,表示为ER(R),并且能够找到一组条件确保ER(R)是真实存在的,有限的,并且是独特的。

匹配M和合并μ方法

D代表匹配函数M的域,那么

与FSM不同,SERF模型并没有指定一个特定的匹配方法。然而,为了实现一个唯一定义的ER(R),M必须满足后面即将讨论到的一些特定约束。

合并方法μ通过结合两个引用的属性值抽象出概念。它也同样运行在与方法M相同的域D中,但是只用来匹配引用。

这意味着衍生出来的引用不仅相对于初始的引用R具有可比性,而且对于其他的派生引用也是具有可比性的。方法M和μ可以被认为是由递归生产规则所组成的,即从R开始生成D,然后增加来自于匹配引用对的派生引用。

在下面这种情况下:

这种情况下r1主导r2。考虑到合并方法是一种整合属性值的方法,r1主导r2说明了r2没有除了r1的属性以外的新的属性值可以贡献到派生(合并的)引用中,也就是r1的属性值包含了所有r2的属性值。

一般的ER定义

根据SERFER模型,一般ER可以定义如下:给定一组引用R,一个如之前定义的域为D的匹配方法M和合并方法μ,即:

那么:

·        来自于R的任何记录不是在ER(R)中,就是被ER(R)中的某一条记录所主导

·        ER(R) 中的任意两条记录都是不匹配的(非等价),ER(R)中的任何记录都不能被其中的其他记录所主导

然而,在匹配和合并方法上没有进一步的约束,对于给定的R,ER(R)可能就不存在,或者不是唯一的。一个简单的定义R,M和μ的例子如下:

a)R={x, y}

b)M(x, x) =M(y, y) =M(x, y) =M(y, x) =True

c)μ(x, x) =μ(x, y) =x

d) μ(y, x) =μ(y, y) =y

这种情况下,有两种截然不同的结果:

由于x与y是相互匹配的,一般ER的第二个规则就限制了x和y都存在于ER(R)中。然而,因为上面的c)条件中x主导y,结果中ER(R)仅包含x就足够了。同时,d)条件中表明y主导x,也允许了ER(R)仅包含y作为一种方案。

上面两种结果都是有可能的,因为合并方法缺乏对称性的定义。所以对于我们对合并方法直观的预期是忽略它们的顺序。在匹配和合并方法上添加这个条件还有其他的一些约束可以缓解这些问题。

一致的ER

根据SERF模型,当匹配函数M和合并函数μ满足某些条件时,ER(R)可以说是一致的,这意味着ER(R)是存在的,有限的,并且是独一无二的。在M和μ上用来定义一致的ER的附加约束如下:

1. Ifr1, r2 ∈ D, then M (r1, r2) = M (r2, r1) and μ (r1, r2) = μ (r2, r1)

2. Ifr ∈D, then M(r, r) =True and μ(r, r) =r

3. Ifr1, r2 ∈ D, then M (r1, μ (r1, r2)) = M (r2, μ (r1, r2)) =True

4. If r1, r2, r3 ∈ D, then μ (r1,μ (r2, r3)) = μ (μ (r1, r2), r3)

R-Swoosh算法

除了定义通用的ER和一致的ER,信息研究小组还研究出了一系列的系统应用匹配和合并方法来实现ER(R)。最基本的就是R-Swoosh算法(Benjelloun, et al., 2006)。R-Swoosh算法的输入是初始的引用集R,输出就是ER(R)
。R-Swoosh算法的步骤可以描述如下:

1.      令 D = R , ER(R) = ?

2.      从D中取第一个引用x,从ER(R)中取第一个引用y

3.      求值M(x, y)

a.      若M(x, y)的值为True

i.           生成z=μ(x,y)

ii.            从ER(R)中移除y,D中移除x

iii.           添加z到D中

iv.           重新执行步骤2

b.     否则用ER(R)中的下一个y,重新执行步骤3

4.      如果对于ER(R)中的任意一个y,M(x, y)结果都不为真,那么

a.      将D中的x移到ER(R)中,

b.     如果D中有其他的引用可以处理,那么重新执行步骤2,否则该算法结束。

下面是R-Swoosh算法的一个例子,表3.1中的五组引用集R,代表了学生登记记录信息。


First


Last


DOB


SCode


r1


Edgar


Jones


20001104


G34


r2


Mary


Smith


19990921


G55


r3


Eddie


Jones


20001104


G34


r4


Mary


Smith


19990921


H17


r5


Eddie


Jones


20001104


H15

表3.1 引用集R

若x和y代表两个引用,那么匹配函数M(x,y)只有当其中一个或两个都满足以下条件时才返回结果为真:

1.      (x.First = y.First) and (x.Last=y.Last) and(x.DOB = y.DOB)

2.      (x.Last = y.Last) and (x.DOB = y.DOB) and(x.SCode = y.SCode)

R中的10个不同的引用对,只有三对 (r1,r3),(r3,35)和(r2,r4)的匹配函数会返回结果真。

合并函数被定义为通过收集x和y的不同属性值来创建一个新的引用,那么

·        μ(x,y).First={x.First, y.First}

·        μ(x,y).Last={x.Last, y.Last}

·        μ(x,y).Last={x.DOB, y.DOB}

·        μ(x,y).Last={x.SCode, y.SCode}

使用表3.1中定义的R,还有之前定义的M和μ,R-Swoosh算法步骤1中D和ER(R)的初始状态如表3.2所示。


D


ER(R)


First


Last


DOB


SCode


First


Last


DOB


SCode


r1


Edgar


Jones


20001104


G34


r2


Mary


Smith


19990921


G55


r3


Eddie


Jones


20001104


G34


r4


Mary


Smith


19990921


H17


r5


Eddie


Jones


20001104


H15

表3.2 R-Swoosh算法的初始状态

步骤2中,因为ER(R)中没有可选择的值,所以步骤3中ER(R)不满足任何条件。因此,到了步骤4,第一个第一个引用r1就被移到了ER(R)中,如表3.3中所示。


D


ER(R)


First


Last


DOB


SCode


First


Last


DOB


SCode


r2


Mary


Smith


19990921


G55


r1


Edgar


Jones


20001104


G34


r3


Eddie


Jones


20001104


G34


r4


Mary


Smith


19990921


H17


r5


Eddie


Jones


20001104


H15

表3.3 处理完r1后的R-Swoosh

下一次循环到步骤2,r2作为D中的第一个引用被选出,但是它与ER(R)中的r1并不匹配,所以根据步骤4,r2也从中被移到了ER(R)中。结果如表3.4所示。


D


ER(R)


First


Last


DOB


SCode


First


Last


DOB


SCode


r3


Eddie


Jones


20001104


G34


r1


Edgar


Jones


20001104


G34


r4


Mary


Smith


19990921


H17


r2


Mary


Smith


19990921


G55


r5


Eddie


Jones


20001104


H15

表3.4 处理完r2后的R-Swoosh

下一次循环到步骤2,r3作为D中的第一个引用被选出,这种情况下,r3与r1匹配。根据步骤3,r3和r1分别从D和ER(R) 中被移除,并且μ(r3, r1) 被增加到D中。结果如表3.5所示。


D


ER(R)


First


Last


DOB


SCode


First


Last


DOB


SCode


r4


Mary


Smith


19990921


H17


r2


Mary


Smith


19990921


G55


r5


Eddie


Jones


20001104


H15


r6


{Eddie, Edgar}


Jones


20001104


G34

表3.5 处理完r3后的R-Swoosh

下一次循环到步骤2,r4作为D中的第一个引用被选出,这种情况下,r4与r2匹配。根据步骤3,r4和r2分别从D和ER(R) 中被移除,并且μ(r4, r2) 被增加到D中。结果如表3.6所示。


D


ER(R)


First


Last


DOB


SCode


First


Last


DOB


SCode


r5


Eddie


Jones


20001104


H15


r6


{Eddie, Edgar}


Jones


20001104


G34


r7


Mary


Smith


19990921


{H17,G55}

表3.6 处理完r4后的R-Swoosh

下一次循环到步骤2,r5作为D中的第一个引用被选出,然而,ER(R)是空的,所以根据步骤4,r5从D中被移到ER(R)中。结果如表3.7所示。


D


ER(R)


First


Last


DOB


SCode


First


Last


DOB


SCode


r6


{Eddie, Edgar}


Jones


20001104


G34


r5


Eddie


Jones


20001104


H15


r7


Mary


Smith


19990921


{H17,G55}

表3.7处理完r5后的R-Swoosh

下一次循环到步骤2,合并的引用r6作为D中的第一个引用被选出,这种情况下,r6与r5匹配。根据步骤3,r6和r5分别从D和ER(R) 中被移除,并且μ(r6, r5) 被增加到D中。结果如表3.8所示。


D


ER(R)


First


Last


DOB


SCode


First


Last


DOB


SCode


r7


Mary


Smith


19990921


{H17,G55}


r8


{Eddie, Edgar}


Jones


20001104


{G34, H15}

表3.8处理完r6后的R-Swoosh

下一次循环到步骤2,r7作为D中的第一个引用被选出,但是,ER(R)又变成空的,所以r7从D中被移到ER(R)中。结果如表3.9所示。


D


ER(R)


First


Last


DOB


SCode


First


Last


DOB


SCode


r8


{Eddie, Edgar}


Jones


20001104


{G34, H15}


r7


Mary


Smith


19990921


{H17,G55}

表3.9处理完r7后的R-Swoosh

最后一次循环到步骤2, r8作为D中的第一个引用被选出,因为r8与ER(R)中的任意一个记录都不匹配,所以r8从D中被移到ER(R)中。现在D为空的,算法执行结束。最终结果如表3.10所示。


D


ER(R)


First


Last


DOB


SCode


First


Last


DOB


SCode


r7


Mary


Smith


19990921


{H17,G55}


r8


{Eddie, Edgar}


Jones


20001104


{G34, H15}

表3.10处理完r8后的R-Swoosh执行完成的最终结果

FSM中不存在的,而在SERF模型中存在的一个可区分的特征就是合并方法。在FSM中,是否等价取决于一对一的两两比较。简而言之,FSM匹配方法的输出结果为True,意味着两个引用是等价的,为Fasle说明引用是不等价的。这样做的原因是底层的FSM假设在链接的两个列表之中没有等价引用,而等价引用仅存在于两个列表之间。这就消除了列表A中的两个不同引用与列表B中的一个单个引用匹配的情况,若使列表A中的两个引用等价就违背了上面的假设。

R-Swoosh算法中,的确任何两个原始引用匹配就被认为是等价的。但是,如果两个引用不匹配,它们是否等价应该等到算法执行结束后决定。R-Swoosh算法的净效果是最终的ER(R)集合中相同合并记录中的任何两个引用都是等价的。在上面的例子中,虽然M(r1,r5)的结果为False,也就是,r1与r5不匹配,但是原始引用r1,r3和r5都被合并到了单一记录r8中。通过保留合并记录,R-Swoosh算法能够执行传递链接并且创建在第一章中描述到的r1,r3和r5的传递闭包。这是第一章讨论到的身份捕获ER架构的基础,也是第六章讨论到的OYSTER开源实体解析系统的内在逻辑。

其他的Swoosh算法

除了基本的R-Swoosh算法,信息实验室的研究小组还开发出了一些其他的算法,目的是在并行和分布式系统架构中优化ER性能。D-Swoosh算法(Benjelloun, Garcia-Molina, Kawai, Larson, Menestrina,Thavisomboon,
2006
)是为了分布式处理架构研究的,P-Swoosh算法(Kawai, Garcia-Molina, Benjelloun, Menestrina, Whang,Gong, 2006)是为并行架构研究出来的。Bufoosh算法(Kawai,
Garcia-Molina, Benjelloun, Larson, Menestrina,Thavisomboon, 2006
)是为了解决ER中缓存算法相关的问题。

其他ER算法

除了Swoosh算法,还有许多其他的方法通过系统地比较引用对来确定等价引用。大多数算法是关注在用最低成本实现来提高算法的效率。假设一个引用集N,最坏的情况是所以可能的记录对都进行了比较,导致了比较对的总数等于

这就意味着比较对的数目以引用数目的平方增加,也就是,引用数目的加倍导致了比较对增加了四倍。Brizan
和 Tansel (2006)
称这个方法为”brute force” ,他们还讨论了其他的一些算法方法,例如“canopy,”“sliding window,” “bucketing,” 和 “hierarchical,”,以及这些算法的相对计算效率。以上这些算法,包括Swoosh算法,都属于merge-purge算法,尽管合并操作通常都是虚拟的,而不是显示发生的。当等价记录被一个通用的链接成功组合后,虚拟合并就发生了,而不是把他们真实地合并到一个结构中。若引用等价于一个组当中的任何一个引用(通过匹配或其他方法),那么它就被认为与一个组中的所有引用等价,并且它也成为了这个组中的一个成员。

除了真实引用的合并与整合虚拟引用到一个组相关实现之间的不同,还有一个逻辑上的差异。即从不同引用合并身份属性可以创建”phantom”引用。比如说,一个引用的属性A1的值为x,属性A2的值为y。类似的第二个引用使相应的属性A1的值为z,属性A2的值为w。这意味着合并引用在交叉结合A1,A2的值的情况下也是匹配,即(x,w)和(z,y)匹配。这些值的结合可能不会出现在一个虚拟合并的情形下,因为组合这些值是与真实的引用输入直接相关的。因为这个原因出现了许多这样的场景,ER流程创建合并引用将会生成一个不同的ER结果,而不是取决于聚集虚拟引用的过程。

时间: 2024-10-06 14:13:49

《实体解析与信息质量》 - 3.1.2 SERF模型的相关文章

《实体解析与信息质量》- 2.1.6 IQ与HPC

IQ与HPC 即使在现如今,大规模的数据处理以及虚拟无线内存不再像以前那么昂贵的时代,那些历史遗留下来的极简风格的数据内容,还是不断的困扰着现代信息系统.高性能计算(High-performance computing, HPC)如今已经不再仅仅是研究实验室里的玩物了,在近期兴起的云计算(Cloud computing)以及软件即服务(Software as a service, SaaS)(Knorr, 2008)将HPC带入了几乎任何组织当中. 正如实体解析模型中的许多术语是来自实体-关系模

《实体解析与信息质量》- 2.1.7 信息质量的演变

尽管信息质量是最近才被归并为一门学科,但是它在作用范围和意义上已经经历了好几个阶段的演变.分别是数据清洗,预防,产品概述和企业资产这几个阶段. 问题认知:数据清洗阶段 九十年代初期,在Inmon (1992),Kimball, etal. (1998) 等人的共同努力下,来自于数据仓库运动中的大部分概念和当前的实践所形成的信息质量,开始变得普及起来.大多数组织机构都不知道如何处理操作性数据存储的质量不佳和数据之间的不一致性,直到他们开始尝试着将其整合成一个统一的数据存储仓库. 也正是在这个时候,

《实体解析与信息质量》- 2.1.5 信息及过程

从最基础的层面上来说,信息质量是关于信息本身的知识,然而到目前为止,我们讨论的更多的则是有关信息处理的过程.尽管我们已经进入了所谓的"信息时代",然而这么久以来,我们很少能够真正的将信息(数据)以及对数据处理的过程这两者区分开来.直到今天,所谓了信息时代如今更像是变成了"科技时代".这种差异性可以追溯到当年计算机系统的内存还十分有限,大多数问题都要靠高效的算法来解决的时代.存储系统过小也导致了大多数数据是以非常精确和压缩的形式保存,并且除非绝对需要,否则会以离线方式

《实体解析与信息质量》 - 3.1.0 概述

本章将要介绍三种ER模型,这些模型分别涵盖了ER流程的不同层面,相互之间进行补充.第一个也是最先被讨论的模型是Fellegi-Sunter模型,该模型讨论的是如何利用直接匹配进行等价引用链接的方法.为处理概率匹配下的等价匹配问题,Fellegi-Sunter模型还提供了一种特殊的算法.我们要讨论的第二个模型是斯坦福实体解析框架(SERF),该模型针对ER的一般处理流程,定义出一系列通用术语,其中包括引用对之间的匹配,整合等操作.不同于Fellegi-Sunter模型,SERF模型并不定义关于匹配

《实体解析与信息质量》 - 2.2.0 总结

信息质量的基本原则,就是为了将组织中的信息的价值最大化.信息的质量水平也直接与信息在其应用中所产生的价值关联.而数据质量则是信息质量的一个重要组成部分,它是根据预定义好的规格及需求,如何对数据进行评估,优化以及维护的实践.作为一种原则,信息质量覆盖了范围很广的知识以及技能的因素.IAIDQ IQ框架乃是由六个领域的内容所组成,其中包括:信息质量策略,政策以及监管:创建可推动信息质量发展的企业文化和环境:理解,量化并使信息质量价值与商业影响互相联系:确保组织信息架构对信息质量的支持:衡量并优化信息

《实体解析与信息质量》 - 2.2.1 复习题

1.      从財务的角度上怎样定义"资产"?信息在哪些角度符合这种定义?又在哪些角度不符合? 2.      信息质量的度量单位是什么? 3.      举例来说明这样一种情况:同一条信息在它的当中一个应用中具有较高质量.在还有一个应用中的质量则较低. 4.      找到一篇关于信息质量或数据质量的多维度框架的文章或书籍. 解释它与Wang-Strong框架的差别以及同样之处. 5.      解释从适用性角度的信息产品质量定义与从应用价值角度的信息产品质量定义之间的关系.上网查

《实体解析与信息质量》- 2.1.9 信息质量(IQ)和实体解析(ER)

IQ和ER最直接的联系就是在第一章中所讨论到的实体引用准备流程(ERA2).但是其实IQ和ER在其他方面也有着关联.ER过程一直都是IP创建的一部分,ER流程的有效性将会直接影响IP的质量.在某些情况下,ER过程就是公司将他们的ER和CDI服务提供给他们客户作为产品的IP.更经常的是,ER将作为实体数据(EBDI)集成的一个中间过程,EBDI是在第四章中详细讨论的话题.这将产生一个反馈循环,即在一个ER过程提高数据质量输入将产出高质量信息产品,反过来高质量输入进行连续的处理,而其中的一些处理也可

Jsoup登录解析网页信息

今天解析网页的时候,遇到必须登录后才能够访问的问题,在网上搜索了一些资料,反正有人做出来了,不过是使用HttpClient+Jsoup来实现的,我不清楚他们使用什么版本的Jsoup,地址:  HttpClient模拟登陆人人网,并且爬取日志内容(一),http://bbs.csdn.net/topics/390269063,查看现在的Jsoup API,可以直接模拟登陆,获取服务器返回的信息. 我这里是使用水木社区做Demo,其中下面的id和passwd分别是提交form表单中用户名和密码的

java:Hibernate框架3(使用Myeclipse逆向工程生成实体和配置信息,)

1.使用Myeclipse逆向工程生成实体和配置信息: 步骤1:配置MyEclipse Database Explorer: 步骤2:为项目添加hibernate的依赖: 此处打开后,点击next进入下个页面: 此处选择,主键自增,然后点击Finish: