IP Library Granted Patent US 11,860,909
Granted Patent B2
US 11,860,909 · App. 17/409,262 · Granted Jan 2, 2024

Entity household generation based on attribute-pair matching

Inventors: Christopher Kallas (Grafton, WI); Xiaoqiao Wei (Woodbury, MN); Ding Ma (Thousand Oaks, CA)
Assignee: U.S. Bancorp, National Association
G06F16/288G06F16/23G06F16/24565G06F16/24573
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 11,860,909
App. No.
17/409,262
Filed
Aug 23, 2021
Granted
Jan 2, 2024
Kind
B2
Art Unit
2165
USPC
707/802
Abstract

A method comprises storing a plurality of entity profiles; applying a predetermined first set of rules to a plurality of attribute-value pairs of the plurality of entity profiles; identifying a first set of entity profiles that satisfy the predetermined first set of rules; identifying a second set of entity profiles that satisfy the predetermined second set of rules; and updating a first attribute-value pair of the first and second sets of entity profiles by adding a first label to the first attribute-value pair responsive to determining the first set of entity profiles and the second set of entity profiles share a common entity profile.

Claims (79)

1. A method, comprising:

storing, by one or more processors in a first data structure, a plurality of entity profiles, each of the plurality of entity profiles associated with a different entity and comprising a plurality of attribute-value pairs;

storing, by the one or more processors, a predetermined first set of rules with a stored association with a first label in a second data structure and a predetermined second set of rules with a stored association with a second label in a third data structure;

applying, by the one or more processors, the predetermined first set of rules to the plurality of attribute-value pairs of the plurality of entity profiles;

responsive to identifying, by the one or more processors, a first set of entity profiles that satisfy the predetermined first set of rules based on the first set of entity profiles having a matching first set of attribute-value pairs, inserting, by the one or more processors, the first label into a first field-value pair of each of the first set of entity profiles;

applying, by the one or more processors, a predetermined second set of rules to the plurality of attribute-value pairs of the plurality of entity profiles;

responsive to identifying, by the one or more processors, a second set of entity profiles that satisfy the predetermined second set of rules based on the second set of entity profiles having a matching second set of attribute-value pairs, inserting, by the one or more processors, the second label into a second field-value pair of each of the second set of entity profiles;

comparing, by the one or more processors, the first set of entity profiles with the second set of entity profiles based on the first labels in the first set of entity profiles and the second labels in the second set of entity profiles;

comparing, by the one or more processors, a first entity profile count indicating a total number of entity profiles of the first set of entity profiles to a first threshold and a second entity profile count indicating a total number of entity profiles of the second set of entity profiles to a second threshold; and

in response to determining the first entity profile count does not exceed the first threshold and the second entity profile count does not exceed the second threshold, inserting a third label into a third attribute-value pair of each entity profile of the first and second sets of entity profiles responsive to determining the first set of entity profiles and the second set of entity profiles share a common entity profile, the third label linking the first and second sets of entity profiles.

2. The method of claim 1 , further comprising:

responsive to determining the first set of entity profiles and the second set of entity profiles share a common entity profile, generating, by the one or more processors, the third label as a numeric, alphabetic, or alphanumeric string.

3. The method of claim 1 , further comprising:

identifying, by the one or more processors, a third set of entity profiles that satisfy the predetermined first set of rules;

generating, by the one or more processors, a list of the third set of entity profiles;

comparing, by the one or more processors, a third entity profile count indicating a total number of entity profiles of the third set of entity profiles to the first threshold; and

discarding, by the one or more processors, the list of the third set of entity profiles responsive to determining the third entity profile count exceeds the first threshold.

4. The method of claim 1 , wherein identifying the first set of entity profiles that satisfy the predetermined first set of rules comprises:

identifying, by the one or more processors, a first subset of entity profiles responsive to determining the first subset of entity profiles have a fourth attribute-value pair in common;

identifying, by the one or more processors, a second subset of entity profiles responsive to determining the second subset of entity profiles have a fifth attribute-value pair in common; and

combining, by the one or more processors, the first and second subsets of entity profiles into the first set of entity profiles responsive to the first and second subsets having an entity profile in common by inserting the first label into each of the first and second subsets of entity profiles.

