Similarity Flooding全

摘要:

        在两个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边数的乘积成正比。

你可能感兴趣的:(OO)