IP Library › Granted Patent US 12,547,663
Granted Patent B2
US 12,547,663 · App. 17/808,740 · Granted Feb 10, 2026

Dynamic threshold-based records linking

Inventors: Abhishek Seth (Deoband, IN); Soma Shekar Naganna (Bengaluru, IN); Devbrat Sharma (Bengaluru, IN); Mahendra Singh Kanyal (Banbasa, IN)
Assignee: International Business Machines Corporation
G06F16/906
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,547,663
App. No.
17/808,740
Filed
Jun 24, 2022
Granted
Feb 10, 2026
Kind
B2
Examiner
LE, MICHAEL
Art Unit
2163
USPC
707/738
Abstract

Records linking is provided. Two records are selected from a plurality of records corresponding to a customer for pair-wise record comparison. It is determined whether the two records are included in different entities. A local auto-link-threshold value of the different entities is identified in response to determining that the two records are included in different entities. An attribute comparison is performed between the two records. A comparison score is generated based on the attribute comparison between the two records. It is determined whether the comparison score is greater than the local auto-link-threshold value of the different entities. The two records are linked in response to determining that the comparison score is greater than the local auto-link-threshold value of the different entities.

Claims (85)

1 . A computer-implemented method for records linking, the computer-implemented method comprising:

accessing, by a computer in response to the computer receiving an input to perform a pair-wise record comparison of a plurality of records corresponding to a customer in a data management system from a plurality of data record sources, the plurality of records from the plurality of data record sources to generate a complete view of data records of the customer;

selecting, by the computer, two records from the plurality of records from the plurality of data record sources corresponding to the customer in the data management system for the pair-wise record comparison;

determining, by the computer, whether the two records are included in different entities such that a first record of the two records is included in a first entity and a second record of the two records is included in a second entity of the different entities;

identifying, by the computer, a highest entity-based local auto-link-threshold value between the first entity and the second entity of the different entities in response to the computer determining that the two records are included in the different entities, wherein each respective entity in the data management system has its own entity-based local auto-link-threshold value;

performing, by the computer, an attribute comparison between the two records;

generating, by the computer, a comparison score based on the attribute comparison between the two records;

determining, by the computer, whether the comparison score is greater than the highest entity-based local auto-link-threshold value between the first entity and the second entity of the different entities;

linking, by the computer, the two records in response to the computer determining that the comparison score is greater than the highest entity-based local auto-link-threshold value between the first entity and the second entity of the different entities; and

selecting, by the computer in response to the computer determining that there are more records in the plurality of records from the plurality of data record sources to be pair-wise compared, two more records from the plurality of records to continue the pair-wise record comparison of the plurality of records until the complete view of the data records of the customer is generated.

2 . The computer-implemented method of claim 1 , further comprising:

preventing, by the computer, the linking of the two records in response to the computer determining that the comparison score is not greater than the highest entity-based local auto-link-threshold value between the first entity and the second entity of the different entities.

3 . The computer-implemented method of claim 1 further comprising:

coalescing, by the computer, the different entities to form an aggregate entity; and

utilizing, by the computer, the highest entity-based local auto-link-threshold value between the first entity and the second entity as an entity-based local auto-link-threshold value for the aggregate entity.

4 . The computer-implemented method of claim 3 further comprising:

determining, by the computer, whether the entity-based local auto-link-threshold value of the aggregate entity is less than a defined maximum entity-based auto-link-threshold value; and

increasing, by the computer in response to the computer determining that the entity-based local auto-link-threshold value of the aggregate entity is less than the defined maximum entity-based auto-link-threshold value, the entity-based local auto-link-threshold value of the aggregate entity whenever an entering record is added to the aggregate entity to only allow stronger matching records to be added to the aggregate entity based on subtracting a generated comparison score of the entering record from a self-score of a center record of the aggregate entity and multiplying that difference by a hyperparameter that controls a rate at which the entity-based local auto-link-threshold value of the aggregate entity increases.

5 . The computer-implemented method of claim 4 further comprising:

