实体解析的制作方法

文档序号:6495929阅读:233来源:国知局
实体解析的制作方法
【专利摘要】在一种用于在实体解析系统中搜索实体的技术中,接收包括一个或多个属性类型的一个或多个属性值的搜索输入。执行解析搜索以生成搜索结果集,所述搜索结果集包括一个或多个实体以及用于生成附加实体的零个或更多通用属性值。响应于判定所述解析搜索生成至少两个通用属性值,按照通用属性类型针对唯一通用组执行一个或多个查询搜索以便标识所述附加实体,其中所述唯一通用组包括所述搜索输入的子集并包括至少两个通用属性类型;将所标识的附加实体与所述搜索结果集中的所述实体相组合;以及返回所述搜索结果集。
【专利说明】实体解析
【背景技术】
[0001]本发明的各实施例涉及在实体解析系统中搜索实体。
[0002]实体解析技术可以用于确定两个或更多实体(例如,人员、建筑物、汽车、事物、其它物体等)何时表示同一物理实体(尽管以不同方式描述)。有时这些技术称为去重、匹配/合并、身份解析、语义协调,或者具有其它名称。例如,包含CustID#l [Bob Jones atl23MainStreet with a Date of Birth (DOB) of6/21/45(Bob Jones 住在 123 大街,出生日期(DOB)是 1945年6 月 21 日)]的第一记录可能与包含CustID#2[Bob K Jones atl23S.Main Streetwith a DOB of6/21/1945 (Bob K Jones 住在 123 大街,DOB 是 1945 年 6 月 21 日)]的第二记录表示同一实体。可以在单个数据源中使用实体解析,以便跨数据源查找重复内容以确定不同事务如何与一个实体相关,或者同时在多个数据源中和跨多个数据源使用实体解析。
[0003]在实体解析系统中进行典型的实体搜索时,将实体的记录返回给用户。
[0004]在实体解析系统中,具有两种用于执行实体搜索的技术。第一种技术是使用解析技术执行搜索。第二种技术是使用结构化查询语言(SQL)查询执行搜索。
[0005]通常,用户使用这两种技术执行多个搜索,以便查找实体。用户可以搜索、修改初始搜索、再次搜索等,同时在搜索之间改变搜索技术(实体解析搜索与SQL搜索)。

【发明内容】

[0006]提供一种用于在实体解析系统中搜索实体的方法、计算机程序产品和系统。接收包括一个或多个属性类型的一个或多个属性值的搜索输入。执行解析搜索以生成搜索结果集,所述搜索结果集包括一个或多个实体以及用于生成附加实体的零个或更多通用属性值。判定所述解析搜索是否生成一个或多个通用属性值。响应于判定所述解析搜索生成零个通用属性值,返回所述搜索结果集。响应于判定所述解析搜索生成至少两个通用属性值,按照通用属性类型针对唯一通用组执行一个或多个查询搜索以便标识所述附加实体,其中所述唯一通用组包括所述搜索输入的子集并包括至少两个通用属性类型;将所标识的附加实体与所述搜索结果集中的所述实体相组合;以及返回所述搜索结果集。
【专利附图】

