用于链接来自异构数据库的数据记录的方法及系统与流程

文档序号:19734646发布日期:2020-01-18 04:19阅读:184来源:国知局
用于链接来自异构数据库的数据记录的方法及系统与流程

相关申请

本申请要求于2016年12月22日提交的题为“methodsandsystemsforlinkingdatarecordsfromdisparatedatabases”的美国临时专利申请序列no.62/438,362的优先权,其通过引用整体并入。



背景技术:

不同的组织,或甚至同一联盟组织(umbrellaorganization)内的商业实体,可以以各种形式存储表示类似记录主题(例如,客户、产品、供应商等)的数据。在未连接数据存储的情况下(例如,没有唯一的密钥匹配各个数据存储之间的数据记录),为了受益于对表示这些记录主题的池化(pooled)数据集合的分析,必须在异构的(disparate)存储模型之间以某种方式匹配数据表示。在一个特定示例中,同一机构的公司名称可以在一组数据中表示为“yhwcorp”,而在另一组数据中表示为“yellowhousewarescorporation”。

发明人认识到需要使用高级匹配模型来支持不一致的数据记录的合并。他们的解决方案涉及n-字段比较和复杂的内容分析。在一个方面,匹配解决方案利用经由组合函数在合并处理中并入许多字段的模型,从而极大地提高了正确匹配的概率。匹配解决方案还生成用于对数据记录匹配进行排名的兼容性索引,以便选择排名最高(匹配置信度(confidence)最高)的数据记录匹配。

在另一方面,发明人的解决方案利用贝叶斯(bayesian)分类器以将条件概率应用于异构的字段信息(例如,不一致的产品描述数据、不一致的组织命名惯例等),使得给定的候选字段信息对被分类为更类似于匹配或不匹配。发明人的将数学和机器学习匹配算法的组合应用与传统的且更具限制性的规则引擎方法有很大不同。

在又一方面,发明人认识到需要开发测试算法以测试新匹配算法的准确性和可行性。



技术实现要素:

可以基于单个或多个字段的内容,对来自先前不相关的数据存储的数据记录进行合并。通常,与基于跨多个字段识别匹配来合并记录相比,关于单个字段合并能返回更多数量的匹配记录。然而,从考虑两个或更多个字段而形成的匹配可以被认为是“更强的匹配”——换句话说,其具有发现准确匹配的更高置信度等级。为此,合并异构记录的组织可能会发现自己面临着匹配置信度的强度和更多数量的匹配(带有较低的置信度)之间的权衡。

为了改进这个问题,发明人确定级联效应可以应用于匹配算法,以用于关于第一(更多)数量的字段合并,然后关于第二(更少)数量的字段再合并(re-merging)。级联匹配算法具有增加记录匹配的置信度的优点。

说明性实施方式的前述一般描述及其以下详细描述仅仅是本公开的教导的示例性方面,并且不是限制性的。

附图说明

并入在说明书中并构成说明书一部分的附图示出了一个或多个实施例,并且与说明书一起解释了这些实施例。附图未必按比例绘制。所附图形和图中所示的任何数值尺寸仅用于说明目的,并且可以表示也可以不表示实际或优选的值或尺寸。在适用的情况下,可能未示出部分特征或全部特征以帮助描述基础特征。在图中:

图1a是用于自动识别匹配信息以匹配来自异构数据源的数据记录的示例方法的流程图;

图1b是用于将级联匹配算法应用于匹配来自异构数据库源的数据记录的示例方法的流程图;

图1c是用于从一组潜在匹配中识别数据记录之间的最佳匹配的示例方法的流程图;

图2a是用于匹配来自异构数据库源的数据记录的示例操作流程的框图;

图2b是用于通过从查询组织的网站来辨别组织身份以识别未匹配的数据记录的示例操作流程的框图;

图3是使用一组测试数据测试记录匹配算法的示例方法的流程图;

图4是示例计算系统的框图;和

图5是包含云计算环境的示例分布计算环境的框图。

具体实施方式

以下结合附图阐述的描述旨在描述所公开主题的各种说明性实施例。结合每个说明性实施例描述了具体特征和功能;然而,对于本领域技术人员来说显而易见的是,可以在没有这些具体特征和功能中的每一个的情况下实践所公开的实施例。

贯穿说明书的对“一个实施例”或“实施例”的引用意味着结合实施例描述的特定特征、结构或特性被包含在所公开的主题的至少一个实施例中。因此,在贯穿说明书的各处出现的短语“在一个实施例中”或“在实施例中”不一定是指同一实施例。此外,特定特征、结构或特性可以在一个或多个实施例中以任何合适的方式组合。此外,所公开的主题的实施例旨在覆盖其修改和变化。