5. The method of claim 4 , further comprising:

subsequent to inserting the first label into each of the first and second subsets of entity profiles, identifying, by the one or more processors, a third subset of entity profiles responsive to determining the third subset of entity profiles have matching attribute-value pairs;

aggregating, by the one or more processors, the third subset of entity profiles with the first set of entity profiles with the first label to generate a third set of entity profiles responsive to the third subset of entity profiles and the first set of entity profiles having an entity profile in common; and

removing, by the one or more processors, the first label from the first set of entity profiles responsive to determining a third entity profile count indicating a total number of entity profiles of the third set of entity profiles exceeds the first threshold.

6. The method of claim 5 , further comprising:

removing, by the one or more processors, the first label from the third subset of entity profiles responsive to determining the third entity profile count exceeds the first threshold.

7. The method of claim 1 , wherein identifying the second set of entity profiles that satisfy the predetermined second set of rules comprises:

identifying, by the one or more processors, a first subset of entity profiles responsive to determining the first subset of entity profiles have matching fourth attribute-value pairs;

identifying, by the one or more processors, a second subset of entity profiles responsive to determining the second subset of entity profiles have matching fifth attribute-value pairs; and

combining, by the one or more processors, the first and second subsets of entity profiles into the second set of entity profiles responsive to the first and second subsets having an entity profile in common.

8. The method of claim 7 , wherein identifying the first subset of entity profiles comprises determining each of the first subset of entity profiles corresponds to a matching account number, and wherein identifying the second subset of entity profiles comprises determining each of the second subset of entity profiles corresponds to the matching account number, the matching account number stored in a separate data structure from the first subset of entity profiles and the second subset of entity profiles.

9. The method of claim 1 , wherein applying the predetermined first set of rules to the plurality of entity profiles comprises:

determining, by the one or more processors using an edit distance function, whether entity profiles have a fourth attribute-value pair that is an exact match and a fifth attribute-value pair that is a non-exact match within a third threshold,

wherein identifying the first set of entity profiles comprises identifying entity profiles that have a fourth attribute-value pair that exactly matches and a fifth attribute-value pair that is a non-exact match within the third threshold.

10. The method of claim 1 , further comprising:

subsequent to inserting the third label into the third attribute-value pair of each entity profile of the first and second sets of entity profiles, reapplying, by the one or more processors, the first set of rules and the second set of rules to the plurality of entity profiles;

re-identifying, by the one or more processors, the first set of entity profiles that satisfy the predetermined first set of rules;

re-identifying, by the one or more processors, the second set of entity profiles that satisfy the predetermined second set of rules; and

updating, by the one or more processors, the third attribute-value pair of each entity profile of the first and second sets of entity profiles with the third label responsive to determining the first set of entity profiles and the second set of entity profiles share a common entity profile.

11. A system, the system comprising:

one or more hardware processors configured by machine-readable instructions to:

store a plurality of entity profiles in a first data structure, each of the plurality of entity profiles associated with a different entity and comprising a plurality of attribute-value pairs;

store a predetermined first set of rules with a stored association with a first label in a second data structure and a predetermined second set of rules with a stored association with a second label in a third data structure;

apply the predetermined first set of rules to the plurality of attribute-value pairs of the plurality of entity profiles;

responsive to identifying a first set of entity profiles that satisfy the predetermined first set of rules based on the first set of entity profiles having a matching first set of attribute-value pairs, inserting, by the one or more processors, the first label into a first field-value pair of each of the first set of entity profiles;

apply a predetermined second set of rules to the plurality of attribute-value pairs of the plurality of entity profiles;

responsive to identifying a second set of entity profiles that satisfy the predetermined second set of rules based on the second set of entity profiles having a matching second set of attribute-value pairs, insert the second label into a second field-value pair of each of the second set of entity profiles;

compare the first set of entity profiles with the second set of entity profiles based on the first labels in the first set of entity profiles and the second labels in the second set of entity profiles;

compare a first entity profile count indicating a total number of entity profiles of the first set of entity profiles to a first threshold and a second entity profile count indicating a total number of entity profiles of the second set of entity profiles to a second threshold; and

