CN115221936A - 数据库系统中的记录匹配 - Google Patents

数据库系统中的记录匹配 Download PDF

Info

Publication number
CN115221936A
CN115221936A CN202210356193.9A CN202210356193A CN115221936A CN 115221936 A CN115221936 A CN 115221936A CN 202210356193 A CN202210356193 A CN 202210356193A CN 115221936 A CN115221936 A CN 115221936A
Authority
CN
China
Prior art keywords
unstructured
records
values
record
attribute
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.)
Pending
Application number
CN202210356193.9A
Other languages
English (en)
Inventor
L·布雷默
M·奥伯霍费尔
K·斯特克勒
M·奇卡洛娃
M·贝斯勒
H·柯尼格
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN115221936A publication Critical patent/CN115221936A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/21Design, administration or maintenance of databases
    • G06F16/219Managing data history or versioning
    • 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/332Query formulation
    • G06F16/3322Query formulation using system suggestions
    • 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/906Clustering; Classification
    • 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/25Integrating or interfacing systems involving database management systems
    • G06F16/258Data format conversion from or to a database
    • 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/334Query execution
    • 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/335Filtering based on additional data, e.g. user or group profiles
    • 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/338Presentation of query results

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种计算机实现的方法包括:处理数据库的记录中的每个记录的非结构化对象,以用于识别每个记录的非结构化对象中的一个或多个属性值的集合。可以比较数据库的两个记录的非结构化属性值集合,以用于确定两个集合之间的相似程度。可以基于比较结果,确定两个记录是否代表相同的实体。

Description