图1a示出了用于自动确定匹配标准的示例方法100,该匹配标准用于匹配来自不共享唯一密钥的两个单独数据存储的记录。在一些实施例中,获得来自不共享唯一密钥信息的两个数据存储的记录(102)。在测试示例中,发明人使用表示建立新保险单的交易处理的、经纪人维护的数据记录以及在保险单信息数据库中维护的保险单记录。可以经由网络从远程存储区域访问记录。

在一些实施方式中,确定记录不是以相同的格式提供(104)。例如,第一组记录可以是以特定数据库的优先级格式提供,而第二组记录可以是以文本文件提供。在一些实施例中,数据记录被变换成相同的表示以便于合并(106)。在特定示例中,相同的表示可以包含基于逗号划界(comma-delineated)的文本的记录字段。

在一些实施方式中,如果已知一个或多个记录包含与其他数据集不匹配的数据(108)或者与所需分析无关的数据,则将过滤器应用于数据集中的一个或两者的数据记录,以移除记录(110)。在一个示例中,记录内容可以与数据集上的期望分析的分析范围无关。在另一示例中,可以已知某些字段信息仅与特定数据集相关。例如,某些产品或地理区域可能不在两个分部之间共享,并且因此不是记录合并的候选者。例如,可以通过包含在数据集中的一个或两者的一个或多个字段中的值来识别不相关的记录,诸如相当于加拿大的地理区域。在一些实施例中,用户识别用于排除图形用户界面内的不相关数据的标准。在其他实施例中,可以基于识别相关数据(例如,指定特定日期范围的业务规则)和/或不相关数据(例如,在阈值时间长度内不作为交易参与者的一个或多个实体)的预先建立的业务规则来自动过滤数据。在其他实施例中,可以在传送数据以供方法400使用之前在源处对该数据进行过滤。

在一些实施方式中,识别第一数据存储的数据记录与第二数据存储的数据记录之间的重叠数据字段(112)。在一个示例中,可以基于数据字段识别符的自动比较来识别重叠数据字段。例如,数据字段识别符标记每列数据的内容(例如,到期日期、客户、经纪人、产品等)。匹配可以包含类似的标题(例如,“经纪人”与“保险经纪人”)。在一些实施例中,类似的匹配可以经由图形用户界面呈现给管理员以进行确认(例如,确认“exp.date”和“expirationdate”匹配)。在另一示例中,管理员可以手动识别应该含有匹配条目信息的数据字段。在这种练习中会发现多个匹配。

在一些实施方式中,识别含有唯一识别信息的重叠数据字段的子集(114)。一些重叠数据字段可以含有能用于唯一地识别特定数据记录的信息。在步骤d处,可以识别含有唯一识别信息的字段。可以自动识别字段,例如通过识别没有重复条目的信息列。在另一示例中,可以手动识别字段。在涉及测试数据的说明性示例中,唯一字段包含客户识别符和客户名称。在另一示例中,保险单识别符可以被识别为唯一识别符。唯一识别符可以用于匹配两个数据集之间的记录对。

可以预期某些字段含有类似的但不匹配的数据。例如,可以将不同级别的数值舍入应用于不同的数据存储,从而给实质上相同的值带来变化。为此,在一些实施方式中,针对重叠数据字段的至少一部分识别业务规则,以支持基本等同的信息的映射(116)。在一些实施例中,通过对获得最大匹配集和确保每个匹配的高置信度的相互冲突的考虑进行平衡来手动应用业务规则。在特定示例中,应用于测试数据的业务规则包含保费(premium)值的10%变化和日期上的21天差异(例如,以顾及向数据存储中的一个或两者提交信息的滞后)。在另一示例中,可以自动确定业务规则,例如基于阈值设置(例如,日期必须在x天内,值可以舍入到5美元的增量)。例如,可以部分地基于结果匹配数据池上所需的分析类型来确定数据值阈值。

如图2a所示,图1a中的方法100可以由数据准备引擎204进行,数据准备引擎204在步骤a处从数据存储1202a和数据存储2202b检索数据记录,并在步骤b处产生清理的且准备的数据存储1记录206a和数据存储2记录206b。

在图1a中所示的处理结束时,来自两个数据存储的记录准备好使用由发明人开发的级联匹配算法进行匹配。在一些实施方式中,作为阈值匹配确认,生成每个数据集内的记录的分组统计量以确定数据集基本匹配(118)。在一个示例中,可以针对数据集中的每个计算总保费并进行比较以确认总保费在阈值百分比内。在特定说明中,可以基于经纪人计算总保费,并且其保费值不在阈值范围内的任何经纪人可以从分析中被排除。在特定示例中,可以联系不符合标准的(non-conforming)经纪人并告知其校正他或她在经纪人数据存储内的数据条目。在又一示例中,可以在客户级别执行总统计量以确定客户产品在两个数据集之间匹配。

