使用特征化匹配的规则来匹配元数据源的制作方法

文档序号:6359832阅读:118来源:国知局
专利名称:使用特征化匹配的规则来匹配元数据源的制作方法
技术领域
此说明书涉及使用特征化匹配的规则来匹配元数据源。
背景技术
元数据发现(也被称为元数据扫描)可被用来发现代表描述数据集内出现的值的元数据(如数据库表或电子表格(spreadsheet)的字段或列的名称)的数据元素之间的关系。在某些情况下,用于在给定数据集内出现的数据的元数据被存储在各种不同的源中。在元数据发现处理期间,可在第一源中的数据元素和第二源中的数据元素之间找到匹配(match)。例如,匹配可对应于表中的字段的相似字段名称和/或元数据的相似描述。匹配可指示匹配的数据元素代表相应数据集中的同类数据值的元数据。在某些情况下,可使用包括用户指定的或基于字典的数据库(例如,WordNet)的同义词的数据库,来确定具有相似语义的数据元素之间的匹配(例如,“日(day ) ”和“日期(date ) ”之间、或“性别(gender ) ”和“性(sex)”之间的匹配)。可生成或更新元数据的主集合(有时被称为“元数据注册表(metadata registry)”),以基于所发现的关系来存储元数据,或链接到已在元数据发现处理中找到的元数据。

发明内容
在一个方面,一般的,一种方法包括在数据存储系统中存储用于多个源中的每个的规范,每个规范包括标识对应源的一个或多个数据元素的信息;以及在耦接到数据存储系统的数据处理系统中,处理来自源的数据元素,包括基于存储的规范中的对应的一个来为每个源生成规则集,并匹配不同源的数据元素,并根据为第一源生成的规则集以及为第二源生成的规则集,确定特征化第一源的第一数据元素和第二源的第二数据元素之间的给定匹配的质量度量。方面可包括以下中的一个或多个。每个源的规则集可产生与特征化给定匹配的质量度量相对应的一个或多个等级。该方法可包括提供与一个或多个等级相对应的说明信息。给定匹配可包括分别与第一和第二数据元素相对应的名称之间的匹配,并且,一个或多个等级基于特征化给定匹配的质量度量。给定匹配可包括分别与第一和第二数据元素相对应的描述之间的匹配,并且,一个或多个等级基于特征化给定匹配的质量度量。该方法可包括将在第一和第二数据元素中出现的词项分类为一个或多个类别;为第一和第二数据元素中的每个词项分配一个或多个类词;将分别与第一和第二数据元素中的词项相对应的一个或多个类词相比较,以生成给定匹配的质量度量;以及基于特征化给定匹配的质量度量来分配一个或多个等级。特征化给定匹配的质量度量可包括距离测定度量。第一等级可被分配给规则集的第一规则的输出,并且,第二等级可被分配给规则集的第二规则的第二不同输出,其中,相对于第二等级,第一等级可指示更好的、特征化给定匹配的质量度量。规则集基于分别在第一和第二数据元素中出现的名称的相似度。规则集可基于分别在第一和第二数据元素中出现的描述的相似度。该方法可包括向用户提供这样的能力提供用于生成规则集中的一个或多个规则的输入,以便量化第一数据元素和第二数据元素之间的匹配的质量。规则集中的每个规则包括触发器输入和基于触发器输入的输出。依次读取规则集中的每个规则,直到规则集中的给定规则的所有触发器输入都评估为真为止。特征化给定匹配的质量度量基于词在第一和第二数据元素的词项中出现的次数、以及词在来自第一或第二源的词项集中出现的次数的度量。该方法可包括通过以下步骤来计算特征化给定匹配的质量度量向在第一或第二源中以第一频率出现的词项提供第一权重;以及向在第一或第二源中以第二频率出现的词 项提供第二权重,其中,第一权重的值小于第二权重的值。该方法可包括通过以下步骤来计算特征化给定匹配的质量度量计算第一源中的词项的第一频率、以及第二源中的词项的第二频率;以及基于第一和第二频率的数值的积来产生质量度量。该方法可包括将质量度量正规化为预定限制之间的范围(例如,O和I之间)。该方法可包括生成与第一源中的词项相对应的第二源的词项集,并具有特征化所述词项和所述词项集中的每个之间的匹配的预定质量度量。用户指定所述词项集中的词项的数目。所述词项和所述词项集中的每个之间的匹配基于在词项中出现的匹配名称。所述词项和所述词项集中的每个之间的匹配基于在词项中出现的匹配描述。在另一方面,一般的,一种存储计算机程序的计算机可读介质,该计算机程序包括用于使计算机进行以下步骤的指令存储用于多个源中的每个的规范,每个规范包括标识对应源的一个或多个数据元素的信息;基于存储的规范中的对应的一个来为每个源生成规则集;以及匹配不同源的数据元素,并根据为第一源生成的规则集以及为第二源生成的规则集,确定特征化第一源的第一数据元素和第二源的第二数据元素之间的给定匹配的质量度量。在另一方面,一般的,一种系统包括数据存储系统,其存储用于多个源中的每个的规范,每个规范包括标识对应源的一个或多个数据元素的信息;以及耦接到数据存储系统的数据处理系统,其被配置为基于存储的规范中的对应的一个来为每个源生成规则集,并匹配不同源的数据元素,并根据为第一源生成的规则集以及为第二源生成的规则集,确定特征化第一源的第一数据元素和第二源的第二数据元素之间的给定匹配的质量度量。在另一方面,一般的,一种系统包括部件,用于存储用于多个源中的每个的规范,每个规范包括标识对应源的一个或多个数据元素的信息;以及部件,用于处理来自源的数据元素,包括基于存储的规范中的对应的一个来为每个源生成规则集,并匹配不同源的数据元素,并根据为第一源生成的规则集以及为第二源生成的规则集,确定特征化第一源的第一数据元素和第二源的第二数据元素之间的给定匹配的质量度量。上述方面可包括以下优点中的一个或多个。一般地,当搜索一个或多个关键词和某个文本(例如,网页)之间的匹配时,搜索处理例如可通过将文本内的关键词的外观突显(例如,通过使关键词加粗),而向用户显示为什么出现给定匹配。在一些示例中,这里描述的技术可被用来识别不同版本的文档中的改变。此外,可通过可包括诸如匹配分数和等级的细节的关系表,将源或关键词项可视化地链接到目标词项。当在可能表示同类数据的元数据的两个数据元素之间执行匹配时,与存在相应关键词之间的精确匹配相比,出现(或不出现)匹配的原因可能更复杂。例如,可能已经扩展或转换(例如,使用截词(stemming)) 了数据元素中出现的词项,并且匹配词项之间的关系可能基于找到同义词或将词项分类到类别(称为“类(class)”)。用来执行匹配的过程可使用规则,以通过对每个匹配分配等级来特征化匹配质量。可与匹配相关联地存储等级,以指示匹配质量。在存在大量元数据源的情况下,可考虑不同源之间的差异,以便可以在重复匹配处理时将源有效地处理任意次数。预处理过程使得能够生成源处理信息,其使得能够通过提供解释和/或转换数据元素所需的信息、以及定义用来特征化匹配的规则的信息,处理直接来自源的数据元素。
本发明的其它特征和优点将从下面的描述以及权利要求中变得显而易见。


