IP Library Granted Patent US 10,878,015
Granted Patent B2
US 10,878,015 · App. 16/398,150 · Granted Dec 29, 2020

Systems and methods for generating group node profiles based on member nodes

Inventors: Oleg Rogynskyy (Menlo Park, CA); Yurii Brunets (San Francisco, CA); Stefan Hermanek (San Francisco, CA); Yury Markovsky (San Francisco, CA)
Assignee: People.ai, Inc.
G06F16/337G06F7/14G06F11/3024G06F11/3452G06F11/3495G06F16/122G06F16/178G06F16/1734G06F16/212G06F16/215G06F16/219G06F16/22G06F16/221G06F16/2228G06F16/2264G06F16/2272G06F16/23G06F16/235G06F16/2365G06F16/2379G06F16/2386G06F16/245G06F16/2457G06F16/2477G06F16/24558G06F16/24564G06F16/24575G06F16/24578G06F16/254G06F16/256G06F16/26G06F16/27G06F16/273G06F16/28G06F16/285G06F16/288G06F16/289G06F16/29G06F16/355G06F16/901G06F16/906G06F16/9024G06F16/9035G06F16/90344G06F16/9535G06F21/6218G06F40/20G06F40/205G06F40/295G06N3/08G06N5/04G06N7/02G06N20/00G06Q10/04G06Q10/06312G06Q10/06393G06Q10/06398G06Q10/107G06Q10/1091G06Q10/1095G06Q50/22G16H50/20H04L41/14H04L43/026H04L43/045H04L43/062H04L43/065H04L43/067H04L43/0876H04L43/14H04L51/046H04L51/22H04L51/34H04L61/15H04L67/125H04L67/22H04L67/30H04L67/306H04M3/436H04M15/755G06Q10/10H04L61/307H04M3/56
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 10,878,015
App. No.
16/398,150
Filed
Apr 29, 2019
Granted
Dec 29, 2020
Kind
B2
Art Unit
2166
USPC
707/798
Abstract

The present disclosure relates to a method for generating a group node profile based on member nodes. Member node profiles may be maintained. A subset of member node profiles may be identified. Each member node profile of the subset may correspond to a group entity. A set of member node fields to populate values for a group node profile of the group entity may be identified. A corresponding group node field of the group node profile may be updated in accordance with a group node population policy. A field value of the member node field to the group node field may be added. An entry to a value data structure of the field value of the group node field may be added.

Claims (62)

1. A method, comprising:

maintaining, by one or more processors, a plurality of member node profiles corresponding to a plurality of member entities, each member node profile having a plurality of member node fields, each member node field having one or more field values extracted from at least one of an electronic activity or at least one record object of a plurality of systems of record;

identifying, by the one or more processors, from the plurality of member node profiles, a subset of member node profiles, each member node profile of the subset corresponding to a group entity;

identifying, by the one or more processors, from the plurality of member node fields of each member node profile of the subset, a set of member node fields to populate values for corresponding group node fields of a group node profile of the group entity;

maintaining, by the one or more processors, for each field value of each member node field, a confidence score indicating a likelihood that the field value is accurate;

for each member node field of the set of member node fields,

i) determining, by the one or more processors, that the respective confidence score of a corresponding field value of the member node field of the member node profile satisfies a threshold score by comparing the confidence score of the field value of the member node field to the threshold score; and

ii) updating, by the one or more processors, in accordance with a group node population policy and responsive to the confidence score of the field value of the member node field satisfying the threshold score, a group node field of the group node profile corresponding to the member node field by adding at least one of the field value of the member node field as a new value to the group node field or adding an entry to a value data structure of the field value of the group node field; and

determining, by the one or more processors, for each field value of each group node field of the group node profile, a respective confidence score for the field value based on one or more confidence scores of the corresponding field values of the set of member node fields.

2. The method of claim 1 , wherein each member node profile of the subset corresponding to the group entity includes at least one field-value pair matching a field-value pair of other member node profiles in the subset.

3. The method of claim 1 , wherein each member node profile of the subset corresponding to the group entity includes at least one field-value pair matching a field-value pair of a predetermined portion of field-value pairs of other member node profiles in the subset.