【附图说明】
[0007]现在参考附图,其中在所有附图中相同的参考标号表示对应的部分,这些附图是:
[0008]图1以框图示出根据某些实施例的计算设备;
[0009]图2A、2B和2C以流程图示出用于处理搜索输入以便生成搜索结果集的逻辑;
[0010]图3示出根据某些实施例的搜索屏幕;
[0011]图4A、4B和4C示出根据某些实施例的用于组合式搜索系统110针对图3中提供的搜索输入执行的处理的日志文本;
[0012]图5示出根据某些实施例的搜索屏幕中的搜索结果;[0013]图6示出根据某些实施例的第一实例搜索;
[0014]图7示出根据某些实施例的第二实例搜索;
[0015]图8示出根据某些实施例的第三实例搜索;
[0016]图9示出根据某些实施例的第四实例搜索;
[0017]图10以框图示出根据某些实施例的可以使用的计算机体系架构。
【具体实施方式】
[0018]出于示例目的给出了对本发明的不同实施例的描述,但所述描述并非旨在是穷举的或是限于所公开的实施例。在不偏离所述实施例的范围和精神的情况下,对于所属【技术领域】的普通技术人员来说许多修改和变化都是显而易见的。本文中所用术语的选择,旨在最佳地解释实施例的原理、实际应用或对市场中的技术的技术改进,或者使所属【技术领域】的其它普通技术人员能理解本文公开的实施例。
[0019]图1以框图示出根据某些实施例的计算设备100。计算设备100包括实体解析系统102。实体解析系统102包括组合式搜索系统110。组合式搜索系统110能够执行解析搜索120和查询搜索130 (例如,SQL搜索)。计算设备100耦合到数据存储库150。在某些实施例中,数据存储库150是数据库。
[0020]组合式搜索系统110实现解析搜索120和查询搜索130的组合。
[0021]关系数据库是计算机化的信息存储和检索系统。关系数据库被组织成表,这些表包括数据行和列。行可以称为元组或记录或行。数据库通常具有多个表,并且每个表通常具有多个记录和多个列。
[0022]可以使用索引访问数据库中的表。索引是对表中记录的一组有序引用(例如,指针)。索引用于使用关键字(即,记录的一个字段或属性,其对应于列)访问表中的每个记录。术语“关键字(key)”也可以称为“索引关键字”。如果没有索引,则查找记录需要(例如,线性)扫描整个表。索引提供一种用于访问表中数据的备选技术。在构建表之后,用户可以在表上创建索引。索引基于表的一个或多个列。
[0023]可以将查询描述为基于特定条件的对数据库中的信息的请求。查询通常包括一个或多个谓词。可以将谓词描述为表示或暗示比较操作(例如,A=3)的搜索条件的元素。
[0024]解析搜索120是一种用于查找实体(例如,一个个体)的技术。例如,当客户呼叫帮助台时,帮助台代理可以使用解析搜索120在数据存储库150中尝试并查找该客户。
[0025]实体具有特性(收集或观察的值,可以具有更大或更小的差别)。例如,在人类实体领域中,特性可以包括以下一个或多个:姓名、地址、电话、出生日期(D0B)、社会保险号(SSN)、驾驶执照(D/L)、生物特征、性别、头发颜色等。例如,SSN通常差别较大,出生日期差别较小,而性别根本没有具体的差别。作为另一个实例,针对物体(例如汽车)的实体解析可以包括以下一个或多个特性:车牌号、车辆识别号(VIN)、生产厂家、型号、年份、颜色、所有
去坐令寸ο
[0026]特性可以用于建立置信度(两个谨慎描述的实体相同的确定性程度)。对于CustIDSl和CustID#2的实例,姓名、地址和DOB等确认特性以及没有冲突特性(例如,不一致的特性,例如相反的D/L号)可能导致足够高的置信度,以便断言第一记录和第二记录表示同一实体(例如,人)而无需人为检查。[0027]解析搜索120工作时首先创建关键属性的候选关键字。可以将候选关键字描述为用于帮助查找实体的定位符关键字。姓名“John Smith”的候选关键字的一个实例可以是“Smithjo”。地址“123Main St.Anytown Ca94550”的关键字的一个实例可以是“123Main9455ANY”。候选关键字旨在应用模糊匹配,以及将数据存储库150中的多个字段减少至单个字段。
[0028]解析搜索120使用候选关键字定位潜在的精确匹配(即,候选实体)。即,解析搜索120使用候选关键字将数据存储库150中的所有实体减少至一个小的候选实体池。定位候选实体之后,解析搜索120在确认和评分阶段中针对搜索记录检查候选实体,以便查看搜索实体是否与候选实体匹配。
[0029]解析搜索120注意数据的出现频率。为了将候选池大小保持为可管理的大小,解析搜索120删除过度频繁的候选关键字。如果用户要针对具有500个“John Smith”候选实体的数据存储库150执行搜索姓名“John Smith”,则解析搜索120将“John Smith”标识为通用,并从解析搜索120中丢弃“John Smith”的通用属性值。因此,如果用户搜索“JohnSmith”,则解析搜索120将提供O个结果而不是500个。可以将通用属性描述为频率超过用户在实体级别定义的阈值的属性。实体解析系统102中的多个实体共享通用属性。
[0030]使用解析搜索120,用户输入属性值以便创建候选关键字。在前一个创建地址关键字的实例中,需要街道地址和邮政编码。如果用户要按姓名和邮政编码执行搜索,则解析搜索120可能无法创建地址关键字,并且搜索可能由姓名驱动。
[0031]查询搜索130使用查询执行搜索,这是另一种用于查找实体(例如,一个个体)的技术。查询搜索130使用查询在数据存储库150中定位记录。查询搜索130仍可以从全部属性值创建候选关键字(例如,当提供教名和姓氏时,创建姓名关键字),以便仍具有某种模糊匹配。这将允许用户更好地定位某些记录(例如,使用姓名和邮政编码查询)。此外,查询搜索不会根据数据频率删除结果。如果用户要针对具有500个“John Smith”候选实体的数据存储库150执行搜索姓名“John Smith”,则查询搜索130返回所有的500个姓名。但是,如果用户添加任何附加信息(例如,电话号码),则查询搜索130可能漏掉姓名和地址匹配或者姓名和电话号码匹配。
[0032]使用查询搜索,用户可能必须正确地处理查询中的“AND”和“0R”布尔逻辑运算符。如果用户搜索出生日期为“12/1/1970”的姓名为“John Smith”或“Bob Jones”的某个人,则用户将创建以下查询:(name=,Bob Jones’ OR name=,John Smith,)AND date ofbirth= ‘12/1/1970’。
[0033]用户可以以自然语言将该查询表示为搜索“Bob Jones”和“John Smith”,但对于查询搜索130,“AND”运算符不同于“0R”运算符。
[0034]使用查询搜索,实体必须与要返回的所有数据匹配。如果用户要搜索姓名、地址、电话号码和社会保险号,并且电话号码漏掉一位,则不会返回匹配。
[0035]组合式搜索系统110同时使用解析搜索和查询搜索,以便创建返回更好结果(即,用户想要获得的结果)的搜索。在某些实施例中,假设用户的目的是“查找该实体”。
[0036]组合式搜索系统110执行使用解析搜索120和查询搜索130两者的单个搜索(例如,来自用户或应用)。组合式搜索系统110提供运行狭窄搜索的能力、提供所有可能的搜索结果(即,穷举搜索)、允许通配符搜索,并为用户执行的单个搜索提供更好的结果。使用组合式搜索系统110,用户可以避免多次搜索。即,用户可以选择搜索按钮一次以便获得结果O
[0037]图2A、2B和2C以流程图示出用于处理搜索输入以便生成搜索结果集的逻辑。控制在方框200开始,组合式搜索系统110接收搜索输入。搜索输入包括一个或多个属性类型的一个或多个属性值(对应于属性)。每个属性值可以是通用的或非通用的。在某些实施例中,组合式搜索系统110提供搜索屏幕,用户通过将信息输入到搜索屏幕来提供搜索输入。
[0038]在方框202,组合式搜索系统110判定搜索输入是否指示日期范围。如果是,则处理继续到方框212,否则,处理继续到方框204。在方框212,组合式搜索系统110使用搜索输入执行查询搜索130。在方框214,组合式搜索系统110返回来自查询搜索130的查询结果O
[0039]在方框204,组合式搜索系统110判定搜索输入是否指示严格搜索。如果是,则处理继续到方框212,否则,处理继续到方框206。
[0040]在方框206,组合式搜索系统110判定搜索输入是否指示一个或多个通配符。如果是,则处理继续到方框212,否则,处理继续到方框208。
[0041]在方框208,组合式搜索系统110判定搜索输入是否指示一个或多个不完整属性值(即,搜索输入中的部分属性值,使得组合式搜索系统110没有足够的属性值来创建候选关键字;例如,对于姓名属性类型,没有姓氏的名字)。如果是,则处理继续到方框212,否则,处理继续到方框210。
[0042]在方框210,组合式搜索系统110判定搜索输入是否指示单个属性值。如果是,则处理继续到方框212,否则,处理继续到方框216 (图2B)。
[0043]在方框216,组合式搜索系统110执行解析搜索120,以便生成(候选实体的)搜索结果集以及用于生成实体的零个或更多通用属性值。在某些实施例中,解析搜索120首先使用包括一个或多个属性值的搜索输入来构建候选关键字。接下来,解析搜索120从候选关键字中删除先前已知的通用候选关键字。然后,解析搜索120使用其余候选关键字查询数据存储库150以便获得候选实体。在该过程中,解析搜索120可以发现新的通用候选关键字。一旦解析搜索120具有候选实体(其与数据存储库150中的记录关联),解析搜索120就从数据存储库150提取记录,并将候选实体的记录与被处理的搜索输入进行比较和评分。这称为确认阶段。
[0044]因为在确认阶段中对记录进行检索并且比较和评分,所以如果存在一个通用候选关键字,则解析搜索120仍可以找到一个或多个记录。例如,如果搜索属性包括通用姓名,但包括非通用地址,则包含该地址的记录将是候选实体,并且在确认中将对该姓名进行评分(即使姓名是通用的)。因此,解析搜索120能够生成具有单个通用候选关键字的搜索结果集。
[0045]在某些实施例中,解析搜索120针对任何非通用候选关键字(即,针对被标识为非通用的候选关键字或者不经常在实体中找到的候选关键字)检索候选实体;针对搜索输入执行候选实体的相似度评分,以便确定每个候选实体的相似度得分;以及响应于候选实体的相似度得分超过定义的阈值,将该候选实体包括在搜索结果集中。
[0046]在方框218,组合式搜索系统110确定解析搜索是否生成一个或多个通用候选关键字。如果是,则处理继续到方框220,否则,处理继续到方框226。在方框226,组合式搜索系统110返回从解析搜索120生成的搜索结果集。所述搜索结果集包括实体。具体地说,当候选实体被标识为要添加到搜索结果集时,这些“候选实体”变成实体。
[0047]在方框220,组合式搜索系统110存储(例如,缓存)来自解析搜索120的搜索结果集。在方框222,组合式搜索系统110对通用属性值的数量进行计数。在某些实施例中,姓名(至少名字和姓氏)和出生日期(DOB)被视为通用的。在某些实施例中,其它标识特征可以被视为通用的。
[0048]在方框224,组合式搜索系统110判定是否存在一个通用属性值。如果是,则处理继续到方框226,否则,处理继续到方框228 (图2C)。
[0049]在方框228,组合式搜索系统110按照通用属性类型针对唯一通用组执行查询搜索130以便标识附加候选实体,其中唯一通用组包括搜索输入的子集并包括至少两个通用属性类型。在某些实施例中,通用属性类型包括姓名、地址、每个编号类型、DOB以及任何被标识为识别特征(IC)的属性类型。可以将识别特征描述为可用于定位一小组实体的特性。例如,DOB执行一项合理的作业,即定位一小组人员。眼镜处方可以是另一个识别特征。另一方面,性别或婚姻状况单独可能不会有助于从一组人员中标识某个人。每个唯一通用组包括两个或更多属性类型,并且通过“0R”操作符将属性类型的每个实例连接到不同属性类型的其它实例。
[0050]在方框230,组合式搜索系统110存储(例如,缓存)来自查询搜索130的搜索结果集。在方框232,组合式搜索系统110判定是否已执行所有查询搜索130。如果是,则处理继续到方框234,否则,处理循环回到方框228,以便针对另一个唯一通用组执行另一个查询搜索130。
[0051]在方框234,组合式搜索系统110组合来自一个或多个查询搜索130以及解析搜索120的所存储的搜索结果集。在方框236,组合式搜索系统110对组合的搜索结果集进行去重(即,删除重复内容)。在方框238,组合式搜索系统110对去重后的搜索结果集进行排序。在某些实施例中,来自解析搜索120的搜索结果集中的候选实体的排序高于来自一个或多个查询搜索130的搜索结果集中的候选实体。在方框240,组合式搜索系统110返回排序后的搜索结果集。
[0052]在某些实施例中,组合式搜索系统110在实体解析系统中搜索实体。组合式搜索系统110以一个或多个属性类型的多个属性值的形式接收搜索输入。响应于接收搜索输入,组合式搜索系统110判定根据精确匹配和通配符匹配执行查询搜索130是否最佳。响应于判定这种查询搜索130最佳,组合式搜索系统110根据精确匹配和通配符匹配执行查询搜索130,并且返回一组找到的实体作为搜索结果集。
[0053]响应于判定查询搜索130并非最佳,组合式搜索系统110通过以下操作执行解析搜索120:从搜索输入创建候选关键字以便生成候选实体列表、确定哪些候选关键字过于常见并应被视为通用、针对那些被视为非通用的候选关键字检索候选实体,以及针对搜索输入执行每个候选实体的相似度评分以便确定每个实体的相似度得分。响应于实体的相似度得分超过定义的阈值,组合式搜索系统110将该实体包括在搜索结果集中。此外,响应于存在至少一个通用候选关键字,组合式搜索系统110使用包括至少一个通用候选关键字的指定搜索输入的子集执行后续查询搜索130,并且在搜索结果集中包括匹配实体。因此,组合式搜索系统110返回所找到的实体的并集作为搜索结果集。[0054]在某些实施例中,组合式搜索系统110响应于接收到执行严格搜索的显式指示,确定查询搜索130最佳。
[0055]在某些实施例中,响应于在搜索输入中接收一个或多个通配符输入,确定查询搜索130最佳。
[0056]在某些实施例中,响应于接收至少一个不完整属性值(即,搜索输入中的部分属性值,从而缺少足够的字段来创建候选关键字),确定查询搜索130最佳。
[0057]在某些实施例中,响应于仅接收到一个搜索输入属性值,确定查询搜索130最佳。
[0058]在某些实施例中,响应于候选关键字在搜索空间中的出现次数超过定义的阈值,确定属性值的候选关键字是通用的。
[0059]在某些实施例中,响应于属性类型是被视为通用的一组定义的属性类型,确定属性值的候选关键字是通用的。
[0060]在某些实施例中,响应于存在两个或更多通用候选关键字(从两个或更多通用属性值生成),进行后续查询搜索130,并且形成指定搜索输入的子集作为那些被确定为通用的候选关键字的组合对。
[0061 ] 在某些实施例中,组合式搜索系统110提供搜索屏幕。组合式搜索系统110基于经由搜索屏幕提供的搜索输入和个体搜索产生的搜索结果,以不同的组合实现解析搜索120和查询搜索130。
[0062]图3示出根据某些实施例的搜索屏幕300。在某些实施例中,搜索屏幕300包括选择严格搜索复选框310,以便用户可以选中某个框以便与所有或任意准则匹配。当用户选中严格搜索复选框时,则组合式搜索系统110提供匹配所有准则的搜索,这些准则具有查询搜索130执行的相同规则。在图3中,未选择严格搜索复选框310。当未选择严格搜索复选框310时,组合式搜索系统110确定是执行组合搜索还是查询搜索。在某些实施例中,搜索屏幕包括选择组合搜索复选框,并且用户选择组合搜索复选框以便获得来自使用解析搜索120和查询搜索130两者的单个搜索请求的结果。
[0063]搜索屏幕300还允许用户选择属性类型,并且当用户选择属性类型时,组合式搜索系统110显示选定属性类型的搜索输入字段。例如,对于属性类型地址320,组合式搜索系统110显示地址字段330。用户然后可以在地址字段330中键入搜索输入。作为另一个实例,对于属性类型护照340,组合式搜索系统110显示护照字段350。用户然后可以在护照字段350中键入搜索输入。
[0064]在图3的实例中,执行针对通用地址和通用护照号的搜索。因为解析搜索120将不使用通用属性值来查找结果,所以组合式搜索系统Iio运行查询搜索130以查找实体搜索结果。
[0065]图4A、4B和4C示出用于组合式搜索系统110针对图3中提供的搜索输入执行的处理的日志文本400、410、420。
[0066]图5示出根据某些实施例的搜索屏幕300中的搜索结果500。在某些实施例中,当显示搜索结果时,组合式搜索系统110提供附加数据(S卩,除了实体信息之外)。附加数据包括在搜索输入中包括的通用值列表。参考图5,通用值包括护照号510和地址520。
[0067]在某些备选实施例中,组合式搜索系统110执行解析搜索120,并且显示包含任何通用值的搜索结果。[0068]图6示出根据某些实施例的第一实例搜索600。在该实例中,解析搜索结果包含通用NAME,并且DOB是搜索输入的一部分。在某些实施例中,DOB被视为针对所有搜索都是通用的,因为没有足够的不同DOB值。因为DOB被视为通用的,所以组合式搜索系统110使用查询搜索130执行搜索姓名和D0B。将该查询搜索130的结果与来自解析搜索120的任何现有结果相组合(即,添加到现有结果)。在图6-9中,使用通用消息格式(UMF)。
[0069]图7示出根据某些实施例的第二实例搜索700。在该实例中,解析搜索结果包含两个通用姓名属性值、两个通用地址属性值以及一个通用识别特征属性类型。将两个通用姓名添加到姓名属性组(因为查询搜索130在属性组中添加“0R”运算符),将两个通用地址添加到地址属性组,将通用识别特征属性添加到属性类型属性组(因为识别特征属性类)。组合式搜索系统110在属性组级别(即,属性组的每个组合)执行叉积搜索。将该查询搜索130的结果与任何现有解析搜索结果相组合(即,添加到现有结果)。
[0070]图8示出根据某些实施例的第三实例搜索800。在该实例中,解析搜索结果包含通用姓名、同一类型的两个通用编号以及第二类型的一个通用编号。将通用姓名添加到姓名属性组。因为每个编号类型被视为单独的属性组,所以将前两个编号(因为它们是同一类型)添加到一个编号组,将第三编号(具有不同类型)添加到第二编号组。组合式搜索系统110在属性组级别(S卩,属性组的每个组合)执行叉积搜索。将该查询搜索130的结果与任何现有解析搜索结果相组合(即,添加到现有结果)。
[0071]图9示出根据某些实施例的第四实例搜索900。在该实例搜索中,将姓名、地址、不同编号类型、识别特征属性类型、DOB以及电子邮件地址标识为通用。将姓名添加到姓名组,将地址添加到地址组,每个编号类型获得独特编号组,每个识别特征属性获得独特属性组,DOB获得独特属性组,并且将电子邮件地址添加到电子邮件地址组。组合式搜索系统110在属性组级别(即,属性组的每个组合)执行叉积搜索。将该查询搜索130的结果与任何现有解析搜索结果相组合(即,添加到现有结果)。
[0072]组合式搜索系统110提供一种自动方式,以便将严格搜索(即,查询搜索)与通过假想身份记录的实体解析处理生成的搜索结果合并。组合式搜索系统110首先确定解析搜索120是否可能。如果不可能,则组合式搜索系统110默认为查询搜索130,否则,组合式搜索系统110使用解析搜索120驱动搜索,这可以转而针对搜索输入的子集回退到查询搜索130,该搜索输入的子集是通用的(例如,包含发现是通用的姓名+DOB+任何其它属性类型)。
[0073]具体地说,如果已提供数据范围、已选择严格搜索复选框、已提供任何通配符、提供了一个或多个不完整属性值(例如,仅为姓名属性类型提供姓氏,仅为地址属性类型提供来邮政编码等),或者提供了单个属性值,则组合式搜索系统110运行查询搜索130。
[0074]对于其它搜索,组合式搜索系统110针对所有数据执行解析搜索120。如果未返回通用值(即,过于频繁使用的关键字),则组合式搜索系统Iio返回来自解析搜索120的结果,否则,组合式搜索系统110进行检查以便查看是否存在通用属性值(例如,姓名或D0B)。如果找到一个通用属性值,则组合式搜索系统110返回来自解析搜索120的结果,否则,组合式搜索系统110针对至少两个通用属性值运行一个或多个查询搜索。所述查询搜索可以包括任何成对的通用属性值。在某些实施例中,姓名和DOB与第三通用属性值一起配对(例如,通用属性+姓名+DOB )。
[0075]如果执行两个搜索类型,则组合式搜索系统110按实体ID对结果进行组合和去重、对结果进行排序,并且返回这些结果。
[0076]下面示出根据某些实施例的第一用例:
[0077]?搜索属性:姓名
[0078]?运行的搜索:针对姓名运行查询搜索130
[0079]?理由:针对姓名的查询搜索130与解析搜索120返回相同的搜索结果。
[0080]下面示出根据某些实施例的第二用例:
[0081]?搜索属性:电话号码
[0082]?运行的搜索:针对电话号码运行查询搜索
[0083]?理由:针对电话号码的查询搜索130与解析搜索120返回相同的搜索结果。
[0084]下面示出根据某些实施例的第三用例:
[0085]籲搜索属性:地址
[0086]?运行的搜索:针对地址运行查询搜索130
[0087]?理由:针对地址的查询搜索130与解析搜索120返回相同的搜索结果。
[0088]下面示出根据 某些实施例的第四用例:
[0089]?搜索属性:D0B
[0090]?运行的搜索:针对属性运行查询搜索130
[0091]?理由:针对属性的查询搜索130返回值,而解析搜索120将发现DOB是通用的并且不返回任何值。
[0092]下面示出根据某些实施例的第五用例:
[0093]?搜索属性:姓名、地址
[0094]?运行的搜索:解析搜索120
[0095]?返回的通用值:无
[0096]?理由:解析搜索120返回不包含通用值的搜索结果。
[0097]下面示出根据某些实施例的第六用例:
[0098]?搜索属性:姓名、电话
[0099]?运行的搜索:解析搜索120
[0100]?返回的通用值:无
[0101]?理由:解析搜索120返回不包含通用值的搜索结果。
[0102]下面示出根据某些实施例的第七用例:
[0103]?搜索属性:姓名、DOB
[0104]?运行的搜索:解析搜索120
[0105]?返回的通用值:DOB
[0106]?理由:解析搜索120针对姓名返回搜索结果。所有候选结果针对DOB均为满分。即,当返回包含匹配姓名的记录时,DOB用于帮助将每个记录评分为匹配或不匹配。不需要查找包含DOB的人员以便对姓名进行评分,因为组合搜索110已经具有评分。组合搜索110查找2个搜索属性差异。
[0107]下面示出根据某些实施例的第八用例: [0108]?搜索属性:姓名、电话
[0109]?返回的通用值: 姓名[0110]?运行的搜索:解析搜索120
[0111]?理由:当仅有一个通用值(姓名)时,解析搜索120返回所有搜索结果,并且解析搜索120已经返回包含两个搜索属性的数据。如果存在一个通用值,则组合搜索110对所有数据进行评分。组合搜索110查找2个元素匹配以便获得最佳结果。如果存在一个通用值,则没有要填充的空位。即,组合搜索110找到包含2个元素匹配的所有候选结果,因为存在一个通用值,并且组合搜索110在确认评分时选择该通用值。
[0112]下面示出根据某些实施例的第九用例:
[0113]?搜索属性:姓名、电话
[0114]?返回的通用值:电话
[0115]?运行的搜索:解析搜索120
[0116]?理由:当仅有一个通用值(电话)时,解析搜索120返回所有搜索结果,并且已经返回包含两个搜索属性的数据。
[0117]下面示出根据某些实施例的第十用例:
[0118]?搜索属性:姓名、地址
[0119]?返回的通用值:姓名
[0120]?运行的搜索:解析搜索120
[0121]?理由:当仅有一个 通用值(姓名)时,解析搜索120返回所有搜索结果,并且已经返回包含两个搜索属性的数据。
[0122]下面示出根据某些实施例的第十一用例:
[0123]?搜索属性:姓名、地址
[0124]?返回的通用值:地址
[0125]?运行的搜索:解析搜索120
[0126]?理由:当仅有一个通用值(地址)时,解析搜索120返回所有结果,并且已经返回包含两个搜索属性的数据。
[0127]下面示出根据某些实施例的第十二用例:
[0128]?搜索属性:姓名、DOB
[0129]?返回的通用值:姓名
[0130]?运行的搜索:针对姓名+DOB运行解析搜索120、查询搜索130
[0131]?理由:解析搜索120不返回任何结果,因为没有候选生成器,并且运行查询搜索130,因为具有两个通用值(注意DOB被视为通用的)。
[0132]下面示出根据某些实施例的第十三用例:
[0133]?搜索属性:姓名、地址、电话
[0134]?返回的通用值:姓名、地址
[0135]?运行的搜索:针对姓名+地址运行解析搜索120、查询搜索130
[0136]?理由:解析搜索120返回电话匹配,并且姓名和地址查询搜索130执行其它组

