数据操作执行、数据质量度量和数据元素联接方法和系统的制作方法

文档序号:6523239阅读:340来源:国知局
数据操作执行、数据质量度量和数据元素联接方法和系统的制作方法
【专利摘要】本发明提供了一种用于执行从数据存储系统接收关键字并返回一个或多个数据元素的数据操作的方法和系统、一种用于对数据存储系统中的数据元素的数据质量进行度量的方法和系统、以及一种用于对来自存储在至少一个数据存储系统中的两个或多个数据集合的数据元素进行联接的方法和系统。所述用于执行从数据存储系统接收关键字并返回一个或多个数据元素的数据操作的方法包括:基于关键字和数据元素的一个或多个搜索字段的值之间的候选匹配,确定多个候选数据元素;以及基于与搜索字段不同的候选数据元素的一个或多个比较字段的值对候选匹配进行确证。
【专利说明】数据操作执行、数据质量度量和数据元素联接方法和系统
[0001]本申请是申请日为2009年10月23日、申请号为200980142344.3、发明名称为“模糊数据操作”的发明专利申请的分案申请。
[0002]相关申请的交叉引用
[0003]本申请要求2008年10月23日提交的名为“模糊数据操作”的N0.61/107,971号美国申请的优先权,其通过引用被包含于此。
【技术领域】
[0004]本描述涉及数据管理领域中的模糊数据操作,特别涉及执行数据操作的方法和系统、度量数据质量的方法和系统、以及联接数据元素的方法和系统。
【背景技术】
[0005]在数据管理中采用例如聚类(cluster)、联接(join)、搜索(search)、上卷(rollup)和排序(sort)的数据操作来处理数据。聚类是将数据分类为不同组的操作。联接将两片数据组合在一起。通过关键字(key)的搜索找到与该关键字匹配的数据条目。上卷跨过(across) —组数据计算一个或多个层次的子和(subtotal,或者其他组合)的操作。排序是对数据安排顺序(order)的操作。
[0006]在数据管理中数据质量很重要。由数据操作导致的错误或者不准确使数据质量退化。例如,将ABC公司的雇员John Smith分类为临时工作人员或者永久工作人员使JohnSmith享有不同级别的福利(benefit)。对John Smith的雇佣状态的错误分类,例如数据操作聚类中的错误,影响ABC公司的人力资源数据的质量。
[0007]数据操作的某些实施方案依靠字段值(“关键字(key)”)的精确比较来标识匹配的记录、定义相关记录的组或者链接记录。当数据有不明确性(ambiguous)、不精确、不完整或者不确定时,基于字段值的精确比较的方法可能失效。
[0008]当存在与例如聚类的数据操作相关联的内在(inherent)不明确性时,一种解决不明确性的方法可以是简单地忽略不明确性并强制一片数据进入特定组中。例如,ABC公司的雇员John Smith既为营销部门工作也为研发部门工作。在ABC公司的人力资源数据库中,John Smith可以与营销部门或研发部门相关联,但是经常只和一个部门相关联。将该片数据强制分类到特定组可能掩盖内在不明确性并对数据质量有不利影响。
[0009]当存在与例如聚类的数据操作相关联的不确定性时,由于未决的事件结果,例如实体A和实体B之间的涉及一件资产的所有权的法律纠纷,强制一片数据进入特定组中可能并非是解决该状况的易变性的最佳方法。在判决之前,资产的所有权是不确定的。将该资产分配给A或者B结果均可能是不准确的。
[0010]当存在与例如上卷的数据操作相关联的不确定性时,由于组成员资格的不明确性标识,将成员资格分配给几个替换(alternative)之中的一个组来维护(preserve)会计诚信(accounting integrity)可能给出误导性的图景(picture)。例如,出于风险评估和监管的目的,银行可能对确定其对于对手方的贷款风险感兴趣。经常通过公司名称标识对手方,由于公司名称的记录形式上的广泛可变性,会导致不明确的标识。反之,这意味着将贷款风险分配给对手方是不明确的。会发生与一个公司正确地相关联的贷款被在几个明显不同的公司之中划分,它们实际上只是这一个公司的名称的变化形式。这导致低估了银行对任一单个对手方的风险。或者,如果在替换之中做出了任意的选择,则会将风险错误地分配给一个对手方尽管该风险正确地是属于另一对手方的,从而可能高估了对第一家的风险并低估了对第二家的风险。
[0011]当存在与例如联接的数据操作相关联的不确定性时,由于不正确或者丢失的信息,强制一片数据进入特定组或者忽略该片数据可能导致错误的联系或者信息损失。例如,当试图联接来自两个不同数据库的表格时,经常不存在数据库表格共享的公共关键字。为了克服这一点,表格内的数据,例如客户地址,用于推断两个数据库中的记录之间的关系。但是,地址信息可能不正确或者不完整。假设对照权威性的参考集合(例如邮政地址文件)的地址有效性表明表格A中的记录上的房屋号码是无效的(不存在具有该房屋号码的房屋),而在表格B中存在可能是地址的有效替换的完整形式(alternative completion)的多个地址。任意地选择表格A中的记录中的地址的完整形式可能导致错误的联系,而忽略记录则导致信息损失。
[0012]当由于错误的数据录入(entry)而存在与例如搜索的数据操作相关联的不明确性时,一种方法是提出单个替换或者替换修正的简单列表。如果这是操作者录入数据库的数据的验证过程的一部分,则当存在多个替换时单个替换可能导致操作者在接受修正时对安全性的错误感知。如果提供了替换的简单列表,则操作者可能不具有在替换中进行选择的合理根据。如果要求单个选择并且对于错误选择接受数据质量的某种退化,则使数据质量的可能损失最小并量化成为目标。

【发明内容】

[0013]一般地,在一个方面,一种用于对存储在数据存储系统中的数据元素进行聚类的方法包括从数据存储系统读取数据元素。形成数据元素的聚类,每一个数据元素是至少一个聚类的成员。将至少一个数据元素和两个或多个聚类相关联。所述数据元素的属于所述两个或多个聚类的各自一个的成员资格由多义性度量表示。将表示所形成的聚类的信息存储在数据存储系统中。
[0014]多个方面可以包括下列特征中的一个或多个。
[0015]表示数据元素属于所述两个或多个聚类的各自一个的成员资格的不明确性度量的每一个值可以在零和一之间。
[0016]表示成员资格的不明确性度量的值可以与数据元素属于所述两个或多个聚类的各自一个的可能性相关。
[0017]表示数据元素属于所述两个或多个聚类的各自一个的成员资格的不明确性度量的每一个值的和可以是一。
[0018]所述方法可以包括使用不明确性度量的值保持会计诚信。
[0019]通过利用不明确性度量的值对所述数量进行加权来实现对于给定数量保持会计诚信。
[0020]所述方法可以包括执行使用表示成员资格的不明确性度量的值的数据操作。[0021]所述数据操作可以包括在所述一个或多个聚类的第一聚类内计算数量的加权子和的上卷,所述数量与数据元素相关联,并且通过在第一聚类内对所述数量的值和各自的不明确性度量的值的乘积求和来计算所述子和,所述数量的值与第一聚类中的每一数据相关联,所述不明确性度量的值表示第一聚类中的数据元素的成员资格。
[0022]所述方法可以包括计算所述数量的排他子和和所述数量的包含子和,通过在第一聚类中排除与两个或多个聚类相关联的数据元素来计算排他子和,并且通过在第一聚类中包括与两个或多个聚类相关联的数据元素来计算包含子和。
[0023]可以基于函数来建立表示成员资格的不明确性度量的值,所述函数表示所述数据元素和所述两个或多个聚类之间的关系。
[0024]由所述函数表示的所述关系可以与数据元素属于所述两个或多个聚类的各自一个的可能性相关。
[0025]由所述函数表示的所述关系可以基于所述数据元素和表示所述两个或多个聚类的各自一个的元素之间的量化的相似性。
[0026]表示所述两个或多个聚类的各自一个的元素可以是各自聚类的关键字。
[0027]在某些布置中,属于所述两个或多个聚类的每一聚类的数据元素的不明确性度量的值对于每一聚类可以相等。
[0028]属于所述两个或多个聚类的每一聚类的数据元素的不明确性度量的值可以基于观察到的数据元素在基准集合中的频率。
[0029]所述两个或多个聚类的每一聚类均可以表示数据元素中不同的潜在误差,并且数据元素属于所述两个或多个聚类的每一聚类的不明确性度量的值基于由每一聚类表示的数据元素中潜在误差的可能性。
[0030]形成数据聚类可以包括形成数据元素的多个超聚类,并且对于每一超聚类在该超聚类内形成数据元素的聚类。
[0031 ] 形成每一超聚类可以包括基于不同数据元素中的对象之间的变体关系确定不同数据元素中对象之间的匹配。
[0032]第一对象和第二对象之间的变体关系可以对应于表示第一对象和第二对象的之间的距离的函数的值低于预先确定的阈值。
[0033]在某些布置中,所述变体关系可以不是等价关系。
[0034]至少一个数据元素可以在多于一个超聚类中。
[0035]在另一方面,一般地,一种用于对存储在数据存储系统中的数据元素进行的系统包括:用于从数据存储系统读取数据元素的装置;用于形成数据元素的聚类的装置,每一个数据元素是至少一个聚类的成员;用于将至少一个数据元素与两个或多个聚类相关联的装置,所述数据元素的属于所述两个或多个聚类的各自一个的成员资格由不明确性度量表示;以及用于将表示所形成的聚类的信息存储在数据存储系统中的装置。
[0036]在另一方面,一般地,描述了一种存储用于对存储在数据存储系统中的数据元素进行举了的计算机程序的计算机可读介质。所述计算机程序包括指令,用于导致计算机:从数据存储系统读取数据元素;形成数据元素的聚类,每一个数据元素是至少一个聚类的成员;将至少一个数据元素与两个或多个聚类相关联,所述数据元素的属于所述两个或多个聚类的各自一个的成员资格由不明确性度量表示;以及将表示所形成的聚类的信息存储在数据存储系统中。
[0037]在另一方面,一般地,一种用于执行从数据存储系统接收关键字并返回一个或多个数据元素的数据操作的方法包括基于关键字和数据元素的一个或多个搜索字段的值之间的候选匹配,确定多个候选数据元素。基于与搜索字段不同的候选数据元素的一个或多个比较字段的值对候选匹配进行确证。
[0038]多个方面可以包括下列特征中的一个或多个。
[0039]所述数据操作可以包括形成数据元素的聚类,每一个数据元素是至少一个聚类的成员。
[0040]至少一个数据元素可以与两个或多个聚类相关联,所述数据元素的属于所述两个或多个聚类的各自一个的成员资格由不明确性度量表示。
[0041]所述数据操作可以包括在所述一个或多个聚类的第一聚类内计算数量的加权子和的上卷,所述数量与数据元素相关联,并且通过在第一聚类内对所述数量的值和各自的不明确性度量的值的乘积求和来计算所述子和,所述数量的值与第一聚类中的每一数据相关联,所述不明确性度量的值表示第一聚类中的数据元素的成员资格。
[0042]所述方法还可以包括计算所述数量的排他子和和所述数量的包含子和,通过在第一聚类中排除与两个或多个聚类相关联的数据元素来计算排他子和,并且通过在第一聚类中包括与两个或多个聚类相关联的数据元素来计算包含子和。
[0043]表示数据元素属于所述两个或多个聚类的各自一个的成员资格的不明确性度量的每一个值可以在零和一之间。
[0044]表示成员资格的不明确性度量的值可以与数据元素属于所述两个或多个聚类的各自一个的可能性相关。
[0045]可以基于函数来建立表示成员资格的不明确性度量的值,所述函数表示所述数据元素和所述两个或多个聚类之间的关系。
[0046]由所述函数表示的所述关系可以和数据元素属于所述两个或多个聚类的各自一个的可能性相关。
[0047]所述方法还可以包括基于给定数据元素的一个或多个比较字段的值确定给定聚类中所述给定数据元素的成员资格。
[0048]在另一方面,一般地,一种用于执行从数据存储系统接收关键字并返回一个或多个数据元素的数据操作的系统包括:用于基于关键字和数据元素的一个或多个搜索字段的值之间的候选匹配,确定多个候选数据元素的装置;以及用于基于与搜索字段不同的候选数据元素的一个或多个比较字段的值对候选匹配进行确证的装置。
[0049]在另一方面,一般地,描述了一种存储用于执行从数据存储系统接收关键字并返回一个或多个数据元素的数据操作的计算机程序的计算机可读介质。所述计算机程序包括指令,用于导致计算机:基于关键字和数据元素的一个或多个搜索字段的值之间的候选匹配,确定多个候选数据元素;以及基于与搜索字段不同的候选数据元素的一个或多个比较字段的值对候选匹配进行确证。
[0050]在另一方面,一般地,一种用于对数据存储系统中的数据元素的数据质量进行度量的方法包括从数据存储系统读取数据元素。对于数据元素的一个或多个字段中的一个或多个条目中的每一个,计算所述条目的不明确性度量的值。基于不明确性度量的值来输出数据存储系统中的数据元素的数据质量的表示。
[0051]多个方面可以包括下列特征中的一个或多个。
[0052]计算不明确性度量的值可以包括将数据元素的一个或多个字段中的条目和基准值进行比较。对于不与基准值精确匹配的至少第一条目,可以标识一个或多个变体。基于针对所述第一条目的变体,可以计算所述第一条目的不明确性度量的值。
[0053]所述第一条目的不明确性度量的值可以基于针对所述第一条目的变体的数量。
[0054]所述数据存储系统中的数据元素的数据质量的表示可以包括具有指定的变体数量的条目的数量的直方图。
[0055]所述指定的变体数量可以被指定为在一个范围内。
[0056]所述数据存储系统中的数据元素的数据质量的表示可以包括具有大于预定的阈值的变体数量的条目的列表。
[0057]计算不明确性度量的值可以包括确定一个或多个字段中不同条目的各自频率。基于第一条目相较于其他条目的频率的相对频率,可以计算第一条目的不明确性度量的值。
[0058]在另一方面,一般地,一种用于对数据存储系统中的数据元素的数据质量进行度量的系统包括:用于从数据存储系统(12)读取数据元素的装置;用于对于数据元素的一个或多个字段中的一个或多个条目中的每一个,计算所述条目的不明确性度量的值的装置;以及用于基于不明确性度量的值来输出数据存储系统中的数据元素的数据质量的表示的装置。
[0059]在另一方面,一般地,描述了一种存储用于对数据存储系统中的数据元素的数据质量进行度量的计算机程序的计算机可读介质。所述计算机程序包括指令,用于导致计算机:从数据存储系统读取数据元素;对于数据元素的一个或多个字段中的一个或多个条目中的每一个,计算所述条目的不明确性度量的值;以及基于不明确性度量的值来输出数据存储系统中的数据元素的数据质量的表示。
[0060]在另一方面,一般地,一种用于对来自存储在至少一个数据存储系统中的两个或多个数据集合的数据元素进行联接的方法包括基于来自第一数据集合的数据元素中的对象和来自第二数据集合的数据元素中的对象之间的变体关系,确定来自第一数据集合的数据元素中的对象和来自第二数据集合的数据元素中的对象之间的匹配。评价具有被确定为匹配的各自对象的各自数据元素。基于数据元素的评价,将来自第一数据集合的数据元素与来自第二数据集合的数据元素联接。
[0061]多个方面可以包括下列特征中的一个或更多个。
[0062]第一对象和第二对象之间的变体关系可以对应于表示第一对象和第二对象的之间的距离的函数的值低于预先确定的阈值。
[0063]所述变体关系可以不是等价关系。
[0064]确定来自第一数据集合的第一数据元素中的对象和第二数据集合中的第二数据元素中的对象之间的匹配可以包括确定在第一数据元素中的对象和第二数据元素中的对象之间所述变体关系有效。
[0065]确定来自第一数据集合的第一数据元素中的对象和第二数据集合中的第二数据元素中的对象之间的匹配可以包括确定:在第一数据元素中的对象和第一数据集合中的第三数据元素中的对象之间所述变体关系有效,并且在第三数据元素中的对象和第二数据元素中的对象之间所述变体关系有效。
[0066]评价具有被确定为匹配的各自对象的各自数据元素可以包括在各自数据元素中除了被确定为匹配的各自对象之外的对象的比较。
[0067]在另一方面,一般地,一种用于对来自存储在至少一个数据存储系统中的两个或多个数据集合的数据元素进行连接的系统包括:用于基于来自第一数据集合的数据元素中的对象和来自第二数据集合的数据元素中的对象之间的变体关系,确定来自第一数据集合的数据元素中的对象和来自第二数据集合的数据元素中的对象之间的匹配的装置;用于评价具有被确定为匹配的各自对象的各自数据元素的装置;以及用于基于数据元素的评价,对来自第一数据集合的数据元素与来自第二数据集合的数据元素进行联接的装置。
[0068]在另一方面,一般地,描述了一种存储用于对来自存储在至少一个数据存储系统中的两个或多个数据集合的数据元素进行联接的计算机程序的计算机可读介质。所述计算机程序包括指令,用于导致计算机:基于来自第一数据集合的数据元素中的对象和来自第二数据集合的数据元素中的对象之间的变体关系,确定来自第一数据集合的数据元素中的对象和来自第二数据集合的数据元素中的对象之间的匹配;评价具有被确定为匹配的各自对象的各自数据元素;以及基于数据元素的评价,将来自第一数据集合的数据元素与来自第二数据集合的数据元素进行联接。
【专利附图】

