EBDI的一个常见问题是优化集成选择操作符的精准性,事实上对一个来自不同数据源的属性而言既是一个问题也是一个机会。问题是选择哪个值,机会是通过获得更多的选择提高整合资源的整体精准性。如果至少有一个数据源提供正确的值,并且该值被选择了,那么组合数据源的精准性会超过任何一个单独资源的精准性。
举个简单的例子,假设两个数据源都只有两个实体,并且每个数据源的第一个实体和第二个实体都是相等的,从而形成两个集成实体。对数据源共享相等的属性,假设第一个数据源的第一个实体提供一个正确的值,第二个实体提供错误的值,第二个数据源的状态相反:第一个实体提供错误的值,第二个实体提供争取的值。在这种情况下,对每个属性而言,每个数据源只有50%的正确性。然而,如果选择操作符被构造成选择来自第一个数据源的第一个实体和来自第二个数据源的第二个实体,这个属性的选择操作符将达到100%的正确性。
在真实世界里情况往往是数据源有很多实体,实际是需要估算每个数据源的整体正确性。在某些情况下,可能只是对每个数据源感知的主观判断,但是在有些情况下是通过验证来自某个数据源的一个样本实体的某个正确的属性值来形成的。在一些实体集合里面,属性值是一致的或者是被验证正确的,甚至在某些情况下被认为是一个来自权威的真理或基准(Talburt, Holland,2003)。对每个数据源的实体而言,它相当于是一个真理集中的实体,来自数据源的属性值的正确性可以被确定,并且在样本里的属性的整体正确性可以被用于估算摸个数据源里属性的整理正确性。
积分操作符计算
积分操作符的计算最好通过图例阐述。表4.6列举了一个具有三个数据源S1,S2和S3的集成环境,为此,实体等价关系X创建出10个整合实体。标记S1,S2和S3中的列包含一个特定的集成属性,可以采取对任何五种值A,B,C,D或null。此外,标记列为每10个集成实体显示了正确的属性值。
显然,正确值的几个是100%正确的。S1有5个正确的值,产生的精确度为50%。S2精确度是40%,S3的精确度只有30%。标记为Naïve的列表明值可以被Naïve选择因为选择。该例中Naïve操作符70%的正确性比S1,S2,S3中任何一个源的正确性更高。
Naïve策略吸引人的地方是它实现简单,而且表现不比最精确的贡献源差。多数情况下,希望它执行结果比最好的源(表4.6)更好,因为当大多数正确的源不提供一个值的时候,其他几乎不太准确的源也许提供一个正确的选择。举个例子,表4.6中,S2提供一个正确的值C给第二行的第二个集成实体,同事S3提供一个正确的值D给第七行的第七个集成实体。
尽管比S1有更好的性能,Naïve策略也不是一直产生最正确的选择操作符。在集成环境下,标记的最好和最坏列里面,一个选择操作符选择 nononull 值的上限和下限。最好的列表是所有而不是一个集成实体,有一个正确的值可选择。这只是对第一个集成实体(第一行)在没有源提供一个正确值的时候。问题是正确的选择并不总是Naïve选择。举个例子看第五航的集成实体。这里Naïve是选择来自S1的值C,即使正确的选项D是被S2和S3同时提供的。
被标记的最好列表明,如果一个集成环境的选择操作符总是能做出正确的选择每当其他数据源提供的时候。类似地,被标记的最坏列表明一个被误导的选择操作符总是做出错误的选择每当错误的,nononull值被其他数据源提供的时候。表4.6表明最坏的选择操作符不会又低于10%的正确性。原因是第七行只有一个nononull选择并且该选择正确。在其他所有情况下,将会产生一个不正确的,nononull选择。
在一个集成环境中,最好和最坏选择操作符表明对任何一个定义的选择操作符的性能极限,并且图例阐述在选择操作符设计时候的两难境地。从一方面说明,使用Naïve策略是一个相对安全的选择,但是它相对最好的操作符也许会功亏一篑。从另一方面,可以通过提供比Naïve操作符更高正确性来设计选择规则,但是风险是设计不好的话会导致最坏的正确性。
图4.1 通过图形阐述了选择操作符的临界值。最优选择操作符和Naïve操作符性能的间距表妹提高的机会。最差选择操作符和Naïve操作符表明拙劣设计的选择操作符的风险。
优化选择策略
当然,在一个真实的集成环境里,如果所有的正确选择已知,所有的讨论就不需要了。然而,表4.6和图4.1里面的例子表明完成一个这样的分析,如果正确的值为实体环境的代表性样本得到或证实。它也可以提高一个方法去创建和测试供选择的选择模型。当然,与任何模型相比,且总存在风险,对真集性能可能无法推断整个集成环境。
虽然Naïve选择操作符在EBDI中通用,但是还有其他许多为优化性能的设计选择操作符和策略的方式。另一个简单的策略是在有三个或三个以上的数据源是投票策略的时候使用。投票策略是基于假设当有一个有影响的值,且该值可能正确。在这个案例中,没有有影响的值,Naïve规则能适用。应用投票/Naïve策略相结合的结果是表4.6的例子显示如表4.7。
在这个例子中,该投票规则使用于第3,4,5刚的三个集成实体。在第3,4行,投票规则支持Naïve选集,因此选集被改变。然而,在第5 行,投票选集是正确的值D,该值会代替有Naïve规则选择出来的错误值C。结果是投票操作符相对没有投票的Naïve操作符70%的正确率,它的正确率达到80%。尽管这个例子里面没有这种情况,投票选集是有可能不正确的,并且会覆盖一个正确的Naïve选集。然而,投票策略的假定是前者比后者更加可信。
在这个例子的集成环境中,竟然投票操作符没有成功大道最好的最可能的正确性。由Naïve规则为这个第6行的集成环境选择的值D对这个实体而言是不正确的,投票规则也不适用。为了大道集成环境的最高最可能的正确率,应该有一个额外的规则,这个规则会被来自第8行源S2的不正确的值D的Naïve集锁覆盖,取而代之的是从S3里面去一个正确的值B。
设计一个解决该问题的规则集有许多办法。一个简单的方式是设置一个额外的规则集:如果该源只提供两个值B和D,那么一般选择B。一个新的操作符是第一适用于投票股则,第二,新的“Bover D”规则,第三,Naïve规则将作为一个可以达到该集成环境最好正确度的操作符。
尽管该规则将达到集成环境中最好的精度,但是很明显,它需要人为解决这个情况。如果同样的情况发生在其他集成环境,那就没有理由相信在某些情况下选择B或D将给得到一个正确的值。为了证明如下规则合法,有必要有一个更大的真集,所以
– 一个给定值的组合的更多例子可以被观察分析
– 一部分记录匹配真集的记录可以为测试规则的有效性而设置
这是数据挖掘和机器学习的一种惯例,输入和期望输出相结合称为训练集。有些输入/输出组合被任意的选择为创建规则的过程,这个过程有时候被称为监督式学习。当规则被创建好之后,它们的性能是通过那些不被用来创建规则的输入/输出组合来衡量的。为了防止规则的开发值用于那些性能良好的用于创建规则的输入/输出的用例,有时候选择-创建-测试 序列会重复多次,这种情况称之为拟合。
有许多监督式学习策略通过分析一些正确或已知结果的样本案例来尝试开发衍生复杂问题的近似解。他们全部以软件计算包括人工神经网络、模糊计算、演化计算、分类算法和支持向量机而著称。