口 ο
[0137]下面示出根据某些实施例的第十四用例:
[0138]?搜索属性:姓名、地址、电话
[0139]?返回的通用值:姓名、电话[0140]?运行的搜索:针对姓名+电话运行解析搜索120、查询搜索130
[0141]?理由:解析搜索120返回电话匹配,并且姓名和电话查询搜索130执行其它组
[0142]下面示出根据某些实施例的第十五用例:
[0143]?搜索属性:姓名、地址、电话
[0144]?返回的通用值:电话、地址
[0145]?运行的搜索:针对电话+地址运行解析搜索120、查询搜索130
[0146]?理由:解析搜索120返回仅姓名匹配,并且电话和地址查询搜索130执行其它高
值组合。
[0147]下面示出根据某些实施例的第十六用例:
[0148]?搜索属性:姓名、地址、电话
[0149]?返回的通用值:姓名、地址、电话
[0150]?运行的搜索:针对姓名+地址运行解析搜索120、查询搜索130,针对姓名+电话运行查询搜索130,针对地址+电话运行查询搜索130
[0151]?理由:解析搜索120不返回任何结果,并且查询搜索130匹配解析值和高质量2部分匹配。即,为了将搜索解析为记录,通常采取至少2个搜索属性。因此,与姓名和SSN均匹配的记录表示人员极有可能相同。与姓名和地址匹配的记录也表示人员极有可能相同。例如,与地址和电话两者均匹配的记录表示他们是相同人员的可能性稍低,但找到的人员可能知道正确的人员(例如,可以是配偶或室友)。因此,解析规则从至少2个搜索属性匹配开始(这就是通用值成对的原因),直到找到实体(例如,人员)。
[0152]下面示出根据某些实施例的第十七用例:
[0153]?搜索属性:姓名、地址、DOB
[0154]?返回的通用值:姓名
[0155]?运行的搜索:针对姓名+DOB运行解析搜索120、查询搜索130
[0156]?理由:解析搜索120返回多数结果,并且查询搜索130匹配解析规则姓名+D0B。
[0157]下面示出根据某些实施例的第十八用例:
[0158]?搜索属性:姓名、 地址、DOB
[0159]?返回的通用值:地址
[0160]?运行的搜索:针对地址+DOB运行解析搜索120、查询搜索130
[0161]?理由:解析搜索120返回多数结果,并且查询搜索130匹配高质量两部分匹配。
[0162]下面示出根据某些实施例的第十九用例:
[0163]?搜索属性:姓名、地址、DOB
[0164]?返回的通用值:姓名、地址
[0165]?运行的搜索:针对姓名+DOB运行解析搜索120、查询搜索130,针对姓名+地址运行查询搜索130,针对地址+DOB运行查询搜索130
[0166]?理由:解析搜索120不返回任何结果,并且查询搜索130返回任何两个项目匹配。
[0167]下面示出根据某些实施例的第二十用例:
[0168]?搜索属性:姓名、电话、DOB[0169]?返回的通用值:姓名
[0170]?运行的搜索:针对姓名+DOB运行解析搜索120、查询搜索130
[0171]?理由:解析搜索120返回多数结果,并且查询搜索130匹配解析规则姓名+D0B。
[0172]下面示出根据某些实施例的第二十一用例:
[0173]?搜索属性:姓名、电话、DOB
[0174]?返回的通用值:电话
[0175]?运行的搜索:针对电话+DOB运行解析搜索120、查询搜索130
[0176]?理由:解析搜索120返回多数结果,并且查询搜索130匹配高质量两部分匹配。
[0177]下面示出根据某些实施例的第二十二用例:
[0178]?搜索属性:姓名、电话、DOB
[0179]?返回的通用值:姓名、电话
[0180]?运行的搜索:针对姓名+DOB运行解析搜索120、查询搜索130,针对姓名+电话运行查询搜索130,针对电话+DOB运行查询搜索130
[0181]?理由:解析搜索120不返回任何结果,并且查询搜索130返回任何两个项目匹配。
[0182]下面示出根据某些实施例的第二十三用例:
[0183]?搜索属性:姓名、地址、电话、DOB
[0184]?返回的通用值:姓名
[0185]?运行的搜索:针对姓名+DOB运行解析搜索120、查询搜索130
[0186]?理由:解析搜索120返回多数结果,并且查询搜索130返回两个元素匹配。
[0187]下面示出根据某些实施例的第二十四用例:
[0188]?搜索属性:姓名、地址、电话、DOB
[0189]?返回的通用值:电话
[0190]?运行的搜索:针对电话+DOB运行解析搜索120、查询搜索130
[0191]?理由:解析搜索120返回多数结果,并且查询搜索130返回两个元素匹配。
[0192]下面示出根据某些实施例的第二十五用例:
[0193]?搜索属性:姓名、地址、电话、DOB
[0194]?返回的通用值:姓名、地址
[0195]?运行的搜索:针对姓名+DOB运行解析搜索120、查询搜索130,针对地址+DOB运行查询搜索130,针对姓名+地址运行查询搜索130
[0196]?理由:解析搜索120返回多数结果,并且查询搜索130返回所有两部分匹配。
[0197]下面示出根据某些实施例的第二十六用例:
[0198]?搜索属性:姓名、地址、电话、DOB
[0199]?返回的通用值:姓名、电话
[0200]?运行的搜索:针对姓名+DOB运行解析搜索120、查询搜索130,针对电话+DOB运行查询搜索130,针对姓名+电话运行查询搜索130
[0201]?理由:解析搜索120返回多数结果,并且查询搜索130返回所有两部分匹配。
[0202]下面示出根据某些实施例的第二十七用例:
[0203]?搜索属性:姓名、地址、电话、DOB[0204]?返回的通用值:电话、地址
[0205]?运行的搜索:针对电话+DOB运行解析搜索120、查询搜索130,针对地址+DOB运行查询搜索130,针对电话+地址运行查询搜索130
[0206]?理由:解析搜索120返回多数结果,并且查询搜索130返回所有两部分匹配。
[0207]下面示出根据某些实施例的第二十八用例:
[0208]?搜索属性:姓名、地址、电话、DOB
[0209]?返回的通用值:姓名、电话、地址
[0210]?运行的搜索:针对姓名+DOB运行解析搜索120、查询搜索130,针对姓名+电话运行查询搜索130,针对姓名+地址运行查询搜索130,针对电话+地址运行查询搜索130,针对电话+DOB运行查询搜索130,针对地址+DOB运行查询搜索130
[0211]?理由:解析搜索120返回多数结果,并且查询搜索130返回所有两部分匹配。
[0212]下面示出根据某些实施例的第二十九用例:
[0213]?搜索属性:姓名、电话(全部2个)、DOB
[0214]?返回的通用值:姓名、电话(2个中的第I个)
[0215]?运行的搜索:针对姓名+DOB运行解析搜索120、查询搜索130,针对姓名+电话
`(I)运行查询搜索130,针对电话(I) +DOB运行查询搜索130
[0216]?理由:解析搜索120返回多数结果,并且查询搜索130返回所有两部分匹配,其中仅一个电话号码需要匹配。
[0217]下面示出根据某些实施例的第三十用例:
[0218]?搜索属性:姓名、电话(全部2个)、DOB
[0219]籲返回的通用值:姓名、电话(2个中的第2个)
[0220]?运行的搜索:针对姓名+DOB运行解析搜索120、查询搜索130,针对姓名+电话+电话运行查询搜索130,针对电话+电话+DOB运行查询搜索130
[0221]?理由:解析搜索120返回多数结果,并且查询搜索130返回(电话I或电话2) +其它匹配部分。
[0222]因此,组合式搜索系统110针对搜索输入返回正确并且有限的搜索结果,即使存在通用属性值(在实体解析系统中经常发生这种情况)也是如此。即,组合式搜索系统110能够处理过于频繁的搜索输入术语。
[0223]其它实施例详细信息
[0224]所属【技术领域】的技术人员知道,本发明的各个方面可以实现为系统、方法或计算机程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、驻留软件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。此外,本发明的各个方面还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
[0225]可以采用一个或多个计算机可读介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是一但不限于一电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、固态存储器、磁带或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0226]计算机可读的信号介质可以包括例如在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括一但不限于一电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
[0227]计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括一但不限于一无线、有线、光缆、RF等等,或者上述的任意合适的组合。
[0228]可以以一种或多种程序设计语言的任意组合来编写用于执行本发明的各个方面的操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言一诸如Java、Smalltalk、C++等,还包括常规的过程式程序设计语言一诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络一包括局域网(LAN)或广域网(WAN) —连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
[0229]下面将参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。
[0230]也可以把这些计算机程序指令存储在计算机可读介质中,这些指令使得计算机、其它可编程数据处理装置、或其它设备以特定方式工作,从而,存储在计算机可读介质中的指令就产生出包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的指令的制造品(article of manufacture)0
[0231]也可以把计算机程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程装置或其它设备上执行一系列操作处理(例如,操作或步骤),以产生计算机实现的过程,从而使得在计算机或其它可编程装置上执行的指令提供实现流程图和/或框图中的一个或多个方框中规定的功能/动作的过程。
[0232]实现所述操作的代码可以进一步以硬件逻辑或电路(例如,集成电路芯片、可编程门阵列(PGA)、专用集成电路(ASIC)等)实现。硬件逻辑可以耦合到处理器以便执行操作。
[0233]图10示出根据某些实施例的可以使用的计算机体系架构1000。计算设备100可以实现计算机体系架构1000。计算机体系架构1000适合于存储和/或执行程序代码,并且包括至少一个通过系统总线1020直接或间接连接到存储元件1004的处理器1002。存储元件1004可以包括在程序代码的实际执行期间采用的本地存储器、大容量存储装置以及提供至少某些程序代码的临时存储以减少必须在执行期间从大容量存储装置检索代码的次数的高速缓存存储器。存储元件1004包括操作系统1005和一个或多个计算机程序1006。
[0234]输入/输出(I/O)设备1012、1014 (包括但不限于键盘、显示器、指点设备等)可以直接或通过中间I/o控制器1010与系统相连。
[0235]网络适配器1008也可以被连接到系统以使数据处理系统能够通过中间专用或公共网络变得与其它数据处理系统或远程打印机或存储设备相连。调制解调器、电缆调制解调器和以太网卡只是当前可用类型的网络适配器1008中的少数几种。
[0236]计算机体系架构1000可以连接到存储装置1016 (例如,非易失性存储区域,例如磁盘驱动器、光盘驱动器、磁带驱动器等)。存储装置1016可以包括内部存储设备或附加的或网络可访问存储装置。存储装置1016中的计算机程序1006可以加载到存储元件1004,并且由处理器1002以所属【技术领域】已知的方式执行。
[0237]计算机体系架构1000可以包括少于所示的组件、未在此示出的其它组件,或者所示组件和其它组件的某种组合。计算机体系架构1000可以包括所属【技术领域】已知的任何计算设备,例如大型机、服务器、个人计算机、工作站、膝上型计算机、手持式计算机、电话设备、网络设备、虚拟化设备、存储控制器等。
[0238]附图中的流程图和框图显示了根据本发明的不同实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0239]在此使用的术语只是为了描述特定的实施例并且并非旨在作为本发明的限制。如在此使用的,单数形式“一”、“一个”和“该”旨在同样包括复数形式,除非上下文明确地另有所指。还将理解,当在此说明书中使用时,术语“包括”和/或“包含”指定了声明的特性、整数、步骤、操作、元素和/或组件的存在,但是并不排除一个或多个其它特性、整数、步骤、操作、元素、组件和/或其组合的存在或增加。
[0240]下面权利要求中的对应结构、材料、操作以及所有功能性限定的装置或步骤件的等同替换,旨在包括任何用于与在权利要求中具体指出的其它元件相组合地执行该功能的结构、材料或操作。出于示例和说明目的给出了对本发明实施例的描述,但所述描述并非旨在是穷举的或是将本发明限于所公开的形式。在不偏离本发明的范围和精神的情况下,对于所属【技术领域】的普通技术人员来说许多修改和变化都将是显而易见的。实施例的选择和描述是为了最佳地解释本发明的原理和实际应用,并且当适合于所构想的特定使用时,使得所属【技术领域】的其它普通技术人员能够理解本发明的具有各种修改的各种实施例。
[0241]出于示例和说明目的给出了本发明实施例的上述描述。其并非旨在是穷举的或将实施例限于所公开的精确形式。根据上述教导,许多修改和变化都是可能的。其旨在实施例的范围并非由此详细描述来限制,而是由此后所附的权利要求来限制。以上说明书、实例和数据提供了对实施例的组成部分的制造和使用的完整描述。由于可以在不偏离本发明的精神和范围的情况下做出许多实施例,所以实施例存在于此后所附的权利要求或后续提交的任何权利要求或其等效物之内。
【权利要求】
1.一种在实体解析系统中搜索实体的方法,包括: 使用计算机的处理器接收包括一个或多个属性类型的一个或多个属性值的搜索输A ; 执行解析搜索以生成搜索结果集,所述搜索结果集包括一个或多个实体以及用于生成附加实体的零个或更多通用属性值; 判定所述解析搜索是否生成一个或多个通用属性值; 响应于判定所述解析搜索生成零个通用属性值,返回所述搜索结果集;以及 响应于判定所述解析搜索生成至少两个通用属性值, 按照通用属性类型针对唯一通用组执行一个或多个查询搜索以便标识所述附加实体,其中所述唯一通用组包括所述搜索输入的子集并包括至少两个通用属性类型; 将所标识的附加实体与所述搜索结果集中的所述实体相组合;以及 返回所述搜索结果集。
2.根据权利要求1的方法,还包括: 响应于判定所述解析搜索生成一个通用属性值,返回所述搜索结果集。
3.根据权利要求1或权利要求2的方法,还包括: 响应于接收所述搜索输入, 基于所述搜索输入判定是`否执行查询搜索; 响应于判定要执行所述查询搜索,执行所述查询搜索;以及 从所述查询搜索返回搜索结果集。
4.根据权利要求3的方法,其中当所述搜索输入包括日期范围、通配符以及不完整属性值中的至少一个时,确定执行所述查询搜索。
5.根据权利要求3的方法,其中响应于接收到执行严格搜索的显式指示,确定执行所述查询搜索。
6.根据权利要求3的方法,其中当所述搜索输入包括单个属性值时,确定执行所述查询搜索。
7.根据权利要求1的方法,还包括: 判定是否执行解析搜索; 响应于判定要执行所述解析搜索,执行所述解析搜索;以及 响应于判定不执行所述解析搜索,执行查询搜索。
8.根据权利要求1的方法,其中所述解析搜索进一步包括: 针对非通用候选关键字,检索一个或多个候选实体; 针对所述搜索输入执行所述候选实体的相似度评分,以便确定每个所述候选实体的相似度得分;以及 针对每个所述候选实体,响应于该候选实体的相似度得分超过阈值,将该候选实体包括在所述搜索结果集中。
9.根据权利要求1的方法,还包括: 对所述搜索结果集进行去重;以及 对所述搜索结果集中的搜索结果进行排序。
10.一种用于在实体解析系统中搜索实体的计算机系统,包括:处理器;以及 连接到所述处理器的存储设备, 其中所述存储设备具有在其上存储的程序,并且 其中所述处理器被配置为执行所述程序的指令以执行操作,其中所述操作包括任一上述权利要求的步骤。
11.一种用于在实体解析系统中搜索实体的计算机程序产品,所述计算机程序产品包括: 具有随其包含的计算机可读程序代码的计算机可读存储介质,所述计算机可读程序代码包括: 计算机可读程序代码,当由计算机的处理器执行时,被配置为执行权利要求1至9中的任一权利要求的步 骤。
【文档编号】G06F17/30GK103688260SQ201280035545
【公开日】2014年3月26日 申请日期:2012年7月4日 优先权日:2011年7月28日
【发明者】T·B·艾伦, D·A·鲍舍, M·H·达米科, B·E·麦西, A·D·柯西奥 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1