CN102193967B - 比较有界域的值 - Google Patents

比较有界域的值 Download PDF

Info

Publication number
CN102193967B
CN102193967B CN201110056942.8A CN201110056942A CN102193967B CN 102193967 B CN102193967 B CN 102193967B CN 201110056942 A CN201110056942 A CN 201110056942A CN 102193967 B CN102193967 B CN 102193967B
Authority
CN
China
Prior art keywords
value
mistake
bounded domain
collection
allow
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
CN201110056942.8A
Other languages
English (en)
Other versions
CN102193967A (zh
Inventor
G·迪金森
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing 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 Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN102193967A publication Critical patent/CN102193967A/zh
Application granted granted Critical
Publication of CN102193967B publication Critical patent/CN102193967B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • 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/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2468Fuzzy queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Quality & Reliability (AREA)
  • Automation & Control Theory (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

公开了用于比较有界域中的值的方法、系统和计算机可读介质。一种具体方法包括对于有界域中的每一个值,确定与该值相关联的对应的容许差错集。这些容许差错集被存储在存储器处。该方法包括基于对应于有界域中的第一值的第一容许差错集与对应于有界域中的第二值的第二容许差错集的比较来确定该第一值和第二值之间的比较分数。

Description

比较有界域的值
技术领域
本发明一般涉及数据库系统,尤其涉及数据库系统中的值的比较与匹配方法。
背景技术
通常使用模糊匹配算法来标识存储在计算机系统中的重复数据。重复数据的示例可以是存储在数据库系统处的对应于同一个人的多个记录(例如,这些记录中的一个可能具有拼写错误的姓名)。数据重复可导致浪费计算资源(例如,存储资源)。这些匹配算法被称为“模糊”是因为它们处理不精确(即,“模糊”)的数据比较。由于对将要匹配的每一个数据项的各个“模糊匹配候选”的处理,模糊匹配算法可能是时间密集的且资源密集的。例如,当前用于字符串的模糊匹配算法的计算复杂性相对于所检查的字符串的长度呈指数地增加(例如,O(N2))。
发明内容
公开了一种用于比较有界域中的两个值的模糊匹配方法。为有界域中的每一个值预先计算并存储容许差错集。作为示例而非限制,有界域可包括有限数字域、日期域、色谱域、列表域、或枚举集合域。此外,作为示例而非限制,容许差错可包括印刷差错、范围差错、换位差错、转写差错或其它类型的差错。有界域中的两个值的模糊匹配使用通过比较两个值中的每一个的容许差错集来降低复杂性的方法来完成。
提供本发明内容是为了以简化的形式介绍将在以下具体实施方式中进一步描述的一些概念。本发明内容并不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于限定所要求保护的主题的范围。
附图说明
图1是示出比较有界域中的两个值的具体实施方式的图示;
图2是示出有界域中的值的容许差错集的具体实施方式的图示;
图3是示出确定有界域中的两个值之间的比较分数的具体实施方式的图示;
图4是示出比较有界域中的值的方法的具体实施方式的流程图;
图5是示出比较有界域的方法的另一具体实施方式的流程图;以及
图6是包括可用于支持如图1-5所示的计算机实现的方法、计算机程序产品以及系统组件的实施方式的计算设备的计算环境的框图。
具体实施方式
公开了用于比较有界域中的值的方法、系统和计算机可读介质。在一具体实施方式中,一种计算机实现的方法包括对于有界域中的每一个值,确定与该值相关联的对应的容许差错集。该方法还包括将容许差错集存储在存储器处。该方法还包括基于对应于有界域中的第一值的第一容许差错集与对应于有界域中的第二值的第二容许差错集的比较来确定该第一值和第二值之间的比较分数。
在另一具体实施方式中,一种计算机系统包括处理器以及耦合到该处理器的存储器。该存储器存储指令,该指令在被处理器执行时引起包括计算组件和运行时比较组件的模糊匹配逻辑的执行。该计算组件被配置成对于有界域中的多个值中的每一个,确定对应于该值的容许差错集并将该容许差错集存储在存储器处。运行时比较组件被配置成基于对应于有界域中的第一值的第一容许差错集以及对应于有界域中的第二值的第二容许差错集来确定该第一值和第二值之间的比较分数。
在另一具体实施方式中,一种计算机可读介质包括指令,该指令在被计算机执行时使该计算机执行以下操作:对于有界域中的每一个值,确定与该值相关联的对应的容许差错集。这些指令还使计算机对容许差错集执行求散列操作。对特定容许差错集执行求散列操作产生表示该特定集合的位掩码以及该位掩码的逻辑真位的计数。这些指令还使计算机将位掩码和计数存储在静态分配的存储器部分中。这些指令使计算机接收有界域中的第一值和有界域中的第二值。这些指令还使计算机从存储器中检索对应于第一值的第一位掩码和第一计数以及对应于第二值的第二位掩码和第二计数。这些指令还使计算机确定第一位掩码和第二位掩码的Jaccard分数。
图1描绘了比较有界域100中的两个值的具体实施方式。有界域100可包括多个值(例如,说明性值102和106)。有界域100中的每一个值可具有相关联的“模糊边界”。例如,在图1所示的具体实施方式中,第一值102具有第一模糊边界104,而第二值106具有第二模糊边界108。
当两个值的模糊边界重叠时,这两个值可被称为“模糊相似”(例如,出于合并重复值的目的而被视作匹配)。此外,两个值之间的相似性的量可基于模糊边界之间的重叠的大小来量化。例如,在图1所示的具体实施方式中,值102和106可以是模糊相似的,因为模糊边界104和108相交形成交集110。
在一具体实施方式中,表示两个值102和106之间的相似性的量的比较分数120(例如,Jaccard分数)可通过将两个模糊边界102和108的交集110的面积除以这两个模糊边界104和108的并集的面积来确定。应当注意,因为有界域100是有界的,所以可以预先计算并存储有界域中的每一个值的模糊边界。由此可以理解,当预先计算并存储了模糊边界时,可以在恒定时间内(即,O(1))计算有界域100中的两个值之间的比较分数。
图2描绘了被大致指定为200的、有界域中的值的容许差错集的具体实施方式。例如,日期域可被认为是有界域,因为可以存在该域中的已知第一日期(例如,零年1月1日)以及该域中的已知最后日期(例如,当前日期)。日期可被分成三个子域:月、日和年。月子域可以是包括十二个值(例如,1到12,其中1表示1月,而12表示12月)的有限数字域。日子域可以是包括三十一个值(例如,1到31)的有限数字域。年子域可以是包括对应于当前年度的多个值的有限数字域(例如,如果当前是2010年,则年子域可包括2011个值:0到2010)。在一具体实施方式中,年子域可由n元语法来表示。例如,2010年可由三个二元语法“20”、“01”和“10”来表示,并且年子域由此可包括一百个二元语法值(例如,00-99)。
为了对有界域中的值执行模糊匹配(例如,两个日期的模糊匹配),可以首先确定对应于有界域中的每一个值的容许差错集。例如,图2示出了确定对应于特定值201“14日”(例如,第十四天)的容许差错集202的具体实施方式。容许差错可包括印刷差错、范围差错、换位差错、转写差错和其他类型的差错。
在一具体实施方式中,对应于特定值的容许印刷差错包括该特定值的差一个字符的各个变体。例如,对应于201处的值“14日”的容许印刷差错集可包括字符串“14”的以下变体:“11”、“12”、“13”、“15”、“16”、“17”、“18”、“19”、“04”和“24”。在一具体实施方式中,可以忽略有界域之外的容许差错。即,容许差错集中的每一个容许差错可以在有界域内。例如,可以忽略印刷变体“34”,因为日域只包括字符串“01”到“31”。
在一具体实施方式中,对应于特定值的容许范围差错包括该特定值的在特定差异范围内的各个变体。例如,当差异范围是+/-3时,对应于201处的值“14日”的容许差错集可包括“11”、“12”、“13”、“15”、“16”和“17”。
在一具体实施方式中,对应于特定值的容许换位差错包括该特定值的具有在换位位置中的两个字符的各个变体。例如,值“21日”可具有容许换位差错“12”。应当注意,对应于值“14日”的容许换位差错集可以是空集,因为值“14”的换位“41”在日的有界域之外。
在一具体实施方式中,对应于特定值的容许转写差错包括与该特定值相关联的数据输入差错和数据识别差错。例如,当对手写数字执行数据识别时,数据识别可能混淆看上去相似的特定数字对(例如,1和7、5和6、6和8、以及8和9)。由此,“17”可以是对应于值“11”的容许转写差错,而“29”可以是对应于值“28”的容许转写差错。应当注意,对应于值“14日”的容许转写差错集可以是空集,因为“74”在日的有界域之外。
在一具体实施方式中,对应于特定值的容许差错集还可包括基于知识的差错。例如,可以已知字符串“00”常用于表示值“2000年”。在另一具体实施方式中,当有界域中的值被分成n元语法时,确定对应于该值的容许差错集包括确定对应于多个n元语法中的每一个的容许差错集。例如,如果2010年被分成三个二元语法“20”、“01”和“10”,则确定对应于2010年的容许差错集可包括确定对应于二元语法“20”、“01”和“10”中的每一个的容许差错集。
在确定对应于有界域中的每一个值的容许差错集之后,可将该容许差错集存储在存储器处(例如,随机存取存储器(RAM)和基于盘的存储)。例如,容许差错集可作为常量被存储在包括模糊匹配逻辑的软件程序处,该模糊匹配逻辑作为用户界面、文字处理应用程序、电子表格应用程序、数据库应用程序或动态链接库(DLL)的一部分。例如,模糊匹配逻辑可作为可由用户界面、文字处理应用程序、电子表格应用程序和数据库应用程序中的一个或多个调用的功能来提供。作为另一示例,模糊匹配逻辑可作为被包括在DLL中并且可由链接该DLL的应用程序调用的功能来提供。或者,容许差错集可作为不可变数据存储在计算机系统或共享存储设备(例如,网络可访问存储)处。
在一具体实施方式中,每一个特定容许差错集经由求散列操作被转换成表示该特定容许差错集的位掩码。例如,容许差错集202可被转换成位掩码204。位掩码204中的每一位都可以是逻辑真值(例如,“1”)或逻辑假值(例如,“0”),这取决于对应于该位的容许差错是否在容许差错集202中。例如,表示“04”、“11”-“19”和“24”的位在位掩码204中被标记为逻辑真(例如,“1”)。存储对应于201处的值“14日”的容许差错集202可包括存储位掩码204。
在一具体实施方式中,位掩码中的逻辑真值(例如,“1”)的数量与该位掩码一起被存储。例如,205处的计数“11”可以与位掩码204一起被存储,因为位掩码204包括十一个“1”。在另一具体实施方式中,位掩码可由数据类型来表示。作为示例而非限制,数据类型可以是32位无符号整数、64位无符号整数、128位无符号整数、全局唯一标识符(GUID)或某一其它数据类型。例如,位掩码204可由206处的无符号32位整数“272,621,824”来表示。
可以理解,容许差错集可以用本机计算机数据类型(例如,无符号整数)来表示。因此,对应于整个有界域的容许差错可被存储在将该有界域中的每一个特定值与对应的容许差错集相关联的二维数组中。还可以理解,可以在相对于有界域的大小的线性时间内(例如,O(N))预先计算容许差错。
应当注意,尽管所示实施方式已经参考日期来描述,但如此处所描述的比较有界域中的值可以对任何有界域执行。例如,有界域可包括但不限于有限数字域(例如,人类年龄、产品尺寸等)、日期域、有限色谱域(例如,RGB值)、列表域和枚举集合域(例如,在软件应用程序中)。有界域可以是有序的或无序的。例如,产品尺寸的域(例如,小、中和大)可被认为是有序域。另一方面,RGB色彩值的域可被认为是无序的。
图3描绘了确定有界域中的两个值之间的比较分数的方法300的具体实施方式。例如,在图3所示的具体实施方式中,可接收(例如,从用户或从调用被配置成执行方法300的功能的应用程序)并比较301处的第一值“2009/12/916:31:27”和302处的第二值“2010/9/219:24:32”。应当理解,图3所描绘的特定分数和值是示例并且只是出于说明目的而呈现的。
在一具体实施方式中,在比较前清洁(例如,归一化)将要比较的值。例如,可以对第一值301和第二值302剥离时间信息并填充0,从而产生321处的第一清洁值“2009/12/09”和322处的第二清洁值“2010/09/21”。
因为月和日通常在世界的特定地区换位(例如,YYYY/MM/DD对比YYYY/DD/MM),所以对于清洁值321和322可获取两个比较分数331和341。
第一比较分数331可被确定为以下三个相似性分数的平均值:日相似性分数、月相似性分数和年相似性分数。例如,确定第一清洁值321中的“09”日与第二清洁值322中的“21”日的日相似性分数可包括从存储器中检索对应于“09”的第一位掩码和第一计数,从存储器中检索对应于“21”的第二位掩码和第二计数,并且确定第一位掩码和第二位掩码之间的相似性分数。在一具体实施方式中,位掩码之间的相似性分数被计算为Jaccard分数(例如,位掩码交集的大小除以位掩码并集的大小)。当计数与位掩码一起被存储时,Jaccard分数可通过以下操作来确定:计算第一和第二位掩码的逻辑交集,对逻辑交集中的逻辑真位(例如,“1”)的数量进行计数作为第三计数,计算第一和第二位掩码的逻辑并集,对该逻辑并集中的逻辑真位(例如,“1”)的数量进行计数作为第四计数,并且将Jaccard分数计算为第三计数和第四计数的商。在一具体实施方式中,根据数学性质:计数(A并B)=计数(A)+计数(B)-计数(A交B),第四计数可通过从第一计数与第二计数的和中减去第三计数来确定。
第一清洁值321中的“12”月与第二清洁值322中的“09”月的月相似性分数可以如参考日相似性分数描述的那样来确定。年相似性分数也可如参考日相似性分数描述的那样来确定。或者,当年值被分成n元语法(例如,二元语法)时,对应于特定年份的位掩码可通过对对应于该特定年份的每一个n元语法的位掩码执行逻辑OR(或)运算来计算。对应于年的计数可通过对该逻辑OR运算的结果中的逻辑真位(例如,“1”)进行计数来确定。例如,第一清洁值321中的“2009”年的第一位掩码361可通过对二元语法“20”、“00”和“09”的位掩码执行逻辑OR运算来确定。类似地,第二清洁值322中的“2010”年的第二位掩码362可通过对二元语法“20”、“01”和“10”的位掩码执行逻辑OR运算来确定。
在确定了日相似性分数、月相似性分数和年相似性分数之后,可计算第一比较分数331为这三个值的平均值。例如,在图3所示的具体实施方式中,第一比较分数331(0.63)是第一年相似性分数0.8、第一月相似性分数0.75和第一日相似性分数0.33的平均值。
第二比较分数341可以如以上参考第一比较分数331所描述的那样确定,不同之处在于清洁值321-322中的一个的日和月可以换位。例如,使清洁值321-322中的一个的日和月换位可使得能够对来自世界的不同地区的日期表示进行准确的模糊匹配。在图3所示的具体实施方式中,第二比较分数341可被计算成0.86。
最终比较分数351可被计算为两个比较分数331和341中的最大值。例如,在图3所示的具体实施方式中,321处的第一清洁值“2009/12/09”和322处的第二清洁值“2010/09/21”的最终比较分数351是0.86。最终比较分数351(0.86)可表示两个清洁值321-322之间的相关度。在一具体实施方式中,当最终比较分数小于阈值时,根据图3的方法300操作的模糊匹配逻辑可输出所比较的值是不相似的指示。或者,如果最终比较分数大于或等于阈值,则模糊匹配逻辑可输出所比较的值是相似的指示。例如,参考图3,如果阈值是0.95,则模糊匹配逻辑可指示第一清洁值321和第二清洁值322是不相似的。
可以理解,图3的方法300可确定两个值在恒定(例如,O(1))时间内是否“模糊相似”。由此,对于有界域中的两个值,图3的方法300可确定这两个值是否“模糊相似”,而不管该有界域的大小。另外,因为图3的方法300具有比现有模糊匹配算法(例如,O(N2))降低的复杂性(例如,O(1)),所以图3的方法300可以比现有模糊匹配算法更快地执行。还可以理解,图3的方法300可通过几次存储器存取、比较和算术运算用硬件或软件来实现。
图4描绘了比较有界域中的值的方法400的具体实施方式。例如,方法400的操作可参考图2-3示出。
方法400包括在402对于有界域中的每一个值,确定与该值相关联的对应的容许差错集。例如,在图2中,可确定对应于值201的容许差错集202。方法400还包括在404将容许差错集存储在存储器处。例如,在图2中,可将容许差错集202存储在存储器处。
方法400还包括在406确定有界域中的第一值和有界域中的第二值之间的比较分数。该比较分数基于对应于第一值的第一容许差错集与对应于第二值的第二容许差错集的比较来确定。例如,可确定参考图3描述的日、月和年相似性分数中的每一个。作为另一示例,比较分数331、341可通过执行三次图4的方法400来确定(例如,一次针对日、一次针对月、并且一次针对年)。由此,可以递归地执行图4的方法400以便对具有作为有界域的成员的子值的合成值执行模糊匹配。
图5描绘了比较有界域中的值的方法500的另一具体实施方式。例如,方法500的操作可参考图2-3示出。
方法500包括在502对于有界域中的每一个值,确定与该值相关联的对应的容许差错集。例如,在图2中,可确定(例如,预先计算)对应于值201的容许差错集202。方法500还包括在504将容许差错集存储在存储器处。存储特定容许差错集可包括存储表示该特定集合的位掩码以及该位掩码中的逻辑真值的计数。例如,在图2中,可存储位掩码204和计数205。在一具体实施方式中,位掩码204被存储为无符号32位整数值206。
方法500还包括在506从存储器中检索对应于有界域中的第一值的第一位掩码和第一计数,以及在508从存储器中检索对应于有界域中的第二值的第二位掩码和第二计数。例如,参考图3,可检索对应于第一清洁值321的第一位掩码和第一计数以及对应于第二清洁值322的第二位掩码和第二计数。
方法500还包括在510基于第一位掩码和第二位掩码来确定相似性分数。在一具体实施方式中,相似性分数是Jaccard分数。确定Jaccard分数包括在512计算第一位掩码和第二位掩码的逻辑交集并确定表示该逻辑交集中的逻辑真位的数量的第三计数。例如,参考图3,可对于“2009”年和“2010”年的位掩码的逻辑交集确定真位的计数(例如,8)。确定Jaccard分数还包括在514计算第一位掩码和第二位掩码的逻辑并集并确定表示该逻辑并集中的逻辑真位的数量的第四计数。例如,参考图3,可对于“2009”年和“2010”年的位掩码的逻辑并集确定真位的计数(例如,10)。确定Jaccard分数还包括在516计算第三计数和第四计数的商。例如,参考图3,可计算年相似性Jaccard分数0.8。应当注意,对Jaccard分数的计算还可参考如图3所示的日相似性分数或月相似性分数来示出。
方法500包括在518确定商是否小于相似性阈值。当商小于相似性阈值时,方法500包括在520输出第一值和第二值不相似的指示。当商大于相似性阈值时,方法500包括在522输出第一值和第二值相似的指示。在一具体实施方式中,指示可由数据库系统用来合并两个重复数据库记录。例如,图5的方法500可由存储在数据库系统处的“RemoveDuplicateRecords(移除重复记录)”过程调用的模糊匹配功能来执行。
图6描绘了包括可用于支持根据本发明的计算机实现的方法、计算机程序产品以及系统组件的各实施例的计算设备610的计算环境600的框图。在一说明性实施方式中,计算设备610可实现图4的方法400和图5的方法500中的一个或多个。在另一说明性实施方式中,计算设备610可确定并存储图2的集合202、图2的位掩码204、图2的计数205、图2的无符号32位整数206、图3的值301、302、321和322、以及图3的分数331、341和351及其表示。
计算设备610包括至少一个处理器620和系统存储器630。取决于计算设备的配置和类型,系统存储器630可以是易失性的(诸如随机存取存储器,即“RAM”)、非易失性的(诸如只读存储器(即“ROM”)、闪存以及即使在未提供电源时也保持已存储数据的类似存储器设备)或两者的某种组合。系统存储器630通常包括操作系统632、一个或多个应用程序平台634、一个或多个应用程序和程序数据。例如,系统存储器630可包括包含计算组件636和运行时比较组件637的模糊逻辑。计算组件636可确定并存储(例如,在计算设备610处的运行时之前)对应于有界域中的每一个值的容许差错集638。运行时比较组件637可基于对应于有界域中的两个值的容许差错集638来确定(例如,在计算设备610处的运行时期间)这两个值之间的比较分数。例如,比较分数可以是Jaccard分数。在一具体实施方式中,存储容许差错集638包括存储表示容许差错集638的位掩码和计数639。位掩码和计数639可包括对应于容许差错集638中的每一个特定集合的特定位掩码和特定计数(例如,特定位掩码中的逻辑真位的数量)。
计算设备610还可具有附加特征或功能。例如,计算设备610还可包括可移动和/或不可移动附加数据存储设备,诸如磁盘、光盘、磁带和标准大小的存储卡或闪存卡。在图6中通过可移动存储640和不可移动存储650示出了这样的附加存储。计算机存储介质可包括以用于存储诸如计算机可读指令、数据结构、程序组件或其它数据等信息的任何技术实现的易失性和/或非易失性存储以及可移动和/或不可移动介质。系统存储器630、可移动存储640和不可移动存储650都是计算机存储介质的示例。计算机存储介质包括,但不限于,RAM、ROM、电可擦除可编程只读存储器(EEPROM)、闪存或其它存储器技术、紧致盘(CD)、数字多功能盘(DVD)或其它光存储、磁带盒、磁带、磁盘存储或其它磁性存储设备、或可用于存储信息且可以由计算设备610访问的任何其它介质。任何这样的计算机存储介质都可以是计算设备610的一部分。
计算设备610也可包括输入设备660,如键盘、鼠标、笔、语音输入设备、触摸输入设备等等。也可包括输出设备670,如显示器、扬声器、打印机等等。计算设备610还包含允许该计算设备610通过有线或无线网络与其它计算设备690进行通信的一个或多个通信连接680。
可以理解,并非所有图6所示或以其他方式在先前的附图中描述的组件或设备都必须支持此处所描述的实施例。例如,可移动存储640可以是可任选的。
对此处所描述的实施方式的说明旨在提供对各实施方式的结构的大致理解。这些说明并非旨在用作对利用此处所描述的结构或方法的装置和系统的所有元件和特征的完整描述。许多其他实施例对本领域的技术人员在审阅本发明后是显而易见的。可以从本发明中利用和导出其他实施方式,以使得可作出结构和逻辑替换和改变而不背离本发明的范围。因此,本发明和各附图应被认为是说明性的而非限制性的。
本领域技术人员还可理解,结合本文所公开的各种说明性逻辑框、配置、模块、和过程步骤或指令可被实现为电子硬件或计算机软件。各种说明性组件、框、配置、模块或步骤已经大致按照其功能来描述。这种功能被实现为硬件还是软件取决于在总体系统上所施加的特定应用和设计限制。技术人员可针对每种特定应用以不同方式来实现所描述的功能集,但此类设计决策不应被解释为致使脱离本公开的范围。
结合此处所公开的各实施例所描述的方法或算法的各个步骤可直接用硬件、由处理器执行的软件模块、或两者的组合来实现。软件模块可驻留在诸如随机存取存储器(RAM)、闪存、只读存储器(ROM)、寄存器、硬盘、可移动盘、CD-ROM、或本领域内已知的任何其他形式的存储介质等计算机可读介质中。示例性存储介质耦合到处理器以使得该处理器能从/向该存储介质读取/写入信息。在替换方案中,存储介质可以集成到处理器或者处理器和存储介质可以作为分立组件驻留在计算设备或计算机系统中。
尽管已经在此示出和描述了具体实施方式,但应理解,可以为所示的具体实施方式替换被设计成实现相同或相似目的的任何后续安排。本发明旨在覆盖各实施方式的任何和所有后续改变和变体。
提交本发明的摘要的同时要明白,将不用它来解释或限制权利要求的范围或含义。另外,在前面的具体实施方式中,可以出于将本发明连成一个整体的目的而将各种特征组合或描述在一起放在单个实施方式中。此发明将不被解释为反映所要求保护的实施方式要求比每个权利要求中明确陈述的更多特征的意图。相反,如以下权利要求反映的,本发明的主题可涉及少于所公开的实施方式中的任一个的所有特征。
提供前面对各实施方式的描述是为了使本领域技术人员能制作或使用各实施方式。对这些实施例的各种修改对于本领域技术人员将是显而易见的,并且本文中定义的普适原理可被应用于其他实施例而不会脱离本公开的范围。因此,本发明不是旨在限于本文所示的各实施方式,而是按照与如由所附权利要求书定义的原理和新颖特征相一致的尽可能最宽范围。

Claims (15)

1.一种用于比较有界域中的值的计算机实现的方法,包括:
对于有界域中的每一个值(201),确定(402)与所述值(201)相关联的对应的容许差错集(202);
将所述容许差错集存储(404)在存储器处;以及
基于对应于所述有界域中的第一值(321)的第一容许误差集与对应于所述有界域中的第二值(322)的第二容许误差集的比较来确定(406)所述第一值(321)和所述第二值(322)之间的比较分数(331)。
2.如权利要求1所述的计算机实现的方法,其特征在于,所述对应的容许差错集包括印刷差错、范围差错、换位差错、转写差错或其任何组合,并且其中所述有界域是有限数字域、日期域、有限色谱域、列表域、和枚举集合域中的一个。
3.如权利要求1所述的计算机实现的方法,其特征在于,每一个容许差错集中的每一个容许差错在所述有界域内,并且其中存储所述每一个容许差错集包括将表示该容许差错集的位掩码存储在所述存储器处。
4.如权利要求3所述的计算机实现的方法,其特征在于,所述位掩码由32位无符号整数、64位无符号整数、128位无符号整数和全局唯一标识符(GUID)中的一个来表示。
5.如权利要求3所述的计算机实现的方法,其特征在于,存储所述每一个容许差错集还包括将所述位掩码中的逻辑真位的计数存储在所述存储器处。
6.如权利要求5所述的计算机实现的方法,其特征在于,确定所述比较分数包括:
从所述存储器中检索对应于所述第一值的第一位掩码和第一计数;
从所述存储器中检索对应于所述第二值的第二位掩码和第二计数;
基于所述第一位掩码和所述第二位掩码来确定相似性分数。
7.如权利要求6所述的计算机实现的方法,其特征在于,基于所述第一位掩码和所述第二位掩码来确定所述相似性分数包括:
计算所述第一位掩码和所述第二位掩码的逻辑交集;
确定表示所述逻辑交集中的逻辑真位的数量的第三计数;
计算所述第一位掩码和所述第二位掩码的逻辑并集;
确定表示所述逻辑并集中的逻辑真位的数量的第四计数;以及
计算所述第三计数和所述第四计数的商。
8.如权利要求7所述的计算机实现的方法,其特征在于,确定所述第四计数包括从所述第一计数与所述第二计数的和中减去所述第三计数。
9.如权利要求1所述的计算机实现的方法,其特征在于,所述存储器包括计算机系统处的随机存取存储器(RAM)、计算机系统处的基于盘的存储或其任何组合,并且其中所述比较分数在所述计算机系统的运行时期间确定,并且其中所述容许差错集在所述计算机系统的运行时之前存储。
10.如权利要求1所述的计算机实现的方法,其特征在于,所述容许差错集被存储为软件程序处的常量和不可变数据中的一个。
11.如权利要求1所述的计算机实现的方法,其特征在于,还包括将所述有界域中的值分成多个n元语法并且为所述多个n元语法中的每一个确定对应的容许差错集。
12.如权利要求1所述的计算机实现的方法,其特征在于,所述容许差错集在相对于所述有界域的大小的线性时间内计算,并且其中所述比较分数在相对于所述有界域的大小的恒定时间内计算。
13.如权利要求1所述的计算机实现的方法,其特征在于,还包括:
当所述比较分数小于相似性阈值时,输出所述第一值和所述第二值不相似的指示;以及
当所述比较分数大于或等于所述相似性阈值时,输出所述第一值和所述第二值相似的指示。
14.一种用于比较有界域中的值的计算机实现的系统,包括:
用于对于有界域中的每一个值(201),确定(402)与所述值(201)相关联的对应的容许差错集(202)的装置;
用于将所述容许差错集存储(404)在存储器处的装置;以及
用于基于对应于所述有界域中的第一值(321)的第一容许误差集与对应于所述有界域中的第二值(322)的第二容许误差集的比较来确定(406)所述第一值(321)和所述第二值(322)之间的比较分数(331)的装置。
15.如权利要求14所述的计算机实现的系统,其特征在于,所述计算机实现的系统内的各个装置被集成到用户界面、文字处理应用程序、电子表格应用程序、数据库应用程序、动态链接库(DLL)或其任何组合中。
CN201110056942.8A 2010-03-02 2011-03-02 比较有界域的值 Active CN102193967B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/715,402 2010-03-02
US12/715,402 US8176407B2 (en) 2010-03-02 2010-03-02 Comparing values of a bounded domain

Publications (2)

Publication Number Publication Date
CN102193967A CN102193967A (zh) 2011-09-21
CN102193967B true CN102193967B (zh) 2016-03-23

Family

ID=44532338

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110056942.8A Active CN102193967B (zh) 2010-03-02 2011-03-02 比较有界域的值

Country Status (2)

Country Link
US (1) US8176407B2 (zh)
CN (1) CN102193967B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120089604A1 (en) * 2010-10-08 2012-04-12 Jocelyn Siu Luan Hamilton Computer-Implemented Systems And Methods For Matching Records Using Matchcodes With Scores

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1744083A (zh) * 2004-08-30 2006-03-08 微软公司 模糊重复的鲁棒检测器

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001009765A1 (en) * 1999-08-03 2001-02-08 Compudigm International Limited Method and system for matching data sets
US7117502B1 (en) 2000-11-10 2006-10-03 Sun Microsystems, Inc. Linked-list implementation of a data structure with concurrent non-blocking insert and remove operations
US7231602B1 (en) 2000-11-29 2007-06-12 Microsoft Corporation Live preview for reformatting document text
US6636850B2 (en) * 2000-12-28 2003-10-21 Fairisaac And Company, Inc. Aggregate score matching system for transaction records
US6961721B2 (en) * 2002-06-28 2005-11-01 Microsoft Corporation Detecting duplicate records in database
GB0217201D0 (en) * 2002-07-24 2002-09-04 Beach Solutions Ltd XML database differencing engine
US7287131B1 (en) 2003-03-21 2007-10-23 Sun Microsystems, Inc. Method and apparatus for implementing a fully dynamic lock-free hash table
US7287019B2 (en) * 2003-06-04 2007-10-23 Microsoft Corporation Duplicate data elimination system
US7296011B2 (en) 2003-06-20 2007-11-13 Microsoft Corporation Efficient fuzzy match for evaluating data records
US20050060643A1 (en) * 2003-08-25 2005-03-17 Miavia, Inc. Document similarity detection and classification system
US7325013B2 (en) 2004-04-15 2008-01-29 Id3Man, Inc. Database with efficient fuzzy matching
US7451146B2 (en) 2004-06-30 2008-11-11 Hewlett-Packard Development Company, L.P. Almost non-blocking linked stack implementation
US7406479B2 (en) * 2006-02-10 2008-07-29 Microsoft Corporation Primitive operator for similarity joins in data cleaning
US7870151B2 (en) 2007-02-07 2011-01-11 Fair Issac Corporation Fast accurate fuzzy matching
US7818278B2 (en) 2007-06-14 2010-10-19 Microsoft Corporation Large scale item representation matching
US7664799B2 (en) 2007-07-30 2010-02-16 Oracle International Corporation In-memory space management for database systems

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1744083A (zh) * 2004-08-30 2006-03-08 微软公司 模糊重复的鲁棒检测器

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Duplicate Record Detection: A Survey;Ahmed K. Elmagarmid等;《IEEE TRANSACTIONS ON KNOWLEDGE AND DATA ENGINEERING》;20070131;第19卷(第1期);第1页-16页 *
基于关联词和扩展规则的敏感词库设计;刘耕等;《四川大学学报(自然科学版)》;20090531;第46卷(第3期);第667页-671页 *
翻译记忆中数据筛选方法的研究;赵善祥等;《计算机系统应用》;20091231(第4期);第109-113页 *

Also Published As

Publication number Publication date
US8176407B2 (en) 2012-05-08
CN102193967A (zh) 2011-09-21
US20110219289A1 (en) 2011-09-08

Similar Documents

Publication Publication Date Title
US9280569B2 (en) Schema matching for data migration
US10866973B2 (en) Test data management
US20180121413A1 (en) System and method for extracting entities in electronic documents
CN111258966A (zh) 一种数据去重方法、装置、设备及存储介质
US9916286B2 (en) Reformatting multiple paragraphs of text using the formatting of a sample object by creating multiple candidate combinations and selecting a closest match
CN110955661A (zh) 数据融合方法、装置、可读存储介质及电子设备
CN112527970A (zh) 数据字典标准化处理方法、装置、设备及存储介质
US11609897B2 (en) Methods and systems for improved search for data loss prevention
Zumel et al. vtreat: a data. frame Processor for Predictive Modeling
US20220114198A1 (en) System and method for entity disambiguation for customer relationship management
CN112988698A (zh) 一种数据处理方法以及装置
Martínez et al. Efficient model similarity estimation with robust hashing
US11481547B2 (en) Framework for chinese text error identification and correction
US20220198133A1 (en) System and method for validating tabular summary reports
US11182375B2 (en) Metadata validation tool
CN102193967B (zh) 比较有界域的值
CN117112588A (zh) 一种用于企业名称匹配的方法与设备
Glassen et al. Finding the mean in a partition distribution
US11068333B2 (en) Defect analysis and remediation tool
US20120089604A1 (en) Computer-Implemented Systems And Methods For Matching Records Using Matchcodes With Scores
CN111625579B (zh) 一种信息处理方法、装置及系统
CN112668332A (zh) 一种三元组抽取方法、装置、设备及存储介质
CN114943234B (zh) 企业名称链接方法、装置、计算机设备、存储介质
US9569470B2 (en) Managing sharing relationship of tables
US11783609B1 (en) Scalable weak-supervised learning with domain constraints

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150729

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150729

Address after: Washington State

Applicant after: Micro soft technique license Co., Ltd

Address before: Washington State

Applicant before: Microsoft Corp.

C14 Grant of patent or utility model
GR01 Patent grant