IP Library Granted Patent US 12675773
Granted Patent B2
US 12675773 · App. 17/888,244 · Granted Jul 7, 2026

Systems and methods for maintaining extracted data in a group node profile from electronic activities

Inventors: Oleg Rogynskyy (Menlo Park, CA); Yury Markovsky (San Francisco, CA); Yurii Brunets (Burlingame, CA); Jose Alberto Muniz Navarro (Foster City, CA)
Assignee: People.ai, Inc.
G06Q10/107G06F7/14G06F9/542G06F11/3024G06F11/3452G06F11/3495G06F16/122G06F16/1734G06F16/178G06F16/182G06F16/212G06F16/215G06F16/219G06F16/22G06F16/221G06F16/2228G06F16/2264G06F16/2272G06F16/23G06F16/235G06F16/2358G06F16/2365G06F16/2379G06F16/2386G06F16/245G06F16/24558G06F16/24564G06F16/2457G06F16/24575G06F16/24578G06F16/2477G06F16/254G06F16/256G06F16/26G06F16/27G06F16/273G06F16/28G06F16/285G06F16/288G06F16/289G06F16/29G06F16/313G06F16/337G06F16/355G06F16/901G06F16/9024G06F16/90344G06F16/9035G06F16/906G06F16/9535G06F21/6218G06F21/6245G06F40/20G06F40/237G06F40/295G06N3/08G06N5/025G06N5/04G06N7/02G06Q10/04G06Q10/063114G06Q10/06312G06Q10/06315G06Q10/06393G06Q10/06398G06Q10/109G06Q10/1091G06Q10/1093G06Q50/22G16H50/20H04L41/14H04L43/026H04L43/045H04L43/062H04L43/065H04L43/067H04L43/0876H04L43/14H04L51/046H04L51/212H04L51/234H04L51/42H04L61/45H04L67/125H04L67/30H04L67/303H04L67/306H04L67/535H04M3/436H04M15/755G06F40/205G06N20/00G06Q10/10G16H15/00G16H50/30H04L12/1407H04L43/08H04L2101/00H04L2101/35H04L2101/37H04M3/2218H04M3/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 12675773
App. No.
17/888,244
Granted
Jul 7, 2026
Kind
B2
Abstract

The present disclosure relates to maintaining extracted data in a group node profile from electronic activities. A group node profile associated with a group entity is maintained. A first data point including an electronic activity or a record object is accessed. The first data point is parsed using a value detection policy to obtain a first value. The group node profile is updated based on the first value. An association score between the group node profile and the first value is generated. A second data point is accessed. The second data point is parsed. The association score between the group node profile and the first value is updated.

Claims (77)

1 . A method, comprising:

maintaining, by one or more processors, for a first entity, a first node profile comprising a plurality of node field-value pairs, each of the plurality of node field-value pairs generated using electronic activities from one or more data source providers or record objects of one or more systems of record, the first node profile including a node field having a first value and a first value data structure corresponding to the first value of the node field of the first node profile, the first value having a first confidence score that decreases over time;

accessing, by the one or more processors, a first data point including one of a first electronic activity from the one or more data source providers or a first record object of the one or more systems of record;

parsing, by the one or more processors, the first data point using a value detection policy to identify a second value to be assigned to the node field of the first node profile;

updating, by the one or more processors, responsive to matching the first data point with the first node profile, the first node profile to include the second value and create, in the first node profile, a second value data structure corresponding to the second value of the node field of the first node profile and store, in the second value data structure, a first association between the first data point and the second value data structure;

generating, by the one or more processors, a second confidence score based on the first data point, the second confidence score indicating a likelihood that the second value of the node field included in the first node profile is current, wherein the second confidence score is generated based on a first contribution score, the first contribution score generated for the first data point based on a first timestamp corresponding to when the first electronic activity was transmitted or received or when the first record object was updated, wherein the first contribution score decreases over time;

accessing, by the one or more processors, a second data point including one of a second electronic activity from the one or more data source providers or a second record object of the one or more systems of record;

parsing, by the one or more processors, the second data point using the value detection policy to identify the second value of the node field from the second data point;

storing, by the one or more processors, in the second value data structure corresponding to the second value of the node field of the first node profile, a second association between the second data point and the second value of the node field of the first node profile;

updating, by the one or more processors, the second confidence score of the second value to a third confidence score of the second value of the node field responsive to storing the second association between the second data point and the second value of the node field, the third confidence score greater than the second confidence score, wherein the third confidence score is generated based on i) a second contribution score generated for the second data point based on a second timestamp corresponding to when the second electronic activity was transmitted or received or when the second record object was updated and ii) the first contribution score for the first data point, wherein the second timestamp is subsequent to the first timestamp, wherein the second contribution score decreases over time;