尽管在特定系列的操作中示出,但是在一些实施方式中,操作可以以不同的顺序完成。例如,可以在步骤110之后生成统计量,以便不将排除的记录包含在分析中。在另一示例中,可以在识别重叠数据字段的子集的步骤112之后生成统计量,以仅关于重叠的数据运行统计。在一些实施例中,可以并行地进行一些步骤。此外,在方法100中可以包含更多或更少的步骤,同时保持在其教导的范围和精神内。

返回图2a,数据合并引擎208在步骤c处访问数据存储1记录206a和数据存储2记录206b。在一些实施方式中,数据合并引擎208应用级联匹配算法,其递归地将数据存储1记录206a的部分匹配到数据存储2记录206b,从而在步骤d处产生许多合并记录子集216a-n以及潜在的剩余数据记录212a、212b(步骤e)。在生成特定的合并记录子集之后,在一些实施例中,数据合并引擎208获取剩余数据存储1记录212a、剩余数据存储2记录212b、以及不符合匹配条件的匹配记录列表214,并继续合并记录的子集以及添加到匹配记录列表214,直到一组未匹配数据存储1记录216a和一组未匹配数据存储2记录216b保持在步骤g处。

更详细地,图2a中的数据合并引擎208可以进行图1b的示例流程图中所示的方法130。在一些实施方式中,方法130开始于使用至少包含含有唯一识别信息的第一数据字段的多个重叠数据字段来合并来自第一数据存储的记录和来自第二数据存储的记录(132)。如上所述,通过匹配更多数量的数据字段可以达到更大的置信度。然而,如果匹配涉及太多数量的数据字段,则该算法由于忽略匹配其中一部分信息是错误的或丢失的数据记录而被怀疑包含不足。为此,在一些示例中,可以在两到六个数据字段之间或者优选地在两到四个数据字段之间获得匹配。在说明性示例中,发明人对关于客户识别符、保费和日期的三个数据字段的测试数据进行匹配。

匹配操作产生匹配数据记录的第一子集(例如,诸如图2a的合并记录子集210a)。然而,第一轮匹配可能无法对于数据集内的所有记录均发现匹配。为此,在一些实施方式中,如果存在剩余记录(134),则确定用于合并两组记录的接下来的(一个或多个)唯一识别字段(136),并且将使用新选择的唯一识别数据字段和其他重叠数据字段的组合来合并来自第一数据存储的剩余记录和来自第二数据存储的剩余记录(138)。在一些实施例中,附加的重叠数据字段是与最初利用第一唯一识别数据字段选择的相同数据字段(在步骤132处)。在其他实施例中,一个或多个不同的重叠数据字段可以与附加的唯一识别数据字段组合。此外,在一些实施例中,多次迭代可以涉及相同的一个或多个唯一识别数据字段,每次迭代涉及不同的一组重叠数据字段。在一些实施例中,方法130通过识别未匹配记录(134)并识别其他唯一识别字段以及支持非唯一字段(136)来迭代地继续,以用于两个文件的多字段合并并且生成附加的匹配数据记录子集(138),直到不存在未使用的唯一识别字段(136)。如上面关于图2a所解释的那样,在每次级联迭代时,该处理可以更新匹配记录列表,使得每个记录仅被匹配一次。

示例合并处理160在图1c的流程图中示出。在合并记录时,由于多字段匹配可以产生多个结果,因此在一些实施方式中会创建笛卡尔积(cartesianproduct)。例如,如果第一数据集中的2行和第二数据集中的3行关于第一唯一识别符匹配,则合并处理会产生所有可能的匹配方案(例如,r1-r1、r1-r2、r1-r3、r2-r1、r2-r2和r2-r3)。为了区分这些可能的结果并识别单个最佳匹配,发明人设计了图1c中所示的处理160。

在一些实施方式中,处理160开始于将第一数据集的第一记录与第二数据集记录进行合并(162)。例如,可以通过图1a中的数据合并引擎208合并记录。

在一些实施方式中,在已经识别匹配之后,如果匹配结果不是一对一(164),则应用公式以找到最佳匹配。

在一些实施方式中,该公式开始于基于所应用的业务规则,为每个潜在的匹配对确定一个或多个数据字段之间的差异(166)。换句话说,处理160识别每个匹配对内的字段之间的差异。回想上面,关于图1a,业务规则可以应用于特定字段以允许给定的差别范围。就此,可以检验这些内置差别以识别最佳匹配。显然,最理想的匹配将是两行的匹配字段之间的完美相关。然而,除非完美匹配,否则将检验每个潜在的匹配以确定最佳匹配。