preventing, by the computer, the increasing of the entity-based local auto-link-threshold value of the aggregate entity in response to the computer determining that the entity-based local auto-link-threshold value of the aggregate entity is not less than the defined maximum entity-based auto-link-threshold value.

6 . The computer-implemented method of claim 1 further comprising:

determining, by the computer in response to the computer determining that the two records are not included in the different entities, whether one of the two records is included in a given entity in the data management system;

identifying, by the computer in response to the computer determining that the one of the two records is included in the given entity, a particular entity-based local auto-link-threshold value of the given entity;

determining, by the computer, whether the comparison score is greater than the particular entity-based local auto-link-threshold value of the given entity;

linking, by the computer, the two records in response to the computer determining that the comparison score is greater than the particular entity-based local auto-link-threshold value of the given entity; and

terminating, by the computer in response to determining that there are no more records in the plurality of records from the plurality of data record sources to be pair-wise compared, the pair-wise record comparison of the plurality of records from the plurality of data record sources corresponding to the customer in the data management system when the complete view of the data records of the customer is generated.

7 . The computer-implemented method of claim 6 further comprising:

identifying, by the computer, a particular record of the two records that was not included in the given entity; and

adding, by the computer, the particular record to the given entity.

8 . The computer-implemented method of claim 6 further comprising:

utilizing, by the computer, a default entity-based auto-link-threshold value set by the customer in response to the computer determining that neither of the two records is included in any existing entity in the data management system;

determining, by the computer, whether the comparison score is greater than the default entity-based auto-link-threshold value; and

linking, by the computer, the two records to form a new entity in response to the computer determining that the comparison score is greater than the default entity-based auto-link-threshold value.

9 . The computer-implemented method of claim 8 further comprising:

utilizing, by the computer, the default entity-based auto-link-threshold value as an initial entity-based auto-link-threshold value for the new entity formed by linking the two records in response to the computer determining that the comparison score is greater than the default entity-based auto-link-threshold value.

10 . A computer system for records linking, the computer system comprising:

a bus system;

a storage device connected to the bus system, wherein the storage device stores program instructions; and

a processor connected to the bus system, wherein the processor executes the program instructions to:

in response to receiving an input to perform a pair-wise record comparison of a plurality of records corresponding to a customer in a data management system from a plurality of data record sources, access the plurality of records from the plurality of data record sources to generate a complete view of data records of the customer;

select two records from the plurality of records from the plurality of data record sources corresponding to the customer in the data management system for the pair-wise record comparison;

determine whether the two records are included in different entities such that a first record of the two records is included in a first entity and a second record of the two records is included in a second entity of the different entities;

identify a highest entity-based local auto-link-threshold value between the first entity and the second entity of the different entities in response to determining that the two records are included in the different entities, wherein each respective entity in the data management system has its own entity-based local auto-link-threshold value;

perform an attribute comparison between the two records;

generate a comparison score based on the attribute comparison between the two records;

determine whether the comparison score is greater than the highest entity-based local auto-link-threshold value between the first entity and the second entity of the different entities;

link the two records in response to determining that the comparison score is greater than the highest entity-based local auto-link-threshold value between the first entity and the second entity of the different entities; and

in response to determining that there are more records in the plurality of records from the plurality of data record sources to be pair-wise compared, select two more records from the plurality of records to continue the pair-wise record comparison of the plurality of records until the complete view of the data records of the customer is generated.

11 . The computer system of claim 10 , wherein the processor further executes the program instructions to:

prevent the linking of the two records in response to determining that the comparison score is not greater than the highest entity-based local auto-link-threshold value between the first entity and the second entity of the different entities.

12 . The computer system of claim 10 , wherein the processor further executes the program instructions to:

coalesce the different entities to form an aggregate entity; and

utilize the highest entity-based local auto-link-threshold value between the first entity and the second entity as an entity-based local auto-link-threshold value for the aggregate entity.

13 . The computer system of claim 12 , wherein the processor further executes the program instructions to:

determine whether the entity-based local auto-link-threshold value of the aggregate entity is less than a defined maximum entity-based auto-link-threshold value; and