matching, by the one or more processors, a third electronic activity or a third record object of the one or more systems of record to the first node profile using the second value of the node field of the first node profile based on the third confidence score of the second value exceeding the first confidence score of the first value; and

updating, by the one or more processors, one or more second node fields of the first node profile using the third electronic activity or the third record object responsive to matching the third electronic activity or the third record object to the first node profile using the second value of the node field.

2 . The method of claim 1 , wherein the second value data structure includes a first entry identifying the first data point and a second entry identifying the second data point; and wherein storing the second association between the second data point and the second value includes adding the second entry to the second value data structure.

3 . The method of claim 2 , wherein the first entry of the second value data structure is assigned the first contribution score and the second entry of the second value data structure is assigned the second contribution score, the first contribution score and the second contribution score used to determine the third confidence score.

4 . The method of claim 1 , further comprising:

accessing, by the one or more processors, a third data point including one of the third electronic activity from the one or more data source providers or the third record object of the one or more systems of record;

parsing, by the one or more processors, the third data point using the value detection policy to identify the second value to be assigned to the node field of the first node profile;

updating, by the one or more processors, responsive to matching the third data point with the first node profile, the first node profile to include the second value; and

generating, by the one or more processors, a fourth confidence score between the second value and the node field of the first node profile.

5 . The method of claim 1 , wherein the second value corresponds to at least one of a domain name, a phone number, or a location.

6 . The method of claim 1 , further comprising:

accessing, by the one or more processors, a fourth data point including one of a fourth electronic activity from the one or more data source providers or a fourth record object of the one or more systems of record; and

matching, by the one or more processors, the fourth data point to the first node profile based on comparing one or more values of the fourth data point to at least one of the first value or the second value.

7 . The method of claim 4 , further comprising:

detecting, by the one or more processors, an event corresponding to the first entity based on the second confidence score and the third confidence score; and

updating, by the one or more processors, a data structure representing a first system of record of the one or more systems of record corresponding to the first entity using at least one of the second value or the third data point.

8 . The method of claim 1 , wherein parsing the first data point using the value detection policy to identify the second value comprises applying a name entity recognition algorithm to identify a name of an entity related to the first entity and a context determination algorithm to determine a context of the name; and

the method further comprising:

selecting, by the one or more processors based on the context, from a plurality of types of values, the name to be a first type of the plurality of types of values; and

assigning, by the one or more processors, to the first node profile, the name as the one of a first type of value or a second type of value based on the context.

9 . The method of claim 1 , wherein parsing the first data point using the value detection policy to identify the second value comprises applying a keyword detection algorithm to the first data point to identify the second value based on one or more keywords.

10 . The method of claim 1 , further comprising:

updating, by the one or more processors, a data structure representing a first system of record of the one or more systems of record corresponding to the first record object using the second data point.

11 . A system, comprising:

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

maintain, for a first entity, a first node profile comprising a plurality of node field-value pairs, each of the plurality of node field-value pairs generated using electronic activities from one or more data source providers or record objects of one or more systems of record, the first node profile including a node field having a first value and a first value data structure corresponding to the first value of the node field of the first node profile, the first value having a first confidence score that decreases over time;

access a first data point including one of a first electronic activity from the one or more data source providers or a first record object of the one or more systems of record;

parse the first data point using a value detection policy to identify a second value to be assigned to the node field of the first node profile;

update, responsive to matching the first data point with the first node profile, the first node profile to include the second value and create, in the first node profile, a second value data structure corresponding to the second value of the node field of the first node profile and store, in the second value data structure, a first association between the first data point and the second value data structure;

generate a second confidence score based on the first data point, the second confidence score indicating a likelihood that the second value of the node field included in the first node profile is current, wherein the second confidence score is generated based on a first contribution score, the first contribution score generated for the first data point based on a first timestamp corresponding to when the first electronic activity was transmitted or received or when the first record object was updated, wherein the first contribution score decreases over time;

access a second data point including one of a second electronic activity from the one or more data source providers or a second record object of the one or more systems of record;

parse the second data point using the value detection policy to identify the second value of the node field from the second data point;

store, in the second value data structure corresponding to the second value of the node field of the first node profile, a second association between the second data point and the second value of the node field of the first node profile;

update the second confidence score of the second value to a third confidence score of the second value of the node field responsive to storing the second association between the second data point and the second value of the node field, the third confidence score greater than the second confidence score, wherein the third confidence score is generated based on i) a second contribution score generated for the second data point based on a second timestamp corresponding to when the second electronic activity was transmitted or received or when the second record object was updated and ii) the first contribution score for the first data point, wherein the second timestamp is subsequent to the first timestamp, wherein the second contribution score decreases over time;