在一些实施方式中,权重被应用于差别(168)。在基于测试数据的特定示例中,发明人对保费差异和保险单有效日期差异进行加权。在某种意义上,所应用的加权可能在某种程度上是任意的,因为难以确定应该给每个字段值赋予什么比例。调整权重的一种方法是使用两个数据记录集的已知真匹配的测试集来调节权重,直到识别出适合已知数据的最佳模型(例如,导致最高匹配百分比的加权比例)。

在确定差异并应用权重之后,在一些实施方式中,针对该组潜在匹配中的每个潜在匹配计算兼容性指数(170)。例如,兼容性指数可以基于差异(步骤166)以及权重(步骤168)。兼容性指数越低(例如,第一组和第二组之间的差异小),匹配越好。指示一对一匹配的兼容性指数例如将代表真匹配,而高兼容性指数(例如,指示接近或匹配由业务规则设置的边界的差异)将代表模糊匹配。

代替或除了计算兼容性指数以外,在一些实施方式中,应用贝叶斯分类来基于条件概率选择最佳匹配。例如,对于每个记录对(r1-r1、r1-r2、r1-r3、r2-r1、r2-r2和r2-r3),可以计算两个概率。这两个概率包含匹配的概率和不匹配的概率。可以基于所识别的每个公共字段来定义概率。

在特定示例中,可以使用从已知匹配和已知不匹配导出的训练集来计算概率,该已知匹配和已知不匹配提取自从提供第一记录数据集和第二记录数据集的相同数据库收集的训练数据。例如,可以基于关于表示已知匹配的记录和表示已知不匹配的记录两者中的给定字段匹配的记录在训练集中的比例来计算概率。在采用概率算法的情况下,用作比例的基础事实的训练集越大,匹配算法的准确度越高。

在一些实施方式中,基于兼容性指数来选择最佳匹配(172)。注意,可以有多于一个最佳匹配。基于上面示出的第一数据集的两行与第二数据集的三行匹配的示例,将选择最佳的两个匹配。换句话说,所选择的匹配的总数应等于在最低匹配数据集中匹配的总行数。

为了确保配对是唯一的,在一些实施方式中,将所选择的(一个或多个)匹配添加到匹配列表(174)。重复处理160,直到没有要匹配的附加记录(176)。在随后的迭代中,处理160可以检查匹配的列表以确保相同的行不被匹配两次(178)。

返回图1b,一旦在图1c的匹配处理160中使用了所有的唯一识别字段,在一些实施方式中,通过首先将每个组织的名称匹配到统一资源定位符(url)(140),然后通过url来匹配记录(142),从而将最后一轮合并应用于未匹配的记录。组织名称可以变化,其中不同的术语用于代表同一组织。另外,收购、合并和子公司可能会混淆名称空间,使得许多不同的机构身份实际上表示同一组织。为了允许关于组织名称进行匹配而不管命名惯例的差别,可以在一系列互联网查询中提交每组记录中使用的名称,以识别响应于每个名称而提供的主页(url)。然后将url作为新数据列添加到未匹配的数据记录中。通常会响应于各种机构身份提供相同的url,从而允许对剩余记录进行该新字段的一对一匹配。该处理在图2b中被更详细地示为操作流程250。

转到图2b的操作流程250,在一些实施方式中,在进行图1b和图2a中所示的处理之后遗留的任何未匹配的记录216在步骤a处被提供给组织url识别引擎252,以将组织名称与组织的网站匹配。

例如,组织url识别引擎252可以向诸如微软公司的或谷歌股份有限公司的搜索之类的商业搜索引擎254逐记录地提供组织名称,以确定每个组织名称的一组顶部url。

组织url识别引擎252可以查看顶部搜索结果(例如,前10、20、50等)的url以识别机构网站。在一个示例中,为了将结果缩小到机构站点,组织url识别引擎252可以丢弃明显与公司无关的url(例如,.org、.gov等)。另外,组织url识别引擎252可以丢弃属于主要新闻站点(例如,路透社、福布斯、华尔街日报等)和其他信息站点的url(例如,维基百科、含有诸如“杂志”、“博客”、“论坛报”、“新闻”等术语的url)。除了关键术语之外,为了瞄准机构网站,组织url识别引擎252可以向组织名称添加搜索项,诸如“总部”和/或“官方站点”。此外,组织url识别引擎252可以将命中(hits)减少到根页面。例如,组织url识别引擎252可以将“http://www.acmeinc.com/aboutus.html”截断为根页面“http://www.acmeinc.com”。

在步骤c处,在一些实施方式中,组织url识别引擎252向数据合并引擎208提供附有识别机构url的新数据列的未匹配数据存储记录256。在错误的情况下,组织url识别引擎252可能变为选择顶部“n”个最有希望的url作为机构网站(例如,两个或三个),并且在步骤c处提供的带有url的数据存储记录256中包含“n”个新列,而不是仅包含一个列。