【附图说明】
[0069]图1是用于执行基于图的计算的系统的框图。
[0070]图2A是属于多个聚类的数据元素的例子。
[0071]图2B是在聚类上执行的操作的例子。
[0072]图2C、图2D是距离计算的例子。
[0073]图3是模糊聚类的图示。
[0074]图4是模糊聚类的另一图示。
[0075]图5是如何生成模糊聚类的流程图。
[0076]图6示出了模糊搜索的例子。
【具体实施方式】
[0077]可以将用于执行模糊数据操作的技术应用于包括不同形式的存储数据集合的数据库系统的各种类型的系统。如这里所使用的那样,数据集合包括任何使数据的一部分能够被组织为具有用于相应字段(也称为“属性”或“列”)的值的记录的数据的聚集。数据库系统和所存储的数据集合可以采用各种形式,例如复杂的数据库管理系统或者存储简单的平面文件的文件系统。各种数据库系统的一个方面是其用于数据集合内的记录的记录结构的类型(可以包括用于每一记录内的字段的字段结构)。在某些系统中,数据集合的记录结构可以简单地将单独的文本文档定义为记录,并且文档的内容表示一个或多个字段的值。在某些系统中,不要求单个数据集合内的所有记录具有相同的结构(例如字段结构)。
[0078]复杂的计算经常可以表达为通过有向图的数据流(称作数据流图),计算的要素(component)与图的顶点相关联,并且要素之间的数据流对应于图的连接(弧、边)。在通过引用包含于此的美国专利 5,966,072,EXECUTING COMPUTATIONS EXPRESSED AS GRAPHS 中描述了实施这种基于图的计算的系统。执行基于图的计算的一种方法是执行许多个处理,每一个均与图的不同顶点相关联,并根据图的连接在处理之间建立通信路径。例如,通信路径可以使用TCP/IP或者UNIX域套接字,或者使用共享存储器在处理之间传递数据。
[0079]参考图1,用于执行基于图的计算的系统10包括耦接到数据仓库12的开发环境14和耦接到数据仓库12的运行时环境18。开发员11使用开发环境14构建(buile)应用。应用可以与由数据仓库12中的数据结构指定的一个或多个数据流图相关联,作为开发者使用开发环境14的结果,所述数据结构可以被写到数据仓库。用于计算图(computationgraph)15的数据结构13指定,例如,计算图的顶点(要素或者数据集合)以及顶点之间的连接(表示工作元素的流)。数据结构还可以包括要素、数据集合和数据流图的流的各种特性。
[0080]运行时环境18可以驻留在一个或多个在诸如UNIX操作系统之类的合适的操作系统控制下的通用计算机上。例如,运行时环境18可以包括多节点并行计算环境,该环境包括使用多个中央处理单元(CPU)的计算机系统的配置,或者是本地的(例如SMP计算机的多处理器系统)、或者是本地分布式的(例如耦接为集群(cluster)或MPP的多个处理器)、或者是远程的、或者远程分布式的(例如通过LAN或WAN网络耦接的多个处理器),或者是其任意组合。
[0081]运行时环境18配置为从数据仓库12和/或用户17接收控制输入,用于执行和配置计算。控制输入可以包括使用对应的数据流图处理特定数据集合的命令,在存储的图数据结构中指定所述数据流图。用户17可以,例如,使用命令行或者图形接口,与运行时环境18交互作用。
[0082]运行时环境18包括预运行(pre-execution)模块20和运行模块22。预运行模块20执行任何预处理过程并准备和维护用于执行计算图的资源,诸如用于各种模糊操作(例如通过引用包含于此的N0.2009/0182728美国专利申请中描述的)的字典21和存档文件(archive) 24。字典21存储单词和关于数据集合中出现的单词的相关联信息。存档文件24基于数据集合的单词、短语或者记录存储来自预处理的各种结果。可以以各种格式中的任一种实施字典21和存档文件24,并且可以将字典21和存档文件24组织为数据的单个聚集或多个字典和存档文件。运行模块22调度和控制分配给计算图的处理的执行,用于执行要素的计算。执行模块22可以与耦接到系统10的外部计算资源交互作用,所述外部资源在与图要素相关联的处理期间被访问,例如数据资源26提供来自数据库系统的记录。在系统10中执行的模糊操作可用于各种目的,诸如分析数据以评估其质量,或者组织和/或统一(consolidate)数据。
[0083]任何企业或者其他机构的核心资产是其持有以进行其运作的数据,从产品、服务和客户列表到与个人、银行或者其他企业的交易、合同和帐户。该数据以多个格式存储,并存储在多个系统中,从纸和电子表格到关系数据库和企业应用,如会计或者供应链管理系统。每一机构的主要关注是该数据的质量和完整性(integrity)。
[0084]如果发票包含不正确的价格或者误标的产品,则收取错误的数额或者交付错误的产品(item)。如果客户或者供应商的地址是错的,则出货或者订单可能延迟或者丢失,并且发票或者付款可能不能到达其预期方。如果在一个系统上表示客户的关键字链接到另一系统上不同客户的帐户,则关于客户的帐户的状态的报告将不可靠,并且,更糟糕的是,一个客户可能具有对其他客户的帐户的访问权。数据质量差干扰了业务的有序进行,并且可能导致收入损失、名誉受损或者丧失机会。
[0085]企业或者机构的数据的重要子集是其非业务基准数据(reference data),有时候称为其主数据(master data)。这可以包括产品、客户、帐户、供应商的列表,以及用来表示每一数据项的特定属性的具体有效值(例如,客户具有可能是男或者女的性别,或者产品具有可能是枚举列表其中之一的颜色)。一般地,主数据排除了该机构的短期操作数据,如交易或者价格。主数据管理关注机构的基准数据的组织和维护。其主要关注之一是基准数据的质量和完整性(integrity)。
[0086]数据质量和基准完整性的问题具有很多形式。存在很难保持一致的不同种类的多个数据系统使这些问题恶化。潜在问题的非穷尽列表如下:
[0087]I)数据可能被不正确地录入或者记录:所做录入并非预期的那个。在录入中可能存在排字或者誊写错误,导致例如客户姓名或者地址、产品标签或者描述,或者预期取自枚举列表的值中的单词的变体(variant)拼写。很多数据录入应用具有旨在录入时验证数据的防护措施以防止这些错误,但是错误仍旧出现。
[0088]2)数据可能未完成:并非所有字段都被填充。客户应用可能已经具有某些字段遗失的信息。在录入期间表格的完成可能已被中断。信息在录入时可能已视为无效并被丢弃。要完成录入的信息在输入时可能尚不可获得,可能直到某些其他活动完成为止。
[0089]3)数据可能是无效的:字段被填充但被以无效值填充。录入可能不与预期来自枚举列表的值的任何一个匹配。对于其预期的数据类型,录入可能不是有效的,例如,在数字(decimal)字段可能存在字母符号,或者,在日期中月的日可能大于该月中的天数(例如6月31日)。
[0090]4)数据可能在错误字段中录入。城市或者邮编可能出现在地址的街道字段中。具有不同于预期的格式的外国地址可能已被强制符合预期的格式。产品id可能在发票或者订单表上的描述或者注释字段中。如果姓是常见的名(例如Gregory Paul),或者如果姓名不常见或者是外国姓名,则个人的名和姓可能被交换。
[0091]5)可能不存在用于数据录入的标准:数据可能被不一致地输入。地址行的顺序未被标准化,则即使在同一数据集合中可能也不总是以相同方式记录。公司名称的具体形式未被标准化,则即使在同一数据集合中,许多变体形式也可能可接受。客户姓名可能包含完整的中间名,或者中间名可能不存在,或者只存在中间首字母。类似地,名可能仅仅是首字母。可能在姓中存在具有或不具有连字符的双姓,或者可能在中间名和姓字段之间进行分割。
[0092]6)数据可能保持在自由文本字段中。发票或者订单表上的注释字段中的备注可能包含重要的信息,如产品名称或者描述性属性,否则这些信息将会遗失。数据库表格上的描述字段可能包含对其他字段的变化的说明,例如当妇女的姓因婚姻而变化时。
[0093]7)关键字关系可能被打破。数据库使用关键字来链接保持在不同表格中以及有时候在不同数据库中的表格中的相关数据。当关键字未适当链接正确的记录时,数据库的基准完整性已被打破。关键字可能不正确地链接记录,如当一个客户被链接到恰属于另一客户的帐户时。关键字可能链接到不存在的记录,例如,关于帐户记录的客户关键字未链接到任何现存的客户记录。在某些情况下,客户记录存在但是具有不同的关键字;该关键字有时候被描述为“遗失关键字”。在其他情况中,当根本不存在对应的客户记录时,帐户记录被说成是孤立(orphan)的。
[0094]8)关键字关系可能不存在。具有不同起源的数据库可以保持类似的数据,但是不存在对其共享的数据进行链接的关键字。对于一个行业来说未发现其与另一行业共享客户是常见的。当企业或者机构合并时,两个实体的主数据可能被组合。两个实体的不同标准和非等同有效值使得很难获得一致的主数据的集合,但是对如客户的共享数据进行标识和链接的问题往往更难。
[0095]数据清理(Data cleansing)寻求标识和纠正这些问题的大多数。由于传统系统的数量和复杂性、系统之间的接口的数量以及引入新系统的速度,真正的挑战往往不是如何改正数据质量的问题,而是如何应付它们。
[0096]或许在企业或者机构的系统中找到、存取和操作数据时的中心概念是“关键字”的概念。主关键字(primary key)是字段,或者字段的组合,它的值起到在数据集合中唯一标识记录的作用。在关系数据库内,每一个表格可以具有在表格内唯一标识记录的主关键字(如果主关键字不唯一,则那是另一个数据质量问题)。表格中的外关键字是链接到其他表格中的记录的关键字。
[0097]可以执行许多数据操作,它们依赖于数据库表格或者其他数据集合的关键字。常见的基于关键字的数据操作是查找、联接、上卷、扫描、排序、合并,以及并行处理中的按关键字分区(partition)。这些数据操作基于关键字的精确一致,这里称为“精确匹配”。在数据操作“查找”中,使用关键字从具有精确匹配关键字的查找数据集合检索一个或多个记录。在数据操作“联接”中,通过将来自一个数据集合的记录的内容与来自另外的(多个)数据集合的共享公共关键字的记录的内容相接(以及可能构造子集)时,两个(或多个)数据集合被组合。如果多于一个记录具有匹配的公共关键字,则为每一个匹配的记录对形成单独的输出记录。
[0098]在数据操作“上卷”中,一组共享公共关键字的记录的内容被组合以产生具有相同关键字的单个输出记录。例如,通过将交易记录上卷到客户层次同时对交易量求和,将获得该客户的总交易量。在数据操作“扫描”中,对于共享公共关键字的一组记录中的每一个记录,使用所有先前看到的具有相同关键字的内容计算输出记录。例如,利用扫描客户的交易,可以计算客户花费的累积总计。
[0099]在数据操作“排序”中,记录按其关键字值安排顺序。在数据操作“合并(merge)”中,来自一个或多个数据流的排序的数据被组合为单个流,以使得输出流也被排序。在并行处理数据操作“按关键字分区”中,基于关键字的值分配数据以处理分区。
[0100]当多个独立系统共存时,其中每一个可能具有上面讨论种类的数据质量问题,与具有公共数据的记录关联的关键字通常不存在,而存在的关键字可能不可靠。最终每一个记录中的数据是感兴趣的项。关键字可以被看作在数据库中引入的用于标识和存取数据的方便假设(convenient fiction)。在不存在可靠关键字时,数据自身可被用于标识的目的。
[0101]可以基于搜索通过记录的内容来存取记录。例如,在一个数据库中的客户可以在第二数据库中按姓名被搜寻。由于姓名是不明确的标识符,其很少是关键字。虽然姓名能用来启动标识,但是一般需要例如出生日期和地址的支持信息来确证(corroborate )匹配。
[0102]此外,由于数据质量问题,对于要正确匹配的记录,往往姓名和确证信息都不需要精确地一致。精确一致可能太严格了,并且要求准确的匹配可能导致错失很多正确的标识。(模糊)搜索的数据操作检索接近地但不一定精确地匹配的数据条目。例如,针对“Leslie”的模糊搜索可能返回名为“Lesley”的人的记录。在模糊搜索中,可能存在多于一个的具有不同的相似或确证程度的匹配记录(关于Leslie的搜索也可能检索到第二个名为Lesley的人的记录)。候选匹配可能不被充分地确证以具有作为确切的或甚至可接受的匹配的资格。例如,检索的LesLey记录的出生日期可能和Leslie记录的出生日期不一致,在这种情况下匹配候选未被确证。
[0103]当搜索时,对于查找使用精确关键字的单个步骤处理被两个步骤处理代替:对于使用搜索条件(term)的检索,记录被标识,并且记录被评估以确定匹配。搜索条件不是关键字,因为它们很少唯一地标识记录,但是,它们像关键字那样用来链接记录。
[0104]为了清晰,把从中选择搜索条件的字段与用来比较记录以评估匹配的质量的字段区别开是有用的。这些可以分别被称为搜索字段和比较字段。
[0105]当搜索条件或比较字段不完全相同时,为了找到和判断匹配,可以使用计分函数来识别变体值。可以使用变体搜索条件检索候选匹配,并且使用计分函数评价所述候选匹配以量化确证字段之间的匹配的质量。这些计分函数被设计成对于各种数据质量问题进行计算。尽管有这些问题,它们仍识别(recognize)匹配,尽管具有减少的分数。例如,用于个人姓名的计分函数可以容忍交换姓和名或者使用中间首字母,而适于公司名称的计分函数可能重视单词顺序甚于重视遗失的单词。
[0106]精确关键字的另一基本使用是标识具有公共关键字值的记录的集合,经常称为关键字组。这些关键字组在很多基于关键字的数据操作中扮演中心角色。当放松精确匹配关键字的要求时,出现了如何分组关键字的问题。基于放松的匹配标准分组在一起的关键字集合被称为聚类。
[0107]一般地,聚类可以是比较字段满足比较测试的记录的集合:例如,在一个布置中,如果记录关于聚类的得分超过了阈值,则该记录是所述聚类的成员。存在很多不同方式来定义记录关于聚类的得分,典型但不排他地包括单独地计算记录关于聚类的每一个成员的得分,然后将得分组合。例如,得分可以是记录关于聚类的每一个成员的得分的最大者,或者,可以是关于聚类的每一个成员的得分的平均。在某些布置中,计算一对记录的得分包括将数值分配给一个字段值的集合与另一字段值的集合进行比较的结果。字段值的比较可以包含定量和定性评估两者。
[0108]定义聚类造成的结果是不明确性成员资格分配是可能的,因为字段值的比较是计分的关系。具体来说,计分可能指示一片数据属于多于一个聚类。在一个布置中,可以通过强制该片数据进入聚类之一以使聚类被苛刻地定义来处理这种不明确性,如精确关键字情况中那样。在这种情况下,基于关键字的数据操作实质上仍和精确关键字情况中一样。
[0109]由于各种原因,基于精确关键字的数据操作可能不总是如期望那样准确或者无误。一个原因可能是与数据片和数据操作相关联的内在不明确性。例如,数据片可能正当地属于多于一个组。在某些聚类方法下,内在不明确性可能使准确分类很难或者难以达到。例如,在上述的人力资源数据库中,要根据雇员所属的部门对雇员进行分类,雇员可能同时属于例如营销和研发两个部门。将雇员强制地与任一部门(营销和研发)相关联可能是误导性的。将雇员简单地与两个部门都相关联可能导致双重计数问题。例如,可能针对同一雇员计算两遍诸如医疗之类的花费。[0110]精确分类可能不可能的另一原因是未决事件的后果可能影响当前的分类。例如,机构作为慈善机构或者非慈善机构的法律状态可能改变其纳税义务。进一步假设IRS和该机构之间存在进行中的诉讼,该诉讼关于该机构是否有资格作为慈善机构并因而应享受减税。如果,在该机构的年度预算中,假定该机构的税务状态是慈善机构的状态,因此对于纳税留出了较小的预算,但是,如果后来法院判决该机构是非慈善机构,因而不能享受仅慈善机构享有的减税,则年度预算必须被修订。处理这种状况的传统方式经常是向预算附加注释,说明会影响预算的可能的不利法院判决。在出现不利的法院判决的情况下,预算必须被更改。但是比必须修正预算更糟的是,如果在其他业务领域,或者在其他国家,预算已经被其他应用使用,则超过预算自身的修正可能是不可能的,因为可能无法追踪连锁反应。
[0111]上面两个例子示出了常规数据方法如何可能不足以处理对聚类的不明确性分配(“部分成员资格”)。当对聚类的一对一匹配不能确定或最好不被确定时,出现不明确性分配。通过允许分配给多个聚类带来的一个挑战是如何保持会计诚信。部分成员资格的方法可用于这个目的,并且稍后在本公开中将详细讨论。为了处理包含具有不明确性成员资格的元素的聚类,可以使用模糊数据操作。
[0112]当聚类具有带有重叠的成员资格的元素、并且某些数据与多于一个聚类相关联时,可以使用模糊上卷的数据操作来执行计算,同时保持会计诚信并报告与可能的替换分配相关联的错误的范围。在人力资源的例子中,模糊上卷操作可用于按部门总计花费。如果一雇员为多于一个部门工作,则用于该雇员的花费可以在部门之中分配,反映出该雇员的部分成员资格。
[0113]当聚类成员资格或者以未来事件为条件,如上面的法律例子中那样,或者由于不明确和不完整的信息而不确定,如上面的银行业例子中的对手方的确定那样,则按组计算例如货币总计的模糊上卷操作应该在保持会计诚信的同时反映出这种不确定性。当然,在不确定的未来事件的情况下,例如公司的税务分类,偶然性确实存在。对于规划和风险评估的目的,过早对特定替换进行分配可能给出误导场景。
[0114]例如,在图2A中,不确定数据元素120属于聚类122、聚类124还是聚类126。可以是数据元素120同时属于聚类122、124和126。也可以是数据元素120在一个特定时间属于一个聚类,但是在这三个聚类`之中轮转。数据元素120属于聚类122、124和126的成员资格由I^njPn3表示。!^、巧和巧是分数。在数据元素120以相等概率同时属于这三个聚类的情况下,H1, n2和n3均可被分配分数1/3。在这种情况下,数据元素120属于聚类122、124和126的部分成员资格的和是一(1/3+1/3+1/3=1 )。在数据元素120在一个特定时间属于一个聚类,但是在这三个聚类之中轮转的例子中,在时间t1; ηι、η2和113可以是值1、0和O。在时间t2,ηι、η2和n3可以是值O、I和O。I^n2和n3的值可以变化,但是它们值的和应该总是一。
[0115]在银行业的例子中,基于对以不明确标识的对手方的风险的替换分配,了解对每一对手方的最大和最小风险给出了对任意给定对手方的可能风险的更完整的图景,并沟通了信息(knowledge)的不确定状态。通过使用成员资格的大概可能性(likelihood)对为聚类分配成员进行加权,能够包含关于未来或者不明确性的可能解决(resolution)的当前信念,并且这些权重可随着时间细化以反映出信息的变化状态。
[0116]模糊联接的操作使两个和更多个数据库在其不共享公共精确关键字时能够被组合。例如,当地址并非逐字相同时,来自不同数据库的客户家庭记录可以在地址上被联接。当来自一个数据库的地址不完整或者不准确时,在第二数据集合中存在多个记录是它的候选匹配。模糊联接包容了这种可能性。
[0117]排序操作通过关键字对记录安排顺序,并经常在如上卷和联接的作用于记录的组的基于关键字的操作之前使用。当各个记录可以是(可能和实际)多个聚类的成员时,模糊排序可用于在诸如模糊上卷之类的操作之前对记录安排顺序。通过对多个聚类的不明确性成员的各个记录进行复制并将其按最终顺序置于其相关联的聚类中的每一个中,排序顺序和排序动作的概念可以被扩展。
[0118]模糊数据操作和常规数据操作不同在于,替代基于精确匹配关键字的关键字组,使用了聚类。聚类包括上面的当关键字是Leslie时检索Lesley的例子。聚类也包括即使因为John Smith只有一半时间在营销部门工作,他不完全地属于营销部,也把John Smith分类到营销部的例子,
[0119]图2B示出了示范性模糊数据操作。在这个例子中,模糊数据操作180关于关键字160操作并检索数据集合150。关键字160是常规关键字。被检索的数据集合150包括5个数据元素一数据元素151、数据元素152、数据元素153、数据元素154和数据元素155。这五个数据元素不和关键字160匹配。尽管如此,它们仍被数据操作检索到。这是模糊数据操作不同于常规数据操作的地方。给定关键字,常规数据操作检索与关键字精确匹配的数据。但是模糊数据操作可以检索并不与关键字精确地匹配的数据。
[0120]对于构成模糊数据操作的基础的聚类的定义来说,不同记录中的数据比较是基本。使用比较测试来确定哪些记录属于每一聚类。在某些布置中,比较测试是取自每一记录的选择字段值的计分函数,并且两片数据(关键字是数据片)之间的量化的差可以是距离。
[0121](a)两片数据之间的距离
[0122]两片数据之间的距离在直观上是简单的。例如,姓名Leslie和Lesley之间的差别是显然的,并且全职雇员和兼职雇员之间的差别是明显的。但是,并不总是直接地量化或者度量两片数据之间的差别。这里我们将简单讨论两种能用来度量两片数据之间的差别的方法。应该理解,基于下面描述的原理可以很容易地开发对数据之间的差别进行量化的其他方法。例如,在通过引用包含于此的N0.2009/0182728号美国专利申请公开中描述了模糊匹配技术和距离度量的其他例子。
[0123](I)两个单词之间的距离
[0124]度量(例如,从给定字符集形成的)两个单词之间的距离的方法,经常被称为“编辑距离(edit distance)”,涉及对从一个单词到达另一个单词花费多少字符操作进行计数。在这个例子中,字符操作涉及单个字符。字符可以被以各种方式中的任何一种编码。例如,可以使用任何单字节或者多字节编码或者用于表示字符集中的字符的代码点(code-point)对字符进行编码。Levenshtein编辑距离对把一个单词变为另一个所需的字符插入、删除和替换的数量计数。
[0125]Levenshtein编辑距离及其变体的限制是它们不能用于在线模糊匹配上下文中,即当你具有以前未见过的查询单词并且想要在现有的基准集合中找到匹配变体时。替代地,可以应用用于计算变体的删除算法(例如在通过引用包含于此的N0.2009/0182728号美国专利申请公开中描述的)。在这个方法中,通过对为了到达匹配单词需要从每一单词删除的数量进行计数来确定单词之间的距离。图2C示出了如何计算Leslie和Lesley之间的删除距离。操作102从“Leslie”删除“i”以获得“Lesle”。操作104从“Lesley”删除“y”以获得“Lesle”。Leslie和Lesley之间的距离是I + I (每一单词一个删除,或者,只作用于单词其中之一的一个删除和一个插入)。
[0126]在某些布置中,通过比较被删除的字符的相对值和位置可以做出更细化的计分。这允许加权计分,其中针对不同种类的变化施加不同的权重。例如,替换可能没有调换重要,或者,以“η”替换“m”没有以“k”替换“m”重要。
[0127]可以以下列方式将删除算法用于基准数据集合的在线模糊搜索。通过从基准数据集合中的每一个单词删除一个和更多个字符(直到认为必要多的删除)获得每一个单词,通过形成所述每一个单词从基准数据集合构建了删除字典。(删除的数量可以随着单词的长度而增加以允许更大的变化。)原始单词和被删除字符的位置都与从删除产生的单词一起记录。当进行搜索时,对查询单词进行处理以构建通过删除一个和多个字符获得的每一个单词。在基准删除字典中查找这些单词中的每一个以找到对应的原始单词(删除位置的记录可用于对匹配计分)。然后,匹配的原始单词可在数据集合中普通的精确搜索/查找中使用。重申一下,即使当查询单词是在基准数据集合中未出现的变体时这个方法也奏效。
[0128]另一个例子是“Corp.”和“C0.”之间的距离。从“Corp.”到“C0.”,需要一个单词中的两次删除一删除字母r和删除字母p。因此,如果两个单词之间的距离定义为为了获得匹配单词在每一单词上(最少)需要多少删除操作,则“Corp.”和“C0.”之间的距离可以是2+0,尽管“Corp.”和“C0.”是同一单词“corporation”的两个可互换的缩写。在用户输入的数据使用“Corp.”而数据操作使用的关键字使用“C0.”的情况下,依靠精确匹配单词的常规方法将不会产生令人满意的结果。例如,如果使用的关键字是ABCC0.,则只检索精确地匹配关键字的数据条目的常规搜索数据操作将不会产生ABC Corp.。在模糊数据操作下,模糊搜索可被构建以返回在关键字的特定距离内,例如2+0或者更多以内的数据条目。在这种模糊搜索下,ABC Corp.可被作为关键字ABC C0.的匹配返回。
[0129]或者,由于这两个单词作为同义词可互换,所以“Corp.”和“C0.”之间的距离可以被定义为零。模糊搜索可被构建以返回包含用户指定的同义词的数据条目。这个例子展示了模糊操作可能需要处理的复杂性。
[0130]在上面的例子中,基于诸如字符的插入和删除之类的操作计算距离,其中,插入和删除都被作为一个操作计数。在其他布置中,可以基于加权操作计算距离。可以使用加权使一个类型的操作(例如插入)相对于另一类型的操作(例如删除)偏向(bias)。或者,可以使用加权使一个个别操作相对于另一个个别操作偏向。例如,对应于空格的删除操作可以被加权得少于对应于字母z的插入操作,以反映出这样的事实:空格的遗漏是常见的拼写错误,而在英文单词中插入字母z可能不是拼写错误而是两个英文单词之间的真实差别。
[0131]例如,“sunshine”和“sun shine”之间的距离是插入一个空格。“zinc”和“Inc”之间的距离是插入一个字母z。如果在计算距离时不对个别操作进行加权,则这两个距离(一个操作)相等。当模糊搜索操作被构建以返回一个操作的距离内的任意匹配时,按关键字“sunshine”的搜索将返回“sun shine”,并且按关键字“Inc”的搜索将返回“zinc”。
[0132]但是如果使用加权操作,则这两个距离一 “sunshine”和“sun shine”之间的距离以及“zinc”和“Inc”之间的距离可能不同。例如,空格的插入可以用因子0.5加权以反映空格的插入更可能由打字错误导致的事实。字母Z的插入可以用因子I加权以反映额外的字母z不太可能由失误添加的事实。图2D示出了当操作如此加权时,“sunshine”和“sunshine”之间的距离是0.5个操作而“zinc”和“Inc”之间的距离是一个操作。
[0133]在模糊搜索数据操作被构建以返回在关键字的0.5个字符操作的距离内的任意匹配的布置中,搜索关键字“sunshine”将返回“sun shine”。但是搜索关键字“Inc”将不返回 “Zinc”。
[0134]在某些布置中,可以定义更细致的加权操作。
[0135](2)两个英国邮政编码之间的距离
[0136]模糊匹配有用的另一应用是对包含相同家庭的重复记录的公司的客户地址数据库进行处理。相同家庭的多个条目可能由与该家庭相关联的邮政编码中的排字错误而导致,或者可能由与该家庭相关联的姓名的错误拼写而导致。
[0137]可能的排字错误可以包括遗漏或者插入空格、遗漏或者插入字母,以及错误打印字母。尽管并不是不常见,但是用户不太可能在同一邮政编码中犯下两个排字错误。尽管并不是没有可能,但是用户不可能在同一邮政编码中犯下三个排字错误。
[0138]图3示出了由邮政编码中的排字错误导致的可能的重复记录。在客户地址数据库 300 中,在姓名 John Smith 下存在六个条目:John Smith ox26qt; John Smith ox26qt;John Smith ox26qy;John Smith ox2 6qy;John Smith ox2 6qx和 John Smith ox27qy。紧挨着连接每一对记录的线标记了每一对记录之间的距离。
[0139]假设公司已经决定任何包含与真实记录中的邮政编码距离1+1个删除距离之内的邮政编码的记录最可能是虚假记录一由于失误而录入的记录,并且将被作为真实记录的副本对待。进一步假设公司已经定义了模糊搜索来搜索在搜索关键字的1+1个删除距离之内的所有记录。
[0140]如果一个单词在另一个单词的指定距离内,则前者是后者的变体。后者被称为原始的。在本例中,指定的删除距离是I + I (从每一个单词的一个删除)。在图3中列出了客户地址数据库300中的每一个邮政编码之间的距离信息。基于图4,我们可以确定每一个记录的变体,如图4中所示。
[0141]图4是可视化工具,并且通过利用独特阴影的框符来表示每一个记录并把每一个记录的框符与其变体的框符重叠来形成图4。例如,记录A的框符与记录B、C和E的框符重叠,因为记录B、C和E是记录A的变体。记录E的框符与记录A和F的框符重叠,因为记录A和F是记录E的变体。
[0142]在某些实例中,公司可能知道哪个记录是真实记录,而在某些其他的实例中,公司可能不知道哪一个是真实的。
[0143]在第一个例子中,公司知道真实记录是“John Smith ox2 6qy”。使用“ox26qy”作为搜索关键字运行模糊搜索将检索到下列两个记录:“John Smith ox26qt”和“John Smithox26qy”。公司将把在同一聚类中的这两个记录作为真实记录“John Smith ox2 6qy”的副本对待。公司可以决定消除这两个副本或者通过给这三个记录分配公共关键字将其分组在一起。这个组是模糊聚类的一个例子。
[0144]模糊聚类是数据操作,该数据操作将具有不精确匹配的关键字但是在彼此特定距离内的数据分组在一起。模糊聚类可以与模糊搜索相关,如上面的例子中所示。如上面的情况中那样,当已知真实记录时,模糊搜索检索在真实记录的指定距离内的数据。随后检索到的数据形成了模糊聚类。
[0145]在公司不知道哪个记录是真实记录的情况下,例如“John Smith ox2 6qt”和“John Smith ox2 6qy”都可能是真正的记录,则弄清楚哪些记录是彼此的副本从而生成模糊聚类无法通过简单的模糊搜索进行,因为不存在关于如何将记录分组在一起的先验指导。(b)部分详细说明了在这种情况下为产生模糊聚类可以采用的几种方法:
[0146](3)量化差别的其他例子
[0147]两片数据之间的距离是两片数据之间的量化差别的一个例子。可以用不同的方式量化两片数据之间的差别。
[0148]在某些布置中,可以开发基于匹配对之间的相似性对匹配对计分的计分系统。然后,所述对之间的量化差别可以被定义为归一化的匹配得分的补(complement)。
[0149]在由于例如诉讼的事件的未决结果而存在不确定性的情景下,可以使用数据片属于一个类别(category)或另一类别的概率来量化在该数据片和表示类别的关键字之间的距离。如果只存在两个类别,则该数据片和表示类别的关键字之间的距离可以定义为该数据片将落入该类别的概率的补,或者,如果存在更多类别,则将所述距离定义为该数据片将落入该类别的概率的共轭。
[0150](b)变体关系和变体(模糊)联接
[0151 ] 当在联接操作中配对那些数据元素时,来自要进行比较的各自数据集合中的各自数据元素的对象可以定义为数据片或者数据片的组合。在关系数据库中的表格的行中,对象可以是列中的值,值的一部分(例如子串),或者来自多于一个列的值的组合。在由一序列由字段组成的记录构成的平面文件数据集合中,对象可以是一个字段中的值、一个字段的一部分或者多于一个字段的组合。在文档中,这可以是文本的片段或者文本的拆散的片段的组合。
[0152]考虑对象{k}的集合S。S中的每一对象k具有相关联的称为变体M的变体对象的集合,该集合可能是空的。关系
[0153]k ?V
[0154]读作“V是k的变体”。在某些布置中,如果两个对象在函数s (k,V)下的得分低于阈值T,则确定它们是变体。
[0155]s (k, V)〈T
[0156](对于某些计分函数,超过阈值可能反而方便)。对象之间的距离,例如上面讨论的用于串的编辑距离或者删除距离,可被用作构建比较单词或者短语的计分函数的基础。
[0157]变体关系无需是等价关系(B卩,是对称的并且具有传递性(k?k',k'?k" =>k?k")),但是有时候变体关系是等价关系。即使变体关系不是等价关系,也假设变体关系是对称的
[0158]k ?v=>v ?k
[0159]SP,如果V是k的变体,则k是V的变体。
[0160]两个(或更多个)数据集合A和B的精确(内)联接可以定义为记录(行、文档等)的配对,该配对包含相同的A中的对象kA和B中的kB,以使
[0161]kA=kB[0162]对象kA和kB称为关键字。
[0163]在两个步骤中定义变体(“模糊”)内联接。首先进行诸如记录(或行、文档等)之类的数据元素的临时配对。在一个布置中,A中的匕与8中的它的变体vBn配对,kA~vBn。然后,与kA和vBn相关联的记录对被评价E (kA, vBn),以确定保留哪些记录对。(在精确的情况下,所有对都被保留,所以匹配和计分步骤融合到单个比较kA=kB中)。评价操作一般涉及在配对的记录中在用于配对的对象以外的另外的(further)对象的比较。在某些配置中,评价操作产生得分,该得分必须超过匹配阈值以标识匹配。类比于精确情况对半联接和外联接进行定义:当未找到(或未保留)匹配记录时空值被指定用于相反的记录。
[0164]最简单的临时配对由
[0165]kA ~vBn
[0166]给出,即1^在B中的变体的集合。通过确定是否要保留建议的配对的评价(“计分”)步骤对这个配对(“匹配”)步骤进行补充。
[0167]存在对变体配对kA~vBn的扩展的层次(hierarchy)关系。首先的泛化(generalization)是通过附加另外的对(kA, vBnm)来扩展(kA, vBn)对,(kA, vBnm)由
[0168]kA ~vAn, ~vBnm
[0169]给出。
[0170]即,kA与A中的kA的变体在B中的变体配对。当变体关系不是等价关系时,到达B中更大的元素集合。注意这个操作不是对称的:在B中可能存在不能到达kA的对象vBnm。即,给定
[01 71 ] VBm,=kB, kB ~VBi, VBi ~VAiJ,`[0172]没有vAU=kA。这是因为B中的kB的变体没有一个需要具有kA作为变体一至多只需要kB具有kA的变体作为其变体之一。
[0173]对变体的变体的诸如此类的进一步扩展是可能的。具体来说,利用对(kA,vBnmJ)扩展(kA,vBn),其中
[0174]kA ~vAn, Ytm ~vBnm, vBnm ~vBnmp
[0175]在下列意义上是对称的。给定B中的元素kB(通过上面的操作和kA配对),即对于某些n, m, P, kB=vB_,存在元素vAijl=kA,其中
[0176]kB ~vBi, vBi ~vAiJ, vAiJ ~vAiJ1
[0177]换句话说,逆向施加的相同变体匹配过程包含逆向对:从A中的对象到达的B中的每一个对象通过相同的过程可以反过来到达A中的原始对象。
[0178]通过成对地联接数据集合并取作为结果的对的笛卡儿积,可以对多于两个数据集合的扩展进行定义。因此为了联接A、B和C
[0179]kA ~vBn,
[0180]kA~vCm,
[0181]^ (kA, vBn, vCm).[0182]通过以成对形式使用上面定义的更高阶的扩展(例如变体的变体)来获得更高阶的扩展。可选地,在某些情形下,对于某些n、m,可以要求B和C之间的变体关系
[0183]vBn ~Vcni
[0184]更高价的变体的使用可能被要求直接在B和C之间建立这种连接(当然该关系已经通过A作为中间媒介)。
[0185]如上面所讨论的那样,变体关系的一个有用来源是对通过编辑距离相关的单词进行配对。如果在单词之间考虑的编辑距离限于一,则这容许数据集合内的配对的某个集合作为变体。例如,“Smith”将具有"Smth"、" Smith2"和"Smyth"作为变体。"Smith20"不是"Smith"的变体,但是其是"Smith2"的变体,因此编辑距离一的变体关系不是传递性的。
[0186]当单个单词或者整个字段可以用作变体关键字时,可以使用变体联接。例如,可以将搜索数据集合明确地表达为使用变体关键字的变体联接。查询短语被分解为关键词的集合,该集合中的每一个均按照来自目标数据集合的单词的索引与其变体匹配。索引将单词与记录标识符(关键字)配对,该记录标识符用于包含目标数据集合中的给定字段中的所述单词的每个记录。从每一个关键词与索引的变体匹配获取对应记录标识符的列表,并且这些列表可以交叉以找到共享一个和多个关键词的记录。通过给匹配关键词的组合分配得分,返回的记录的列表可以被排序。这个得分可以考虑到数据集合中每一个关键词的相对频率(“逆向文档频率(inverse document frequency)”)、查询短语中关键词和其在目标数据集合记录中的位置相比的相对位置(例如顺序、相邻),或者从查询短语缺少的单词。关键词也可以和相关性的其他度量相关联以使得计分更有区分度。
[0187]变体联接也可以用于对单个单词的查找。例如,在一个数据集合中的客户可以由名、姓和地址标识。可以利用要由名和地址来确证的匹配在第二数据集合中按姓搜寻这个客户。匹配过程是:从源数据集合中的姓,使用目标数据集合中的变体姓的集合来标识和检索匹配候选人集合。这些候选人被进一步在名和地址上进行比较以确定一致程度是否足以标识匹配。
[0188]例如,假设源数据集合中的记录是:
[0189]Paul, Smith, 20Walker Street
[0190]并且目标数据集合中的匹配变体的集合是(Smith,Smyth, Smithh)。目标数据集合中的相关联的记录是:
[0191]I, Paul, Smith, 20Walken St
[0192]2,Robert,Smith,1532 East Grove Ave
[0193]3, Pj Smyth, 19 Western Ave
[0194]4, Pal, Smithhj 20 Walker Street
[0195]确证算法可以发现记录I和4足够接近成为匹配。这些记录可以由查找(搜索)或者在变体联接(其中两个数据集合被彼此对照流化(streamed))中返回。
[0196]或者,或许在源数据集合中,原始的“Smith”具有变体"Smith2 ",变体"Smith2"在目标中具有匹配记录
[0197]5, P, Smith20, Walker Street
[0198]" Smith20"不是“Smith”的直接变体,但是可以从源数据集合中的变体"Smith2"到达。
[0199]变体联接的另一用处是在聚类之前定义超聚类。这将在下面定义过聚类以后被讨论。
[0200](C)聚类和部分成员资格[0201]很多基于精确关键字的数据操作要求被分组到集合的记录共享公共关键字值。这些集合有时候被称为“关键字组”。例如,上卷操作跨过关键字组中的记录对数据进行组合或者汇集以返回单个记录。计数、总计、最大或最小值、值的向量、去重(deduplication)到唯一值,等等,全都可以利用上卷操作计算。任何将一组记录汇总为单个记录的操作均可以被理解为上卷操作。
[0202]数据并行处理中数据被分离为数据分区供独立处理,数据并行处理经常依赖于基于关键字的分区来确保属于相同关键字组的所有记录存在于相同的数据分区中。如上卷和联接的操作依赖于此来产生与其在串行(非并行)处理中将产生的相同的结果。
[0203]关键字组的集合构成了将所有记录的集合分区为不相交的集合:每一个记录(对象)是一个且仅一个关键字组的成员。聚类将关键字组的概念(notion)—般化到涉及重叠集合的分区,其中成员资格不由关键字的精确一致确定。
[0204]考虑将集合S分区为可能重叠的集合{C}的聚集,集合{C}称为对象k的聚类,每一个k具有权重w (k, C)。对象k可以是多于一个聚类C的成员,并且,如果如此,则其聚类成员资格被说成是不明确的或者部分的。分配给C中k的权重w(k,C)对C中k的“部分成员资格”进行量化,并且有时候被称为不明确性的度量。聚类C可以被表示为对C= {(k, w (k, C))}的集合。如果w(k,C)=0,那么k被说成是“不是C的成员”。如果w(k,C)=l,则k是“无疑是C的成员”。对于固定的k,C上的权重之和等于1,对应于S中无疑的成员资格,
[0205]Σ w (k, C) =1.[0206]C
[0207]权重的分配与规则R相关联,并且可以由R标记。给定的集合S通常允许多于一个分区在聚类的聚集内,以及在不同规则下针对每一个对象k的多于一个的加权分配。一般地,和不同规则相 关联的权重不能被组合。
[0208]聚类C={(k,w(k, C))}的补被定义为集合{(k, l_w(k, C))}。具体来说,所述补以权重I包含不在C中的对象。如果聚类{C}的聚集不生成(span) S,或者在C上k的权重之和不等于一,则在S中{C}的并集的补被假定为和所述聚集邻接。
[0209]通过对两个聚类的权重求和,可以将所述两个聚类组合为单个聚类,从而使分区变粗(coarsening)
[0210]C1+C2= {(k, w (k, C1) +w (k, C2))}
[0211]通过逆转这个处理可以将聚类分解为进一步的聚类,为新聚类之中的每一个对象分配权重,所以新权重的和等于原始权重。通过减去对象的权重,可以从聚类去除该对象,例如在应用选择标准以后。
[0212]在某些情形中,当权重满足0〈=¥&,0〈=1时,权重可以允许一种解释为“k是S中的聚类C的成员的概率”,但是一般地,聚类的定义是非统计的。不排除负权重以及大于一的权重,但是对于固定的k的权重的和必须是一。
[0213]虽然原则上可以形成如CJC1的组合,但是它们对应于构建包含对象的多个拷贝的聚类,如对象的最大可能权重的值所反映的那样(例如在这种情况下是2)。对于每一个对象权重的和是一的条件假设每一个对象只有一个拷贝存在于集合S中。如果事实并非如此,则权重的和的值可以相应地改变。一般地,不能预先排除总权重按对象变化。
[0214]具有部分成员资格的聚类类似于模糊集合的概念,因为其可以被描述为利用将权重分配给集合中的每一个对象的成员资格函数的对象的集合。但是,这里的重点不在隔离的模糊集合上,而在作为分区的元素的聚类上。具体来说,权重是分区的性质而不是隔离的聚类内的对象的性质。分配给聚类内的对象的权重受对于其他聚类的可能的替换分配的影响。焦点从聚类内的成员资格函数转移到跨过聚类为对象分配成员资格的函数。
[0215]在许多情形下自然地出现了具有部分成员资格的聚类。用最简单的术语,部分成员资格是将对象分配给聚类时不明确性的结果。如果存在精确关键字,则对象属于哪个关键字组不存在问题。如果部分成员资格基于无需精确一致的数据片或者数据片的组合,则成员资格确定可能不会如此清晰。
[0216]下面是可能导致部分成员资格的广泛的数据质量问题的例子。
[0217]相对于聚类规则数据可能是内在不明确性的。有时候聚类由于其定义不假定排他性成员资格的简单原因而重叠。考虑为一个公司中的两个不同部门工作的雇员。如果雇员列表按部门聚类,则雇员正确地出现在两个聚类中,因为这反映出事情的真正状态。在这种情况下,部分成员资格可以被设置成反映该雇员为每一个部门工作的部分时间。这反过来减少了得到在分开的部门中存在两个具有相同标识信息的不同雇员的错误结论的机会。
[0218]数据可能有瑕疵。字段中的变体单词可能使标识不明确。当将地址分配给家庭时,在一个地址记录上的房屋号码可以是12,然而在该街道上不存在房屋号码12。相反,存在房屋号码1、2和21。前两个的0.3的权重以及最后一个0.4的权重可反映出调换错误略大于插入错误的可能。
[0219]数据可能不完整。做出到聚类的确定分配所需的一片信息可能缺失。例如,考虑给家庭分配地址记录的问题。每一个唯一的房屋号码、街道、城市、邮政编码组合被分配了唯一的家庭号码。聚类算法可以容忍街道和城市名称的变体拼写,所以每个地址不必完全相同以分配给正确的家庭。但是,如果房屋号码从地址中缺失,则没有充足的信息来做出确定性分配。为了保有尽可能多的信息,不完整的记录可以被部分地分配给与可用信息一致的每一个家庭。如果存在五个可能的房屋号码,贝1J每一个家庭聚类中的权重可以是0.2,反映每一个房屋号码相等的可能性。在不同的上下文中,考虑由按公司名称标记的帐户上的未偿还债务组成的数据集合。银行想要对这种数据进行合计以确定按国家与每一个公司相关联的总计未偿还债务。在公司名中是"ACME SERVICES LIMITED (AUSTRALIA) "、" ACMESERVICES LIMITED (CANADA)"和"ACME SERVICES LIMITED;/。前两个中的每一个进入分开的聚类,但是第三个是前两个中的每一个的相等匹配,并且缺少国家标识符。将第三个公司以权重0.5放入前两个聚类中的每一个反映出公司信息的不完整性。
[0220]数据或者分类可能是内在地不确定的。聚类成员资格可能基于将来的事件的结果。考虑包含资产及其值的列表的数据集合。资产要按照所有人聚类。但是,关于特定资产的所有权的诉讼未决。将它和任一可能的所有人放在一起都可能押错宝,然而该资产不能被简单地忽略。将该资产以部分成员资格分配给每一所有人反映出对诉讼结果的预期结果的信息的当前状态,给出了最公平并且最有信息量的与当前信息一致的对资产的处置。
[0221](d)聚类
[0222]聚类是基于聚类成员资格标准将记录分组为聚类的动作。在精确的情况下,来此每一个记录(关键字)的对象精确地和其他记录中的对应对象匹配,并且聚类或者“关键字组”是共享公共关键字的记录的集合。在模糊的情况下,聚类成员资格可以由每一记录中的对象之间的变体关系确定。(然而更一般的聚类成员资格标准也是可能的)。为了避免必须将数据集合中的所有记录相互比较,使用超聚类(supercluster )关键字将整个集合划分为子集,并且交叉比较被限制于超聚类内的记录。
[0223]在很多情况下,超聚类由精确关键字,例如邮政编码来定义。变体联接使超聚类能够使用变体对象来定义。例如,超聚类可以定义为包含给定邮政编码的变体的所有邮政编码的记录的集合。例如,给定UK邮政编码0X26QY,,变体邮政编码0X26QY和0X2 6QT都是编辑距离一的变体,而后者自身是有效的邮政编码。允许来自每一变体邮政编码的记录作为潜在的匹配使聚类结果能够容忍邮政编码中的错误。
[0224]在另一布置中,通过从每一记录中的选定的字段取出单词的片段(例如基于相对频率,从最长或者最重要的单词),并使用这个片段的变体来标识超聚类,可以形成超聚类。当对于两个记录是相同聚类的成员时这是适当的,它们非常可能共享特定单词,但是那些单词无需是直接变体,更不用说相等。通过考虑变体片段作为超聚类关键字,记录被接纳,对于这些记录,单词的剩余部分差别超过了可被作为变体接受。需要完整单词和每一记录中其他对象的更彻底的比较以确定聚类成员资格。
[0225]例如,当比较德语街道名称时,街道Graf von Stauffenberg Strasse可能要求以某种形式包含Stauffenberg。在采样数据中,观察到Strasse可以被缩写,并被连接到前导单词以给出如Graf V.Sauffenbergstr的条目。由每一街道名称中的最长单词的前五个字符的编辑距离二变体来定义的超聚类将包括"stauf"和"sauff"。包含StauffenbergSauffenbergstr两者的记录将被包括用于在超聚类内的比较,并且适当的计分函数将把它们分配给相同的聚类。相反,基于最长单词的编辑距离二变体的超聚类将把这两个街道名称隔离到分开的超聚类中,从而它们将不能被聚类在一起。
[0226]超聚类的审慎选择对于聚类方法的性能和准确性很重要。例如,如果超聚类太大,则可能做出很多徒劳无益的比较,这可能导致性能受损。或者,如果超聚类太窄,则可能错失可接受的匹配,并且准确性可能受累。
[0227](e)部分成员资格
[0228]假设数据录入操作是在应用中填表以将新的客户添加到数据库。当在表中录入姓名时,应用程序对照基准姓名列表验证该录入。使用利用如上所述的删除算法的模糊搜索,应用能够检测姓名的变体拼写,并从基准列表返回替换列表。假设操作者在名字段录入“Jame”。应用程序可能(和数据库中包含该姓名的记录的计数一起)按字母顺序返回下列的替换列表
[0229]Jaime 250
[0230]James 13359
[0231]Jamie 339
[0232]Jane 9975
[0233]这些全都和Jame差一个插入和/或一个删除,并且是候选的替换。
[0234]为了改善列表对操作者的有用性,可以使用用于确定不明确性度量的各种模型中的任何一个将替换优先化(prioritize)。三种示范性的量化不明确性的方式是:1)均分,2)统计频率,和3)错误模型。
[0235]在均分方法中,将每一个替换作为同等可能来对待。这里,Jame是替换中的任何一个的可能性是四分之一。替换的字母顺序列表通常指示隐含的均分方法。
[0236]在统计频率方法中,基准集合,像数据库表格自身一样,被用作每一个姓名被观察的频率的来源。如果按照示出的计数对上面的列表进行降序排序,则最可能的纠正是James,接着是Jane等。
[0237]第三个方法一错误模型是基于以下观察:某些种类的错误比其他的更可能,至少依赖于录入的语言和模式。对于熟练操作者的键盘录入,替换错误可能比跳过字符或者插入额外字符更常见。类似地,对于记录由客户通过电话给出的拼写的操作者,涉及发音类似字母姓名的抄写错误可能比其他种类的错误更常见。这里,在任一情况下,Jane将是最可能的纠正。为了使用这个方法,可以开发并应用对可能的错误及其相对重要性进行分类的模型。这样的模型可以从在N0.2009/0182728号美国专利申请中引入的WFS (单词频率重要性,word frequency significance)文件的统计分析产生。
[0238]假设应用程序将包含客户地址(这里称为查询地址)的记录匹配到主客户地址表格,如果找到匹配,则检索现有家庭关键字,否则创建新的关键字。查询地址可能不与主客户地址表中的地址精确地匹配,所以可以使用模糊匹配。此外,查询地址可能不完整或者不准确。这意味着多于一个现有地址可能和查询地址匹配。为了量化匹配的质量,具有匹配的不明确性的度量很有用。
[0239]例如,地址可能不具有房屋号码,而主客户地址文件具有多个具有相同街道地址的条目(忽略房屋号码)。假设查询地址是具有特定城镇和邮政编码的Lower Street。对邮政编码的模糊搜索返回了预期的(prospective)地址记录的列表,所述地址记录具有相同或者变体邮政编码。将查询地址上的邮政编码、城镇、街道和房屋号码字段与预期地址的每一对应字段进行比较并计分,作为模糊匹配处理的一部分。在这个例子中,假设存在两个和查询地址的街道、城镇和邮政编码精确匹配的主记录:2 Lower Street和3 Lower Street。每个预期具有与查询记录匹配的相等质量,并且不能利用现有数据对其进行改善,因为房屋号码在查询记录中缺失。在均分度量下,实际匹配到任一家庭的可能性相等。
[0240]或者,假设房屋号码被填充但是无效,不能和任何现有地址对应。假设查询地址是12 Lower Street,但是对照基准邮政地址文件(所有有效地址的列表可从邮政服务获得)验证表明不存在具有该地址的房屋。如上,在该邮政编码中匹配的地址是2 Lower Street和3 Lower Street。用于地址录入的错误模型可能倾向于12到2的匹配超过12到3的匹配。这将给出对匹配可能性的偏向加权以迎合与2 Lower Street地址的匹配。
[0241]最后,如果查询记录上的房屋号码被填充并且是有效的邮政地址,则用于地址录入的错误模型可以对地址是新的相对于现有地址的错误的可能性进行量化。
[0242](f)量化数据质量
[0243]不明确性度量也可应用于度量数据质量的更宽的上下文中。企业和机构关注其数据的质量,特别是其主数据,但是目前除了最明显的数据质量问题以外很难量化任何数据质量。在上面给出的数据质量问题的简单列表中,某些数据质量度量系统(例如,见通过引用包含于此的N0.2005/0114369号美国专利申请公开)主要直接解决一个问题:数据有效性。数据可以被穷尽编目并对照其数据类型和对照各种用户定义的有效性度量检查有效性,用户定义的有效性包括有效值的列表。
[0244]记录的字段内的不完整录入的证据可从未填充(空白或者空)的录入的数量推断,但是这并未量化缺失信息的重要性。考虑主客户地址列表的情况。如果城市从客户地址录入中缺失,但是存在有效的邮政编码和街道地址,这是否增加任何不明确性?或者,地址是否能够从手头上的信息有效地完成,也许使用如邮政地址文件的基准集合?如果地址缺失房屋号码怎样?多少房屋共享剩余的地址?某些数据质量问题可以利用数据清理修正(缺失城市),其他的不能(缺失房屋号码)。需要数据中存在的固有不明确性的度量。
[0245]通过将每一地址条目和基准数据集合进行比较,可以计算该条目中不明确性的度量。不明确性报告可以包括不具有不明确性的条目的部分。对于具有不明确性的条目,报告可以示出具有K个替换(或者替换的指定容器/范围,也称为“变体”)的条目的数量的直方图。也可能存在具有最大不明确性的前N个条目的列表,其中N是用户指定的条目的数量。量化与整个数据集合的不完整数据相关联的不明确性的概要统计可以从每记录的替换的数量的平均值和标准差构建。
[0246]如果应用不明确性的统计频率度量来对地址的可能的完成进行量化,则感兴趣的度量是:a)具有K个替换的条目的数量的直方图,b)利用替换的频率的分布的直方图,具有最大替换范围的N个记录的列表,c)具有与单个替换最强的关联的N个条目的计数和列表,d)替换数量的平均值和标准差。
[0247]相似度量应用于不明确性的错误模型度量。
[0248]字段中的录入不是期望的那一个的变体录入的数据质量问题与有效值问题以及不完整信息的问题两者都类似。在某些层次,说录入不是预期那个是为了断言其对于特定的但不一定明确的验证标准是无效的。街道名的验证可以通过将街道名称和基准邮政地址文件中所包含街道名称的比较来定义。或者,在缺少基准数据集合时,有效性可以从相关联的变体匹配录入的相对频率推断。如果录入以相对较高的频率发生并且不存在高频率的替换,则该录入可被当作有效的。如果录入以相对较低的频率发生并且存在单个高频率替换,则该录入可被当作无效的。如果存在多个高频率替换,则对有效数据的纠正可能是不明确的,并且可以类似于数据缺失那样对其进行量化。
[0249]假设字段具有有效值的枚举集合之外的值。例如,性别字段是G而非M或F。不明确性的均分度量将认为对于该录入存在两个替换。频率度量将仍表明2个替换但是可能包含对M或F的偏向。在简单的枚举情况中,当替换数量上没有变化时,数据集合的不明确性度量从每录入的不明确性度量乘以无效值的分数的简单乘积形成。
[0250]当替换的数量上存在变化时,例如如果存在街道名被误拼了,则不明确性度量将有助于对在数据中存在的不明确性进行量化。频率和错误模型度量应该对于变体拼写给出最可靠的结果。与不完整信息一样,不明确性度量最终反映数据集合可以通过清理被改善多少以及仍将遗留多少不确定性。
[0251]在错误字段中录入的数据也可以以类似方式量化。这里,可能存在关于数据放置事实上是否错误的额外的不明确性。在具有常见名值的姓的情况下,不清楚一种顺序相对于另一个是否正确。知道常见名有多经常存在于姓字段中有助于约束错误排序的姓名的问题可能的严重性。如果准确的基准(或者其他验证器)可用,则可以获得错误率的度量。在100,000个条目的数据集合中,可能存在500个其中存在是常见名的姓的条目,但是其中只有25个真正地被错误地排序。则错误率是25/500=1/20。即使不存在度量的错误率,知道只有500/100,000=1/200的易受该问题损害的条目提高了人们对该数据的信心。[0252]对姓名字段的其他感兴趣的检查将是知道何时:a)名和姓都是常见名,b)何时名是常见的姓而姓是常见的名,c)何时名是常见的姓而姓也是常见的姓。从姓名的基准数据集合(或许数据集合自身)导出的不明确性的频率度量可用于计算排序正确的可能性。例如,考虑姓名David Paul。从David是名或姓的概率,以及类似的Paul是名或姓的概率,可以计算David是名的可能性。
[0253]字段中,例如在地址中的某些重排序相对于被选择的基准数据集合是错误的,但是本身不是错误的,因为指定排序的标准或者较弱,或者不存在。这里,与基准数据集合相比的特定地址排序的不明确性度量可以用于表明不同的排序不是严重的数据质量问题,因为它们不将联系(association)的不明确性引入数据。这是对在何处努力改善数据质量的决策的重要输入。
[0254]为了量化在自由文本字段中存在的基准数据的量,人们可以对照被选择的基准数据集合将自由文本分解为在模糊搜索中使用的单词。例如,假设公司期望产品id正存储在发票的注释字段中。通过使用注释字段中的每一单词来对照产品id表格做模糊搜索,可以找到注释字段中存在的产品id的数量。更一般地,可以对照WFS文件(参考其他专利)搜索每一单词以确定所有它或它的变体可能在其中出现的字段,以及具有什么样的分数比率。这给出了一个字段中的数据对照在其他字段中看到的数据的模糊交叉相关(这种方法也可以用来标识已经被放置在错误字段中的数据)。
[0255]几种基准完整性问题都可以被量化。首先确证度量可以被定义为精确关键字对的分数,针对所述关键字对,被链接的数据事实上未被正确地链接。这个种类的确证只能在链接的两侧上都存在可比较字段(或者可比较字段可以通过额外联接被带到链接点)时才能做出。典型地,这是类似字段之间的比较,如被保持在多于一个数据库中的客户姓名和地址,其中链接关键字已经在数据库之间建立。当将保持在数据仓库中的数据与填充仓库的源系统中的数据进行比较时出现这个状况。如果不同的源系统保持了矛盾的信息,或者如果它们被不一致地更新,则数据仓库可能类似地与一个或多个源系统矛盾。针对数据仓库与其源的一致性验证将提供对企业数据质量的新的且重要的检查。
[0256]第二个检查是寻找缺失或者孤立的链接,即在链接的另一侧上没有记录的链接。模糊搜索可以确定是否存在另一个应该被链接(缺失链接)或者未被链接(孤立的)的记录。这些条件中的每一个的分数的度量很重要。如果对链接的另一侧上的记录的匹配是不明确的,则不明确性度量可以将其量化。这形成了数据清理操作的基础以便重新填充链接,其中这可以被唯一地完成,并且标识哪些链接因其是不明确的而要求进一步的调查。(下面将考虑部分成员资格的可能性)。
[0257]当两个数据集合包含相关的信息但是它们之间不存在关键字关系时,数据集合之间的模糊搜索或者联接将找到数据集合之间的预期链接。每一预期链接的不明确性度量将指示数据集合之间的映射有多干净(clean)。例如,在两个公司合并时组合如两个公司的客户姓名和地址的主基准数据时这将非常有用。同样地,其可以用于合并企业的不同部分的基准数据。这将是主数据管理方案的安排中重要的早期阶段。创建主数据管理方案中的差距分析(gap analysis)的部分是确定不同系统使用的现有基准数据集合之间对准(alignment)的质量。系统之间的初始对准是这种分析的副产品。拥有不明确性分析有助于随后对为了协调(reconcile)系统将花费的额外工作进行量化。[0258](g)聚类和部分成员资格
[0259](I)创建模糊聚类
[0260]如我们前面提到的那样,当不存在关于如何将元素合并(coalesce)到组中的先验指导时,使用一种原则或者算法来标识组。这实际上很重要,因为在真实情况下,经常不清楚哪个元素应该担任核心元素以吸引其他元素以便形成组。例如,在上面的客户地址数据库中的重复记录的例子中,有时候公司不可能知道哪个记录是真实记录。下面的讨论提出了可用来形成记录的模糊聚类的几个算法,其中,数据片将被视为相互关联。
[0261]在上面提到的客户地址例子中,存在六个和“John Smith”相关联的记录:(A) JohnSmith ox2 6qt; (B)John Smith ox2 6qx; (C) John Smith ox2 6qy;(D) John Smith ox27qy; (E)John Smith ox26qt; (F) John Smith ox26qy。不知道哪个(些)记录对应于真实的家庭,公司可能对将上面的记录分组为两个或三个聚类感兴趣,每一个聚类表示真实的家庭。以这种方式,公司可能能够通过减少发送到虚假邮寄地址的邮件来减少邮件量。
[0262]可用来创建聚类的一个算法是找到包含指定距离内的最大数量的元素的最大无交集(disjoint)子集。参考图5说明这种方法。涉及的步骤在流程图中示出。图5也使用上面的客户地址数据库例子来详述该算法。在对应步骤的右边展示了来自每一个步骤的结果。在这个实例中,指定的距离是两个操作。
[0263]参考图5中的流程图,从最大无交集子集创建聚类的第一个步骤是:对于每一元素,对该元素的变体计数(502)。如上面所定义的那样,元素的变体是距离该特定元素指定距离内的元素。在客户地址例子中,对于记录A,存在三个在两个操作的距离内的记录(B、C和E)。对于记录B,存在两个在两个操作的距离内的记录(A、C)。对于C,有四个,对于D,有一个,对于E有两个,并且对于F有两个。
[0264]然后,选择(504)具有最大量的变体的元素并使该元素及其变体成为由该元素标记的组。在客户地址数据库例子中,记录C具有最大量的变体,4。记录C及其变体(A、B、D、F)形成了第一聚类。
[0265]接着,从所有元素集合去除(506)最大组的元素。在客户地址例子中,这只留下了记录E0
[0266]然后,在剩下的元素中,找到(508)具有最大量的变体的元素。这个步骤将生成第二个聚类。在客户地址例子中,在第二个聚类中只有一个元素E。
[0267]继续(510)直到所有元素都已经被分组在聚类中为止。在客户地址例子中,无需再进一步,因为每一元素已经找到其组。
[0268]在客户地址数据库的例子中,这个算法产生了两个聚类,由A、B、C、D、F组成的组,和由E独自组成的组。公司可以将每一个组中包含的记录作为彼此的副本对待,并将这些记录合并以减少邮件量。
[0269]可以对上面的算法添加某些调整。例如,记录A和F距C和E是相同的距离。在上面算法中,分配记录A和F作为C的副本是所述处理的人为产物,并且不一定指示记录A和F更接近C而不是E。
[0270]一个调整可以是在聚类的表达式上标注不确定性。例如,可以使用表达式C5-2来表示C的聚类,其包括记录C及其变体,5指示记录的总数并且-2指示不确定性。可以使用表达式E1+2来表示E的聚类,其包括记录E及其变体,I指示在该组中的记录的总数,并且2指示不确定性。聚类的正不确定性反映出存在被分组到其他聚类的可能属于这个聚类的元素。聚类的负不确定性反映出在这个聚类中的元素可能属于另一组。
[0271]另一调整可以是把A和F添加到E的聚类。因此,组C具有记录A、B、D、F,并且组E具有记录A和F。但是,因为记录A和F属于两个组,在所有组中的记录的总数是8,比记录的总计数多两个。为了保持总计数,可以使用部分成员资格。
[0272]当在多单词字段,如公司名上聚类数据时,构建模糊聚类的第二种方法是适合的,其中,记录之间的变化通过对短语而非单个单词(或者如UK邮政编码的整个字段)计分被评估。短语计分不仅把单词的变体拼写纳入考虑,也考虑了单词顺序、缺失的单词和单词之间改变了具体单词次序的插入。例如,给定公司名Bank of America,下面示出了四种类型的需要被标识和区别的名字变化:
[0273]I) Bank of Amrica (单词的模糊匹配)
[0274]2) America Bank (单词顺序,缺失的单词)
[0275]3) Bank America (缺失的单词)
[0276]4) Bank of South America (插入的单词)
[0277]作为在短语上聚类的例子,假设银行正试图对属于主客户列表中相同的法律实体的所有帐户进行标识。法律实体要由公司名称、地址和公司注册号(如果有的话)标识。用于聚类的首要字段是公司名称,因为其和法律实体高度相关并且总是被填充。地址是用来区别偶然地具有类似名称的公司的次级字段。对于合法的实体标识,预期公司注册号是确定的,但是其未被充分填充而不能单独使用。
[0278]模糊聚类操作通过标识超聚类关键字开始,超聚类关键字将原始数据集合划分为较小的子集,适当地选择关于比较的大小以允许针对聚类成员资格比较所有的元素。具有不同超聚类关键字的记录通过构建将处于不同的聚类中。对基于地理的数据,如地址,邮政编码经常是合适的超聚类关键字。具有匹配变体邮政编码的记录可以包括在超聚类中。具有非匹配邮政编码的记录被预期以高概率属于不同的聚类,所以为了改善性能,当计算聚类时通过弓I入超聚类关键字来排除它们。
[0279]在每一个超聚类内,数据按公司名称字段的长度降序排序并按公司名称升序排序,以便按可再现的顺序将最长的名字首先提供给聚类算法。使超聚类组中的第一个记录成为第一个聚类的主记录。每一后续记录(这里称作当前记录)通过将当前记录的公司名称对照聚类的主记录的公司名进行计分来与每一现有聚类的主记录进行比较。如果得分超过猜测(suspect)匹配阈值,则所述聚类被添加到当前记录的猜测聚类的列表。在将当前记录与所有现有主记录比较过以后,如果猜测列表为空,则使当前记录成为新聚类的主记录。如果猜测列表只有一个条目,并且得分超过匹配阈值,则当前记录被添加到猜测列表上的聚类。如果猜测列表具有多于一个条目,则对照猜测列表上的每一聚类中的每一记录对当前记录上的公司名称计分。将当前记录添加到其具有超过匹配阈值的最高分数的聚类。如果对于多于一个聚类中的记录存在超过最高分数的相等匹配,则当前记录被添加到第一个这样的聚类。如果没有分数超过匹配阈值,则当前记录成为新聚类的主记录。
[0280]这个算法具有两个重要特征。因为以有利于第一个匹配聚类来决定与多个聚类的不明确匹配,所以某些聚类被以不明确成员相对地过填充(over-populate)。而且,记录被提供给算法的顺序影响具体的成员资格决定。关于公司名称的值和长度的初始排序旨在通过建立固定的名称顺序来改善这一点。下面讨论的部分成员资格的概念给出了更丰富的解决方案,它更准确地反映了聚类成员资格的不明确性。
[0281]在下列的公司名称集合中出现了不明确性成员资格的例子。
[0282]ACME Services Australia Limited
[0283]ACME Services Canada Limited
[0284]ACME Services Limited
[0285]在特定计分下,ACMEServices Australia Limited 与 ACME Services CanadaLimited的计分是0.65,这在0.75的匹配阈值之下,从而这两个记录被放置在分开的聚类中。ACME Services Limited对两个聚类具有0.95的相等分数。它变为ACME ServicesAustralia Limited 聚类的成员,因为它首先遇到 ACME Services Australia Limited。
[0286](2)部分成员资格
[0287]在前面部分的第一个例子中,记录A和F既属于聚类C也属于聚类E。如果记录在聚类中的每次出现都被计为一,则尽管只有六个记录,记录在聚类C和E中的总计数是8,五个在组C(C,A,B,D,F)中,并且三个在组E (E、A、F)中。在这个例子中,可以使用部分成员资格保持总计数。如果数据片属于多于一个组,则该数据片的出现被计数为小于一,即分数。但是该数据片的所有出现的和应该仍旧是一以使总计数守恒。
[0288]在某些布置中,使用例如上面描述的不明确性的度量,元素在组中的部分成员资格可以定义成反映元素属于该特定组的可能性。
[0289]例如,假设记录A具有40%的概率属于组C,并具有60%的概率属于组E。则0.4的部分成员资格可以被分配给组C中的记录A,并且0.6的部分成员资格可以被分配给组E中的记录A。
[0290]类似地,假设记录F具有10%的概率属于组C,并且具有90%的概率属于组E。0.1的部分成员资格可以被分配给组C中的记录F,并且0.9的部分成员资格可以被分配给组E中的记录F。
[0291]随着部分成员资格被分配给记录A和F,总计数是组C的计数(1+1+1+0.1+0.4=3.5)和组E的计数(1+0.9+0.6=2.5)之和,其为6。因此,保持了总计数。
[0292]由于部分成员资格的根源是对特定元素的成员资格的不确定性,所以每一个组的总成员资格仅以一定程度的不确定性可知,即误差界限(margin of error)。每一个组的总计数可以表达为总地和部分地由误差界限调整的成员资格的和。这个界限可以由通过假设关于成员资格的所有不确定决定落入包含(inclusion)或者排除(exclusion)所获得的最大和最小边界值指示。这对应于聚类中成员分布上的最差情况场景。这里,利用边界值,C中的总成员资格将为3.5 (3,5):这解读为说预期的C的成员数量是3.5,而C具有至少三个成员并且至多五个成员。类似地,E中的成员资格将为2.5(1,3):预期的E的总成员资格是
2.5,但是至少一个成员和至多3个成员。
[0293]属于不同聚类的边界值是相关的,尽管这里使用的表示法未指示它。数据集合中不同记录之中的相关是可能的,并且当计算边界值时应该被纳入考虑。例如,有时候有可能(确定性或者其他可能性)知道A和F不在相同聚类中,而不知道它们属于哪个聚类。
[0294]在上面的第二个例子中,通过将超过猜测阈值而匹配主记录的所有记录和每一个聚类相关联,特别是当存在和多于一个聚类的不明确匹配或者猜测匹配时,可以提高聚类的质量。应该对照每一个猜测记录来记录匹配的质量,并利用不明确性度量对匹配的质量进行量化。利用其部分成员资格的度量标记,部分成员在一个布置中将与完整成员分开保持。例如,聚类的成员可以按特定成员资格的降序列出(完整成员具有部分成员资格一)。
[0295]规则标记应该附着于每一个记录,同样它既能用于链接部分成员资格被一起确定的记录,也能识别确定部分成员资格分配的规则、事件或决定。当组合具有不同的部分成员资格的记录时,这个规则标记在调整部分成员资格时将会有用。
[0296]虽然从一个角度,部分成员资格反映了出自成员资格的不确定性的不明确性,但是从其他角度,部分成员资格只是成员资格在多个聚类之中的简单分配,如在为两个部门工作的雇员例子中那样。在不确定的情况下,预期信息状态上的变化将改变成员资格分配。或者,可以简单地将部分成员资格作为决定性的接受。将分数作为实数接受没有成本。
[0297]当部分成员资格表示元素属于不同聚类的可能性时,部分成员资格总是非负的,并且属于不同聚类的元素的部分成员资格的和应该是一。
[0298]但是,部分成员资格在某些布置中可以是负的。但是属于不同聚类的对象的部分成员资格的和仍必须限制是一。
[0299]在某些布置中,元素的部分成员资格可以定义为元素和主体之间的距离的函数,或者元素和主体之间的匹配得分的函数。如上所述,从模糊分数构建部分成员资格的一个方法是通过不明确性度量。不同的模糊得分反映出元素和主体之间的不同距离,从而反映出不同的不明确性度量。注意,模糊得分反映出变体和主体之间的相似性,并且经常并不和概率相同。
[0300](h)模糊数据操作
[0301](I)存在部分成员资格时的过滤
[0302]将选择标准应用于对共享公共属性的记录的子集进行隔离经常是有用的。例如,在国际记录的数据集合中,来自特定国家的记录可以被选择。选择操作(有时候称作“过滤,,)不被视为基于关键字,因为在确定选择的表达式中使用的字段无需是关键字。当允许记录具有多个聚类中的部分成员资格时,过滤可能导致某些部分成员要被丢弃。结果是和跨过被选择子集的记录相关联的总成员资格分配可能小于一 Unity)。对此的解释是总分配对照选择的子集外部的替换来度量选择的子集中的成员资格。
[0303]假设ACME Services Limited 对于包含 ACME Services Australia Limited 的组具有0.5个分配,并且对于包含ACME Services Canada Limited的组具有0.5个分配。ACME Services Limited跨过整个数据集合的总分配是1.0。如果施加过滤以便只保留与Canada相关联的记录,则ACME Services Limited将在作为结果的数据集合中具有总分配0.5。这指不ACME Services Limited有50%的机会在Canada子集中,相对于不在Canada子集中的50%的机会的替换。
[0304](2)按照关键字和部分成员资格的并行分区
[0305]在并行处理中,可以基于关键字的值将记录分配给不同的处理分区(有时候称为“按关键字分区”)。当允许记录具有不明确聚类成员资格时,可以关于与每一个聚类相关联的关键字来完成分区。在这个分区方案下,在与给定记录相关联的分区内的总分配可以小于一。对其的解释类似于过滤:其参照不在分区中的替换来对将记录分配到该分区进行度量。[0306]假设ACME Services Limited对于包含 ACME Services Australia Limited 的组具有0.5个分配,以及对于包含ACME Services Canada Limited的组具有0.5个分配。按照关键字的分区操作可以将包含ACME Services Australia Limited的组分配到一个分区,并将 ACME Services Canada Limited 分配到另一分区。与 ACME Services Limited 记录相关联的后者分区中的总分配是0.5,反映其与ACME Services Canada Limited聚类的关联,相对于其在其他分区中的0.5的替换。
[0307]常见数据操作的并行版本可以由其在单个分区内的行为定义,并且不在分区之间进行沟通。当针对一个记录的分区内的总分配小于一时,将按这里定义的意义解释。
[0308](3)上卷和部分成员资格
[0309]上卷操作将来自各个记录层次的数据汇集或者汇总到组层次。在精确关键字情况下,关键字组定义为共享公共关键字(值)的记录的集合。在聚类的情况下,组定义为其成员由比较测试确定的记录的集合,具有一个或多个记录可能是一个或多个组的成员的可能性。
[0310]聚类组中的相加(additive)(以及相乘,例如通过对数相加)数值汇集(numericalaggregation)(有时候称为“计算相加度量”)作为使用对于权重的分配度量的加权汇集来完成。通过计算替换的(未加权)汇集来计算边界值,其中所有具有对所述集合的部分分配的记录或者被包括在该集合中,或者被从该集合排除。下列记录的列表是基于公司名的聚类组
[0311]聚类_关键字分配_度量公司_名称计数Cl1.0ACME Services Australia Limited 80cl 1.0 ACME Services (AUS)Limited 60cl 0.5 ACME Services Limited 100
[0312]确定聚类中的总计数的上卷是加权和
[0313]80*1.0+60*1.0+100*0.5`=190
[0314]边界值为
[0315](排他)80氺1.0+60*1.0+100*0.0=140,
[0316](包含)80*1.0+60*1.0+100*1.0=240
[0317]聚类组中的总计数的结果可以被表达为190(140,240)。
[0318]通过考虑具有部分分配的记录或者被包括或者被从集合排除的极端情况完成非相加汇总。分配度量可以经常用于将置信度(confidence)分配给通过包括部分成员获取的结果。例如,记录可以在聚类组内关于某个次级关键字排序,并且上卷可以确定哪个记录是排序顺序中的第一个。下列列表关于计数按降序对先前的记录列表排序
[0319]聚类_关键字分配_度量公司_名称计数
[0320]cl0.5ACME Services Limited100
[0321]cl1.0ACME Services Australia Limited 80
[0322]cl1.0ACME Services (AUS) Limited 60
[0323]在这个排序顺序中确定该聚类组中的第一个记录(即最大计数)的上卷给出了边界结果:
[0324](包含)cl 0.5 ACME Services Limited 100
[0325](排他)cl 1.0 ACME Services Australia Limited 80[0326]可以向包含结果提供0.5的分配度量以指示和包含结果相关联的置信度。在这个例子中,排他结果可以被视为最差情况结果:最大是至少80。
[0327]存在部分成员资格时的上卷操作可以并行进行。为了看到这点,首先考虑相加数值汇集。这是加权和。这样的和可以被分解为被单独计算然后进行组合的部分和。每一个部分和是可在其自己的并行分区中计算的加权和。这就是相加上卷的并行化。
[0328]相加和非相加上卷的排他边界的计算是可并行的,因为按定义所有的部分成员被排除。因此,计算简化为可并行化的一般上卷(大多数情况下)。
[0329]在某些条件下包含边界的计算是可并行的,以防止包含的双重计数。对于聚类内的上卷,每一部分成员只在该聚类内出现一次。因此包含边界可以作为聚类内的部分和的和来计算而不对任何成员进行双重计数。
[0330]如果跨聚类执行上卷,则可能存在来自出现在不同聚类中的相同记录的贡献。对于相加度量这是可以的,因为与记录的每一实例相关联的权重相加以给出新的总体权重。但是对于包含边界,每一个记录只应该被包括一次。一般地,这要求以某种方式追踪哪些记录出现,并且这个操作不可并行化。
[0331 ] 然而,如果在聚类之前各个记录被例如reC_key的关键字标识,并且(聚类后)数据关于reC_key进行并行分区,则所有具有相同reC_key的记录将出现在相同分区中。即使被跨聚类进行,在这个分区内的上卷也可以正确地计算包含边界,因为所有相关记录都存在。然后跨分区的包含边界可以被安全地跨分区组合,因为没有个别记录在多于一个分区上具有实例,所以不存在双重计数的可能性。
[0332](4)搜索
[0333]在精确数据操作中,使用精确关键字。例如,在搜索操作中,使用关键字并且检索所有精确匹配该关键字的记录。在模糊数据操作中,使用模糊关键字。
[0334]在某些布置中,模糊操作作为一系列精确数据操作来执行,如下面使用搜索操作作为例子所示。
[0335]在上面的客户地址数据库例子中,公司对找到所有已经被发送到名为John Smith的人的未决邮包感兴趣。搜索操作可用于该目的。可以使用两部分关键字“John Smith;ox26qt”执行搜索操作,其中邮政编码“ox2 6qt”是和John Smith相关联的正确邮政编码。然而,这个精确搜索操作将不会检索那些发送到John Smith但是却由于邮政职员进行录入时所犯的排字错误而错误地和关键字“John Smith; ox2 6qx”或“John Smith; ox26qt”相关联的未决邮包。
[0336]为了克服这个限制,可以使用与模糊关键字相关联的模糊搜索。模糊关键字是包括主关键字加所有落入该关键字的指定距离内的变体的关键字的集合的其中之一。在上面的客户地址例子中,在未决邮包搜索中使用的模糊关键字可以定义成包括主关键字“JohnSmith; ox2 6qt”加上落入两个操作的距离内的所有变体。
[0337]在某些布置中,关于模糊关键字(主体John Smith ox2 6qt加上四个变体ox26qx, ox2 6qy, ox26qy和ox26qt)的模糊搜索操作可以用下列方式执行。在步骤一中,关于主关键字“John Smith ox2 6qt”执行精确搜索。然后,在步骤二到步骤五中,关于是模糊关键字一部分的变体执行四个精确搜索。在最后的步骤,步骤6中,组合从上面步骤一到步骤五检索到的结果。组合的结果是使用模糊关键字的模糊搜索的结果。[0338]当在如公司名称或者地址的多单词字段上搜索时,可能不可能预先确定该字段的变体的集合供前面的过程直接使用。可以采用两个替换的策略。假设搜索正对所有与公司ACME Services Ltd at 2 Plater Drive, Oxford相关联的帐户记录进行。在第一个策略中,使用单个单词字段,例如邮政编码oX2 6qt用作搜索关键字。所有具有关键字“oX2 6qt”或其固定距离内的变体之一的记录被精确搜索作为“预期匹配”或者“预期”而检索到。每一预期的公司名称和地址对照着查询公司名称和地址单独地计分。
[0339]典型地,首先通过将组成地址的所有字段连接为单个串来比较地址。这具有几个优点。首先,其将来自不同来源的地址放入简单的公共格式。由于短语计分函数容忍缺失的单词或者单词顺序上的变化,所以保持源地址的元素的原始字段可能已经被不完全或者不一致地填充并不要紧。同样地,无需将地址解析为标准地址元素就达到了公共格式。典型地,解析要求准确的基准数据,如邮政地址文件,其可能不可获得,特别是在外国。而且,解析在计算上相对昂贵,所以避免解析使地址比较更好地执行。如果联接的地址字段的比较是非决定性的,则解析可以用作细化计分的后备尝试。
[0340]作为结果的公司名称和地址得分与(用户指定的)匹配阈值和猜测阈值进行比较。超过匹配阈值的得分指示两个被比较的短语足够相似以构成匹配。超过猜测阈值的得分指示短语是类似的,但是不足够接近以确定具有一定置信度的匹配。用于整个记录是否是匹配的得分通过对用于各个字段或者字段的组合(即被连接的地址)的得分进行组合来获得。用户对确定哪些信息必须一致并且多么接近的标准进行指定。例如,如果邮政编码一致,则可以允许城市字段不一致。(例如,在英国,在构成有效地址方面上存在惊人的自由性,容忍城镇名称以及存在或不存在房屋号码的变化)。
[0341]第二个策略是从一个或多个字段选择单词并使用这些单词作为模糊搜索关键词。这些单词可以选择为字段中的引导单词,或者以其重要性为基础来选择这些单词。从单词或其变体之一在字段(或字段的组合)中的出现次数相对该字段被填充的次数的比率的负对数计算重要性。
[0342]一旦选择了模糊搜索关键词,则按照单词在源记录的索引中查找每一个单词(及其变体)。这返回在给定字段中包含被选择的单词的源记录的索引的列表。假设搜索关键词是在邮政地址文件的任何地址字段中搜寻的“lower”,“Islip”。单词“Lower”可能出现在机构、街道名称和城镇字段中。“Islip”可能只作为城镇出现。关于每一个单词进行搜索给出了在其中找到该单词的记录的索引的列表。将两个列表相交给出了包含两个单词(或其变体)的记录的集合。这形成了预期记录的集合。因为已知预期记录包含特定数量的搜索单词,所以它们事实上已经预合格了。要求共同保持的搜索单词越多,字段之间的分数可能越高。
[0343]在将过滤应用于以仅保留,例如,包含两个或多个搜索单词的记录以后,完整记录被检索并相互对照进行计分。作为结果的分数按降序排序。可以针对匹配的集合计算不明确性度量,并且这将增加对于对照基准的查询的匹配的质量的特性进行描述的信息。
[0344](5)模糊联接
[0345]模糊联接与模糊搜索类似,只不过不是使用查找来检索记录,而是完成联接,其中读取整个基准数据集合并对照查询数据集合进行处理。这可能对性能和控制都是有用的。如果基准数据集合太大不能作为普通查找装入存储器,则可以将其作为保持在磁盘上的(可能被块压缩的)可加载查找(参考Ab Initio可加载查找)进行存取。当处理每一个搜索项时,从磁盘存取适当的查找表格的页面。如果需要存取基准数据集合的足够大的部分(例如10%),则在单次中按排序顺序读取整个基准数据集合证明比利用随机访问搜索进行处理更有效率。这减少了由搜索处理执行的重复磁盘存取。
[0346]从控制角度,如果搜索要求访问多个基准数据集合,则联接可能是更方便的方式将来自基准数据集合的数据合在一起用于计分。假设查询包含在单个条目中的客户姓名和地址,但是基准数据保持客户姓名,并且地址是单独的表格。可能存在第三个链接表格,该表格连接客户姓名和地址。如果目标基准数据被保持在不同的表格中,则不可能直接比较通过对于搜索关键词搜索索引文件而返回的记录索引,因为索引涉及不同数据集合中的记录。如果关键字被分配给查询,则可以对照每一个数据集合做出单独的搜索,并且关于查询关键字的联接将组合这些搜索的结果并允许取得预期并对预期计分。
[0347]如果将不明确性度量作为模糊联接的输出的一部分来计算,则有可能从联接操作导致多个匹配,每一个匹配都具有部分成员资格。例如,假设不具有房屋号码的地址对照邮政地址文件联接以提取邮政地址文件在该地址不具有记录的机构的名称。在适当街道上的邮政地址文件中的三个地址不具有机构,因此可以被组合用于标识该机构的目的。两个不同的机构ACME Ltd和Standard Corp.在其他匹配地址存在。不明确性的均分度量将对等同出现的数量进行计数。联接的输出将最初是五个记录,每一个匹配地址一个。对该地址的机构的后续上卷(以确定不明确性度量)将导致不明确性的均分度量,表明该机构是银行(3/5)、ACME Ltd(1/5)、Standard Corp.(1/5)的可能性。然后,这个结果可以被归一化到三个记录,每一个具有不同的机构和相关联的部分成员资格。
[0348]查询:在地址上联接以提取机构
[0349]查询地址:LowerStreet, ox2 6qt [0350]
【权利要求】
1.一种用于执行从数据存储系统(12)接收关键字并返回一个或多个数据元素的数据操作(180)的方法,所述方法包括: 基于关键字和数据元素的一个或多个搜索字段的值之间的候选匹配,确定多个候选数据元素;以及 基于与搜索字段不同的候选数据元素的一个或多个比较字段的值对候选匹配进行确证。
2.如权利要求1所述的方法,其中,所述数据操作包括形成数据元素的聚类,每一个数据元素是至少一个聚类的成员。
3.如权利要求2所述的方法,其中,至少一个数据元素与两个或多个聚类相关联,所述数据元素的属于所述两个或多个聚类的各自一个的成员资格由不明确性度量表示。
4.如权利要求3所述的方法,其中,所述数据操作包括在所述一个或多个聚类的第一聚类内计算数量的加权子和的上卷,所述数量与数据元素相关联,并且通过在第一聚类内对所述数量的值和各自的不明确性度量的值的乘积求和来计算所述子和,所述数量的值与第一聚类中的每一数据元素相关联,所述不明确性度量的值表示第一聚类中的数据元素的成员资格。
5.如权利要求4所述的方法,还包括计算所述数量的排他子和和所述数量的包含子和,通过在第一聚类中排除与两个或多个聚类相关联的数据元素来计算排他子和,并且通过在第一聚类中包括与两个或多个聚类相关联的数据元素来计算包含子和。
6.如权利要求3所述的方法,其中,表示所述数据元素属于所述两个或多个聚类的相应一个的成员资格的不明确性度量的每一个值均在零和一之间。
7.如权利要求6所述的方法,其中,表示所述成员资格的不明确性度量的值和数据元素属于所述两个或多个聚类的相应一个的可能性相关。
8.如权利要求6所述的方法,其中,基于函数来建立表示成员资格的不明确性度量的值,所述函数表示所述数据元素和所述两个或多个聚类之间的关系。
9.如权利要求8所述的方法,其中,由所述函数表示的所述关系和数据元素属于所述两个或多个聚类的各自一个的可能性相关。
10.如权利要求2所述的方法,还包括基于给定数据元素的一个或多个比较字段的值确定给定聚类中所述给定数据元素的成员资格。
11.一种用于执行从数据存储系统(12)接收关键字并返回一个或多个数据元素的数据操作(180)的系统,所述系统包括: 用于基于关键字和数据元素的一个或多个搜索字段的值之间的候选匹配,确定多个候选数据元素(120)的装置;以及 用于基于与搜索字段不同的候选数据元素的一个或多个比较字段的值,对候选匹配进行确证的装置。
12.一种用于对数据存储系统(12)中的数据元素的数据质量进行度量的方法,所述方法包括: 从数据存储系统(12)读取数据元素; 对于数据元素的一个或多个字段中的一个或多个条目中的每一个,计算所述条目的不明确性度量的值;以及基于不明确性度量的值来输出数据存储系统中的数据元素的数据质量的表示。
13.如权利要求12所述的方法,其中,计算所述不明确性度量的值包括: 将数据元素的一个或多个字段中的条目与基准值进行比较; 对于不与基准值精确匹配的至少第一条目,标识一个或多个变体;以及 基于针对所述第一条目的变体,计算所述第一条目的不明确性度量的值。
14.如权利要求13所述的方法,其中,所述第一条目的不明确性度量的值基于针对所述第一条目的变体的数量。
15.如权利要求14所述的方法,其中,所述数据存储系统中的数据元素的数据质量的表示包括具有指定的变体数量的条目的数量的直方图。
16.如权利要求15所述的方法,其中,所述指定的变体数量被指定为在一个范围内。
17.如权利要求14所述的方法,其中,所述数据存储系统中的数据元素的数据质量的表示包括具有大于预定的阈值的变体数量的条目的列表。
18.如权利要求12所述的方法,其中,计算不明确性度量的值包括: 确定一个或多个字段中不同条目的各自频率;以及 基于第一条目相较于其他条目的频率相对频率,计算第一条目的不明确性度量的值。
19.一种用于对数据存储系统(12)中的数据元素的数据质量进行度量的系统,所述系统包括: 用于从数据存储系统(12)读取数据元素的装置; 用于对于数据元素的一个或多个字段中的一个或多个条目中的每一个,计算所述条目的不明确性度量的值的装置;以及 用于基于不明确性度量的值来输出数据存储系统中的数据元素的数据质量的表示的>j-U ρ?α装直。
20.一种用于对来自存储在至少一个数据存储系统(12)中的两个或多个数据集合的数据元素进行联接的方法,所述方法包括: 基于来自第一数据集合的数据元素中的对象和来自第二数据集合的数据元素中的对象之间的变体关系,确定来自第一数据集合的数据元素中的对象和来自第二数据集合的数据元素中的对象之间的匹配; 评价具有被确定为匹配的各自对象的各自数据元素;以及 基于数据元素的评价,对来自第一数据集合的数据元素与来自第二数据集合的数据元素进行联接。
21.如权利要求20所述的方法,其中,第一对象和第二对象之间的变体关系对应于表示第一对象和第二对象的之间的距离的函数的值低于预先确定的阈值。
22.如权利要求21所述的方法,其中,所述变体关系不是等价关系。
23.如权利要求21所述的方法,其中,确定来自第一数据集合的第一数据元素中的对象和第二数据集合中的第二数据元素中的对象之间的匹配包括确定在第一数据元素中的对象和第二数据元素中的对象之间所述变体关系有效(hold)。
24.如权利要求21所述的方法,其中,确定来自第一数据集合的第一数据元素中的对象和第二数据集合中的第二数据元素中的对象之间的匹配包括确定:在第一数据元素中的对象和第一数据集合中的第三数据元素中的对象之间所述变体关系有效,并且在第三数据元素中的对象和第二数据元素中的对象之间所述变体关系有效。
25.如权利要求20所述的方法,其中,评价具有被确定为匹配的各自对象的各自数据元素包括在各自数据元素中除了被确定为匹配的各自对象之外的对象的比较。
26.一种用于对来自存储在至少一个数据存储系统(12)中的两个或多个数据集合的数据元素进行联接的系统,所述系统包括: 用于基于来自第一数据集合的数据元素中的对象和来自第二数据集合的数据元素中的对象之间的变体关系,确定来自第一数据集合的数据元素中的对象和来自第二数据集合的数据元素中的对象之间的匹配的装置; 用于评价具有被确定为匹配的各自对象的各自数据元素的装置;以及用于基于数据元素的评价,对来自第一数据集合的数据元素与来自第二数据集合的数据元素进行联接的装置。
【文档编号】G06N7/02GK103810527SQ201310671951
【公开日】2014年5月21日 申请日期:2009年10月23日 优先权日:2008年10月23日
【发明者】阿伦.安德森 申请人:起元技术有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1