IP Library › Granted Patent US 12,265,544
Granted Patent B2
US 12,265,544 · App. 17/831,439 · Granted Apr 1, 2025

Domain knowledge guided selection of nodes for addition to data trees

Inventors: Xiaoxuan Zhang (San Francisco, CA); Sijia Zhang (San Francisco, CA); Yen-Yun Yu (Murray, UT)
Assignee: Ancestry.com Operations Inc.
G06F16/24578G06N20/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,265,544
App. No.
17/831,439
Granted
Apr 1, 2025
Kind
B2
Abstract

A computing server may continuously update a set of nodes that are addable to a data tree based on past interactions of the user with one or more nodes. The computing server may track a recently interacted set of interacted nodes with which the user has interacted within a number of past interactions. The computing server may select a pool of candidate nodes based on the recently interacted set. At least one of the candidate nodes is within a domain boundary of one of the interacted nodes that is in the recently interacted set. The domain boundary may be determined by the degree of relationship. The computing server may present one or more candidate nodes in the pool as a version of the continuously updated set of nodes. The computing server may update the pool of candidate nodes as additional interactions performed by the user updates the recently interacted set.

Claims (60)

1. A computer-implemented method for continuously updating a set of nodes addable to a family tree, the computer-implemented method comprising:

generating for display, in a graphical user interface, an initial set of nodes that are addable to the family tree associated with a user;

receiving one or more selections from the user to interact with one or more genealogy nodes from the user interacting with the graphical user interface, a genealogy node corresponding to a genealogy data entry that is addable to the family tree; and

generating a continuously updated set of nodes for display in the graphical user interface, the continuously updated set of nodes being recommendations of genealogy data entries based on user interactions of genealogy data series as the family tree is displayed to the user, wherein the continuously updated set of nodes is updated based on past interactions of the user with one or more nodes, wherein generating the continuously updated set of nodes comprises:

tracking one or more last user interactions of the user performed at the graphical user interface;

updating, based on the one or more last user interactions performed at the graphical user interface, a recently interacted set of one or more interacted nodes with which the user has interacted within a number of past interactions;

selecting a pool of candidate nodes based on the recently interacted set, wherein at least one of the candidate nodes is within a domain boundary of one of the interacted nodes that is in the recently interacted set, and the domain boundary is defined at least based on a degree of kinship between a candidate node and an interacted node defined in a second family tree,

wherein selecting the pool of candidate nodes based on the recently interacted set is performed by a reinforcement machine learning model, selecting the pool of candidate nodes comprising:

collecting a plurality of candidate nodes that are within the domain boundary of at least one of the interacted nodes in the recently interacted set;

inputting a first set of features associated with the user to the reinforcement machine learning model, wherein the first set of features comprises user-level features and genealogical tree-level features;

inputting a second set of features representing the plurality of candidate nodes to the reinforcement machine learning model;

ranking the candidate nodes using the reinforcement machine learning model based on the first and second sets of features; and

selecting one or more candidate nodes of the plurality of candidate nodes as the pool of candidate nodes based on the ranking;

presenting, at the user interface and responsive to the one or more last user interactions performed at the graphical user interface, one or more candidate nodes of the pool of candidate nodes as a version of the continuously updated set of nodes; and

updating the pool of candidate nodes to be displayed in the graphical user interface as additional interactions that are performed by the user at the graphical user interface updates the recently interacted set.

2. The computer-implemented method of claim 1 , wherein the reinforcement model is associated with a reward, state features, and action features.

3. The computer-implemented method of claim 2 , wherein the reward is associated with a success rate for nodes in the continuously updated set of nodes to be added to the family tree, the state features comprise a feature of the user, and the action features comprise a feature of a node.

4. The computer-implemented method of claim 1 , wherein generating a continuously updated set of nodes is further based on one or more relevancy features, a relevancy feature measuring a rate of an action taken by the user on a node.

5. The computer-implemented method of claim 1 , wherein generating a continuously updated set of nodes is further based on one or more success rate features, a success rate feature measuring a rate of whether the user adds a node to the family tree.

6. The computer-implemented method of claim 1 , wherein the family tree is associated with the user and a node is a genealogical record representing an individual.

7. The computer-implemented method of claim 1 , wherein the domain boundary is a boundary based on a degree of relationship between two nodes.

8. The computer-implemented method of claim 1 , wherein the user's interactions with one or more nodes comprising one or more of the following:

clicking the node to review additional data, saving the node, printing the node, adding the node to the family tree associated with the user, and/or comparing the node with another node.

9. The computer-implemented method of claim 1 , wherein the number of past interactions is predetermined.

10. The computer-implemented method of claim 1 , wherein the reinforcement machine learning model is trained to improve a reward state by performing backpropagation using gradient descent.

11. The computer-implemented method of claim 2 , wherein the reinforcement machine learning model assigns a higher reward score to a save user event than to a no-save user event.

12. The computer-implemented method of claim 1 , wherein the degree of kinship comprises one or more of: a number of genealogical generations between the interacted node and the candidate node, a direct-line genealogical relationship between the interacted node and the candidate node, and two steps of genealogical separation between the interacted node and the candidate node.

13. The computer-implemented method of claim 1 , wherein the reinforcement machine learning model is trained based on historical interactions of users.

14. A system for continuously updating a set of nodes addable to a family tree, the system comprising:

a graphical user interface configured to display a continuously updated set of nodes; and

a computing device in communication with the graphical user interface, the computing device comprising memory and one or more processors, the memory configured to store code comprising instructions, the instructions, when executed by the one or more processors, cause the one or more processors to perform steps comprising:

generating for display, in the graphical user interface, an initial set of nodes that are addable to the family tree associated with a user;