在步骤d处,在一些实施方式中,数据合并引擎208(如关于图2a详细描述的)关于(一个或多个)url列合并未匹配记录256以在步骤e处生成最终合并记录子集258。例如,在多于一个列的情况下,数据合并引擎208可以迭代地合并“n”个列中的每个url列。在每次迭代期间,如关于图2a所描述的,数据合并引擎208可以关于url和一个或多个附加数据字段合并,以提供对最佳匹配的选择,如关于图1c更详细描述的。

为了测试上述匹配算法的功效,发明人设计了一种测试度量,用于使用算法预测假阳性(falsepositive)和假阴性(falsenegative)的可能性。基于该信息,可以微调算法(例如,加权因子和/或概率因子)以选择对得到的合并数据进行分析可接受的匹配强度和置信度。

作为概述,如果执行匹配算法并匹配90%的行,然后修改并且修改的版本匹配93%的行,则修改的匹配算法不一定比原始算法更好。修改的算法可能识别更多数量的假阳性(例如,不匹配数据记录的合并),这将降低对得到的合并数据进行的任何分析的置信度。为了理解记录链接算法的功效,开发者需要某种方式来确定假阳性(合并的、不匹配的行)以及假阴性(不合并的但匹配的行)的倾向。取决于特定开发者的目标,对假阳性和/或假阴性的容忍度可能不同。例如,与医学诊断测试相关的假阴性可能是非常不期望的,而对于涉及保险交易的数据分析来说,总体上匹配更多数量的记录同时容忍一定百分比的假阴性是可接受的。

为了测试rl匹配算法,最期望建立具有预先建立的已知匹配的测试数据库。基于目标数据库手动创建小型数据集既昂贵又耗时。另外,手动生成的测试数据集不能提供概念的可缩放性证明。相反地,使用为测试而设计并且已知实际匹配信息的精心筹划的合成数据集使得能够快速完成划算、精确并且有效的测试。开发高质量的合成数据集将因此改善系统质量并降低开发记录链接算法的风险和成本。例如,期望设计数据生成器以创建已知匹配和不匹配数据记录的模拟集合。

转到图3,示出了图示用于生成和应用一组测试数据的方法300的流程图。在一些实施方式中,方法300开始于关于一个或多个唯一识别共享数据字段匹配一组测试数据。例如,可以从用于数据集匹配的目标数据源中选择测试数据。在特定示例中,可以从第一数据存储和第二数据存储中的每一个获得一组1000个记录的测试数据。

如上所述,第一数据集和第二数据集两者内的一些数据字段含有可用于唯一地识别特定数据记录并且将第一数据存储的数据记录与第二数据存储的数据记录匹配的信息。在生成测试数据时,尽管可能会手动识别用于匹配的字段,如以上所描述的,自动或半自动(例如,自动推荐)字段识别也是可能的。在涉及测试数据的说明性示例中,用于初始匹配的唯一字段包含交易识别符和保险单行识别符。

与匹配算法的应用一样,所有潜在匹配可以被生成为数据集内容的笛卡尔积。在生成所有可能的匹配之后,测试生成算法可以使用简单的方式来丢弃不太可能的匹配。在一些示例中,在生成所有潜在匹配之后,可以使用字符串技术和散列算法来移除不太可能的匹配以丢弃表明实质上不相似的潜在匹配。在此阶段移除不太可能的匹配能提高计算效率和结果模型准确性。

为了在稍后的时间容易地识别测试数据记录以进行分类,可以用唯一测试记录识别符标记测试记录中的每一个。例如,在测试时,可以发现第一数据存储的记录a4596是第二数据存储的记录b1718的阳性匹配。当稍后作为针对匹配算法的测试集提交时,唯一识别符将用于容易地识别测试数据集中的真匹配。

与匹配算法不同,测试生成算法可以仅识别这些数据集之间的确切匹配。例如,可以从第一数据存储和第二数据存储中检索比所需测试数据集更多数量的记录,使得得到的匹配记录至少提供所需数量的记录(在特定的测试情况下为1,300个记录)。

在一些实施方式中,对于每组匹配记录,可以计算匹配分数(304)。匹配分数可以表示考虑更多数量的重叠数据字段的两个记录之间的匹配的相对接近度。例如,测试生成方法可以基于大多数或所有重叠数据字段来计算匹配分数。在特定示例中,发明人在生成匹配分数时使用了20个关键数据字段的比较。匹配分数可以在确定匹配分数时将业务规则考虑在内(例如,第一数据集和第二数据集之间的一对字段的值是否在阈值容忍度内)。例如,关于在图1c的方法160的步骤170中计算的兼容性指数,描述了用来匹配评分的业务规则的应用。