in response to determining that the entity-based local auto-link-threshold value of the aggregate entity is less than the defined maximum entity-based auto-link-threshold value, increase the entity-based local auto-link-threshold value of the aggregate entity whenever an entering record is added to the aggregate entity to only allow stronger matching records to be added to the aggregate entity based on subtracting a generated comparison score of the entering record from a self-score of a center record of the aggregate entity and multiplying that difference by a hyperparameter that controls a rate at which the entity-based local auto-link-threshold value of the aggregate entity increases.

14 . A computer program product for records linking, the computer program product comprising a computer-readable storage medium having program instructions embodied therewith, the program instructions executable by a computer to cause the computer to perform a method of:

accessing, by a computer in response to the computer receiving an input to perform a pair-wise record comparison of a plurality of records corresponding to a customer in a data management system from a plurality of data record sources, the plurality of records from the plurality of data record sources to generate a complete view of data records of the customer;

selecting, by the computer, two records from the plurality of records from the plurality of data record sources corresponding to the customer in the data management system for the pair-wise record comparison;

determining, by the computer, whether the two records are included in different entities such that a first record of the two records is included in a first entity and a second record of the two records is included in a second entity of the different entities;

identifying, by the computer, a highest entity-based local auto-link-threshold value between the first entity and the second entity of the different entities in response to the computer determining that the two records are included in the different entities, wherein each respective entity in the data management system has its own entity-based local auto-link-threshold value;

performing, by the computer, an attribute comparison between the two records;

generating, by the computer, a comparison score based on the attribute comparison between the two records;

determining, by the computer, whether the comparison score is greater than the highest entity-based local auto-link-threshold value between the first entity and the second entity of the different entities;

linking, by the computer, the two records in response to the computer determining that the comparison score is greater than the highest entity-based local auto-link-threshold value between the first entity and the second entity of the different entities; and

selecting, by the computer in response to the computer determining that there are more records in the plurality of records from the plurality of data record sources to be pair-wise compared, two more records from the plurality of records to continue the pair-wise record comparison of the plurality of records until the complete view of the data records of the customer is generated.

15 . The computer program product of claim 14 further comprising:

preventing, by the computer, the linking of the two records in response to the computer determining that the comparison score is not greater than the highest entity-based local auto-link-threshold value between the first entity and the second entity of the different entities.

16 . The computer program product of claim 14 further comprising:

coalescing, by the computer, the different entities to form an aggregate entity; and

utilizing, by the computer, the highest entity-based local auto-link-threshold value between the first entity and the second entity as an entity-based local auto-link-threshold value for the aggregate entity.

17 . The computer program product of claim 16 further comprising:

determining, by the computer, whether the entity-based local auto-link-threshold value of the aggregate entity is less than a defined maximum entity-based auto-link-threshold value; and

increasing, by the computer in response to the computer determining that the entity-based local auto-link-threshold value of the aggregate entity is less than the defined maximum entity-based auto-link-threshold value, the entity-based local auto-link-threshold value of the aggregate entity whenever an entering record is added to the aggregate entity to only allow stronger matching records to be added to the aggregate entity based on subtracting a generated comparison score of the entering record from a self-score of a center record of the aggregate entity and multiplying that difference by a hyperparameter that controls a rate at which the entity-based local auto-link-threshold value of the aggregate entity increases.

18 . The computer program product of claim 17 further comprising:

preventing, by the computer, the increasing of the entity-based local auto-link-threshold value of the aggregate entity in response to the computer determining that the entity-based local auto-link-threshold value of the aggregate entity is not less than the defined maximum entity-based auto-link-threshold value.

19 . The computer program product of claim 14 further comprising:

determining, by the computer in response to the computer determining that the two records are not included in the different entities, whether one of the two records is included in a given entity in the data management system;

identifying, by the computer in response to the computer determining that the one of the two records is included in the given entity, a particular entity-based local auto-link-threshold value of the given entity;

determining, by the computer, whether the comparison score is greater than the particular entity-based local auto-link-threshold value of the given entity;

linking, by the computer, the two records and adding another of the two records to the given entity in response to the computer determining that the comparison score is greater than the particular entity-based local auto-link-threshold value of the given entity; and