receiving one or more selections of one or more genealogy nodes from the user interacting with the graphical user interface, a genealogy node corresponding to a genealogy data entry that is addable to the family tree; and

generating the continuously updated set of nodes for display in the graphical user interface, the continuously updated set of nodes being recommendations of genealogy data entries based on user interactions of genealogy data series as the family tree is displayed to the user, wherein the continuously updated set of nodes is updated based on past interactions of the user with one or more nodes, wherein generating the continuously updated set of nodes comprises:

tracking one or more last user interactions of the user performed at the graphical user interface;

updating, based on the one or more last user interactions performed at the graphical user interface, a recently interacted set of one or more interacted nodes with which the user has interacted within a number of past interactions; and

selecting a pool of candidate nodes based on the recently interacted set, wherein at least one of the candidate nodes is within a domain boundary of one of the interacted nodes that is in the recently interacted set, and the domain boundary is at least based on a degree of kinship between a candidate node and an interacted node defined in a second family tree, wherein selecting the pool of candidate nodes based on the recently interacted set is performed by a reinforcement machine learning model, selecting the pool of candidate nodes comprising:

collecting a plurality of candidate nodes that are within the domain boundary of at least one of the interacted nodes in the recently interacted set;

inputting a first set of features associated with the user to the reinforcement machine learning model, wherein the first set of features comprises user-level features and genealogical tree-level features;

inputting a second set of features representing the plurality of candidate nodes to the reinforcement machine learning model;

ranking the candidate nodes using the reinforcement machine learning model based on the first and second sets of features; and

selecting one or more candidate nodes of the plurality of candidate nodes as the pool of candidate nodes based on the ranking;

presenting at the graphical user interface and responsive to the one or more last user interactions performed at the graphical user interface, one or more candidate nodes of the pool of candidate nodes as a version of the continuously updated set of nodes; and

updating the pool of candidate nodes to be displayed in the graphical user interface as additional interactions that are performed by the user at the graphical user interface updates the recently interacted set.

15. The system of claim 14 , wherein the reinforcement model is associated with a reward, state features, and action features.

16. The system of claim 15 , wherein the reward is associated with a success rate for nodes in the continuously updated set of nodes to be added to the family tree, the state features comprise a feature of the user, and the action features comprise a feature of a node.

17. A non-transitory computer-readable medium configured to store code comprising instructions, the instructions, when executed by one or more processors, cause the one or more processors to perform steps comprising:

generating for display, in the graphical user interface, an initial set of nodes that are addable to the family tree associated with a user;

receiving one or more selections of one or more genealogy nodes from the user interacting with the graphical user interface, a genealogy node corresponding to a genealogy data entry that is addable to the family tree; and

generating the continuously updated set of nodes for display in the graphical user interface, the continuously updated set of nodes being recommendations of genealogy data entries based on user interactions of genealogy data series as the family tree is displayed to the user, wherein the continuously updated set of nodes is updated based on a predetermined number of past interactions of the user with one or more nodes, wherein generating the continuously updated set of nodes comprises:

tracking one or more last user interactions of the user performed at the graphical user interface;

updating, based on the last user interactions performed at the graphical user interface, a recently interacted set of one or more interacted nodes with which the user has interacted within a number of past interactions; and

selecting a pool of candidate nodes based on the recently interacted set, wherein at least one of the candidate nodes is within a domain boundary of one of the interacted nodes that is in the recently interacted set, and the domain boundary is at least based on a degree of kinship between a candidate node and an interacted node defined in a second family tree, wherein selecting the pool of candidate nodes based on the recently interacted set is performed by a reinforcement machine learning model, selecting the pool of candidate nodes comprising:

collecting a plurality of candidate nodes that are within the domain boundary of at least one of the interacted nodes in the recently interacted set;

inputting a first set of features associated with the user to the reinforcement machine learning model, wherein the first set of features comprises user-level features and genealogical tree-level features;

inputting a second set of features representing the plurality of candidate nodes to the reinforcement machine learning model;

ranking the candidate nodes using the reinforcement machine learning model based on the first and second sets of features; and

selecting one or more candidate nodes of the plurality of candidate nodes as the pool of candidate nodes based on the ranking;

presenting at the graphical user interface and responsive to the one or more last user interactions performed at the graphical user interface, one or more candidate nodes of the pool of candidate nodes as a version of the continuously updated set of nodes; and

updating the pool of candidate nodes to be displayed in the graphical user interface as additional interactions that are performed by the user at the graphical user interface updates the recently interacted set.

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 Aug 25, 2022
From: ZHANG, XIAOXUAN; ZHANG, SIJIA; YU, YEN-YUN
To: ANCESTRY.COM OPERATIONS INC.
Reel/Frame 060905/0022 →
Continuity (3)
Continuation PCTIB2022054655 · May 19, 2022
Provisional Application 63191192 · May 20, 2021
Related Publication 20220382770A1 · Dec 1, 2022
References Cited (11)
US 20110246401A1 · Arora · 2011 [cited by applicant]
US 20130318047A1 · Hale et al. · 2013 [cited by applicant]
US 20150046436A1 · Li · 2015 [cited by examiner]
US 20170358302A1 · Orr · 2017 [cited by examiner]
US 20180268467A1 · Labarre · 2018 [cited by examiner]
US 20190251603A1 · Jaatinen · 2019 [cited by examiner]
US 20210064812A1 · Walkingshaw · 2021 [cited by examiner]
US 20210073657A1 · Neelamegam Vetharaman · 2021 [cited by examiner]
US 20210201199A1 · Neumann · 2021 [cited by examiner]
WO WO2021011105A1 · 2021 [cited by applicant]
PCT International Search Report and Written Opinion, PCT Application No. PCT/IB2022/054655, Aug. 25, 2022, ten pages. [cited by applicant]