用于管理关于近似串匹配的档案的方法和系统的制作方法_2

文档序号:9616100阅读:来源:国知局
的命令。用户107能够例如使用命令行或图形接口来与运行时间环 境108交互。
[0042] 运行时间环境108包括预执行模块110和执行模块112。预执行模块110执行任 何预处理过程,并且准备和维持用于执行计算图形的资源,诸如字典111和用于近似串匹 配的档案114。字典111存储单词和关于在数据集中出现的单词的相关信息。档案114存 储来自基于单词、短语的预处理的各种结果或者数据集的记录。字典111和档案114能够以 各种格式中的任意一种来实现并且能够被组织为数据的单个集合或作为多个字典和档案。 执行模块112调度和控制对于分配给计算图形的过程的执行以执行各组件的计算。执行模 块112能够与耦接到系统100的、诸如从数据库系统提供记录的数据源116的外部计算资 源进行交互,在与图形组件关联的处理期间访问所述外部计算资源。
[0043] 参考图2,计算图形105的简单示例包括执行聚集(rollup)操作的聚集组件200, 第一输入数据集202、第二输入数据集204以及输出数据集206。输入数据集聚集组件200 向提供工作组件的流(如,数据库记录),以及输出数据集206接收由聚集组件200产生的 工作组件的流(如,聚合数据库记录)。输入数据集202和204以及输出数据集206表示 在由运行时间环境108可访问的存储介质(诸如数据源116)中存储的数据(如,数据库文 件)。聚集组件200比较从输入数据集接收的记录的关键字段值,并且基于在关键字段值之 间的近似匹配而产生聚合记录。
[0044] 图3示出由预执行模块110执行的预处理过程300,以准备由计算图形使用的字 典111和档案114。过程300从用户接收指示将处理哪些源和从那些源的哪个字段读取单 词的配置信息(302)。要读取哪个字段的指示可以根据默认设置而是暗示的,如读取全部字 段。过程300通过读取所选择的源的记录的所选择字段,在字典中存储字段中出现的单词, 并且更新诸如单词频率计数的统计来编译字典111 (304)。过程300通过对字典中的单词产 生接近(close)单词(308)以及根据各个接近单词的比较而寻找潜在模糊匹配(310)来编 译要存储在档案114中的潜在模糊匹配(306)。与作为潜在模糊匹配的单词对一起存储分 值,所述分值能够在图形执行期间被用来确定该潜在模糊匹配是否为实际模糊匹配。过程 300通过基于存储在档案114中的结果计算关于字典中出现的单词的重要性分值而更新字 典111(312)。例如,对于字典111中的每个单词,过程300基于潜在模糊匹配来重新规格化 (renormalize)单词频率计数(314),如下面详细描述的。然后,这些重新规格化的单词频 率计数能够被用来计算可以在匹配短语和源的记录时使用的重要性分值。
[0045] 在一些实施方式中,预处理过程300在每次新的源可用时或在现有源中接收到新 的记录时被重复。该过程能够由用户激活或者以重复的间隔或响应于一定事件而被自动激 活。
[0046] 2模糊匹配
[0047] 许多商业面临的挑战是使用具有可能不完全相同的等价值的如"名称"或"地址" 的字段来调和两个(或更多个)数据集。调和数据库可能涉及回答有关数据的各种问题,诸 如下述。在一个数据集中的公司名称是否出现在另一个数据集中?如果是,它们是否具有 相同的地址?如果来自两个数据集的公司名称完全相同,则能够使用联合操作来比较相应 的地址字段,该操作找到具有匹配关键字(这里,是公司名称)的全部记录。但是如果名称 不完全相同呢? 一个名称可能以单词公司(COMPANY)结尾而另一个将其缩写为C0并且第 三个不过将其完全地漏掉。类似0F或THE的冠词可以在一个名称中但是不在另一中。单 词可能被拼错(如,C0MPNY代替COMPANY)。在一个源中的名称可能包含附加信息,如联系 人名称或账号。
[0048] 对于像企业名称的一些事情,不管在不同出处的数据集中,还是即便在单个数据 集中也没有固定的格式规则。该挑战是找到匹配,一般为一组可能的匹配,即便名称是不一 致的。能够使用近似串匹配、也被熟知为"模糊"匹配来执行这样的匹配。该匹配是模糊的, 因为它们容忍错误或差异。
[0049] 当操作使用模糊匹配时,如果发现两个单词或短语在可接受的不同或差异的一定 范围中等价,尽管不必相同,则说它们是匹配的。例如,单词的确切拼写可能不一致或者一 个短语可以包含在另一中不出现的单词。能够使用分值来量化一致性的质量。当对应于记 录的给定字段中的匹配的关键字不需相同但是为等价时,利用模糊匹配可以执行熟悉的操 作,诸如比较、联合、聚集和查找。
[0050] 为了增加模糊匹配的速度,预执行模块110定期处理来自数据源的数据集,该数 据源已经被识别为计算图形潜在地可访问的数据源。预执行模块110读取出现在数据集的 记录的所选择字段中的数据。用户能够选择要处理的全部可用的字段或者可用字段的所选 择子集。在一些情况中字段中的数据可以对应于单个单词,并且在一些情况中数据可以对 应于包含多个单词的短语。(如这里所使用的,"单词"是包括来自某个字符集的一序列字符 的任何串,而短语中的多个单词由空格或诸如逗号的其他分界符分离开)用于将字段分解 为单词的规则是可配置的并且该规则能够在字段被初始选择时被指定。在一些情况中,尽 管存在嵌入式空格(如,城市名称或英国邮政编码),但是可以通过将短语分解为"多个单 词",将嵌入式空格当成字符对待而以与单个单词相似的方式来处理具有多个单词的短语, 如下更详细地描述的那样。这允许在模糊匹配中识别级联的和断开的单词。例如,"john alien" 将匹配于 "johnallen" 或甚至是 "johnallen"。
[0051] 预执行模块110识别记录中发生的一组单词并且在字典ill中存储单词的代表 (也叫做"单词代表"或"串代表")。也可以在字典111中存储对于每个单词的统计。例如, 可以在字典111中存储给定数据集或全部数据集的记录中的单词的发生频率。可以在字典 111中存储关于单词的上下文的信息。例如,上下文能够包括该单词出现的字段或字段组。 也能够在字典111中存储诸如在短语中它的位置的统计之类的其他关于单词的信息。单词 的代表可以是单词自身,或者是以诸如不同字符集或非串代表(如,数字或字母数字编码) 的不同形式的单词的编码代表,如下面更详细地描述的。
[0052] 预执行模块110的处理包括对给定单词产生一组"接近单词"(或"接近代表")。 关于给定单词的接近单词与该给定单词相关联地存储在字典111中。接近单词被用来产生 在单词对之间的潜在模糊匹配,如下面更详细地描述的。
[0053] 处理的结果被存储在档案114中以由通过执行模块112执行的图形使用。在确定 是否应当处理给定记录的过程中(如,在联合或聚集组件中),一些图形可以使用档案114。 测量各记录的相似性是在众多上下文中出现的一种数据质量活动。例如,两个源可以共享 公共关键字,该公共关键字被用在联合操作中以将来自两个源的记录拿到一起。需要比较 其中可能出现关键字的记录中的字段。多个单词可能存在于一个字段中并且多个字段常被 用于保存一定类型的数据,如名称或地址。在字段中的单词的布置在源中可以不一致,额外 的单词可以存在在一个源或其他源中,单词可以是乱序的,并且可能存在排字错误。能够使 用各种评分函数来计算表现记录之间的匹配的质量的特点的基本分值,然后由针对各种类 型的不一致性和错误的惩罚来加权该基本分值。与不同类型的错误相关联的权重是可以调 整的,并且每个惩罚对于关于任何比较的分值的贡献是值得报告的。各评分函数在它们如 何比较作为模糊匹配的单词以及它们在计算分值中是否对单词进行加权(统计上)上不 同。关于记录的分值可以涉及跨越几个单独评分的个体或级联的字段的加权分值。
[0054] 在匹配过程中存在3个评分级别:单词、短语和记录。一般在预处理阶段期间进 行单词的评分,并且基于预定准则确定两个单词是否是潜在模糊匹配,以及将潜在模糊匹 配与"模糊匹配分值"相关联。短语的评分可以不仅考虑模糊匹配的单词,而且可以考虑 一个或两个短语中缺少单词的概率、单词乱序出现的概率或在它们之间存在额外单词的概 率。评分算法可被配置为使得能够调整不相符的不同源的重要性。第3个评分级别是整个 记录。通过以上下文敏感的方式组合不同字段的分值来对它们进行评分。缺失或不一致的 信息能够给予适当的权重。
[0055] 档案114存储找到为潜在模糊匹配的单词对以及对应的模糊匹配分值。能够由用 户修改潜在模糊匹配和它们的模糊匹配分值的集合以将所计算的模糊匹配分值替换为不 同的模糊匹配分值并且增加与预定准则不相关的潜在模糊匹配单词对。
[0056] 为了短语比较的目的,档案114也存储"重要性分值",其表示单词对于包含该单 词的短语的相对重要性。重要性分值使用在数据集中单词出现的反向频率,但是使用(使 用分值档案确定的)涉及模糊匹配的变化的频率来调整该值,并且可选地使用从单词的长 度、在短语中的位置、源和上下文(如,单词出现的字段)导出的附加信息。例如,因为数据 可能没有位于正确的字段中并且需要识别这样的错误,所以基于其中单词出现的上下文来 调整该重要性分值可能是有用的。在一些情况下,出现在如地址字段的字段中的串可以以 非结构化的格式被接收,但是不过其可以包含结构。这些串能够被解析并且识别单个元素。 按上下文的相对重要性能够被用来指示给定的单词是更有可能出现在一个上下文还是另 一个上下文中。例如,在地址字段,LONDON(伦敦)作为城市而非街道名称的一部分。前后 关系的协调信息有助于解析:如果在LONDON后面有另一城市名称,则它可能是街道名称的 一部分;如果它紧接在邮政编码的前面,则它可能是城市。
[0057] 在一些实施方式中,档案114存储测量两个短语之间的模糊匹配质量的"短语比 较分值"。预执行模块110将各短语重叠以找到共享的和未使用的单词的列表,并且使用它 们的相对重要性、校正(alignment)和单词顺序来计算该短语比较分值。
[0058]存储在档案114的信息在它产生之后还能够以各种方式被进一步处理。例如,在 分
当前第2页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1