IP Library Granted Patent US 12,437,214
Granted Patent B2
US 12,437,214 · App. 17/392,695 · Granted Oct 7, 2025

Machine-learning system and method for identifying same person in genealogical databases

Inventors: Atanu Roy (Lehi, UT); Jianlong Qi (Lehi, UT); Peng Jiang (Lehi, UT); Aaron Ling (Lehi, UT); Rey Furner (Lehi, UT); Lei Wu (Lehi, UT); Eugene Greenwood (Lehi, UT); Ian Stiles (Lehi, UT)
Assignee: Ancestry.com Operations Inc.
G06N5/025G06F16/00
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,437,214
App. No.
17/392,695
Granted
Oct 7, 2025
Kind
B2
Abstract

Systems and methods for determining whether two tree persons in a genealogical database correspond to the same real-life individual. Embodiments include identifying two tree persons in a genealogical database and extracting a plurality of features from both tree persons to generate two vectors. Embodiments also include calculating a plurality of metrics between the two vectors to generate a metric function. Embodiments further include generating feature weights using a recursive process based on training data input by external users, and generating a score by calculating a weighted sum of the metric function being weighted by the feature weights. The generated score may then be compared to a threshold value.

Claims (66)

1. A computer-implemented method comprising:

identifying a first tree person from a first genealogical tree and a second tree person from a second genealogical tree, wherein both the first genealogical tree and the second genealogical tree comprise a plurality of interconnected tree persons corresponding to individuals that are related to each other;

extracting, from first tree data of the first genealogical tree, a first set of features for the first tree person and, from second tree data of the second genealogical tree, a second set of features for the second tree person;

based on extracting the first set of features for the first tree person and the second set of features for the second tree person, generating a metric function, by comparing like features from the first set of features for the first tree person with corresponding features from the second set of features for the second tree person;

generating a plurality of feature weights for similarity metrics of the metric function using a machine learning model configured to output the plurality of feature weights based on receiving an input comprising the first set of features and the second set of features, wherein the machine learning model is trained by:

providing training data comprising pairs of tree persons to the machine learning model; and

modifying the machine learning model using an error computed based on an output of the machine learning model when provided with the training data;

generating a plurality of weighted similarity metrics by multiplying similarity metrics of the metric function with corresponding feature weights from the plurality of feature weights;

generating a similarity score indicating a likelihood of the first tree person and the second tree person being duplicates by calculating a sum of the plurality of weighted similarity metrics; and

modifying a cluster in a genealogical database based on the likelihood of the first tree person and the second tree person being duplicates.

2. The computer-implemented method of claim 1 , wherein comparing the like features from the first set of features for the first tree person with corresponding features from the second set of features for the second tree person further comprises generating the similarity metrics of the metric function, wherein the similarity metrics indicate similarities between features of the first set of features and corresponding features of the second set of features.

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

determining that a feature of the first set of features or the second set of features comprises an error; and

based on determining that the feature of the first set of features or the second set of features comprises an error, modifying the feature to correct the error.

4. The computer-implemented method of claim 3 , wherein modifying the feature to correct the error further comprises normalizing a format of the feature.

5. The computer-implemented method of claim 4 , wherein normalizing the format of the feature further comprises modifying an address feature into a predetermined format.

6. The computer-implemented method of claim 1 , wherein at least one feature of the first set of features is a race feature.

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

determining that the similarity score satisfies a similarity threshold; and

modifying the cluster in the genealogical database based on determining that similarity score satisfies the similarity threshold.

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

determining a number of available features from the first set of features and the second set of features; and

modifying a value of the similarity threshold based on the number of available features from the first set of features and the second set of features.

9. A non-transitory computer-readable medium storing instructions that, when executed by at least one processor, cause a computer system to:

identify a first tree person from a first genealogical tree and a second tree person from a second genealogical tree, wherein both the first genealogical tree and the second genealogical tree comprise a plurality of interconnected tree persons corresponding to individuals that are related to each other;

extract, from first tree data of the first genealogical tree, a first set of features for the first tree person and, from second tree data of the second genealogical tree, a second set of features for the second tree person;