数据库系统中的记录匹配
技术领域
本发明一般涉及数字计算机系统领域,更具体地,涉及用于数据库系统中的记录匹配的方法。
背景技术
企业数据匹配处理对从不同来源接收的客户数据进行匹配和链接,并创建真实数据的单个版本。基于主数据管理(MDM)的解决方案使用企业数据工作,并执行对数据的索引、匹配和链接。主数据管理系统可以实现对这些数据的访问。然而,存在改进与主数据管理系统中的数据的数据匹配的持续需要。
发明内容
各种实施例提供了如独立权利要求的主题所描述的方法、计算机系统和计算机程序产品。在从属权利要求中描述了有利的实施例。如果本发明的实施例不是相互排斥的,则它们可以彼此自由地组合。在一个方面,本发明涉及一种用于数据库系统中的记录匹配的计算机实现的方法,其中,记录代表实体,该记录与一个或多个非结构化数据对象相关联。该方法包括:处理数据库(例如,数据库系统)的记录中的每个记录的非结构化对象,以用于识别每个记录的非结构化对象中的一个或多个属性值(在下文中被称为非结构化属性值)的集合;比较数据库的两个记录的非结构化属性值集合,以用于确定两个集合之间的相似程度;基于比较结果,确定两个记录是否代表相同的实体。
在另一个方面,本发明涉及一种计算机程序产品,其包括具有计算机可读程序代码的计算机可读存储介质,该计算机可读程序代码被配置为实现根据前述实施例的方法的所有步骤。在另一个方面,本发明涉及一种用于记录匹配的计算机系统,其中,记录代表实体,该记录与一个或多个非结构化数据对象相关联。该计算机系统被配置用于:处理数据库的记录中的每个记录的非结构化对象,以用于识别每个记录的非结构化对象中的一个或多个属性值(此后被称为非结构化属性值)的集合;比较数据库的两个记录的非结构化属性值集合,以用于确定两个集合之间的相似程度;以及基于比较结果,确定两个记录是否代表相同的实体。
附图说明
下面,仅通过示例,参考附图更详细地解释本发明的实施例,其中:
图1是根据本发明的示例的数据库设备的框图。
图2是根据本发明的示例的用于数据库系统中的记录匹配的方法的流程图。
图3是根据本发明的示例的用于数据库系统中的记录匹配的方法的流程图。
图4是根据本发明的示例的用于数据库系统中的记录匹配的方法的流程图。
图5A是根据本发明的示例的用于比较两个记录的方法的流程图。
图5B示出与非结构化对象相关联的记录和所得到的非结构化属性值集合。
图5C示出与非结构化对象相关联的记录和所得到的非结构化属性值集合。
图5D示出两个非结构化属性值集合之间的比较结果。
图6表示计算机化的系统,其适于实现如本发明涉及的一个或多个方法步骤。
具体实施方式
本发明的各种实施例的描述将出于说明的目的而呈现,而并不旨在是穷尽的或限于所公开的实施例。在不背离所描述的实施例的范围和精神的情况下,许多修改和变化对于本领域的普通技术人员将是显而易见的。选择本文所使用的术语以最好地解释实施例的原理、实际应用或对市场上存在的技术改进,或使本领域的其他普通技术人员能够理解本文所公开的实施例。
服务提供商的计算机系统通常包括用于存储与客户和服务相关的信息的存储器。当客户填写注册表、服务请求表或其它表(诸如合同文件、银行交易、证书等)时,可提供一些信息。这可能导致非结构化对象被存储在这些系统中。非结构化对象可以是以非结构化形式包括属性值的对象。这些属性被命名为非结构化属性,以将它们与记录的被命名为结构化属性的属性区分开。非结构化对象可以使得能够将属性与相应的属性值相关联。非结构化对象可以是文件、文档或其中包括的具有自由形式文本或嵌入值的对象。非结构化对象的示例可包括字处理文档(例如,采用本机格式的Microsoft Word文档)、Adobe Acrobat文档、电子邮件、图像文件、视频文件、音频文件、以及相对于创建它们的软件应用程序采用本机格式的其它文件。此外,这样的计算机系统可以采用数据库的记录的形式以结构化格式存储客户和服务的数据。这可能导致相同的实体,诸如与系统中的不同格式的信息相关联的人。例如,代表特定人的记录可以与该特定人的非结构化信息相关联。数据记录或者记录是特定用户的相关数据项(诸如姓名、生日和类别)的集合。记录代表实体,其中实体是指其信息被存储在该记录中的用户、对象、或概念。术语“数据记录”和“记录”可互换使用。
因此,这样的计算机系统可以包括具有被命名为结构化属性的属性和具有非结构化属性值的非结构化对象的记录。非结构化属性的值可以是非结构化属性的全值或全值的一部分。例如,值“街道”可以是非结构化属性“地址”的值;然而,值“街道”仅是地址的一部分,并且其他值(诸如城市名称)也可以构成地址的全部或完整值。
在这些计算机系统中执行的大部分操作可涉及记录的匹配。记录的匹配包括比较记录的结构化属性值。匹配的记录(可合并记录)是代表相同的实体的记录。两个记录的匹配程度指示两个记录的属性值的相似度。
本发明可以是有利的,因为它可以通过利用现有的非结构化对象(诸如文档)来改进记录匹配过程。本发明可以从非结构化文档中获得启发以用于决策制定。这可以是特别有利的,因为许多工业系统可以存储附加到主数据的大量非结构化信息。例如,在保险业中,有许多保险合同附加到客户记录上。在制造和公用事业行业中,有维修和维护手册附加到产品记录上。
根据一个实施例,该方法还包括:针对每个所识别的非结构化属性值,评估一个或多个出现特性,其中,在特定记录的(一个或多个)非结构化对象中识别的特定非结构化属性值的出现特性包括以下中的任一个:特定非结构化属性值在特定记录的非结构化对象中的出现频率(称为第一出现特性),以及针对该特定记录的在非结构化对象中与特定非结构化属性值并置(collocate)的其它所识别的非结构化属性值的指示(称为第二出现特性),其中,比较两个非结构化属性值集合包括:比较所评估的两个集合中的一个集合的非结构化属性值的出现特性与所评估的两个集合中的另一个集合的非结构化属性值的出现特性。
例如,如果相同的值在两个集合中存在并且在两个集合中具有相同的存在频率,则这可以提供代表两个集合的记录的相似性的强指示。类似地,如果相同的值在两个集合中存在并且在两个集合中属于相同的并置,则这可以提供代表两个集合的记录的相似性的强指示。因此,出现特性可以进一步提高两个集合的比较准确度,并因此提高记录匹配处理的准确度。
根据一个实施例,记录具有属性(此后被称为结构化属性)的值,其中,确定两个记录是否代表相同的实体包括:向结构化属性中的每个结构化属性分配初始贡献权重;基于比较结果,选择相似并且在两个集合中都存在的非结构化属性值;在结构化属性值中的结构化属性值不匹配任何所选择的非结构化属性的情况下,用指示两个集合之间的相似性的权重替换所述结构化属性的贡献权重;以及在结构化属性值中的结构化属性值完全或部分匹配所选择的非结构化属性的情况下,增加所述结构化属性的贡献权重;使用贡献权重来比较两个记录。
该实施例可以使加权的匹配规则能够向所比较的记录的每个结构化属性分配权重(例如,整数权重)。对于每个结构化属性,可以将相关联的贡献权重与两个记录的相似性得分相乘,并且可以对得分求和。如果总和等于或超过阈值,则被比较的两个记录被认为匹配。在比较大量的属性时,该实施例可以特别有利,不会使在两个记录中不同的单个属性导致不匹配。
根据一个实施例,该方法还包括:执行聚合算法,以用于聚合所选择的非结构化属性值中的构成相应的非结构化属性的全值的值,从而产生零个或更多个聚合值,其中,使用经处理的所选择的非结构化属性值来执行与所述结构化属性值的比较。
例如,所选择的非结构化属性值可以包括值v1、v2、…和vr。每个值是相应的非结构化属性的值。然而,一些值可能不是相应的非结构化属性的全值。例如,v1可以是名值,v2可以是姓值,它们都是非结构化属性“全名”的值;然而,v1和v2不是全值。v1和v2的聚合可以是非结构化属性“全名”的全值。可以处理每个所选择的非结构化属性值以确定它是否是相应的非结构化属性的全值,并且如果它不是全值,则可以确定要与它聚合的其他非全值。可以使用针对所选择的非结构化属性值所评估的第二出现特性来执行确定哪些值可以被聚合在一起,例如,如果值被并置在相同的句子或段落中并且不是相同的非结构化属性的全值,则这些值可以被聚合。可替换地或附加地,根据一个实施例,聚合包括:基于非结构化属性的类别,将每个集合的非结构化属性值分组成群组,其中,对属于相同群组的值执行聚合。对属于相同群组的值并且还基于该群组的第二出现特性执行聚合。
根据一个实施例,比较两个记录包括:比较两个记录的结构化属性的值,从而得到记录的每个结构化属性的个体匹配分数;使用贡献权重来组合个体匹配分数。匹配分数可以例如是范围0到100中的值,其表示两个值相似的程度。值100表明两个值相同,值零表明没有相似性。
根据一个实施例,在两个记录代表将两个记录合并在单个记录中的相同的实体的情况下,以其它方式保持两个记录分离。
图1描绘了示例性计算机系统100。计算机系统100可以例如被配置为执行主数据管理和/或数据仓储,例如,计算机系统100可以实现重复数据删除系统。计算机系统100包括数据集成系统101和一个或多个客户端系统或数据源105。客户端系统105可以包括计算机系统(例如,如参考图6所描述的)。客户端系统105可以经由网络连接与数据集成系统101通信,该网络连接包括例如无线局域网(WLAN)连接、WAN(广域网)连接、LAN(局域网)连接、因特网、或其组合。数据集成系统101可以控制对数据库或储存库103的访问(读访问和写访问等),由于数据库或储存库103包括结构化记录107,因此,在此被称为结构化储存库。数据集成系统101可以控制对另一个储存库110的访问(读访问和写访问等),由于储存库110包括非结构化对象111,因此在此被称为非结构化储存库。
如图1所示,被存储在结构化储存库103中的每个结构化记录107可以具有属性a_1…a_N(N≥1)(诸如名属性)集合的值。尽管按较少的属性描述了本示例,但是,可以使用更多或更少的属性。每个记录107可以代表实体,诸如人。被存储在中央储存库103中的数据记录107可以从客户端系统105接收,并且在被存储在中央储存库103中之前由数据集成系统101处理(例如以将它们变换成统一结构)。例如,从客户端系统105所接收的记录可以具有与中央储存库103的所存储的记录的结构不同的结构。在另一个示例中,数据集成系统101可以使用一个或多个抽取转换加载(ETL)批处理或者经由超文本传输协议(“HTTP”)通信或者经由其他类型的数据交换来从客户端系统105导入中央储存库103的数据记录。
非结构化对象111可以例如包括经扫描的文档或表格。非结构化对象111可以例如从客户端系统105接收。如虚线所示,结构化储存库103的每个实体或记录可以与非结构化储存库110中的一个或多个非结构化对象相关联。例如,结构化储存库103中的至少部分记录107的每个记录R_i可以与非结构化储存库110的m_i个非结构化对象〖OB〗_1、〖OB〗_2…〖OB〗_(m_i)相关联,其中m_i≥1。例如,在结构化储存库103中具有描述其姓名、SNS等的记录的雇员还可以使他的雇用合同被扫描并存储在非结构化储存库110中,例如,非结构化对象111可以由CMIS使能系统提供。例如,在MDM系统(如IBM MDM)中,与内容管理系统(如Filenet)的OOTB连接器可以能够实现对非结构化对象的访问。例如,MDM系统中的主数据记录可以与唯一资源定位符相关联,以允许基于标准(如CMIS)而在内容管理系统中找到相关联的非结构化文档。
数据集成系统101可以被配置为使用实现本方法的至少一部分的一个或多个算法(诸如算法120)来处理记录107和非结构化对象111。例如,数据集成系统101可以使用算法120来处理数据记录107和非结构化对象111,以便识别结构化储存库103中的重复记录。尽管被示为单独的组件,但是在另一个示例中,储存库103和/或储存库110可以是数据集成系统101的一部分。
在一个示例中,算法120可以包括用于匹配记录的匹配引擎121。算法120进一步包括令牌包比较器122,其用于比较与要被比较的记录相关联的非结构化属性值集合或包。算法120进一步包括令牌包管理器123,其可管理由令牌提取器124确定的包。
图2是根据本发明的示例的用于系统中的记录匹配的方法的流程图。为了说明的目的,图2中描述的方法可以在图1中图示的系统中实现,但不限于该实现。图2的方法可以例如由数据集成系统101执行。
在步骤201中,可以处理数据库103的至少一部分记录中的每个记录的非结构化对象,以用于识别每个记录的一个或多个非结构化属性非结构化对象的值的集合。所述至少一部分记录中的每个记录可以与一个或多个非结构化对象相关联。
在一个示例中,至少一部分记录可以包括数据库103的所有记录。可以针对数据库中的每个记录确定该记录是否与一个或多个非结构化对象相关联。并且可以处理相关联的非结构化对象以识别非结构化属性的值。在记录不与任何非结构化对象相关联的情况下,可以处理下一个未处理的记录,并以此类推,直到所有记录都被处理为止。处理数据库的所有记录可以是有利的,因为它可以预先准备可准备好在稍后的阶段立即使用的所有信息。
在一个示例中,至少一部分记录可以包括数据库103的记录子集。可以针对记录子集中的每个记录确定该记录是否与一个或多个非结构化对象相关联。并且可以处理相关联的非结构化对象以识别非结构化属性的值。记录子集可以例如仅包括需要由用户处理的记录。该示例可以是有利的,因为它能够实现对记录的按需处理。这可以节省处理其结果未被使用的记录会需要的资源。
以例如通过解析非结构化对象并执行数据挖掘分析以用于识别属性的值来执行对非结构化对象中的非结构化属性的值的识别。
因此,在步骤201中处理每个记录R_i的非结构化对象可以产生非结构化属性b_1、b_2、…b_(M_i)的值的包或集合(被命名为〖包〗_i),其中M_i≥1。每个集合〖包〗_i的非结构化属性b_1、b_2…b_(M_i)可以包括或者可以不包括结构化属性a_1、…a_N的属性。例如,代表学生的记录可包括结构化属性,诸如“学生ID”、“班级”、“年龄”、“姓名”等,而与学生相关联的文档111可包括不同属性(诸如“地址”)的值和/或包括相同属性(诸如“姓名”)的值。一个集合〖包〗_i的非结构化属性可以包括或者可以不包括另一个集合的非结构化属性,即,它们可以或者可以不与另一个集合〖包〗_j共享非结构化属性,例如,两个学生记录可以与完全不同的文档相关联,一个与保险合同文档相关联,而另一个学生记录与个人简历相关联;导致用于两个学生的不同的所识别的非结构化属性。
每个非结构化属性可以在相应的集合〖包〗_i中具有至少一个值。该至少一个值可以包括重复的值。例如,雇员“X”的记录可以与已被处理以识别非结构化属性的值并且已导致非结构化属性“汽车类型”、“电话号码”和“地址”的所识别的值的包(〖包〗_x)的文档相关联。包〖包〗_x可以包括属性“汽车类型”的多个值,例如,人“X”有在文档中列出的若干辆汽车。由于在雇员“X”的几个文档中出现相同的号码,因此,包〖包〗_x可以包括属性“电话号码”的5个重复的值。换句话说,与人X的记录相关联的集合具有三个非结构化属性,但是可以包括每个非结构化属性的多个值。
在步骤201中获得的非结构化属性值集合可用于确定记录107是否是重复的。例如,在步骤203中,可以分别比较两个记录R_i和R_j的两个集合〖包〗_i和〖包〗_j,以用于确定两个集合〖包〗_i和〖包〗_j之间的相似程度。也就是说,可以将非结构化属性b_1、b_2…b_(M_i)的值与非结构化属性b_1、b_2…b_(M_j)的值进行比较。在一个示例中,该比较可以是两个集合的所有可能的值对之间的成对比较,或者可以是相同的非结构化属性的值对之间的成对比较。该比较可以产生个体相似性得分,这些得分被组合以获得所比较的集合之间的相似性得分。在另一个示例中,可以使用Jaccard相似性算法以比较集合〖包〗_i和〖包〗_j。图3提供了比较步骤203的示例性实现。在两个记录之间执行如在此所描述的比较,但该比较并不限于通过比较如用两个记录的示例描述的它们相应的集合来比较多于两个记录。
因此,步骤203的比较结果可以在步骤205中使用以确定两个记录是否代表相同的实体。两个集合〖包〗_i与〖包〗_j之间的相似程度可以分别指示两个记录R_i与R_j之间的相似性,例如,如果两个包非常相似,则这指示两个记录代表相同的实体。
图3是根据本发明的示例的用于比较记录的方法的流程图。为了说明的目的,图3中描述的方法可以在图1中图示的系统中实现,但不限于该实现。图3的方法可以例如由数据集成系统101执行。图3的方法提供了图2的比较步骤203的示例性实现。例如,要被比较的记录107可以与如参考图2所描述的相应的非结构化属性值包或集合相关联。
在步骤301中,可以针对每个所识别的非结构化属性值,评估一个或多个出现特性。例如,可以处理每个非结构化属性值集合〖包〗_i,以便评估该集合的每个非结构化属性值的出现特性。也就是说,可以评估属性b_1的每个值的出现特性,可以评估属性b_2的每个值的出现特性等。
在第一示例中,出现特性可以是特定记录的非结构化对象中的非结构化属性值的出现频率。在这种情况下,可以确定记录R_i的包〖包〗_i中的属性b_1的值的出现频率。类似地,可以确定记录R_i的包〖包〗_i中的属性b_2的值的出现频率,等等。接着雇员X的记录的示例,非结构化属性“电话号码”的值的出现频率是5,因为它在与雇员X相关联的文档中出现5次。
在第二示例中,记录R_i的集合〖包〗_i中的每个值的出现特性可以是该相同集合〖包〗_i中的与非结构化对象中的所述每个值并置的其他值的指示。例如,对于每个记录R_i,可以处理相应的集合〖包〗_i的非结构化属性的值,以识别在相同的句子或段落中一起提及的频率和属性值。
因此,在步骤303中,可以通过将所评估的一个集合〖包〗_i的非结构化属性值的出现特性与所评估另一个集合〖包〗_j的非结构化属性值的出现特性进行比较,执行两个记录R_i和R_j的比较。例如,如果相同的值在两个集合〖包〗_i和〖包〗_j中存在并且在两个集合中有相同的存在频率,则这可以提供记录R_i和R_j的相似性的强指示。
图4是根据本发明的示例的用于比较记录的方法的流程图。为了说明的目的,图4中描述的方法可以在图1中图示的系统中实现,但不限于该实现。图4的方法可以例如由数据集成系统101执行。例如,图4的方法可以比较两个记录R_i和R_j。
在步骤401中,可以向结构化属性a_1、…a_N中的每个结构化属性分配初始贡献权重。例如,为了比较两个雇员记录,属性“雇员ID”可以被分配比属性“名”更高的权重,因为两个雇员可能具有相同的名,但是不太可能具有相同的雇员ID。因此,雇员ID可以有利地在匹配决定中有更高的贡献。例如,整数权重可被分配给所比较的记录R_i和R_j的每个结构化属性a_1、…a_N。
在步骤403中,可以选择相似的并且在两个记录R_i和R_j的两个集合〖包〗_i和〖包〗_j中存在的非结构化属性值。这可以例如通过使两个集合〖包〗_i和〖包〗_j相交来执行。图5C至图5D提供了步骤403的示例实现。步骤403可以产生用〖包〗_i∩〖包〗_j引用的集合,该集合包括所选择的非结构化属性值。
在步骤405中,可以调适或调整初始贡献权重。可以通过将交集〖包〗_i∩〖包〗_j中的非结构化属性值与两个记录R_i和R_j中的结构化属性a_1、…a_N的值进行比较来执行该调适。例如,在结构化属性值中的结构化属性值不匹配任何所选择的非结构化属性的情况下,所述结构化属性的贡献权重可以用指示两个集合之间的相似性的权重来替换。在结构化属性值中的结构化属性值完全或部分地匹配所选择的非结构化属性的情况下,所述结构化属性的贡献权重可以被增加预定义值。
在步骤407中,可以使用贡献权重来比较两个记录R_i和R_j。可以比较结构化属性a_1、…a_N中的每个属性的值对,产生N个相似性得分。通过将经调适的贡献权重与相应的相似性得分相乘并且对得分求和,可以例如使用加权和来组合N个相似性得分。可以将得到的分数与阈值进行比较,以确定两个记录R_i和R_j是重复的还是不重复的记录。
图5A是根据本发明的示例的用于比较记录的方法的流程图。为了说明的目的,图5A中描述的方法可以在图1中图示的系统中实现,但是不限于该实现。图5A的方法可以例如由数据集成系统101执行。图5B和图5C示出了要被比较的两个记录(例如MDM记录)R_1和R_2。如图5B和图5C所示的,记录R_1与非结构化对象〖OB〗_1、〖OB〗_2、…〖OB〗_(m_1)的集合相关联,记录R_2与非结构化对象〖OB〗_1、〖OB〗_2、…〖OB〗_(m_2)的集合相关联。例如,记录R_1可以与14个文档相关联,而R_2可以与17个文档相关联。两个记录R_1和R_2代表人,诸如雇员。两个记录R_1和R_2具有结构化属性(例如“姓名”、“地址”、出生日期(“DOB”)、“性别”、“婚姻状况”和“SSN”)的值。每个结构化属性可以被分配如下的贡献权重:名称的权重:中等,地址的权重:中等,DOB的权重:高,性别的权重:极低,婚姻状况的权重:高,SSN的权重:非常高。值“高”、“中等”和“非常高”可以由可用于执行加权和的相应整数表示。
在步骤501中,可以处理与两个记录中的每一个相关联的文档,以便识别非结构化属性的值。这可以导致如图5B所示的针对记录R_1的一个非结构化值集合(也称为实体令牌包)〖包〗_1,以及如图5C所示的针对记录R_2的一个非结构化值集合〖包〗_2。步骤501可以使得能够使用实体检测模块来分析MDM记录的相关的非结构化内容,以检测人姓名、地址、个人敏感信息和其他感兴趣的实体。如图5B和图5C所示,两个集合〖包〗_1和〖包〗_2中的每一个包括诸如“John”和“USA”等的值,其中John是非结构化属性“姓名”的值,USA是的非结构化属性“国家”的值。
两个集合〖包〗_1和〖包〗_2中的每个值可与出现特性相关联。这在图5B和图5C中示出,其中每个值与它的出现频率相关联。例如,值“街道”在与记录R_1相关联的14个文档中出现4次,而在与记录R_2相关联的17个文档中出现3次。例如,所有所提取的值可以与它们的频率和实体关系分数(其指示在同一个句子、段落中一起提及的频率和实体)一起存储在所谓的实体令牌包中。实体关系分数可以是在本文中定义的第二出现特性。
在步骤503中,可以比较两个集合〖包〗_1和〖包〗_2,以计算整个包的相似性得分。例如,类似的包可以具有大量相同的值和非常相同的实体关系分数。为此,在步骤503中可以确定交集或相交包。可以通过将仅在所有包〖包〗_1和〖包〗_2中存在的值包括在相交包中来确定相交包。所得到的相交包〖包〗_1∩〖包〗_2在图5D中示出。如图5D所示,以正常字体书写的值以相同的频率在所有包〖包〗_1和〖包〗_2中出现。以斜体书写的值在所有包〖包〗_1和〖包〗_2中出现但频率不同。以粗体书写的值在两个包〖包〗_1和〖包〗_2中都出现,但不是在所有的结构化记录属性中。例如,交集的值“Baker”不是记录R_1的一部分;因此,它以粗体书写。
在步骤505中,可以使用相交包来调整被分配给记录R_1和R_2的结构化属性的权重。
例如,如果相交包具有相同频率的非结构化属性IATT的相同值,并且该相同值不匹配与所述非结构化属性IATT对应的结构化属性ATT的值,则可以用令牌包权重来替换所述结构化属性ATT的权重。这些类型的值(例如IATT的值)以粗体书写,以指示基于所述结构化属性ATT的匹配可能是错误的。
如果相交包针对某物具有相同频率的IATT的相同值,并且该相同值部分地或完全匹配结构化属性,则可以按比例增加所述结构化属性ATT的权重。这些类型的值(例如IATT的值)以正常字体书写,以指示基于所述属性的匹配可以得到加强。
如果相交令牌包针对某物具有相同值但频率不同,并且该相同值仅部分地匹配结构化属性(例如,地址或名称),则可以按比例增加所述结构化属性的权重。这些类型的值(例如IATT的值)以斜体书写,以指示基于所述属性的匹配可以实现过程正确的部分匹配。
在步骤507中,基于使用经调整的权重来比较两个记录R_1和R_2,可以确定两个记录是否代表相同的实体。
图6表示适于实现如本公开所涉及的方法步骤的至少一部分的通用计算机化系统600。
应当理解,本文所描述的方法至少部分是非交互式的,并且通过诸如服务器或嵌入式系统的计算机化系统来自动化。然而,在示例性实施例中,本文所描述的方法可以在(部分)交互式系统中实现。这些方法还可以在软件612、622(包括固件622)、硬件(处理器)605或其组合中实现。在示例性实施例中,本文所描述的方法以软件实现,作为可执行程序,并且由诸如个人计算机、工作站、小型计算机或大型计算机的专用或通用数字计算机执行。因此,最通用的系统600包括通用计算机601。
在示例性实施例中,就硬件架构而言,如图5所示,计算机601包括处理器605、耦合到存储器控制器615的存储器(主存储器)610、以及经由本地输入/输出控制器635通信地耦合的一个或多个输入和/或输出(I/O)设备(或外围设备)10、645。输入/输出控制器635可以是但不限于一个或多个总线或其它有线或无线连接,如本领域所已知的。输入/输出控制器635可以具有附加元件(为了简单起见而被省略)以实现通信,诸如控制器、缓冲器(高速缓存)、驱动器、中继器和接收器。进一步地,本地接口可以包括地址、控制和/或数据连接,以便能够在上述组件之间进行适当的通信。如本文所描述的,I/O设备10、645通常可以包括本领域已知的任何通用加密卡或智能卡。
处理器605是用于执行软件的硬件设备,特别是存储在存储器610中的软件。处理器605可以是任何定制的或商业上可得的处理器、中央处理单元(CPU)、与计算机601相关联的若干处理器中的辅助处理器、基于半导体的微处理器(采用微芯片或芯片组的形式)、或一般地用于执行软件指令的任何设备。
存储器610可以包括易失性存储元件(例如,随机存取存储器(RAM,诸如DRAM、SRAM、SDRAM等))和非易失性存储元件(例如,ROM、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM))中的任何一个或组合。注意,存储器610可以具有分布式架构,其中各种组件彼此远离,但是可以由处理器605访问。
存储器610中的软件可以包括一个或多个单独的程序,每个程序包括用于实现逻辑功能(特别是本发明的实施例所涉及的功能)的可执行指令的有序列表。在图5的示例中,存储器610中的软件包括指令612,例如,用于管理诸如数据库管理系统的数据库的指令。
存储器610中的软件通常还包括适当的操作系统(OS)611。OS 611实质上控制其他计算机程序的执行,例如用于实现本文所描述的方法的可能软件612。
本文所描述的方法可以采用源程序612、可执行程序612(目标代码)、脚本、或包括要执行的指令集612的任何其他实体的形式。当采用源程序时,则程序需要经由编译器、汇编器、解释器等(其可以被包括在存储器610内,也可以不被包括在内)来翻译,以便结合OS611正确地操作。此外,所描述的方法可以被写为具有数据类和方法类的面向对象的编程语言,或者具有例程、子例程和/或函数的过程编程语言。
在示例性实施例中,传统的键盘650和鼠标655可以耦合到输入/输出控制器635。诸如I/O设备645之类的其他输出设备可以包括输入设备,例如但不限于打印机、扫描仪、麦克风等。最后,I/O设备10、645还可以包括与输入和输出通信的设备,例如但不限于网络接口卡(NIC)或调制器/解调器(用于访问其他文件、设备、系统或网络)、射频(RF)或其他收发器、电话接口、桥接器、路由器等。I/O设备10、645可以是本领域已知的任何通用加密卡或智能卡。系统600还可以包括耦合到显示器630的显示控制器625。在示例性实施例中,系统600还可以包括用于耦合到网络665的网络接口。网络665可以是用于计算机601与任何外部服务器、客户端等之间通过宽带连接通信的基于IP的网络。网络665在计算机601与外部系统30之间发送和接收数据,其可以涉及以执行在此讨论的方法的部分或全部步骤。在示例性实施例中,网络665可以是由服务提供商管理的被管理IP网络。网络665可以以无线方式实现,例如使用诸如WiFi、WiMax等无线协议和技术。网络665也可以是分组交换网络,例如局域网、广域网、城域网、因特网或其它类似类型的网络环境。网络665可以是固定无线网络、无线局域网(WLAN)、无线广域网(WWAN)、个人区域网(PAN)、虚拟专用网(VPN)、内联网或其它合适的网络系统,并且包括用于接收和发送信号的设备。
如果计算机601是PC、工作站、智能设备等,则存储器610中的软件还可以包括基本输入输出系统(BIOS)622。BIOS是一组基本软件例程,其在启动时初始化和测试硬件,启动OS 611,并且支持数据在硬件设备之间的传输。BIOS被存储在ROM中,以便在计算机601被激活时可以执行BIOS。
当计算机601运行时,处理器605被配置为执行被存储在存储器610内的软件612,向和从存储器610传送数据,并一般地根据软件控制计算机601的操作。这里描述的方法和OS 611整体或部分地(但通常是后者)由处理器605读取,可能在处理器605内被缓冲,然后被执行。
当在软件612中实现本文描述的系统和方法时,如图5所示,这些方法可以被存储在任何计算机可读介质(诸如存储装置620)上,以供任何计算机相关的系统或方法使用或与其结合使用。存储装置620可以包括盘存储装置,诸如HDD存储装置。
本发明可以是任何可能的技术细节集成水平的系统、方法和/或计算机程序产品。计算机程序产品可以包括在其上具有计算机可读程序指令的(一个或多个)计算机可读存储介质,所述计算机可读程序指令用于使处理器执行本发明的各方面。
计算机可读存储介质可以是可保持并存储由指令执行设备使用的指令的有形设备。计算机可读存储介质可以是例如但不限于电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备、或前述存储设备的任何合适的组合。计算机可读存储介质的更具体示例的非穷举列表包括以下:便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式光盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、诸如在上面记录有指令的打孔卡或凹槽中的凸起结构的机械编码设备、以及上述设备的任何适当的组合。如本文所使用的计算机可读存储介质不应被解释为是暂时性信号本身,诸如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如,通过光纤线缆的光脉冲)、或通过导线传输的电信号。
本文描述的计算机可读程序指令可以从计算机可读存储介质下载到相应的计算/处理设备,或者经由网络(例如互联网、局域网、广域网和/或无线网络)下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或网络接口从网络接收计算机可读程序指令,并转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储介质中。
用于执行本发明的操作的计算机可读程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、集成电路的配置数据、或者以一种或多种编程语言(包括面向对象的编程语言,例如Smalltalk、C++等)和过程编程语言(例如“C”编程语言或类似的编程语言)的任意组合编写的源代码或目标代码。计算机可读程序指令可以完全在用户的计算机上执行、部分在用户的计算机上执行、作为独立的软件包执行、部分在用户的计算机上并且部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在后一种场景下,远程计算机可以通过任何类型的网络(包括局域网(LAN)或广域网(WAN))连接到用户的计算机,或者可以连接到外部计算机(例如,使用互联网服务提供商通过互联网)。在一些实施例中,包括例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA)的电子电路可以通过利用计算机可读程序指令的状态信息来执行计算机可读程序指令以使电子电路个性化,以便执行本发明的各方面。
在此参考根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明的各方面。将理解,流程图和/或框图的每个框以及流程图和/或框图中的框的组合可以由计算机可读程序指令来实现。
这些计算机可读程序指令可以被提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器以产生机器,以使得经由计算机或其他可编程数据处理装置的处理器而执行的指令创建用于实现流程图和/或框图的一个或多个框中指定的功能/动作的装置。这些计算机可读程序指令还可以存储在计算机可读存储介质中,其可以引导计算机、可编程数据处理装置和/或其他设备以特定方式工作,已使得在其中存储有指令的计算机可读存储介质包括制品,该制品包括实现流程图和/或框图的一个或多个框中指定的功能/动作的各方面的指令。
计算机可读程序指令还可以被加载到计算机、其他可编程数据处理装置或其他设备上,以使一系列操作步骤将在计算机、其他可编程装置或其他设备上执行,以产生计算机实现的过程,以使得在计算机、其他可编程装置或其他设备上执行的指令实现流程图和/或框图的一个或多个框中指定的功能/动作。
附图中的流程图和框图示出了根据本发明的各种实施例的系统、方法和计算机程序产品的可能实现的架构、功能和操作。在这点上,流程图或框图中的每个框可以表示指令的模块、段或部分,其包括用于实现指定的逻辑功能的一个或多个可执行指令。在一些替代实施方案中,框中所注明的功能可不按图中所注明的次序发生。例如,连续示出的两个框实际上可以基本上同时执行,或者这些框有时可以以相反的顺序执行,这取决于所涉及的功能。还将注意,框图和/或流程图图示的每个框以及框图和/或流程图图示中的框的组合可以由执行指定功能或动作或执行专用硬件和计算机指令的组合的专用的基于硬件的系统来实现。