在一些实施方式中,使用匹配分数和手动验证的组合来确定一组真阳性(306)。例如,用户可以被迭代地呈现有记录比较(例如,关于用于生成匹配分数的该组匹配字段),以确认或拒绝由匹配算法提供的自动匹配。例如,获得用户确认的每个集合可以在由测试数据生成器创建的匹配列表中被标记为真阳性(例如,记录a3905和记录b9402是真阳性)。在另一示例中,用户拒绝的每个集合可以在匹配列表中被标记为假阳性(例如,记录a6854和记录b3217是假阳性)。

在一个示例中,可以将手动验证应用于整个数据的一小部分,并且机器学习算法可以用于创建验证模型,该验证模型预期记录匹配内的假阳性和假阴性。然后,机器学习模型可以被应用于剩余数据以预期每种类型的匹配的倾向(例如,假阴性、假阳性、真阴性、真阳性)。在特定示例中,机器学习算法可以包括神经网络模型和随机森林模型。随机森林(也称为随机决策森林)在训练期间构建许多决策树以分类或预测输出。神经网络模型试图通过将神经元连接在一起来模拟生物大脑的功能,其中每个神经元具有求和函数。神经网络内的每个连接具有阈值函数或限制函数,其在将信息传递给任何另外的“神经细胞(neurons)”之前被应用。神经网络方法在模式匹配机器学习应用中很有用。

一旦识别出已知的(并且假定正确的)阳性匹配,在一些实施方式中,测试数据再次被分成第一数据源数据集和第二数据源数据集(308)。为了帮助解释结果,记录识别符可以保持在测试数据中。

在一些实施例中,将测试数据集馈送到记录匹配算法中以进行测试(310)。例如,关于图1b和图1c描述的算法可以分析测试数据集以识别匹配。

在一些实施方式中,分析匹配算法的结果,以将每个匹配分类为真阳性(tp)、假阳性(fp)、假阴性(fn)(例如,记录未被匹配但应该已匹配)或真阴性(tn)(记录不匹配)(312)。由于传递到匹配算法中的任何数据已被识别为至少表示潜在匹配(例如,信息中的一些重叠),因此作为真阴性的最终拒绝表示数据的重叠部分不足以支持匹配的决定。

在一些实施例中,对分类进行分析以产生一组分类分析(314)。例如,为了将测试结果与相对其他匹配算法或相同匹配算法的其他设置获得的结果(例如,变化的业务规则、变化的被组合以识别匹配的数据字段集等)进行比较,可以使用分类度量以识别四个分类中的每个分类的匹配率。下面列出了用于分析匹配算法功效的多个潜在度量:

·灵敏度(查全率(recall))=tp/(tp+fn)(真阳性率)

·特异性=tn/n(真阴性率)

·精度=tp/(tp+fp)(阳性预测值)

·阴性预测值=tn/(tn+fn)

·跌落:假阳性率=fp/(fp+tn)

·假发现率=fp/(fp+tp)

·错失率:假阴性率=fn/(fn+tp)

·准确度=(tp+tn)/(所有匹配)

·f1分数=2tp/(2tp+fp+fn)

使用通过解释测试数据集获得的分类和分析,可以进一步细化匹配算法(例如,业务规则、用于匹配的字段集、加权等)。例如,可以更改图1c的方法160以基于业务要求(例如,准确度与匹配的宽度)来改善度量。例如,可以更新图2b的数据合并引擎以反映细化。在一些实施例中,细化反映了对算法设置的修改(例如,对馈送到数据合并引擎208中的权重、业务规则和字段识别的修改)。例如,可以自动或半自动地将修改应用于由数据合并引擎208使用的输入表或输入文件。

接下来,参考图4描述根据示例性实施例的计算设备、移动计算设备或服务器的硬件描述。在图4中,计算设备、移动计算设备或服务器包含进行上述处理的cpu400。例如,cpu400可以进行图1a的方法100、图1b的方法130和/或图1c的方法160。此外,cpu400可以体现图2a的数据合并引擎208和/或图2b的组织url识别引擎252。处理数据和指令可以存储在存储器402中。例如,数据可以包含图2a的数据记录206、216,合并记录210和/或匹配记录列表214。此外,数据可以包含图2b的带有url256的数据记录和/或合并记录子集258。这些处理和指令也可以存储在诸如硬盘驱动器(hdd)或便携式存储介质之类的存储介质盘404上,或者可以远程存储。此外,要求保护的进步不受存储创造性处理的指令的计算机可读介质的形式的限制。例如,指令可以存储在cd、dvd、flash存储器、ram、rom、prom、eprom、eeprom、硬盘,或者计算设备、移动计算设备或服务器与之通信的任何其他信息处理设备(诸如,服务器或计算机)上。