4. The method of claim 1 , wherein identifying the set of member node fields further comprises identifying the set of member node fields corresponding to predetermined member node fields in accordance with the group node population policy, the group node population policy specifying the predetermined member node fields.

5. The method of claim 1 , wherein the threshold score is predetermined in accordance to the group node population policy, the group node population policy specifying a plurality of threshold scores for the plurality of corresponding member node fields.

6. The method of claim 1 , wherein the confidence score of the field value of each member node field is generated based on a number of data points included in the field value of each member node field.

7. A method, comprising:

maintaining, by one or more processors, a plurality of member node profiles corresponding to a plurality of member entities, each member node profile having a plurality of member node fields, each member node field having one or more field values extracted from at least one of an electronic activity or at least one record object of a plurality of systems of record;

identifying, by the one or more processors, from the plurality of member node profiles, a subset of first member node profiles, each first member node profile of the subset corresponding to a group entity;

identifying, by the one or more processors, from the plurality of member node fields of each first member node profile of the subset, a set of member node fields to populate field values for corresponding group node fields of a group node profile of the group entity;

for each member node field of the set of member node fields of each first member node profile; updating, by the one or more processors, in accordance with a group node population policy, a corresponding group node field of the group node profile by adding at least one of a field value of the member node field to the group node field or an entry to a value data structure of the field value of the group node field;

determining, by the one or more processors, for the field value of the group node field of the group node profile, a respective confidence score for the field value based on one or more confidence scores of the corresponding field values of the set of member node fields;

identifying by the one or more processors, a second member node profile corresponding to the group node profile;

determining, by the one or more processors, to populate, a member node field of the second member node profile by determining that the member node field of the second node profile is either i) missing a field value, or ii) includes a field value different from the field value of the corresponding group node field in the group node profile; and

updating, by the one or more processors, the member node field of the second member node profile to include as a value, the field value of the corresponding group node field in the group node profile.

8. A method, comprising:

maintaining, by one or more processors, a plurality of member node profiles corresponding to a plurality of member entities, each member node profile having a plurality of member node fields, each member node field having one or more field values extracted from at least one of an electronic activity or at least one record object of a plurality of systems of record;

identifying, by the one or more processors, from the plurality of member node profiles, a subset of member node profiles, each member node profile of the subset corresponding to a group entity;

identifying, by the one or more processors, from the plurality of member node fields of each member node profile of the subset, a set of member node fields to populate values for a group node profile of the group entity;

for each member node field of the set of member node fields of each member node profile, updating, by the one or more processors, in accordance with a group node population policy, a corresponding group node field of the group node profile by adding at least one of a field value of the member node field to the group node field or an entry to a value data structure of the field value of the group node field;

identifying, by the one or more processors, a particular electronic activity that is the electronic activity or a second electronic activity transmitted or received from an electronic account identifier of a particular member node profile of the plurality of member node profiles;

determining, by the one or more processors, that the particular electronic activity is associated with at least one member node profile of the subset of member node profiles corresponding to the group entity;

extracting, by the one or more processors, responsive to parsing the particular electronic activity, a second field value from the particular electronic activity;

matching, by the one or more processors, the particular electronic activity to a member node profile of the subset of member node profiles;

updating, by the one or more processors, the group node profile by adding the second field value as a value of the corresponding group node field based on matching the particular electronic activity to the member node profile; and

determining, by the one or more processors, for the value of the corresponding group node field, a respective confidence score for the value of the corresponding group node field based on (i) a first confidence score indicating that the at least one of the field value of the member node field or the entry is accurate and (ii) a second confidence score indicating that the second field value is accurate.

9. The method of claim 1 , further comprising:

determining, by the one or more processors, that the electronic activity or a second electronic activity is associated with a first member node profile of the subset of member node profiles corresponding to the group entity and a second member node profile of a second subset of member node profiles corresponding to a second group entity; and

establishing, by the one or more processors, a connection between the group node profile of the group entity and a second group node profile of the second group entity in a node graph responsive to determining that the electronic activity or a second electronic activity is associated with the first member node profile and the second member node profile.