in response to determining the first entity profile count does not exceed the first threshold and the second entity profile count does not exceed the second threshold, insert a third label into a third attribute-value pair of each entity profile of the first and second sets of entity profiles responsive to determining the first set of entity profiles and the second set of entity profiles share a common entity profile, the third label linking the first and second sets of entity profiles.

12. The system of claim 11 , wherein the one or more hardware processors are further configured to:

responsive to determining the first set of entity profiles and the second set of entity profiles share a common entity profile, generate the third label as a numeric, alphabetic, or alphanumeric string.

13. The system of claim 11 , wherein the one or more hardware processors are further configured to:

identify a third set of entity profiles that satisfy the predetermined first set of rules;

generate a list of the third set of entity profiles;

compare a third entity profile count indicating a total number of entity profiles in the third set of entity profiles to the first threshold; and

discard the list of the third set of entity profiles responsive to determining the third entity profile count exceeds the first threshold.

14. The system of claim 11 , wherein the one or more hardware processors are configured to identify the first set of entity profiles that satisfy the predetermined first set of rules by:

identifying a first subset of entity profiles responsive to determining the first subset of entity profiles have a fourth attribute-value pair in common;

identifying a second subset of entity profiles responsive to determining the second subset of entity profiles have a fifth attribute-value pair in common; and

combining the first and second subsets of entity profiles into the first set of entity profiles responsive to the first and second subsets having an entity profile in common.

15. A non-transitory computer-readable storage medium having instructions embodied thereon, the instructions being executable by one or more processors to perform a method, the method comprising:

storing a plurality of entity profiles in a first data structure, each of the plurality of entity profiles associated with a different entity and comprising a plurality of attribute-value pairs;

storing a predetermined first set of rules with a stored association with a first label in a second data structure and a predetermined second set of rules with a stored association with a second label in a third data structure;

applying a predetermined first set of rules to the plurality of attribute-value pairs of the plurality of entity profiles;

responsive to identifying a first set of entity profiles that satisfy the predetermined first set of rules based on the first set of entity profiles having a matching first set of attribute-value pairs, inserting, by the one or more processors, the first label into a first field-value pair of each of the first set of entity profiles;

applying a predetermined second set of rules to the plurality of attribute-value pairs of the plurality of entity profiles;

responsive to identifying a second set of entity profiles that satisfy the predetermined second set of rules based on the second set of entity profiles having a matching second set of attribute-value pairs, inserting the second label into a second field-value pair of each of the second set of entity profiles;

comparing the first set of entity profiles with the second set of entity profiles based on the first labels in the first set of entity profiles and the second labels in the second set of entity profiles;

comparing a first entity profile count indicating a total number of entity profiles of the first set of entity profiles to a first threshold and a second entity profile count indicating a total number of entity profiles of the second set of entity profiles to a second threshold; and

in response to determining the first entity profile count does not exceed the first threshold and the second entity profile count does not exceed the second threshold, inserting a third label into a third attribute-value pair of each entity profile of the first and second sets of entity profiles responsive to determining the first set of entity profiles and the second set of entity profiles share a common entity profile, the third label linking the first and second sets of entity profiles.

16. The non-transitory computer-readable storage medium of claim 15 , wherein the method further comprises:

responsive to determining the first set of entity profiles and the second set of entity profiles share a common entity profile, generating the third label as a numeric, alphabetic, or alphanumeric string.

17. The non-transitory computer-readable storage medium of claim 15 , wherein the method further comprises:

identifying a third set of entity profiles that satisfy the predetermined first set of rules;

generating a list of the third set of entity profiles;

comparing a third entity profile count indicating a total number of entity profiles of the third set of entity profiles to the first threshold; and

discarding the list of the third set of entity profiles responsive to determining the third entity profile count exceeds the first threshold.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 7, 2021
From: KALLAS, CHRISTOPHER; WEI, XIAOQIAO; MA, DING
To: U.S. BANCORP, NATIONAL ASSOCIATION
Reel/Frame 057731/0052 →
Continuity (1)
Related Publication 20230053567A1 · Feb 23, 2023