match a third electronic activity or a third record object of the one or more systems of record to the first node profile using the second value of the node field of the first node profile based on the third confidence score of the second value exceeding the first confidence score of the first value; and

update one or more second node fields of the first node profile using the third electronic activity or the third record object responsive to matching the third electronic activity or the third record object to the first node profile using the second value of the node field.

12 . The system of claim 11 , wherein the second value data structure includes a first entry identifying the first data point and a second entry identifying the second data point; and wherein to store the second association between the second data point and the second value, the one or more processors are further configured to add the second entry to the second value data structure.

13 . The system of claim 12 , wherein the first entry of the second value data structure is assigned the first contribution score and the second entry of the second value data structure is assigned the second contribution score, the first contribution score and the second contribution score used to determine the third confidence score.

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

access a third data point including one of the third electronic activity from the one or more data source providers or the third record object of the one or more systems of record;

parse the third data point using the value detection policy to identify the second value to be assigned to the node field of the first node profile;

update, responsive to matching the third data point with the first node profile, the first node profile to include the second value; and

generate a fourth confidence score between the second value and the node field of the first node profile.

15 . The system of claim 11 , wherein the second value corresponds to at least one of a domain name, a phone number, or a location.

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

access a fourth data point including one of a fourth electronic activity from the one or more data source providers or a fourth record object of the one or more systems of record; and

match the fourth data point to the first node profile based on comparing one or more values of the fourth data point to at least one of the first value or the second value.

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

detect an event corresponding to the first entity based on the second confidence score and the third confidence score; and

update a data structure representing a first system of record of the one or more systems of record corresponding to the first entity using at least one of the second value or the third data point.

18 . The system of claim 11 , wherein the one or more processors are configured to parse the first data point using the value detection policy to identify the second value by applying a name entity recognition algorithm to identify a name of an entity related to the first entity and a context determination algorithm to determine a context of the name; and

the one or more processors are further configured to:

select, based on the context, from a plurality of types of values, the name to be a first type of the plurality of types of values; and

assign, to the first node profile, the name as the one of a first type of value or a second type of value based on the context.

19 . The system of claim 11 , wherein the one or more processors are configured to parse the first data point using the value detection policy to identify the second value by applying a keyword detection algorithm to the first data point to identify the second value based on one or more keywords.

20 . A non-transitory computer-readable storage medium having instructions embodied thereon, the instructions being executable by one or more processors to perform a method comprising:

maintaining, for a first entity, a first node profile comprising a plurality of node field-value pairs, each of the plurality of node field-value pairs generated using electronic activities from one or more data source providers or record objects of one or more systems of record, the first node profile including a node field having a first value and a first value data structure corresponding to the first value of the node field of the first node profile, the first value having a first confidence score that decreases over time;

accessing a first data point including one of a first electronic activity from the one or more data source providers or a first record object of the one or more systems of record;

parsing the first data point using a value detection policy to identify a second value to be assigned to the node field of the first node profile;

updating, responsive to matching the first data point with the first node profile, the first node profile to include the second value and create, in the first node profile, a second value data structure corresponding to the second value of the node field of the first node profile and store, in the second value data structure, a first association between the first data point and the second value data structure;

generating a second confidence score based on the first data point, the second confidence score indicating a likelihood that the second value of the node field included in the first node profile is current, wherein the second confidence score is generated based on a first contribution score, the first contribution score generated for the first data point based on a first timestamp corresponding to when the first electronic activity was transmitted or received or when the first record object was updated, wherein the first contribution score decreases over time;

accessing a second data point including one of a second electronic activity from the one or more data source providers or a second record object of the one or more systems of record;

parsing the second data point using the value detection policy to identify the second value of the node field from the second data point;

storing, in the second value data structure corresponding to the second value of the node field of the first node profile, a second association between the second data point and the second value of the node field of the first node profile;

updating the second confidence score of the second value to a third confidence score of the second value of the node field responsive to storing the second association between the second data point and the second value of the node field, the third confidence score greater than the second confidence score, wherein the third confidence score is generated based on i) a second contribution score generated for the second data point based on a second timestamp corresponding to when the second electronic activity was transmitted or received or when the second record object was updated and ii) the first contribution score for the first data point, wherein the second timestamp is subsequent to the first timestamp, wherein the second contribution score decreases over time;

matching a third electronic activity or a third record object of the one or more systems of record to the first node profile using the second value of the node field of the first node profile based on the third confidence score of the second value exceeding the first confidence score of the first value; and

updating one or more second node fields of the first node profile using the third electronic activity or the third record object responsive to matching the third electronic activity or the third record object to the first node profile using the second value of the node field.