CN116806337A - 使用子图的信息匹配 - Google Patents
使用子图的信息匹配 Download PDFInfo
- Publication number
- CN116806337A CN116806337A CN202280009872.7A CN202280009872A CN116806337A CN 116806337 A CN116806337 A CN 116806337A CN 202280009872 A CN202280009872 A CN 202280009872A CN 116806337 A CN116806337 A CN 116806337A
- Authority
- CN
- China
- Prior art keywords
- node
- neighboring
- nodes
- best matching
- sub
- 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
Links
- 238000000034 method Methods 0.000 claims abstract description 155
- 239000013598 vector Substances 0.000 claims description 80
- 238000003860 storage Methods 0.000 claims description 43
- 238000004590 computer program Methods 0.000 claims description 11
- 230000008569 process Effects 0.000 description 118
- 238000012545 processing Methods 0.000 description 55
- 238000010586 diagram Methods 0.000 description 26
- 238000013523 data management Methods 0.000 description 15
- 238000004891 communication Methods 0.000 description 14
- 238000007726 management method Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 12
- 238000004422 calculation algorithm Methods 0.000 description 11
- 238000004458 analytical method Methods 0.000 description 9
- 230000002085 persistent effect Effects 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 6
- 239000000835 fiber Substances 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 6
- 238000003491 array Methods 0.000 description 5
- 230000001902 propagating effect Effects 0.000 description 4
- 230000000052 comparative effect Effects 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 239000003795 chemical substances by application Substances 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 230000003466 anti-cipated effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013479 data entry Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- -1 family Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000003064 k means clustering Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000013439 planning Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000012384 transportation and delivery Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/29—Graphical models, e.g. Bayesian networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
- G06N5/022—Knowledge engineering; Knowledge acquisition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/215—Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
- G06F16/285—Clustering or classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/231—Hierarchical techniques, i.e. dividing or merging pattern sets so as to obtain a dendrogram
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2323—Non-hierarchical techniques based on graph theory, e.g. minimum spanning trees [MST] or graph cuts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2413—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
- G06F18/24133—Distances to prototypes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2413—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
- G06F18/24147—Distances to closest patterns, e.g. nearest neighbour classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/01—Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Discrete Mathematics (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
一种匹配信息的方法。识别第一子图中的第一中心节点和第二子图中的第二中心节点。识别具有来自两个子图的相邻节点的相邻节点组。组中的一个相邻节点组具有相同节点类型的相邻节点。识别每个集群中相邻节点的最佳匹配节点对。每个最佳匹配节点对中的相邻节点包括来自第一子图的第一节点和来自第二子图的第二节点。使用第一和第二中心节点以及最佳匹配节点对基于中心节点之间的总距离来确定中心节点是否匹配。
Description
技术领域
本公开一般涉及改进的计算机系统,并且更具体地涉及用于匹配子图(subgraph)的方法、装置、系统和计算机程序产品。
背景技术
公司和其他组织具有许多数据源。这些数据源包含人员、组织、供应商、产品、市场计划或其它类型的项目的记录。通常在处理公司的日常交易的多个操作系统中维护这些记录。分析系统移动或访问这些记录以产生报告。这些报告包括客户收入、产品收入、销售趋势、使用报告或其它类型的报告。在分析系统中生成报告时,重复的记录可能导致分析和结果报告的不准确。结果,识别和协调数据中的重复记录以满足报告要求。
软件匹配算法被用于识别不同数据集内或跨不同数据集的重复记录。这些匹配算法实现例如确定性匹配、模糊概率匹配和其他类型的匹配过程。这些软件匹配算法集中于记录的关系和列数据结构,以确定是否存在重复记录。随着被比较的记录的数量增加,时间和资源使用的量可显著增加。
因此,期望实现一种考虑到上述问题中的至少一些以及其它可能的问题的方法和装置。例如,期望实现一种克服匹配大量记录所需的时间和资源量的技术问题的方法和装置。
发明内容
根据本发明的一个实施例,提供了一种匹配信息的方法。计算机系统识别第一子图中的第一中心节点和第二子图中的第二中心节点。计算机系统识别具有来自第一子图和第二子图两者的相邻节点的相邻节点组。相邻节点组中的相邻节点组具有相同节点类型的相邻节点。由计算机系统识别每组相邻节点中的相邻节点的最佳匹配节点对,以形成集群集合中的最佳匹配节点对集合,其中,每个最佳匹配节点对包括来自第一子图的第一相邻节点和来自第二子图的第二相邻节点。计算机系统使用第一中心节点、第二中心节点和集群集合中的最佳匹配节点对集合确定第一中心节点和第二中心节点是否匹配。
根据本发明的另一实施例,提供了一种匹配信息的方法。计算机系统根据节点类型将两个子图中的两个中心节点的相邻节点分配成组,其中,组包括来自两个子图两者的相邻节点。计算机系统使用Hausdorff距离来为每个相邻节点组选择相邻节点的最佳匹配节点对,以形成针对相邻节点组的相邻节点的最佳匹配节点对集合,其中,最佳匹配节点对集合中的最佳匹配节点对具有来自两个子图中的每一个的相邻节点。计算机系统使用两个中心节点和相邻节点的最佳匹配节点对集合来确定两个中心节点之间的总距离。两个中心节点之间的总距离考虑了两个中心节点中的每一者的最佳匹配节点对集合。计算机系统基于两个中心节点之间的总距离来确定两个中心节点之间是否存在匹配。
根据本发明的另一实施例,一种信息管理系统包括计算机系统,该计算机系统执行程序指令以识别第一子图中的第一中心节点和第二子图中的第二中心节点。计算机系统执行程序指令以识别具有来自第一子图和第二子图两者的相邻节点的相邻节点组。相邻节点组中的相邻节点组具有相同节点类型的相邻节点。计算机系统执行程序指令以识别每组相邻节点中的相邻节点的最佳匹配节点对,以形成最佳匹配节点对集合。每个最佳匹配节点对包括来自第一子图的第一相邻节点和来自第二子图的第二相邻节点。计算机系统执行程序指令以使用第一中心节点、第二中心节点和最佳匹配节点对集合来确定第一中心节点和第二中心节点是否匹配。
根据本发明的又一实施例,一种信息管理系统包括计算机系统,该计算机系统执行程序指令以根据节点类型将两个子图中的两个中心节点的相邻节点分配成组。组包括来自两个子图两者的相邻节点。计算机系统执行程序指令以使用Hausdorff距离为每个相邻节点组选择相邻节点的最佳匹配节点对,以形成针对集群集合的相邻节点的最佳匹配节点对集合。最佳匹配节点对集合中的最佳匹配节点对具有来自两个子图中的每一个的相邻节点。计算机系统执行程序指令以使用两个中心节点和相邻节点的最佳匹配节点对集合来确定两个中心节点之间的总距离。两个中心节点之间的总距离考虑了两个中心节点中的每一者的最佳匹配节点对集合。计算机系统执行程序指令以基于两个中心节点之间的总距离确定在两个中心节点之间是否存在匹配。
根据本发明的又一实施例,一种用于匹配信息的计算机程序产品包括计算机可读存储介质,该计算机可读存储介质具有随其体现的程序指令程序指令可由计算机系统执行以使所述算机执行一种方法,方法包括:由计算机系统识别第一子图中的第一中心节点和第二子图中的第二中心节点;由计算机系统识别具有来自第一子图和第二子图两者的相邻节点的相邻节点组,其中,相邻节点组中的相邻节点组具有相同节点类型的相邻节点;由计算机系统识别每个相邻节点组中的相邻节点的最佳匹配节点对以形成集群集合中的最佳匹配节点对集合,其中最佳匹配节点对中的相邻节点包括来自第一子图的第一相邻节点和来自第二子图的第二相邻节点;以及由计算机系统使用第一中心节点、第二中心节点和集群集合中的最佳匹配节点对集合确定第一中心节点和第二中心节点是否匹配。
因此,与不比较子图的当前技术相比,不同的说明性实施例可以减少用于确定信息片段是否匹配的时间或资源中的至少一个。此外,不同的说明性示例还可以提高在至少一阶匹配或第一二阶匹配中匹配信息片段的准确性。
附图说明
图1是其中可实现说明性实施例的数据处理系统的网络的图形表示;
图2是根据说明性实施例的由图1中的云计算环境50提供的一组功能抽象层;
图3是其中可实现说明性实施例的数据处理系统的网络的图形表示;
图4是根据说明性实施例的信息环境的框图;
图5是根据说明性实施例的具有被分配到组中的相邻节点的两个子图的图示;
图6是根据说明性实施例的相邻节点组的图示;
图7是根据说明性实施例的从相邻实体组中创建的集群的图示;
图8是根据说明性实施例的相邻的信息片段的图示;
图9是根据说明性实施例的用于管理信息的过程的流程图;
图10是根据说明性实施例的用于匹配中心节点的过程的流程图;
图11是根据说明性实施例的用于识别相邻节点组的过程的流程图;
图12是根据说明性实施例的用于创建集群集合的流程图;
图13是根据说明性实施例的用于识别相邻节点的最佳匹配对的过程的流程图;
图14是根据说明性实施例的用于确定第一子中心节点图与第二中心节点是否匹配的过程的流程图;
图15是根据说明性实施例的用于确定第一中心节点和第二中心节点是否匹配的过程的流程图;
图16是根据说明性实施例的用于匹配子图的过程的流程图;
图17是根据说明性实施例的用于将相邻节点分配到组中的过程的流程图;
图18是根据说明性实施例的用于为每个集群选择相邻节点的最佳匹配节点对的过程的流程图;
图19是根据说明性实施例的用于生成特征向量的过程的流程图;
图20是根据说明性实施例的用于匹配中心节点的过程的流程图;以及
图21是根据说明性实施例的数据处理系统的框图。
具体实施方式
本发明可以是任何可能的技术细节集成水平的系统、方法和/或计算机程序产品。计算机程序产品可以包括其上具有计算机可读程序指令的计算机可读存储介质(或多个介质),所述计算机可读程序指令用于使处理器执行本发明的各方面。
计算机可读存储介质可以是能够保持和存储指令以供指令执行设备使用的有形设备。计算机可读存储介质可以是例如但不限于电子存储装置、磁存储装置、光存储装置、电磁存储装置、半导体存储装置或前述的任何合适的组合。计算机可读存储介质的更具体示例的非穷举列表包括以下:便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式光盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、诸如上面记录有指令的打孔卡或凹槽中的凸起结构的机械编码装置,以及上述的任何适当组合。如本文所使用的计算机可读存储介质不应被解释为暂时性信号本身,诸如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如,通过光纤线缆的光脉冲)、或通过导线传输的电信号。
本文描述的计算机可读程序指令可以从计算机可读存储介质下载到相应的计算/处理设备,或者经由网络,例如因特网、局域网、广域网和/或无线网络,下载到外部计算机或外部存储装置。网络可以包括铜传输电缆、光传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或网络接口从网络接收计算机可读程序指令,并转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储介质中。
用于执行本发明的操作的计算机可读程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、集成电路的配置数据,或者是以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言(例如Smalltalk、C++等)以及过程编程语言(例如“C”编程语言或类似的编程语言)。计算机可读程序指令可以完全在用户的计算机上执行,部分在用户的计算机上执行,作为独立的软件包执行,部分在用户的计算机上并且部分在远程计算机上执行,或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可以通过任何类型的网络连接到用户的计算机,包括局域网(LAN)或广域网(WAN),或者可以连接到外部计算机(例如,使用因特网服务提供商通过因特网)。在一些实施例中,为了执行本发明的各方面,包括例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA)的电子电路可以通过利用计算机可读程序指令的状态信息来执行计算机可读程序指令以使电子电路个性化。
在此参考根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明的各方面。将理解,流程图和/或框图的每个框以及流程图和/或框图中的框的组合可以由计算机可读程序指令来实现。
这些计算机可读程序指令可以被提供给计算机的处理器或其他可编程数据处理装置以产生机器,使得经由计算机或其他可编程数据处理装置的处理器执行的指令创建用于实现流程图和/或框图的一个或多个框中指定的功能/动作的装置。这些计算机可读程序指令还可以存储在计算机可读存储介质中,其可以引导计算机、可编程数据处理装置和/或其他设备以特定方式工作,使得其中存储有指令的计算机可读存储介质包括制品,该制品包括实现流程图和/或框图的一个或多个框中指定的功能/动作的方面的指令。
计算机可读程序指令还可以被加载到计算机、其他可编程数据处理装置或其他设备上,以使得在计算机、其他可编程装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,使得在计算机、其他可编程装置或其他设备上执行的指令实现流程图和/或框图的一个或多个框中指定的功能/动作。
附图中的流程图和框图示出了根据本发明的各种实施例的系统、方法和计算机程序产品的可能实现的架构、功能和操作。在这点上,流程图或框图中的每个框可以表示指令的模块、段或部分,其包括用于实现指定的逻辑功能的一个或多个可执行指令。在一些替代实施方案中,框中所注明的功能可不按图中所注明的次序发生。例如,连续示出的两个框实际上可以作为一个步骤来实现,同时、基本同时、以部分或全部时间重叠的方式执行,或者这些框有时可以以相反的顺序执行,这取决于所涉及的功能。还将注意,框图和/或流程图图示的每个框以及框图和/或流程图图示中的框的组合可以由执行指定功能或动作或执行专用硬件和计算机指令的组合的专用的基于硬件的系统来实现。
说明性实施例认识到并考虑了许多不同的考虑。例如,说明性实施例认识到并考虑到,当前的匹配算法不考虑记录与表示为图的数据的关系网络。例如,说明性实施例认识到并考虑到,当比较一个人的两个记录时,如果两个记录具有与图中的相邻节点的相同的关系,则这些记录可能是针对同一个人的。说明性实施例认识到并考虑到,与确定记录本身中的名称的相似性相比,比较子图可以提供更强指示(指示记录是重复的)。因此,说明性实施例认识到并考虑到,考虑子图比较可以改进匹配过程中的匹配结果。
因此,说明性实施例提供了用于匹配信息的方法、装置、系统和计算机程序产品。在一个说明性示例中,识别第一子图中的第一中心节点和第二子图中的第二中心节点。计算机系统识别具有来自第一子图和第二子图两者的相邻节点的相邻节点组。相邻节点组中的相邻节点组具有相同节点类型的相邻节点。计算机系统从每个相邻节点组中创建集群集合,使得集群集合中的每个集群具有来自第一子图和第二子图两者的相邻节点。由计算机系统识别集群集合中的每个集群中的相邻节点的最佳匹配节点对以形成集群集合中的最佳匹配节点对集合,其中,最佳匹配节点对中的相邻节点包括来自第一子图的第一节点和来自第二子图的第二节点。计算机系统使用第一中心节点、第二中心节点集群集合中的所述佳匹配节点对,基于第一中心节点第二中心节点之间的总距离,确定所述一中心节点和第二中心节点是否匹配。
如本文所使用的,当“集合”用于指项目时,表示一个或多个项目。例如,“集群集合”是一个或多个集群。此外,当“组”用于指项目时,“组”也指一个或多个项目。例如,“相邻节点组”是一个或多个相邻节点。
现在参考图1,描绘了云计算环境50的图示。如图所示,云计算环境50包括云消费者使用的本地计算设备可以与其通信的一个或多个云计算节点10,所述本地计算设备例如个人数字助理(PDA)或蜂窝电话54A、台式计算机54B、膝上型计算机54C和/或汽车计算机系统54N。云计算节点10可以彼此通信。它们可以被物理地或虚拟地分组(未示出)在一个或多个网络中,诸如如上文描述的私有云、社区云、公共云或混合云或其组合。这允许云计算环境50提供基础设施、平台和/或软件作为服务,云消费者不需要为其维护本地计算设备上的资源。应当理解,图1中所示的计算设备54A-N的类型仅旨在说明,并且云计算环境50中的云计算节点10可以通过任何类型的网络和/或网络可寻址连接(例如,使用web浏览器)与任何类型的计算设备通信。
现在参考图2,示出了由图1中的云计算环境50提供的一组功能抽象层。预先理解,图2中所示的组件、层和功能仅旨在说明,并且本发明的实施例不限于此。如所描述的,提供了下面的层和相应的功能。
硬件和软件层60包括硬件和软件组件。硬件组件的示例包括:主机61;基于RISC(精简指令集计算机)架构的服务器62;服务器63;刀片服务器64;存储装置65;以及网络和网络组件66。在一些实施例中,软件组件包括网络应用服务器软件67和数据库软件68。
虚拟化层70提供抽象层,从该抽象层可以提供虚拟实体的以下示例:虚拟服务器71;虚拟存储器72;虚拟网络73,包括虚拟专用网络;虚拟应用和操作系统74;以及虚拟客户端75。
在一个示例中,管理层80可以提供以下描述的功能。资源供应81提供用于在云计算环境内执行任务的计算资源和其它资源的动态采购。计量和定价82提供了在云计算环境中利用资源时的成本跟踪,以及用于消耗这些资源的开帐单或发票。在一个示例中,这些资源可以包括应用软件许可证。安全性为云消费者和任务提供身份验证,以及为数据和其他资源提供保护。用户门户83为消费者和系统管理员提供对云计算环境的访问。服务级别管理84提供云计算资源分配和管理,使得满足所需的服务级别。服务水平协议(SLA)规划和履行85提供对云计算资源的预安排和采购,其中根据SLA预期未来需求。
工作负载层90提供了可以利用云计算环境的功能的示例。可以从该层提供的工作负载和功能的示例包括:绘图和导航91;软件开发和生命周期管理92;虚拟教室教育传送93;数据分析处理94;交易处理95;以及数据管理96。数据管理96提供用于管理图1中的云计算环境50中的数据或访问图1中的云计算环境50的物理位置中的网络中的数据的服务。
例如,数据管理96可以被实现为主数据管理服务或在数据管理服务中,其中在信息的管理中可以增加一致性、准确性、语义一致性或责任中的至少一个。当存在多于一个信息副本时,数据管理96对信息的这种管理可能是有用的。数据管理96可在所有信息副本上维护单一版本的真值。在一个说明性示例中,数据管理96可用来管理诸如位于多个操作系统中的记录的信息。在一个说明性示例中,数据管理96可以识别重复记录。数据管理96还可以协调被识别的重复记录。在说明性示例中,数据管理96可以在处理诸如记录的信息时采用匹配过程来识别信息的重复片段。
现在参考图3,描绘了其中可以实现说明性实施例的数据处理系统的网络的图形表示。网络数据处理系统300是其中可以实现说明性实施例的计算机网络。网络数据处理系统300包含网络302,其是用于提供在网络数据处理系统300内连接在一起的各种设备和计算机之间的通信链接的介质。网络302可以包括诸如有线、无线通信链接或光纤电缆的连接。
在所描绘的示例中,服务器计算机304和服务器计算机306与存储单元308一起连接到网络302。此外,客户端设备310连接到网络302。如图所示,客户端设备310包括客户端计算机312、客户端计算机314和客户端计算机316。客户端设备310可以是例如计算机、工作站或网络计算机。在所描绘的示例中,服务器计算机304向客户端设备310提供诸如引导文件、操作系统映像和应用的信息。此外,客户端设备310还可包括其他类型的客户端设备,诸如移动电话318、平板计算机320和智能眼镜322。在该说明性示例中,服务器计算机304、服务器计算机306、存储单元308和客户端设备310是连接到网络302的网络设备,其中网络302是这些网络设备的通信介质。一些或所有客户端设备310可以形成物联网(IoT),其中这些物理设备可以连接到网络302并且通过网络302彼此交换信息。
在该示例中,客户端设备310是服务器计算机304的客户端。网络数据处理系统300可以包括未示出的附加服务器计算机、客户端计算机和其他设备。客户端设备310利用有线、光纤或无线连接中的至少一种连接到网络302。
位于网络数据处理系统300中的程序代码可以存储在计算机可记录存储介质上,并下载到数据处理系统或其它设备以供使用。例如,程序代码可以存储在服务器计算机304上的计算机可记录存储介质上,并且通过网络302下载到客户端设备310以在客户端设备310上使用。
在所描绘的示例中,网络数据处理系统300是因特网,其中网络302表示使用传输控制协议/因特网协议(TCP/IP)协议组来相互通信的网络和网关的世界范围的集合。因特网的核心是主节点或主机计算机(其包括路由数据和消息的数千个商业、政府、教育和其它计算机系统)之间的高速数据通信线路的主干。当然,网络数据处理系统300也可以使用许多不同类型的网络来实现。例如,网络302可以包括因特网、内联网、局域网(LAN)、城域网(MAN)或广域网(WAN)中的至少一个。图3旨在作为示例,而不是作为对不同说明性实施例的体系结构限制。
如本文所使用的,当用“多个”引用项目时,表示一个或多个项目。例如,“多个不同类型的网络”是一个或多个不同类型的网络。
此外,当短语“至少一个”与项目列表一起使用时,短语“至少一个”是指可以使用项目列表中的一个或多个项目的不同组合,并且可能仅需要列表中的每个项目中的一个。换句话说,“至少一个”是指项目的任意组合,并且可以使用来自列表的多个项目,但是不是列表中的所有项目都是必需的。项目可以是特定对象、事物或类别。
例如,但不限于,“项目A、项目B或项目C中的至少一个”可以包括项目A,项目A和项目B,或者项目B。该示例还可以包括项目A、项目B、和项目C,或者项目B和项目C。当然,可存在这些项目的任意组合。在一些说明性示例中,“至少一个”可以是例如但不限于两个项目A;一个项目B;和十个项目C;四个项目B和七个项目C;或其它合适的组合。
在该说明性示例中,信息管理器330位于服务器计算机304中。信息管理器330可以管理位于储存库334中的记录332形式的信息的副本。例如,信息管理器330可以识别记录332中的重复记录336。在所描绘的示例中,记录332可以是针对从个人、公司、组织、供应商、代理、家庭、产品、服务和其他合适类型的对象中的至少一个选择的对象。
当在记录332中识别出匹配时,可以执行协调(reconciliation)。这种协调可包括移除记录的重复副本、合并记录或其他合适的动作。在该说明性示例中,重复记录336可以是精确匹配或充分匹配以表示相同对象。换句话说,在一些示例中,对于两个记录将是匹配的并且被指定为重复记录336,可能不需要两个记录之间的100%匹配。
例如,即使没有被完全相同地拼写姓名,也可认为人的两个记录是重复的记录336。例如,一个记录可以是针对“John Smith”,而另一个记录是针对“Jon Smith”。记录中的其它信息可能足够接近,使得即使姓名不是精确匹配,也认为记录是匹配的。作为另一示例,可认为“144River Lane”和“144River Ln.”是记录中的地址的匹配。
在该说明性示例中,可由信息管理器330使用子图来执行记录332的比较。例如,信息管理器330可以识别两个子图340中的两个中心节点338,其中两个中心节点338中的每一个在两个子图340中的一个子图中。如所描绘的,两个子图340还包括相邻节点342。两个子图340中的每一个可以包括相邻节点342的一部分。
在这个说明性的示例中,相邻节点342中的每个相邻节点可表示记录332中的记录。例如,两个中心节点338可以各自表示关于一个人的记录。相邻节点342可以是表示连接或链接到两个中心节点338的对象的记录或其他数据结构。对象可以从朋友、雇主、住宅、合同、车辆、相邻人、亲戚、商业伙伴、建筑物、工作位置或具有到两个中心节点338中的一个或多个的连接的某个其他合适的对象中的至少一个中选择。
在该说明性示例中,比较两个子图340以确定在两个中心节点338的记录332之间是否存在匹配。在这个说明性示例中,可由信息管理器330使用任何当前可用的匹配技术来进行两个中心节点338的标识。可比较两个中心节点338的信息以生成特征结果344。特征是来自中心节点中的信息的比较的特性。
例如,可以从记录中的各个字段中导出信息。例如,信息可以是姓名、姓、名、企业地址、车辆、电话号码、邮政编码、区域代码、或者可以在记录中的一些其它信息。
特征可以是信息比较中的特性。例如,特征可以是精确匹配、部分匹配、信息缺失、不匹配或其他类型的特征。这些特征结果344可以表示为向量中的数字或分数。这些特征结果344也可用于识别候选记录以供信息管理器330分析。特征结果344还可以是基于两个节点(例如两个中心节点338)之间的距离的特征。
在该示例中,特征结果344可用于确定可以由信息管理器330进一步处理记录332中的哪些记录。换句话说,特征结果344可用于减少在识别重复记录336时被比较的记录的数量。
通过识别两个子图340中的两个中心节点338,信息管理器330可以在确定由两个中心节点338表示的记录332是否是重复记录336时确定两个子图340的相似性348。在该说明性示例中,相似性348可以基于如下描述的两个子图340之间的距离。结果,可以使用相似性348或者相似性348和特征结果344两者来生成分数350,以确定两个中心节点338是否表示重复记录336。
在该说明性示例中,信息管理器330可以通过将分数350与多个阈值352进行比较来做出该确定。这些阈值可以是上限阈值,或者可以定义用于比较分数350以确定两个中心节点338是否表示重复记录336的范围。
因此,信息管理器330可以增加识别重复记录336的准确性。此外,在针对诸如个人、组织、机构或一些其他单个实体的一阶匹配中,可以提高该准确性。另外,在诸如家庭的实体的二阶匹配中,也可以提高准确性。当分析两个子图340中的关系信息时,确定两个子图340中的两个中心节点338的相似性348可具有针对二阶匹配的提高的准确性。
如所描绘的,信息管理器330可以使用两个中心节点338的两个子图340中的两个中心节点338和相邻节点342作为输入,以确定两个中心节点338的相似性348。如图所示,信息管理器330将相邻节点342分配到组354。组354中的每个组表示不同的节点类型。组354中的每个组具有来自两个子图340两者的相邻节点342。可以执行聚类以确定组354内的集群356。换句话说,相邻节点342的每个集群是相同类型的相邻节点342的集群。
可以使用任何合适的聚类过程来执行该聚类。例如,可以对来自两个子图340的组中的相邻节点342执行基于密度的聚类。
如所描绘的,集群356中的每个集群包括来自两个子图340两者的相邻节点342。换句话说,每个集群包括来自两个子图340中的每个子图的至少一个相邻节点。
信息管理器330可以针对集群356中的每个集群识别最佳匹配节点对以形成最佳匹配节点对358。该确定可以通过确定Hausdorrf距离来进行,其中计算集群中来自每个子图的两个相邻节点之间的相邻距离。该相邻距离可以基于比较相邻节点、被比较的相邻节点的链接以及被比较的相邻节点的索引。不同的距离可用于确定总距离360,其可以指示两个中心节点338之间的相似性348。总距离360是考虑了相邻节点342的两个中心节点338之间的距离。换句话说,当考虑相邻节点342时,两个中心节点338之间的距离可以改变。在该示例中,相邻节点342是两个中心节点338的最佳匹配节点对。两个中心节点338的总距离360可用于确定两个中心节点338的记录332是否足够相似而被认为是重复记录336。
现在参考图4,根据说明性实施例描绘了信息环境的框图。在该说明性示例中,信息环境400包括可在硬件(诸如图3中的网络数据处理系统300中所示的硬件)中实现的组件。
如所描绘的,信息环境400是其中可以管理信息402的环境。在该说明性示例中,信息402的管理可包括协调位于一个或多个数据集404中的信息402。这些数据集可以位于一个或多个储存库中。这些储存库可以包括例如数据仓库、数据湖、数据集市、数据库或一些其它适当的数据存储实体中的至少一个。
信息402可以采用各种形式。例如,信息402可以采取记录406的形式。记录406中的记录是用于组织信息402的数据结构。例如,记录可以是不同数据类型的字段的集合。记录406可以存储在数据库、表或其他合适的构造中。
信息环境400中的信息管理系统408可操作以管理信息402。信息402的这种管理可以包括存储、添加、移除、修改或执行关于信息402的其他操作。例如,信息管理系统408可找到一个或多个数据集404中的重复信息。然后,可以协调这些重复,其中可以执行诸如去重复、合并重复信息的动作或其他动作。
在该说明性示例中,信息管理系统408包括多个不同的组件。如图所示,信息管理系统408包括计算机系统410和信息管理器412。
信息管理器412可以用软件、硬件、固件或其组合来实现。当使用软件时,可以在被配置为在硬件(诸如处理器单元)上运行的程序代码中实现由信息管理器412执行的操作。当使用固件时,由信息管理器412执行的操作可以程序代码和数据来实现,并且存储在永久存储器中以在处理器单元上运行。当采用硬件时,硬件可包括操作以执行信息管理器412中的操作的电路。
在说明性示例中,硬件可采取从电路系统、集成电路、专用集成电路(ASIC)、可编程逻辑设备或被配置为执行多个操作的一些其它适当类型的硬件中的至少一个中选择的形式。利用可编程逻辑设备,该设备可被配置为执行多个操作。该设备可以在稍后的时间被重新配置,或者可以被永久地配置以执行多个操作。可编程逻辑设备包括例如可编程逻辑阵列、可编程阵列逻辑、现场可编程逻辑阵列、现场可编程门阵列和其它适当的硬件设备。另外,该方法可以在与无机组件集成的有机组件中实施,并且可以完全由除人以外的有机组件组成。例如,该方法可以作为有机半导体中的电路来实施。
计算机系统410是物理硬件系统,并且包括一个或多个数据处理系统。当计算机系统410中存在多于一个数据处理系统时,这些数据处理系统使用通信介质彼此通信。通信介质可以是网络。数据处理系统可以是从计算机、服务器计算机、平板计算机或一些其它合适的数据处理系统中的至少一个中选择的。
在该说明性示例中,计算机系统410中的信息管理器412识别第一子图416中的第一中心节点414和第二子图420中的第二中心节点418。可以以多种不同的方式执行这种识别。例如,用于将诸如记录406的多条信息彼此进行比较的当前可用的比较算法可用于从信息402中识别第一中心节点414和第二中心节点418。这些比较算法包括例如近似串匹配、记录链接或其它过程。在一个说明性示例中,这些中心节点中的每一个可具有记录406中的记录。可由信息管理器412使用该初始匹配过程来识别用于分析的候选中心节点。
另外,在该示例中,信息管理器412识别第一子图416和第二子图420。这两个子图中的相邻节点422链接到第一中心节点414和第二中心节点418中的一者。
如所描绘的,信息管理器412识别相邻节点422的组424,该组具有来自第一子图416和第二子图420的具有节点类型430中的相同节点类型428的相邻节点422。节点类型430可以是结构性元数据,并且包括节点中的信息片段的不同字段的元数据。该元数据可以包括字段名、数据类型、粒度和其他信息。例如,节点类型可以是个人、组织、代理、卖主、家庭、房屋、车辆、合同、保险、保修、服务或其他合适类型的元数据。
在该说明性示例中,节点是节点类型430的信息的集合。节点可以是例如记录或一些其它合适的信息402片段。
在创建组424中,信息管理器412可以基于相邻节点422的节点类型430将来自每个子图的相邻节点422放置到初始组432中。信息管理器412可以选择初始组432中的具有来自相邻节点422的第一子图416和相邻节点422的第二子图420的相邻节点422的每个初始组,以形成具有来自第一子图416和第二子图420两者的相邻节点422的相邻节点422的组424。
在该说明性示例中,信息管理器412根据相邻节点422的每个组创建集群集合434,使得集群集合434中的每个集群具有来自第一子图416和第二子图420两者的相邻节点422。在创建集群集合434时,信息管理器412可以在相邻节点422的组424中的相邻节点422的每个组内创建候选集群436。信息管理器412可以在候选集群436中选择具有来自相邻节点422的第一子图416和相邻节点422的第二子图420两者中的相邻节点422的每个集群,以形成集群集合434。
在说明性示例中,信息管理器412识别集群集合434中的每个集群的相邻节点422的最佳匹配节点对438,以形成集群集合434中的最佳匹配节点对集合440。最佳匹配节点对438中的两个相邻节点包括来自第一子图416的相邻节点422中的第一相邻节点442和来自第二子图420的相邻节点422中的第二相邻节点444。
在识别最佳匹配节点对438时,信息管理器412可以确定在集群中被比较的相邻节点422的相邻距离450。该比较可以基于被比较的相邻节点422、被比较的相邻节点422的链接、以及被比较的相邻节点422的深度。信息管理器412可以将用于集群集合434中的每个集群的最佳匹配节点对438标识为集群中具有最短相邻距离452的两个节点,以形成集群集合434中的最佳匹配节点对集合440。
如在该示例中所描绘的,信息管理器412使用第一中心节点414、第二中心节点418和集群集合434中的最佳匹配节点对集合440,基于第一中心节点414和第二中心节点418之间的总距离446来确定第一中心节点414和第二中心节点418是否匹配。
此外,信息管理器412可以使用特征结果448来识别候选中心节点以供分析。如果两个中心节点彼此足够接近,则可以执行附加步骤来确定总距离446。
在该说明性示例中,特征结果448可以包括关于比较第一中心节点414和第二中心节点418之间的信息的特征。特征结果448还可以包括基于第一中心节点414和第二中心节点418之间的距离的特征。特征结果448还可以是基于通过比较第一中心节点414和第二中心节点418之间的信息而获得的特征的和的总和。换句话说,特征是在被比较的信息中可能存在的感兴趣的特性。
例如,可以通过比较两个中心节点之间的信息来确定特征的出现,该信息诸如名、姓、合同名、车辆制造商、车辆型号或其他类型的信息。特征可以是例如精确匹配、部分匹配、相似名称、省去(left out)名称、不匹配名称、精确单词的数量、相似单词的数量、省去单词的数量、不匹配单词的数量、以及可能感兴趣的其它类型的特征。这些类型的特征是比较特征。特征结果448可以包括不同特征的单独分数或基于所有特征的总分数中的至少一个。这些分数可以以特征向量的形式来组织,其中特征向量中的每个元素表示特定特征的出现。在一个示例中,可使用用于识别第一中心节点414和第二中心节点418的当前可用的比较算法来确定特征结果448。
如果两个中心节点匹配,则信息管理器412可以针对第一中心节点414和第二中心节点418的信息402片段执行一组动作454。一组动作454包括例如去重复、组合信息402、校正信息402或其他合适的动作。
在一个说明性示例中,存在克服与匹配大量记录所需的时间量和资源量有关的技术问题的一个或多个技术解决方案。结果,一个或多个技术方案可提供减少处理信息402以确定是否存在重复的信息402片段所需的时间或资源量中的至少一个的技术效果。在一个说明性示例中,提出了一种或多种技术解决方案,其使得能够与确定记录本身的相似性相比,提供更强地指示信息片段(诸如表示为子图中的中心节点的记录)是否是重复的方式来比较子图。在一个说明性示例中,提出了一个或多个技术解决方案,其中执行子图比较以提高匹配记录的结果的准确性。
计算机系统410可以被配置为使用软件、硬件、固件或其组合来执行在不同的说明性示例中描述的步骤、操作或动作中的至少一个。结果,计算机系统410作为专用计算机系统来操作,其中计算机系统410中的信息管理器412使得能够使用与当前技术相比更少的时间或更少的资源中的至少一者来确定信息402片段是否匹配。具体地,与当前可用的不具有信息管理器412的通用计算机系统相比,信息管理器412将计算机系统410转换成专用计算机系统。
在说明性示例中,计算机系统410中的信息管理器412的使用将过程集成到用于管理信息402的实际应用中,这提高了计算机系统410的性能。换句话说,计算机系统410中的信息管理器412涉及集成到计算机系统410中的使用子图分析来确定信息之间是否存在匹配的信息管理器412中的过程的实际应用。在该说明性示例中,计算机系统410中的信息管理器412可以识别两个中心节点以及这两个中心节点和相邻节点的子图。信息管理器412基于相邻节点的节点类型从两个子图中识别两个中心节点的相邻节点组。换句话说,用于特定节点类型的每个组包含来自子图中的每一者的至少一个相邻节点。由信息管理器412针对每个组中的相邻节点识别一个或多个集群。在该说明性示例中,这些集群中的每一个包括来自两个子图中的每一个的至少一个相邻节点。信息管理器412针对每个集群识别相邻节点的最佳匹配节点对。该识别可以通过识别节点对之间的距离并选择具有最短距离的节点对作为集群内的最佳匹配对来进行。信息管理器412可以使用两个中心节点和针对集群识别的最佳匹配节点对来确定这两个中心节点之间的总距离。信息管理器412可以基于两个中心节点之间的总距离446来确定在两个中心节点之间是否存在匹配。总距离446是第一中心节点414和第二中心节点418之间的距离,其考虑了相邻节点442,诸如第一中心节点414和第二中心节点418的最佳匹配节点对集合444。
以这种方式,确定两个信息片段(诸如与两个中心节点相对应的两个记录)是否匹配。以这种方式,计算机系统410中的信息管理器412提供了用于匹配信息的实际应用,其中计算机系统410的功能得到改进。例如,通过匹配子图,计算机系统410中的信息管理器412可以在确定两个信息片段之间是否存在匹配时提供增加的准确性。在说明性示例中,信息管理器412可以使用两个中心节点之间的总距离446来确定是否存在匹配。
图4中的信息环境400的图示不意味着暗示对可以实现说明性实施例的方式的物理或架构限制。可以使用除了所示组件之外的其它组件或代替所示组件的其它组件。一些组件可能是不必要的。此外,呈现这些框以示出一些功能组件。当在说明性实施例中实现这些框中的一个或多个时,这些框中的一个或多个可以被组合、划分、或组合并划分成不同的框。例如,尽管数据集404被示为位于计算机系统410之外,但是数据集404中的一个或多个可以位于计算机系统410中。此外,当计算机系统410包括多个数据处理系统时,信息管理器412可以是分布式的,并且包括位于多个数据处理系统中的组件。在另一示例中,第一子图416可不包括任何相邻节点422,而第二子图420包含所有相邻节点422。
图5-7是可以由图4中的信息管理器412处理的子图的图示。接着参考图5,根据说明性实施例描绘了具有被分配成组的相邻节点的两个子图的图示。在该说明性示例中,第一子图500包括第一中心节点CN1 502、相邻节点504、相邻节点506、相邻节点508、相邻节点510、相邻节点512、相邻节点514、相邻节点516和相邻节点518。第二子图520包括第二中心节点CN2 522、相邻节点524、相邻节点526、相邻节点528、相邻节点530、相邻节点532、相邻节点534、相邻节点536和相邻节点538。如所描绘的,每个相邻节点具有节点类型。这两个子图是图4中的第一子图416和第二子图420的示例实现。
现在转向图6,根据说明性实施例描绘了相邻节点组的图示。在说明性示例中,相同的附图标记可以用于多于一个附图。在不同附图中重复使用附图标记表示不同附图中的相同元素。
如该图中所描绘的,基于节点类型将第一子图500和第二子图520中的相邻实体分配或放置到多个组中。换句话说,一组的所有相邻节点是相同的节点类型。
如该图中所示,组600包括来自第一子图500的相邻节点512、相邻节点514和相邻节点516以及来自第二子图520的相邻节点534。组602包括来自第一子图500的相邻节点504和相邻节点506以及来自第二子图520的相邻节点524、相邻节点526和相邻节点528。组604包括来自第一子图500的相邻节点508和相邻节点510以及来自第二子图520的相邻节点530和相邻节点532。
在该说明性示例中,组606包括来自第二子图520的相邻节点536和相邻节点538。组606不包括来自第一子图500的任何相邻节点。组608包括来自第一子图500的相邻节点518。该组不包括来自第二子图520的任何相邻节点。
从组中的相邻节点来自两个子图的组中选择组。在该示例中,组包括组600、组602和组604。组606和组608不包括在用于进一步处理的组中。这些组不包括来自两个子图的相邻节点。因此,不使用这些组进行不同子图之间的距离或特征的比较。
接下来转向图7,根据说明性实施例描绘了从相邻实体的组中创建的集群的图示。在该说明性示例中,从每个相邻节点组中创建集群,其中在组中相邻节点来自两个子图。执行聚类以对相邻节点进行分组,使得相邻节点的集群中的相邻节点比其它集群中的相邻节点彼此更相似。
该聚类可以使用算法或机器学习模型实现的聚类来形成。可以使用各种聚类技术来执行聚类。例如,可以使用基于密度的噪声应用空间聚类(BDSCAN)、k均值聚类、基于分布的聚类、基于密度的聚类或其他类型的聚类。
如所描绘的,聚类导致创建组600中的集群700和集群702;组602中的集群704、集群706和集群708;以及组604中的集群710。在该说明性示例中,被选择用于进一步集群处理的集群是包括来自两个子图的相邻节点的集群。如所描绘的,因为集群702和集群708仅包括来自两个子图中的一个子图的节点,所以移除集群702和集群708。聚类的结果可以是一个或多个集群,其中每个集群持有来自每个子图的相同类型的相邻节点的集合。在该示例中,剩余四个集群,其中这些集群包含来自子图中的每个子图的具有相同类型的相邻节点。
从这些集群,可以确定最佳匹配节点对。可以为每个包含来自两个子图的相邻节点的集群确定最佳匹配节点对。集群中的最佳匹配节点对是来自不同子图的具有最短距离的一对节点。换言之,最佳匹配节点对包括来自第一子图500的第一相邻节点和来自第二子图520的第二相邻节点,其中,与集群中的其它相邻节点对相比,集群中的这两个相邻节点之间具有最短距离。
例如,当在集群700中相邻节点516和相邻节点534之间的距离是0.1并且相邻节点514和相邻节点534之间的距离是0.6的情况下,最佳匹配对是相邻节点516和相邻节点534。
作为另一个示例,在集群704中,最佳匹配节点对是相邻节点504和相邻节点524。这些是集群中仅有的两个节点。相邻节点506和相邻节点526是集群706中的最佳匹配节点对。
在集群710中,相邻节点510和相邻节点532之间的距离是0.2;相邻节点510和相邻节点530之间的距离是0.3;相邻节点508和相邻节点532之间的距离是0.6;而相邻节点508和相邻节点530之间的距离是0.4。在该示例中,集群710中的最佳匹配节点对包括相邻节点510和相邻节点532。如可以看到的,计算节点对之间的距离,其中每个节点对包括来自两个子图中的每个子图的相邻节点。
这些被识别的最小距离可以是应用于节点集群的不同子集的Hausdorff距离。在数学上,Hausdorff距离测量度量空间的两个子集彼此相距多远。Hausdorff距离也被称为Hausdorff量度。例如,集群700的Hausdorff距离可以是dH=min(0.1,0.6)=0.1。集群704的Hausdorff距离是dH=min(0.2)=0.2,集群706的Hausdorff距离是dH=min(0.5)=0.5。集群710的Hausdorff距离是dH=min(0.2,0.3,0.6和0.4)=0.2。
结果,Hausdorff距离的集合是[0.1,0.2,0.5,0.2],其中这些值中的每一个是针对来自第一子图500和第二子图520的组而识别的集群中的最佳匹配节点对的最小值。
在该说明性示例中,可以基于在各种阈值或范围内的距离的计数来确定基于相邻节点的距离的距离特征向量。例如,可以如下确定距离特征向量:特征向量fv(i)=[dH≤0.3的计数,0.7>dHs>0.3的计数,dH的计数]。因此,在该示例中的特征向量是fv(i)=[3,1,0]。
可根据比较中心节点中的信息来确定比较特征向量。例如,如果第一中心节点502是[John Smith Jr.]而第二中心节点522是[Johnny Smith],可以基于这两个中心节点之间的信息的比较来识别特征。基于信息比较的特征可以是例如[name_exact,name_similar,name_leftout,name_unmatched]。在该示例中,中心节点的比较特征向量是fv(i)=[1,1,1,0]。在该特定示例中,第一个1是[Smith相对于Smith]的计数,第二个1是[John相对于Johnny]的计数,而第三个1是[Jr.相对于无]的计数。
结果,包含中心节点的比较特征和距离特征相邻结果的总体特征向量为fv(i)=[1,1,1,0,3,1,0]。该特征向量可用于确定第一子图500和第二子图520的相似性,其中,相似性考虑第一中心节点502、第二中心节点522和最佳匹配节点对。
在该示例中,可通过第一中心节点502和第二中心节点522之间的总距离来测量相似性。在该特定示例中,利用特征向量fv和系数向量cv,可如下计算距离:
其中,cv(i)是系数向量,fv(i)是包括比较特征和距离特征的特征向量,max(cv)是系数向量中具有最大值的元素,min(cv)是系数向量中具有最小值的元素,i是索引值,并且n是特征向量中的元素的数量。
在该示例中,包括来自比较特征向量的比较特征和来自距离特征向量的距离特征的该特征向量可以用于确定第一中心节点502和第二中心节点522之间的总距离。此外,可以使用特征向量系数对不同的特征向量应用加权。这些系数可以是预定的。可以使用主题专家或机器学习模型来确定系数。例如,在确定两个中心节点的相似性时,可以针对特征向量中的特定元素使用更高的特征向量系数,将给予该特定元素更大的重要性。
在图5-7中所描绘的示例中,对于特征向量[1,1,1,0,3,1,0]和系数向量[10,7,-5,-10,5,2,0.5],第一中心节点与第二中心节点之间的总距离可以被确定为:
这是与在不考虑其子图中的相邻节点的情况下比较这两个中心节点的情况相比更精确的距离:
在这个所描绘的示例中,与仅比较中心节点的记录相比,在确定中心节点的记录或信息之间的相似性方面,比较中心节点的子图提供了增加的准确性和粒度。换句话说,可以通过确定中心节点之间的距离并且基于子图中的相邻节点来调整所确定的中心节点之间的距离来执行子图的比较,其中,调整后的距离是两个中心节点的总距离。
图5到图7中的两个子图的两个中心节点及相邻节点的图示是出于说明在说明性实例中可对子图执行不同操作的一种方式的目的而呈现,且不希望限制可实施其它说明性示例的方式。例如,对于每个图示出了八个相邻节点。在其他说明性示例中,可存在其他数量的相邻节点。例如,每个子图中可存在3、25、300或一些其它数量的相邻节点。一个子图与随后分析的另一子图可能不具有相同数量的相邻节点。作为另一示例,相邻节点被示为仅具有距中心节点的深度。在其它说明性示例中,相邻节点可以具有其它深度,诸如2、3、6或子图中的某个其它深度。例如,特定的相邻节点可以具有距离中心节点的2的深度。换言之,特定相邻节点可以具有到另一个相邻节点的链接,该另一个相邻节点链接到中心节点。在另一说明性示例中,特征向量可以仅包括相邻节点的距离特征向量的距离特征。
在另一说明性示例中,可以直接从比较特征和距离特征生成特征向量,而不必生成比较特征向量和距离特征向量。在一些说明性示例中,特征向量可以包括距离特征而不包括比较特征。在又一说明性示例中,可根据两个中心节点的比较生成特征向量,其中特征向量包括比较特征和距离特征两者。在该示例中,距离特征基于在两个中心节点之间计算的距离。
接下来参考图8,根据说明性实施例描绘了相邻节点中的信息片段的图示。在该说明性示例中,表800示出了可能存在的用于相邻节点的信息。
如图所示,表800包括多个不同的列。在该示例中,这些列包括在该示例中是相同节点类型的相邻节点516和相邻节点534。
在该说明性示例中,表800具有标识相邻节点的信息的多个不同列。这些列包括相邻节点802、子图804、链接类型806、深度808、相邻人810和地址812。
相邻节点802是相邻节点的标识符。在该示例中,行814中的相邻节点对应于相邻节点516,并且行816中的相邻节点对应于相邻节点534。
子图804识别在该示例中相邻节点所属的子图。链接类型806是将相邻节点连接到另一节点的链接的特定类型的标识符。该另一节点可以是另一相邻节点或中心节点。链接类型806中的值指示存在包含两个相邻节点类型之间的关系的信息的什么类型的结构元数据。在该说明性示例中,链接类型806指示到相邻人的节点的链接。深度808标识将相邻节点连接到中心节点的链接的数量。在该示例中,两个相邻节点的深度都是1。
在该说明性示例中,相邻人810是桶组(bucket group)的类型。相邻人810中的散列值是通过对相邻人的名称进行散列而生成的散列值。地址812是在相邻人810中识别的相邻人的地址的桶。地址812中的散列值是通过对每一相邻人的地址进行散列而生成的。桶的类别的其他示例包括电话号码、企业地址、车型、城市、国家或其他合适的类别。
在该说明性示例中,可以针对字段或属性生成散列。可以生成不同的动作以考虑诸如姓名的特定类别的已知或可接受的变化。以这种方式,可以识别部分匹配以考虑数据输入错误。这种类型的用于单个属性的多桶散列生成可被应用于诸如电话号码、生日或其他合适的信息的数据。
表800的描绘是有限类型的数据,用于在一个说明性示例中示出不同特征。说明性示例的实现方式可具有相邻节点中的更多的桶或其他信息。另外,桶可包括多于一个类别。例如,桶可以是名称和区域代码。作为另一示例,桶可以是合同、琼斯和西雅图。
接下来转向图9,根据说明性实施例描绘了用于管理信息的过程的流程图。图9中的过程可以用硬件、软件或两者来实现。当以软件实现时,该过程可以采取由位于一个或多个计算机系统中的一个或多个硬件设备中的一个或多个处理器单元运行的程序代码的形式。该过程可以在图2的数据管理96中实现,在说明性示例中,该过程可以在图3的网络数据处理系统300中的信息管理器330中实现,并且可以在图4的计算机系统410中的信息管理器412中实现。该过程可用于管理信息片段。在该示例中,信息片段采取记录的形式,但是在特定实现中可以采取其他形式。
该过程开始于确定一个或多个数据集中的足够相似以成为中心节点的记录,以用于确定中心节点之间的子图的相似性(步骤900)。在步骤900中,可以在记录之间进行比较以获得特征结果,例如图4中的特征结果448。这些比较的结果可用于识别哪些中心节点彼此足够接近或足够相似以保证进一步的处理。换句话说,步骤900可以作为从记录中识别候选中心节点的初始过程来执行。在此示例中,这些比较不考虑子图中的相邻节点。例如,可以仅基于中心节点本身来确定中心节点之间的距离。
在步骤900中,识别中心节点之间的匹配可以减少进行比较的次数。结果,不需要进行中心节点的子图与每个另一中心节点的子图的详细比较。
在将两个中心节点识别为足够相似以用于进一步处理后,比较两个中心节点的上下文和独立网络的相似性可增加或减少推断两个中心节点是相似还是不同的总体置信度。这些不同的网络是两个中心节点的子图。
该过程识别所识别的中心节点的子图(步骤902)。该过程确定中心节点之间的总体相似性(步骤904)。在步骤904中,过程可以通过考虑中心节点和中心节点的子图内的相邻节点来确定中心节点之间的总体相似性。例如,比较两个中心节点“John Smith”,它们本身可能有些相似。如果第一中心节点仅与具有雇佣关系的实体“加拿大ABC公司”相关,而第二中心节点仅与具有合作关系的“XYZ”相关,则可以解释为中心节点不太可能相似。然而,如果第二中心节点具有与“ABC公司”的附加雇佣关系,该“ABC公司”可能是也可能不是与和第一节点相关的“加拿大ABC公司”不同的节点,则该情形可导致推断这两个中心节点更有可能是相似的。
该过程基于记录对的子图对的总体相似性来确定记录对是否匹配(步骤906)。在该说明性示例中,确定还可以包括对由记录的初始分析确定的特征结果的分析以识别中心节点。在步骤906中,记录可以是中心节点。
然后,该过程基于是否存在匹配来执行一组动作(步骤908)。此后,该过程终止。在步骤908中,动作可包括去重复、合并匹配记录中的至少一个,或者可以执行其他合适的动作。以这种方式,可以获得不同数据集中的信息之间的一致性,以执行诸如报告、事务或其他合适的操作的操作,这些操作要求在一个或多个数据集中找到的记录中的准确性或一致性中的至少一个。
接下来转向图10,根据说明性实施例描绘了用于匹配中心节点的过程的流程图。图10中的过程可以用硬件、软件或两者来实现。当以软件实现时,该过程可以采取由位于一个或多个计算机系统中的一个或多个硬件设备中的一个或多个处理器单元运行的程序代码的形式。该过程可以在图2的数据管理96中实现。在说明性示例中,该过程可以在图3的网络数据处理系统300中的信息管理器330中实现,或者在图4的计算机系统410中的信息管理器412中实现。该步骤中的过程可以用于实现图9中的步骤908。
该过程开始于识别第一子图中的第一中心节点和第二子图中的第二中心节点(步骤1000)。该过程识别具有来自第一子图和第二子图两者中的相邻节点的相邻节点组,其中,相邻节点组中的相邻节点组具有相同节点类型的相邻节点(步骤1002)。
该过程从每个相邻节点组中创建集群集合,使得集群集合中的每个集群具有来自第一子图和第二子图两者的相邻节点(步骤1004)。该过程识别集群集合中的每个集群中的相邻节点的最佳匹配节点对,以形成集群集合中的最佳匹配节点对集合(步骤1006)。在步骤1006中,最佳匹配节点对中的相邻节点包括来自第一子图的第一相邻节点和来自第二子图的第二相邻节点。
该过程使用第一子图中的第一中心节点、第二子图中的第二中心节点和集群集合中的最佳匹配节点对集合,基于第一中心节点与第二中心节点之间的总距离,确定第一子图中的第一中心节点和第二子图中的第二中心节点是否匹配(步骤1008)。在步骤1008中,该总距离与不考虑子图中的相邻节点的两个中心节点之间的距离是不同的。此后,该过程终止。
参考图11,根据说明性实施例描绘了用于识别相邻节点组的过程的流程图。该图中的过程是图10中的步骤1002的一个实现的示例。
该过程开始于基于来自每个子图的相邻节点的节点类型将相邻节点放置于初始组中(步骤1100)。该过程从初始组中选择具有来自相邻节点的第一子图和相邻节点的第二子图两者的相邻节点的每个初始组,以形成具有来自第一子图和第二子图两者的相邻节点的相邻节点组(步骤1102)。此后,该过程终止。
转向图12,根据说明性实施例描绘了用于创建集群集合的流程图。该图中的过程是图10中的步骤1004的一个实现的示例。
该过程开始于在相邻节点组中的每个相邻节点组内创建候选集群(步骤1200)。该过程从候选集群中选择具有来自相邻节点的第一子图和相邻节点的第二子图两者的相邻节点的每个集群,以形成集群集合(步骤1202)。此后,该过程终止。
参考图13,根据说明性实施例描绘了用于识别相邻节点的最佳匹配对的过程的流程图。该图中的过程是图10中的步骤1006的一个实现的示例。
该过程开始于基于被比较的相邻节点、被比较的相邻节点的链接、以及被比较的相邻节点的深度,确定集群中被比较的相邻节点的相邻距离(步骤1300)。在步骤1300中,可以以多种不同的方式确定相邻距离。例如,宽度优先搜索、Dijkstra算法或Bellman-Ford算法是可用于确定这些距离的算法的示例。
在该示例中,使用以下等式中的一者来计算基于被比较的相邻节点、被比较的相邻节点的链接、以及被比较的相邻节点的深度的集群中的相邻节点的相邻距离:
d(x,y)=e(log(1-distance(x,y))+log(1-diastance(link(X),link(Y)))+log(constdepth(x,y)))
其中,距离(x,y)是集群中的节点x和节点y之间的距离,深度(x,y)是节点x的第一深度和节点y的第二深度的平均深度,并且const是大于0且小于或等于1的恒定值。节点x的深度是具有从节点到节点x的中心节点的最短路径的链接的计数。在该示例中,深度(x,y)也可以是以下的平均值:(1)节点X和第一中心节点之间的最短链接的数量,以及(2)节点Y和第二中心节点之间的最短链接的数量。
d(x,y)=1((1-distance(x,y))*(1-distance(linkx,linkY))*constdepth(x,y))
其中,距离(x,y)是集群中的节点x和节点y之间的距离,深度(x,y)是节点x的第一深度和节点y的第二深度的平均深度,并且const是大于0且小于或等于1的恒定值。节点x的深度是具有从节点到节点x的中心节点的最短路径的链接的计数。
该过程将集群集合中的每个集群的最佳匹配节点对识别为集群中具有最短相邻距离的两个节点,以形成集群集合的最佳匹配节点对集合(步骤1302)。此后,该过程终止。
在图14中,根据说明性实施例描绘了用于确定第一中心节点和第二中心节点是否匹配的过程的流程图。该图中的过程是图10中的步骤1008的一个实现的示例。
该过程开始于使用第一中心节点、第二中心节点和集群集合中的最佳匹配节点对集合如下确定第一中心节点与第二中心节点之间的总距离:
其中,distance(CenterNode1,CenterNode2)是第一中心节点和第二中心节点之间的距离,dH(x,y)是最佳匹配节点对中的相邻节点x和相邻节点y之间的距离,M是组中具有最佳匹配相邻节点对的节点类型的数量(步骤1400)。在该说明性示例中,由dH(x,y)表示的距离是0到1之间的值。而且,distance(CenterNode1,CenterNode2)是0和1之间的值。结果,在该说明性示例中,总距离是0和1之间的值。在该示例中,值0是指在被比较的数据之间存在精确匹配,而值1是指被比较的数据完全不同。在一些情况下,第一子图中可能存在一些给定节点类型的相邻节点,而第二子图中不存在相同节点类型的相邻节点。在两个子图之间没有匹配的这些节点类型不被包括在M中。
在这个示例中,可以由CenterNode1连接相邻节点x,相邻节点y可以连接到CenterNode2。这种连接可以是直接的或采用中间节点间接的。在该示例中,dH(x,y)是可以针对集群中的相邻节点(相邻节点x和相邻节点y)的不同组合确定的最小距离。
该过程基于在第一中心节点与第二中心节点之间计算的总距离来确定第一子图和第二子图是否匹配(步骤1402)。此后,该过程终止。
现在转向图15,根据说明性实施例描绘了用于确定第一中心节点和第二中心节点是否匹配的过程的流程图。该图中的过程是图10中的步骤1008的一个实现的示例。
该过程开始于确定第一中心节点和第二中心节点之间的比较特征,以确定第一中心节点和第二中心节点的比较特征向量(步骤1500)。特征是被比较的信息之间的感兴趣的特性。这种类型的特征是比较特征。例如,在比较中心节点中的名称时,用于名称比较的感兴趣特征可以是[精确单词的数量、相似单词的数量、省去单词的数量、不匹配单词的数量]。在针对这些特征比较“John Smith Jr.”和“Johnny Smith”时,对于精确单词[Smith,Smith]的数量,比较特征向量的元素为计数1。存在第二特征(相似单词的数量)[John,Johnny]。相对于辨识[Jr.,无]而存在第三特征(省去单词的数量)。因为存在匹配,所以不匹配单词的数量的第四特征是0。结果,在该示例中的比较特征向量是fv=[1,1,1,0]。
该过程根据集群集合中每个集群的最低距离确定距离特征(步骤1502)。在该示例中,距离特征可基于特定距离是否在针对该距离特征指定的阈值范围内。例如,距离特征可以是[距离小于0.3,距离在0.3_0.7之间,和距离大于0.7]。在该示例中,存在三个距离特征,并且距离特征向量指示对于特定特征中的每一个存在多少节点的计数。
该过程使用比较特征向量和距离特征向量来确定第一中心节点与第二中心节点之间的距离之间的总距离(步骤1504)。在步骤1504中,比较特征向量是针对中心节点的,并且针对相邻节点确定距离特征向量。在步骤1504中,考虑到最佳匹配节点对形式的两个中心节点的相邻节点,如下确定这两个中心节点之间的总距离:
其中,cv(i)是系数向量的索引i处的元素,fv(i)是特征向量的索引i处的元素,包括比较特征向量和距离特征向量,max(cv)是系数向量中具有最大值的元素,min(cv)是系数向量中具有最小值的元素,i是索引值,并且n是特征向量中的元素的数量。在该特定示例中,特征向量fv包括中心节点的比较特征和集群的距离特征。
在该示例中的特征向量包含针对中心节点中的比较特征和相邻节点的距离特征的元素。系数向量包括在将权重应用于特征向量中的对应特征时使用的元素。这些系数向量可用来示出特征向量中的每个特征对于总体计算的重要性。可以使用机器学习模型来预定或生成系数向量。
该过程确定总距离是否在第一中心节点和第二中心节点要匹配的阈值内(步骤1506)。此后,该过程终止。
现在参考图16,根据说明性实施例描绘了用于匹配子图的过程的流程图。图16中的过程可以用硬件、软件或两者来实现。当以软件实现时,该过程可以采取由位于一个或多个计算机系统中的一个或多个硬件设备中的一个或多个处理器单元运行的程序代码的形式。该过程可以在图2的数据管理96中实现。在说明性示例中,该过程可以在图3的网络数据处理系统300中的信息管理器330和图4的计算机系统410中的信息管理器412中实现。该步骤中的过程可用于实现图9中的步骤908。
该过程开始于识别两个子图中的两个中心节点,其中两个中心节点中的每一个在两个子图中的一个子图中(步骤1600)。该过程根据节点类型将两个子图中的两个中心节点的相邻节点分配成组,其中,组包括来自两个子图两者的相邻节点(步骤1602)。该过程将组中的相同节点类型的相邻节点聚类以形成集群集合,其中,集群集合中的集群具有来自两个子图中的每一个的至少一个相邻节点(步骤1604)。
该过程使用Hausdorff距离为每个集群选择相邻节点的最佳匹配节点对,以形成集群集合的相邻节点的最佳匹配节点对集合(步骤1606)。在该示例中,最佳匹配节点对集合中的最佳匹配节点对具有来自两个子图中的每一个的相邻节点。
该过程使用两个中心节点和相邻节点的最佳匹配节点对集合来确定两个中心节点之间的总距离(步骤1608)。在步骤1608中,两个中心节点之间的总距离考虑了针对两个中心节点的最佳匹配节点对集合。该过程基于两个中心节点之间的总距离来确定在两个中心节点之间是否存在匹配(步骤1610)。此后,该过程终止。
在图17中,根据说明性实施例描绘了用于将相邻节点分配到组中的过程的流程图。该图中的过程是图16中的步骤1602的一个实现的示例。
该过程开始于基于相邻节点的节点类型将来自两个子图的每个子图的相邻节点放置到初始组中(步骤1700)。该过程选择初始组中具有来自两个子图两者中的相邻节点的每个初始组以形成组(步骤1702)。此后,该过程终止。
接下来参考图18,根据说明性实施例描绘了用于针对每个集群选择相邻节点的最佳匹配节点对的过程的流程图。该图中的过程是图16中的步骤1604的一个实现的示例。
该过程开始于基于被比较的相邻节点、被比较的相邻节点的链接、以及被比较的相邻节点的深度,确定集群中被比较的相邻节点的相邻距离(步骤1800)。该过程将集群集合中的每个集群的最佳匹配节点对识别为集群集合中具有最短相邻距离的两个节点,以形成集群集合的最佳匹配节点对集合(步骤1802)。此后,该过程终止。
接下来转向图19,根据说明性实施例描绘了用于生成特征向量的过程的流程图。图19中的过程可以用硬件、软件或两者来实现。当以软件实现时,该过程可以采取由位于一个或多个计算机系统中的一个或多个硬件设备中的一个或多个处理器单元运行的程序代码的形式。该过程可以在图2的数据管理96中实现。在说明性示例中,该过程可以在图3的网络数据处理系统300中的信息管理器330和图4的计算机系统410中的信息管理器412中实现。
该过程开始于确定两个中心节点的比较特征(步骤1900)。在步骤1900中,特征是存在于在两个中心节点之间被比较的信息中的感兴趣的特性。然后,该过程确定比较特征的比较特征向量(步骤1902)。在步骤1902,比较特征向量中的每个元素识别特定特征的出现次数。
例如,在比较中心节点中的名称时,用于名称比较的感兴趣特征可以是[精确名称、相似名称、省去名称、不匹配名称]。在比较“John SmithJr.”和“Johnny Smith”时,对于这些特征,对于精确名称[Smith,Smith]的比较特征向量的元素存在计数1。第二特征(类似名称)存在[John,Johnny]。相对于辨识[Jr.,无]而存在第三特征(省去名称)。因为存在匹配,所以不匹配的第四特征是0。结果,在该示例中,比较特征向量是fv=[1,1,1,0]。
然后,该过程确定针对中心节点识别的集群的距离特征(步骤1904)。在步骤1904中,特征基于集群中的相邻节点的最低距离。换句话说,特征以在最佳匹配对节点中的两个相邻节点之间确定的距离为基础。该过程根据距离特征生成距离特征向量(步骤1906)。距离特征向量中的每个元素指示特定特征的出现次数。特征可以是相邻节点之间的距离的阈值或范围。
例如,距离特征可以是[距离小于0.3,距离在0.3_0.7之间,和距离大于0.7]。在该示例中,存在三个距离特征,并且距离特征向量指示对于特定特征中的每一个存在多少节点的计数。
然后,该过程生成特征向量,该特征向量包括比较特征向量中的比较特征和距离特征向量中的距离特征(步骤1108)。此后,该过程终止。该特征向量可以在确定中心节点之间的总距离的一种方法中使用。
接下来转向图20,根据说明性实施例描绘了用于匹配中心节点的过程的流程图。图20中的过程可以用硬件、软件或两者来实现。当以软件实现时,该过程可以采取由位于一个或多个计算机系统中的一个或多个硬件设备中的一个或多个处理器单元运行的程序代码的形式。该过程可以在图2的数据管理96中实现。在说明性示例中,该过程可以在图3的网络数据处理系统300中的信息管理器330中实现,或者在图4的计算机系统410中的信息管理器412中实现。该步骤中的过程可以用于实现图9中的步骤908。
该过程类似于图10中的流程图中执行的步骤,在说明性示例中,创建集群集合是可选的步骤。
该过程开始于识别第一子图中的第一中心节点和第二子图中的第二中心节点(步骤2000)。该过程识别具有来自第一子图和第二子图两者的相邻节点的相邻节点组,其中,相邻节点组中的相邻节点组具有相同节点类型的相邻节点(步骤2002)。
该过程识别每组相邻节点中的相邻节点的最佳匹配节点对,以形成集群集合中的最佳匹配节点对集合(步骤2004)。在步骤2004中,每个最佳匹配节点对中的相邻节点包括来自第一子图的第一相邻节点和来自第二子图的第二相邻节点。
该过程使用第一中心节点、第二中心节点和集群集合中的最佳匹配节点对集合,基于第一中心节点与第二中心节点之间的总距离来确定第一中心节点和第二中心节点是否匹配(步骤2006)。此后,该过程终止。
在不同的描述的实施例中的流程图和框图说明了说明性实施例中的装置和方法的一些可能实现的架构、功能和操作。在这点上,流程图或框图中的每个框可以表示以下中的至少一个:模块、段、功能、或操作或步骤的一部分。例如,一个或多个框可以被实现为程序代码、硬件或程序代码和硬件的组合。当在硬件中实现时,硬件可以例如采取被制造或配置为执行流程图或框图中的一个或多个操作的集成电路的形式。当被实现为程序代码和硬件的组合时,该实现可以采取固件的形式。流程图或框图中的每个框可以使用执行不同操作的专用硬件系统或专用硬件和由专用硬件运行的程序代码的组合来实现。
在说明性实施例的一些可替换实现中,框中所标注的一个或多个功能可以不按图中所标注的顺序发生。例如,在一些情况下,取决于所涉及的功能,连续示出的两个框可以基本上同时执行,或者这些框有时可以以相反的顺序执行。此外,除了流程图或框图中所示的框之外,还可以添加其他框。
现在转向图21,根据说明性实施例描绘了数据处理系统的框图。数据处理系统2100可用于实现图1中的云计算节点10以及图2中的硬件和软件层60中的硬件组件。数据处理系统2100还可用于实现图3中的服务器计算机304、服务器计算机306和客户端设备310。数据处理系统2100还可用于实现图4中的计算机系统410。在该说明性示例中,数据处理系统2100包括通信框架2102,其提供处理器单元2104、存储器2106、持久存储2108、通信单元2110、输入/输出(I/O)单元2112和显示器2114之间的通信。在该示例中,通信框架2102采取总线系统的形式。
处理器单元2104用于执行可被加载到存储器2106中的软件的指令。处理器单元2104包括一个或多个处理器。例如,处理器单元2104可以是从以下的至少一个中选择的:多核处理器、中央处理单元(CPU)、图形处理单元(GPU)、物理处理单元(PPU)、数字信号处理器(DSP)、网络处理器或一些其它合适类型的处理器。此外,处理器单元2104可使用一个或多个异构处理器系统来实现,其中主处理器与辅助处理器一起存在于单个芯片上。作为另一个说明性示例,处理器单元2104可以是在单个芯片上包含相同类型的多个处理器的对称多处理器系统。
存储器2106和持久存储2108是存储装置2116的示例。存储装置是能够存储信息的任何硬件,该信息例如但不限于数据、功能形式的程序代码或其他合适的信息中的至少一个,其可以是临时的、永久的或既是临时的又是永久的。在这些说明性示例中,存储装置2116也可被称为计算机可读存储装置。在这些示例中,存储器2106可以是例如随机存取存储器或任何其他合适的易失性或非易失性存储装置。取决于特定的实现方式,持久存储2108可以采取各种形式。
例如,持久存储2108可以包含一个或多个组件或设备。例如,永久存储2108可以是硬盘驱动器、固态驱动器(SSD)、闪存、可重写光盘、可重写磁带或上述的一些组合。持久存储2108所使用的介质也可以是可移动的。例如,可移动硬盘驱动器可以用于持久存储2108。
在这些说明性示例中,通信单元2110提供与其他数据处理系统或设备的通信。在这些说明性示例中,通信单元2110是网络接口卡。
输入/输出单元2112允许与可以连接到数据处理系统2100的其它设备进行数据的输入和输出。例如,输入/输出单元2112可以通过键盘、鼠标或一些其他合适的输入设备中的至少一个来提供用于用户输入的连接。此外,输入/输出单元2112可以将输出发送到打印机。显示器2114提供向用户显示信息的机制。
用于操作系统、应用或程序中的至少一个的指令可以位于存储装置2116中,其通过通信框架2102与处理器单元2104通信。可由处理器单元2104使用可位于存储器(例如存储器2106)中的计算机实施的指令来执行不同实施例的过程。
这些指令是程序指令,并且也被称为程序代码、计算机可用程序代码或计算机可读程序代码,其可以由处理器单元2104中的处理器读取和执行。不同实施例中的程序代码可以在不同的物理或计算机可读存储介质(诸如存储器2106或持久存储2108)上实现。
程序代码2118以功能形式位于计算机可读介质2120上,其可选择性地移除并且可加载到或转移到数据处理系统2100上以便由处理器单元2104执行。在这些说明性示例中,程序代码2118和计算机可读介质2120形成计算机程序产品2122。在说明性示例中,计算机可读介质2120是计算机可读存储介质2124。
计算机可读存储介质2124是用于存储程序代码2118的物理或有形存储装置,而不是传播或发送程序代码2118的介质。如本文所使用的计算机可读存储介质2124不应被解释为暂时性信号本身,诸如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如,通过光纤线缆的光脉冲)、或通过导线传输的电信号。
可替换地,程序代码2118可以使用计算机可读信号介质被传送到数据处理系统2100。计算机可读信号介质是信号,并且可以是例如包含程序代码2118的传播数据信号。例如,计算机可读信号介质可以是电磁信号、光信号或任何其他合适类型的信号中的至少一个。这些信号可以通过诸如无线连接、光纤电缆、同轴电缆、电线或任何其它合适类型的连接之类的连接来传输。
此外,如本文所使用的,“计算机可读介质2120”可以是单数或复数。例如,程序代码2118可以位于单个存储装置或系统形式的计算机可读介质2120中。在另一个示例中,程序代码2118可位于分布在多个数据处理系统中的计算机可读介质2120中。换句话说,程序代码2118中的一些指令可以位于一个数据处理系统中,而程序代码2118中的其它指令可以位于一个数据处理系统中。例如,一部分程序代码2118可位于服务器计算机中的计算机可读介质2120中,而另一部分程序代码2118可位于一组客户计算机中的计算机可读介质2120中。
针对数据处理系统2100示出的不同组件不意味着对可以实现不同实施例的方式提供架构限制。在一些说明性示例中,一个或多个组件可以结合在另一组件中或以其它方式形成另一组件的一部分。例如,在一些说明性示例中,存储器2106或其部分可以被并入处理器单元2104中。不同的说明性实施例可以在包括除了针对数据处理系统2100说明的那些组件之外的组件或代替那些组件的组件的数据处理系统中实现。图21中所示的其它组件可以与所示的说明性示例不同。可以使用能够运行程序代码2118的任何硬件设备或系统来实现不同的实施例。
因此,说明性示例提供了一种用于匹配信息的计算机实现的方法、计算机系统和计算机程序产品。计算机系统识别第一子图中的第一中心节点和第二子图中的第二中心节点。计算机系统识别具有来自第一子图和第二子图两者的相邻节点的相邻节点组。相邻节点组中的相邻节点组具有相同节点类型的相邻节点。由计算机系统从每个相邻节点组创建集群集合,使得集群集合中的每个集群具有来自第一子图和第二子图两者的相邻节点。由计算机系统在集群集合中的每个集群中识别相邻节点的最佳匹配节点对以形成集群集合中的最佳匹配节点对集合,其中,最佳匹配节点对中的相邻节点包括来自第一子图的第一相邻节点和来自第二子图的第二相邻节点。由计算机系统使用第一中心节点、第二中心节点和集群集合中的最佳匹配节点对集合基于第一中心节点和第二中心节点之间的总距离来确定第一中心节点和第二中心节点是否匹配。
结果,与不比较中心节点和该中心节点的子图中的相邻节点的当前技术相比,不同的说明性示例可以减少在确定信息是否匹配中使用的时间或资源量中的至少一个。此外,不同的说明性示例还可以提高在至少一阶匹配或第一二阶匹配中匹配信息片段的准确性。
为了说明和描述的目的,给出了不同说明性实施例的描述,并且不旨在是穷尽的或限于所公开形式的实施例。不同的说明性示例描述了执行动作或操作的组件。在说明性实施例中,组件可被配置为执行所描述的动作或操作。例如,组件可具有用于结构的配置或设计,该结构向组件提供执行在说明性示例中被描述为由组件执行的动作或操作的能力。此外,就本文所使用的术语“包括”、“包含”、“具有”、“含有”及其变体而言,这些术语旨在以类似于术语“包括”作为开放式过渡词的方式为包含性的,而不排除任何附加或其他元素。
为了说明的目的已经给出了本发明的各种实施例的描述,但是不是穷举的或限制于所公开的实施例。不是所有的实施例都包括在说明性示例中描述的所有特征。此外,与其他说明性实施例相比,不同的说明性实施例可以提供不同的特征。在不背离所描述的实施例的范围的情况下,许多修改和变化对于本领域的普通技术人员将是显而易见的。选择本文所使用的术语是为了最好地解释实施例的原理、实际应用或对市场上存在的技术改进,或为了使本领域的其他普通技术人员能够理解本文所公开的实施例。
Claims (25)
1.一种用于匹配信息的方法,所述方法包括:
由计算机系统识别第一子图中的第一中心节点和第二子图中的第二中心节点;
由所述计算机系统识别具有来自所述第一子图和所述第二子图两者的相邻节点的相邻节点组,其中,所述相邻节点组中的相邻节点组具有相同节点类型的相邻节点;
由所述计算机系统识别每个相邻节点组中的相邻节点的最佳匹配节点对以形成最佳匹配节点对集合,其中,每个最佳匹配节点对包括来自所述第一子图的第一相邻节点和来自所述第二子图的第二相邻节点;以及
由所述计算机系统使用所述第一中心节点、所述第二中心节点和所述最佳匹配节点对集合来确定所述第一中心节点和所述第二中心节点是否匹配。
2.根据权利要求1所述的方法,还包括:
由所述计算机系统从每个相邻节点组中创建集群集合,使得所述集群集合中的每个集群具有来自所述第一子图和所述第二子图两者的相邻节点,其中,由所述计算机系统识别每个相邻节点组中的相邻节点的最佳匹配节点对以形成最佳匹配节点对集合,其中,所述最佳匹配节点对中的所述相邻节点包括来自所述第一子图的所述第一相邻节点和来自所述第二子图的所述第二相邻节点包括:
由所述计算机系统识别所述集群集合中的每个集群中的所述相邻节点的所述最佳匹配节点对以形成所述最佳匹配节点对集合,其中,每个最佳匹配节点对包括来自所述第一子图的所述第一相邻节点和来自所述第二子图的所述第二相邻节点。
3.根据权利要求1所述的方法,其中,由所述计算机系统识别来自所述第一子图和所述第二子图两者的所述相邻节点的所述相邻节点组,其中,所述相邻节点组中的所述相邻节点组具有相同节点类型的相邻节点包括:
由所述计算机系统基于来自每个子图的相邻节点的节点类型将所述相邻节点置于初始组中;以及
由所述计算机系统从所述初始组中选择具有来自所述相邻节点的所述第一子图和所述相邻节点的所述第二子图两者的相邻节点的每个初始组,以形成具有来自所述第一子图和所述第二子图两者的相邻节点的所述相邻节点组。
4.根据权利要求2所述的方法,其中,由所述计算机系统从每个相邻节点组创建集群集合,使得所述集群集合中的每个集群具有来自所述第一子图和所述第二子图两者的所述相邻节点包括:
由所述计算机系统在所述相邻节点组中的所述每个相邻节点组内创建候选集群;以及
由所述计算机系统从所述候选集群中选择具有所述相邻节点的所述第一子图和所述相邻节点的所述第二子图两者的相邻节点的每个集群,以形成所述集群集合。
5.根据权利要求2所述的方法,其中,由所述计算机系统识别所述集群集合中的每个集群中的所述最佳匹配节点对包括:
由所述计算机系统基于集群中被比较的相邻节点、被比较的相邻节点的链接以及被比较的相邻节点的深度,确定集群中被比较的相邻节点的相邻距离;以及
由所述计算机系统将所述集群集合中的每个集群的所述最佳匹配节点对识别为所述集群中具有最短相邻距离的两个节点,以形成所述集群集合的所述最佳匹配节点对集合。
6.根据权利要求5所述的方法,其中,使用以下等式之一基于所述被比较的相邻节点、所述被比较的相邻节点的链接和所述被比较的相邻节点的深度来计算所述集群中的所述相邻节点的相邻距离:
其中,distance(x,y)是集群中的节点x和节点y之间的距离,depth(x,y)是所述节点x的第一深度和所述节点y的第二深度的平均深度,并且const是大于0且小于或等于1的恒定值;以及
d(x,y)=1((1-distance(x,y))*(1-distance(linkx,linkY))*constdepth)
其中,distance(x,y)是集群中的所述节点x和所述节点y之间的距离,depth(x,y)是所述节点x的第一深度和所述节点y的第二深度的平均深度,并且const是大于0且小于或等于1的恒定值。
7.根据权利要求2所述的方法,其中,由所述计算机系统使用所述第一中心节点、所述第二中心节点和所述最佳匹配节点对集合来确定所述第一中心节点和所述第二中心节点是否匹配包括:
由所述计算机系统使用所述第一中心节点、所述第二中心节点和所述集群集合中的所述最佳匹配节点对集合如下确定所述第一中心节点和所述第二中心节点之间的总距离:
其中,distance(CenterNode1,CenterNode2)是所述第一中心节点和所述第二中心节点之间的距离,dH(x,y)是所述最佳匹配节点对中的相邻节点x和相邻节点y之间的距离,M是所述组中具有最佳匹配相邻节点对的节点类型的数量;以及
由所述计算机系统基于在所述第一中心节点与所述第二中心节点之间计算的所述总距离来确定所述第一中心节点和所述第二中心节点是否匹配。
8.根据权利要求2所述的方法,其中,由所述计算机系统使用所述第一中心节点、所述第二中心节点和所述最佳匹配节点对集合来确定所述第一中心节点和所述第二中心节点是否匹配包括:
由所述计算机系统比较所述第一中心节点和所述第二中心节点以确定所述第一中心节点和所述第二中心节点的比较特征;
由所述计算机系统根据所述集群集合中的每个集群的所述相邻节点之间的最小距离确定距离特征;
由所述计算机系统使用所述比较特征和所述距离特征来确定所述第一中心节点与所述第二中心节点之间的总距离;以及
由所述计算机系统确定所述总距离是否在所述第一中心节点和所述第二中心节点要匹配的阈值内。
9.根据权利要求8所述的方法,其中,如下确定所述第一中心节点和所述第二中心节点之间的总距离:
其中,cv(i)是系数向量,fv(i)是包括所述比较特征和所述距离特征的特征向量,max(cv)是所述系数向量中具有最大值的元素,min(cv)是所述系数向量中具有最小值的元素,i是索引值,而n是所述特征向量中元素的数量。
10.一种用于匹配信息的方法,所述方法包括:
由计算机系统根据节点类型将两个子图中的两个中心节点的相邻节点分配成组,其中,所述组包括来自所述两个子图两者的相邻节点;
由所述计算机系统使用Hausdorff距离来为每个相邻节点组选择所述相邻节点的最佳匹配节点对,以形成针对所述相邻节点组的所述相邻节点的最佳匹配节点对集合,其中,所述最佳匹配节点对集合中的最佳匹配节点对具有来自所述两个子图中的每一个的相邻节点;
由所述计算机系统使用所述两个中心节点和所述相邻节点的所述最佳匹配节点对集合来确定所述两个中心节点之间的总距离,其中,所述两个中心节点之间的所述总距离考虑所述两个中心节点中的每一者的所述最佳匹配节点对集合;以及
基于所述两个中心节点之间的总距离来确定所述两个中心节点之间是否存在匹配。
11.根据权利要求10所述的方法,还包括:
由所述计算机系统将所述组中的相同节点类型的相邻节点聚类以形成集群集合,其中,所述集群集合中的集群具有来自所述两个子图中的每个子图的至少一个相邻节点,
其中,由所述计算机系统使用所述Hausdorff距离来为每个相邻节点组选择所述相邻节点的所述最佳匹配节点对,以形成针对所述相邻节点组的所述相邻节点的所述最佳匹配节点对集合,其中,所述最佳匹配节点对集合中的所述最佳匹配节点对具有来自所述两个子图中的每个子图的相邻节点,包括:
由所述计算机系统使用所述Hausdorff距离来为每个集群选择所述相邻节点的所述最佳匹配节点对,以形成针对所述集群集合的所述相邻节点的所述最佳匹配节点对集合,其中,所述最佳匹配节点对集合中的所述最佳匹配节点对具有来自所述两个子图中的每个子图的相邻节点。
12.根据权利要求11所述的方法,其中,由所述计算机系统根据所述节点类型将所述两个子图中的所述两个中心节点的所述相邻节点分配成组,其中,所述组包括来自所述两个子图两者的相邻节点,包括:
由所述计算机系统基于来自所述两个子图的每个子图的所述相邻节点的所述节点类型,将来自所述相邻节点的所述相邻节点置于初始组中;以及
由所述计算机系统从所述初始组中选择具有来自所述两个子图两者的相邻节点的每个初始组。
13.一种信息管理系统,包括:
执行程序指令的计算机系统,用于:
识别第一子图中的第一中心节点和第二子图中的第二中心节点;
识别具有来自所述第一子图和所述第二子图两者的相邻节点的相邻节点组,其中,所述相邻节点组中的相邻节点组具有相同节点类型的相邻节点;
识别每个相邻节点组中的相邻节点的最佳匹配节点对以形成最佳匹配节点对集合,其中,每个最佳匹配节点对包括来自所述第一子图的第一相邻节点和来自所述第二子图的第二相邻节点;以及
使用所述第一中心节点、所述第二中心节点和所述最佳匹配节点对集合来确定所述第一中心节点和所述第二中心节点是否匹配。
14.根据权利要求13所述的信息管理系统,其中所述计算机系统执行程序指令以:
从每个相邻节点组中创建集群集合,使得所述集群集合中的每个集群具有来自所述第一子图和所述第二子图两者的相邻节点,其中,识别每个相邻节点组中的相邻节点的最佳匹配节点对以形成最佳匹配节点对集合,其中,所述最佳匹配节点对中的所述相邻节点包括来自所述第一子图的所述第一相邻节点和来自所述第二子图的所述第二相邻节点,所述计算机系统执行程序指令以:
识别所述集群集合中的每个集群中的所述相邻节点的所述最佳匹配节点对以形成所述最佳匹配节点对集合,其中,每个最佳匹配节点对包括来自所述第一子图的所述第一相邻节点和来自所述第二子图的所述第二相邻节点。
15.根据权利要求13所述的信息管理系统,其中,识别来自所述第一子图和所述第二子图两者的所述相邻节点的所述相邻节点组,其中,所述相邻节点组中的所述相邻节点组具有相同节点类型的相邻节点,所述计算机系统执行所述程序指令以:
基于来自每个子图的相邻节点的节点类型将所述相邻节点置于初始组中;以及
从所述初始组中选择具有来自所述相邻节点的所述第一子图和所述相邻节点的所述第二子图两者的相邻节点的每个初始组,以形成具有来自所述第一子图和所述第二子图两者的相邻节点的所述相邻节点组。
16.根据权利要求14所述的信息管理系统,其中,从每个相邻节点组创建集群集合,使得所述集群集合中的每个集群具有来自所述第一子图和所述第二子图两者的所述相邻节点,所述计算机系统执行所述程序指令以:
在所述相邻节点组中的所述每个相邻节点组内创建候选集群;以及
从所述候选集群中选择具有所述相邻节点的所述第一子图和所述相邻节点的所述第二子图两者的相邻节点的每个集群,以形成所述集群集合。
17.根据权利要求14所述的信息管理系统,其中识别所述集群集合中的每个集群中的所述最佳匹配节点对,所述计算机系统执行所述程序指令以:
基于集群中被比较的相邻节点、被比较的相邻节点的链接以及被比较的相邻节点的深度,确定集群中被比较的相邻节点的相邻距离;以及
将所述集群集合中的每个集群的所述最佳匹配节点对识别为所述集群中具有最短相邻距离的两个节点,以形成所述集群集合的所述最佳匹配节点对集合。
18.根据权利要求17所述的信息管理系统,其中,使用以下等式之一基于所述被比较的相邻节点、所述被比较的相邻节点的链接和所述被比较的相邻节点的深度来计算所述集群中的所述相邻节点的相邻距离:
其中,distance(x,y)是集群中的节点x和节点y之间的距离,depth(x,y)是所述节点x的第一深度和所述节点y的第二深度的平均深度,并且const是大于0且小于或等于1的恒定值;以及
d(x,y=1((1-distance(x,y))*(1-distance(linkx,linkY))*constdepth)
其中,distance(x,y)是集群中的所述节点x和所述节点y之间的距离,depth(x,y)是所述节点x的第一深度和所述节点y的第二深度的平均深度,并且const是大于0且小于或等于1的恒定值。
19.根据权利要求14所述的信息管理系统,其中,使用所述第一中心节点、所述第二中心节点和所述最佳匹配节点对集合来确定所述第一中心节点和所述第二中心节点是否匹配,所述计算机系统执行所述程序指令以:
使用所述第一中心节点、所述第二中心节点和所述集群集合中的所述最佳匹配节点对集合如下确定所述第一中心节点和所述第二中心节点之间的总距离:
其中,distance(CenterNode1,CenterNode2)是所述第一中心节点和所述第二中心节点之间的距离,dH(x,y)是所述最佳匹配节点对中的相邻节点x和相邻节点y之间的距离,M是所述组中具有最佳匹配相邻节点对的节点类型的数量;以及
基于在所述第一中心节点与所述第二中心节点之间计算的所述总距离来确定所述第一中心节点和所述第二中心节点是否匹配。
20.根据权利要求19所述的信息管理系统,其中,使用所述第一中心节点、所述第二中心节点和所述最佳匹配节点对集合来确定所述第一中心节点和所述第二中心节点是否匹配,所述计算机系统执行所述程序指令以:
比较所述第一中心节点和所述第二中心节点以确定所述第一中心节点和所述第二中心节点的比较特征;
根据所述集群集合中的每个集群的所述相邻节点之间的最小距离确定距离特征;
使用所述比较特征和所述距离特征来确定所述第一中心节点与所述第二中心节点之间的总距离;以及
确定所述总距离是否在所述第一中心节点和所述第二中心节点要匹配的阈值内。
21.根据权利要求20所述的信息管理系统,其中,如下确定所述第一中心节点和所述第二中心节点之间的总距离:
其中,cv(i)是系数向量,fv(i)是包括所述比较特征和所述距离特征的特征向量,max(cv)是所述系数向量中具有最大值的元素,min(cv)是所述系数向量中具有最小值的元素,i是索引值,而n是所述特征向量中元素的数量。
22.一种信息管理系统,包括:
执行程序指令的计算机系统,用于:
根据节点类型将两个子图中的两个中心节点的相邻节点分配成组,其中,所述组包括来自所述两个子图两者的相邻节点;
使用Hausdorff距离来为每个相邻节点组选择所述相邻节点的最佳匹配节点对,以形成针对所述相邻节点组的所述相邻节点的最佳匹配节点对集合,其中,所述最佳匹配节点对集合中的最佳匹配节点对具有来自所述两个子图中的每一个的相邻节点;
使用所述两个中心节点和所述相邻节点的所述最佳匹配节点对集合来确定所述两个中心节点之间的总距离,其中,所述两个中心节点之间的所述总距离考虑所述两个中心节点中的每一者的所述最佳匹配节点对集合;以及
基于所述两个中心节点之间的总距离来确定所述两个中心节点之间是否存在匹配。
23.根据权利要求22所述的信息管理系统,其中所述计算机系统执行所述程序指令以:
将所述组中的相同节点类型的相邻节点聚类以形成集群集合,其中,所述集群集合中的集群具有来自所述两个子图中的每个子图的至少一个相邻节点,其中,使用所述Hausdorff距离来为每个相邻节点组选择所述相邻节点的所述最佳匹配节点对,以形成针对所述相邻节点组的所述相邻节点的所述最佳匹配节点对集合,其中,所述最佳匹配节点对集合中的所述最佳匹配节点对具有来自所述两个子图中的每个子图的相邻节点,所述计算机系统执行所述程序指令以:
使用所述Hausdorff距离来为每个集群选择所述相邻节点的所述最佳匹配节点对,以形成针对所述集群集合的所述相邻节点的所述最佳匹配节点对集合,其中,所述最佳匹配节点对集合中的所述最佳匹配节点对具有来自所述两个子图中的每个子图的相邻节点。
24.根据权利要求22所述的信息管理系统,其中,根据所述节点类型将所述两个子图中的所述两个中心节点的所述相邻节点分配成组,其中,所述组包括来自所述两个子图两者的相邻节点,所述计算机系统执行程序指令以:
基于所述相邻节点的节点类型,将来自所述两个子图的每个子图的所述相邻节点置于初始组中;以及
从所述初始组中选择具有来自所述两个子图两者的相邻节点的每个初始组。
25.一种用于匹配信息的计算机程序产品,所述计算机程序产品包括计算机可读存储介质,所述计算机可读存储介质具有随其体现的程序指令,所述程序指令可由计算机系统执行以使所述计算机执行一种方法,所述方法包括:
由所述计算机系统识别第一子图中的第一中心节点和第二子图中的第二中心节点;
由所述计算机系统识别具有来自所述第一子图和所述第二子图两者的相邻节点的相邻节点组,其中,所述相邻节点组中的相邻节点组具有相同节点类型的相邻节点;
由所述计算机系统识别每个相邻节点组中的相邻节点的最佳匹配节点对以形成所述集群集合中的最佳匹配节点对集合,其中,所述最佳匹配节点对中的所述相邻节点包括来自所述第一子图的第一相邻节点和来自所述第二子图的第二相邻节点;以及
由所述计算机系统使用所述第一中心节点、所述第二中心节点和所述最佳匹配节点对集合来确定所述第一中心节点和所述第二中心节点是否匹配。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/148,412 US20220222543A1 (en) | 2021-01-13 | 2021-01-13 | Information Matching Using Subgraphs |
US17/148,412 | 2021-01-13 | ||
PCT/CN2022/071202 WO2022152103A1 (en) | 2021-01-13 | 2022-01-11 | Information matching using subgraphs |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116806337A true CN116806337A (zh) | 2023-09-26 |
Family
ID=82322879
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280009872.7A Pending CN116806337A (zh) | 2021-01-13 | 2022-01-11 | 使用子图的信息匹配 |
Country Status (8)
Country | Link |
---|---|
US (1) | US20220222543A1 (zh) |
JP (1) | JP2024503444A (zh) |
KR (1) | KR20230125229A (zh) |
CN (1) | CN116806337A (zh) |
AU (1) | AU2022208873B2 (zh) |
DE (1) | DE112022000630T5 (zh) |
GB (1) | GB2617996A (zh) |
WO (1) | WO2022152103A1 (zh) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101661482A (zh) * | 2008-08-27 | 2010-03-03 | 国际商业机器公司 | 在网络中识别相似子图的方法和设备 |
US20170337293A1 (en) * | 2016-05-18 | 2017-11-23 | Sisense Ltd. | System and method of rendering multi-variant graphs |
CN109788013B (zh) * | 2017-11-14 | 2022-02-25 | 阿里巴巴集团控股有限公司 | 分布式系统中作业资源分配方法、装置及设备 |
CN109947565B (zh) * | 2019-03-08 | 2021-10-15 | 北京百度网讯科技有限公司 | 用于分配计算任务的方法和装置 |
CN111460234B (zh) * | 2020-03-26 | 2023-06-09 | 平安科技(深圳)有限公司 | 图查询方法、装置、电子设备及计算机可读存储介质 |
-
2021
- 2021-01-13 US US17/148,412 patent/US20220222543A1/en active Pending
-
2022
- 2022-01-11 GB GB2311465.5A patent/GB2617996A/en active Pending
- 2022-01-11 AU AU2022208873A patent/AU2022208873B2/en active Active
- 2022-01-11 WO PCT/CN2022/071202 patent/WO2022152103A1/en active Application Filing
- 2022-01-11 DE DE112022000630.7T patent/DE112022000630T5/de active Pending
- 2022-01-11 CN CN202280009872.7A patent/CN116806337A/zh active Pending
- 2022-01-11 KR KR1020237023835A patent/KR20230125229A/ko active Search and Examination
- 2022-01-11 JP JP2023542590A patent/JP2024503444A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2022152103A1 (en) | 2022-07-21 |
JP2024503444A (ja) | 2024-01-25 |
GB2617996A (en) | 2023-10-25 |
KR20230125229A (ko) | 2023-08-29 |
US20220222543A1 (en) | 2022-07-14 |
AU2022208873B2 (en) | 2023-11-16 |
DE112022000630T5 (de) | 2023-11-09 |
GB202311465D0 (en) | 2023-09-06 |
AU2022208873A1 (en) | 2023-07-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7052016B2 (ja) | 訓練データを更新するための方法、システム、およびコンピュータ・プログラム | |
US10776337B2 (en) | Multi-dimensional knowledge index and application thereof | |
US20190317842A1 (en) | Feature-Based Application Programming Interface Cognitive Comparative Benchmarking | |
US11055730B2 (en) | Optimizing predictive precision for actionable forecasts of revenue change | |
US10678821B2 (en) | Evaluating theses using tree structures | |
US9858526B2 (en) | Method and system using association rules to form custom lists of cookies | |
US20220245425A1 (en) | Knowledge graph embedding using graph convolutional networks with relation-aware attention | |
US20210286763A1 (en) | Suggesting a destination folder for a file to be saved | |
CN114357105A (zh) | 地理预训练模型的预训练方法及模型微调方法 | |
US20210319026A1 (en) | Defining attribute feature vectors for matching data entities | |
US11556558B2 (en) | Insight expansion in smart data retention systems | |
US11868167B2 (en) | Automatically provisioned tag schema for hybrid multicloud cost and chargeback analysis | |
US11042891B2 (en) | Optimizing revenue savings for actionable predictions of revenue change | |
US11062334B2 (en) | Predicting ledger revenue change behavior of clients receiving services | |
US20190164022A1 (en) | Query analysis using deep neural net classification | |
US20220036006A1 (en) | Feature vector generation for probabalistic matching | |
AU2022208873B2 (en) | Information matching using subgraphs | |
US11397715B2 (en) | Defining indexing fields for matching data entities | |
US11410064B2 (en) | Automated determination of explanatory variables | |
US20220164396A1 (en) | Metadata indexing for information management | |
US20210240677A1 (en) | Data quality evaluation | |
US11573721B2 (en) | Quality-performance optimized identification of duplicate data | |
CN113590721B (zh) | 一种区块链地址分类方法和装置 | |
US20220179851A1 (en) | Generating highlight queries | |
US20220383140A1 (en) | Reduction of nodes for a graph-based knowledge system via distribution models of data |
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 |