图I是用于执行基于图形的计算的系统的框图。图2是示例性元数据处理过程的流程图。图3示出了示例性自动匹配处理的阶段。图4是示例性的自动匹配处理的基于图形的实现。图5是来自图4的自动匹配处理的基于图形的实现的示例性输出。图6-8是示例规则、以及用于管理规则的界面的屏摄(screenshot)。图9-12是示例性元数据界面的屏摄。
具体实施例方式商业分析员可维护多个数据字典(dictionary),其包括跨越很多系统的数据元素的商业特征的列表。数据字典(或元数据仓库(repository))是有关数据的信息(诸如含义、与其它数据的关系、起源、用途、以及格式)的仓库。这样,数据字典有助于词项(term)的定义的标准化、以及这些词项的使用的一致性。在某些情形下,可维护企业范围的数据字典,以捕获有关在企业内使用的数据的元数据。要匹配的数据元素可具有名称部分,其使用一个或多个描述词项来标识数据元素,并可选地具有描述部分,其描述数据元素或特征化该元素的各种属性。在不同字典中包含的名称和对应描述可具有各种格式。例如,可在不同时间开发数据字典,并将其作为可被独立维护的不同系统的部分。至少由于此原因,可能不存在公同采用的命名标准。这样,在此申请中描述的元数据处理技术的优点在于不同数据字典之间的名称和描述的协调化。另外,通过提供量化数据元素的匹配的质量度量或分数,自动元数据处理可将商业分析员的注意力仅导向需要人类分析的部分匹配。例如,分析员可能仅对被度量评分为紧密匹配的那些匹配有兴趣。图I示出了示例性数据处理系统100,其中,可使用元数据处理技术。系统100包括源102,其可包括数据和/或元数据的一个或多个源,诸如存储装置、或到在线数据流的连接,每个源可以各种存储格式(例如,数据库表、电子表格文件、平(flat)文本文件或大型机使用的本地(native)格式)中的任一个存储数据和/或元数据。在一些情况下,源将元数据与该元数据描述的数据独立地存储。在一些情况下,例如,将元数据存储在与该元数据描述的数据相同的数据结构内,或使用链接或指针与数据相关联地存储。在一个示例中,源102与被集成形成单个主数据存储系统的多个数据存储系统相关联。在集成系统的处理中,可能需要确定描述要合并的对应数据的元数据之间的匹配。例如,可能需要确定来自一个源的客户列表的哪些字段存储代表与形成来自另一个源的客户列表的字段相同的属性(例如,来自一个源的“社保号”字段与来自另一个源的“SSN”的属性相同)。继而可使用数据元素之间的匹配来集成数据存储系统。执行环境104包括预处理模块106,其读取源102,并基于源注册表114生成用于元数据源的源处理信息122 ;以及执行模块112,其基于源处理信息122和参考信息124来执行元数据处理,以确定匹配和记录质量信息。数据存储系统116存储源注册表114、源处理信息122和参考信息124,如下面更详细描述的。执行环境104可驻留在诸如UNIX操作系统的适当操作系统控制下的一个或多个通用计算机上。 例如,执行环境104可包括多节点并行计算环境,其包括使用本地(例如,多处理器系统,如SMP计算机)或本地分布(例如,作为集群耦接的多个处理器,或MPP)、或远程或远程分布(例如,经由局域网(LAN)和/或广域网(WAN)耦接的多个处理器)或其任意组合的多个中央处理单元(CPU)的计算机系统的配置。提供源102的存储装置可以相对于执行环境104为本地的,例如,其被存储在连接到运行执行环境104的计算机的存储介质(例如,硬盘驱动器108)上,或者,其可以相对于执行环境104是远程的,例如,驻留在经由远程连接而与运行执行环境104的计算机通信的远程系统(例如,大型机110)上。数据存储系统116也可被开发环境118访问,其中,开发者120能够配置预处理模块106和执行模块112。在某些实现中,开发环境118是用于开发作为数据流图的应用的系统,所述数据流图包括通过顶点之间的定向链接(代表工作元素流)所连接的顶点(组件或数据集)。例如,在标题为“ManagingParameters for Graph-Based Applications” 的美国公开号2007/0011668中更详细地描述了这样的环境,通过引用将其合并于此。预处理模块106和执行模块112均可被配置为具有与实现为数据流图的每个模块并行地处理多个源的能力,所述数据流图从源102接收输入数据流,并提供输出数据流,例如,作为源102中的数据元素之间的潜在匹配的流。预处理模块106根据源注册表114,基于来自源的信息而准备源处理信息122。源注册表114包括要处理的每个源的规范,其规定访问信息,其指示如何访问源;格式信息,其指示源中的数据元素的格式;以及源中要被包括在匹配处理中的特定数据元素的标识。例如,每个规范可被存储为表中的行。预处理模块106从由源注册表114标识的源读取数据元素,并生成源处理信息122。除了来自源注册表114的格式信息之外,源处理信息122还包括解释和/或转换数据元素以提取要在匹配处理中使用的词项和描述所需要的任何信息。例如,可存储不同的转换函数,用于将各种格式中的每个转换为要在匹配处理中使用的公共格式。源处理信息122还包括定义用于特征化匹配的规则所需的信息。用于确定等级的规则中的一些可取决于数据元素的特征。于是,每个源可具有对应的规则集,并且,可连同使用不同的规则集来确定给定匹配的等级。执行模块112使用预处理模块106生成的源处理信息122、以及在执行环境104可访问的数据存储系统116中存储的参考信息124。执行模块112从自数据元素提取的词项和描述生成要匹配的词,并执行匹配处理,以产生数据元素之间的匹配。匹配处理包括存储特征化匹配的质量的数据,如下面更详细描述的。在一些实现中,在源注册表114中列出的每个源与在数据存储系统116中存储的规范元数据仓库(canonical metadatarepository) (CMR)之间执行匹配。例如,CMR可代表企业数据字典,其在企业环境中作为主参考字典。将源中的数据元素与CMR中的规范属性相比较,以找到匹配。来自在源的数据元素中存储的名称或描述或其它元数据的词项与来自在CMR中表示的规范属性的名称或描述的词项之间的匹配指示匹配的数据元素潜在具有与规范属性相同的含义。在一些实现中,基于将规范属性名称与数据元素名称匹配、以及将规范属性描述与数据元素描述匹配的组合,来确定匹配。在一些实现中,执行匹配,使得在CMR之外还将每个源与所有其它源相比较,以找 到各个数据元素之间、或数据元素与规范属性之间的匹配。在一些实现中,匹配使得能够通过将来自先前与源的比较的不匹配词项在迭代(iteration)之间添加到CMR而进行源之间的比较。由此,此处理可避免“全部到全部(all to all)”处理的需要。例如,示例性匹配处理使用以下序列,其中,CMR(η)是利用从先前的源比较中未匹配的数据元素的名称或描述选择的词项更新CMR的第η次迭代-将源I与CMR(0)相比较-将未匹配的所有源I词项添加到CMR(O),创建CMR⑴-将源2与CMR(I)相比较-将未匹配的所有源2词项添加到CMR(I),创建CMR⑵-将源3与CMR⑵相比较-等等在执行模块112执行的匹配处理的一个示例中,该处理通过以下步骤开始将从数据元素提取的词项正规化(normalize)、展开(expand)并净化(cleanse)为标准形式,并标识与数据元素中的元数据定义的属性的名称相对应的词项以及与该属性的描述相对应的词项。净化可包括选择性地过滤特定标点符号(例如,下划线、破折号等)、转换大小写(例如,转换为小写)、以及移除多余空格。还可从词项中移除预定词(word)的列表(例如,“一个
(a)、也(also)、和(and)”等),包括标准语言上的“无意义的词(nuisance word)”或“停止词(stop word)”。在一些实现中,参考信息124可包括查找文件,其包括停止词、缩略语、别名的列表。例如,包括停止词列表的停止词查找文件可被用来帮助净化。用户可通过修改查找文件,从此列表中添加或移除词。该处理还包括将缩写和缩略语展开为完整的词组,并将名称或描述中的词项展开为公共别名。并且,可使用缩略语查找文件来帮助此处理。这样,用户可通过界面来修改缩略语查找文件。在一些示例中,界面可包括控制,用来在对文件的任何改变的批准和通知中诱发用户的反馈。在一些实现中,同义词查找文件可包括词项和描述中的词的同义词,以支持可具有相似含义的不同词。例如,在特定的词项或描述的上下文中,“代理机构(agenCy)”、“当局(authority)”,“局(bureau)”、以及“组织(organization)”具有与词“办公机关(office)”相似的含义。在一些示例中,这样的同义词可包括词项和描述中的特定词的国际等同物。例如,“升(liter)”可为“升(litre)”的同义词。另外,同义词查找文件还可提供对寻找一个数据源中简单地与不同数据源中的“地址”相对应的别名词(诸如“地址I”和“地址2”)的地址的支持。此外,在正规化词之间的差异的工作中,词项和描述中的某些词可被转换为它们的词干(stem)形式。在一些实现中,转换还可例如通过调节后缀来考虑词形变化、时态、和/或复数。作为示例,“acquisition”可被转换为“acquisit”,并且,“parameters”可被转换为“paramet”。在一些实现中,对名称生成一组净化词,并且,对描述生成一组净化词。该处理还包括确定每个属性的“类词(class word)”。类词是定义由属性描述的一片数据的内容和角色的词。示例类词集为数量、代码、日期、时间、日期时间、类、描述、标识符、图像、指示符、名称、地址、数、量、百分比、比率、声音和文本。为了确定给定属性的类词,可从右到左扫描属性名称中的词项,以识别对预定集的类词中的一个的第一匹配。例如,对应于属性名称“开始日期”的类词为“日期”。基于在名称和/或属性中出现的词来确定某些类词,而不一定需要对所确定的类词的匹配(例如,取决于在属性描述中出现的词项,属 性名称“标题”可对应于类词“文本”、“指示符”、或“名称”)。可通过如下述的修改的TF-IDF处理,来执行源中的词项和描述与CMR中的词项和描述之间的相似度的计算。“词频_反向文件频率(Term Frequency-Inverse DocumentFrequency, TF-IDF)权重是用来评估在属性名称或描述中出现的词项中的词对于给定数据元素和数据元素的源的重要性的统计度量。词的重要性与词在数据元素(例如,包括名称和描述)中出现的次数成比例增大。但是,词的重要性被偏移词在CMR中表示的属性中的频率。TF-IDF权重使在CMR中非常频繁出现的词的权重减小,并使较少出现的词的权重增大。利用示例,考虑词“代码”为数据字典词项中的公共词。如果词“代码”在源和目标词项中出现,则出现之间的匹配不会被适当地解释,这是由于“代码”是公共字符串。然而,如果源和目标词项均包含词项“争议(disputed)”,则更好地解释词项之间的匹配,由此,两词项中的词“争议”更好地贡献对两词项之间的匹配的帮助。对于一组文档D (例如,代表源中的一组数据元素)的“文档”d (例如,表示取得代表词项的数据元素的至少一部分)的示例性权重向量为Vd= [W1, d,w2jd, · · ·,wN’d]T,其中,
. |/>|Wtd =^-Iogj1 '并且,tft是文档d中的词项t的词频(局部参数)
|£>|Iogli1 ^是逆向文件频率(全局参数)
!Vet/HD是文档集中的文档的总数,并且,I {t e d}是包含词项t的文档的数目。在一个示例中,属性名称和描述包含8个词,并且,词“分支(branch ) ”出现了 2次。“分支”的词频(TF)为O. 25 (8个中的2个词)。在CMR中,存在 3300个属性,并且“分支”在这些属性中出现了 12次。那么,逆向文件频率(IDF)被计算为In (3300/12) =5. 61。TF-IDF权重是以下量的积0. 25*5. 61=1. 4。在另一个不例中,属性名称和描述包含8个词,并且,词“代码”出现了 I次。“代码”的TF为O. 125 (8个中的I个词)。在CMR中,存在 3300个属性,并且“代码”在这些属性中出现了 900次。那么,IDF被计算为In(3300/900) =1.99。TF-IDF权重是以下量的积0. 125*1. 99=0. 16。于是,在这些示例中,具有权重I. 4的词“分支”很可能比具有权重O. 16的词“代码”更重要。在一些实现中,词项和描述之间的相似度可为绝对数,其被正规化,使得其的范围为例如从O到I。这样,对于每个源词项,基于修改后的TF-IDF方法的匹配计算的结果可为例如与属性的名称中的源词项最佳匹配的N个CMR词项以及与属性的对应源描述最佳匹配的N个CMR描述的集合。数目N可为对匹配系统的输入参数。在一些示例中,可使用N=3的值。匹配处理可在执行用来与具有最高权重的数据元素的词匹配的匹配时,考虑词的TF-IDF权重。匹配处理可使用用于确定从名称中的词项提取的词何时匹配从CMR的属性提取的词的各种匹配技术中的任一个。例如,标题为“MANAGING AN ARCHIVE FOR APPROXIMATESTRING MATCHING”的美国公开号2009/0182728描述了用于近似字符串匹配的技术,通过弓I用将其合并于此。匹配处理的输出包括与数据元素所匹配的CMR中的各个属性相关联的数据元素的列表。在某些实现中,匹配对应于名称和描述中的匹配词。输出可选择性地包括匹配的名称和描述中的词,并可包括名称或描述不匹配的数据元素的列表。与每个匹配相关联地,执行模块112能够存储说明信息,其包括特征化匹配的质量的等级;如何获得等级的说明(例如,规则激发(firing));以及为何出现匹配的说明。可基于数据元素名称的净化词和规范属性名称的净化词之间的“名称匹配”、数据元素描述的净化词和规范属性描述的净化词之间的“描述匹配”、以及与数据元素相关联的类词和与规范属性相关联的类词之间的“类匹配”,来确定等级。用于匹配的度量可指示匹配有多紧密(例如,相对于距离度量)。例如,可基于如下规则来分配等级“AA”,该规则确定存在精确名称匹配(例如,精确匹配至少一个净化词)、高描述匹配(例如,用于净化词之间的匹配的度量>75%)、以及相同的类词。可基于如下规则来分配等级“AB”,该规则确定存在高名称匹配(例如,用于净化词之间的匹配的度量>95%)、高描述匹配(例如,用于净化词之间的匹配的度量>70%)、以及相同的类词。如果类词不同,则典型地将等级设置为低得多(例如,“DA”或更低),这是由于,在数据元素描述的数据所代表的内容方面很可能存在有意义的差异。执行环境104还包括用户界面,用来允许用户124与匹配处理的输出交互,以基于关联的等级和其它信息查看并接受匹配。用户界面可包括数据元素的列表,该数据元素包括与规范属性或其它数据元素中的词项匹配的名称和/或描述的词项,并且,该列表可包括到源中的原始数据元素、或原始数据元素的副本的链接。在一些实现中,基于等级对阈值的比较来接受匹配,而不需要用户输入。可查看并使用未匹配的数据元素,来基于用户输入更新参考信息124。例如,用户可查看术语(term of art)或未展开的缩略语,以分别添加到包含同义词的参考、或包含缩略语的展开的参考。