based on extracting the first set of features for the first tree person and the second set of features for the second tree person, generate a metric function, by comparing like features from the first set of features for the first tree person with corresponding features from the second set of features for the second tree person;

generate a plurality of feature weights for the metric function using a machine learning model configured to output the plurality of feature weights based on receiving an input comprising the first set of features and the second set of features, wherein the machine learning model is trained by:

providing training data comprising pairs of tree persons to the machine learning model; and

modifying the machine learning model using an error computed based on an output of the machine learning model when provided with the training data;

generate a plurality of weighted similarity metrics by multiplying similarity metrics of the metric function with corresponding feature weights from the plurality of feature weights;

generate a similarity score indicating a likelihood of the first tree person and the second tree person being duplicates by calculating a sum of the plurality of weighted similarity metrics; and

modify a cluster in a genealogical database based on the likelihood of the first tree person and the second tree person being duplicates.

10. The non-transitory computer-readable medium of claim 9 , further comprising instructions that, when executed by the at least one processor, cause the computer system to compare the like features from the first set of features for the first tree person with corresponding features from the second set of features for the second tree person by generating the similarity metrics of the metric function, wherein the similarity metrics indicate similarities between features of the first set of features and corresponding features of the second set of features.

11. The non-transitory computer-readable medium of claim 9 , further comprising instructions that, when executed by the at least one processor, cause the computer system to:

determine that a feature of the first set of features or the second set of features comprises an error; and

based on determining that the feature of the first set of features or the second set of features comprises an error, modify the feature to correct the error.

12. The non-transitory computer-readable medium of claim 11 , further comprising instructions that, when executed by the at least one processor cause the computer system to correct the error by normalizing a format of the feature.

13. The non-transitory computer-readable medium of claim 12 , further comprising instructions that, when executed by the at least one processor, cause the computer system to normalize the format of the feature by transforming an address feature into a predetermined format.

14. The non-transitory computer-readable medium of claim 9 , wherein at least one feature of the first set of features is a race feature.

15. The non-transitory computer-readable medium of claim 9 , further comprising instructions that, when executed by the at least one processor, cause the computer system to:

determine that the similarity score satisfies a similarity threshold; and

modify the cluster in the genealogical database based on determining that similarity score satisfies the similarity threshold.

16. The non-transitory computer-readable medium of claim 15 , further comprising instructions that, when executed by the at least one processor, cause the computer system to:

determine a number of available features from the first set of features and the second set of features; and

modify a value of the similarity threshold based on the number of available features from the first set of features and the second set of features.

17. A system comprising:

at least one processor; and

at least one non-transitory computer-readable storage medium storing instructions that, when executed by the at least one processor, cause the system to:

identify a first tree person from a first genealogical tree and a second tree person from a second genealogical tree, wherein both the first genealogical tree and the second genealogical tree comprise a plurality of interconnected tree persons corresponding to individuals that are related to each other;

extract, from first tree data of the first genealogical tree, a first set of features for the first tree person and, from second tree data of the second genealogical tree, a second set of features for the second tree person;

based on extracting the first set of features for the first tree person and the second set of features for the second tree person, generate a metric function, by comparing like features from the first set of features for the first tree person with corresponding features from the second set of features for the second tree person;

generate a plurality of feature weights for similarity metrics of the metric function using a machine learning model configured to output the plurality of feature weights based on receiving an input comprising the first set of features and the second set of features, wherein the machine learning model is trained by:

providing training data comprising pairs of tree persons to the machine learning model; and

modifying the machine learning model using an error computed based on an output of the machine learning model when provided with the training data;

generate a plurality of weighted similarity metrics by multiplying similarity metrics of the metric function with corresponding feature weights from the plurality of feature weights;

generate a similarity score indicating a likelihood of the first tree person and the second tree person being duplicates by calculating a sum of the plurality of weighted similarity metrics; and

modify a cluster in a genealogical database based on the likelihood of the first tree person and the second tree person being duplicates.

18. The system of claim 17 , further comprising instructions that, when executed by the at least one processor, cause the system to:

generating a similarity threshold based on a number of available features;

determine that the similarity score satisfies the similarity threshold; and

modify the cluster in the genealogical database based on determining that similarity score satisfies the similarity threshold.

