IP Library › Granted Patent US 12,461,972
Granted Patent B2
US 12,461,972 · App. 18/603,537 · Granted Nov 4, 2025

System and method for genealogical entity resolution

Inventors: Tyler Folkman (Lehi, UT); Rey Furner (Lehi, UT); Drew Pearson (Lehi, UT)
Assignee: Ancestry.com Operations Inc.
G06F16/906G06F16/215G06F16/2246G06F16/258G06F16/287G06F18/22G06N3/045G06N20/20
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,461,972
App. No.
18/603,537
Granted
Nov 4, 2025
Kind
B2
Abstract

Systems, methods, and other techniques for genealogical entity resolution. In some embodiments, first tree data and second tree data are obtained, the first tree data corresponding to a first tree person and the second tree data corresponding to a second tree person. A set of features is extracted from the first tree data and the second tree data. An individual-level similarity score for each possible pairing of tree persons is generated based on the set of features. A set of most-similar tree persons is identified based on the individual-level similarity score for each possible pairing. A plurality of individual-level similarity vectors for the set of most-similar tree persons are provided as input to a family-level ML model to determine that the first tree person and the second tree person correspond to a same individual.

Claims (64)

1 . A computer-implemented method comprising:

extracting, from a first tree node of a first data tree comprising a first plurality of interconnected nodes representing relationships among a first set of tree persons, a first set of features using a feature extractor;

extracting, from a second tree node of a second data tree comprising a second plurality of interconnected nodes representing relationships among a second set of tree persons, a second set of features using the feature extractor;

identifying, within a cluster database storing clusters of tree nodes and from the first set of features and the second set of features, a cluster comprising a set of tree nodes including tree nodes from the first data tree and the second data tree, wherein the set of tree nodes corresponds to a single tree person by:

generating an individual-level similarity score between the first tree node and the second tree node;

generating additional individual-level similarity scores between additional nodes of the first plurality of interconnected nodes within the first data tree and additional nodes of the second plurality of interconnected nodes within the first data tree and additional nodes of the second plurality of interconnected nodes within the second data tree; and

determining the cluster based on the individual-level similarity score and the additional individual-level similarity scores; and

based on identifying the cluster comprising the set of tree nodes corresponding to the single tree person, modifying the cluster database to include the cluster representing the single tree person.

2 . The computer-implemented method of claim 1 , wherein modifying the cluster database comprises resolving a duplicate tree person by:

generating a new node connection between the first tree node and the second tree node to merge the first tree node and the second tree node within the cluster of the cluster database; or

generating a new cluster in the cluster database, wherein the new cluster includes a node connection between the first tree node and the second tree node based on identifying the cluster comprising the set of tree nodes corresponding to the single tree person.

3 . The computer-implemented method of claim 1 , wherein identifying the cluster comprises grouping the first tree node and the second tree node together based on the first set of features and the second set of features corresponding to the single tree person.

4 . The computer-implemented method of claim 2 , wherein identifying the cluster comprises:

determining the cluster based on the individual-level similarity score and the additional individual-level similarity scores by utilizing an individual-level machine learning model.

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

generating a family-level similarity score between the first tree node of the first data tree and the second tree node of the second data tree, wherein the family-level similarity score indicates a similarity of the first set of features and the second set of features across familial relationships; and

identifying the cluster based on the family-level similarity score.

6 . The computer-implemented method of claim 5 , further comprising:

generating a match classification utilizing a family-level machine learning model to process an aggregated set of features from the first set of features and the second set of features; and

identifying the cluster based on the match classification.

7 . The computer-implemented method of claim 1 , wherein identifying the cluster comprises using a most-similar relationships identifier to compare similarity scores between nodes in the first plurality of interconnected nodes and the second plurality of interconnected nodes.

8 . A non-transitory computer-readable medium comprising instructions that, when executed by one or more processors, cause the one or more processors to perform operations comprising:

extracting, from a first tree node of a first data tree comprising a first plurality of interconnected nodes representing relationships among a first set of tree persons, a first set of features using a feature extractor;

