用于数据聚类和同义词的发现和修改的方法和系统的制作方法

文档序号:6592578阅读:381来源:国知局
专利名称:用于数据聚类和同义词的发现和修改的方法和系统的制作方法
技术领域
本发明涉及计算机系统中的数据聚类(clustering),更具体而言,涉及诸如同义 词之类的数据聚类的发现和修改。
背景技术
数据挖掘包括从数据(诸如数据库中的数据)中提取潜在有用的信息。数据的聚 类在数据挖掘中经常用到,它是将数据或属性分类到不同的群组,也就是,将数据分组到聚 类,使得每个聚类中的数据共享共同的特性。例如,数据聚类允许更有效地执行搜索,这是 因为可以对聚类进行搜索,而不是对每个个体属性,从而减少搜索操作的数目。在一些计算系统中,特定的数据聚类可被称为“同义词”,其中同义词包括多个不 同的数据项,这些数据项对于搜索目的或类似功能而言被认为是相同的。同义词可具有“根 形式”,这是当找到任何相关联的数据项时假定的同义词的缺省值。同义词在搜索和寻找与 输入词并非精确匹配的数据时非常有用。例如,搜索人的特定名字将会找到与该名字精确 的匹配,该名字的同义词可包括名字的变体,这些变体也可以被检索以找到与同一人相关 的数据。在计算系统中利用同义词的一个标准方式是提供作为查找表的同义词表,该查找 表列出每个根形式词语,上述每个根形式词语被映射到与根相关联的词语或数据属性的聚 类(同义词词语),并被认为都具有相同的意思。典型地,已知的具有相同意思的同义词词 语是预定的或预先计算的,并存储在同义词表中供以后使用。当接收到输入词语时,通过在 同义词表中(其提供了根形式词语或同义词标识符)查找输入词语而寻找匹配的同义词词 语或属性。使用现有同义词的一个缺点是,对于非显然的和/或难以预先计算的数据存在同 义词词语。例如,第一名字Robert (根词语)的同义词词语可以是Bob,Bobbie,Dobb,Rab, Rabbie, Robbie, Robby, Rob, Robard, Raibeart, Lopaka 和 Lopeti,并非所有这些变体者β可 以事先找到或确定。进一步地,同义词或其他类型的数据聚类的形成和更新通常在输入了 所有需要数据之后以离散的时间执行,或在查询时执行,这会在极大减慢在该处理期间做 出的查询,并潜在地使得在进行更新之前同义词数据不正确或不完善(有漂移)。此外,将根映射到同义词词语的查找表需要同义词类型的领域知识,从而可以针 对该类型找到精确且完全的同义词词语列表。例如,必须使用语言学领域知识和技术来 准确地找到名字或词语的同义词词语,同时必须使用其他领域知识来确定其他类型的同义 词,例如数字值。此外,存储根的所有同义词词语可能占据巨大的存储量,因为要存储每个 根的所有已知的同义词词语,而不管那些同义词词语是否曾经被系统使用、存储或搜索。相应地,需要一种用于形成和修改数据聚类(例如同义词)的改进的方法和装置, 其可以例如快速更新同义词,并防止数据准确性的漂移,而仅需要存储系统使用中的同义 词和属性,和/或不需要数据的特定领域知识。本发明可以解决这样的需求。

发明内容
本发明涉及发现并修改诸如同义词之类的数据聚类。在本发明一个方面,一种对 数据进行聚类的方法包括接收关于系统的信息,该信息操纵系统可存取的数据库中存储 的或将要存储的一个或多个数据属性,其中所述信息和操纵并不明确地与数据聚类相关。 基于所接收的信息自动调整数据聚类,所述数据聚类包括多个数据属性并包括通过所接收 的信息操纵的数据属性中的至少一个。所述数据聚类响应于正接收的信息而动态调整。计 算机可读介质和系统包括类似的特征。在本发明的另一方面,一种对数据进行聚类的方法包括接收关于系统的信息,该 信息包括在系统可存取的数据库中的至少一个数据实体中有待存储的多个所接收的数据 属性。基于所接收的信息修改一个或多个数据聚类,所述一个或多个数据聚类中的每一个 包括多个数据属性并包括所接收的数据属性中的至少一个,其中所述修改包括将特定数据 属性从一个或多个数据聚类中移除。在本发明另一方面,用于发现同义词的方法包括接收关于系统的信息,该信息包 括与特定数据实体相关联的多个所接收的数据属性,所述特定数据实体具有存储在数据库 中的数据属性。所接收的数据属性有待存储在数据库中存储的一个或多个数据实体中,其 中所述信息和数据属性并不明确地与同义词相关。基于所接收的数据属性并基于当前存储 的数据,自动形成同义词,所述同义词包括与数据实体相关联的多个所接收的数据属性。所 述形成包括,检查包括所接 收的属性中的至少一个的数据库中的多个候选数据实体,并且 其中所述同义词响应于正接收的信息而动态形成。根据本发明的实施例可提供动态数据聚类和同义词的发现和修改,其允许在接收 非同义词相关输入数据时调整同义词。这允许实时执行快速聚类和更新,而不会在数据中 引入漂移。此外,可以发现同义词而不要求具体的领域知识,并可包括不同种类的数据属 性,由于仅需要将系统输入和使用的那些属性包括在同义词中,因此可减少存储成本。


