IP Library Patent Application 19329243
Patent Application
App. No. 19/329,243

SYSTEMS AND METHODS FOR MACHINE LEARNING MODELS FOR ENTITY RESOLUTION

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 None
App. No.
19/329,243
Abstract

Methods, systems, and computer-readable media for linking multiple data entities. The method collects a snapshot of data from one or more data sources and converts it into a canonical representation of records expressing relationships between data elements in the records. The method next cleans the records to generate output data of entities by grouping chunks of records using a machine learning model. The method next ingests the output data of entities to generate a versioned data store of the entities and optimizes versioned data store for real-time data lookup. The method then receives a request for data pertaining to a real-world entity and presenting relevant data from the versioned data store of entities.

Claims (56)

1 .- 20 . (canceled).

21 . A computer-implemented method for identifying entities based on insufficient lookup information, the method comprising:

receiving a shallow entity instance requesting entity information;

determining one or more blocking functions to apply to the shallow entity instance;

generating at least one blocking key value based on the shallow entity instance;

sorting the at least one blocking key value to facilitate matching to the shallow entity instance;

determining an entity identifier based on the at least one blocking key value; and

determining whether an entity identifier exists by querying a mapping table indexed by a blocking function key and a version identifier, wherein:

in response to no valid entity identifier being identified, additional blocking functions are iteratively applied for evaluating additional blocking key values; and

in response to a valid entity identifier being identified for the blocking function key and the version identifier:

retrieving, using the blocking function key and the version identifier, a shallow entity instance for the blocking key function;

matching a cleaned shallow entity instance with the retrieved shallow entity instance; and

retrieving a deep entity instance based on the match.

22 . The method of claim 21 , wherein requesting the entity information further includes cleaning the input shallow entity instance and conducting a match for a deep entity instance.

23 . The method of claim 22 , further comprising matching the cleaned input shallow entity instance with the shallow entity instance.

24 . The method of claim 21 , wherein determining the one or more blocking functions further includes constructing tables to map blocking key values to the shallow entity instance.

25 . The method of claim 21 , wherein the blocking functions generate alphanumeric strings as blocking key values by stringifying the shallow entity instance.

26 . The method of claim 21 , wherein the sorting further includes a descending order from strongest to weakest key value to determine the match.

27 . The method of claim 26 , wherein a strength of the key value is based on a strength of entity identifiers associated with the shallow entity instance.

28 . A non-transitory computer readable medium including instructions that are executable by one or more processors to cause a system to perform operations for identifying entities based on insufficient lookup information, the operations comprising:

receiving a shallow entity instance requesting entity information;

determining one or more blocking functions to apply to the shallow entity instance;

generating at least one blocking key value based on the shallow entity instance;

sorting the at least one blocking key value to facilitate matching to the shallow entity instance;

determining an entity identifier based on the at least one blocking key value; and

determining whether an entity identifier exists by querying a mapping table indexed by a blocking function key and a version identifier, wherein:

in response to no valid entity identifier being identified, additional blocking functions are iteratively applied for evaluating additional blocking key values; and

in response to a valid entity identifier being identified for the blocking function key and the version identifier:

retrieving, using the blocking function key and the version identifier, a shallow entity instance for the blocking key function;

matching a cleaned shallow entity instance with the retrieved shallow entity instance; and

retrieving a deep entity instance based on the match.

29 . The non-transitory computer readable medium of claim 28 , wherein requesting the entity information further includes cleaning the input shallow entity instance and conducting a match for a deep entity instance.

30 . The non-transitory computer readable medium of claim 29 , further comprising matching the cleaned input shallow entity instance with the shallow entity instance.

31 . The non-transitory computer readable medium of claim 28 , wherein determining the one or more blocking functions further includes constructing tables to map blocking key values to the shallow entity instance.

32 . The non-transitory computer readable medium of claim 28 , wherein the blocking functions generate alphanumeric strings as blocking key values by stringifying the shallow entity instance.

33 . The non-transitory computer readable medium of claim 28 , wherein the sorting further includes a descending order from strongest to weakest key value to determine the match.

34 . The non-transitory computer readable medium of claim 33 , wherein a strength of the key value is based on a strength of entity identifiers associated with the shallow entity instance.

35 . A computer-implemented system for identifying entities based on insufficient lookup information, the system comprising:

at least one non-transitory computer-readable medium configured to store instructions; and

at least one processor configured to execute the instructions to cause the system to perform operations comprising:

receiving a shallow entity instance requesting entity information;

determining one or more blocking functions to apply to the shallow entity instance;

generating at least one blocking key value based on the shallow entity instance;

sorting the at least one blocking key value to facilitate matching to the shallow entity instance;

determining an entity identifier based on the at least one blocking key value; and

determining whether an entity identifier exists by querying a mapping table indexed by a blocking function key and a version identifier, wherein:

in response to no valid entity identifier being identified, additional blocking functions are iteratively applied for evaluating additional blocking key values; and

in response to a valid entity identifier being identified for the blocking function key and the version identifier:

retrieving, using the blocking function key and the version identifier, a shallow entity instance for the blocking key function;

matching a cleaned shallow entity instance with the retrieved shallow entity instance; and

retrieving a deep entity instance based on the match.

36 . The system of claim 35 , wherein requesting the entity information further includes cleaning the input shallow entity instance and conducting a match for a deep entity instance.

37 . The system of claim 36 , further comprising matching the cleaned input shallow entity instance with the shallow entity instance.

38 . The system of claim 35 , wherein determining the one or more blocking functions further includes constructing tables to map blocking key values to the shallow entity instance.

39 . The system of claim 35 , wherein the blocking functions generate alphanumeric strings as blocking key values by stringifying the shallow entity instance.

40 . The system of claim 35 , wherein the sorting further includes a descending order from strongest to weakest key value to determine the match.