19. The system of claim 17 , further comprising instructions that, when executed by the at least one processor, cause the system to:

determine that a feature of the first set of features or the second set of features comprises an error; and

based on determining that the feature of the first set of features or the second set of features comprises an error, modify the feature to normalize a format of the feature.

20. The system of claim 19 , wherein modifying the feature to normalize the format of the feature comprises modifying an address feature into a predetermined format.

Assignments (3)
PATENT SECURITY AGREEMENT Recorded Dec 17, 2021
From: ANCESTRY.COM DNA, LLC; ANCESTRY.COM OPERATIONS INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 058536/0257 →
PATENT SECURITY AGREEMENT Recorded Dec 17, 2021
From: ANCESTRY.COM DNA, LLC; ANCESTRY.COM OPERATIONS INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 058536/0278 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 6, 2021
From: ROY, ATANU; QI, JIANLONG; JIANG, PENG; LING, AARON; FURNER, REY; WU, LEI; GREENWOOD, EUGENE; STILES, IAN
To: ANCESTRY.COM OPERATIONS INC.
Reel/Frame 057111/0840 →
Continuity (5)
Continuation 15479291 · Apr 5, 2017
Provisional Application 62393849 · Sep 13, 2016
Provisional Application 62393276 · Sep 12, 2016
Provisional Application 62319299 · Apr 7, 2016
Related Publication 20210365803A1 · Nov 25, 2021
References Cited (33)
US 5506885A · Weaver, Jr. · 1996 [cited by applicant]
US 5606653A · Gilmore · 1997 [cited by applicant]
US 6523019B1 · Borthwick · 2003 [cited by examiner]
US 8554742B2 · Naeymi-Rad · 2013 [cited by examiner]
US 9390225B2 · Barber · 2016 [cited by examiner]
US 10140342B2 · Cevahir · 2018 [cited by applicant]
US 20040034550A1 · Menschik · 2004 [cited by examiner]
US 20070168368A1 · Stone · 2007 [cited by applicant]
US 20100287213A1 · Rolls et al. · 2010 [cited by applicant]
US 20140181089A1 · Desmond et al. · 2014 [cited by applicant]
US 20140244664A1 · Verma · 2014 [cited by applicant]
US 20140279739A1 · Elkington · 2014 [cited by examiner]
US 20150363481A1 · Haynes · 2015 [cited by applicant]
US 20150373565A1 · Safavi · 2015 [cited by examiner]
US 20160012280A1 · Ito et al. · 2016 [cited by applicant]
US 20160275413A1 · Shi et al. · 2016 [cited by applicant]
US 20170091692A1 · Guo et al. · 2017 [cited by applicant]
US 20170213127A1 · Duncan · 2017 [cited by examiner]
NPL Bauman Computation of Weights for Probabilistic Record Linkage 2006. [cited by examiner]
NPL Chen Improved ancestry inference using weights 2013. [cited by examiner]
NPL Feigenbaum A ML Approach to Census Record Linking Mar. 2016. [cited by examiner]
NPL Singh The EM Algorithm 2005. [cited by examiner]
NPL Efremova A Baseline Method for Genealogical Entity Resolution 2014. [cited by examiner]
NPL Elfeky Record Linkage A Machine Learning Approach 2003. [cited by examiner]
NPL Ivie Metric Based ML Approach to Genealogical RL 2007. [cited by examiner]
NPL Schraagen Aspects of Record Linkage 2014. [cited by examiner]
NPL Wilson Beyond Probabilistic Record Linkage Using NNs 2011. [cited by examiner]
Zheng Feature Weighting Using Neural Networks 2004. [cited by examiner]
U.S. Appl. No. 11/113,609, Jan. 2, 2020, Office Action. [cited by applicant]
U.S. Appl. No. 11/113,609, May 19, 2020, Office Action. [cited by applicant]
U.S. Appl. No. 11/113,609, Jul. 27, 2020, Office Action. [cited by applicant]
U.S. Appl. No. 11/113,609, Dec. 16, 2020, Office Action. [cited by applicant]
U.S. Appl. No. 11/113,609, May 3, 2021, Notice of Allowance. [cited by applicant]