此外,所要求保护的进步的一部分可以作为实用应用程序、后台守护进程或操作系统的组件或其组合提供,与cpu400和诸如microsoftwindows4、unix、solaris、linux、applemac-os以及本领域技术人员已知的其他系统之类的操作系统一起执行。

cpu400可以是来自美国英特尔的xenon或core处理器、或来自美国amd的opteron处理器、或者可以是本领域普通技术人员将认识到的其他处理器类型。替代地,如本领域普通技术人员将认识到的,cpu400可以在fpga、asic、pld上实现或使用分立逻辑电路实现。此外,cpu400可以实现为并行协同工作的多个处理器,以执行上述创造性处理的指令。

图4中的计算设备、移动计算设备或服务器还包含网络控制器406,诸如来自美国英特尔公司的intelethernetpro网络接口卡,用于与网络428接口。如可以理解的,网络428可以是诸如因特网的公共网络、或者诸如lan或wan网络的私有网络、或其任何组合,并且还可以包含pstn或isdn子网络。网络428也可以是有线的,诸如以太网,或者可以是无线的,诸如包含edge、3g和4g无线蜂窝系统的蜂窝网络。无线网络还可以是wi-fi、蓝牙或已知的任何其他无线通信形式。在特定示例中,网络428可以向组织url识别引擎252提供对商业搜索引擎254的访问,如关于图2b所描述的。

计算设备、移动计算设备或服务器还包含显示控制器408,诸如来自美国英伟达公司的nvidiageforcegtx或quadro图形适配器,用于与诸如hewlettpackardhpl2445wlcd监视器的显示器410接口。通用i/o接口412与键盘和/或鼠标414以及在显示器410上的或与其分开的触摸屏面板416接口。通用i/o接口还连接到各种外围设备418,包含打印机和扫描仪,诸如来自惠普公司的officejet或deskjet。例如,用户界面可以向用户提供手动输入和/或批准数据字段以用于匹配的能力,如关于图1a所描述的。此外,用户界面可以支持手动确认匹配数据记录以用于算法验证或创建真数据集。在另一示例中,用户界面可以向用户提供选择、键入或修改业务规则以应用于匹配处理的机会,如关于图1a所描述的。另外,用户界面可以支持选择数据源和期望的数据子集以用于匹配目的。

在计算设备、移动计算设备或服务器中还提供声音控制器420,诸如来自创新科技公司的soundblasterx-fititanium,以与扬声器/麦克风422接口,从而提供声音和/或音乐。

通用存储控制器424将存储介质盘404与通信总线426连接,通信总线426可以是isa、eisa、vesa、pci或类似物,用于互连计算设备、移动计算设备或服务器的所有组件。为简洁起见,本文省略对显示器410、键盘和/或鼠标414、以及显示控制器408、存储控制器424、网络控制器406、声音控制器420和通用i/o接口412的一般特征和功能的描述,因为这些特征是已知的。

除非另外明确说明,否则可以利用一个或多个处理器来实现本文描述的各种功能和/或算法。另外,除非另外明确说明,否则本文描述的任何功能和/或算法可以在一个或多个虚拟处理器上进行,例如在诸如计算机农场或云驱动器之类的一个或多个物理计算系统上进行。

已经参考了根据本公开的实施方式的方法、系统和计算机程序产品的流程图图示和框图。其各方面由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器以产生机器,使得经由计算机或其他可编程数据处理装置的处理器执行的指令创建用于实现在流程图和/或一个或多个框图块中指定的功能/动作的部件。

这些计算机程序指令也可以存储在能指引计算机或其他可编程数据处理装置以特定方式起作用的计算机可读介质中,使得存储在计算机可读介质中的指令产生包含实现在流程图和/或一个或多个框图中指定的功能/动作的指令部件的制品。

计算机程序指令也可以被加载到计算机或其他可编程数据处理装置上,以使得在计算机或其他可编程装置上进行一系列操作步骤,以产生计算机实现的处理,使得在计算机或其他可编程装置上执行的指令提供用于实现在流程图和/或一个或多个框图块中指定的功能/动作的处理。

而且,本公开不限于本文描述的具体电路元件,本公开也不限于这些元件的具体大小和分类。例如,本领域技术人员将理解,可以基于电池大小和化学性质的变化、或者基于要供电的预期备用负载的要求来调整本文描述的电路。

本文描述的功能和特征也可以由系统的各种分布式组件执行。例如,一个或多个处理器可以执行这些系统功能,其中处理器分布在在网络中通信的多个组件上。除了各种人机界面和通信设备(例如,显示监视器、智能电话,平板计算机、个人数字助理(pda))之外,分布式组件可以包含可以共享处理的一个或多个客户端和服务器机器,如图5所示。网络可以是诸如lan或wan的私有网络,或者可以是诸如因特网的公共网络。可以经由直接用户输入接收对系统的输入,并且可以实时或作为批处理远程接收对系统的输入。另外,一些实施方式可以在与所描述的模块或硬件不等同的模块或硬件上进行。因此,其他实施方式在可以要求保护的范围内。