图2示出了预处理来自源102的元数据并对元数据执行匹配的示例性过程200的流程图。过程200包括在数据存储系统116中存储(202)多个源102中的每个的规范,每个规范包括标识对应源的一个或多个数据元素的信息。过程200包括在提供与数据存储系统116耦接的执行环境104的数据处理系统中处理来自源的数据元素。处理包括基于存储的规范中的对应的一个,为每个源生成(204)规则集,并且,匹配(206)不同源的数据元素,并根据为第一源生成的规则集、以及为第二源生成的规则集,确定(208)特征化第一源的第一数据元素和第二源的第二数据元素之间的给定匹配的质量度量(例如,等级)。在处理源之后,存储(210)结果,其标识确定的匹配。当添加附加源时,可重复过程200,处理附加源。图3示出了数据处理系统(例如,图I的系统100)执行的自动匹配处理的示例阶段,其中,针对CMR (例如,企业字典)匹配源(例如,源数据字典)。例如,可在时间周期上,从各种源编译CMR。在准备阶段310期间,源数据字典中的信息可被转换为与上述元数据处理技术相兼容的格式。例如,在此阶段中可使用预处理模块106 (图1),以将源数据结构映射到公共记录格式。 在准备阶段310的实现中,系统可接受来自用户的输入,以生成用于特定源的数据结构,并在注册表单中注册对应的源数据字典。随后,可读取注册表单,并且可将源数据字典转换为与匹配系统兼容的格式。例如,在基于图形的系统中,可运行“生成元数据”数据流图,以加载源数据字典。该图可读取注册表单,并生成在匹配处理中使用的元数据。在一些实现中,该图还生成用于配置附加数据流图的参数组、以及用于配置加载对应于源数据字典的商业词项、描述、缩略语和链接的规则引擎的规则文件。一旦生成了元数据和参数集以及规则文件,便可运行匹配数据流图。在一些示例中,通过“生成图”,可同时运行多于一个源字典。在解析阶段320期间,可处理源字典中的词项,以提取各个单独词。如上面结合净化处理所述,可从词项中移除无语义的标点符号。在一些实现中,可在词项内留下诸如“$”和“%”的特定字符,这是因为,它们可能具有语义。在一些实现中,词项可被进一步分类为上述类词。在标准化阶段330期间,可减小词项和描述中的可变性。在此阶段,词项和描述可被进一步净化,以例如移除停止词,展开缩写,以及映射别名。在批准阶段340期间,可使用一个或多个匹配技术,将源词项与规范词项匹配。例如,可使用上述TF-IDF权重来评估对于给定数据元素和数据元素的源来说、词项和描述中的词有多重要。在一些示例中,可采用“模糊匹配”来执行匹配处理(例如,如在美国公开号2009/0182728中所述,通过引用将其合并于此)。在匹配阶段350期间,一旦分配了权重,便可使用一个或多个用户开发的规则来对匹配评级。例如,可如上所述对匹配评级。在一个实现中,可取决于匹配的质量来对匹配分配诸如“A”、“B”、“C”或“F”的等级,其中,“A”可为指定最高质量匹配的等级,“F”可为指定最差质量匹配的等级。最后,在评分阶段360期间,用户可基于分配给匹配的等级来查看和接受匹配。在一些实现中,用户还可提出用于CMR的新的规范词项。图4示出了用于实现上述匹配技术的基于图形的示例方法。一旦源数据准备好匹配,便可将匹配图400称为例如上述“生成元数据”图。这样,通过分别读取对应的目标和源文件406、408,读取目标组件402和读取源组件404开始匹配处理。目标文件406可包括来自CMR的CMR词项和描述。随后,映射组件410、412可对目标和源文件中的词项和描述分别执行目标和源特定映射处理。例如,可通过映射组件410、412 —起映射某些词项和描述的多个实例和变型。这样,处理允许针对多个目标映射源词项,其中每个匹配具有匹配分数,使得使用工作流的用户可支持确定“最佳”匹配的处理。随后,使用上面详述的分类处理,分类组件414、416可确定目标和源文件406、408中的词项和描述的类词。在一些情形中,使用字符串文本来匹配词项在计算上可能较慢。这样,可将文本词项转换(即标记化(tokenize))为数字键,由此显著加速匹配处理。例如,组件415可对源和目标词项执行此转换。在匹配结束时,可将所述键解码回到原始的文本词项。一旦映射并标准化了所述源和目标词项和描述,匹配子图418便执行源中的词项和描述中的词与目标中的词项和描述中的词的匹配。对于源和目标中匹配的词,匹配子图418可返回词项或描述以及指示匹配的紧密度的伴随质量度量。结合组件420可使用从特定词项或描述的原始源导出的源属性名称来执行结合,并输出结果作为匹配输出422。图5中示出了图4的图400的示例输出500。如所示出的,源词项“里程碑(milestone)标识符” 502对应于至少三个CMR词项(或任意用户指定数目的“最佳匹配”),即,“里程碑名称”、“里程碑标识符”、以及“里程碑日期” 504。质量度量506对源词项与每个CMR词项的相似度进行量化。例如,对于输出中的第二词项“里程碑标识符”的相似度度量为1,其指示完美匹配。在实现中,可将词项“里程碑标识符”502的最佳的三个词项匹配与最佳的三个描述匹配结合,并且,可将9个词项/描述通信发送到用来决定源和CMR词项之间的最佳匹配的一组商业规则。在一些示例中,如上面详述的,商业规则可基于词项名称和描述匹配的相似度、以及源和CMR词项的计算出的类词。在一些实现中,商业规则的输出是最佳匹配、以及该匹配的字母等级。用户可将匹配的预定质量设置为对应于字母等级。此外,用户可指定接受的等级的预定范围。例如,用户可仅接受对应于等级A至BC (或B-)的匹配质量。图6示出了在匹配处理中使用的示例商业规则600。触发器602用作对商业规则600的输入,其产生所示出的对应输出604。诸如源和CMR词项之间的名称的相似度的相似度度量可被量化为范围从O至I的数值。这样,可将第一商业规则606解释为如下 如果源和CMR词项之间的名称的相似度大于O. 95,源和CMR描述之间的描述的相似度大于
O.70,两个词项的名称相同,且对应于两个词项的类词相同,那么,两个词项之间的匹配等级为“AA”(或A+)。在一些示例中,如果上述商业规则中的触发器602中的任一个评估为假(false),则读取第二商业规则608,其说明如下如果源和CMR词项之间的名称的相似度大于O. 95,源和CMR描述之间的描述的相似度大于O. 70、两个词项的名称不同,且对应于两个词项的类词相同,那么,两个词项之间的匹配等级为“AB”(或A-)。在示例中,一个接一个地读取商业规则600,直到读取到所有输入触发器都评估为真的商业规则为止。用户可定义商业规则600触发的最小等级。在一些实现中,分析员可以能够通过使用测试数据来执行商业规则600的测试运行。图7是示例测试运行的屏摄700。如示出的,对于每个测试数据项702,生成匹配等级704,并将其向分析员显示。另外,与每个项702相对应地显示相似度分数706和类词匹配708。分析员可选择测试项710,随后将其突显,并由此可查看有关项710的更多信息。图8是精确地示出针对特定测试数据项(例如,图7的项702)激发(fire)哪个规则的示例屏摄800。另外,分析员还可查看有关商业规则(例如,图6中的一个规则600)被激发多少次的信息。如示出的,在一些实现中,一个或多个图形按钮802可被用来指示对应于按钮802的触发器是否被评估为真。与规则5对应的按钮全被按下,指示规则5已针对特定测试数据被激发。此外,可显示每个规则已激发的次数。例如,规则I已激发77次,而规则5已激发303次,称为快速“迭代测试、修改和返回”方法的此方法可被用来优化匹配规则。分析员可使用这样的界面来查看是否存在被不适当匹配的词项。图9-12是用于向用户显示元数据信息的示例元数据界面900的屏摄。在一些实现中,匹配处理的结果(例如,图4的匹配输出422)可被并入界面900。如图6所示,界面900可提供用于搜索元数据仓库的文本字段902。还可将词项存储为层级(hierarchical)群(例如,“商业”904)和子群(例如,“基线”906)。图10示出了显示属于“基线”906群的词项“接受日期” 1002的细节的界面900。 在一些实现中,用户可在词项“接受日期” 1002上右击,并请求查看与词项“接受日期” 1002有关的关系。图11示出了对基线词项“接受日期”1002的匹配的图示1102。在一些示例中,还可将有关匹配的源的信息显示给用户。现在参照图12,在一些实现中,用户可使用匹配的表格视图。界面900可被配置为仅显示批准的匹配。用户可使用“批准工作流”标签1202来查看匹配,包括对词项的未决和/或拒绝的匹配。可使用用来在计算机上执行的软件来实现上述元数据处理方法。在一些实现中,处理可在非常短的运行中使不限数目的字典的匹配处理自动化。例如,软件形成在一个或多个编程的或可编程的各自包括至少一个处理器、至少一个数据存储系统(包括易失性和非易失性存储器和/或存储元件)、至少一个输入装置或端口、以及至少一个输出装置或端口的计算机系统(其可为各种架构,如分布式、客户端/服务端、或网格)上执行的一个或多个计算机程序中的过程。软件可形成较大程序的一个或多个模块,例如,其提供与数据流图的设计和配置相关的其它服务。图的节点和元素可被实现为在计算机可读介质或遵循在数据仓库中存储的数据模型的其它组织的数据中存储的数据结构。软件可被提供在存储介质上,如CD-ROM,其可由通用或专用可编程计算机读取,或可在网络的通信介质上被递交到(以传播信号编码)执行该软件的计算机。可在专用计算机上或使用专用硬件(如协处理器)执行所有功能。可以分布式方式实现软件,其中,软件指定的计算的不同部分由不同的计算机执行。每个这样的计算机程序优选地被存储在或被下载到存储介质或装置(例如,固态存储器或介质、或磁或光介质)上,其可由通用或专用可编程计算机读取,用于在由计算机系统读取存储介质或装置时配置并操作计算机,以执行这里描述的过程。本发明的系统还可被考虑为实现为计算机可读存储介质,其通过计算机程序被配置,其中,这样配置的存储介质使计算机系统以特定和预定义的方式操作,以执行这里描述的功能。然而,将理解,可做出个各种修改,而不会背离本发明的精神和范围。例如,上述步骤中的一些可以是顺序无关的,由此,可以不同于所述次序来执行。应理解,上面的描述意欲说明而不是限制如由所附权利要求的范围定义的本发明的范围。例如,可以不同次序执行上述多个功能步骤,而不会在实质上影响全部处理。其它实施例落在所附权利要求的范围内。
权利要求
1.一种方法,包括 在数据存储系统中存储用于多个源中的每个的规范,每个规范包括标识对应源的一个或多个数据元素的信息;以及 在耦接到所述数据存储系统的数据处理系统中,处理来自所述源的数据元素,包括 基于存储的规范中的对应的一个来为每个源生成规则集;以及 匹配不同源的数据元素,并根据为第一源生成的规则集以及为第二源生成的规则集,确定特征化第一源的第一数据元素和第二源的第二数据元素之间的给定匹配的质量度量。
2.根据权利要求I的方法,其中,每个源的规则集产生与特征化给定匹配的质量度量相对应的一个或多个等级。
3.根据权利要求2的方法,还包括提供与一个或多个等级相对应的说明信息。
4.根据权利要求2的方法,其中,所述给定匹配包括分别与所述第一和第二数据元素相对应的名称之间的匹配,并且,所述一个或多个等级基于特征化所述给定匹配的质量度量。
5.根据权利要求2的方法,其中,所述给定匹配包括分别与所述第一和第二数据元素相对应的描述之间的匹配,并且,所述一个或多个等级基于特征化所述给定匹配的质量度量。
6.根据权利要求2的方法,还包括 将在所述第一和第二数据元素中出现的词项分类为一个或多个类别; 为所述第一和第二数据元素中的每个词项分配一个或多个类词; 将分别与所述第一和第二数据元素中的词项相对应的一个或多个类词相比较,以生成所述给定匹配的质量度量;以及 基于特征化所述给定匹配的质量度量来分配所述一个或多个等级。
7.根据权利要求I的方法,其中,特征化所述给定匹配的质量度量包括距离测定度量。
8.根据权利要求I的方法,其中,第一等级被分配给所述规则集的第一规则的输出,并且,第二等级被分配给所述规则集的第二规则的第二不同输出,其中,相对于所述第二等级,所述第一等级指示更好的、特征化所述给定匹配的质量度量。
9.根据权利要求I的方法,其中,所述规则集基于分别在所述第一和第二数据元素中出现的名称的相似度。
10.根据权利要求I的方法,其中,所述规则集基于分别在所述第一和第二数据元素中出现的描述的相似度。
11.根据权利要求I的方法,还包括向用户提供这样的能力提供用于生成所述规则集中的一个或多个规则的输入,用于量化所述第一数据元素和所述第二数据元素之间的匹配的质量。
12.根据权利要求I的方法,其中,所述规则集中的每个规则包括触发器输入和基于触发器输入的输出。
13.根据权利要求I的方法,其中,依次读取所述规则集中的每个规则,直到所述规则集中的给定规则的所有触发器输入评估为真为止。
14.根据权利要求I的方法,其中,特征化所述给定匹配的质量度量基于词在所述第一和第二数据元素的词项中出现的次数、以及词在来自所述第一或第二源的词项集中出现的次数的度量。
15.根据权利要求I的方法,还包括通过以下步骤来计算特征化所述给定匹配的质量度量 向在所述第一或第二源中以第一频率出现的词项提供第一权重;以及向在所述第一或第二源中以第二频率出现的词项提供第二权重,其中,所述第一权重的值小于所述第二权重的值。
16.根据权利要求I的方法,还包括通过以下步骤来计算特征化所述给定匹配的质量度量 计算所述第一源中的词项的第一频率、以及所述第二源中的词项的第二频率;以及 基于所述第一和第二频率的数值的积来产生所述质量度量。
17.根据权利要求I的方法,还包括将所述质量度量正规化为预定限制之间的范围。
18.根据权利要求I的方法,还包括生成与所述第一源中的词项相对应的来自所述第二源的词项集,并具有特征化所述词项和所述词项集中的每个之间的匹配的预定质量度量。
19.根据权利要求18的方法,其中,用户指定所述词项集中的词项的数目。
20.根据权利要求18的方法,其中,所述词项和所述词项集中的每个之间的匹配基于在词项中出现的匹配名称。
21.根据权利要求18的方法,其中,所述词项和所述词项集中的每个之间的匹配基于在< >词项中出现的匹配描述。
22.—种存储计算机程序的计算机可读介质,该计算机程序包括用于使计算机进行以下步骤的指令 存储用于多个源中的每个的规范,每个规范包括标识对应源的一个或多个数据元素的信息; 基于存储的规范中的对应的一个来为每个源生成规则集;以及匹配不同源的数据元素,并根据为第一源生成的规则集以及为第二源生成的规则集,确定特征化第一源的第一数据元素和第二源的第二数据元素之间的给定匹配的质量度量。
23.—种系统,该系统包括 数据存储系统,其存储用于多个源中的每个的规范,每个规范包括标识对应源的一个或多个数据元素的信息;以及 耦接到所述数据存储系统的数据处理系统,其被配置为基于存储的规范中的对应的一个来为每个源生成规则集,并匹配不同源的数据元素,并根据为第一源生成的规则集以及为第二源生成的规则集,确定特征化第一源的第一数据元素和第二源的第二数据元素之间的给定匹配的质量度量。
24.—种系统,该系统包括 部件,用于存储用于多个源中的每个的规范,每个规范包括标识对应源的一个或多个数据元素的信息;以及 部件,用于处理来自所述源的数据元素,包括 基于存储的规范中的对应的一个来为每个源生成规则集;以及 匹配不同源的数据元素,并根据为第一源生成的规则集以及为第二源生成的规则集,确定特征化第一源的第一数据元素 和第二源的第二数据元素之间的给定匹配的质量度量。
全文摘要
处理元数据包括在数据存储系统(116)中存储(202)用于多个源中的每个的规范,每个规范包括标识对应源的一个或多个数据元素的信息;以及在耦接到数据存储系统的数据处理系统(104)中,处理来自源的数据元素,包括基于存储的规范中的对应的一个来为每个源生成(204)规则集;以及匹配(206)不同源的数据元素,并根据为第一源生成的规则集以及为第二源生成的规则集,确定(208)特征化第一源的第一数据元素和第二源的第二数据元素之间的给定匹配的质量度量。
文档编号G06F17/30GK102792298SQ201180013068
公开日2012年11月21日 申请日期2011年1月13日 优先权日2010年1月13日
发明者A.肖恩 申请人:起元技术有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1