用于管理关于近似串匹配的档案的方法和系统的制作方法
【专利说明】
[0001] 本申请是申请日为2008年12月30日、申请号为200880128089. 2、发明名称为"管 理关于近似串匹配的档案"的申请的分案申请。
技术领域
[0002] 本发明涉及管理关于近似串匹配的档案(archive)。
【背景技术】
[0003] 关于近似串匹配(也被称做"模糊"或"不精确"串匹配或搜索)的各种技术被用 来根据串度量(也叫做"相似函数")寻找在一定偏差内匹配给定样式串的串。被搜索的串 可以是被称为"文本"的较大串的子串、或者可以是包含在例如数据库的记录中的串。串度 量的一种类别是"编辑距离"。编辑距离的一个示例是Levenshtein距离,其对需要将一个 串转换为另一串的编辑操作(字符的插入、删除或替换)的最小数目进行计数。近似串匹 配包括在线匹配和离线匹配,在在线匹配中在匹配开始之前无法处理(或"编索引")要被 搜索的文本,在离线匹配中在匹配开始之前能够处理文本。
【发明内容】
[0004] 在一个方面中,一般,描述一种用于管理确定与记录中出现的串关联的近似匹配 的档案的方法。该方法包括:处理记录以确定对应于在记录中出现的串的一组串代表;为 该组中的至少一些串代表的每个产生多个接近代表,所述多个接近代表的每个是根据该串 中的至少一些相同字符而产生的;以及在档案中存储条目,所述条目的每个表示基于它们 各自的接近代表的在至少两个串之间的潜在近似匹配。
[0005] 各个方面能够包括以下特征的一个或多个。
[0006] 每个串代表包括一个串。
[0007] 每个接近代表包括该串中的至少一些相同字符。
[0008] 为该组中的给定串产生多个接近串包括产生其每个使得从给定串中删除不同的 字符的接近串。
[0009] 为该组中的给定串产生多个接近串包括产生其每个使得从给定串中删除单个字 符的接近串。
[0010] 为该组中的给定串产生多个接近串的步骤包括产生其中的至少一些使得从给定 串中删除多个字符的接近串。
[0011] 产生其每个是从给定串中删除不同的字符的接近串包括:如果给定串比预定长度 短则产生其每个使得从给定串中删除单个字符的接近串,以及如果给定串比预定长度长则 产生其中的至少一些使得从给定串中删除多个字符的接近串。
[0012] 该方法还包括对于该组中的至少一些串代表的每个,确定记录中对应串的出现频 率。
[0013] 该方法还包括:对于该组中的至少一些串代表的每个,基于包括该串的出现频率 和在档案中作为该串的潜在近似匹配而代表的至少一些串的出现频率的总和产生表示相 应串的重要性的重要性值。
[0014] 该重要性值是基于该总和的反来产生的。
[0015] 该方法还包括:通过确定短语中的串是否对应于近似匹配来确定包括多个串的不 同短语是否对应于近似匹配,其中基于它们相应的重要性值来选择所述短语中的串。
[0016] 短语中串的重要性值是基于该总和的,并且基于该串的长度、短语中串的位置、其 中出现串的记录的字段、和其中该字段出现的记录的源中的至少一个。
[0017] 该方法还包括:对于档案中至少一些条目的每个产生与条目相关联的分值,其量 化至少两个串之间的潜在近似匹配的质量。
[0018] 该方法还包括:通过将与条目相关联的分值与阈值比较来确定与条目相关联的串 是否对应于近似匹配。
[0019] 该分值基于用来确定至少两个串之间的潜在近似匹配的各自接近代表之间的对 应性。
[0020] 处理记录以确定对应于在记录中出现的串的一组串代表包括:修改在至少一个记 录中出现的串以产生修改串,以便包括在该组串代表中。
[0021] 修改串包括去除或替换标点。
[0022] 修改串包括将串编码为不同的代表。
[0023] 修改串包括将串编码为数字代表。
[0024] 将串编码为数字代表包括:将串中的每个字符映射为素数,并且将串表示为映射 到串中的字符的素数的乘积。
[0025] 该档案包括基于来自用户的输入而表示至少两个串之间的潜在近似匹配的至少 一些条目。
[0026] 在另一方面,一般,描述了一种存储在计算机可读介质中的计算机程序,用于管理 用来确定与在记录中出现的串相关联的近似匹配的档案。该计算机程序包括指令,用于促 使计算机来:处理记录以确定一组串代表,所述串代表对应于在记录中出现的串;为该组 中的至少一些串代表的每个,产生多个接近代表,所述多个接近代表的每个根据该串中的 至少一些相同字符而产生;以及存储条目在档案中,每个条目表示基于它们各自的接近代 表的在至少两个串之间的潜在近似匹配。
[0027] 在另一方面,一般,描述了一种用于管理用来确定与在记录中出现的串相关联的 近似匹配的档案的系统。该系统包括:用于处理记录以确定一组串代表的部件,所述串代表 对应于在记录中出现的串;用于对于该组中的至少一些串代表的每个产生多个接近代表的 部件,所述多个接近代表的每个根据该串中的至少一些相同字符而产生;以及用于存储条 目在档案中的部件,每个条目表示基于它们各自的接近代表的在至少两个串之间的潜在近 似匹配。
[0028] 在另一方面,一般,描述了用于管理用来确定与在记录中出现的串相关联的近似 匹配的档案的系统。该系统包括:数据源,存储记录;计算机系统,被配置来处理该数据源 中的记录以确定一组串代表,所述串代表对应于在记录中出现的串,为该组中的至少一些 串代表的每个,产生多个接近代表,所述多个接近代表的每个根据该串中的至少一些相同 字符而产生;以及与所述计算机系统耦接的数据存储器,存储包括条目的档案,每个条目表 示基于它们各自的接近代表的在至少两个串之间的潜在近似匹配。
[0029] 各个方面能够包括以下优点的一个或多个。
[0030] 在典型的数据库应用中,不同记录的给定字段在它们的内容一致时匹配。如联合 和聚集之类的操作一般基于在特定字段中出现的匹配关键字将记录分到组中。可是,在一 些应用中,能够使用近似串匹配来执行联合或聚集以比较关键字是有用的。如果在预定准 则下两个记录对应的关键字字段足够接近,则它们被说成近似匹配。例如,当使用多于一个 的数据源来执行该操作时,对于包括单词或短语的关键词,在每个源中的单词的准确拼写 可能不同或者一个短语可能包含在另一中不存在的单词。
[0031] 维持档案以存储在一个或多个数据源的记录中出现的接近的串对。这些对和诸如 由档案提供的分值的相关信息提高了联合、聚集和使用近似串匹配的其他操作的效率。在 一些实施方式中,可以从计算图形的组件访问该档案,该计算图形对来自该数据源的数据 执行操作,如下更详细描述的。
[0032] 通过以下描述以及权利要求书,本发明的其它特征和优点将变得明了。
【附图说明】
[0033] 图1是用于执行基于图形的计算的系统的框图。
[0034] 图2是计算图形的图。
[0035] 图3是预处理过程的流程图。
【具体实施方式】
[0036] 1系统概述
[0037] 关于近似串匹配(或"模糊匹配")的技术能够适用于各种类型的系统,包括存储 数据集(dataset)的不同形式的数据库系统。如这里使用的,数据集包括数据的任何集合, 其允许部分值据被组织为具有用于各个字段(也叫做"属性"或"列")的值的记录。数据 库系统和所存储的数据集能够采用多种形式中的任意一个,此类精密复杂的数据库管理系 统或文件系统存储简单平实的文件。各种数据库系统的一个方面是记录结构的类型,其用 于数据集(这能够包括用于每个记录中的字段的字段结构)中的记录。在一些系统中,数据 集的记录结构可以简单地将各个文本文件定义为记录,并且文件的内容表示一个或多个字 段的值。在一些系统中,不需要单个数据集中的全部记录具有相同的结构(如,字段结构)。
[0038] 利用与图形的顶点关联的计算组件以及在与图形的链接(弧、边缘)对应的组 件之间的数据流,复杂的计算通常能够经过直接图形而被表示为数据流。在美国专利 5, 966, 072,EXECUTINGCOMPUTATIONSEXPRESSEDASGRAPHS中描述了实现这样的基于图形 的计算的系统,通过引用在此并入。用于执行基于图形的计算的一种办法是执行多个过程, 每个过程与图形的不同顶点关联,并且根据图形的链接在各过程之间建立通信路径。例如, 通信路径能够使用TCP/IP或UNIX域套接字,或使用共享存储器在各过程之间传递数据。
[0039] 参考图1,用于执行基于图形的计算的系统100包括耦接到数据存储器102的开 发环境104和耦接到数据存储器102的运行时间环境108。开发者101使用开发环境104 构建应用。应用与由数据存储器102中的数据结构所指定的一个或多个计算图形关联,所 述数据结构可以是作为开发者使用开发环境104的结果而被写入到该数据存储器中的。关 于计算图形105的数据结构103指定例如计算图形的顶点(组件或数据集)和在顶点之间 的链接(表示工作元素的流动)。数据结构也能够包括组件的各种特性、数据集(dataset) 和计算图形的流程(也叫做"数据流图形")。
[0040] 运行时间环境108可以被托管在诸如UNIX操作系统的合适操作系统的控制下的 一个或多个通用计算机中。例如,运行时间环境108能够包括多节点并行计算环境,其包 括使用多个中央处理单元(CPU)的计算机系统的配置,所述多个中央处理单元可以是本地 (如,诸如SMP计算机的多处理器系统)或本地分发的(如,耦接为集群或MPP的多处理 器)、或者远程或远程分发的(如,经由LAN或WAN网络耦接的多处理器)、或它们的任意组 合。
[0041] 运行时间环境108被配置来从数据存储器102和/或用户107中接收控制输入以 执行和配置计算。控制输入能够包括用于使用在所存储的图形数据结构中指定的相应计算 图形来处理特定数据集