Claims (20)

1.一种用于数据库系统中的记录匹配的计算机实现的方法,其中,记录代表实体,所述记录与一个或多个非结构化数据对象相关联,所述方法包括:
处理所述数据库的记录中的每个记录的所述非结构化对象,以用于识别所述每个记录的所述非结构化对象中的一个或多个属性值的集合,所述一个或多个属性值被称为非结构化属性值;
比较所述数据库的两个记录的非结构化属性值集合,以用于确定所述两个集合之间的相似程度;以及
基于比较结果,确定所述两个记录是否代表相同的实体。
2.根据权利要求1所述的方法,还包括:
针对每个所识别的非结构化属性值,评估一个或多个出现特性,其中,在特定记录的一个或多个非结构化对象中识别的特定非结构化属性值的出现特性包括以下中的任一个:
所述特定非结构化属性值在所述特定记录的所述非结构化对象中的出现频率,以及针对该特定记录的在所述非结构化对象中与所述特定非结构化属性值并置的其他所识别的非结构化属性值的指示,其中,比较所述两个非结构化属性值集合包括:将所评估的所述两个集合中的一个集合的所述非结构化属性值的出现特性与所评估的所述两个集合中的另一个集合的所述非结构化属性值的出现特性进行比较。
3.根据权利要求1所述的方法,还包括:基于所述集合中的每个集合的所述非结构化属性值的类别,将所述每个集合的所述非结构化属性值分组成群组,其中,通过比较相同类别的群组来执行所述两个集合之间的比较。
4.根据权利要求1所述的方法,其中,记录具有结构化属性的值,其中,确定所述两个记录是否代表相同的实体包括:
向所述结构化属性中的每个结构化属性分配初始贡献权重;
基于比较结果,选择在两个集合中都存在的非结构化属性值;
响应于确定所述结构化属性值中的结构化属性值不匹配任何所选择的非结构化属性,用指示所述两个集合之间的相似性的权重替换所述结构化属性的贡献权重;
响应于确定所述结构化属性值中的结构化属性值完全或部分地匹配所选择的非结构化属性,增加所述结构化属性的贡献权重;
使用贡献权重来比较所述两个记录。
5.根据权利要求4所述的方法,其中,所述选择包括:使所述两个集合相交,从而产生交集。
6.根据权利要求4所述的方法,其中,所述非结构化属性值是相应的非结构化属性的全值或者是所述非结构化属性的全值的一部分,所述选择进一步包括:执行聚合算法以用于聚合所选择的非结构化属性值中的形成相应的非结构化属性的全值的值,从而产生零个或更多个聚合值,其中,与所述结构化属性值的比较是用经处理的所选择的非结构化属性值来执行的。
7.根据权利要求6所述的方法,其中,所述聚合包括:基于所述集合中的每个集合的所述非结构化属性值的类别,将所述每个集合的所述非结构化属性值分组成群组,其中,针对属于相同群组的值执行所述聚合。
8.根据权利要求6所述的方法,其中,所选择的非结构化属性值中的每一个以相同的出现频率在所述两个集合中的每一个集合中存在。
9.根据权利要求6所述的方法,其中,比较所述两个记录包括:比较所述两个记录的所述结构化属性的值,从而得到所述记录的每个结构化属性的个体匹配分数,使用所述贡献权重来组合所述个体匹配分数,以及将组合的分数与预定义阈值进行比较。
10.根据权利要求1所述的方法,还包括:将所述两个记录合并成单个记录,其中,所述两个记录代表相同的实体。
11.根据权利要求1所述的方法,响应于接收到用于匹配所述记录的相应请求而发生。
12.根据权利要求1所述的方法,还包括:重复所述方法以用于比较所述数据库的其它记录,直到所述数据库的所有记录都被比较为止。
13.根据权利要求1所述的方法,由主数据管理MDM系统执行,其中,所比较的记录是MDM记录,其中,由所述主数据管理系统的实体检测模块执行对一个或多个属性值的所述集合的识别。
14.根据权利要求1所述的方法,其中,所述非结构化对象对应于文档。
15.根据权利要求14所述的方法,其中,所述非结构化对象对应于经扫描的文档。
16.根据权利要求1所述的方法,还包括:向与所比较的记录相关联的人提供指示与所述两个记录相关联的非结构化对象的信息。
17.根据权利要求1所述的方法,响应于存储所比较的记录而发生。
18.根据权利要求5所述的方法,其中,所述交集包括所选择的非结构化属性值。
19.一种用于数据库系统中的记录匹配的计算机程序产品,其中,记录代表实体,所述记录与一个或多个非结构化数据对象相关联,所述计算机程序产品包括随其体现的指令,所述指令可由处理器执行以使所述处理器执行根据权利要求1至18中任一项所述的方法。
20.一种用于记录匹配的计算机系统,其中,记录代表实体,所述记录与一个或多个非结构化数据对象相关联,所述计算机系统包括:
一个或多个计算机处理器:以及
程序指令,所述程序指令包括当由所述处理器执行时执行权利要求1至18中的任一项所述的方法的指令。
CN202210356193.9A 2021-03-29 2022-03-28 数据库系统中的记录匹配 Pending CN115221936A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/215071 2021-03-29
US17/215,071 US11687574B2 (en) 2021-03-29 2021-03-29 Record matching in a database system