terminating, by the computer in response to determining that there are no more records in the plurality of records from the plurality of data record sources to be pair-wise compared, the pair-wise record comparison of the plurality of records from the plurality of data record sources corresponding to the customer in the data management system when the complete view of the data records of the customer is generated.

20 . The computer program product of claim 19 further comprising:

identifying, by the computer, a particular record of the two records that was not included in the given entity; and

adding, by the computer, the particular record to the given entity.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 24, 2022
From: SETH, ABHISHEK; NAGANNA, SOMA SHEKAR; SHARMA, DEVBRAT; KANYAL, MAHENDRA SINGH
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 060305/0734 →
Continuity (1)
Related Publication 20230418877A1 · Dec 28, 2023
References Cited (48)
US 7685093B1 · Adams · 2010 [cited by examiner]
US 7912842B1 · Bayliss · 2011 [cited by examiner]
US 8150813B2 · Adair · 2012 [cited by examiner]
US 8321383B2 · Schumacher · 2012 [cited by examiner]
US 8370355B2 · Harger · 2013 [cited by examiner]
US 8423525B2 · Jonas · 2013 [cited by examiner]
US 8429220B2 · Wilkinson · 2013 [cited by examiner]
US 8510338B2 · Cushman, II · 2013 [cited by examiner]
US 8515987B1 · Jain · 2013 [cited by examiner]
US 8713434B2 · Ford · 2014 [cited by examiner]
US 10621493B2 · Oberhofer · 2020 [cited by examiner]
US 11106692B1 · Guetta · 2021 [cited by examiner]
US 11720580B1 · Hirsch · 2023 [cited by examiner]
US 20080243885A1 · Harger · 2008 [cited by examiner]
US 20080244008A1 · Wilkinson · 2008 [cited by examiner]
US 20090089332A1 · Harger · 2009 [cited by examiner]
US 20090089630A1 · Goldenberg · 2009 [cited by examiner]
US 20090144070A1 · Psota · 2009 [cited by examiner]
US 20090259659A1 · Mericle · 2009 [cited by examiner]
US 20090271424A1 · Bayliss · 2009 [cited by examiner]
US 20100175024A1 · Schumacher · 2010 [cited by examiner]
US 20110173093A1 · Psota · 2011 [cited by examiner]
US 20120203576A1 · Bucur · 2012 [cited by examiner]
US 20120203708A1 · Psota · 2012 [cited by examiner]
US 20130325882A1 · Deshpande · 2013 [cited by examiner]
US 20140279757A1 · Shimanovsky · 2014 [cited by examiner]
US 20140281729A1 · Goldenberg et al. · 2014 [cited by applicant]
US 20150039611A1 · Deshpande · 2015 [cited by examiner]
US 20150106122A1 · Lee · 2015 [cited by examiner]
US 20150127690A1 · Hazlewood · 2015 [cited by examiner]
US 20160012151A1 · Muchinsky · 2016 [cited by examiner]
US 20160034715A1 · Dubov · 2016 [cited by examiner]
US 20160171075A1 · Erenrich · 2016 [cited by examiner]
US 20160180245A1 · Tereshkov · 2016 [cited by examiner]
US 20170083820A1 · Huang · 2017 [cited by examiner]
US 20170124216A1 · Miller · 2017 [cited by examiner]
US 20170193173A1 · Miller · 2017 [cited by examiner]
US 20180150486A1 · Hawkes · 2018 [cited by examiner]
US 20180365338A1 · Muchinsky · 2018 [cited by examiner]
US 20190005118A1 · Tripathi · 2019 [cited by examiner]
US 20200218720A1 · Rathore et al. · 2020 [cited by applicant]
US 20210034591A1 · Parkala Srinivas · 2021 [cited by examiner]
US 20210065047A1 · Shi · 2021 [cited by examiner]
US 20210224258A1 · Faruquie et al. · 2021 [cited by applicant]
US 20210334295A1 · Zhu · 2021 [cited by examiner]
US 20220012219A1 · Pulipaty · 2022 [cited by examiner]
US 20220092064A1 · Bremer et al. · 2022 [cited by applicant]
CN 103748582A · 2014 [cited by examiner]