extracting, from a second tree node of a second data tree comprising a second plurality of interconnected nodes representing relationships among a second set of tree persons, a second set of features using the feature extractor;

identifying, within a cluster database storing clusters of tree nodes and from the first set of features and the second set of features, a cluster comprising a set of tree nodes including tree nodes from the first data tree and the second data tree, wherein the set of tree nodes corresponds to a single tree person by:

generating an individual-level similarity score between the first tree node and the second tree node;

generating additional individual-level similarity scores between additional nodes of the first plurality of interconnected nodes within the first data tree and additional nodes of the second plurality of interconnected nodes within the first data tree and additional nodes of the second plurality of interconnected nodes within the second data tree; and

determining the cluster based on the individual-level similarity score and the additional individual-level similarity scores; and

based on identifying the cluster comprising the set of tree nodes corresponding to the single tree person, modifying the cluster database to include the cluster representing the single tree person.

9 . The non-transitory computer-readable medium of claim 8 , wherein modifying the cluster database comprises resolving a duplicate tree person by:

generating a new node connection between the first tree node and the second tree node to merge the first tree node and the second tree node within the cluster of the cluster database; or

generating a new cluster in the cluster database, wherein the new cluster includes a node connection between the first tree node and the second tree node based on identifying the cluster comprising the set of tree nodes corresponding to the single tree person.

10 . The non-transitory computer-readable medium of claim 8 , wherein identifying the cluster comprises grouping the first tree node and the second tree node together based on the first set of features and the second set of features corresponding to the single tree person.

11 . The non-transitory computer-readable medium of claim 9 , wherein identifying the cluster comprises:

determining the cluster based on the individual-level similarity score and the additional individual-level similarity scores by utilizing an individual-level machine learning model.

12 . The non-transitory computer-readable medium of claim 8 , further comprising:

generating a family-level similarity score between the first tree node of the first data tree and the second tree node of the second data tree, wherein the family-level similarity score indicates a similarity of the first set of features and the second set of features across familial relationships; and

identifying the cluster based on the family-level similarity score.

13 . The non-transitory computer-readable medium of claim 12 , further comprising:

generating a match classification utilizing a family-level machine learning model to process an aggregated set of features from the first set of features and the second set of features; and

identifying the cluster based on the match classification.

14 . The non-transitory computer-readable medium of claim 8 , wherein identifying the cluster comprises using a most-similar relationships identifier to compare similarity scores between nodes in the first plurality of interconnected nodes and the second plurality of interconnected nodes.

15 . A system comprising:

one or more processors; and

a computer-readable medium comprising instructions that, when executed by the one or more processors, cause the one or more processors to perform operations comprising:

extracting, from a first tree node of a first data tree comprising a first plurality of interconnected nodes representing relationships among a first set of tree persons, a first set of features using a feature extractor;

extracting, from a second tree node of a second data tree comprising a second plurality of interconnected nodes representing relationships among a second set of tree persons, a second set of features using the feature extractor;

identifying, within a cluster database storing clusters of tree nodes and from the first set of features and the second set of features, a cluster comprising a set of tree nodes including tree nodes from the first data tree and the second data tree, wherein the set of tree nodes corresponds to a single tree person by:

generating an individual-level similarity score between the first tree node and the second tree node;

generating additional individual-level similarity scores between additional nodes of the first plurality of interconnected nodes within the first data tree and additional nodes of the second plurality of interconnected nodes within the first data tree and additional nodes of the second plurality of interconnected nodes within the second data tree; and

determining the cluster based on the individual-level similarity score and the additional individual-level similarity scores; and

based on identifying the cluster comprising the set of tree nodes corresponding to the single tree person, modifying the cluster database to include the cluster representing the single tree person.

16 . The system of claim 15 , wherein modifying the cluster database comprises resolving a duplicate tree person by:

generating a new node connection between the first tree node and the second tree node to merge the first tree node and the second tree node within the cluster of the cluster database; or

