IP Library Granted Patent US 11,113,609
Granted Patent B2
US 11,113,609 · App. 15/479,291 · Granted Sep 7, 2021

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

Inventors: Atanu Roy (Provo, UT); Jianlong Qi (Provo, UT); Peng Jiang (Provo, UT); Aaron Ling (Provo, UT); Rey Furner (Provo, UT); Lei Wu (Provo, UT); Eugene Greenwood (Provo, UT); Ian Stiles (Provo, 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 11,113,609
App. No.
15/479,291
Granted
Sep 7, 2021
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 (53)

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 a plurality of features from both the first tree person and the second tree person to generate a first feature vector and a second feature vector;

after extracting the plurality of features from both the first tree person and the second tree person, calculating a plurality of metrics between the first feature vector and the second feature vector to generate a metric function containing a plurality of values, wherein each of the plurality of metrics corresponds to a similarity between a first feature from the first feature vector and a second feature from the second feature vector that corresponds to the first feature;

generating feature weights having a plurality of values by inputting the plurality of features into a machine-learning model, wherein the machine-learning model is configured to output the feature weights based on receiving an input comprising the plurality of features, wherein, prior to generating the feature weights, the machine-learning model was 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; and

generating a score by calculating a weighted sum of the plurality of values of the metric function being weighted by the plurality of values of the feature weights, wherein the weighted sum is calculated by weighting each of the plurality of values of the metric function by a corresponding value from the plurality of values of the feature weights.

2. The computer-implemented method of claim 1 , wherein the first genealogical tree is different than the second genealogical tree.

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

cleaning the first tree person or the second tree person by correcting one or more errors within data associated with the first tree person or the second tree person.

4. The computer-implemented method of claim 1 , wherein:

each of the plurality of values of the metric function are greater than or equal to 0 and less than or equal to 1;

each of the plurality of values of the feature weights are greater than or equal to 0 and less than or equal to 1; and

the score is greater than or equal to 0 and less than or equal to 1.

5. The computer-implemented method of claim 1 , wherein the feature weights are generated based on a comparison between the first feature vector and the second feature vector and a set of training data previously input by a user.

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

determining that the first tree person and the second tree person correspond to a same individual when the score exceeds a threshold value.

7. The computer-implemented method of claim 6 , wherein the threshold value is equal to 0.9.

8. The computer-implemented method of claim 1 , wherein the plurality of metrics between the first feature vector and the second feature vector includes a cosine similarity calculation and a Jaro-Winkler calculation.

9. The computer-implemented method of claim 1 , wherein both the first feature vector and the second feature vector include 40 different features including a first name, a last name, a birth month, a birth day, a birth year, a death month, a death day, and a death year for each of a tree person, a father of the tree person, a mother of the tree person, a spouse of the tree person, and a child of the tree person.

10. A non-transitory computer readable storage media comprising instructions to cause one or more processors to perform operations 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 a plurality of features from both the first tree person and the second tree person to generate a first feature vector and a second feature vector;

after extracting the plurality of features from both the first tree person and the second tree person, calculating a plurality of metrics between the first feature vector and the second feature vector to generate a metric function containing a plurality of values, wherein each of the plurality of metrics corresponds to a similarity between a first feature from the first feature vector and a second feature from the second feature vector that corresponds to the first feature;

generating feature weights having a plurality of values by inputting the plurality of features into a machine-learning model, wherein the machine-learning model is configured to output the feature weights based on receiving an input comprising the plurality of features, wherein, prior to generating the feature weights, the machine-learning model was 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; and

generating a score by calculating a weighted sum of the plurality of values of the metric function being weighted by the plurality of values of the feature weights, wherein the weighted sum is calculated by weighting each of the plurality of values of the metric function by a corresponding value from the plurality of values of the feature weights.

11. The non-transitory computer readable storage media of claim 10 , wherein the first genealogical tree is different than the second genealogical tree.

12. The non-transitory computer readable storage media of claim 10 , wherein the operations further comprise:

cleaning the first tree person or the second tree person by correcting one or more errors within data associated with the first tree person or the second tree person.

13. The non-transitory computer readable storage media of claim 10 , wherein:

each of the plurality of values of the metric function are greater than or equal to 0 and less than or equal to 1;

each of the plurality of values of the feature weights are greater than or equal to 0 and less than or equal to 1; and

the score is greater than or equal to 0 and less than or equal to 1.

14. The non-transitory computer readable storage media of claim 10 , wherein the feature weights are generated based on a comparison between the first feature vector and the second feature vector and a set of training data previously input by a user.

15. The non-transitory computer readable storage media of claim 10 , wherein the operations further comprise:

determining that the first tree person and the second tree person correspond to a same individual when the score exceeds a threshold value.

16. The non-transitory computer readable storage media of claim 15 , wherein the threshold value is equal to 0.9.

17. The non-transitory computer readable storage media of claim 10 , wherein the plurality of metrics between the first feature vector and the second feature vector includes a cosine similarity calculation and a Jaro-Winkler calculation.

18. The non-transitory computer readable storage media of claim 10 , wherein both the first feature vector and the second feature vector include 40 different features including a first name, a last name, a birth month, a birth day, a birth year, a death month, a death day, and a death year for each of a tree person, a father of the tree person, a mother of the tree person, a spouse of the tree person, and a child of the tree person.

19. A system comprising:

one or more processors; and

one or more computer readable storage mediums comprising instructions to cause the one or more processors to perform operations 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 a plurality of features from both the first tree person and the second tree person to generate a first feature vector and a second feature vector;

after extracting the plurality of features from both the first tree person and the second tree person, calculating a plurality of metrics between the first feature vector and the second feature vector to generate a metric function containing a plurality of values, wherein each of the plurality of metrics corresponds to a similarity between a first feature from the first feature vector and a second feature from the second feature vector that corresponds to the first feature;

generating feature weights having a plurality of values by inputting the plurality of features into a machine-learning model, wherein the machine-learning model is configured to output the feature weights based on receiving an input comprising the plurality of features, wherein, prior to generating the feature weights, the machine-learning model was 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; and

generating a score by calculating a weighted sum of the plurality of values of the metric function being weighted by the plurality of values of the feature weights, wherein the weighted sum is calculated by weighting each of the plurality of values of the metric function by a corresponding value from the plurality of values of the feature weights.

20. The system of claim 19 , wherein the feature weights are generated based on a comparison between the first feature vector and the second feature vector and a set of training data previously input by a user.

Assignments (5)
RELEASE OF FIRST LIEN SECURITY INTEREST Recorded Dec 7, 2020
From: JPMORGAN CHASE BANK, N.A.
To: ANCESTRY.COM OPERATIONS INC.; ANCESTRY.COM DNA, LLC
Reel/Frame 054618/0243 →
SECURITY INTEREST Recorded Dec 7, 2020
From: ANCESTRY.COM DNA, LLC; ANCESTRY.COM OPERATIONS INC.; IARCHIVES, INC.; ANCESTRYHEALTH.COM, LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 054627/0212 →
SECURITY INTEREST Recorded Dec 7, 2020
From: ANCESTRY.COM DNA, LLC; ANCESTRY.COM OPERATIONS INC.; IARCHIVES, INC.; ANCESTRYHEALTH.COM, LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION
Reel/Frame 054627/0237 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 30, 2020
From: ROY, ATANU; QI, JIANLONG; JIANG, PENG; LING, AARON; FURNER, REY; WU, LEI; GREENWOOD, EUGENE; STILES, IAN
To: ANCESTRY.COM OPERATIONS INC.
Reel/Frame 052545/0453 →
FIRST LIEN SECURITY AGREEMENT Recorded Nov 30, 2017
From: ANCESTRY.COM DNA, LLC; ANCESTRY.COM OPERATIONS INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 044552/0538 →
Continuity (4)
Provisional Application 62319299 · Apr 7, 2016
Provisional Application 62393276 · Sep 12, 2016
Provisional Application 62393849 · Sep 13, 2016
Related Publication 20170293861A1 · Oct 12, 2017
Cited By (1)
US 12,229,141