CN101978348B - 管理关于近似串匹配的档案 - Google Patents

管理关于近似串匹配的档案 Download PDF

Info

Publication number
CN101978348B
CN101978348B CN200880128089.2A CN200880128089A CN101978348B CN 101978348 B CN101978348 B CN 101978348B CN 200880128089 A CN200880128089 A CN 200880128089A CN 101978348 B CN101978348 B CN 101978348B
Authority
CN
China
Prior art keywords
string
word
record
archives
group
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN200880128089.2A
Other languages
English (en)
Other versions
CN101978348A (zh
Inventor
阿伦·安德森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ab Initio Technology LLC
Original Assignee
Ab Initio Technology LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ab Initio Technology LLC filed Critical Ab Initio Technology LLC
Priority to CN201510647048.6A priority Critical patent/CN105373365B/zh
Publication of CN101978348A publication Critical patent/CN101978348A/zh
Application granted granted Critical
Publication of CN101978348B publication Critical patent/CN101978348B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • G06F16/90344Query processing by using string matching techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/113Details of archiving
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/3332Query translation
    • G06F16/3338Query expansion

Abstract

在一个方面,一般,描述了一种用于管理档案的方法。所述档案用来确定与在记录中出现的串相关联的近似匹配。该方法包括处理记录以确定一组串代表的步骤,所述串代表对应于在记录中出现的串。该方法也包括为该组中的至少一些串代表的每个产生多个接近代表的步骤,所述多个接近代表的每个根据该串中至少一些相同字符而产生。该方法也包括存储条目在档案中的步骤。每个所存储的条目表示基于它们各自的接近代表的在至少两个串之间的潜在近似匹配。

Description

管理关于近似串匹配的档案
技术领域
本发明涉及管理关于近似串匹配的档案(archive)。
背景技术
关于近似串匹配(也被称做“模糊”或“不精确”串匹配或搜索)的各种技术被用来根据串度量(也叫做“相似函数”)寻找在一定偏差内匹配给定样式串的串。被搜索的串可以是被称为“文本”的较大串的子串、或者可以是包含在例如数据库的记录中的串。串度量的一种类别是“编辑距离”。编辑距离的一个示例是Levenshtein距离,其对需要将一个串转换为另一串的编辑操作(字符的插入、删除或替换)的最小数目进行计数。近似串匹配包括在线匹配和离线匹配,在在线匹配中在匹配开始之前无法处理(或“编索引”)要被搜索的文本,在离线匹配中在匹配开始之前能够处理文本。
发明内容
在一个方面中,一般,描述一种用于管理确定与记录中出现的串关联的近似匹配的档案的方法。该方法包括:处理记录以确定对应于在记录中出现的串的一组串代表;为该组中的至少一些串代表的每个产生多个接近代表,所述多个接近代表的每个是根据该串中的至少一些相同字符而产生的;以及在档案中存储条目,所述条目的每个表示基于它们各自的接近代表的在至少两个串之间的潜在近似匹配。
各个方面能够包括以下特征的一个或多个。
每个串代表包括一个串。
每个接近代表包括该串中的至少一些相同字符。
为该组中的给定串产生多个接近串包括产生其每个使得从给定串中删除不同的字符的接近串。
为该组中的给定串产生多个接近串包括产生其每个使得从给定串中删除单个字符的接近串。
为该组中的给定串产生多个接近串的步骤包括产生其中的至少一些使得从给定串中删除多个字符的接近串。
产生其每个是从给定串中删除不同的字符的接近串包括:如果给定串比预定长度短则产生其每个使得从给定串中删除单个字符的接近串,以及如果给定串比预定长度长则产生其中的至少一些使得从给定串中删除多个字符的接近串。
该方法还包括对于该组中的至少一些串代表的每个,确定记录中对应串的出现频率。
该方法还包括:对于该组中的至少一些串代表的每个,基于包括该串的出现频率和在档案中作为该串的潜在近似匹配而代表的至少一些串的出现频率的总和产生表示相应串的重要性的重要性值。
该重要性值是基于该总和的反来产生的。
该方法还包括:通过确定短语中的串是否对应于近似匹配来确定包括多个串的不同短语是否对应于近似匹配,其中基于它们相应的重要性值来选择所述短语中的串。
短语中串的重要性值是基于该总和的,并且基于该串的长度、短语中串的位置、其中出现串的记录的字段、和其中该字段出现的记录的源中的至少一个。
该方法还包括:对于档案中至少一些条目的每个产生与条目相关联的分值,其量化至少两个串之间的潜在近似匹配的质量。
该方法还包括:通过将与条目相关联的分值与阈值比较来确定与条目相关联的串是否对应于近似匹配。
该分值基于用来确定至少两个串之间的潜在近似匹配的各自接近代表之间的对应性。
处理记录以确定对应于在记录中出现的串的一组串代表包括:修改在至少一个记录中出现的串以产生修改串,以便包括在该组串代表中。
修改串包括去除或替换标点。
修改串包括将串编码为不同的代表。
修改串包括将串编码为数字代表。
将串编码为数字代表包括:将串中的每个字符映射为素数,并且将串表示为映射到串中的字符的素数的乘积。
该档案包括基于来自用户的输入而表示至少两个串之间的潜在近似匹配的至少一些条目。
在另一方面,一般,描述了一种存储在计算机可读介质中的计算机程序,用于管理用来确定与在记录中出现的串相关联的近似匹配的档案。该计算机程序包括指令,用于促使计算机来:处理记录以确定一组串代表,所述串代表对应于在记录中出现的串;为该组中的至少一些串代表的每个,产生多个接近代表,所述多个接近代表的每个根据该串中的至少一些相同字符而产生;以及存储条目在档案中,每个条目表示基于它们各自的接近代表的在至少两个串之间的潜在近似匹配。
在另一方面,一般,描述了一种用于管理用来确定与在记录中出现的串相关联的近似匹配的档案的系统。该系统包括:用于处理记录以确定一组串代表的部件,所述串代表对应于在记录中出现的串;用于对于该组中的至少一些串代表的每个产生多个接近代表的部件,所述多个接近代表的每个根据该串中的至少一些相同字符而产生;以及用于存储条目在档案中的部件,每个条目表示基于它们各自的接近代表的在至少两个串之间的潜在近似匹配。
在另一方面,一般,描述了用于管理用来确定与在记录中出现的串相关联的近似匹配的档案的系统。该系统包括:数据源,存储记录;计算机系统,被配置来处理该数据源中的记录以确定一组串代表,所述串代表对应于在记录中出现的串,为该组中的至少一些串代表的每个,产生多个接近代表,所述多个接近代表的每个根据该串中的至少一些相同字符而产生;以及与所述计算机系统耦接的数据存储器,存储包括条目的档案,每个条目表示基于它们各自的接近代表的在至少两个串之间的潜在近似匹配。
各个方面能够包括以下优点的一个或多个。
在典型的数据库应用中,不同记录的给定字段在它们的内容一致时匹配。如联合和聚集之类的操作一般基于在特定字段中出现的匹配关键字将记录分到组中。可是,在一些应用中,能够使用近似串匹配来执行联合或聚集以比较关键字是有用的。如果在预定准则下两个记录对应的关键字字段足够接近,则它们被说成近似匹配。例如,当使用多于一个的数据源来执行该操作时,对于包括单词或短语的关键词,在每个源中的单词的准确拼写可能不同或者一个短语可能包含在另一中不存在的单词。
维持档案以存储在一个或多个数据源的记录中出现的接近的串对。这些对和诸如由档案提供的分值的相关信息提高了联合、聚集和使用近似串匹配的其他操作的效率。在一些实施方式中,可以从计算图形的组件访问该档案,该计算图形对来自该数据源的数据执行操作,如下更详细描述的。
通过以下描述以及权利要求书,本发明的其它特征和优点将变得明了。
附图说明
图1是用于执行基于图形的计算的系统的框图。
图2是计算图形的图。
图3是预处理过程的流程图。
具体实施方式
1系统概述
关于近似串匹配(或“模糊匹配”)的技术能够适用于各种类型的系统,包括存储数据集(dataset)的不同形式的数据库系统。如这里使用的,数据集包括数据的任何集合,其允许部分值据被组织为具有用于各个字段(也叫做“属性”或“列”)的值的记录。数据库系统和所存储的数据集能够采用多种形式中的任意一个,此类精密复杂的数据库管理系统或文件系统存储简单平实的文件。各种数据库系统的一个方面是记录结构的类型,其用于数据集(这能够包括用于每个记录中的字段的字段结构)中的记录。在一些系统中,数据集的记录结构可以简单地将各个文本文件定义为记录,并且文件的内容表示一个或多个字段的值。在一些系统中,不需要单个数据集中的全部记录具有相同的结构(如,字段结构)。
利用与图形的顶点关联的计算组件以及在与图形的链接(弧、边缘)对应的组件之间的数据流,复杂的计算通常能够经过直接图形而被表示为数据流。在美国专利5,966,072,EXECUTINGCOMPUTATIONSEXPRESSEDASGRAPHS中描述了实现这样的基于图形的计算的系统,通过引用在此并入。用于执行基于图形的计算的一种办法是执行多个过程,每个过程与图形的不同顶点关联,并且根据图形的链接在各过程之间建立通信路径。例如,通信路径能够使用TCP/IP或UNIX域套接字,或使用共享存储器在各过程之间传递数据。
参考图1,用于执行基于图形的计算的系统100包括耦接到数据存储器102的开发环境104和耦接到数据存储器102的运行时间环境108。开发者101使用开发环境104构建应用。应用与由数据存储器102中的数据结构所指定的一个或多个计算图形关联,所述数据结构可以是作为开发者使用开发环境104的结果而被写入到该数据存储器中的。关于计算图形105的数据结构103指定例如计算图形的顶点(组件或数据集)和在顶点之间的链接(表示工作元素的流动)。数据结构也能够包括组件的各种特性、数据集(dataset)和计算图形的流程(也叫做“数据流图形”)。
运行时间环境108可以被托管在诸如UNIX操作系统的合适操作系统的控制下的一个或多个通用计算机中。例如,运行时间环境108能够包括多节点并行计算环境,其包括使用多个中央处理单元(CPU)的计算机系统的配置,所述多个中央处理单元可以是本地(如,诸如SMP计算机的多处理器系统)或本地分发的(如,耦接为集群或MPP的多处理器)、或者远程或远程分发的(如,经由LAN或WAN网络耦接的多处理器)、或它们的任意组合。
运行时间环境108被配置来从数据存储器102和/或用户107中接收控制输入以执行和配置计算。控制输入能够包括用于使用在所存储的图形数据结构中指定的相应计算图形来处理特定数据集的命令。用户107能够例如使用命令行或图形接口来与运行时间环境108交互。
运行时间环境108包括预执行模块110和执行模块112。预执行模块110执行任何预处理过程,并且准备和维持用于执行计算图形的资源,诸如字典111和用于近似串匹配的档案114。字典111存储单词和关于在数据集中出现的单词的相关信息。档案114存储来自基于单词、短语的预处理的各种结果或者数据集的记录。字典111和档案114能够以各种格式中的任意一种来实现并且能够被组织为数据的单个集合或作为多个字典和档案。执行模块112调度和控制对于分配给计算图形的过程的执行以执行各组件的计算。执行模块112能够与耦接到系统100的、诸如从数据库系统提供记录的数据源116的外部计算资源进行交互,在与图形组件关联的处理期间访问所述外部计算资源。
参考图2,计算图形105的简单示例包括执行聚集(rollup)操作的聚集组件200,第一输入数据集202、第二输入数据集204以及输出数据集206。输入数据集聚集组件200向提供工作组件的流(如,数据库记录),以及输出数据集206接收由聚集组件200产生的工作组件的流(如,聚合数据库记录)。输入数据集202和204以及输出数据集206表示在由运行时间环境108可访问的存储介质(诸如数据源116)中存储的数据(如,数据库文件)。聚集组件200比较从输入数据集接收的记录的关键字段值,并且基于在关键字段值之间的近似匹配而产生聚合记录。
图3示出由预执行模块110执行的预处理过程300,以准备由计算图形使用的字典111和档案114。过程300从用户接收指示将处理哪些源和从那些源的哪个字段读取单词的配置信息(302)。要读取哪个字段的指示可以根据默认设置而是暗示的,如读取全部字段。过程300通过读取所选择的源的记录的所选择字段,在字典中存储字段中出现的单词,并且更新诸如单词频率计数的统计来编译字典111(304)。过程300通过对字典中的单词产生接近(close)单词(308)以及根据各个接近单词的比较而寻找潜在模糊匹配(310)来编译要存储在档案114中的潜在模糊匹配(306)。与作为潜在模糊匹配的单词对一起存储分值,所述分值能够在图形执行期间被用来确定该潜在模糊匹配是否为实际模糊匹配。过程300通过基于存储在档案114中的结果计算关于字典中出现的单词的重要性分值而更新字典111(312)。例如,对于字典111中的每个单词,过程300基于潜在模糊匹配来重新规格化(renormalize)单词频率计数(314),如下面详细描述的。然后,这些重新规格化的单词频率计数能够被用来计算可以在匹配短语和源的记录时使用的重要性分值。
在一些实施方式中,预处理过程300在每次新的源可用时或在现有源中接收到新的记录时被重复。该过程能够由用户激活或者以重复的间隔或响应于一定事件而被自动激活。
2模糊匹配
许多商业面临的挑战是使用具有可能不完全相同的等价值的如“名称”或“地址”的字段来调和两个(或更多个)数据集。调和数据库可能涉及回答有关数据的各种问题,诸如下述。在一个数据集中的公司名称是否出现在另一个数据集中?如果是,它们是否具有相同的地址?如果来自两个数据集的公司名称完全相同,则能够使用联合操作来比较相应的地址字段,该操作找到具有匹配关键字(这里,是公司名称)的全部记录。但是如果名称不完全相同呢?一个名称可能以单词公司(COMPANY)结尾而另一个将其缩写为CO并且第三个不过将其完全地漏掉。类似OF或THE的冠词可以在一个名称中但是不在另一中。单词可能被拼错(如,COMPNY代替COMPANY)。在一个源中的名称可能包含附加信息,如联系人名称或账号。
对于像企业名称的一些事情,不管在不同出处的数据集中,还是即便在单个数据集中也没有固定的格式规则。该挑战是找到匹配,一般为一组可能的匹配,即便名称是不一致的。能够使用近似串匹配、也被熟知为“模糊”匹配来执行这样的匹配。该匹配是模糊的,因为它们容忍错误或差异。
当操作使用模糊匹配时,如果发现两个单词或短语在可接受的不同或差异的一定范围中等价,尽管不必相同,则说它们是匹配的。例如,单词的确切拼写可能不一致或者一个短语可以包含在另一中不出现的单词。能够使用分值来量化一致性的质量。当对应于记录的给定字段中的匹配的关键字不需相同但是为等价时,利用模糊匹配可以执行熟悉的操作,诸如比较、联合、聚集和查找。
为了增加模糊匹配的速度,预执行模块110定期处理来自数据源的数据集,该数据源已经被识别为计算图形潜在地可访问的数据源。预执行模块110读取出现在数据集的记录的所选择字段中的数据。用户能够选择要处理的全部可用的字段或者可用字段的所选择子集。在一些情况中字段中的数据可以对应于单个单词,并且在一些情况中数据可以对应于包含多个单词的短语。(如这里所使用的,“单词”是包括来自某个字符集的一序列字符的任何串,而短语中的多个单词由空格或诸如逗号的其他分界符分离开)用于将字段分解为单词的规则是可配置的并且该规则能够在字段被初始选择时被指定。在一些情况中,尽管存在嵌入式空格(如,城市名称或英国邮政编码),但是可以通过将短语分解为“多个单词”,将嵌入式空格当成字符对待而以与单个单词相似的方式来处理具有多个单词的短语,如下更详细地描述的那样。这允许在模糊匹配中识别级联的和断开的单词。例如,“johnallen”将匹配于“johnallen”或甚至是“johnallen”。
预执行模块110识别记录中发生的一组单词并且在字典111中存储单词的代表(也叫做“单词代表”或“串代表”)。也可以在字典111中存储对于每个单词的统计。例如,可以在字典111中存储给定数据集或全部数据集的记录中的单词的发生频率。可以在字典111中存储关于单词的上下文的信息。例如,上下文能够包括该单词出现的字段或字段组。也能够在字典111中存储诸如在短语中它的位置的统计之类的其他关于单词的信息。单词的代表可以是单词自身,或者是以诸如不同字符集或非串代表(如,数字或字母数字编码)的不同形式的单词的编码代表,如下面更详细地描述的。
预执行模块110的处理包括对给定单词产生一组“接近单词”(或“接近代表”)。关于给定单词的接近单词与该给定单词相关联地存储在字典111中。接近单词被用来产生在单词对之间的潜在模糊匹配,如下面更详细地描述的。
处理的结果被存储在档案114中以由通过执行模块112执行的图形使用。在确定是否应当处理给定记录的过程中(如,在联合或聚集组件中),一些图形可以使用档案114。测量各记录的相似性是在众多上下文中出现的一种数据质量活动。例如,两个源可以共享公共关键字,该公共关键字被用在联合操作中以将来自两个源的记录拿到一起。需要比较其中可能出现关键字的记录中的字段。多个单词可能存在于一个字段中并且多个字段常被用于保存一定类型的数据,如名称或地址。在字段中的单词的布置在源中可以不一致,额外的单词可以存在在一个源或其他源中,单词可以是乱序的,并且可能存在排字错误。能够使用各种评分函数来计算表现记录之间的匹配的质量的特点的基本分值,然后由针对各种类型的不一致性和错误的惩罚来加权该基本分值。与不同类型的错误相关联的权重是可以调整的,并且每个惩罚对于关于任何比较的分值的贡献是值得报告的。各评分函数在它们如何比较作为模糊匹配的单词以及它们在计算分值中是否对单词进行加权(统计上)上不同。关于记录的分值可以涉及跨越几个单独评分的个体或级联的字段的加权分值。
在匹配过程中存在3个评分级别:单词、短语和记录。一般在预处理阶段期间进行单词的评分,并且基于预定准则确定两个单词是否是潜在模糊匹配,以及将潜在模糊匹配与“模糊匹配分值”相关联。短语的评分可以不仅考虑模糊匹配的单词,而且可以考虑一个或两个短语中缺少单词的概率、单词乱序出现的概率或在它们之间存在额外单词的概率。评分算法可被配置为使得能够调整不相符的不同源的重要性。第3个评分级别是整个记录。通过以上下文敏感的方式组合不同字段的分值来对它们进行评分。缺失或不一致的信息能够给予适当的权重。
档案114存储找到为潜在模糊匹配的单词对以及对应的模糊匹配分值。能够由用户修改潜在模糊匹配和它们的模糊匹配分值的集合以将所计算的模糊匹配分值替换为不同的模糊匹配分值并且增加与预定准则不相关的潜在模糊匹配单词对。
为了短语比较的目的,档案114也存储“重要性分值”,其表示单词对于包含该单词的短语的相对重要性。重要性分值使用在数据集中单词出现的反向频率,但是使用(使用分值档案确定的)涉及模糊匹配的变化的频率来调整该值,并且可选地使用从单词的长度、在短语中的位置、源和上下文(如,单词出现的字段)导出的附加信息。例如,因为数据可能没有位于正确的字段中并且需要识别这样的错误,所以基于其中单词出现的上下文来调整该重要性分值可能是有用的。在一些情况下,出现在如地址字段的字段中的串可以以非结构化的格式被接收,但是不过其可以包含结构。这些串能够被解析并且识别单个元素。按上下文的相对重要性能够被用来指示给定的单词是更有可能出现在一个上下文还是另一个上下文中。例如,在地址字段,LONDON(伦敦)作为城市而非街道名称的一部分。前后关系的协调信息有助于解析:如果在LONDON后面有另一城市名称,则它可能是街道名称的一部分;如果它紧接在邮政编码的前面,则它可能是城市。
在一些实施方式中,档案114存储测量两个短语之间的模糊匹配质量的“短语比较分值”。预执行模块110将各短语重叠以找到共享的和未使用的单词的列表,并且使用它们的相对重要性、校正(alignment)和单词顺序来计算该短语比较分值。
存储在档案114的信息在它产生之后还能够以各种方式被进一步处理。例如,在分值档案中,可能的误判(falsepositive)能够使用黄金参考数据的自我评分的结果来识别并且通过在初始评分期间应用的n克(n-gram)分析来排除。也可以包括其他分值。例如,来自多个字段的单词或短语能够被独立评分并且组合它们的分值以对整个记录评分。
由使用模糊匹配的不同类型的操作访问档案114。一些操作包括使用精确匹配的“正常版本”以及使用模糊匹配的“模糊版本”。聚集(或聚合)操作的模糊版本将相似的记录关联为群组。这对巩固在原始数据中存在标识唯一实体的关键字的变型形式的记录是有用的。简单定义与唯一实体关联的记录的群组可能是一个显著性结果。一旦已经定义群组,则支持一般的聚合活动。因为模糊匹配是评分的等价关系,所以也将对群组的关联进行评分。这具有这样的效果,与熟悉的情况相反,给定的实体将不必是唯一群组的成员。在群组的成员上的聚合(如数字总和)则将不准确但是仅将在反映群组成员的资格的不确定性的错误范围内知晓。可是,在全部群组上的聚合将仍然保持准确,因为整体上的成员资格是确定的。
组件也能够使用该分值档案来识别各个单词中的错误拼写和其他错误。能够由用户(如,根据档案产生的列表)来确认所识别的错误,并且数据校正组件能够校正数据中的错误。基于模糊匹配的该纠错能力能够是对数据全面调节器(profiler)能力的扩展,如在标题为“DataProfiling”的美国专利申请号10/941,402中更详细描述的,这里通过引用并入。
2.1匹配准则
各种准则中的任意一个能够被用于匹配质量的测量。考虑两个单词,MOORGATE和MOOGRATE。一种类型的准则是距离度量。存在多个不同的距离度量或用于测量两个单词之间的距离的办法。最简单的一个是汉明(Hamming)距离,其对相应字符是不同的位置的数目进行计数。由于该数目依靠于校准,所以使用汉明距离最小的校准。这对应于要求将一个单词转换为另一个的替换的最小数目,如以下示例所示。
MOORGATE
MOOGRATE
**
在该示例中,存在相应字符不同的两个位置,要求两次替换来将一个单词转换为另一个。
由于在计算汉明距离中校准很重要,所以“打乱”校准的插入可能产生较大的距离,如下示例。
MOORGATE
MOORGRATE
****
在该示例中,在原始单词中的单个插入产生汉明距离4。对于一些应用,汉明距离夸大了插入的重要性。
对汉明距离的替换是“编辑距离”。编辑距离是尽可能地保持校准而将一个单词转换为另一个所需的编辑(其中“编辑”是插入、删除或替换中的一个)的最小数目的计数。单词对MOORGATE和MOOGRATE具有编辑距离2,因为其需要一次插入和一次删除(或两次替换)来将一个单词转换为另一个。单词对MOORGATE和MOORGRATE具有编辑距离1,因为其需要一次插入来将一个单词转换为另一个。
存在用于计算编辑距离的各种算法。通过对插入、删除和替换(甚至互换)分配不同的权重,可以使得编辑距离分值反映不同类型的错误的重要性。编辑距离的复杂在于其通常在计算上比汉明距离更浩大。
“接近单词比较”是对上述编辑距离的替换,并且计算上迅速。由于在实际数据中排字和抄录错误的频率相对地较低,所以在单个单词中找到多于一个的错误较少见。(当然,诸如更多的将一个音节替换为语音上相似的一个的系统错误可以涉及多个字母,但是这能够被当成非匹配单词。)代替计算两个给定单词之间的编辑距离,预执行模块110使用“删除-联合”过程来实现接近单词比较以确定给定单词是否是潜在模糊匹配。删除-联合过程通过构造从每个单词中删除单个字符而获得的全部变型单词而开始,以获得关于每个单词的被叫做“删除变型”的一组接近单词。然后删除-联合过程比较两组删除变型以找出是否任意的删除变型是否匹配。如果它们匹配,则原始单词被指定为潜在模糊匹配。删除-联合过程的特征可以在于找到与有限组的等价变化相关的单词,该等价变化涉及单次删除、单次插入或伴随插入的删除(这覆盖替换和互换两者)。在以下示例中更详细地描述删除变型的产生和删除-联合过程。接近单词比较的其他形式是可以的。例如,每个单词能够具有根据不同组的等价变化而是“接近的”的一组接近单词。
删除-联合过程也能够使用其中删除多个字符的删除变型,但是误判的数目一般随删除的字符的数目而上升。误判是当一个自然发生(“真实的”)单词匹配另一个自然发生单词的时候。例如,CLARKE和CLAIRE是通过插入之后跟随的删除而相关的。的确,错误能够将一个单词转录为另一个,但是因为两个单词均是真实的,所以该可能性是每个单词无错误地自然发生。缺少有关哪个单词是自然发生的信息,则给定模糊匹配算法无法直接判断哪个单词是真实的(尽管存在推断它的一些可能性,如下所述的),从而对于该算法来说要检测误判是困难的。该情形是微妙的,因为一些改变可能是错误的而另一些则不是。用于应对误判的一个办法是给每个单词附加进一步的度量,叫做“重要性分值”,其最初基于如单词在数据中出现的频率的因素(单词频率计数或重新规格化的单词频率计数的反(inverse))。例如,如果一个自然发生的单词容易与另外一个弄错,则二者的重要性降低,反映在它们的可区分性中的置信度的丧失。
关于误判的潜在问题是其可能导致应该被区分的记录被报告成可能的匹配。在删除变型中使用单次删除的一个优点是,随着单词长度的增加(如超过大约5个字符),误判的数目迅速下降,因为一般在记录中存在更少的长单词,并且长单词一般被更普遍地分离。在一些实施方式中,用来产生删除变型的删除的数目能够取决于单词的长度。例如,对于具有不超过5个字符的单词,删除单个字符,而对于具有超过5个字符的单词,多达2个字符被删除(如,删除变型包括单个字符被删除的全部单词和两个单词被删除的全部单词)。
预执行模块110能够包括减少大量评估的总体计算时间并且加速adhoc评估的特征。出现在记录中的单词和它们的删除变型被存储在字典111中,并且删除-联合过程的删除比较的结果被预计算并存储在档案114中,其中它们是可用的而无需另外的评估。这对关于名称/地址数据的简单观察起到了杠杆作用:基于自然语言的数据中单词的数目相对于可能最终被处理的记录的数目是相当地小(如,<<1百万)。并非每次其出现时重复相同的相当浩大的计算,档案114存储该结果(接近对和相关联的模糊匹配分值)以用于重新使用。因为可能的单词的数目相对较小,并且仅观察的变型被存储,从而档案114的容量是可管理的。
档案114具有另外的好处。如果在档案114中的短语的模糊匹配分值小于预定阈值(假定更低的分值指示更高质量的匹配),则用于短语的评分算法将报告单词之间的模糊匹配。通过使得用户能够手动调整档案114中的单词对的模糊匹配分值,能够避开不期望的匹配(如,误判)。另外,通过添加具有合适模糊匹配分值的对,在接近单词比较中不匹配的单词能够被添加为档案114中的匹配。例如,添加对HSBCMIDLAND创建了在“HSBCBANK”和“MIDLANDBANK”之间的模糊匹配。这提供了一种用于应用基于商业含义(这里,MIDLAND是HSBC从前的名称)的同义词的方法。通过手动添加条目并且设置该模糊匹配分值以指示模糊匹配,多词关联(如对于INTERNATIONALBUSINESSMACHINES的IBM)也能够被添加为档案中的模糊匹配。在一些实施方式中,多词关联与单个单词之间的关联分开地被存储和/或处理。例如,在一些情况中,多词关联可以在标准化期间使用并且在短语比较评分期间不是必需的。
对于单词、短语和记录的匹配过程一般包括将候选者识别为潜在模糊匹配并且判断在候选者之间的匹配质量以确定实际模糊匹配。
匹配记录可以涉及匹配来自相应字段的单词,或在一些情况中,涉及匹配来自一个或多个字段的单词的短语。例如,由于当匹配名称或地址时来自不同源的记录中的存在的单词数目不必相同,所以能够通过“短语匹配”来执行在该上下文中的模糊匹配。预执行模块110能够选择将空格当成一个额外的字符,故短语就简单地变为较长的单词。当使用这种技术时,预执行模块110可以执行另外的处理以应对可选的单词,以考虑到在具有被当成字符对待的空格的较长单词中的区域会改变的事实。
2.2标准化和解析
在模糊匹配的一些实施方式中,在比较之前短语被标准化。这按可预测的方式减少可变性,例如,通过漏掉通用单词,如OF或THE,或者通过将通用缩写替换为完整的单词,诸如替换CO为COMPANY。该标准化能够增加匹配的力度并且在一些办法中改进匹配过程的性能。困难在于一些信息可能在标准化期间丢失,或者会产生错误的识别:CORP很可能是CORPORATION的缩写,但是它可能为CORPS的错误拼写。
标准化可被配置为使得在一些情况中标准化不被使用或者被维持在最小,并且其他机制被用来应对通用单词的问题和缩写的替换。在一些实施方式中,全部短语被标准化为大写字母或小写字母(同时保持如重音符号的字符变型),因为词形一般在不同源之间不一致并且大部分是假的区别。意图是用于保持原始数据的完整性并且为处理中的以后步骤对字段中的系统变型留出任何补偿(如缩写或同义词)。这样的原因是,虽然在地址字段中如ST的单词常意味者STREET,但是这并非总是如此,从而太早地将它替换会是潜在的问题。
能够指定对于标点字符的特别对待,因为这些在各源之间往往是不一致的。例如,许多标点字符或者是可选择的、或者指示在另外的未结构化的字段中的格式化。标点的处理类型的三种示例是:替换为空的、替换为空格、以及替换为断线。其他形式的标准化能够包括将一些预定的单词或短语替换为其他单词或短语,诸如替换一个单词为同义词。用户能够使用在可配置的查找文件中的规则来控制标点和单词的替换。
解析向来自任意数目的字段的不同单词或短语的部分分配含义。例如,解析可以在处理地址时使用,该地址在一些源中可以显露为结合到一个或两个字段而同时在其他源中它们被分散到8个或10个字段。能够使用参考源来促进解析期望包括已知元素的字段,该参考源提供用于识别和验证元素的辅助信息。例如,能够使用邮政地址文件(PAF文件)作为识别和验证地址的各个元素的参考源来处理解析地址字段。
2.3单词频率和上下文
预执行模块110针对出现在记录中的单词扫描给定源的记录,并且,在一些情况中,将该扫描限制到记录的所选择字段。在给定源的记录的所选择字段中出现的单词被存储在字典111中。在一些实施方式中,字典中的每个条目存储单词、单词的频率、单词的位置统计,以及单词的上下文。频率是单词出现在该源的记录的次数的计数(如,单词可以在给定记录中出现多次)。频率能够是全部字段上的聚合计数或者是多次计数(其中每个计数表示单词在给定字段中出现多少次)。频率也能够被重新规格化,如下面更详细地描述的。如果单词出现在给定字段的短语中,则对该短语计算该单词在该短语中的位置。在字典111中对于给定单词的位置统计包括,例如,在该单词出现的所有短语中该位置的平均和标准偏差。
一个叫做“上下文”的类别词被存储在字典111中以支持字段的逻辑组合。用户能够在选择要处理的字段时指定上下文。上下文的使用使得可以比较具有不同记录结构的各个源,而不要求标准化到通用格式。这提高了各源之间的比较质量,因为能够从特定字段中的单词的存在中导出的源特定信息通过到通用格式的标准化而不会丢失。给定字段可以出现在多个上下文中,允许比较的粒度和数据的模糊布置的容差二者的控制。
例如,“地址”上下文可以被用来对包含作为地址的一部分的单词的字段进行分组。与上下文关联的该字段名称在各个源之间可以不同。例如,在一个源中的字段address_line1、address_line2、address_line3可以都是地址上下文的一部分,而在另一源中地址上下文可以包括建筑物_编号、街道、城市和邮编。单词频率计数和出现在不同字段的给定单词的重要性分值能够被聚集以表示相关上下文的频率。
字典111被用于识别代表潜在模糊匹配的档案114中的单词并且识别由重要性分值表示的每个单词的重要性。能够使用可有效访问的多种文件格式的任意一种来维持该字典111。例如,能够以索引压缩(级联的)平实文件格式来存储字典111,诸如在美国申请序列号11/555,458中描述的格式,这里通过引用并入。或者为了不同的目的、源、字段编码或者为了例如加速访问,字典111能够保持在单个文件或多个文件中。
关于单词的其他信息能够被包括在字典111中。例如,如果字段中的单词根据重要性按照降序顺序排序:这将重要单词更早地置于短语中,则“重要性位置”是单词在字段中将具有的位置。例如,按照原始顺序的短语可以是“BankofAmerica”。具有按照重要性排序的单词的短语可以是“AmericaBankof”。单词“Bank”在原始短语中的位置是第1个(3个之中)。单词“Bank”的重要性位置是第2个(3个之中)。
2.4模糊匹配分值
在源中和各源之间的单词的潜在模糊匹配是预计算的并且与描述匹配的质量的特点的关于在单词对之间的每个潜在匹配的模糊匹配分值一起被存储在档案114中。由于源中独特的单词的数目一般比源中全部单词的数目少很多,所以该预计算步骤通过消除单词的冗余模糊比较来加速稍后的比较和字段的评分。最初,仅构成潜在模糊匹配(根据诸如接近单词比较技术的预定准则)的单词被存储在档案114中。用户能够基于预定准则通过手动调整模糊匹配分值、或添加档案114中关于单词的模糊匹配分值的最初群体中未识别的匹配对来修改和扩展档案114。
在一些实施方式中,档案114使用删除联合过程来增加模糊匹配分值。并非计算每个单词对之间的全部编辑距离,这将在计算上很浩大,而是在删除联合过程中仅附近的单词被比较。这是按以下方式实现的。对单词字典111中的每个单词(或对于字典111的一部分,如对于给定源、上下文和/或字段),获得通过删除单个字符形成的每个变型。关于给定原始单词的“删除集”包含条目的列表,每个条目具有关于原始单词的关键字(“word_key”)、原始单词(“original”)、删除变型(“delection_var”)、和已经从原始单词中删除的字符的位置(“deletion_pos”)。该删除集能够与原始单词一起存储在字典111中,或者可以在由预执行模块110使用以产生被存储在档案114中的潜在模糊匹配之后被丢弃。原始单词和删除变型一起被包括在该删除集中并且具有删除字符位置为0。例如,以下是对于单词LONDON的删除集:
word_keydeletion_posdeletion_varoriginal
10LONDONLONDON
11ONDONLONDON
12LNDONLONDON
13LODONLONDON
14LONDNLONDON
15LONDOLONDON
注意,word_key、deletion_pos是识别给定删除变型的唯一“关键字”。
该删除联合过程能够被扩展到更多删除,记录删除位置的序列,但是,由于多于一个的删除序列可能导向相同的单词,以致对于给定删除变型的“关键字”不再是唯一的。(可是存在通过要求按照特定顺序完成删除而确定的规范的关键字,如从原始单词的左边开始的顺序,并且总是指示根据先前变型的删除位置。)因此,从原始单词LONDON中删除两个字符(两次均在第三位置)产生的删除变型LOON将具有删除集条目:
word_keydeletion_posdeletion_varoriginal
13,3LOONLONDON
删除联合过程通过对删除_变型单词执行联合操作来从一个或多个字典中的单词中确定潜在模糊匹配。通过比较所删除的字符的位置来对模糊匹配的质量进行评分。在用于计算模糊匹配的过程的一个示例中,分值点被分配给如下的不同类型的改变:每次删除为1个点、改变第一个字母为1个点、改变最后一个字母为1个点、如果所删除的字符被多于一个的位置分离为1个点。与每个类型的改变关联的权重是可调整的。如果一个单词的删除位置是0而其他不是0,则其为单次插入或删除。如果删除位置相同,则其为代替。具有相同word_key和deletion_pos的匹配被忽视,因为这些是确切的匹配。指示成对字母的删除的匹配也被忽视,因为其不提供信息(如,通过删除字符2或3得到MEET->MET)。
以下是对于原始单词LONDON、LODON、LOMDON和LODNON的来自各个删除集的一系列所选择条目的示例。
word_keydeletion_posdeletion_varoriginal
10LONDONLONDON
13LODONLONDON
14LONONLONDON
20LODONLODON
30LOMDONLOMDON
33LODONLOMDON
40LODNONLODNON
43LONONLODNON
44LODONLODNON
在该示例中,一些删除变型条目已经被抑制,因为它们不会导致有意思的匹配。联合操作将第一条目与具有deletion_var的相同值的第二条目配对。结果得到的在原始单词对之间的潜在模糊匹配是:
第一条目第二条目潜在模糊匹配
13LODONLONDON20LODONLODONLONDONLODON
13LODONLONDON33LODONLOMDONLONDONLOMDON
13LODONLONDON44LODONLODNONLONDONLODNON
14LONONLONDON43LONONLODNONLONDONLODNON
20LODONLODON33LODONLOMDONLODONLOMDON
分别地,以上示范的潜在模糊匹配表示单词0-删除、替换、互换、通过不同路径获得的互换和单词0-插入(单词1-删除)。代表潜在模糊匹配的档案114中的每个单词对具有指示匹配的质量的相关的模糊匹配分值。
使用上述的过程,对于这些对的模糊匹配分值如下:
潜在模糊匹配模糊匹配分值
LONDONLODON1
LONDONLOMDON1
LONDONLODNON2
LONDONLODNON2
LODONLOMDON1
作为将被识别为潜在模糊匹配的对进行评分的另一示例,单词ONDON和LONDON将具有模糊匹配分值为4(1对于第一个字母、1对于删除L、1对于删除O,1对于非相邻删除)。
能够对具有来自包括单个源的任意数目的源的单词的字典111执行联合操作。在一些情况中,字典111包括具有来自第一源(source0)的单词的部分和具有来自第二源(source1)的单词的部分。能够使用所选择的源执行删除-联合过程并且结果能够被存储在档案114中,一起存储在档案114中的还有哪个源被选择的指示和诸如它们按照什么顺序被比较的其他信息。
例如,代表潜在模糊匹配的档案114中的每个单词对也能够与entry_descriptor(条目描述符)相关联。entry_descriptor能够被实现为比特映射字段,其指示该对的来源。一个比特指示该对是通过使用该删除联合方法的图形产生的。其他比特指示该分值是否已经被用户修改、该对是否已经被用户插入(如引入同义词)或者该对是否是通过清除嵌入的标点字符(叫做“清除的”)而产生的。
标点字符的清除(潜在地包括外语的发音符号)起因于因为经验表明多个标点字符能够发生嵌入在单个单词中。有时这些是有效可选择的,如姓名首字母的句点;有时它们看起来像拖尾的无用信息字符。由于往往涉及多于一个的字符,所以这样的清除不会被单次删除方法获得而多次删除将带来太多的误判。以下是清除后单词的一对示例。
原始单词清除后单词
S.I.ID.SIID
HOLDINGS###HOLDINGS
来自单个源的单词能够彼此相对来评分。当存在多于一个源时,来自每个源的单词能够相对其他源(如,独立的字段或上下文)的那些单词而被评分。这识别可能不在自身源内出现的潜在模糊匹配。由于拼写错误和排印错误是相对隔离的事件,故它们一般随各个源而改变。
档案114能够存储遍及所有源的潜在模糊匹配结果,例如以索引压缩(级联的)平实文件格式来存储,诸如在美国申请序列号11/555,458中描述的格式,这里通过引用并入。以多文件格式并用于不同的目的的多个档案114的使用是可能的(如,用于下述的多词分值)。当新源被引入时,针对添加到字典111的它们自己的删除集并针对已经在字典111的现有删除集来对单词进行评分。新的潜在模糊匹配对和分值能够按照排序顺序级联到现有档案114的末尾。稍后的融合处理能够为了性能而重新组织该档案。
在一些实施方式中,如果关于单词对的档案114的条目已经存在,则该对被丢弃并且不再评分。例如,这样做是为了性能并且允许用户修改通过删除联合过程而产生的分值。由于档案114是累积的,因为产生了大量所观察到的对,所以需要被评分的单词数目随时间下降。
修改条目的分值对于个别地避开误判来说是有用。计算图形的组件能够使用档案114中的分值来基于分值档案中它们的分值是否低于给定阈值来确定单词对是否是模糊匹配。将档案114中的给定单词对的分值提高到阈值以上有效地避开了匹配(指示所识别的潜在模糊匹配不是实际模糊匹配)。单词对的明智的评分使得可以通过调整阈值来选择性地开启和避开一组单词。在一些实施方式中,一个或多个阈值被配置为取决于上下文,并且给定对的分值也能够取决于上下文(如,使用存储在档案114中的附加信息)。
用户也能够添加不会在删除-联合过程中识别的单词对到档案114。这对于添加同义词或缩写词到分值档案是有用的。例如,STREET和ST不会被删除-联合过程识别为潜在模糊匹配,但是这可能是期望的等同。也可以添加绰号识别,如ROBERT和BOB(这是取决于上下文分值的自然示例——这在个人名称上下文中可以当成匹配但是在其他上下文则不然)。
在档案中的模糊匹配分值能够通过来自进一步处理的结果(如,在那些单词出现的短语之间的已接受的匹配)的反馈而更新。
2.5单词频率重新规格化和重要性分值
在档案114增加了至少一些单词对之后,其能够被用来“重新规格化”在字典111中的单词频率计数。通过添加作为潜在模糊匹配而涉及该单词的全部单词的计数来调整每个单词的频率。结果得到的重新规格化频率被用来计算单词的“重要性分值”,其进而将在匹配短语时被使用。在数据中单词频率越小,则其在其与其他单词可区分的方面更加重要。
通过错误拼写的单词来说明将频率重要性的概念应用到原始单词频率计数的困难。拼写错误较少见因此实在是太为重要。通过利用与之匹配的更频繁发生的单词的计数来调整它们的计数,显示出它们真实的相对重要性。高频率匹配单词不该必须地被认作是“正确拼写的”,因为这暗示可能不应用的对匹配单词的校正。并非全部低频率单词都被错误拼写以及并非全部匹配的高频率单词都是正确拼写的甚至是错误拼写的单词。例如,NORTE可能是NORTH的错误拼写或它可能只是西班牙语的North。LABLE可能是LABEL的错误拼写但是它也可能是TABLE的错误拼写,二者将作为高频率匹配发生。
重要性携带可区分的强烈涵义。如果单词与多个高频率单词匹配,如LABLE这样,则它被看成不那么重要的,因为存在对于它被错误地当成另一单词的较大的范围。
在档案114中,重新规格化的单词频率计数能够被存储,并且诸如单词列表的其他信息用来执行该重新规格化(如,为了诊断的目的)。以下是作为单词AVENUE的潜在模糊匹配的单词的示例,以及示出单词出现的上下文的示范短语及单词出现在示范数据源的次数的计数。在该示范数据源中,单词AVENUE自身出现10,500次。
单词上下文计数
AVENE237ParkAvene1
AVNENUE2555thAvnenueSW1
AVENUNE306MAROONAVENUNE2
AVEUNUE236TATEAVEUNUE1
AVENUESPhiladelphia&ReadingAvenues11
AVENUUE57NORTHTWELFTHAVENUUE1
AVENUS19009thAvenus1
AVEUNE1010BELLEVERNONAVEUNE4
AVENIE3401HillviewAvenie1
AVNUE540GODDARDAVNUE1
AVEBUE10319FIRMONAAVEBUE1
AVENYE132JEFFERSONAVENYE1
VENUE725NorthMathildaVenue1
ANENUE3330EvergreenAnenue1
VENDUEZILAVENDUE1
AVENUE5200NW33rdAvenue.Suite2151
单词AVENUE将示出为具有16个潜在模糊匹配并且将通过那些匹配单词的计数的总和来调整10500的计数。这些匹配单词的每个使得它们的计数由通过与AVENUE相关联的10500加上对于匹配单词被识别为潜在模糊匹配的任意其他单词来调整。一般,错误拼写的单词比正确拼写的单词链接有更少的模糊匹配。
在以下示例中说明通过其来重新规格化单词的频率计数的过程。在该示例中,关于source0的字典包括出现在被叫做“legal_address(合法地址)”的字段中的单词(原始频率计数11)和MEXICO(原始频率计数259),而关于source1的字典包括出现在被叫做“taddress3”的字段中的单词MEXCIO(原始频率计数2)和MEXICO(原始频率计数311)(注意source0中加重音符的E)。
在该示例中,基于在关于source0的字典的删除集和关于source1的字典的删除集之间的联合操作,存储在档案114中的单词对包括source0和source1之间的潜在模糊匹配。(以下示例将利用来自每个源的删除集的自联合的潜在模糊匹配来增加档案。)因此,以下两个潜在模糊匹配对出现在档案114中:
MEXICO
MEXICOMEXCIO
重新规格化过程的示例如下。处理关于source0和source1二者的字典,例如,开始于source0中的单词在档案114中查找该单词以寻找在source1中出现的潜在模糊匹配的列表。然后,在关于source0的原始字典中查找每个潜在模糊匹配。结果得到的计数被添加到原始计数。应用于上述示例的过程产生关于在source0的字典中的单词频率计数的重新规格化的以下结果:
来自source0首次输入单词和原始计数:11在档案中查找,返回{MEXICO}在source0字典中查找每个,添加计数:
source0:MEXICO259
找到:{MEXICO}
对于的重新规格化计数=11+259=270来自source0的第二次输入单词和原始计数:MEXICO259在档案中查找,返回{MEXCIO}在source0字典中查找每个,添加计数:
source0:11
source0:MEXCIO未找到
找到:
对于MEXICO的重新规格化计数=259+11=270
假定对于具有原始单词频率计数5的单词在source0字典中存在附加条目。
该单词在source1中不具有对于任何单词的潜在模糊匹配,故它不出现在档案114中,因此将不参与对于source0(相对于source1)的重新规格化。可是,如果已经利用source0字典的删除集上的自身联合来扩展档案114为具有该附加条目,则在档案114中将有以下附加条目:
然后,对第一单词的查找将添加到该组所找到的潜在模糊匹配中。对于的重新规格化则将执行如下:
source0:MEXICO259
source0:5
找到:{MEXICO}
对于的重新规格化计数=11+5+259=275现在,重新规格化的单词频率更高,反映出附加潜在模糊匹配的存在。然后计算基于重新规格化的单词频率计数计算的重要性分值,例如对用非空记录的总数除以重新规格化的单词频率计数求对数。在重要性分值的这个版本中,单词及其变型出现越频繁,则重要性分值越低。负值指示单词出现常多于每个记录一次。
重新规格化的单词频率计数能够被用来识别可能的错误拼写或相反地可能的误判。简言之,期望错误拼写预计是少见的而误判则不然。简单的比率测试指示哪些单词具有比重新规格化的单词频率计数少得多的计数。这些很可能是错误拼写。如果参考ngram频率则可以取得甚至更高的置信度。ngram是n字母单词片段。遍及全部数据的ngram的频率分布指示不同字母组合的发生频率。(该分布当然是语言特定的。)该想法在于在档案的产生期间,在两个单词之间的改变的位置是已知的。横越(span)改变的位置的两字母和三字母(以及更多的)单词片段能够被识别并查找它们的频率。如果在一个单词中与该改变相关联的ngram频率与在另一个单词中的ngram频率相比低很多,则指示前一单词很可能被错误拼写。
另一方面,其每个具有相对较高计数的多个变型很可能是自然发生的变型——也即,误判。从评分的观点看,误判匹配的存在由于对其添加了相对更大的计数而降低了单词的重要性。在一些情况中,因为其指示该单词可能被弄错,所以这会是理想的。但是在另外的情况中,各单词样子如此不同,以致不可能是错误产生的它们---当然不是在相对计数的级别。
重要性可以完全是相对的。当涉及多个源时,一些潜在模糊匹配单词可能不会在全部源中出现。这意味着调整后的计数能够在各源之间变化。类似地,与单词相关联的字段或上下文可以是相关的。例如,做出的该调整能够适用于源、字段和上下文的解析。在相对的情况中,只有当在比较两个源时在合适的源/字段/上下文中实际出现的潜在模糊匹配才将被用于调整该计数。期望来自源特定变型的贡献一般是较小的影响。
2.6编码
在删除-联合过程中找到的接近单词基于本质上未从它们在原始数据集中的样子中改变的单词中的字符的排列。接近单词比较也能够在通过使用“单词编码”改变的“单词的间隔”中进行。当使用单词编码时所找到的接近集合可以不同。单词编码将单词映射到新的表示。映射可以是一对一、一对多或多对一。一些编码可以将单词变换为不同的字符集,而一些编码可以将单词变换为数字表示。单词编码修改单词的间隔从而根据给定度量的单词之间的距离可能变化。在应用单词编码之后,就它们的自然字符表示来说并不接近的单词可以是接近的。
例如,在一些实施方式中,预执行模块110执行“素数编码”,其中字符集中的每个字符被编码为素数(如,在字母表的每个字母被映射到不同的素数,不管大小写),并且编码的单词是字符的素数的乘积。因为乘法是累积的(即独立于因子的阶),所以只要它们包括相同的字符集,而不管它们的顺序如何,则两个编码的单词是相同的。该编码对互换不敏感或者真正地对加扰不敏感,并且是多对一映射的示例。
对于给定编码,删除-联合过程的变型在编码以产生接近单词之前能够执行字符的删除,或者在编码以产生接近单词之后能够执行接近单词操作。能够执行用于素数编码的删除-联合过程的变型,其中模块110将编码乘积除以素数以删除删除变型中的对应字符。对于一些编码(如素数编码),编码之后的接近单词操作产生如同在编码之前已进行了字符删除的结果,但是对于其他编码,如果在编码之前已进行了字符删除,则接近单词操作可以产生不同的结果。
对于使用多个字母表或字符集(如,识别字符的计算机字节代码)的一些语言,如日语,编码可以包括在编码之间标准化字母表或字符集的选择。
2.7多词
多词(multiword)是被当成单词的、包含嵌入空格的短语。在前一示例中,在评分之前短语已经被解析为没有嵌入空格的单词。这忽略了两个潜在的错误源:空格能够被插入单词中而单词之间的空格能够被丢弃。另一示例是将与短语相关的同义词处理为单个单词,如首字母缩写词。
允许嵌入空格以削弱作为分隔符的空格的识别。这通过将短语的解析扩展为不仅包含单个单词,而且包括全部相邻的一对词和三个词等来实现。短语被分解为比特定长度短的它的全部子短语(多词)。多词(mword)中的全部嵌入空格被删除以形成级联单词(cword)。这类似于通过删除形成的单词。cword变为多词字典和多词档案的关键字。当比较多词时,匹配它们的cword然后给原始mword评分。目前,忽视在mword中错误拼写的单词的概率。为对待这种情况,当对mword对进行评分时参考该档案。
作为示例,考虑具有以下3个名称的源
JOHNASMITH
JOHNASMITH
JOHNASMITH
将第一条目mword分解为长度3将给出一组mword:{JOHN,A,SMITH,JOHNA,ASMITH,JOHNASMITH}。
3实现方式
能够使用用于在计算机上执行的软件来实现这里描述的近似串匹配方法。例如,该软件形成一个或多个计算机程序中的进程,所述一个或多个计算机程序在一个或多个编程的或可编程的计算机系统(其可以具有各种架构,诸如分布式、客户端/服务器或网格)上执行,每个系统包括至少一个处理器、至少一个数据存储系统(包括易失性和非易失性存储器和/或存储元件)、至少一个输入设备或端口以及至少一个输出设备或端口。软件可以形成更大程序的一个或多个模块,例如,提供与计算图形的设计和配置有关的其他服务。图形的节点和元素能够被实现为存储在计算机可读介质中的数据结构或遵循存储在数据仓库中的数据模型的其他组织数据。
软件可以被提供在存储介质上,诸如CD-ROM,可通过通用或专用可编程计算机读取或者经过网络的通信介质传递到(以传播信号编码)在其中被执行的计算机上。全部功能可以在专用计算机上执行,或者使用专用硬件(诸如协处理器)来执行。可以以分布式方式实现软件,其中由软件指定的计算的不同部分由不同的计算机执行。每个这样的计算机程序优选地被存储在或下载到通用或专用可编程计算机可读的存储媒体或设备(如,固态存储器或媒体,或磁或光媒体),用于当存储媒体或设备被计算机系统读取以执行这里所述的程序时配置和操作计算机。发明性系统也可以考虑实被现为计算机可读存储介质,配置有计算机程序,其中存储介质被配置来使得计算机系统以特定的和预定的方式操作以执行这里所述的功能。
已经描述了本发明的多个实施例。然而,将理解可以做出各种修改而不脱离本发明的精神和范围。例如,上述的一些步骤可以是顺序独立的,因此能够按照不同于所述的顺序来执行。
应该理解,前述说明意欲是说明性的而非限制本发明的范围,该范围由所附权利要求的范围来限定。例如,可以以不同的顺序来执行上述的多个功能步骤,而不会在本质上影响整个处理。其他实施例在以下权利要求的范围中。

Claims (28)

1.一种用于管理用来确定与在记录中出现的串相关联的近似匹配的档案的方法,该方法包括步骤:
处理记录以确定一组串代表,所述串代表对应于在记录中出现的串;
为该组中的至少一些串代表的每个产生多个删除变型,所述多个删除变型的每个通过从对应串删除一个或多个字符而产生;
存储条目在档案中,每个条目表示基于它们各自的删除变型的在至少两个串之间的潜在近似匹配;
对于该组中的至少一些串代表的每个,确定记录中对应串的出现频率;以及
对于该组中的至少一些串代表的每个,产生表示所述档案中相应串的重要性的重要性值,
其中,所述重要性值基于包括该串的出现频率和在档案中作为该串的潜在近似匹配而代表的至少一些串的出现频率的总和;以及
基于存储的条目,匹配来自一数据集的记录与来自另一数据集的另一记录。
2.根据权利要求1所述的方法,其中,每个串代表包括一个串。
3.根据权利要求2所述的方法,其中,每个接近代表包括该串中的至少一些相同字符。
4.根据权利要求3所述的方法,其中,为该组中的给定串产生多个删除变型的步骤包括产生其每个使得从给定串中删除不同的字符的删除变型。
5.根据权利要求4所述的方法,其中,为该组中的给定串产生多个删除变型的步骤包括产生其每个使得从给定串中删除单个字符的删除变型。
6.根据权利要求5所述的方法,其中,为该组中的给定串产生多个删除变型的步骤包括产生其中的至少一些使得从给定串中删除多个字符的删除变型。
7.根据权利要求4所述的方法,其中,产生其每个是从给定串中删除不同的字符的删除变型的步骤包括:如果给定串比预定长度短则产生其每个使得从给定串中删除单个字符的删除变型,以及如果给定串比预定长度长则产生其中的至少一些使得从给定串中删除多个字符的删除变型。
8.根据权利要求1所述的方法,其中,该重要性值是基于除以该总和的值来产生的。
9.根据权利要求1所述的方法,还包括步骤:通过确定短语中的串是否对应于近似匹配来确定包括多个串的不同短语是否对应于近似匹配,其中基于它们相应的重要性值来选择所述短语中的串。
10.根据权利要求9所述的方法,其中短语中串的重要性值是基于该总和的,并且基于该串的长度、短语中串的位置、其中出现串的记录的字段、和其中该字段出现的记录的源中的至少一个。
11.根据权利要求1所述的方法,还包括步骤:对于档案中至少一些条目的每个产生与条目相关联的分值,其量化至少两个串之间的潜在近似匹配的质量。
12.根据权利要求11所述的方法,还包括步骤:通过将与条目相关联的分值与阈值比较来确定与条目相关联的串是否对应于近似匹配。
13.根据权利要求11所述的方法,其中,该分值基于用来确定至少两个串之间的潜在近似匹配的各自删除变型之间的对应性。
14.根据权利要求1所述的方法,其中,处理记录以确定对应于在记录中出现的串的一组串代表包括:修改在至少一个记录中出现的串以产生修改串,以便包括在该组串代表中。
15.根据权利要求14所述的方法,其中,修改串包括去除或替换标点。
16.根据权利要求14所述的方法,其中,修改串包括将串编码为不同的代表。
17.根据权利要求16所述的方法,其中,修改串包括将串编码为数字代表。
18.根据权利要求17所述的方法,其中,将串编码为数字代表包括:将串中的每个字符映射为素数,并且将串表示为映射到串中的字符的素数的乘积。
19.根据权利要求1所述的方法,其中,该档案包括基于来自用户的输入而表示至少两个串之间的潜在近似匹配的至少一些条目。
20.根据权利要求1所述的方法,其中,每个条目包括串和分值,其中在串之间存在潜在近似匹配,而所述分值量化串之间的潜在近似匹配的质量。
21.根据权利要求1所述的方法,还包括步骤:对于该组中的至少一些串代表的每个,基于相应串的出现频率而产生代表相应串的重要性的重要性值。
22.根据权利要求11所述的方法,还包括步骤:使用档案中的条目来识别作为可能的误判的潜在近似匹配。
23.根据权利要求22所述的方法,其中,在第一串和第二串之间的可能的误判潜在近似匹配是基于记录中第一串的出现频率和记录中第二串的出现频率来识别的。
24.根据权利要求22所述的方法,其中,基于档案中存储的n-gram频率来识别可能的误判潜在近似匹配,n-gram是n字母单词片段。
25.根据权利要求22所述的方法,还包括步骤:响应于作为可能的误判的潜在近似匹配的识别,调整与代表潜在近似匹配的条目相关联的分值。
26.根据权利要求1所述的方法,还包括步骤:对于在与记录中的串对应的、该组中的串代表产生重要性值,包含计算如下内容的除以总和的值:
记录中对应串的出现频率,和
在档案中作为记录中对应串的潜在近似匹配而代表的串的出现频率。
27.一种用于管理用来确定与在记录中出现的串相关联的近似匹配的档案的系统,该系统包括:
用于处理记录以确定一组串代表的部件,所述串代表对应于在记录中出现的串;
用于对于该组中的至少一些串代表的每个产生多个删除变型的部件,所述多个删除变型的每个通过从对应串删除一个或多个字符而产生;
用于存储条目在档案中的部件,每个条目表示基于它们各自的删除变型的在至少两个串之间的潜在近似匹配;
用于对于该组中的至少一些串代表的每个确定记录中对应串的出现频率的部件;
用于对于该组中的至少一些串代表的每个,产生表示所述档案中相应串的重要性的重要性值的部件,
其中,所述重要性值基于包括该串的出现频率和在档案中作为该串的潜在近似匹配而代表的至少一些串的出现频率的总和;以及
用于基于存储的条目匹配来自一数据集的记录与来自另一数据集的另一记录的部件。
28.一种用于管理用来确定与在记录中出现的串相关联的近似匹配的档案的系统,该系统包括:
数据源,用于存储记录;
计算机系统,包括
用于处理该数据源中的记录以确定一组串代表的部件,所述串代表对应于在记录中出现的串;
用于对于该组中的至少一些串代表的每个,产生多个删除变型的部件,所述多个删除变型的每个通过从对应串删除一个或多个字符而产生;
用于对于该组中的至少一些串代表的每个,确定记录中对应串的出现频率的部件;
用于对于该组中的至少一些串代表的每个,产生表示所述档案中相应串的重要性的重要性值的部件;以及
与所述计算机系统耦接的数据存储器,存储包括条目的档案,每个条目表示基于它们各自的删除变型的在至少两个串之间的潜在近似匹配,
其中,所述重要性值基于包括该串的出现频率和在档案中作为该串的潜在近似匹配而代表的至少一些串的出现频率的总和;以及
用于基于存储的条目匹配来自一数据集的记录与来自另一数据集的另一记录的部件。
CN200880128089.2A 2008-01-16 2008-12-30 管理关于近似串匹配的档案 Active CN101978348B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510647048.6A CN105373365B (zh) 2008-01-16 2008-12-30 用于管理关于近似串匹配的档案的方法和系统

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/015,085 US8775441B2 (en) 2008-01-16 2008-01-16 Managing an archive for approximate string matching
US12/015,085 2008-01-16
PCT/US2008/088530 WO2009091494A1 (en) 2008-01-16 2008-12-30 Managing an archive for approximate string matching

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201510647048.6A Division CN105373365B (zh) 2008-01-16 2008-12-30 用于管理关于近似串匹配的档案的方法和系统

Publications (2)

Publication Number Publication Date
CN101978348A CN101978348A (zh) 2011-02-16
CN101978348B true CN101978348B (zh) 2015-11-25

Family

ID=40851547

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201510647048.6A Active CN105373365B (zh) 2008-01-16 2008-12-30 用于管理关于近似串匹配的档案的方法和系统
CN200880128089.2A Active CN101978348B (zh) 2008-01-16 2008-12-30 管理关于近似串匹配的档案

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201510647048.6A Active CN105373365B (zh) 2008-01-16 2008-12-30 用于管理关于近似串匹配的档案的方法和系统

Country Status (8)

Country Link
US (2) US8775441B2 (zh)
EP (1) EP2235621A4 (zh)
JP (1) JP5603250B2 (zh)
KR (1) KR101564385B1 (zh)
CN (2) CN105373365B (zh)
AU (1) AU2008348066B2 (zh)
CA (1) CA2710882C (zh)
WO (1) WO2009091494A1 (zh)

Families Citing this family (66)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7877350B2 (en) * 2005-06-27 2011-01-25 Ab Initio Technology Llc Managing metadata for graph-based computations
JP5894724B2 (ja) * 2006-08-10 2016-03-30 アビニシオ テクノロジー エルエルシー グラフ型計算の分散サービス
KR101758670B1 (ko) 2007-07-26 2017-07-18 아브 이니티오 테크놀로지 엘엘시 에러 핸들링이 가능한 그래프 기반의 트랜잭션 연산 처리 방법 및 시스템
US8775441B2 (en) 2008-01-16 2014-07-08 Ab Initio Technology Llc Managing an archive for approximate string matching
WO2009094649A1 (en) * 2008-01-24 2009-07-30 Sra International, Inc. System and method for variant string matching
US8095773B2 (en) 2008-02-26 2012-01-10 International Business Machines Corporation Dynamic address translation with translation exception qualifier
KR101491581B1 (ko) * 2008-04-07 2015-02-24 삼성전자주식회사 철자 오류 보정 시스템 및 방법
EP2342684A4 (en) 2008-10-23 2017-09-20 Ab Initio Technology LLC Fuzzy data operations
US9135396B1 (en) 2008-12-22 2015-09-15 Amazon Technologies, Inc. Method and system for determining sets of variant items
CN102317911B (zh) 2009-02-13 2016-04-06 起元技术有限责任公司 管理任务执行
US8856879B2 (en) 2009-05-14 2014-10-07 Microsoft Corporation Social authentication for account recovery
US9124431B2 (en) * 2009-05-14 2015-09-01 Microsoft Technology Licensing, Llc Evidence-based dynamic scoring to limit guesses in knowledge-based authentication
US8667329B2 (en) * 2009-09-25 2014-03-04 Ab Initio Technology Llc Processing transactions in graph-based applications
WO2011088195A1 (en) 2010-01-13 2011-07-21 Ab Initio Technology Llc Matching metadata sources using rules for characterizing matches
AU2011268459B2 (en) 2010-06-15 2014-09-18 Ab Initio Technology Llc Dynamically loading graph-based computations
US8798366B1 (en) 2010-12-28 2014-08-05 Amazon Technologies, Inc. Electronic book pagination
US9846688B1 (en) 2010-12-28 2017-12-19 Amazon Technologies, Inc. Book version mapping
US9069767B1 (en) 2010-12-28 2015-06-30 Amazon Technologies, Inc. Aligning content items to identify differences
KR101889120B1 (ko) 2011-01-28 2018-08-16 아브 이니티오 테크놀로지 엘엘시 데이터 패턴 정보 생성
US9881009B1 (en) 2011-03-15 2018-01-30 Amazon Technologies, Inc. Identifying book title sets
US9317544B2 (en) 2011-10-05 2016-04-19 Microsoft Corporation Integrated fuzzy joins in database management systems
EP2780836A1 (en) * 2011-11-15 2014-09-24 Ab Initio Technology LLC Data clustering based on variant token networks
US8788471B2 (en) 2012-05-30 2014-07-22 International Business Machines Corporation Matching transactions in multi-level records
US10108521B2 (en) 2012-11-16 2018-10-23 Ab Initio Technology Llc Dynamic component performance monitoring
US9507682B2 (en) 2012-11-16 2016-11-29 Ab Initio Technology Llc Dynamic graph performance monitoring
GB2508223A (en) 2012-11-26 2014-05-28 Ibm Estimating the size of a joined table in a database
GB2508603A (en) 2012-12-04 2014-06-11 Ibm Optimizing the order of execution of multiple join operations
US9274926B2 (en) 2013-01-03 2016-03-01 Ab Initio Technology Llc Configurable testing of computer programs
US9063944B2 (en) 2013-02-21 2015-06-23 International Business Machines Corporation Match window size for matching multi-level transactions between log files
US9317499B2 (en) * 2013-04-11 2016-04-19 International Business Machines Corporation Optimizing generation of a regular expression
US9146946B2 (en) * 2013-05-09 2015-09-29 International Business Machines Corporation Comparing database performance without benchmark workloads
CN104182383B (zh) * 2013-05-27 2019-01-01 腾讯科技(深圳)有限公司 一种文字统计方法及设备
US20140350919A1 (en) * 2013-05-27 2014-11-27 Tencent Technology (Shenzhen) Company Limited Method and apparatus for word counting
US20150046152A1 (en) * 2013-08-08 2015-02-12 Quryon, Inc. Determining concept blocks based on context
US10043182B1 (en) * 2013-10-22 2018-08-07 Ondot System, Inc. System and method for using cardholder context and preferences in transaction authorization
CA3128713C (en) 2013-12-05 2022-06-21 Ab Initio Technology Llc Managing interfaces for dataflow graphs composed of sub-graphs
US10521441B2 (en) * 2014-01-02 2019-12-31 The George Washington University System and method for approximate searching very large data
MY173084A (en) * 2014-05-23 2019-12-25 Mimos Berhad Adaptive-window edit distance algorithm computation
US9589074B2 (en) 2014-08-20 2017-03-07 Oracle International Corporation Multidimensional spatial searching for identifying duplicate crash dumps
US10764265B2 (en) * 2014-09-24 2020-09-01 Ent. Services Development Corporation Lp Assigning a document to partial membership in communities
US9805099B2 (en) * 2014-10-30 2017-10-31 The Johns Hopkins University Apparatus and method for efficient identification of code similarity
US9679024B2 (en) * 2014-12-01 2017-06-13 Facebook, Inc. Social-based spelling correction for online social networks
JP2015062146A (ja) * 2015-01-05 2015-04-02 富士通株式会社 情報生成プログラム、情報生成装置、および情報生成方法
US9646061B2 (en) 2015-01-22 2017-05-09 International Business Machines Corporation Distributed fuzzy search and join with edit distance guarantees
US20170004120A1 (en) * 2015-06-30 2017-01-05 Facebook, Inc. Corrections for natural language processing
US9904672B2 (en) 2015-06-30 2018-02-27 Facebook, Inc. Machine-translation based corrections
US10657134B2 (en) 2015-08-05 2020-05-19 Ab Initio Technology Llc Selecting queries for execution on a stream of real-time data
US10140200B2 (en) * 2015-10-15 2018-11-27 King.Dom Ltd. Data analysis
IL242218B (en) * 2015-10-22 2020-11-30 Verint Systems Ltd A system and method for maintaining a dynamic dictionary
CN105446957B (zh) 2015-12-03 2018-07-20 小米科技有限责任公司 相似性确定方法、装置及终端
EP3779674B1 (en) 2015-12-21 2023-02-01 AB Initio Technology LLC Sub-graph interface generation
WO2017197402A2 (en) * 2016-05-13 2017-11-16 Maana, Inc. Machine-assisted object matching
US11176180B1 (en) * 2016-08-09 2021-11-16 American Express Travel Related Services Company, Inc. Systems and methods for address matching
US10228955B2 (en) * 2016-09-29 2019-03-12 International Business Machines Corporation Running an application within an application execution environment and preparation of an application for the same
US10402489B2 (en) 2016-12-21 2019-09-03 Facebook, Inc. Transliteration of text entry across scripts
US10810380B2 (en) 2016-12-21 2020-10-20 Facebook, Inc. Transliteration using machine translation pipeline
US10394960B2 (en) 2016-12-21 2019-08-27 Facebook, Inc. Transliteration decoding using a tree structure
US10546062B2 (en) * 2017-11-15 2020-01-28 International Business Machines Corporation Phonetic patterns for fuzzy matching in natural language processing
US11294943B2 (en) 2017-12-08 2022-04-05 International Business Machines Corporation Distributed match and association of entity key-value attribute pairs
US11163952B2 (en) * 2018-07-11 2021-11-02 International Business Machines Corporation Linked data seeded multi-lingual lexicon extraction
US11693860B2 (en) 2019-01-31 2023-07-04 Optumsoft, Inc. Approximate matching
US11269905B2 (en) * 2019-06-20 2022-03-08 International Business Machines Corporation Interaction between visualizations and other data controls in an information system by matching attributes in different datasets
US11886794B2 (en) * 2020-10-23 2024-01-30 Saudi Arabian Oil Company Text scrambling/descrambling
US11556593B1 (en) 2021-07-14 2023-01-17 International Business Machines Corporation String similarity determination
US11615243B1 (en) * 2022-05-27 2023-03-28 Intuit Inc. Fuzzy string alignment
KR20240025272A (ko) 2022-08-18 2024-02-27 한국전력공사 자연어 처리를 위한 비정형 데이터 기반 근사 질의응답 시스템 및 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006102227A2 (en) * 2005-03-19 2006-09-28 Activeprime, Inc. Systems and methods for manipulation of inexact semi-structured data
US20070239741A1 (en) * 2002-06-12 2007-10-11 Jordahl Jena J Data storage, retrieval, manipulation and display tools enabling multiple hierarchical points of view

Family Cites Families (88)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02129756A (ja) 1988-11-10 1990-05-17 Nippon Telegr & Teleph Corp <Ntt> 単語照合装置
US5179643A (en) * 1988-12-23 1993-01-12 Hitachi, Ltd. Method of multi-dimensional analysis and display for a large volume of record information items and a system therefor
US5388259A (en) * 1992-05-15 1995-02-07 Bell Communications Research, Inc. System for accessing a database with an iterated fuzzy query notified by retrieval response
JPH0644309A (ja) 1992-07-01 1994-02-18 Nec Corp データベース管理方式
JPH0944518A (ja) 1995-08-02 1997-02-14 Adoin Kenkyusho:Kk 画像データベースの構築方法と、画像データベースの検索方法及び検索装置
US5832182A (en) * 1996-04-24 1998-11-03 Wisconsin Alumni Research Foundation Method and system for data clustering for very large databases
JPH10275159A (ja) 1997-03-31 1998-10-13 Nippon Telegr & Teleph Corp <Ntt> 情報検索方法及び装置
JP3466054B2 (ja) 1997-04-18 2003-11-10 富士通株式会社 グループ化と集計演算処理方式
US6026398A (en) * 1997-10-16 2000-02-15 Imarket, Incorporated System and methods for searching and matching databases
JPH11184884A (ja) 1997-12-24 1999-07-09 Ntt Data Corp 同一人判定システムおよび方法
US6581058B1 (en) * 1998-05-22 2003-06-17 Microsoft Corporation Scalable system for clustering of large databases having mixed data attributes
US6285995B1 (en) 1998-06-22 2001-09-04 U.S. Philips Corporation Image retrieval system using a query image
US6742003B2 (en) * 2001-04-30 2004-05-25 Microsoft Corporation Apparatus and accompanying methods for visualizing clusters of data and hierarchical cluster classifications
JP2000029899A (ja) 1998-07-14 2000-01-28 Hitachi Software Eng Co Ltd 建物と地図とのマッチング方法および記録媒体
US6493709B1 (en) * 1998-07-31 2002-12-10 The Regents Of The University Of California Method and apparatus for digitally shredding similar documents within large document sets in a data processing environment
US6658626B1 (en) * 1998-07-31 2003-12-02 The Regents Of The University Of California User interface for displaying document comparison information
US7356462B2 (en) * 2001-07-26 2008-04-08 At&T Corp. Automatic clustering of tokens from a corpus for grammar acquisition
US6317707B1 (en) * 1998-12-07 2001-11-13 At&T Corp. Automatic clustering of tokens from a corpus for grammar acquisition
US6456995B1 (en) * 1998-12-31 2002-09-24 International Business Machines Corporation System, method and computer program products for ordering objects corresponding to database operations that are performed on a relational database upon completion of a transaction by an object-oriented transaction system
AU780926B2 (en) * 1999-08-03 2005-04-28 Bally Technologies, Inc. Method and system for matching data sets
WO2001031479A1 (en) 1999-10-27 2001-05-03 Zapper Technologies Inc. Context-driven information retrieval
JP2001147930A (ja) 1999-11-19 2001-05-29 Mitsubishi Electric Corp 文字列比較方法および文字列比較を用いた情報検索装置
US7328211B2 (en) * 2000-09-21 2008-02-05 Jpmorgan Chase Bank, N.A. System and methods for improved linguistic pattern matching
DE10048478C2 (de) * 2000-09-29 2003-05-28 Siemens Ag Verfahren zum Zugriff auf eine Speichereinheit bei der Suche nach Teilzeichenfolgen
US6931390B1 (en) * 2001-02-27 2005-08-16 Oracle International Corporation Method and mechanism for database partitioning
JP3605052B2 (ja) 2001-06-20 2004-12-22 本田技研工業株式会社 あいまい検索機能を備える図面管理システム
US20030033138A1 (en) * 2001-07-26 2003-02-13 Srinivas Bangalore Method for partitioning a data set into frequency vectors for clustering
US7043647B2 (en) 2001-09-28 2006-05-09 Hewlett-Packard Development Company, L.P. Intelligent power management for a rack of servers
US6570511B1 (en) * 2001-10-15 2003-05-27 Unisys Corporation Data compression method and apparatus implemented with limited length character tables and compact string code utilization
US7213025B2 (en) 2001-10-16 2007-05-01 Ncr Corporation Partitioned database system
US20030120630A1 (en) * 2001-12-20 2003-06-26 Daniel Tunkelang Method and system for similarity search and clustering
US7369984B2 (en) * 2002-02-01 2008-05-06 John Fairweather Platform-independent real-time interface translation by token mapping without modification of application code
WO2003067497A1 (en) 2002-02-04 2003-08-14 Cataphora, Inc A method and apparatus to visually present discussions for data mining purposes
US6961721B2 (en) * 2002-06-28 2005-11-01 Microsoft Corporation Detecting duplicate records in database
US20050226511A1 (en) 2002-08-26 2005-10-13 Short Gordon K Apparatus and method for organizing and presenting content
US7043476B2 (en) * 2002-10-11 2006-05-09 International Business Machines Corporation Method and apparatus for data mining to discover associations and covariances associated with data
US7392247B2 (en) 2002-12-06 2008-06-24 International Business Machines Corporation Method and apparatus for fusing context data
US20040139072A1 (en) * 2003-01-13 2004-07-15 Broder Andrei Z. System and method for locating similar records in a database
US7912842B1 (en) 2003-02-04 2011-03-22 Lexisnexis Risk Data Management Inc. Method and system for processing and linking data records
US7287019B2 (en) * 2003-06-04 2007-10-23 Microsoft Corporation Duplicate data elimination system
US20050120011A1 (en) * 2003-11-26 2005-06-02 Word Data Corp. Code, method, and system for manipulating texts
US7493294B2 (en) * 2003-11-28 2009-02-17 Manyworlds Inc. Mutually adaptive systems
US7283999B1 (en) * 2003-12-19 2007-10-16 Ncr Corp. Similarity string filtering
US7472113B1 (en) * 2004-01-26 2008-12-30 Microsoft Corporation Query preprocessing and pipelining
GB0413743D0 (en) * 2004-06-19 2004-07-21 Ibm Method and system for approximate string matching
US7917480B2 (en) * 2004-08-13 2011-03-29 Google Inc. Document compression system and method for use with tokenspace repository
US8407239B2 (en) * 2004-08-13 2013-03-26 Google Inc. Multi-stage query processing system and method for use with tokenspace repository
US20080040342A1 (en) * 2004-09-07 2008-02-14 Hust Robert M Data processing apparatus and methods
US8725705B2 (en) * 2004-09-15 2014-05-13 International Business Machines Corporation Systems and methods for searching of storage data with reduced bandwidth requirements
US7523098B2 (en) * 2004-09-15 2009-04-21 International Business Machines Corporation Systems and methods for efficient data searching, storage and reduction
US7290084B2 (en) * 2004-11-02 2007-10-30 Integrated Device Technology, Inc. Fast collision detection for a hashed content addressable memory (CAM) using a random access memory
US9110985B2 (en) * 2005-05-10 2015-08-18 Neetseer, Inc. Generating a conceptual association graph from large-scale loosely-grouped content
US7584205B2 (en) 2005-06-27 2009-09-01 Ab Initio Technology Llc Aggregating data with complex operations
US7658880B2 (en) * 2005-07-29 2010-02-09 Advanced Cardiovascular Systems, Inc. Polymeric stent polishing method and apparatus
US7672833B2 (en) * 2005-09-22 2010-03-02 Fair Isaac Corporation Method and apparatus for automatic entity disambiguation
US7890533B2 (en) * 2006-05-17 2011-02-15 Noblis, Inc. Method and system for information extraction and modeling
US8175875B1 (en) * 2006-05-19 2012-05-08 Google Inc. Efficient indexing of documents with similar content
US7634464B2 (en) 2006-06-14 2009-12-15 Microsoft Corporation Designing record matching queries utilizing examples
US20080140653A1 (en) * 2006-12-08 2008-06-12 Matzke Douglas J Identifying Relationships Among Database Records
US7739247B2 (en) * 2006-12-28 2010-06-15 Ebay Inc. Multi-pass data organization and automatic naming
EP2122506A4 (en) * 2007-01-10 2011-11-30 Sysomos Inc METHOD AND SYSTEM FOR INFORMATION DISCOVERY AND TEXT ANALYSIS
US8694472B2 (en) 2007-03-14 2014-04-08 Ca, Inc. System and method for rebuilding indices for partitioned databases
US7711747B2 (en) * 2007-04-06 2010-05-04 Xerox Corporation Interactive cleaning for automatic document clustering and categorization
JP4203967B1 (ja) * 2007-05-28 2009-01-07 パナソニック株式会社 情報探索支援方法および情報探索支援装置
US7769778B2 (en) * 2007-06-29 2010-08-03 United States Postal Service Systems and methods for validating an address
US7788276B2 (en) * 2007-08-22 2010-08-31 Yahoo! Inc. Predictive stemming for web search with statistical machine translation models
US7925652B2 (en) * 2007-12-31 2011-04-12 Mastercard International Incorporated Methods and systems for implementing approximate string matching within a database
US8775441B2 (en) 2008-01-16 2014-07-08 Ab Initio Technology Llc Managing an archive for approximate string matching
US8032546B2 (en) * 2008-02-15 2011-10-04 Microsoft Corp. Transformation-based framework for record matching
US8266168B2 (en) * 2008-04-24 2012-09-11 Lexisnexis Risk & Information Analytics Group Inc. Database systems and methods for linking records and entity representations with sufficiently high confidence
US7958125B2 (en) * 2008-06-26 2011-06-07 Microsoft Corporation Clustering aggregator for RSS feeds
WO2010028437A1 (en) * 2008-09-10 2010-03-18 National Ict Australia Limited Identifying relationships between users of a communications domain
US8150169B2 (en) * 2008-09-16 2012-04-03 Viewdle Inc. System and method for object clustering and identification in video
EP2342684A4 (en) 2008-10-23 2017-09-20 Ab Initio Technology LLC Fuzzy data operations
US20100169311A1 (en) * 2008-12-30 2010-07-01 Ashwin Tengli Approaches for the unsupervised creation of structural templates for electronic documents
JP5173898B2 (ja) 2009-03-11 2013-04-03 キヤノン株式会社 画像処理方法、画像処理装置、及びプログラム
US20100274770A1 (en) * 2009-04-24 2010-10-28 Yahoo! Inc. Transductive approach to category-specific record attribute extraction
US8161048B2 (en) * 2009-04-24 2012-04-17 At&T Intellectual Property I, L.P. Database analysis using clusters
US8195626B1 (en) 2009-06-18 2012-06-05 Amazon Technologies, Inc. Compressing token-based files for transfer and reconstruction
US20100333116A1 (en) * 2009-06-30 2010-12-30 Anand Prahlad Cloud gateway system for managing data storage to cloud storage sites
US8713018B2 (en) * 2009-07-28 2014-04-29 Fti Consulting, Inc. System and method for displaying relationships between electronically stored information to provide classification suggestions via inclusion
US8433715B1 (en) * 2009-12-16 2013-04-30 Board Of Regents, The University Of Texas System Method and system for text understanding in an ontology driven platform
US8375061B2 (en) * 2010-06-08 2013-02-12 International Business Machines Corporation Graphical models for representing text documents for computer analysis
US8346772B2 (en) * 2010-09-16 2013-01-01 International Business Machines Corporation Systems and methods for interactive clustering
US8463742B1 (en) 2010-09-17 2013-06-11 Permabit Technology Corp. Managing deduplication of stored data
US8606771B2 (en) * 2010-12-21 2013-12-10 Microsoft Corporation Efficient indexing of error tolerant set containment
US8612386B2 (en) * 2011-02-11 2013-12-17 Alcatel Lucent Method and apparatus for peer-to-peer database synchronization in dynamic networks
EP2780836A1 (en) 2011-11-15 2014-09-24 Ab Initio Technology LLC Data clustering based on variant token networks

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070239741A1 (en) * 2002-06-12 2007-10-11 Jordahl Jena J Data storage, retrieval, manipulation and display tools enabling multiple hierarchical points of view
WO2006102227A2 (en) * 2005-03-19 2006-09-28 Activeprime, Inc. Systems and methods for manipulation of inexact semi-structured data

Also Published As

Publication number Publication date
US20090182728A1 (en) 2009-07-16
CA2710882C (en) 2017-01-17
CN105373365A (zh) 2016-03-02
WO2009091494A1 (en) 2009-07-23
KR20100116595A (ko) 2010-11-01
CN101978348A (zh) 2011-02-16
AU2008348066B2 (en) 2015-03-26
JP5603250B2 (ja) 2014-10-08
KR101564385B1 (ko) 2015-10-29
CN105373365B (zh) 2019-02-05
US20150066862A1 (en) 2015-03-05
EP2235621A1 (en) 2010-10-06
EP2235621A4 (en) 2012-08-29
US8775441B2 (en) 2014-07-08
JP2011511341A (ja) 2011-04-07
CA2710882A1 (en) 2009-07-23
US9563721B2 (en) 2017-02-07
AU2008348066A1 (en) 2009-07-23

Similar Documents

Publication Publication Date Title
CN101978348B (zh) 管理关于近似串匹配的档案
US8316292B1 (en) Identifying multiple versions of documents
US8391614B2 (en) Determining near duplicate “noisy” data objects
Agichtein et al. Mining reference tables for automatic text segmentation
CN108573045B (zh) 一种基于多阶指纹的比对矩阵相似度检索方法
US9195639B2 (en) Computer-based system and method for generating, classifying, searching, and analyzing standardized text templates and deviations from standardized text templates
US9183290B2 (en) Method and system for disambiguating informational objects
US8280719B2 (en) Methods and systems relating to information extraction
US8244767B2 (en) Composite locality sensitive hash based processing of documents
US20100287466A1 (en) Method for organizing large numbers of documents
US20180181646A1 (en) System and method for determining identity relationships among enterprise data entities
CN104040544A (zh) 基于变体标记网络的数据分群
CA2750609A1 (en) Methods and systems for matching records and normalizing names
US20220147526A1 (en) Keyword and business tag extraction
CN113901474B (zh) 一种基于函数级代码相似性的漏洞检测方法
CN113836272A (zh) 关键信息的展示方法、系统、计算机设备及可读存储介质
US11361565B2 (en) Natural language processing (NLP) pipeline for automated attribute extraction
CN111985212A (zh) 文本关键字识别方法、装置、计算机设备及可读存储介质
CN113392189A (zh) 基于自动分词的新闻文本处理方法
CN112949287B (zh) 热词挖掘方法、系统、计算机设备和存储介质
AU2015202043B2 (en) Managing an archive for approximate string matching
CN117131375A (zh) 英文缩写字符串的特征获取方法、装置、设备及存储介质
Vladimir et al. A preliminary study on similarity-preserving digital book identifiers

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant