US-12619876-B2 - Flexible entity resolution networks
Abstract
Among other techniques, techniques for machine learning-based entity resolution are described. An example method includes receiving an entity resolution request, the entity resolution request indicating a first entity and a second entity; identifying a plurality of first attributes in a data model; identifying a plurality of second attributes in the data model; creating a first string based on the plurality of first attributes of the data model; creating a second string based on the plurality of second attributes of the data model; generating a first prompt based on the first string; generating a second prompt based on the second string; providing the first prompt to a domain-agnostic large language model; generating, by the domain-agnostic large language model using the first prompt, a first domain-agnostic large language model result; clipping the first domain-agnostic large language model result; providing the second prompt to the domain-agnostic large language model; generating, by the domain-agnostic large language model using the second prompt, a second domain-agnostic large language model result; clipping the second domain-agnostic large language model result; generating, by a downstream neural network classifier, a machine learning final result based on the clipped first and second domain-agnostic large language model result; and merging, based on the machine learning final result, the first entity and the second entity.
Inventors
- Anshuman Kanwar
- Robin Sylvester
Assignees
- Reltio, Inc.
Dates
- Publication Date
- 20260505
- Application Date
- 20250218
Claims (17)
- 1 . A system comprising: one or more processors; and memory storing instructions that, when executed by the one or more processors, cause the system to perform: receiving a plurality of different machine learning models; testing each of the plurality of different machine learning models, the testing including simulating a respective match performance of each of the plurality of different machine learning models; selecting, based on the testing and the simulating, a domain-agnostic large language model of the plurality of different machine learning models; receiving an entity resolution request, the entity resolution request indicating a first entity and a second entity; identifying a plurality of first attributes in a data model; identifying a plurality of second attributes in the data model; creating a first string based on the plurality of first attributes in the data model; creating a second string based on the plurality of second attributes in the data model; generating a first prompt based on the first string; generating a second prompt based on the second string; providing the first prompt to the domain-agnostic large language model; generating, by the domain-agnostic large language model using the first prompt, a first domain-agnostic large language model result; clipping the first domain-agnostic large language model result; providing the second prompt to the domain-agnostic large language model; generating, by the domain-agnostic large language model using the second prompt, a second domain-agnostic large language model result; clipping the second domain-agnostic large language model result; generating, by a downstream neural network classifier, a machine learning final result based on the clipped first and second domain-agnostic large language model results; merging, based on the machine learning final result, the first entity and the second entity.
- 2 . The system of claim 1 , wherein the plurality of different machine learning models are received from a user.
- 3 . The system of claim 1 , wherein the instructions, when executed by the one or more processors, cause the system to perform tuning the domain-agnostic large language model based on user feedback received through a graphical user interface.
- 4 . A method comprising: receiving a plurality of different machine learning models; testing each of the plurality of different machine learning models, the testing including simulating a respective match performance of each of the plurality of different machine learning models; selecting, based on the testing and the simulating, a domain-agnostic large language model of the plurality of different machine learning models; receiving an entity resolution request, the entity resolution request indicating a first entity and a second entity; identifying a plurality of first attributes in a data model; identifying a plurality of second attributes in the data model; creating a first string based on the plurality of first attributes in the data model; creating a second string based on the plurality of second attributes in the data model; generating a first prompt based on the first string; generating a second prompt based on the second string; providing the first prompt to the domain-agnostic large language model; generating, by the domain-agnostic large language model using the first prompt, a first domain-agnostic large language model result; clipping the first domain-agnostic large language model result; providing the second prompt to the domain-agnostic large language model; generating, by the domain-agnostic large language model using the second prompt, a second domain-agnostic large language model result; clipping the second domain-agnostic large language model result; generating, by a downstream neural network classifier, a machine learning final result based on the clipped first and second domain-agnostic large language model results; merging, based on the machine learning final result, the first entity and the second entity.
- 5 . The method of claim 4 , wherein the plurality of different machine learning models are received from a user.
- 6 . A system comprising: one or more processors; and memory storing instructions that, when executed by the one or more processors, cause the system to perform: receiving a plurality of different machine learning models; testing each of the plurality of different machine learning models, the testing including simulating a respective match performance of each of the plurality of different machine learning models; selecting, based on the testing and the simulating, a domain-agnostic large language model of the plurality of different machine learning models; swapping the domain-agnostic large language model with an approximator network, wherein the approximator network approximates outputs of the domain-agnostic large language model; receiving an entity resolution request, the entity resolution request indicating a first entity and a second entity; identifying a plurality of first attributes in a data model; identifying a plurality of second attributes in the data model; creating a first string based on the plurality of first attributes in the data model; creating a second string based on the plurality of second attributes in the data model; generating a first prompt based on the first string; generating a second prompt based on the second string; providing the first prompt to the approximator network; generating, by the approximator network using the first prompt, a first approximator network result; clipping the first approximator network result; providing the second prompt to another approximator network; generating, by the other approximator network using the second prompt, a second approximator network result; clipping the second approximator network result; generating, by a downstream neural network classifier, a machine learning final result based on the clipped first and second approximator network results; merging, based on the machine learning final result, the first entity and the second entity.
- 7 . The system of claim 6 , wherein the plurality of different machine learning models are received from a user.
- 8 . The system of claim 6 , wherein the swapping is performed pre-runtime.
- 9 . The system of claim 6 , wherein the swapping is performed during runtime.
- 10 . The system of claim 6 , wherein the swapping is performed post-runtime.
- 11 . The system of claim 6 , wherein the approximator network is smaller than the domain-agnostic large language model.
- 12 . A method comprising: receiving a plurality of different machine learning models; testing each of the plurality of different machine learning models, the testing including simulating a respective match performance of each of the plurality of different machine learning models; selecting, based on the testing and the simulating, a domain-agnostic large language model of the plurality of different machine learning models; swapping the domain-agnostic large language model with an approximator network, wherein the approximator network approximates outputs of the domain-agnostic large language model; receiving an entity resolution request, the entity resolution request indicating a first entity and a second entity; identifying a plurality of first attributes in a data model; identifying a plurality of second attributes in the data model; creating a first string based on the plurality of first attributes in the data model; creating a second string based on the plurality of second attributes in the data model; generating a first prompt based on the first string; generating a second prompt based on the second string; providing the first prompt to the approximator network; generating, by the approximator network using the first prompt, a first approximator network result; clipping the first approximator network result; providing the second prompt to another approximator network; generating, by the other approximator network using the second prompt, a second approximator network result; clipping the second approximator network result; generating, by a downstream neural network classifier, a machine learning final result based on the clipped first and second approximator network results; merging, based on the machine learning final result, the first entity and the second entity.
- 13 . The method of claim 12 , wherein the plurality of different machine learning models are received from a user.
- 14 . The method of claim 12 , wherein the swapping is performed pre-runtime.
- 15 . The method of claim 12 , wherein the swapping is performed during runtime.
- 16 . The method of claim 12 , wherein the swapping is performed post-runtime.
- 17 . The method of claim 12 , wherein the approximator network is smaller than the domain-agnostic large language model.
Description
CROSS-REFERENCE TO RELATED APPLICATIONS The present application claims priority to U.S. Provisional Patent Application Ser. No. 63/554,146 filed Feb. 15, 2024 and U.S. Provisional Patent Application Ser. No. 63/569,725 filed Mar. 25, 2024, each of which is incorporated herein by reference. BACKGROUND Computing systems routinely store and process large amounts of disparate data. Processing such large amounts of data consumes vast amounts of computing resources (e.g., memory, processing speed, network bandwidth, and the like). Computing systems are also typically very inefficient and waste a lot of computing resources when processing such large amounts of data. For example, the data may include different data records for the same entity (e.g., multiple data records for the same employee of an organization), causing the computing system to process many more data records than necessary, which can lead to increased computing requirements (e.g., memory, storage, processors, network bandwidth) and reduced computational speed and efficiency, among other technical problems. BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 depicts a connected data platform. FIG. 2 depicts an environment for an integration hub system. FIG. 3 depicts a three-layer model in some embodiments. FIG. 4 depicts a box diagram of some examples of entity type, relationship type, and event metadata. FIG. 5 depicts a dynamic matching facilitation flowchart. FIG. 6 depicts a graphical diagram of the data change request (DCR) workflow review process of FIG. 5. FIGS. 7 and 8 are examples of data change request review panes for a user interface (UI). FIG. 9 depicts an additional details tab in the data change request review pane. FIG. 10 depicts an interface to create a new role. FIG. 11 depicts an interface to edit a user. FIG. 12 depicts an interface for a data change request. FIG. 13 depicts the interface for a data change request including an “unreject” option. FIG. 14 depicts an interface for a data change request review depicting relationships status. FIG. 15 depicts an interface for a data change request. FIGS. 16, 17, and 18 depict changes to relationships and their attributes, or new or deleted relationships. FIG. 19 depicts a diagram of an example flexible entity resolution network system. FIG. 20 depicts a diagram of an example AI-based matching system for machine learning-based matching analysis and prediction using generative AI models (e.g., large language models) and downstream neural network classifiers. FIG. 21 depicts a flowchart of an example method of AI-based flexible entity resolution. FIG. 22 depicts a flowchart of an example method of interactive parallelized multimodal matching. FIG. 23 depicts a flowchart of an example method of analyzing match rules and generating machine learning-based match rule recommendation actions. FIG. 24 depicts a flowchart of an example method of AI-based flexible entity resolution using one or more approximator networks. DETAILED DESCRIPTION A claimed solution rooted in computer technology overcomes problems specifically arising in the realm of computer technology. In various embodiments, a computing system is configured to provide a multi-stage cascade of large language models and stage N neural networks that identifies matching data records within a set of data records, and then merges the matching data records. More specifically, the computing system can use a combination of domain-agnostic large language models and downstream neural network classifiers to identify matching data records that would otherwise not be possible with other machine learning or rules-based entity resolution systems. In one example, a computing system receives an entity resolution request. The entity resolution request can indicate a first entity (e.g., “” with an address of “135 W. Union Ave, Baltimore MD, United States, 21201”) and a second entity (e.g., “Dr. Sarah Jackson” with an address of “123 W. Union Avenue, Baltimore, Maryland, United States, 99801”). For example, a data steward may provide the entity resolution request to help determine whether the entities are the same or different. Using the entity resolution request, the computing system can identify attributes in a data model. For example, the attributes can include name attributes (e.g., prefix, first name, middle name, last name, suffix) of a name object of an individual entity model. The computing system can then identify other attributes in the data model and/or other data models. For example, the other attributes can include address attributes (e.g., addressline1, addressline2, city, etc.) of an address object of the individual entity model. The computing system can then create strings based on the identified attributes of the data model. For example, the computing system may concatenate a first set of attributes to create a first string and concatenate a second set of attributes to create a second string. The computing system can then generate a domain-agnos