在一些实施方式中,本文描述的可以与诸如谷歌云平台tm的云计算环境530接口以进行上面详述的方法或算法的至少一部分。与本文描述的方法相关联的处理能够由数据中心534在诸如谷歌计算引擎的计算处理器上执行。例如,数据中心534还可以包含诸如谷歌应用引擎的应用程序处理器,其可以用作与本文描述的系统的接口以接收数据并输出对应的信息。云计算环境530还可以包含一个或多个数据库538或其他数据存储,例如云存储和查询数据库。在一些实施方式中,诸如谷歌云存储的云存储数据库538可以存储由本文描述的系统供给的已处理和未处理的数据。

本文描述的系统可以通过安全网关532与云计算环境530通信。在一些实施方式中,安全网关532包含数据库查询界面,诸如谷歌bigquery平台。

云计算环境102可以包含用于资源管理的供应工具540。供应工具540可以连接到数据中心534的计算设备,以便于提供数据中心534的计算资源。供应工具540可以经由安全网关532或云控制器536接收对计算资源的请求。供应工具540可以便于与数据中心534的特定计算设备的连接。

网络502表示将云环境530连接到多个客户端设备的诸如因特网的一个或多个网络,在一些示例中,客户端设备诸如为蜂窝电话510、平板计算机512、移动计算设备514和桌面计算设备516。网络502还可以经由使用各种移动网络服务520的无线网络进行通信,移动网络服务520诸如为wi-fi,蓝牙,包含edge、3g和4g无线蜂窝系统的蜂窝网络,或任何已知的其他无线通信形式。在一些实施例中,网络502对与客户端设备相关联的本地接口和网络是无限制的(agnostic),以允许对被配置为进行本文描述的处理的本地接口和网络的集成。

必须注意,如在说明书和所附权利要求中所使用的,单数形式“一”、“一个”和“所述”包含复数指示物,除非上下文另有明确规定。也就是说,除非另有明确指定,否则如本文所用的词语“一”、“一个”、“所述”等带有“一个或多个”的含义。另外,应当理解的是,本文可能使用的诸如“左”、“右”、“顶部”、“底部”、“前”、“后”、“侧面”、“高度”、“长度”、“宽度”、“上部”、“下部”、“内部”、“外部”、“内”,“外”等的术语仅仅描述参考点,并且不一定将本公开的实施例限制于任何特定的取向或配置。此外,诸如“第一”、“第二”、“第三”等的术语仅仅识别如本文所公开的多个部分、组件、步骤、操作、功能和/或参考点中的一个,并且同样地不一定将本公开的实施例限制于任何具体的配置或取向。

此外,在某些实施例中,术语“近似”、“大约”、“接近”、“微小变化”和类似术语通常是指包含在20%、10%或优选地5%的边际内的识别值以及它们之间的任何值的范围。

除了明确说明的情况或者特征或功能与另外的实施例不兼容的情况,结合一个实施例描述的所有功能旨在适用于下面描述的另外的实施例。例如,在结合一个实施例明确描述了给定特征或功能但未结合替代实施例明确提及该给定特征或功能的情况下,应该理解的是,发明人旨在可以结合替代实施例部署、利用或实现该特征或功能,除非该特征或功能与该替代实施例不兼容。

为了从异构的数据源得到有价值的见解和更详细的信息,在一些实施例中,发明人设计了一种用于自动识别异构的数据存储中的字段的解决方案,以用于将来自第一数据存储的记录与来自第二数据存储的记录进行匹配。在一个示例中,两个数据存储可以包含由实体的一个分部维护的数据库和由该实体的另一个分部维护的数据库,诸如母公司的两个分支。这两个分部可以共享类似的记录(例如,重叠的产品、重叠的客户等),使得可以在为该实体开发更丰富的数据信息存储库时对来自每个数据存储的记录进行匹配。然而,要这样做必须识别每个数据存储的字段,其可用于将来自第一数据存储的记录与来自第二数据存储的记录进行匹配。

尽管已经描述了某些实施例,但这些实施例仅以示例的方式呈现,并且不旨在限制本公开的范围。实际上,本文描述的新颖的方法、装置和系统可以以各种其他形式体现;此外,在不脱离本公开的精神的情况下,可以对本文描述的方法、装置和系统的形式进行各种省略、替换和更改。所附权利要求及其等同物旨在涵盖这些形式或修改,因为它们将落入本公开的范围和精神内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1