本申请要求2007年9月28日提交的标题为“METHOD ANDSYSTEM FOR ANALYSIS OF A SYSTEM FOR MATCHING DATARECORDS”的60/997,038号美国临时申请的优先权,其全部内容通过引用包含于本申请中。本申请还涉及2008年3月27日提交的标题为“METHOD AND SYSTEM FOR MANAGING ENTITIES”的12/056,720号美国专利申请、2007年12月31日提交的标题为“METHOD ANDSYSTEM FOR PARSING LANGUAGES”的11/967,588号美国专利申请、2007年9月28日提交的标题为“METHOD AND SYSTEM FORINDEXING,RELATING AND MANAGING INFORMATION ABOUTENTITIES”的11/904,750号美国专利申请、2007年9月14日提交的标题为“HIERARCHY GLOBAL MANAGEMENT SYSTEM ANDUSER INTERFACE”的11/901,040号美国专利申请、2007年9月13日提交的标题为“IMPLEMENTATION DEFINED SEGMENTS FORRELATIONAL DATABASE SYSTEMS”的11/900,769号美国专利申请、2007年6月29日提交的标题为“METHOD AND SYSTEM FORPROJECT MANAGEMENT”的11/824,210号美国专利申请、2007年6月1日提交的标题为“SYSTEM AND METHOD FORAUTOMATIC WEIGHT GENERATION FOR PROBABILISTICMATCHING”的11/809,792号美国专利申请、2007年2月5日提交的标题为“METHOD AND SYSTEM FOR A GRAPHICAL USERINTERFACE FOR CONFIGURATION OF AN ALGORITHM FORTHE MATCHING OF DATA RECORDS”的11/702,410号美国专利申请、2007年1月22日提交的标题为“METHOD AND SYSTEM FORINDEXING INFORMATION ABOUT ENTITIES WITH RESPECTTO HIERARCHIES”的11/656,111号美国专利申请、2006年9月15日提交的标题为“METHOD AND SYSTEM FOR COMPARINGATTRIBUTES SUCH AS PERSONAL NAMES”的11/522,223号美国专利申请以及2006年9月15日提交的标题为“METHOD ANDSYSTEM FOR COMPARING ATTRIBUTES SUCH AS BUSINESSNAMES”的11/521,928号美国专利申请的优先权。在本段中引用的所有申请都包含于本申请中,以用于所有目的。
具体实施方式
下面结合附图中示出的并且在以下说明中详述的示例性的并且因此非限制性的实施例更充分地解释本公开及其各种不同特征和有利的细节。对公知的编程技术、计算机软件、硬件、操作平台和协议的描述可以省略,从而不会无谓地混淆本详细公开。然而应该理解,本详细说明及具体例子尽管表示优选实施例,但是它们仅是以示例的方式而不是限制性的方式给出的。对本领域技术人员来说,根据本公开,在基本创造性概念的精神和/或范围内的各种替换、修改、添加和/或重新配置将是显而易见的。
实现本文公开的实施例的软件可以用可保存在计算机可读存储介质上的适当的计算机可执行指令实现。在本公开中,术语“计算机可读存储介质”包含可以由处理器读取的所有类型的数据存储介质。计算机可读存储介质的例子可以包括随机存取存储器、只读存储器、硬盘驱动器、数据盒、磁带、软盘、闪速存储器驱动器、光数据存储装置、压缩盘只读存储器和其它适当的计算机存储器和数据存储装置。
当在本文中使用时,术语“包括”、“包含”、“具有”或它们的任何其它变体意图覆盖非排它性的“包括”。例如,包括一系列要素的处理、产品、物件或设备不必局限于这些要素而是可以包括没有明确列出的或者该处理、产品、物件或设备固有的其它要素。此外,除非相反地明确指出,否则“或”是指包括性的“或”而不是排它性的“或”。例如,下列任一个都满足条件A或B:A是真(或存在)并且B是假(或不存在),A是假(或不存在)并且B是真(或存在),以及A和B二者都是真(或存在)。
另外,本文给出的任何例子或示例绝不认为是对它们使用的任何术语的约束、限制或明确定义。相反,这些例子或示例被认为是关于一个特定实施例的描述并且只是示例性的。本领域的普通技术人员将理解,这些例子或示例采用的任何术语包含其中或在说明书中的别处可能给出或可能不给出的其它实施例和实施方式及其改编,并且所有这些实施例意图包括在该术语的范围内。指出这种非限制性例子和示例的语言包括但不限于:“例如”、“在一个实施例中”等。
现在详细参考本公开的示例性实施例,在附图中示出了这些实施例的例子。在可能的情况下,在全部附图中使用相同的附图标号表示相同或类似的部分(要素)。
本文公开的一些实施例可以补充如1999年11月23日公布的5,991,758号美国专利中描述的用于从不同的信息源索引关于实体的信息的系统和方法的实施例,该专利通过引用包含于此。本文公开的一些实施例可以补充上面提到的2007年1月22日提交的标题为“METHOD AND SYSTEM FOR INDEXING INFORMATIONABOUT ENTITIES WITH RESPECT TO HIERARCHIES”的11/656,111号美国专利申请中公开的用于按层次索引关于实体的信息的实体处理系统和方法的实施例,其也通过引用包含于此。
图1是示出实体处理系统30的一个实施例的示例架构的框图。实体处理系统30可以包括身份枢纽(Identity Hub)32,该身份枢纽32处理、更新或保存来自一个或多个信息源34、36、38的关于一个或多个实体的数据记录的数据并且响应于来自多个操作方40、42、44的命令或询问,其中所述操作方可以是人类用户和/或信息系统。身份枢纽32可以利用来自单个信息源的数据记录操作,或者如所示出的利用来自多个信息源的数据记录操作。使用身份枢纽32的实施例跟踪的实体可以包括例如医院中的病人、医疗保健系统的参与者、仓库中的部件或者可以具有与其相关的数据记录和包含在数据记录中的信息的任何其它实体。身份枢纽32可以是具有至少一个中央处理单元(CPU)45的一个或多个计算机系统,其执行保存在一个或多个计算机可读存储介质上的计算机可读指令(例如,软件应用程序)以执行身份枢纽32的功能。如本领域的技术人员所理解的,还可以使用硬件电路或软件和硬件的结合来实施身份枢纽32。
在图1的例子中,身份枢纽32可以从信息源34、36、38接收数据记录,并且将修正后的数据写回到信息源34、36、38中。传送到信息源34、36、38的修正后的数据可以包括是正确的但是已经改变了信息、关于数据记录中的固定信息的信息和/或关于数据记录之间链接的信息。
另外,操作方40、42、44之一可以向身份枢纽32发送询问并且从身份枢纽32接收对该询问的响应。信息源34、36、38可以例如是可具有关于相同实体的数据记录的不同数据库。例如,在医疗保健领域中,每个信息源34、36、38可以与医疗保健组织中的特定医院相关联,并且该医疗保健组织可以使用身份枢纽32来使与多个医院相关联的数据记录发生联系,使得当病人在度假或来到纽约的医院时可以定位该病人在洛杉矶的数据记录。身份枢纽32可以位于中心位置而信息源34、36、38和用户40、42、44的位置可以远离身份枢纽32并且可以例如通过通信链路连接到身份枢纽32,所述通信链路例如因特网或任何其它类型的通信网络,如广域网、内联网、无线网络、租用的网络等。
在一些实施例中,身份枢纽32可以具有其自己的数据库,该数据库将完整的数据记录保存在身份枢纽32中。在一些实施例中,身份枢纽32还可以只包含足以识别数据记录的数据(例如,特定数据源34、36、38中的地址)或者包含完整数据记录的数据区(data field)的任何部分,使得身份枢纽32可以在需要时从信息源34、36、38取回整个数据记录。身份枢纽32可以使用实体标识符或与实际数据记录分开的联合数据库将包含关于同一实体的信息的数据记录链接在一起。因此,身份枢纽32可以保持一个或多个信息源34、36、38中的数据记录之间的链接,但是不必保持实体的单一一致的数据记录。
在一些实施例中,身份枢纽32可以通过比较(从操作方或者从数据源34、36、38接收到的)数据记录与信息源34、36、38中的其它数据记录以识别应该链接在一起的数据记录来链接信息源34、36、38中的数据记录。该识别处理可能需要比较数据记录的一个或多个属性与其它数据记录的类似属性。例如,与一个记录相关的名字属性可以与其它数据记录的名字比较,社会保险号可以与另一记录的社会保险号比较等。这样,可以识别应该链接的数据记录。
对于本领域的技术人员来说,显然信息源34、36、38和操作方40、42、44可以与类似的或不同的组织和/或所有者联系并且可以在物理上相互分开并且/或者远离。例如,信息源34可以与通过一个医疗保健网络运营的洛杉矶医院联系,而信息源36可以与可能由法国公司拥有的另一个医疗保健网络运营的纽约医院联系。因此,来自信息源34、36、38的数据记录可以具有不同的格式、不同的语言等。
这可以通过参考图2A和图2B更清楚地示出,图2A和图2B示出示例数据记录的两个实施例。这些数据记录200、202中的每一个具有一组字段210,该组字段对应于每个数据记录的一组属性。例如,每个记录200的属性之一可以是名字,另一个属性可以是纳税人号等。显然属性可以包括数据记录200、202的多个字段210。例如,数据记录202的地址属性可以包括字段210c、210d和210e,它们分别是街道、城市和州字段。
然而,数据记录200、202每个可具有不同的格式。例如,数据记录202可以具有用于属性“保险公司”的字段210,而数据记录200可以不具有这种字段。另外,类似的属性也可以具有不同的格式。例如,记录202中的名字字段210b可以接受全名的输入,而记录200中的名字字段210a可以设计为允许输入有限长度的名字。当比较两个或更多个数据记录(例如数据记录的属性)以识别应该链接的数据记录时,这种差别可能是有问题的。例如,名字“Bobs Flower Shop”与“Bobs Very Pretty Flower Shoppe”是相似但不完全相同的名字。此外,在输入数据记录的数据时的打字错误或失误也影响数据记录的比较,并因此影响结果(例如,比较名字“Bobs Pretty Flower Shop”与“Bobs Pretty Glower Shop”,其中“Glower”是由输入单词“Flower”时的拼写错误造成的)。
数据记录中的企业名称可能由于它们的性质而呈现许多相当特别的问题。一些企业名称可能非常短(例如,“Quick-E-Mart”)而其它企业名称可能非常长(例如,“San Francisco’s Best Coffee Shop”)。另外,企业名称可能频繁地使用类似的词(例如,“Shop”、“Inc.”、“Co.”),当比较同一语言的数据记录时,这些词在比较这些名称的探索过程中所占的权重不大。另外,在企业名称中经常使用首字母缩略词,例如,名为“New York City Bagel”的企业可能经常作为“NYCBagel”输入到数据记录中。
如下面进一步详细描述的,本文公开的身份枢纽32的实施例采用可以在比较企业名称时考虑到这些特别之处的算法。具体来说,身份枢纽32采用的一些算法支持首字母缩略词,考虑到某些词在企业名称中的频率,并考虑标记(token)在企业名称中的顺序(例如,名称“Clinicof Austin”可能被认为事实上与“Austin Clinic”相同)。一些算法使用多种名称比较技术以基于对不同记录中名称的比较(例如,相似点)产生权重,然后该权重可被用于确定两个记录是否应该链接,所述名称比较技术包括各种语音比较法、基于名称标记频率的加权、词首匹配、别名匹配等。在一些实施例中,使用匹配标记的方法(例如,标记是否完全、语音上匹配等)将每个记录的名称属性的标记相互比较。然后可以基于确定的匹配向这些匹配赋予权重(例如,完全匹配被赋予第一权重,而某一类型的词首匹配被赋予第二权重等)。然后可以将这些权重合计以确定两个数据记录的名称属性之间的匹配程度的总权重。在上面引用的2007年6月1日提交的标题为“SYSTEMAND METHOD FOR AUTOMATIC WEIGHT GENERATION FORPROBABILISTIC MATCHING”的11/809,792号美国专利申请中描述了适当的权重产生方法的示例性实施例,其通过引用包含于此。在上面引用的2006年9月15日提交的标题为“METHOD AND SYSTEMFOR COMPARING ATTRIBUTES SUCH AS PERSONAL NAMES”的11/522,223号美国专利申请以及2006年9月15日提交的标题为“METHOD AND SYSTEM FOR COMPARING ATTRIBUTESSUCH AS BUSINESS NAMES”的11/521,928号美国专利申请中描述了适当的名称比较技术的示例性实施例,其二者通过引用包含于此。
图3示出用于识别属于同一实体的记录的方法的例子。在步骤310,可以在身份枢纽32处推进或拉进一组数据记录用于评价。这些数据记录可以包括例如一个或多个新数据记录以与一组现有的数据记录(其可以已经存在于例如信息源34、36、38中或者可以被提供给身份枢纽32)进行比较。在步骤320,如果用于比较的数据记录还没有被标准化,则可以将它们标准化。该标准化可以包括数据记录的属性的标准化,使得该数据记录从其原始格式转换为标准格式。这样,可以根据属性和数据记录二者的标准格式进行随后的不同数据记录的类似属性之间的比较。对本领域的技术人员来说,显然可以根据不同格式、不同的语义、词素组等标准化或表征要比较的数据记录的每个属性并且可以通过独特的功能完成将每个属性标准化为其对应的标准形式。因此,可以通过对数据记录的各种属性的标准化将每个数据记录标准化为标准格式,通过相应的功能标准化每个属性(这些属性标准化功能当然可操作用于标准化多个类型的属性)。
例如,可以评价数据记录200的名称属性的字段210a以产生名称属性的一组标记(例如,“Bobs”、“Pretty”、“Flower”和“Shop”)并且可以按照一定的形式连接这些标记以产生标准化的属性(例如,“BOBS:PRETTY:FLOWER:SHOP”),使得随后可以解析该标准化属性以产生包括名称属性的标记。作为另一个例子,当将名称标准化时,可以将连续的单个标记组合成标记(例如,I.B.M.变成IBM)并且可以进行替换(例如,用“Company”替换“Co.”,用“Incorporated”替换“Inc.”等)。可以将包括缩写和它们的等同替换的等同表格保存在与身份枢纽32相关联的数据库中。用于标准化企业名称的一个实施例的伪码如下:
BusinessNameParse(inputString,equivalenceTable):
STRING outputString
for c in inputString:
if c is a LETTER or a DIGIT:
copy c to outputString
else if c is one of the following characters[&,’,`](ampersand,single
quote,back quote)
skip c(do not replace with a space)
else//non-ALPHA-DIGIT [&,’,`]character
if the last characterin output string is not a space,copy a
space to output string.
//Now extract the tokens.
tokenList=[]
For token in outputString//outputString is a list of tokens separated by spaces
If(token is a single character and it is followed by one or more single
characters)
Combine the singletokens into a single token
If(equivalenceTable maps token)
Replace token with its equivalence.
Append token to tokenList.
Return tokenList
无论使用什么技术,一旦在步骤320将要比较的数据记录的属性及数据记录本身标准化为标准形式,就可以在步骤330从现有的数据记录中选择一组候选以与新的或输入的数据记录比较。该候选选择处理(在本文中也称为分组(bucketing))可以包括将新的或输入的数据记录的一个或多个属性与现有数据记录的比较以确定哪个现有的数据记录与该新数据记录足够近似以至于需要进一步比较。每组候选(分组群)可以基于使用与属性相对应的候选选择功能(分组功能)的数据记录之间(例如,输入的数据记录和现有的数据记录之间)一组属性中每一个的比较。例如,可以基于使用被设计用于比较名称和比较地址的候选选择功能的名称和地址属性的比较选择一组候选(即,分组)。
然后在步骤340,包括这些组候选的数据记录可以进行与新的或输入的记录的更详细的比较,其中在所述记录之间比较一组属性以确定现有数据记录是否应该与该新数据记录链接或关联。该更详细比较可能需要将一个记录(例如,现有记录)的属性组中的一个或多个与另一记录(例如,新的或输入的记录)中的对应属性进行比较以产生该属性比较的分值。然后可以将该组属性的分值相加以产生总分值,然后可以将该总分值与阈值比较以确定这两个记录是否应该链接。例如,如果总分值小于第一阈值(称为软链接或再检查阈值),则可以不链接该记录,如果总分值大于第二阈值(称为自动链接阈值),则可以链接记录,而如果总分值落在这两个阈值之间,则可以链接记录并标记出来供用户再检查。
图4示出用于配置和分析身份枢纽32的配置的系统10的一个实施例的架构。在一些实施例中,系统10包括计算机40和工作台20。工作台20是软件程序,其保存在计算机40的存储器中并且包括可由计算机40的处理器读取的计算机指令。工作台20安装在计算机40上并且在其上运行,计算机40通过网络15与身份枢纽32通信。网络15可以是公共网络、私有网络或其组合的表示。工作台20包括多个功能,包括配置工具400,用户51可通过图形用户界面50访问这些功能。在一些实施例中,用户界面50是工作台20的一个或多个用户界面的表示。在一些实施例中,通过用户界面50,工作台20使用户51能够创建、编辑和/或确认身份枢纽配置,将该身份枢纽配置本地保存在计算机可读存储介质56中,并且通过网络15将该确认的配置远程设置到身份枢纽32的身份枢纽实例中。计算机可读存储介质56可以是计算机40内部或外部的。
如本领域技术人员可以理解的,计算机40是利用工作台20的一个实施例特别编程的用于本地配置和分析身份枢纽的配置并通过网络将(确认的)配置远程设置到身份枢纽的实例中的任何网络计算装置的表示。下面对照图5描述通过工作台20配置身份枢纽32的方法的一个实施例。下面对照图6描述工作台20的用户界面50的一个实施例。
在一些实施例中,配置工具400包括配置编辑器410、算法编辑器420和分析工具430。在一些实施例中,分析工具430包括数据分析工具432、实体分析工具434、分组分析工具436和链接分析工具438。在一些实施例中,通过配置编辑器410,工作台20向用户51提供创建身份枢纽32的新配置或加载保存在计算机可读存储介质56上的身份枢纽32的现有配置的能力。在一些实施例中,身份枢纽配置包括成员记录的视图、成员记录的属性以及针对身份枢纽32的特定实现方式定义的部分。对于实现方式定义部分的进一步教导,读者可以参考2007年9月13日提交的标题为“IMPLEMENTATION DEFINEDSE GMENTS FOR RELATIONAL DATABASE SYSTEMS”的11/900,769号美国专利申请,该申请通过引用包含于此。下面对照图7-8描述配置身份枢纽32的细节。
身份枢纽32使用多个算法来比较和计分成员属性相似性和差别。更具体来说,身份枢纽32将该算法应用于数据以创建任务并支持搜索功能。在一些实施例中,通过算法编辑器420,工作台20向用户51提供针对身份枢纽32的特定实现方式定义和定制算法的能力。下面对照图9A-9B描述算法编辑器420的一个实施例。
在一些实施例中,通过数据分析工具432,用户51可以分析身份枢纽32中的数据记录的属性有效性。在一些实施例中,通过实体分析工具434,用户51可以分析与身份枢纽32中的数据记录相关联的实体。在一些实施例中,通过分组分析工具436,用户51可以分析分组(候选记录的群)和这种分组策略对身份枢纽32的影响。在一些实施例中,通过链接分析工具438,用户51可以分析与链接成员记录相关联的错误率和在对这些记录的衍生物计分时使用的阈值。下面对照图10-17描述分析工具430的一些实施例。
图5示出用于配置身份枢纽32的方法的一个实施例的流程图。当工作台20安装在计算机40上并在其上运行时,在步骤510,用户51可以访问工作台20并创建新的
项目或者打开现有的
项目。在一些实施例中,
项目是用于保持身份枢纽配置和与其相关联的文件的容器。在一些实施例中,
项目包括多个人为结果(artifact)。该多个人为结果的例子包括身份枢纽配置、由该身份枢纽配置使用的算法以及从分析工具(430)得到的在前分析的结果。在步骤520,用户51可以创建新的配置或打开在步骤510创建或打开的
项目内的现有配置。在步骤530,通过用户界面50,用户51可以分析、修改和/或确认在步骤520创建或打开的配置。在步骤540,用户51可以将该配置本地保存在计算机40中。在步骤540,用户51可以通过与运行身份枢纽32的实例的服务器的网络连接将所保存并确认的配置远程设置到身份枢纽32的该实例中。在一些实施例中,可以实时地将身份枢纽配置和算法直接设置到身份枢纽32的实例中。在一些实施例中,一些任务(作业)可能需要在配置设置外由身份枢纽32直接进行。在这种情况下,工作台20的一些实施例可以提供以下手段:进行作业组内的单个作业或分组作业、在身份枢纽32上直接执行它们并通过用户界面50在工作台视图内将作业执行的进展或状态显示给用户50。在一些实施例中,用户50可以在计算机40通过用户界面50取回或查看来自身份枢纽32的作业结果。对于用户界面50的一些实施例,读者可以参考2007年9月14日提交的标题为“HIERARCHY GLOBAL MANAGEMENT SYSTEM ANDUSER INTERFACE”的11/901,040号美国专利申请,该申请通过引用包含于此。
图6示出用户界面50的一个实施例的截图60。更具体来说,截图60示出通过用户界面50的一个实施例显示在计算机40上的工作台20的配置编辑器410的示例布局。在该例子中,配置编辑器410包括菜单61、快捷方式63和称为视图的一组工作区域64、65、66和67。菜单61提供对各种菜单项的访问,每个菜单项提供一组不同功能。例如,通过菜单项“启动”62,用户51可以创建新的启动(Initiate)项目,输入身份枢纽配置,设置身份枢纽配置,创建新的作业组或确认局部权重等。快捷方式63提供对当前使用中的工作台20功能的快速访问。例如,用户51可以通过快捷方式63在配置编辑器410和分析工具430之间快速切换。视图64、65、66和67是包含特殊类型数据的单独窗口。大多数视图可以通过拖拽并放下它们的标签而移动到屏幕上用户界面60的不同区域。为了改变视图,用户51可以在菜单61的菜单项“窗口”下选择“显示视图”。下面是包括在工作台20的用户界面50的一个实施例中的视图的简要说明。所有这些视图可以在工作台20内隐藏并展开。
导航器视图
导航器视图提供用于浏览工作台人为结果的树结构。
可以从导航器视图访问以下功能:
·遍历项目目录
·打开并查看项目文件
·复制、粘贴、移动、删除和重命名项目文件
·输入资源
·刷新输入的资源
·选择选择文件的工作组(并隐藏该工作组中未使用的文件)
·取消选择文件的工作组
特性视图
特性视图使用户能够编辑由用户创建的任何组件的特性值。
问题视图
问题视图提供工作台中的配置和确认问题的列表。大多数确认在保存项目中的文件资源时完成,使得错误可以即时出现。
控制台视图
控制台视图示出大量后台任务期间的进展消息和错误。
作业视图
作业视图示出作业或作业组的进展或完成(执行)状态。
下面对照图8A和8B描述作业视图上的更多细节。
分析视图
分析视图显示分析询问的结果。为了知道该视图中的数据,工作台需要连接到枢纽,使枢纽处理该询问。
搜索视图
搜索视图显示在现有配置上的搜索结果。用户可以通过双击搜索视图中的行来打开配置对象。
在一些实施例中,工作台20提供几种特殊类型的编辑器,如配置编辑器410和算法编辑器420。在一些实施例中,工作台20还支持其他编辑器类型,包括标准文本和Java编辑器。图7A和7B示出配置编辑器410的一个实施例的截图70a和70b,可以通过该编辑器修改身份枢纽32的枢纽配置71。
更具体来说,截图70a示出输入到工作台20的枢纽配置71的表示。在一些实施例中,配置编辑器410可以包括导航菜单72,其示出应用程序、属性类型、信息源、链接、成员类型、关系类型等的视图。参考图7A,成员类型视图73使用户能够添加、编辑和去除成员类型。在一些实施例中,成员类型标识数据所属的“对象种类”(例如,人、提供方、客人或组织)。在一些实施例中,具有可配置为特定成员类型的五个对象,每个对象具有其自己的标签(视图):属性、实体类型、合成视图、源和算法。
在一些实施例中,属性类型视图使用户能够查看与成员类型相关联的属性。例如,对于成员类型人74,属性标签可以示出与成员类型人74相关联的属性,如APPT和出生日期。在该例子中,属性APPT具有属性类型MEMAPPT,并且属性出生日期具有属性类型MEMDATE。在一些实施例中,属性类型(段)与
数据模式相符以定义枢纽行为和成员信息。在一些实施例中,属性类型包括成员属性类型和关系属性类型。在一些实施例中,成员属性类型包括预定义(“固定”)属性类型和限定实施属性类型,在上面提到的2007年9月13日提交的标题为“IMPLEMENTATION DEFINEDSEGMENTS FOR RELATIONAL DATABASE SYSTEMS”的11/900,769号美国专利申请中描述了这些属性类型。限定实施属性类型可以在身份枢纽的实施时创建并且因此不与所产生的类别相关联。关系属性类型是专用于关系的属性类型。属性类型不能同时是成员属性类型和关系属性类型。
在一些实施例中,实体类型视图使得能够管理实体类型,如身份或阈值。对于有关实体管理的进一步教导,读者可以参考2008年3月27日提交的标题为“METHOD AND SYSTEM FOR MANAGINGENTITIES”的12/056,720号美国专利申请和2007年1月22日提交的标题为“METHOD AND SYSTEM FOR INDEXING INFORMATIONABOUT ENTITIES WITH RESPECT TO HIERARCHIES”的11/656,111号美国专利申请,这两个专利申请通过引用包含于此。
在一些实施例中,合成视图代表由用户定义的成员的完整图片。合成视图的配置可以建立控制工作台20中的成员属性数据的行为和显示的规则。例如,某一特定成员的成员属性数据可以由名字、地址、电话和社会保险号构成。
在一些实施例中,源视图使用户能够添加和管理关于与工作台20交互作用的源的信息。源的例子可以包括定义源和信息源。信息源的例子可以包括上述的源34、36、38。定义源是在其中创建并且经常更新成员(记录)的源。在一些实施例中,工作台20可以将更新发送到定义源。
在一些实施例中,算法标签使用户能够创建或识别枢纽用来处理比较的有效算法。在一些实施例中,只有一个算法可以对枢纽实例上的每个成员类型有效。这些算法(有效的和无效的)基于当前在枢纽配置中定义的成员类型。每个新创建的算法必须与枢纽配置中的成员类型相关联(见图9A和9B)。
在一些实施例中,可以对分值高于自动链接阈值的记录自动形成链接(自动链接),或者在任务解决期间由用户手动形成链接(办事员再检查)。链接的目的是使得能够准确全面(enterprise-wide)了解成员(记录)。对照图7B,在一些实施例中,配置编辑器410的链接视图76可以提供链接类型77和链接状态78。该功能可被用于添加或编辑链接类型和关联状态。在该例子中,链接类型77列出定义有效实体关系的链接ID、链接类型和种类,而链接状态78列出代表企业关系的工作流程状态的状态ID、链接状态和类别。在一些实施例中,可以通过在列标题上点击以升序或降序排序这些列。
简要参考图7A,导航菜单72还示出应用程序视图和关系类型视图。应用程序视图可以列出几个功能。在一些实施例中,用户可以使用该组件中的功能以标出应用程序有效还是无效。在一些实施例中,企业用户可以从应用程序视窗添加和去除在企业站点实施的
应用程序。关系类型视图可以示出可利用的关系类型。关系类型是可存在于两个不同(或相同)实体类型之间的关联类型。例如,一个人可以管理另一个人,或者一个组织可以在法律上拥有另一个组织。在一些实施例中,用户可以使用该组件中的功能以管理实体之间的关系。对于有关实体的关联信息的进一步教导,读者可以参考2007年9月28日提交的标题为“METHOD AND SYSTEM FOR INDEXING,RELATING AND MANAGING INFORMATION ABOUT ENTITIES”的11/904,750号美国专利申请,该申请通过引用包含于此。为了简洁,在本公开中没有示出或描述所有可利用的视图。然而,本领域的技术人员可以理解,通过这些视图提供的附加视图和附加功能也是可能的。例如,串视图可以使用户能够创建规则或指导,以指示关于如何处理某些输入的数据值的算法。作为另一个例子,审核视图可以使得用户能够建立与身份枢纽32的交互和用户进行那些交互的审核记录。
在工作台20的一些实施例中,保持枢纽配置及其相关文件的容器被称为项目。在将枢纽配置输入到项目中之前,用户需要创建新的项目或输入现有的项目。为了创建新的项目,用户可以从“启动”菜单61选择“新启动项目...”,并且输入该新项目的名称。可以在当前的工作空间目录中或者在用户指定的当前工作空间之外的场所(例如另一个本地驱动装置或网络驱动装置)中使用工作台模板创建该新项目。对于有关项目管理的一些实施例的进一步教导,读者可以参考2007年6月29日提交的标题为“METHOD AND SYSTEM FOR PROJECTMANAGEMENT”的11/824,210号美国专利申请,该申请通过引用包含于此。
接下来工作台20创建该项目并且在该工作空间目录下添加以下目录:
·流-包含流文件(.iflow)
·函数-包含任何定制函数
·库-包含设置所需的任何附加Java代码库文件(.jar)
·服务-包含输入到项目中的所有数据源WSDL文件(.wsdl)
·src-包含所需要的任何附加Java源文件(.java)
·anonutil-包含样本默认值文件和过滤器文件
·处理机-包含用于将Java处理机打包的脚本支持
·作业-保存与枢纽-项目注册有关的信息
项目通过到运行身份枢纽32的实例的服务器的连接与身份枢纽32相关联。存在几种类型的连接,包括制作和测试。在一些实施例中,通过从菜单61(见图6)访问菜单项“启动”62下的对应功能可以添加、编辑或去除与身份枢纽32的实例的连接。可以通过从“启动”菜单62访问“输入枢纽配置...”功能将枢纽配置输入到项目中。在一些实施例中,可能需要用户名称和口令以从身份枢纽32取回枢纽配置信息。在一些实施例中,输入的枢纽配置的名称可以显示在配置编辑器410的导航器视图64中,并且输入的枢纽配置的组件可以显示在工作空间65中。
图8A和图8B示出可通过其修改作业配置的配置编辑器401的一个实施例的截图80a和80b。在工作台20的一些实施例中,由身份枢纽32进行的任务可以称为作业,并且一个或多个作业的群可以成为作业组。在一些实施例中,可利用的作业(任务)可分类为配置作业、数据分析作业、枢纽管理作业等。在一些实施例中,作业结果可以由运行身份枢纽32服务器的服务器上的项目来保存,并且在许多情况中可以在计算机40从该服务器取回或查看。在一些实施例中,通过配置编辑器410中的作业视图,可以进行以下非穷举列表的任务:
·将配置设置到枢纽
·产生权重
·创建阈值分析对
·从枢纽取回文件
设置枢纽配置
该功用将配置项目设置到枢纽。该作业可被用于(代替上述启动菜单选项)与另一个作业一道进行该设置。当执行该作业时,该枢纽被自动停止和重新启动。当从启动菜单62运行时,可以利用以下选项:
·设置权重表。该选项被选择时使所选工作台项目目录中的权重表能够设置到该枢纽。
·需要时创建和/或删去数据库表。该选项被选择时允许根据支持该配置的需要进行数据库表操作。
·检查群同步性。该选项被选择时检查本地列出的作业群是否跟上(up to date with)枢纽中定义的群。在一个实施例中,如果该选项被选择并且群不匹配,则可以终止设置。
产生权重
该功用进行权重产生任务。该作业需要衍生数据(比较数据和分组数据)作为输入。在一些实施例中,可以在上述标准化和分组步骤320和330期间通过利用例如mpxdata、mpxprep、mpxfsdvd或mpxredvd产生该衍生数据文件。作为例子,图8A示出截图80a,该图示出可以如何通过配置编辑器401的一个实施例配置该作业。具体地,对于实体类型id 84,配置编辑器401的一个实施例可以示出多个标签,包括步骤、输入和输出、性能调节、选项和Log选项。在一些实施例中,步骤标签可以使用户能够选择权重产生步骤来运行并指示是否运行后续步骤直到处理结束。权重产生步骤的例子可以包括:
·从先前的运行中删除人为结果(artifact)
·为所有属性值产生计数
·产生成员的随机对
·通过比较随机成员得到随机数据
·进行匹配的候选对缩减
·产生匹配组、匹配统计和初始权重
·由于太少的属性而跳过最后步骤
·迭代前面的步骤并检查权重的收敛
·执行全部剩余步骤直到处理结束
在一些实施例中,输入和输出标签可以允许用户指定各种输入/输出目录。输入/输出目录的例子可以包括:
·BXM输入目录:指定从其读取块交叉匹配结果的输入目录。该目录必须匹配由产生衍生数据的mpx功用使用的输出目录。
·工作目录:指定要在工作台项目内保存权重表的目录。在一个实施例中,默认是权重目录。所有文件被保存到为该实体类型命名的指定工作目录内的子目录。
·FRQ输出目录:指定将所产生的属性频率数据写入的输出目录。
·UPAIRS输出目录:指定将所产生的随机对数据写入的输出目录。
·USAMPS输出目录:指定将所产生的未匹配样本对数据写入的输出目录。
·MPAIRS输出目录:指定将所产生的匹配对数据写入的输出目录。
·MSAMPS输出目录:指定将所产生的匹配对样本数据写入的输出目录。
·RUN输出目录:指定将所产生的权重写入的输出目录。该目录附加有针对每个迭代的递增数。
在一些实施例中,性能调节标签可以允许用户修改以下参数:
·线程数
·最后步骤中的最大迭代数
·比较分组划分数
·随机对分组划分数
·匹配对分组划分数
·频率划分数
·最大输入/输出划分数
·用于审核的Audrecno
·要产生的随机对数
·用于报告处理记录的间隔
·最大分组设置大小
·用于写入项目记录的最小权重
在一些实施例中,选项标签可以向用户提供以下选项:
·编码。在一些实施例中,工作台20支持LATIN1、UTF8和UTF16编码。也可以使用其它编码方法。对于有关解析不同语言的数据记录的进一步教导,读者可以参考2007年12月31日提交的标题为“METHOD AND SYSTEM FOR PARSING LANGUAGES”的11/967,588号美国专利申请,该申请通过引用包含于此。
·审核。在一些实施例中,工作台20支持对一组数据记录的审核。
·比较模式。在一些实施例中,该选项可被用于限制比较功能。例如,只产生用于匹配和链接的权重,只产生用于搜索的权重或者产生用于匹配、链接和搜索的权重。
在一些实施例中,可以在图8A中80a的选项标签下找到以下权重产生参数。这里的数据包括专用于各种源的阈值。
·属性匹配对百分比阈值(wgtNRM)-定义在比较中使用的第三过滤器的阈值。
·属性匹配对阈值(wgtABS)-定义在属性比较中使用的第二过滤器的阈值。
·收敛阈值(wgtCNV)-定义权重产生变换的容限。
·用于初始权重估计的数据质量百分比(wgtQOD)-定义匹配组错误率。
·假阴性率(wgtFNR)-定义用于计算办事员再检查和自动链接阈值的假阴性率。
·假阳性率(wgtFPR)-定义用于计算办事员的假阳性率。
·再检查和自动链接阈值。
·匹配对阈值(wgtMAT)-定义在比较中使用的第一过滤器的阈值。
·最小属性计数(wgtFLR)-定义属性值频率计数的下限。
在一些实施例中,Log选项可以向用户提供以下日志选项:
·跟踪日志
·调试日志
·定时器日志
·SQL日志
当该产生权重作业完成时,可以查看结果并且可以将该权重保存在本地。在一些实施例中,可以将产生权重的输出从枢纽复制到项目。对于有关权重产生的进一步教导,读者可以参考2007年6月1日提交的标题为“SYSTEM AND METHOD FOR AUTOMATIC WEIGHTGENERATION FOR PROBABILISTIC MATCHING”的11/809,792号美国专利申请,其全部内容通过引用包含于此。
作为数据分析作业的例子,图8B示出截图80b,其示出可以如何通过配置编辑器401的一个实施例配置阈值分析对产生作业。具体地,配置编辑器401的一个实施例可以允许用户指定实体类型以及适当的输入目录和输出文件。用户可以进一步指定针对每个分值的对数和分值的范围。在图8B的例子中,最小分值是8.0,而最大分值是25.0。在该例子中,样本对产生器在171个分值档(score bin)(8.0至25.0,以0.1递增)的每一个中取10个随机对。
如上面对照图7A描述的,新创建的算法必须与枢纽中的成员类型相关联。图9A和图9B示出算法编辑器420的一个实施例的截图90a和90b。在一些实施例中,算法编辑器420使用户能够编辑由身份枢纽32使用的算法文件以应用比较逻辑。具体地,当初始创建算法时,它是空的。算法编辑器420使用户能够在算法编辑器420中添加算法组件和与调色板(Palette)91的连接以构建算法。在图9A的例子中,截图90a示出与成员类型“人”74相关联的算法。在一些实施例中,尽管只有一个算法可以在任意给定时间设置为“有效”算法,但是多个算法可以与某一具体成员类型相关联。在本地编辑算法,使得不对数据库进行改变,直到它们完全生效。
如图9A和9B所示,算法可以包括多个组件,包括属性组件、标准化功能组件、比较和询问角色(Role)组件以及分组和比较功能组件。用户可以通过添加、修改或删除一个或多个算法组件来修改算法。属性组件允许用户定义数据元素的性质或字段。通过算法的成员类型过滤这些属性。标准化功能组件包括用于标准化或格式化输入的源数据以用于比较、分组和搜索(询问)目的的功能。这可意味着所有第一字符的大写、标点符号的去除、匿名值检查和数据排序。在被标准化后,可将数据保存为衍生数据的比较分量并且在分组数据的产生中使用。在一些实施例中,标准化数据不保存在枢纽数据库中并且因此不改变成员数据。例如,可以将电话号码作为232-123-4567输入源中。尽管标准化例程可以消除破折号和区域代码并且将该号码格式化为1234567,但是保存在身份枢纽32的数据库46中的号码仍然是232-123-4567。比较和询问角色组件使用户能够定义在算法中可以如何使用比较功能和/或询问功能。分组功能可被用于识别分组数据,其识别共享信息的多个群。例如,可将分组定义为姓名(名、姓、中间字)、出生日期+姓、地址和社会保险号。该组件还使用户能够定义分组中数据元素的组合。对于有关算法编辑器420的实施例的进一步教导,读者可以参考2007年2月5日提交的标题为“METHOD ANDSYSTEM FOR A GRAPHICAL USER INTERFACE FORCONFIGURATION OF AN ALGORITHM FOR THE MATCHINEOF DATA RECORDS”的11/702,410号美国专利申请,该申请通过引用包含于此。
因此,在一个实施例中,用于分析身份枢纽的方法可以包括使用一组初始数据记录生成该身份枢纽的配置,根据与该身份枢纽配置相关联的分组策略分析基于该组初始数据记录或其子组创建的分组,分析这些分组对身份枢纽性能的影响,并且然后相应地改变分组策略。在一个实施例中,可以通过编辑在创建该分组或改变与该算法相关联的一个或多个参数值时使用的算法改变该分组策略。在一个实施例中,该算法可以与实体类型相关联。
在一个实施例中,除了上述核心算法配置功能以外,还可以通过算法编辑器420的阈值和权重性质标签92配置自动权重产生参数。由于权重性质与实体类型相关联,所以为了查看权重性质,用户必须首先选择实体类型。在本例子中截图90b示出实体类型id84的阈值和权重性质。
对于有关权重产生(包括权重产生转换)的进一步教导,读者可以参考2007年6月1日提交的标题为“SYSTEM AND METHOD FORAUTOMATIC WEIGHT GENERATION FOR PROBABILISTICMATCHING”的11/809,792号美国专利申请,该申请通过引用包含于此。
参考图9B,在确定权重之后,用户可以使用阈值计算器93手动设置或计算某一特定枢纽配置的适当的办事员再检查和自动链接阈值。阈值计算器93使用户能够使用来自身份枢纽32的数据库46的样本数据计算适当的办事员再检查和自动链接阈值。在一些实施例中,用户还可以使用阈值计算器93设置办事员再检查阈值和自动链接阈值,从而对假阳性率、假阴性率和估计任务数进行估计。在一些实施例中,可以基于估计的样本对数据使用估计的假阳性率(FPR)或统计的FPR计算该阈值。这些值可以用于所选择的(或全部的)源对。该统计选项需要用户首先运行上述阈值分析对产生作业,并且然后对完成的作业执行得到作业结果的动作。
在一些实施例中,候选阈值被提供有工作台20。用户可以再检查候选阈值、任务和链接并确定对于某一特定配置的适当阈值。在一些实施例中,候选阈值可以被如下计算:
自动链接阈值
候选自动链接阈值依赖于文件大小和可允许的假阳性率。假设fpr是可允许假阳性率(默认值10Λ(-5)),num是数据组中的记录个数。则候选自动链接阈值是thresh_al=-ln[-ln(1-fpr)/num]/ln(10),其中ln是自然对数(底数为e)。
办事员再检查阈值
基于希望的假阴性率(fnr)设置候选办事员再检查阈值。例如,如果希望副本的95%计分高于我们的办事员再检查阈值,则将默认值设置为0.05。实际fnr值可依赖于针对匹配计算的权重、每个属性具有有效值的时间比率以及这些值的分布。可以使用引导(bootstrap)程序确定匹配组计分的经验分布并从该分布计算办事员再检查阈值。针对该引导,产生一列随机成员,计算每个成员的信息,并且如下从该样本形成经验分布:
在数据库中潜在冗余地选择numebt随机成员。调用memrecno_1、memrecno_2、...、memrecno_numebt。针对其中每一个,对成员本身计分(即,计算成员的信息)。调用这些分值s_1、s_2、...、s_numebt。假设s_min是这些分值中最小的,s_max是这些分值中最大的,并且从s_min到s_max以0.1为单位递增地创建一个表,并对这些分值分档。该表将具有如下n=(s_max-s_min)/0.1行:
表1:匹配组分值分布
值 |
计数 |
频率 |
s_min |
c_1=s_i等于s_min的数量 |
f_1=c_1/numebt |
s_min+0.1 |
c_2=s_i等于s_min+0.1的数量 |
f_2=c_2/numebt |
s_min+0.2 |
c_3=s_i等于s_min+0.2的数量 |
f_3=c_3/numebt |
... |
... |
... |
s_max |
c_n=s_i等于s_max的数量 |
f_n=c_n/numebt |
现在,假设j第一索引,使得
f_1+f_2+...+f_j>fnr
则候选办事员再检查阈值是
thresh_cl=s_min+(j-1)*0.1。
在本文公开的实施例中,上述配置工具与用于分析该配置的例如分组和实体等各方面的一组分析工具结合。这些工具可以评估该配置并帮助找到与该配置相关的错误和潜在性能问题。具体来说,这些工具可以帮助用户无缝地配置枢纽并确认该配置的正确性。
参考图10A和图10B,工作台20的一些实施例可以包括实施分析工具430的分析查看功能。该分析查看功能可以向配置用户提供一组询问工具以分析枢纽配置。为了提供用于分析的数据,分析查看功能需要与枢纽实例相关联。图10A示出用户界面50的一个实施例的截图100a,其示出枢纽被选择作为项目demo81的分析源,并且枢纽配置71、成员类型“人”74和实体类型id 84被选择用于分析。如图10A中所示,通过选择“保存分析数据到快照”选项并在分析ID字段中提供名称可以将分析数据保存到快照。在一些实施例中,快照以XML格式保存到导航器视图中的“快照”文件夹。在一些实施例中,参考图4,快照可以本地保存在计算机40的计算机可读存储介质56中。通过将数据保存到快照中,用户可以比较进行配置改变前后的分析数据或者来自不同时间点的分析数据。在其输入参数不同的情况下,同一询问的多个副本可以保存到单个快照中。
图10B示出用户界面50的一个实施例的截图100b,其示出快照被选择作为项目阿尔法的分析源并且从可利用快照中选择main_hub_Bucket3-10-08。在该例子中,成员类型“人”74和实体代码id 84被选择用于分析。当分析视图具有与其相关联的数据源时,用户可以加载一个或多个询问并查看结果。每个询问显示一组专门数据。在一些实施例中,可利用的询问被分类为数据分析、实体分析、分组分析和链接分析类型。
图11示出用于分析身份枢纽配置的方法的一个实施例的流程图。如上面提到的,结合工作台20的实施例中的工具使得它们可以帮助用户无缝地配置身份枢纽32的实例并且实时确认该配置的正确性。因此,图11中所示的方法步骤意图说明示例处理并且绝不解释为限制性的。例如,当已经采样了成员对,创建了比较数据和分组数据(衍生数据),确定了权重并且确定了适当的AL和CR阈值时,可以对分组进行一些早期分析,如分组大小和分组分布。这种早期分析可以有助于在早期就识别到数据异常。因此,图11中的所有步骤不都是必要的并且用于分析用来匹配记录的系统的方法的一些实施例可以包括图11中的一个或多个步骤。此外,图11中的步骤可以不按特定的顺序执行。例如,作为权重产生处理的一部分(步骤103),可以产生一组推荐的阈值(候选阈值)。此时,用户可以执行阈值分析(步骤107)并查看针对阈值范围的所估计的假阳性和假阴性率。在设定了阈值并完成了(可能最终的)交叉匹配后,用户可以再检查可能错误(缺少值等)的实体(步骤105)。如果将枢纽选择作为分析源,则用户可以通过实体分析工具432从工作台20查看实体大小的分布并深入查看可疑实体中成员的数据以帮助识别错误。实体大小的报告可以保存到盘中(例如,计算机可读存储介质56),用于在进行了进一步调节之后的比较。
可以在该项目接近结束时或者仍在进行该处理的其它部分时完成上述分析任务。例如,在一些情况下,可能仍需要通过工作台20中的配置编辑器410完成配置任务,如配置应用程序、设置用户/群、创建合成视图等。在进行必要的改变后,需要将它们像其它配置数据那样设置到运行的服务器。在该项目结束时,可以产生关于该配置的报告,可在以后使用该报告以检验该系统的健康并确定可能需要采取调节努力以使该系统返回到最佳性能。此外,当已经完成配置时,可以容易地将其重新设置到其它服务器(测试、产品等)。在将该配置设置到新的服务器之后,用户可以在计算机40上运行任务“产生所有配置数据”以创建衍生数据并在新服务器上运行所有必要的比较和链接处理。
回到图11,作为例子,用于分析身份枢纽的方法的一个实施例可以包括通过数据分析工具434分析一组数据结果的属性有效性(步骤101)。在一个实施例中,用于分析身份枢纽的方法可以包括通过实体分析工具432分析实体(步骤105)。在一个实施例中,这些实体被分类为具有身份枢纽32中的特定实体类型。在一些实施例中,分析这些实体可能需要分析实体大小分布,按大小分析这些实体,通过比较分析这些实体,分析与这些实体相关联的分值分布,分析与这些实体相关联的成员比较或者它们的组合。在一些实施例中,在分析实体之后,用户可能希望运行算法编辑器420并修改与实体类型相关联的算法并且/或者改变上述一个或多个算法组件中的一个或多个参数值(步骤102)。在一些实施例中,这种修改或改变可以触发分组策略的改变并且可以通过权重产生自动产生新的权重(步骤103)。因此,用户可能希望运行分组分析工具436以再检查和分析分组和与其相关的统计(步骤104)。在一些实施例中,通过来自工作台20的分组分析工具436,用户可以分析分组大小分布,按大小分析这些分组,通过比较分析这些分组,分析分组交叉匹配比较分布,通过分组计数分析成员(记录),分析成员分组值、分析成员分组频率,分析成员比较分布或者它们的组合。在一些实施例中,用户可以运行链接分析工具438(步骤106)以关于当前使用的CR和AL阈值分析成员副本和成员交叠(步骤107)。可以在上述任何步骤期间或之后保存分析数据(步骤108)。
图12A和图12B示出实体分析工具432的一个实施例的截图120a和120b。具体来说,图12A的截图120a示出实体组成询问的结果,其中列121列出得到的四个成员(即,实体26具有链接在一起的四个候选数据记录),列122列出与这些成员相关联的特定属性(社会保险号)的值,列123列出与这些成员相关联的另一个具体属性(性别)的值等等。图12B的截图120b示出用于比较源发(Proband)成员27与实体26中的成员的成员比较询问的结果,其中列124列出比较的候选记录,列125列出它们的对应分值。
图12A和图12B中示出的实体比较询问和成员比较询问是可通过实体分析工具432实现的询问的例子。在一些实施例中,可通过实体分析工具43实现的询问可以包括考虑了大小的实体、实体比较、实体大小分布、成员比较、成员实体频率、成员实体值、考虑了实体计数的成员以及分值分布。
考虑了大小的实体
该询问提供询问匹配指定的大小范围(实体中的成员数)的实体的能力。将最小或最大大小的值指定为0表示没有限制(没有最大或没有最小)。
实体比较
该询问示出指定实体的内容。如图12A举例说明的,得到的表列出指定实体中的成员记录ID和源ID以及每个成员的比较数据。可以按比较角色将该比较数据划分到该表的各列中。
实体大小分布
当枢纽中的实体涉及大小时,该询问提供对枢纽中全部实体的全面观察结果。可以过滤该观查结果以仅示出来自所检查的源的实体。如果实体包括所检查的源和未检查的源中的成员,则所示出的实体的大小将仅是所检查的源中成员记录的计数。
成员比较
该询问提供用于将一个成员记录与指定实体中的所有成员(见图12B)或者与一组指定成员进行比较的机制。
成员实体频率
该询问示出成员在实体中出现的频率;也就是说,在一个实体中的成员数,在两个实体中的成员数,在三个实体中的成员数等等。
成员实体值
该询问示出成员所属的实体。
考虑了实体计数的成员
该询问示出指定的实体范围内的一列成员(例如,在3个或更多个实体内的所有成员)。如果没有指定最大数,则在实体字段的最大数中示出0值。否则,实体值的最大数必须大于或等于实体的最小数。
分值分布
该询问示出系统中所有记录对的分值的分布。在一些实施例中,单个成员实体或具有两个以上成员记录的实体可以不包括在结果中。在一些实施例中,每个分值的对数可以是给定分值范围内所有计数之和。例如,xaxis分值27可以代表分值在26.1和27.0之间的所有对。可以过滤该观察结果以仅示出来自所检查的源的实体。如果实体包括所检查的源和未检查的源中的成员,则所示出的实体的大小仅是所检查的源中的成员记录的计数。如果没有示出特定链接类型的结果,则可能没有满足该链接类型和/或所选择的一组源的标准的实体。
图13示出数据分析工具434的一个实施例的截图130。在一个实施例中,数据分析工具434可以提供如图13中所示的属性有效性询问。
属性有效性
该询问示出来自所有源和来自单独源的所述记录具有成员类型属性的值的次数的百分比。存在于高百分比中的值应该被认为是在算法中使用的潜在候选。在一些实施例中,可以默认地按属性名称分类结果。在一些实施例中,可以按列分类该结果。在一些实施例中,可以对源进行过滤使得得到的表可以列出包含在指定源中的成员类型记录的百分比。
图14示出分组分析工具436的一个实施例的截图140。在一些实施例中,如果枢纽中的记录数大于2百万,则分组分析询问将不执行,除非首先准备该数据。在一些实施例中,数据准备可以包含取得原始成员和分组数据并预计算可以快速询问的一组中间数据。可以通过配置编辑器410由“分组分析准备”进行该数据准备。在一些情况下,准备2-5百万个记录的数据可能花费大约10分钟,而准备5亿个记录的数据可能花费大约5小时。这些估算可能根据不同的硬件和数据库配置而大不相同。如果成员数据被修改,则还应该重新计算所准备的数据以避免看到过期的结果。
截图140示出分组分析纵览询问的结果,它是可通过分组分析工具436获得的多个询问中的一个。在一些实施例中,可通过分组分析工具436进行的询问可以包括分组分析纵览、分组组成、分组大小分布、考虑了大小的分组、批量交叉匹配比较分布、成员分组频率、成员分组值、成员比较分布以及考虑了分组计数的成员。
分组分析纵览
该询问提供关于枢纽的分组策略的健康的一些总体信息。如图14中举例说明的,在一个实施例中,该视图的上半部填有例如大分组数、未分组的成员等信息。可以通过点击适当的按钮查看特定范围的大分组和/或未分组的成员。更具体来说,点击查看分组按钮将选择考虑了大小的分组视图并以希望的分组大小范围运行询问。点击查看成员按钮将选择考虑了分组计数的成员视图并且运行询问以示出没有任何分组的成员。在该例子中,图14中所示的视图的底部区域示出十个最大的分组以及这些分组的散列值、产生该分组的分组角色和这些分组中的成员之一的分组值。对于同一分组中的所有成员该分组值可以相同。选择分组散列并点击查看分组按钮将运行分组组成询问并用针对该散列代码选择的分组的成员和这些成员的分组值填充该视图。
分组组成
该询问示出指定分组的内容。得到的表列出指定分组中的memrecnos以及该分组中每个成员的分组角色和分组值。所示出的分组值是新近从数据库中的成员数据计算出的实际分组值。如果对于同一分组散列示出不同的分组值,则这表示分组散列冲突。这将被认为是异常并且可解释为什么通常不相互比较的某些成员要相互比较。然而,这种情况一般不认为是对系统健康有害。在一些实施例中,用于该询问的视图可以包括查看成员按钮和查看算法按钮,从而选择得到的表中的一行并点击查看成员按钮将运行成员分组值询问以示出所有选择的成员的分组,并且点击查看算法按钮将打开算法编辑器420并选择创建所指定的分组的分组角色(见图9A)。
分组大小分布
当枢纽中的分组涉及大小时,该询问提供枢纽中全部分组的全面观察。在一些实施例中,在该视图的右侧示出大分组并且用从绿色(较小的分组)到黄色(中等大小的分组)到红色(大分组)的颜色指示器指示这些分组。描绘分组大小分布的图中的数据点可以遵循从左(较小的分组)到右(较大的分组)的向下弯曲。因此,分组大小分布图的右侧上的大量数据点可以是关注的区域并且可表示漏掉的匿名值、不正确的阈值、数据问题等。在一些实施例中,点击数据点将选择考虑了大小的分组的视图并且将运行询问以示出该大小的那些分组。在一些实施例中,通过在点击数据点和询问之前按下控制键可以示出该大小和更大的那些分组。
考虑了大小的分组
该询问提供询问匹配指定大小范围(分组中的成员数)的分组的能力。例如,将最小或最大大小的值指定为0表示没有限制(没有最小或没有最大)。在一些实施例中,得到的表可以示出分组中的成员之一的成员计数、分组散列、分组角色和样本分组值。对于任意给定的分组中的所有成员,分组值也可以是相同的。对此的一个例外是,是否存在导致不同的分组值具有相同分组散列的散列冲突。为了检查该情况,用户可以选择分组并点击查看分组按钮以查看任意给定的分组的所有成员和它们的分组值。如果确定存在特定分组角色的问题(缺少基于频率的分组等),则可以通过选择表的行并点击查看算法按钮来打开算法编辑器420。这将调出算法编辑器420并选择创建了所选分组的特定分组角色(见图9A)。
批量交叉匹配比较分布
该询问计算当涉及在mpxcomp作业上指定的最大分组设定大小参数(分组大小极限)时进行批量交叉匹配所需的比较的数量。该比较数量可以随后与线程的数量和每秒钟每个线程的比较数量一起使用以确定批量交叉匹配的适当完成时间。
成员分组频率
该视图以条状图等形式回答“1分组、2分组、3分组等中有多少成员”的问题。x轴数据点0示出未分组的成员的数量。在一些实施例中,点击图中的条将选择考虑了分组计数的成员视图并运行询问以示出关于该多个分组的成员。
成员分组值
该视图示出指定的成员在什么分组中。得到的表示出分组散列、分组值以及产生每个分组的分组角色。在一些实施例中,选择分组并点击查看分组按钮会选择分组构成视图并运行询问以示出所选分组散列的分组组成。点击查看算法按钮会打开算法编辑器420并选择负责创建该分组的分组角色(见图9A)。
成员比较分布
该视图示出当涉及所进行的比较的数量时估计的系统性能。也就是说:当进行搜索时,将进行多少实际比较?作为例子,成员比较分布图可以表明平均进行三个比较。更具体来说,在一些实施例中,10个比较中有1个将导致大约6个比较,100个比较中有1个将导致7.5个比较,1000个比较中有1个将导致大约8个比较。该数据基于来自系统的20,000个随机采样的成员。如果系统中的成员不足20,000个,则使用全部成员。平均来说,目标成员将与共享具有该目标成员的分组的所有成员进行比较。
考虑了分组计数的成员
该视图提供基于成员包含在其中的分组的数量询问成员。在一些实施例中,将最小和最大值指定为0将返回所有未分组的成员。对于大于0的最小值,最大值为0表示没有限制。在一些实施例中,得到的表示出memrecno、该成员在其中的分组的数量以及用于该成员的cmpd串。在一些实施例中,选择成员并点击查看成员按钮会选择成员分组值视图以示出该成员在其中出现的所有分组。
图15示出链接分析工具438的一个实施例的截图150。在一些实施例中,链接分析工具可以提供成员副本询问和成员交叠询问。
成员副本
该询问示出围绕副本成员(来自链接到同一实体的同一源的成员记录)的各种错误率。如图15中举例说明的,在一个实施例中,得到的表的前四列可以示出来自枢纽数据库的原始数据(按源细分):成员数、实体数、副本组数以及这些副本组中的成员数。后3列可以列出可从这些值计算的各种错误率:
·记录错误率-表示你必须查看多少个记录以分辨你的副本,或者多少个记录对成员的概览不完全。
·实体副本率-表示多少个成员具有副本记录,或者随机成员具有副本记录的概率。
·记录副本率-表示多少个记录是副本,或者可以消除的记录的百分比。
成员交叠
该询问提供有关枢纽中交叠数的信息。当一实体具有来自多个源的记录时可能存在交叠。例如,如果存在具有三个记录的实体,并且每个记录在分开的源系统中,则每个源被认为在其中具有两个交叠(A与B、A与C等)。在一些实施例中,所得到的表可以示出指定的源中表示的唯一实体的数量以及由该源中的记录表示的所有实体的百分比。在一些实施例中,所得到的表还可以示出在至少一个其它源中具有交叠的那些实体的计数和百分比(那些实体在另一个源中具有至少一个记录)。在多个其它源中具有交叠的实体在所得到的表中只可以被计数一次。在一些实施例中,所得到的表还可以通过源组合示出每个源。例如,当行和列源相同时,计数的百分比为100%。然而,当行和列源不同时,所述计数代表在该行源系统和该列源系统之间存在的交叠数。因此该百分比值代表在列源中具有交叠的行源中的实体的百分比。
因此,在一个实施例中,用于分析身份枢纽的方法可以包括分析与一组数据记录相关联的错误率。在一个实施例中,该错误率可以包括记录错误和人错误率。在一个实施例中,针对副本的记录错误率是包含在副本组中的记录个数除以总的记录个数。它代表从文件中随机抽取片段的记录图的机会。在一个实施例中,人错误率是具有多个记录的不同个人的数量除以该文件中表示的个人的总数。拿A、B、C、D、E五个记录的简单情况来说,其中A、B、C都代表同一个人。那么该记录错误率是3/5并且人错误率是1/3(表示3个不同人A-B-C、D、E的文件,并且其中一个人具有多个记录)。
在一个实施例中,错误率可以包括假阳性和假阴性率。在一个实施例中,错误率与办事员再检查(CR)和自动链接(AL)阈值相关联。在一个实施例中,CR和AL阈值表示在匹配一组数据记录时身份枢纽32对假阳性和假阴性率的容忍度。因此,用于分析身份枢纽的方法的一个实施例可以包括分析办事员再检查阈值和自动链接阈值。图16示出可用于分析与身份枢纽中的成员记录相关联的错误率和阈值的图形用户界面的一个实施例的截图。
用于估计所述阈值的一个办法包括对通过批量交叉匹配处理产生的链接的样本进行计分、将计分的结果拟合到命中率的模型曲线以及使用得到的曲线基于希望的错误率取得阈值。利用该办法有一些潜在的困难。第一,它需要人们在很宽的分值范围上对几千个链接对再检查并计分。这由于匹配或不匹配的个人解释而导致不可避免的变化。第二,命中率结合了数据中固有的副本率和文件大小(如果我们使用的数据样本没有副本,则命中率对所有分值都是零)。第三,该处理产生应用于交叉匹配并需要转换为搜索或询问错误率的阈值。
在一些实施例中,下面描述的新的估计程序可以解决这些问题。该新办法的一个优点是最初可基于数据形貌或基于在自动权重产生期间产生的一组新的统计来应用该办法。
假阳性率(自动链接阈值)
使用用来计分的似然比的一个好处是具有可用于针对固定阈值近似统计的假阳性率的理论表达式。这还意味着,如果做得正确,匹配是假匹配的概率仅依赖于分值而不依赖于实际数据。
用矢量x代表比较两个记录的结果。则该比较的似然比或分值为
其中,fM(x)是在所述记录指代同一对象(人、企业等)的假设下该比较的概率密度。也就是说,如果我们知道记录应该匹配,它是观察到该结果的概率。类似地,fU(x)是当所述记录不指代同一对象时观察到该结果的概率密度(即,它是该组比较随机发生的概率)。
在一些实施例中,当该分值的对数大于某一阈值时该枢纽可以链接两个记录,这样假阳性概率是当所述记录不指代同一对象时比较分值大于阈值的概率。在数学上是
现在,对于组{x:log(λ(x))>T},
所以fU(x)<10-TfM(x)。
因此,对于单个比较,假阳性的概率由下式限定:
如果该阈值相对大,则人们可以想到在进行n个单独比较时对包含n个记录的数据库的单个搜索。这意味着对该数据库的单个搜索返回高于该阈值的假阳性的概率与n个独立的单个比较的最大值高于该阈值的概率相同。假设{s1,s2,…,sn}代表单个记录相对该数据库中所有记录的分值,则对于大的T,产生假阳性的搜索的概率可表达为
这可进一步简化为
其中10T相对于n是大的。
作为例子,如果对于具有一百万个记录的数据库使用阈值11,则
Pfp≈1000000×10-11
≈10-5
或者说,100,000个搜索中有1个。
基于计分的样本对改进自动链接阈值
当样本对(假定采样是均匀的)已经被计分时,可以计算新自动链接(AL)阈值。其必要信息可以包括:
·包含被计分的对的文件。该文件可以包含每对的分值以及该对中的两个记录是否可以代表同一人(SP),不代表同一人(NSP),是否具有足够信息以进行判定(NEI)的指示符。可以对应地从计分程序指代值。例如,1意味着SP,0意味着NSP,以及-1意味着NEI。
·通过由BXM产生的对的总数的分值的计数(如果在产生随机对时过滤源,则这是两个成员都在被过滤的源中的对的计数)。
·数据库中记录的个数(如果在产生随机对时过滤源,则这是那些源中记录的计数)。
在一些实施例中,第一步是取得均匀样本并且通过NSP和SP的分值得到百分比图。只需要NSP用来更新AL阈值。下一步是通过分值得到总对数。这可以在手动评估之前创建样本对的步骤中产生。下一步是计算作为分值的函数得到假阳性的概率。为此,人们需要知道数据库的大小以便于在批量交叉匹配率和询问率之间标准化。对于每个分值档,将NSP的概率乘以该分值情况下的总对数,除以数据库的大小减1,并将总体乘以2。如果得到的分布不平滑,则可以将线性指数函数应用于样本数据。也就是说,找到系数a和b,使得函数p=ea+b·s是对样本数据的最小二乘拟合,其中s是分值。
可以根据该拟合系数将新的AL阈值计算为
AL=ln(-fprate·b/(0.1·Exp(a)))/b。
可以使用下面的公式将假阳性率确定为分值的函数
更新办事员再检查阈值
当确定了适当的自动链接阈值时,可以将任务数量的估计确定为办事员再检查(CR)阈值的函数。这可以通过对自动链接求和从记分的对计数获得。用户可以调节CR阈值以产生固定数量的任务。图17示出系统性能和对与链接身份枢纽中的成员记录相关联的假阳性和假阴性率的容忍度之间的关系。在图17的例子中,AL和CR阈值产生12个办事员再检查任务。
在以上说明中,关于特定实施例描述了本公开。然而,应该理解,本描述仅是作为例子而不是解释为限制性的。因此,还应理解,对于已经参照了本说明的本领域普通技术人员来说,本公开的实施例的细节上的众多变化以及本公开的附加实施例是显而易见的并且是可以做出的。所有这些变化和附加实施例也被考虑在所附权利要求中详述的本公开的范围内。