generating a new cluster in the cluster database, wherein the new cluster includes a node connection between the first tree node and the second tree node based on identifying the cluster comprising the set of tree nodes corresponding to the single tree person.

17 . The system of claim 15 , wherein identifying the cluster comprises grouping the first tree node and the second tree node together based on the first set of features and the second set of features corresponding to the single tree person.

18 . The system of claim 16 , wherein identifying the cluster comprises:

determining the cluster based on the individual-level similarity score and the additional individual-level similarity scores by utilizing an individual-level similarity score machine learning model.

19 . The system of claim 15 , further comprising:

generating a family-level similarity score between the first tree node of the first data tree and the second tree node of the second data tree, wherein the family-level similarity score indicates a similarity of the first set of features and the second set of features across familial relationships; and

identifying the cluster based on the family-level similarity score.

20 . The system of claim 19 , further comprising:

generating a match classification utilizing a family-level machine learning model to process an aggregated set of features from the first set of features and the second set of features; and

identifying the cluster based on the match classification.

Assignments (3)
PATENT SECURITY AGREEMENT Recorded Aug 3, 2026
From: ANCESTRY.COM OPERATIONS INC.; ANCESTRY.COM DNA, LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 076116/0447 →
PATENT SECURITY AGREEMENT Recorded Aug 3, 2026
From: ANCESTRY.COM OPERATIONS INC.; ANCESTRY.COM DNA, LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 076144/0726 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 20, 2024
From: FOLKMAN, TYLER; FURNER, REY; PEARSON, DREW
To: ANCESTRY.COM OPERATIONS INC.
Reel/Frame 067788/0783 →
Continuity (3)
Continuation 17261458
Provisional Application 62701322 · Jul 20, 2018
Related Publication 20240220547A1 · Jul 4, 2024
References Cited (22)
US 9116882B1 · Macpherson et al. · 2015 [cited by applicant]
US 11347798B2 · Phillips · 2022 [cited by examiner]
US 20050147947A1 · Bennett et al. · 2005 [cited by applicant]
US 20070266003A1 · Wong et al. · 2007 [cited by applicant]
US 20080033933A1 · Cookson et al. · 2008 [cited by applicant]
US 20110029521A1 · Thayne et al. · 2011 [cited by applicant]
US 20120054190A1 · Peters · 2012 [cited by applicant]
US 20120218289A1 · Rasmussen et al. · 2012 [cited by applicant]
US 20140082568A1 · Hulet et al. · 2014 [cited by applicant]
US 20140278138A1 · Barber et al. · 2014 [cited by applicant]
US 20160048517A1 · Jensen · 2016 [cited by applicant]
US 20170213127A1 · Duncan · 2017 [cited by applicant]
US 20170293861A1 · Roy et al. · 2017 [cited by applicant]
US 20180189379A1 · Phillips · 2018 [cited by applicant]
Chen, et. al. “Data Mining: An Overview from a Database Perspective”, In: IEEE Transactions on 1-20 Knowledge and data Engineering. Dec. 1996 (Dec. 1996) Retrieved on Sep. 19, 2019 (Sep. 19, 2019). [cited by applicant]
European Search Report for EP 19837768.1, mailed Mar. 1, 2022, 9 pages. [cited by applicant]
International Search Report and Written Opinion as received in PCT/US2019/042807 dated Oct. 2, 2019, 17 pages. [cited by applicant]
U.S. Appl. No. 17/261,458, filed Apr. 27, 2023, Office Action. [cited by applicant]
U.S. Appl. No. 17/261,458, filed Sep. 13, 2023, Office Action. [cited by applicant]
U.S. Appl. No. 17/261,458, filed Nov. 29, 2023, Office Action. [cited by applicant]
U.S. Appl. No. 17/261,458, filed Jan. 29, 2024, Notice of Allowance. [cited by applicant]
Office Action as received in MX application MX/a/2021/000543 dated Jun. 25, 2024. [cited by applicant]