如以下附图所示,现在将参照本发明的优选实施例仅通过示例的方式描述本发明。图1是适合用于本发明的示例系统的框图;图2A-2D是可以用于本发明的同义词处理中的表的示例的示意性说明;图3是说明本发明的同义词处理方法的实施例的流程图;图4的流程图说明用于执行图3的步骤的方法的实施例,在其中基于入站信息执 行属性的移除;以及图5的流程图说明图3的步骤的实施例,其中发现同义词并将其添加到同义词表 和候选中。
具体实施例方式本发明涉及计算机系统中的数据聚类,更具体而言,涉及发现和修改诸如同义词 之类的数据聚类。以下说明得到阐述以使得本领域技术人员能够进行并使用本发明,并被 提供在专利申请及其要求的背景中。本领域技术人员可以容易地想到对这里描述的优选实施例和上位原则和特征做出各种修改。因此,本发明并不意图局限于示出的实施例,而是对 应于与这里描述的原则和特征相一致的最宽泛的范围。主要依照特定执行方式中提供的特定系统描述本发明。然而,本领域技术人员可 容易地认识到,本方法和系统将有效地操作于其他执行方式。例如,可用于本发明的系统执 行方式可采取多个不同形式。本发明还在具有特定步骤的特定方法的背景下进行描述。然 而,对于具有与本发明不矛盾的不同和/或附加步骤的其他方法,本方法和系统也可有效 操作。本发明的实施例可采取完全硬件实施例,完全软件实施例或包含硬件和软件元素 两者的实施例的形式。软件实施例可包括但不限于,固件、常驻软件、微码等等。此外,本发 明的实施例可采取程序指令或代码的形式,其通过计算机可读介质存储,以供计算机或任 何指令执行系统使用或与其结合使用。上述介质可以是电子的、磁的、光学的、电磁的、红外 的或半导体系统(或装置或设备)或传播介质。计算机可读介质的例子包括,半导体或固 态存储器,磁带,可移除计算机盘,随机存取存储器(RAM),只读存储器(ROM),硬磁盘和光 盘(例如,CD-ROM,DVD等等)。为了更具体地描述本发明的特征,请参照图1-5并结合以下的讨论。根据本发明的方法和系统着重于调整数据集的数据聚类,包括形成新的数据聚类 和修改已有的数据聚类。数据聚类在这里被称为“同义词”。术语“同义词”在这里是指两 个或更多属性的聚类、群组或联合,其中这些属性基于在系统10所存储的数据记录、集合 或“实体”中的足够的共同发生或一起出现而被一起分组到同义词中。例如,可以有利地使 用同义词取代个体属性来搜索数据候选,从而减少搜索操作的数目。根据本发明的方法和系统在数据摄取时提供一般性的实时数据聚类。根据本发明 的实施例可以以若干方式提供。例如,可以使用提供一般性的实时数据聚类的系统。具有 两阶段搜索的系统也可以符合本发明,其中搜索的一个阶段获得包括假阳性的候选匹配, 搜索的第二阶段对候选进行评分或以其他方式进行分析,以进一步将其缩窄和/或确认想 要的候选。此外,在更具体的应用中,实体识别和分辨系统可以符合本发明,其中寻找多个 实体,并比较不同的实体,以确定哪个实体与输入属性相关联。可以使用候选列表比较候选 实体,并对候选进行评分以确认想要的匹配。以下的实施例结合实体分辨系统进行描述,但 是也可以应用到其他实施例中其他类型的应用。适合用于这样的实体解析系统的系统的一个示例是来自IBM公司的Entity Analytic Solutions (EAS),包括关系分辨(Relationship Resolution)和匿名分辨 (Anonymous Resolution),其识别人或其他实体的身份标识。该系统将不一致的、含糊的身 份标识和属性信息分辨为单个分辨的实体,例如用户或组织;检测个体和/或实体之间的 不明显的关系;并分辨类似模糊的匹配性质,包括识别数据集中的歧义、拼写错误或部分记 录的能力。图1是适合用于本发明的示例系统10的框图。系统10使用一个或多个计算机系 统、电子系统或设备来执行。系统10的示例可以执行在公知的系统硬件上,包括一个或多 个微处理器、存储器(RAM,ROM,闪速存储器等等),以及各种外围设备,包括存储设备(硬 盘、诸如DVD-ROM和CD-ROM的光学存储),输入设备(键盘、指点设备),输出设备(显示器, 打印机)通信设备和网络设备等等。在图1的示例中,数据源系统11可以向应用服务器12提供数据,应用服务器12可与数据库服务器14通信。系统10也可以在其他实施例中使用 其他类型的系统来执行。数据源系统11通过通信链路16向应用服务器提供信息。数据源系统11可以自己 从不同源接收信息,诸如从输入数据的用户,通过网络提供数据的不同系统等等接收信息。 在这里所指的示例中,信息包括与一个或多个“实体”或“数据实体”相关联的数据属性,其 中这样的实体是数据在其中被分组的群组、集合或记录。实体可以表示人、组织、物体、主 题、标题等等。实体具有与其相关联的一个或多个数据属性,其中在一些实施例中,属性可 描述或涉及实体。实体及其属性存储在系统10中并由其处理。实体还可具有一个或多个 不同的“帐户”,这些帐户是与实体相关联的数据的不同集合。例如,诸如银行之类的组织可以将一些种类的实体指定为不同人或顾客,其中每 个顾客可拥有不同的帐户,诸如储蓄的帐户,或指定货币状态的帐户(支票帐户、贷款帐 户,等等)。与顾客实体相关联的属性可以是实体的描述信息,例如名字、地址、雇主、电话号 码等等。应用服务器12从数据源系统11接收入站(inbound)信息,并可以向请求客户或 其他请求者提供应用程序服务和用于信息的接口。应用服务器可以允许服务器上的应用与 其他从属应用(诸如其他服务器,数据库管理系统等等)通信。对于本发明的描述的实施 例,应用服务器12提供根据本发明的一个或多个同义词处理应用20。例如,同义词应用20 可以运行用于连接到该应用服务器的请求客户。多个同义词应用20可以并行运行,以提供 更有效的数据处理。在其他实施例中,同义词应用20可以运行在客户或数据库服务器上。同义词应用20可以执行本发明的同义词发现和其他处理。该处理可包括,确定新 的同义词是否包含在接收到的入站信息中,向已有同义词添加属性并从其中删除属性,以 及删除同义词。处理还可以包括候选处理,用于寻找和处理具有同义词和/或类似属性的 其他候选实体。下面参照图3更详细地描述这些功能。在其他实施例中,同义词应用的功 能可以并入到系统上的一个或多个不同应用。数据库服务器14可以提供对本发明中使用的信息的存储,并可以使用任何各种 可用的不同存储设备来执行,例如硬盘、磁带或其他磁性存储,CD, DVD,或光学存储,等等。 对于描述的图1的实施例,数据库服务器14提供对数据库24的存取,数据库24存储同义 词表30,一个或多个属性表32,实体同义词表34,以及实体帐户表36。同义词表30存储多 个同义词,其中每个同义词用同义词标识符标注。同义词表30存储同义词标识符到与该同 义词相关联的属性的映射。属性表(多个)32存储系统10中实体的所有数据属性,还可以 包括属性种类和相关联的帐户的信息。实体同义词表34存储同义词与该同义词所关联到 的实体之间的映射。在使用帐户的实施例中,实体帐户表36存储帐户与其关联到的实体之 间的映射。参照图2A到2D更详细地描述这些表的示例。在本发明的替代实施例中,存储在数据库24中的一些或全部表可以在其他存储 位置存储并接受存取,例如在同义词处理应用20本地存储。在一些替代实施例中,同义词 应用20可以运行在数据库服务器上,或者同义词所应用到的数据组可以存储在同义词应 用本地的存储中。图2A到2D是可以存储在数据库服务器中(或其他系统存储或存储器中)并可用 在本发明的同义词处理中的表的示例的示意性视图。图2A示出实体同义词表34的示例。在一个列中,存储同义词标识符以标识不同的同义词。在其他列中,存储实体标识符,其标 识不同的实体,其中标识的实体包括在表的同一行中列出的同义词。该表允许追踪同义词 和实体,并允许在更新各种同义词时更新实体。图2B示出帐户同义词表36的示例。在一个列中,存储帐户标识符以标识系统上 提供的不同帐户。在另一列中,存储实体标识符以标识与表的同一列中的帐户相关联的特 定实体。在每个实体允许多个帐户的实施例中,可使用表36来将帐户与适当实体相关联。图2C示出用于存储本发明发现的同义词的同义词表30的示例。在表30中,表的 每个数据属性与特定同义词相关联。表30包括用于标识特定同义词的同义词标识符列40。 属性值列42存储属性的属性值,所述属性与表的同一行中列出的同义词相关联。在一些实 施例中可以包含属性类型列44,其允许为分类属性分配属性种类。属性种类可以是对系统 有用的任何指定种类,并在属性表32 (以下描述)中指明。在一些情况下,属性种类在搜索 候选时所进行的同义词处理中有用,如参照图3更详细的描述。表30中提供的每个同义词 (通过同义词ID标识)具有与其相关联的两个或更多个属性(属性值),并因此在示例表 30中需要至少两行的存储。在其他实施例中可以提供其他表组织。图2D示出用于存储与系统30中的实体相关联的数据属性的属性表32的示例。在 一个列46中,属性标识符标识出每个个体属性。种类列48指示出属性的种类,如果在特定 实施例中提供了属性种类的话。例如,表32示出四种不同的属性种类名字,地址,电话号 码和雇主。可以指定任何属性种类,其可以有助于对不同属性进行分类或限制搜索参数用 于附加的效率。在一些实施例中,一个属性也可以是截然不同的属性的子部分。例如,邮政 区号可以是其自身的属性,也可以是独立的地址属性的一部分。值列50指示出属性的值。术语“值”或“属性”这里用于指代各种不同类型的数 据。例如,值可以是数字值(整数,实数,等等)或者包含一个或多个字母数字或特殊字符 的文本串。帐户列52指示出针对存储属性的帐户的相关联帐户标识符,如果在使用的特定 实施例中使用帐户的话。在不使用帐户的其他实施例中,帐户表32可在列52中包含实体 标识符取代帐户标识符,实体标识符可用于直接找到具有特定属性的实体。在其他实施例中,属性表32可以执行为两个或更多个独立的表。例如,每个表可 以包含仅一个种类的属性,使得存在用于名字属性的表,用于街道地址属性的不同的表,用 于电子邮件地址属性的不同的表,等等。图3的流程图说明了用于本发明的同义词处理的方法100的实施例。这里描述的 方法可以在硬件、软件或硬件与软件两者的组合中执行。方法100可以使用在计算机可读 介质上提供的程序指令来执行,这样的介质例如是存储器,磁带,磁盘,光盘等等。应该注 意,这里描述的方法的过程步骤仅仅是一个实施例,在其他实施例中,这些步骤可以以不同 次序或并行(在适当的时候)或以其他方式组合地执行。方法开始于102,在步骤104中,接收入站信息(这里称为“入站”)。入站信息操 纵系统的一个或更多数据属性。该操纵可采取任何各种不同形式。例如,入站可以将数据插 入到数据库服务器14所连接的数据库中,或插入到不同数据集或其他存储设备中(这里, 所有这些都称为“数据库”)。这样的插入的数据可以是数据属性,如这里所述,其包含在入 站中。在执行实体分辨或识别的一些实施例中,入站信息可以是记录,该记录是输入到系统 中并与系统10所识别的一个或多个数据实体相关联的数据属性的集合。在一个具体示例应用中,入站可以是这样的记录,该记录包括在银行的信贷部门有待输入到顾客(实体)的 新帐户中的数据属性,其中该记录与顾客在银行提交的信贷申请相关联,并且其中,数据属 性包括名字、地址、雇主电话号码、顾客的雇主。该入站还可以操纵系统的已有数据属性。例如,一些实施例可以允许入站附加或 替代地(通过入站信息中的命令或指令)指示删除数据库或系统中存储的特定数据属性。 在一些实施例中,入站可以用于使用查询寻找已有的数据属性或实体。入站可以是任何适 当的格式,例如,在一种执行方式中,入站是XML格式。在任何情况下,入站通常是有意的,并且明确地用于操纵数据库中的数据(数据 插入,删除,比较等等),例如用于数据实体或记录,并且操纵和数据不需要具体地或明确地 涉及同义词或数据聚类。例如,入站信息甚至不需要知道系统上同义词或数据聚类的存在。 因此,根据本发明的实施例可以自动地且动态地执行同义词/数据聚类处理和调整,而不 需要有意用于或明确用于这样的同义词调整的具体输入。在步骤106,从入站中提取数据属性。在一些实施例中,这些属性描述或涉及与关 联的入站相关联的一个实体(或者在替代实施例中,为一个或多个这样的实体)。例如,插 入与上述信贷顾客相关的数据的入站记录可以具有独立的属性,用于名字、完整地址、电话 号码和顾客的雇主。完整地址可以作为属性,以及/或者在一些实施例中,属性也可以从工 作地址的一部分中提供,例如地址的州和邮政编码。一旦提取出来,可以将属性加载到系统 10的存储器中。在步骤108,对于提取的属性寻找同义词,其中从同义词表30选择同义词。查询同 义词表,以确定任何提取的属性是否与表中的任何属性值相匹配,如果找到匹配,选择包括 那些属性的对应同义词。表30中的每个同义词具有至少两个属性。在将属性划分为种类的 实施例中,入站可包含与每个提取的属性相关联的种类,并且可以将该种类与同义词表30 中的属性种类进行比较,以减小搜索的量。同义词表30中的每个同义词可以包含任何数目 不同种类的属性。例如,可以将提取属性的种类与图2C的同义词表的列44中列出的属性 种类相比较,从而仅仅将与提取属性具有相同种类的列42中的对应属性值和提取属性进 行比较。对于入站的每个提取属性重复同义词的选择。在不具有种类的不同实施例中,可 以将提取属性与同义词表30中的每个属性进行比较。其他实施例可以使用其他方法来选 择与提取属性的一个或多个相匹配的同义词。在步骤110,使用从同义词表30中选择的同义词和提取的属性的组来寻找和选择 候选群组或实体。这些候选实体在这里被称为“候选”,它们潜在地与“入站实体”,也就是, 与入站相关联的实体匹配(最初可能并不知道是要将入站的信息添加到已有实体,还是添 加到由入站创建的新创建实体;在每种情况下,这都称为入站实体)。使用选择的同义词如 下地寻找候选。对于步骤110中选择的每个同义词,选择共享该所选同义词的所有候选。在 描述的实施例中,这可以通过如下操作来执行核查实体同义词表34来寻找与所选同义词 的标识符相匹配的同义词标识符,并选择具有匹配的同义词的相关联的一个或多个实体。 这对于每个所选同义词进行重复。这种种类的搜索例如允许使用每个同义词使得查询能够 找到候选匹配,而不必使用每个同义词或入站之中的每个属性执行查询。在步骤110中还使用提取的属性的集来寻找候选。可能从不是同义词表30中任 何同义词的一部分的入站中提取出属性,并且使用这些非同义词属性来寻找和选择附加的候选。例如,在描述的实施例中,将每个非同义词属性值与表32中的属性值进行比较,利用 图2B的帐户实体表36 (或其他合适的表),使用列52中用来匹配属性值的帐户标识符来寻 找具有那些匹配属性的候选。在不使用帐户的其他实施例中,可以使用列52中的实体标识 符来直接寻找具有匹配属性的候选实体。在一些实施例中,可以将一些预定种类的属性从 搜索候选中排除。—些实施例可执行步骤112,在其中,使用所有提取的属性(包括同义词中的属 性)将入站相对于步骤110中找到的所有候选进行评分。属性评分的方法可根据需要随属 性种类而改变。可以使用任何公知的评分方法来基于候选中的属性和同义词对候选进行评 分。例如,公知的相似性评分技术可以适合地用于不同值种类(例如名字,地址,电话号码 等等),例如,数字相似性可以考虑到数字移位或其他常见的用户输入错误。一些实施例可 以对不共享同义词的候选的分数给出惩罚。在完成评分之后,就可以知道已评分的属性与 入站的属性的匹配接近程度,并可以使用评分分数来提供更精确的候选,例如,可以将候选 列表缩窄到想要的更小的列表或将其确认为匹配。分数可以用于系统10的其他功能,例如 提供想要的阈值匹配或候选,合并候选(例如,分数决定了一个入站实体是否应该与候选 合并),拆分实体(例如,入站揭示出入站实体应该拆分为一个或多个实体,因为构成实体 的帐户不再被认为是可合并的匹配),为候选创建关系,等等。在一些实施例中,实体的真实 合并和拆分可即刻发生,因为它可以影响同义词的添加和移除,如下所述。在步骤114,该过程基于入站信息和候选信息确定并执行从同义词中移除属性。在 描述的实施例中,移除包括基于变得通用的属性进行移除,从数据中删除,和/或基于落入 同义词形成阈值之下的候选/属性。通用属性检测包括,确定从入站中提取的任何属性现 在是否出现在如此多的不同候选中,使得属性已变得通用,因此不应被用来寻找候选,不应 作为同义词的一部分。将属性从一个或多个候选或实体中删除可以例如基于来自入站或其 他源的直接指令而发生,该指令用以将一个或多个属性从系统10中的一个或多个特定候 选或实体中删除。当入站的属性减小具有同义词属性的候选的百分数时,可能出现落入同 义词形成阈值之下的属性,使得必须从已有同义词中移除一个或多个属性。下面参照图4 更详细地描述从同义词移除属性。在步骤116中,发现新的同义词(如果有的话),并将其添加到系统10。这包括, 核查属性是否合格来形成同义词,将新的同义词添加到候选,和/或将属性添加到已有同 义词,这在以下参照图5更详细进行描述。在步骤118,过程对之前的步骤114和/或116中添加和/或移除了至少一个同义 词的候选进行重新评价和调整。包含有添加的或移除的同义词的所有候选都应该进行重新 评价,以保持序列中性,也就是,这些候选可以尽可能快地得到更新,以适合于涉及这些候 选的下一操作。在描述的实施例中,重新评价涉及将候选运行通过分辨循环,在该循环中针 对每个这样的候选执行步骤106到步骤116。这允许每个候选包含最近更新的同义词和与 该同义词相关联的属性。然后,该过程在120完成。在描述的实施例中,如上所述,响应于同义词处理应用正接收的入站信息,实时动 态地处理同义词。这允许同义词和候选在数据摄取或接收时就得到更新,这可以极大地加 速基于同义词和候选的后续查询,因为不需要执行后续的数据聚类。图4是说明了执行图3的步骤114的方法的实施例的流程图,其中基于入站信息执行将属性从同义词的移除。将属性从同义词移除可以基于如上所述由入站引起的任何多 个不同结果,包括属性变得通用,属性从候选或实体删除,以及属性在一个或多个同义词中 的频率降低。在属性从候选或实体删除的情况下,可以在针对本发明描述的过程之前、期间 或之后执行属性从数据组的实际删除,这里不对其进行描述。过程开始于152,在步骤154中,选择入站中的一个属性,或者已经被删除或将被 删除(如果适用)的一个属性。所选属性包含在至少一个已有同义词中。包含该所选属性 的所有同义词和包含该所选属性的所有候选可从之前的步骤获知。在步骤158,该过程核查属性是否已变得通用。通用属性检测包括,确定所选属性 现在是否出现在如此多的不同候选中,使得它已变得通用,因此不应被用来寻找候选,不应 作为同义词的一部分。在描述的实施例中,通用处理可包括,核查包含属性的候选(在图3 的步骤110中找到的候选的集)的数目是否超过预定的通用阈值。如果候选的该数目超过 通用阈值,那么所选属性被认为是通用的。还可附加地或替代地执行其他处理,以确定通用 属性。如果发现属性是通用的,那么该过程继续进行到步骤162,以将属性从同义词中移除, 如下所述。如果属性被确定为不是通用的,那么该过程进行到步骤160。在步骤160,对于包 含所选属性的每个同义词,该过程核查具有该同义词的候选的数目现在是否小于具有所选 属性的所有候选(其中入站实体作为候选被包含在内)的同义词形成阈值百分比。阈值百 分比在之前的一些点使用,以形成同义词,例如,在图5的步骤204或208,如以下更详细的 描述。在一个例子中,如果入站中所选属性是已有同义词的一部分,但在入站并没有附有 同义词的所有属性,那么候选中具有同义词的全属性集的百分比已经减小,使得全属性集 不再合格作为同义词。例如,如果入站仅包含同义词中包含的三个属性中的前两个,那么现 在包含具有所有三个属性的同义词的候选的百分比更小了。在另一例子中,如果所选属性 选自候选之一(或更多),这可能减小了构成同义词的属性集的候选数目(进而,出现的数 目),使得阈值不再得到满足。(在由入站中的指令引起的这种属性删除的情况下,从中删 除属性的实体可被认为是入站实体)。如果仍然超过了同义词阈值,那么该过程进行到步骤168,如下所述。如果没有超 过发现阈值,或者如果在步骤158中发现属性已变得通用,那么该过程进行到步骤162。在 步骤162,将所选属性从相关联的同义词中移除。这例如通过将所选属性的条目和种类从同 义词表30中的相关联同义词标识符中移除而执行。替代地,在不同时间从同义词中将属性 标记/指定为移除。在接下来的步骤164中,该过程核查在步骤162中移除任何属性的每个同义词在 移除之后是否仅包含一个属性。如果不是,该过程进行到步骤168,在以下进行描述。如果 在同义词中仅留下一个属性,那么在步骤166中,将该同义词整个移除,例如,这是通过从 同义词表30中移除同义词条目及其属性。由于仅具有单个属性的同义词相比于使用属性 进行搜索并不能减少搜索量,因此并不需要这样的同义词而将其移除。在步骤168,该过程核查在上述步骤中是否还有没检查的附加的合格属性。如果是 这样,过程返回到步骤154,以选择另一属性。如果所有这样的属性已得到处理,那么过程在 170完成。图5是说明了图3的执行步骤116的实施例方法的流程图,其中发现同义词并被添加到同义词表和候选中。该过程开始于200,在步骤202中,该过程核查入站是否已经包 含图3的步骤108中确定的一个或多个同义词。如果数据中不包含同义词,那么该过程进 行到步骤204,其中,该过程确定是否在超出包含被考虑的两个或更多个属性中任何属性的 所有候选的预定同义词形成阈值百分比的一些候选中,入站有那两个或更多属性与那些相 同属性相匹配。比较中所使用的候选包括入站实体作为候选。在描述的实施例中,该过程 寻找属性之间的精确匹配。这个步骤因而核查相同属性的群组或集在有待考虑作为同义词 的不同实体中是否足够经常地一起出现,也就是,这些属性具有共享的关联,因为它们在多 个实体中一起出现。可以由用户或系统管理员将同义词阈值百分比设定到优选的等级,其 允许根据需要发现更少或更多的同义词。例如,同义词阈值是70%,在图3的步骤110中找到多于15个候选,10个候选具 有被考虑的两个特定属性中的一个或多个。如果发现两个属性出现在这10个候选中的至 少8个(这些候选包括入站),那么已经超出了同义词阈值,并且当两个属性表现为合格作 为新的同义词时,将这两个属性考虑为足够共同地分组在一起。在一些实施例中,可以针对新同义词测试属性的不同组合的每一个。例如,如果入 站具有三个属性,可以确定所有三个属性是否出现在超过阈值百分比的一些候选中,还可 以确定三个属性中两个的每种组合是否出现在超过阈值百分比的一些候选中。因此可以从 入站中的属性组中发现多个同义词,这些同义词可以在其一些属性上重叠。如果在步骤204中没有超过同义词阈值,那么过程在216完成。如果入站没有两 个或更多属性出现在超过同义词阈值的一些候选中,那么在步骤206,创建由这些属性群组 构成的一个或多个新的同义词。在描述的实施例中,添加新的同义词包括,针对新同义词中 的每个属性,向同义词表30中的条目添加新的、未使用的同义词标识符,并将相关联的属 性分配给条目。如果属性种类正被使用,那么还将同义词中每个属性的种类添加到同义词 表30。此外,在步骤206,新的同义词被添加到所有适当的候选,适当的候选是具有的属 性集已经被创建作为新的同义词的候选。这可以包括,将同义词添加到通过入站创建或添 加的入站实体。在描述的实施例中,通过将同义词标识符和相关联的候选实体标识符添加 到实体同义词表34中,而将同义词添加到候选。如果不同的属性群组满足阈值条件,则可 以添加多个新的同义词。过程于是在216完成。在一些情况下,来自一个同义词的属性的子集可以形成一个或多个附加同义词。 例如,如果入站中的四个属性导致超过了同义词阈值,那么,那四个属性被包含在第一同义 词中,第一同义词被添加到适当候选。还可能的是,不同候选仅具有那四个属性中的两个属 性,其中那些不同候选的数目足够大,以允许从那仅两个属性中形成第二同义词,并且其中 第二同义词被添加到那些不同候选以及添加到包括第一同义词的候选。在一个实例中,四个候选具有特定的名字或地址属性中的一个或两者,候选1-3 都具有这些名字和地址属性两者,并且创建同义词的阈值百分比是76%。因此,这些属性没 有被形成为同义词,因为它们存在的群组占所有候选的75%,没有超过阈值。然后,接收到 入站信息,该信息将这些相同属性插入到新的实体。这使得具有这些匹配属性的候选的数 目变为5个总候选(其中包括入站实体)中有4个,这就是80%,超过了阈值,因此发现具 有两个属性的新同义词,并将其添加到表30。此外,候选1-3的每一个和通过入站创建的入站实体通过将其实体标识符和同义词标识符添加到实体同义词表34而添加新的同义词。回到步骤202,如果入站已经包括一个或多个已有同义词,过程进行到步骤208, 其中确定是否可将非同义词属性添加到已有同义词以创建扩展的同义词。确定入站中是否 有不是已有同义词的一部分的任何属性,并确定这些非同义词属性是否与在超出候选(具 有被考虑为扩展的同义词的一个或多个属性,也就是,具有在已有同义词中的任何属性或 具有非同义词属性)的预定同义词阈值百分比的一些同义词候选中出现的非同义词属性 相匹配。这里,“同义词候选”是这样的候选,其已经具有在入站中存在的相同的同义词,因 此,该方法将具有原始同义词加上非同义词属性的候选数目与阈值百分比进行比较。如上 所述,候选的数目包括作为候选的入站实体。发现阈值百分比可以与步骤204中所使用的 相同。在描述的实施例中,过程寻找属性之间的精确匹配。因此,该过程核查入站对一个或多个新的非同义词属性的插入是否导致针对非同 义词属性的匹配候选的数目超过阈值。与步骤204类似,在一些实施例中,可以对非同义词 属性与已有同义词的不同组合就是否超过阈值就行测试,多个组合可能满足阈值条件。如果阈值没有得到满足,那么该过程进行到步骤204,如下所述。如果入站中有两 个或更多个非同义词属性出现在超过发现阈值的一些同义词候选中,那么在步骤210,将 非同义词属性添加到适当的已有同义词(也就是,入站中也存在于匹配候选中的特定同义 词),以创建新的扩展的同义词,其包括已有同义词加上添加的属性。在描述的实施例中,这 通过将新的属性添加到同义词表30中的已有同义词标识符而执行。如果属性种类正被使 用,那么还可以将同义词中每个属性的种类添加到同义词表。在步骤212,将新的同义词添加到具有添加的属性(以及已有同义词)的任何候 选。在描述的实施例中,通过将同义词标识符和入站候选实体标识符添加到实体同义词表 34而将新的同义词添加到入站实体(入站候选)(在适当的情况下)。在描述的使用类似于 图2A-2D所示的表的实施例中,系统中已经存储的其他匹配候选通常已经与表34中的(现 在扩展的)同义词相关联。对于属性可添加到的入站中的每个已有同义词,重复上述步骤。在步骤214,该过程核查在入站中是否存在任何附加的非同义词属性,例如,其不 满足步骤208的条件或没有在步骤210中被添加到已有同义词。这样的非同义词属性可能 不满足要被添加到已有同义词的阈值条件,但是可能它们自身满足形成新的同义词的阈值 条件。因此,如果存在这样的附加的非同义词属性,该过程进行到步骤204,其中测试这些非 同义词属性是否可以形成任何新的同义词,如以上针对该步骤所述。过程然后在216完成。应该注意,在其他实施例中,如上所述的方法的步骤可以以不同顺序执行,可以在 适当情况下同时执行,和/或可以以不同方式进行组合。例如,在图3中,步骤114中将属 性从同义词移除可以与用以发现和添加新的同义词的步骤116或者该过程的一部分同时 执行。在图4中,步骤164中核查同义词是否仅包括一个属性可以与步骤162中移除属性 同时执行。此外,在其他实施例中可以使用各种变体,例如不同种类的同义词形成阈值。本发明的实施例可以有利地使用同义词在数据库中搜索匹配或候选数据,而不是 通过用输入数据的每个个体属性进行搜索来执行更大数目的个体搜索,也就是,当搜索任 何属性时,可以取代整个同义词。这里描述的同义词可以用在宽泛的各种应用中,包括解 析、搜索引擎、拼写检查器等等。此外,本发明的实施例可以在数据正被摄取或正被插入到数据库中时并基于正被插入的数据和系统中已经存储的数据,提供实时且在飞速写入中动态调整(包括发现和/ 或修改)的同义词或数据聚类。这允许针对与系统当前数据的相关性对同义词进行经常更 新和重新评价。此外,可以在摄取输入数据时,实时地更新与同义词有关的所有条目,以保 持条目的数据最新,并防止条目漂移。这样的特征维持一个动态的同义词表或字典,并相对 于现有方法节省时间,其中在现有方法中,基于静态的、存储的数据执行数据聚类或同义词 形成。例如,数据挖掘中的数据聚类通常非常缓慢。然而,如果如本发明实施例中可能实现 的,在摄取过程中实时确定聚类,那么随后可以以极大加快的速度执行查询。此外,本发明的实施例可以提供同义词发现,而不需要具体的领域知识。因此,可 以在单个同义词中收集多个种类的属性(任何种类),并确定同义词,而不需要知道特定种 类数据的相似性技术。这里描述的自动同义词发现不仅可用于名字要素,还可用于任何种 类的属性,例如数字、地址要素、颜色、误拼等等。此外,当执行实体分辨时,在使用这里描述 的同义词时可提供给特定数据分析器的得到增加的信息量和信息种类可能非常有用。例 如,系统可以通知用户,已经输入地址的人中有90%还共享特定的电话号码。此外,本发明的实施例可极大地缩减同义词表或字典的存储成本,因为在同义词 中仅仅使用(非同义词相关处理)特定点处系统所使用的数据属性和系统存储的数据属 性。因此,仅需要存储与系统使用和处理的实体和数据相关的同义词,而不是使用过多存储 空间来预先存储大量的同义词属性,而这些大量的同义词属性却从来不需要,因为这样的 属性既没有在入站中找到,又没有通过数据库存储。尽管根据示出的实施例描述了本发明,但是本领域技术人员将容易地认识到,将 存在实施例的变体,并且这些变体会落在本发明的精神和范围之内。因此,本领域技术人员 可以做出许多修改,而不偏离所附权利要求的精神和范围。
权利要求
一种对数据进行聚类的方法,该方法包括接收关于系统的信息,该信息操纵系统可存取的数据库中存储的或将要存储的一个或多个数据属性,其中所述信息和操纵并不明确地与数据聚类相关;以及基于所接收的信息调整数据聚类,所述数据聚类包括多个数据属性并包括通过所接收的信息操纵的数据属性中的至少一个,其中所述数据聚类响应于正接收的信息而调整。
2.根据权利要求1的方法,其中所接收的信息包括有待存储在数据库中的一个或多个 接收的数据属性,存储的数据可由系统存取,其中调整的数据聚类是新的数据聚类,并且所 述调整包括,发现和形成新的数据聚类以包括所接收的数据属性中的至少一个。
3.根据权利要求1的方法,其中所调整的数据聚类是系统可存取的已有存储数据聚 类,所述调整包括,修改已有的数据聚类。
4.根据权利要求3的方法,其中所述修改包括,基于所接收的信息并基于数据库中的 当前数据将至少一个数据属性从已有数据聚类中移除。
5.根据权利要求4的方法,其中所接收的信息包括有待存储在数据库中的一个或多个 接收的数据属性,存储的数据可由系统存取,其中将至少一个数据属性从已有数据聚类中 移除包括,确定所移除的至少一个数据属性已变得通用。
6.根据权利要求1的方法,其中数据聚类基于数据库中被操纵的数据属性中的至少一 个的当前出现数目而调整。
7.根据权利要求1的方法,其中多个存储的已有数据聚类可由系统存取,其中已有数 据聚类仅包括通过系统所接收的过去信息操纵的数据属性,该过去信息并不具体与数据聚 类相关。
8.根据权利要求7的方法,其中所述多个已有数据聚类被存储在表中,并响应于正接 收的信息而被修改。
9.根据权利要求1的方法,其中数据聚类是用于从数据库存储的多个实体中寻找至少 一个候选实体的同义词,每个候选实体具有多个相关联的数据属性。
10.根据权利要求1的方法,其中数据聚类中的多个数据属性是多个不同种类。
11.根据权利要求1的方法,其中所接收的信息包括有待存储在数据库中的一个或多 个接收的数据属性,存储的数据可由系统存取,其中调整数据聚类包括寻找包含所接收的数据属性中的至少一个的多个存储的已有数据聚类;寻找其每一个包括已有数据聚类中的一个或多个的多个候选数据实体,以及其每一个 包括没有包含在已有数据聚类中的多个所接收数据属性中任一个的多个候选数据实体;以 及基于候选数据实体和所接收的信息,确定是否应该从已有数据聚类中移除任一个数据 属性。
12.根据权利要求11的方法,其中调整数据聚类还包括,确定多个所接收的数据属性 形成新的数据聚类,其中新的数据聚类中的所接收的数据属性出现在候选的阈值百分数 中,所述候选包括新的数据聚类中的所接收属性中的至少一个,调整数据聚类还包括,将新 的数据聚类添加到包含新的数据聚类中的数据属性的每个候选数据实体。
13.根据权利要求1的方法,其中调整数据聚类还包括,确定所接收的数据属性中的至 少一个有待被添加到所接收信息中的已有数据聚类中,其中至少一个被添加的数据属性和已有同义词出现在候选数据实体的阈值百分数中,所述候选数据实体包括已有数据聚类中 的所接收数据属性中的至少一个,或包括有待添加的至少一个所接收的数据属性。
14.根据权利要求11的方法,其中确定是否应该从已有数据聚类中移除任一个属性包 括,基于接收的数据属性确定候选数据实体的数目是否落在候选数据实体的阈值百分数之 下。
15.根据权利要求11的方法,还包括,添加新的数据聚类,或从至少一个调整的候选数 据实体中移除已有数据聚类,以及评价至少一个调整的候选数据实体的数据属性,以核查 至少一个调整的数据聚类是否已经更新数据聚类。
16.根据权利要求1的方法,还包括接收关于系统的信息,该信息包括与特定数据实体相关联的多个所接收的数据属性, 所述特定数据实体具有存储在数据库中的数据属性,所接收的数据属性有待存储在数据库 中存储的一个或多个数据实体中,其中所述信息和数据属性并不明确地与同义词相关;以 及基于所接收的数据属性并基于当前存储的数据,形成同义词,所述同义词包括与数据 实体相关联的多个所接收的数据属性,其中所述形成包括,检查包括所接收的属性中的至 少一个的数据库中的多个候选数据实体,并且其中所述同义词响应于正接收的信息而形 成。
17.根据权利要求16的方法,其中所述形成同义词包括确定所接收的数据属性中的一个或多个是否与其他所接收的数据属性足够频繁地出 现在不同的数据实体中,以从出现的数据属性形成同义词。
18.一种计算机程序,包括适于执行权利要求1-17中任一项的所有步骤的程序代码装 置,其中所述程序运行在计算机上。
19.一种用于对数据进行聚类的系统,所述系统包括数据库,用于存储多个数据实体,每个数据实体包括多个存储的数据属性;用于接收关于系统的信息的装置,该信息操纵存储的数据属性中的一个或多个,或所 接收的信息中存储的一个或多个数据属性,其中所述信息和操纵并不明确地与数据聚类相 关;以及用于基于所接收的信息调整数据聚类的装置,所述数据聚类包括多个数据属性并包括 通过所接收的信息操纵的数据属性中的至少一个,其中所述数据聚类响应于正接收的信息 而调整。
20.一种用于对数据进行聚类的装备,所述装备包括用于接收关于系统的信息的装置,该信息操纵系统可存取的数据库中存储的或将要存 储的一个或多个数据属性,其中所述信息和操纵并不明确地与数据聚类相关;以及用于基于所接收的信息调整数据聚类的装置,所述数据聚类包括多个数据属性并包括 通过所接收的信息操纵的数据属性中的至少一个,其中所述数据聚类响应于正接收的信息 而可操作地被调整。全文摘要
发现和修改诸如同义词的数据聚类。在一个方面,用于对数据进行聚类的方法包括接收关于系统的信息,该信息操纵系统可存取的数据库中存储的或将要存储的一个或多个数据属性,其中所述信息和操纵并不明确地与数据聚类相关。基于所接收的信息自动调整数据聚类,所述数据聚类包括多个数据属性并包括通过所接收的信息操纵的数据属性中的至少一个。所述数据聚类响应于正接收的信息而自动调整。
文档编号G06F17/30GK101911069SQ200980101769
公开日2010年12月8日 申请日期2009年1月5日 优先权日2008年1月10日
发明者B·L·亨特, G·G·阿代尔 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1