Publications (1)

Publication Number Publication Date
CN115221936A true CN115221936A (zh) 2022-10-21

Family

ID=83364675

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210356193.9A Pending CN115221936A (zh) 2021-03-29 2022-03-28 数据库系统中的记录匹配

Country Status (3)

Country Link
US (1) US11687574B2 (zh)
JP (1) JP2022153339A (zh)
CN (1) CN115221936A (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111914241B (zh) * 2020-08-06 2024-01-30 上海熙菱信息技术有限公司 一种动态识别非结构化对象身份信息的方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7657540B1 (en) * 2003-02-04 2010-02-02 Seisint, Inc. Method and system for linking and delinking data records
JP2006260546A (ja) * 2005-03-15 2006-09-28 Oce Technologies Bv ドキュメント管理システム
AU2007254820B2 (en) 2006-06-02 2012-04-05 International Business Machines Corporation Automatic weight generation for probabilistic matching
US9251180B2 (en) 2012-05-29 2016-02-02 International Business Machines Corporation Supplementing structured information about entities with information from unstructured data sources
IN2013MU03153A (zh) * 2013-10-03 2015-07-03 Tata Consultancy Services Ltd
US11334757B2 (en) 2018-06-11 2022-05-17 International Business Machines Corporation Suspect duplicate processing through a feedback-driven learning process
US11238044B2 (en) * 2019-05-06 2022-02-01 International Business Machines Corporation Candidate data record prioritization for match processing

Also Published As

Publication number Publication date
US11687574B2 (en) 2023-06-27
JP2022153339A (ja) 2022-10-12
US20220309084A1 (en) 2022-09-29

Similar Documents

Publication Publication Date Title
US11429878B2 (en) Cognitive recommendations for data preparation
US10565077B2 (en) Using cognitive technologies to identify and resolve issues in a distributed infrastructure
US8601059B2 (en) Sharing form training result utilizing a social network
US20150347212A1 (en) Error classification in a computing system
US11163906B2 (en) Adaptive redaction and data releasability systems using dynamic parameters and user defined rule sets
US11042581B2 (en) Unstructured data clustering of information technology service delivery actions
US11093774B2 (en) Optical character recognition error correction model
US11683283B2 (en) Method for electronic messaging
US11366843B2 (en) Data classification
US20220405535A1 (en) Data log content assessment using machine learning
US11531656B1 (en) Duplicate determination in a graph
US11409772B2 (en) Active learning for data matching
US11334603B2 (en) Efficiently finding potential duplicate values in data
US11151308B2 (en) Electronic document processing system
CN115221936A (zh) 数据库系统中的记录匹配
JP2022074045A (ja) コンピュータ実装方法、コンピュータ・プログラムおよびコンピュータ・システム(グラフ・データベースにおけるデータのデータ品質の測定)
CN115803726A (zh) 使用合格关系得分的主数据的改进的实体解析
US10705810B2 (en) Automatic code generation
US11922129B2 (en) Causal knowledge identification and extraction
US20220114189A1 (en) Extraction of structured information from unstructured documents
US11941056B2 (en) Method for weighting a graph
US20230064674A1 (en) Iterative training of computer model for machine learning
US20220188344A1 (en) Determining an ontology for graphs
US20200153809A1 (en) Real-time cookie format validation and notification

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination