IP Library › Granted Patent US 12,266,077
Granted Patent B2
US 12,266,077 · App. 17/120,974 · Granted Apr 1, 2025

Deep learning of entity resolution rules

Inventors: Sheshera Mysore (Sunderland, MA); Sairam Gurajada (San Jose, CA); Lucian Popa (San Jose, CA); Kun Qian (San Jose, CA); Prithviraj Sen (San Jose, CA)
Assignee: International Business Machines Corporation
G06T3/4046G06N3/08G06N5/025G06F16/215G06F40/295G06N3/042G06N3/044G06N3/045
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,266,077
App. No.
17/120,974
Granted
Apr 1, 2025
Kind
B2
Abstract

A method, system, and computer program product for learning entity resolution rules for determining whether entities are matching. The method may include receiving historical pairs of entities. The method may also include determining a set of rules for determining whether a pair of entities are matching, where the set of rules comprises a plurality of conditions. The method may also include developing, using a deep neural network, an entity resolution model based on the historical pairs of entities. The method may also include receiving a new pair of entities. The method may also include applying the entity resolution model to the new pair of entities. The method may also include determining whether one or more rules from the set of rules are satisfied for the new pair of entities. The method may also include categorizing the new pair of entities as matching or not matching.

Claims (76)

1. A computer-implemented method comprising:

receiving historical pairs of entities including labels indicating whether the historical pairs of entities match;

determining a set of rules for determining whether a pair of entities are matching using the historical pairs of entities, wherein the set of rules comprises a plurality of conditions, each condition representing an instance where the pair of entities could be matching;

building and training a deep neural network using the historical pairs of entities, wherein similarity functions of the historical pairs of entities are input into an embedding layer of the deep neural network, and the deep neural network learns at least predicate parameters and types of conjunctions for the similarity functions and forms entity resolution rules based on the similarity functions and corresponding predicate parameters and types of conjunctions;

developing, using the deep neural network, an entity resolution model based on the historical pairs of entities and the entity resolution rules, wherein the deep neural network comprise a recurrent neural network, and wherein the recurrent neural network is used to determine similarity metrics for the historical pairs of entities in the entity resolution model and analyze the historical pairs of entities and learn similarity metrics from the analysis;

responsive to entity resolution model being developed, receiving, by the entity resolution model, a new pair of entities; and

applying the entity resolution model to the new pair of entities, wherein applying the entity resolution model comprises:

determining whether the one or more conditions and the entity resolution rules associated with the entity resolution model are satisfied by the new pair of entities; and

categorizing the new pair of entities as matching or not matching, based on whether the one or more rules are satisfied.

2. The method of claim 1 , wherein determining the set of rules comprises:

determining similarity metrics of the historical pairs of entities, wherein the similarity metrics are metrics for determining whether a pair of entities are similar;

determining one or more conditions for each similarity metric of the similarity metrics, wherein the one or more conditions indicate when a similarity metric is a matching metric; and

forming the one or more rules within the set of rules for when entities are matching, the one or more rules formed from the one or more conditions.

3. The method of claim 2 , wherein determining similarity metrics for the historical pairs of entities comprises:

identifying predefined similarity metrics based on the historical pairs of entities, wherein the predefined similarity metrics comprise a conjunction of predicates, the conjunction of predicates including a collection of similarity clauses.

4. The method of claim 3 , wherein determining the similarity metrics for the historical pairs of entities further comprises:

determining whether the predefined similarity metrics are sufficient to form a satisfactory entity resolution model; and

in response to determining that the predefined similarity metrics are not sufficient, learning similarity metrics for the historical pair of entities using a neural network, resulting in learned similarity metrics.

5. The method of claim 2 , wherein determining the one or more conditions comprises:

inputting the similarity metrics into the deep neural network;

learning, from the deep neural network, conjunctions and predicate parameters for each similarity metric; and

forming the one or more conditions for each similarity metric based on the conjunctions and the predicate parameters.

6. The method of claim 2 , wherein forming the one or more rules comprises:

grouping corresponding conditions from the one or more conditions, resulting in condition groups; and

creating a rule for each condition group and each condition not in a condition group.

7. The method of claim 1 , wherein the detecting comprises:

determining a significance weight for each rule from the set of rules, wherein the significance weight indicates how significant each rule is in determining whether a pair of entities is matching.

8. The method of claim 1 , further comprising:

determining a predicted score for the new pair of entities, wherein the predicted score is a predicted amount of similarity between the new pair of entities; and

determining whether the predicted score for the new pair of entities is above a threshold predicted score.

9. The method of claim 1 , wherein the set of rules comprises directly interpretable logical rules.

10. A system having one or more computer processors, the system configured to:

receive historical pairs of entities including labels indicating whether the historical pairs of entities match;

determine a set of rules for determining whether a pair of entities are matching using the historical pairs of entities, wherein the set of rules comprises a plurality of conditions, each condition representing an instance where the pair of entities could be matching;

build and train a deep neural network using the historical pairs of entities, wherein similarity functions of the historical pairs of entities are input into an embedding layer of the deep neural network, and the deep neural network learns at least predicate parameters and types of conjunctions for the similarity functions and forms entity resolution rules based on the similarity functions and corresponding predicate parameters and types of conjunctions

develop, using the deep neural network, an entity resolution model based on the historical pairs of entities and the entity resolution rules, wherein the deep neural network comprise a recurrent neural network, and wherein the recurrent neural network is used to determine similarity metrics for the historical pairs of entities in the entity resolution model and analyze the historical pairs of entities and learn similarity metrics from the analysis;

responsive to entity resolution model being developed, receive, by the entity resolution model, a new pair of entities; and

apply the entity resolution model to the new pair of entities, wherein applying the entity resolution model comprises:

determining whether one or more rules from the set of rules are satisfied for the new pair of entities; and

categorizing the new pair of entities as matching or not matching, based on whether the one or more rules are satisfied.

11. The system of claim 10 , wherein determining the set of rules comprises:

determining similarity metrics of the historical pairs of entities, wherein the similarity metrics are metrics for determining whether a pair of entities are similar;

determining one or more conditions for each similarity metric of the similarity metrics, wherein the one or more conditions indicate when a similarity metric is a matching metric; and

forming the one or more rules within the set of rules for when entities are matching, the one or more rules formed from the one or more conditions.

12. The system of claim 11 , wherein determining similarity metrics for the historical pairs of entities comprises:

identifying predefined similarity metrics based on the historical pairs of entities, wherein the predefined similarity metrics comprise a conjunction of predicates, the conjunction of predicates including a collection of similarity clauses.

13. The system of claim 11 , wherein determining the one or more conditions comprises:

inputting the similarity metrics into the deep neural network;

learning, from the deep neural network, conjunctions and predicate parameters for each similarity metric;

determining one or more parameters for each similarity metric; and

forming the one or more conditions for each similarity metric based on the one or more parameters, the conjunctions, and the predicate parameters.

14. The system of claim 11 , wherein forming the one or more rules comprises:

grouping corresponding conditions from the one or more conditions, resulting in condition groups; and

creating a rule for each condition group and each condition not in a condition group.

15. A computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a server to cause the server to perform a method, the method comprising:

receiving historical pairs of entities including labels indicating whether the historical pairs of entities match;

determining a set of rules for determining whether a pair of entities are matching using the historical pairs of entities, wherein the set of rules comprises a plurality of conditions, each condition representing an instance where the pair of entities could be matching, and wherein one condition of the plurality of conditions identifies a property that must be equal between the pair of entities in order for those entities to be matching;

building and training a deep neural network using the historical pairs of entities, wherein similarity functions of the historical pairs of entities are input into an embedding layer of the deep neural network, and the deep neural network learns at least predicate parameters and types of conjunctions for the similarity functions and forms entity resolution rules based on the similarity functions and corresponding predicate parameters and types of conjunctions;

developing, using the deep neural network, an entity resolution model based on the historical pairs of entities and the entity resolution rules, wherein the deep neural network comprise a recurrent neural network, and wherein the recurrent neural network is used to determine similarity metrics for the historical pairs of entities in the entity resolution model and analyze the historical pairs of entities and learn similarity metrics from the analysis;

responsive to entity resolution model being developed, receiving, by the entity resolution model, a new pair of entities; and

applying the entity resolution model to the new pair of entities, wherein applying the entity resolution model comprises:

determining whether the one or more conditions and the entity resolution rules associated with the entity resolution model are satisfied by the new pair of entities;

categorizing the new pair of entities as matching or not matching, based on whether the one or more rules are satisfied;

detecting that a rule in the set of rules was not significant during the categorizing; and

removing, in part in response to the detecting, the rule from the entity resolution model, resulting in a sparsified entity resolution model.

16. The computer program product of claim 15 , wherein the detecting comprises:

determining a significance weight for each rule from the set of rules, wherein the significance weight indicates how significant each rule is in determining whether a pair of entities is matching.

17. The computer program product of claim 15 , wherein determining the set of rules comprises:

determining similarity metrics of the historical pairs of entities, wherein the similarity metrics are metrics for determining whether a pair of entities are similar;

determining one or more conditions for each similarity metric of the similarity metrics, wherein the one or more conditions indicate when a similarity metric is a matching metric; and

forming the one or more rules within the set of rules for when entities are matching, the one or more rules formed from the one or more conditions.

18. The computer program product of claim 17 , wherein determining the one or more conditions comprises:

inputting the similarity metrics into the deep neural network;

learning, from the deep neural network, conjunctions and predicate parameters for each similarity metric;

determining one or more parameters for each similarity metric; and

forming the one or more conditions for each similarity metric based on the one or more parameters, the conjunctions, and the predicate parameters.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 14, 2020
From: MYSORE, SHESHERA; GURAJADA, SAIRAM; POPA, LUCIAN; QIAN, KUN; SEN, PRITHVIRAJ
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 054639/0611 →
Continuity (1)
Related Publication 20220188974A1 · Jun 16, 2022
References Cited (33)
US 9922290B2 · Thomas et al. · 2018 [cited by applicant]
US 20090006282A1 · Roth · 2009 [cited by examiner]
US 20130297661A1 · Jagota · 2013 [cited by examiner]
US 20190303371A1 · Rowe · 2019 [cited by examiner]
US 20190311229A1 · Qian · 2019 [cited by examiner]
US 20200210466A1 · Yin · 2020 [cited by examiner]
US 20210064705A1 · Lu · 2021 [cited by examiner]
US 20220067585A1 · Balaraman · 2022 [cited by examiner]
US 20220067857A1 · Hiltch · 2022 [cited by examiner]
US 20220092405A1 · Frank · 2022 [cited by examiner]
CN 106202044A · 2016 [cited by applicant]
Mayank, Mohit. “String Similarity-the Basic Know Your Algorithms Guide!” Medium, ITNEXT, Jan. 8, 2020, itnext.io/string-similarity-the-basic-know-your-algorithms-guide-3de3d7346227. [cited by examiner]
Chen et al., “Towards Interpretable and Learnable Risk Analysis for Entity Resolution,” SIGMOD, 2020, 16 pages. [cited by applicant]
Qian et al., “SystemER: a Human-in-the-loop System for Explainable Entity Resolution,” Proceedings of the VLDB Endowment, vol. 12, No. 12, pp. 1794-1797. [cited by applicant]
Singh et al., “Generating Concise Entity Matching Rules,” SIGMOD, Proceedings of the 2017 ACM International Conference on Management of Data, 2017, pp. 1635-1638. [cited by applicant]
Petrova et al., “Towards explainable entity matching via comparison queries,” CEUR-WS.org, vol. 1-2536\om2019_poster5.pdf, 2019, 2 pages. [cited by applicant]
Eberle et al., “Building and Interpreting Deep Similarity Models,” imarXiv: 2003.05431v1 [cs.LG], Mar. 11, 2020, 16 pages. [cited by applicant]
“Strsim 0.0.3,” pip install strsim, Released Jul. 13, 2018, 16 pages, https://pypi.org/project/strsim/. [cited by applicant]
“SimMetrics,” GitHub Inc., Simmetrics, 2020, https://github.com/Simmetrics/simmetrics. [cited by applicant]
Mudgal et al., “Deep Learning for Entity Matching: A Design Space Exploration,” SIGMOD 2018, Jun. 10-15, 2018, Houston, TX, USA, 16 pages. [cited by applicant]
Arya et al., “One Explanation Does Not Fit All; A Toolkit and Taxonomy of AI Explainability Techniques,” arXiv:1909.03012v2 [cs.AI], Sep. 14, 2019, 18 pages. [cited by applicant]
“Introduction to the high-level integration language,” IBM, IBM Knowledge Center, Last Updated May 27, 2020, 5 pages, https://www.ibm.com/support/knowledgecenter/SSWSR9_11.4.0/com.ibm.swg.im.mdmhs.pmebi.doc/topics/HIL_i… [cited by applicant]
Hernandez et al., “HIL: A High-Level Scripting Language for Entity Integration,” EDBT 2013, 12 pages. [cited by applicant]
Zhu et al., “To Prune, or Not to Prune: Exploring the Efficacy of Pruning for Model Compression,” Workshop track—ICLR 2018, 10 pages. [cited by applicant]
Louizos et al., “Learning Sparse Neural Networks Through L0 Regularization,” Published as a conference paper at ICLR 2018, 13 pages. [cited by applicant]
Kasai et al., “Low-resource Deep Entity Resolution with Transfer and Active Learning,” ACL, Proceedings of the 57th Annual Meeting of the Association for Computational Linguistics, 2019, pp. 5851-5861. [cited by applicant]
Thirumuruganathan et al., “Explaining Entity Resolution Predictions : Where are we and What needs to be done?” HILDA 2019, 6 pages. [cited by applicant]
Ebaid et al., “Explainer: Entity Resolution Explanations,” ICDE 2019, 4 pages. [cited by applicant]
Ribeiro et al., “Why Should I Trust You?” Explaining the Predictions of any Classifier, KDD 2016, ACM, 10 pages. [cited by applicant]
Arasu et al., “On Active Learning of Record Matching Packages,” SIGMOD 2010, 12 pages. [cited by applicant]
Qian et al., Active Learning for Large-Scale Entity Resolution, CIKM 2017, Proceedings of the 2017 ACM on Conference on Information and Knowledge Management, 2017, pp. 1379-1388. [cited by applicant]
Singla et al., “Entity Resolution with Markov Logic,” ICDM 2006, 11 pages. [cited by applicant]
Sen et al., “Producing Explainable Rules via Deep Learning,” U.S. Appl. No. 16/780,721, filed Feb. 3, 2020. [cited by applicant]