摘要:
在两个data schemas 或者data instances中做元素的匹配在数据仓库、电子商务等领域都很重要。本文中我们提出了一个匹配算法,基于不动点计算,适用于不同场景。算法以两个图作为输入,输出图中对应结点的映射。根据匹配目标,用过滤器选出一个映射的子集。算法运行后,我们期望用人来检查,看是否需要修正结果。事实上,我们根据需要进行修正的数目来评估算法的准确性。我们引入一个例子,使用accuracy metric 来评估用户利用我们的算法来得到一个初始匹配能节省多少时间。最终,我们讨论了如何把算法部署为高级别的运算符,在一个用于管理信息模型和映射的已实现了testbed中。
Keywords: Matching, Model Management, Heterogeneous Databases, Semistructured Data
1。引言
2。方法概述
3。SF算法
相似度传播图Similarity propagation graph
不动点计算
4。过滤器
限制
选择的度量指标 Selection metrics
5。算法特性的例子
半结构化数据
XML模式
两种不同的基于图的表示:OEM/Lore、XML/DOM standard。在OEM表示法中,元素tags被当作边标注,DOM表示法把元素间的关系表示为特定的边标注“child”。
首先,算法对于不同的表示法产生了相似的结果。其次,例子显示了 使用wider spectrum的边标注,会有一个更快的迭代计算。两种表示法虽然图形大小差不多,但是OEM的相似度传播图笔DOM小一半,而且不动点计算的每次迭代都比较快。
用实例数据来匹配XML模式
查找相关的东西
6。匹配质量的评估
匹配准确性
Intended match result
7。算法和过滤器的评估
8。体系结构和实现
9。算法的局限 Open Issues and Limitations
1。算法只对于有向labeled图有效。当边名唯一或者无向时候,或者当结点之间的区别模糊的时候会退化。
2。只能匹配同类型的模型
3。一个重要假设就是邻接性对相似度传播的贡献。所以如果无法保存邻接性的信息,则算法无法正常工作。
4。算法会给superstructures.更高的相似度
5。算法未考虑顺序和聚合。如果考虑了,对匹配XML很有帮助
6。算法的独立版本不如为一个特定领域开发的matchers有效
10。相关工作
11。结论
参考文献
附录A:内部数据模型
设 U为 Unicode alphabet,U*为在U上定义的字符串集合。 entity集合E,statement集合V用如下的递归定义:
1. U* × U* 属于 E (任何由2个string组合的二元组都是一个实体,第一个string是entity的type或者namespace,第二个string是entity的名字)
2. E×E ×E 属于 V (every tuple of three entities constitutes a statement)
3. V 属于 E (every statement is an entity)
4. V 和 E 是具有以上属性的最小集合.
V的一个子集称为model。以上的定义和终结符基于RDF标准。根据递归定义中的V和E表明,statements可以是嵌套的(一个statement 可以当作另一个statement 中的元素)。在我们的内部数据结构中,嵌套的statement 被用作表示次序关系和聚合。目前,我们文中提到的匹配算法没有用到这些方面。所以,我们不进行嵌套statement 的进一步讨论。我们可以做一个简单的假设:E = U* × U*,V=E
3 。所以,一个 model是E
3 的子集。
在图中,entity就是结点,statement就是边。任何statement (s; p; o),(中间的元素p叫做predicate)用边上的标注来描述。有共同谓词的声明定义了一个实体间的二元关系)
OIM图中,矩形结点被叫做[literals],属于实体 L = {"literal"}× U*。literals和其他实体没有本质区别,我们在图形上区分,主要为了更好的可读性。
模型M1 和 M2 之间的映射可以被从概念上看作一个元组的集合(n1; n2; o),因此belongsTo(n1;M1); belongsTo(n2;M2) 和o都是实际的数字,代表了相似度。当M1 M2 没有共享元素,映射可以被定义为代权的无向双向图。为了把映射当作模型,模型被表示为一个声明的集合。对于每一个元组t = (n1; n2; o),我们建立四个声明:
1. (node(t); type; MapEntry)
2. (node(t); src; n1)
3. (node(t); dest; n2)
4. (node(t); similarity;o)
附录B:算法的通用版本 Generalized version
附录C:传播系数 Propagation coefficients
附录D:算法的收敛性和复杂度 Convergence and complexity of the algorithm
SF的不动点计算可以表达为如下的特征向量计算。T 是一个方形矩阵,和从模型A、B得到的相似度传播图G对应。如果有一条边连接 j = (x; y) 和 i = (x'; y'),传播系数 c, 让矩阵条目 t
ij = c.其他条目都置0 。注意G中传播系数符合跃迁可能性,如果T是一个跃迁矩阵。
当T是一个aperiodic, irreducible matrix (Ergodic theorem)时,不动点计算是收敛的。矩阵 T是 irreducible的,当且仅当 associated graph G 是强连通的(每个结点都可以从任意其他结点达到). 为了保证这些特性,我们可以在G中引入self-loops,通过在不动点方程中包含被加数 o
0。例如,让o
i+1 = normalize(o
0 + p(o
i))。这个方法在文学中被称为dampening(使沮丧?)。如果o
0 赋了一个非零值给A×B中的每一个map pair, 则加上o
0 就相当于把G修改为G
',其中所有结点都通过特定的传播系数互相连接。让 T
'成为和 G'联系的矩阵。
可以如下表示特征向量计算。 设 S 为一个 map pair vector,在每一个位置包含了一个来自o的相似度的值,形成一个map pairs的固定顺序。我们不动点的迭代计算,对应矩阵乘法 T’×S。反复相乘,产生了矩阵T’的占优势的特征向量S*,例如 T’×S* = LS*,其中L是T’的占优势的特征值。在不动点方程中,通过把 T’×S*除以L来进行标准化。
不动点计算符合计算T的马尔科夫链。这个事实提供了一个有趣的对算法的深入透视。因为T符合G上的跃迁矩阵,获得的相似度度量标准可以被视为从pair到pair的随机走动导致的map pairs的固定的概率分布。这个随机的走动符合一个人设计师对A和B的手工匹配过程。从一个给定的map pair 开始,设计师基于A和B的结构性特性来推断和另一个map pair的相似度。假设A和B是关系模式的模型。 如果设计师得出结论 A中的表t1和B中的表t2匹配,则有一个确定的可能性,他/她下一步就是匹配t1和t2中的列。
不动点计算的conversion rate依赖于T的dominant和the second eigenvalue的比率,由G’的结构化特性所决定。较高的dampening values代表了矩阵更快的conversion rate。
复杂度:每次迭代中操作的次数 正比于传播图G中的边数,和模型A、B边数的乘积成正比。
转载于:https://www.cnblogs.com/anf/archive/2006/11/16/562101.html