10. A system, comprising:

one or more processors configured by machine-readable instructions to:

maintain a plurality of member node profiles corresponding a plurality of member entities, each member node profile having a plurality of member node fields, each member node field having one or more field values extracted from at least one of an electronic activity or at least one record object of a plurality of systems of record;

identify from the plurality of member node profiles, a subset of member node profiles, each member node profile of the subset corresponding to a group entity;

identify from the plurality of member node fields of each member node profile of the subset, a set of member node fields to populate values for corresponding group node fields of a group node profile of the group entity;

maintain for each field value of each member node field, a confidence score indicating a likelihood that the field value is accurate;

for each member node field of the set of member node fields,

i) determine that the respective confidence score of a corresponding field value of the member node field of the member node profile satisfies a threshold score by comparing the confidence score of the field value of the member node field to the threshold score; and

ii) update in accordance with a group node population policy and responsive to the confidence score of the field value of the member node field satisfying the threshold score, a group node field of the group node profile corresponding to the member node field by adding at least one of the field value of the member node field as a new value to the group node field or adding an entry to a value data structure of the field value of the group node field; and

determine, for each field value of each group node field of the group node profile, a respective confidence score for the field value based on one or more confidence scores of the corresponding field values of the set of member node fields.

11. The system of claim 10 , wherein each member node profile of the subset corresponding to the group entity includes at least one field-value pair matching a field-value pair of other member node profiles in the subset.

12. The system of claim 10 , wherein each member node profile of the subset corresponding to the group entity includes at least one field-value pair matching a field-value pair of a predetermined portion of field-value pairs of other member node profiles in the subset.

13. The system of claim 10 , wherein the one or more processors are further configured to:

identify the set of member node fields corresponding to predetermined member node fields in accordance with the group node population policy, the group node population policy specifying the predetermined member node fields.

14. The system of claim 10 , wherein the threshold score is predetermined in accordance to the group node population policy, the group node population policy specifying a plurality of threshold scores for the plurality of corresponding member node fields.

15. The system of claim 10 , wherein the confidence score of the field value is generated based on a number of data points included in the field value.

16. A non-transitory computer-readable storage medium having instructions embodied thereon, the instructions being executable by one or more processors to cause the one or more processors to:

maintain a plurality of member node profiles corresponding a plurality of member entities, each member node profile having a plurality of member node fields, each member node field having one or more field values extracted from at least one of an electronic activity or at least one record object of a plurality of systems of record;

identify from the plurality of member node profiles, a subset of member node profiles, each member node profile of the subset corresponding to a group entity;

identify from the plurality of member node fields of each member node profile of the subset, a set of member node fields to populate values for corresponding group node fields of a group node profile of the group entity;

maintain for each field value of each member node field, a confidence score indicating a likelihood that the field value is accurate;

for each member node field of the set of member node fields,

i) determine that the respective confidence score of a corresponding field value of the member node field of the member node profile satisfies a threshold score by comparing the confidence score of the field value of the member node field to the threshold score; and

ii) update in accordance with a group node population policy and responsive to the confidence score of the field value of the member node field satisfying the threshold score, a group node field of the group node profile corresponding to the member node field by adding at least one of the field value of the member node field as a new value to the group node field or adding an entry to a value data structure of the field value of the group node field; and

determine, for each field value of each group node field of the group node profile, a respective confidence score for the field value based on one or more confidence scores of the corresponding field values of the set of member node fields.

Assignments (2)
SECURITY INTEREST Recorded Jan 19, 2023
From: PEOPLE.AI, INC.
To: BANK OF MONTREAL, AS ADMINISTRATIVE AGENT
Reel/Frame 062435/0828 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 31, 2019
From: ROGYNSKYY, OLEG; BRUNETS, YURII; HERMANEK, STEFAN; MARKOVSKY, YURY
To: PEOPLE.AI, INC.
Reel/Frame 049331/0661 →
Continuity (4)
Provisional Application 62676187 · May 24, 2018
Provisional Application 62725999 · Aug 31, 2018
Provisional Application 62747452 · Oct 18, 2018
Related Publication 20190361940A1 · Nov 28, 2019