IP Library Granted Patent US 10,489,462
Granted Patent B1
US 10,489,462 · App. 16/398,153 · Granted Nov 26, 2019

Systems and methods for updating labels assigned to electronic activities

Inventors: Oleg Rogynskyy (Menlo Park, CA); John Wulf (San Francisco, CA); Sathya Hariesh Prakash (San Francisco, CA); Yurii Brunets (Burlingame, CA); Rajit Kurien Joseph (San Francisco, CA)
Assignee: People.ai, Inc.
G06F16/9035G06F16/9024H04L51/046H04L67/22H04L67/306
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,489,462
App. No.
16/398,153
Filed
Apr 29, 2019
Granted
Nov 26, 2019
Kind
B1
Art Unit
2163
USPC
707/798
Abstract

The present disclosure relates to a method for updating labels assigned to electronic activities. The method includes accessing electronic activities transmitted or received via electronic accounts associated with data source providers. The node profiles can be updated using the electronic activities. The method includes matching one of the electronic activities to participant node profiles, each corresponds to one of the electronic accounts via which the electronic activity is transmitted or received. The method includes assigning tags to the electronic activity based on the participant node profiles. The method includes detecting a change to the participant node profiles. The method includes determining whether to update the tags assigned to the electronic activity based on the detected change to the participant node profile. The method includes modifying the tag assigned to the electronic activity responsive to determining to update the tag in accordance with the detected change.

Claims (82)

1. A method, comprising:

accessing, by one or more processors, data from a plurality of electronic activities transmitted or received via electronic accounts associated with a plurality of data source providers, the one or more processors maintaining a plurality of node profiles and configured to update the plurality of node profiles using the plurality of electronic activities, each node profile of the plurality of node profiles including one or more field-value pairs, each field-value pair of the node profile associated with a corresponding field and a field value;

matching, by the one or more processors, a first electronic activity of the plurality of electronic activities to one or more participant node profiles of the plurality of node profiles, each participant node profile corresponding to a respective one of the electronic accounts via which the electronic activity is transmitted or received;

assigning, by the one or more processors, one or more tags to the first electronic activity based on at least one participant node profile of the one or more participant node profiles matched to the first electronic activity;

accessing, by the one or more processors, data from a second electronic activity transmitted or received via one or more of the electronic accounts associated with at least one of the plurality of data source providers;

matching, by the one or more processors, the second electronic activity to the at least one participant node profile;

causing, by the one or more processors, a change to the at least one participant node profile responsive to matching the second electronic activity to the at least one participant node profile, the change to the at least one participant node profile including at least one of i) an addition of a value of a field of the at least one participant node profile, ii) an addition of an indication of an electronic activity to a value data structure of the value of the field of the at least one participant node profile, or iii) a change to a connection profile between the at least one participant node profile and a second node profile;

detecting, by the one or more processors, the change to the at least one participant node profile;

determining, by the one or more processors, whether to assign a second tag to the first electronic activity responsive to determining that a first confidence score of the value satisfies a first threshold score or remove at least one tag of the one or more tags assigned to the first electronic activity responsive to determining that the first confidence score of the value no longer satisfies the first threshold score or a second confidence score of the at least one tag no longer satisfies a second threshold score; and

assigning, by the one or more processors, the second tag to the first electronic activity responsive to determining that the first confidence score of the value satisfies the first threshold score; or

removing, by the one or more processors, the at least one tag assigned to the first electronic activity responsive to determining that the first confidence score no longer satisfies the first threshold score or a second confidence score of the at least one tag no longer satisfies a second threshold score.

2. The method of claim 1 , further comprising:

determining a connection type between a first participant node profile and a second participant node profile of the participant node profiles;

wherein assigning further comprises assigning the one or more tags to the first electronic activity based on the determined connection type; and

wherein detecting the change further comprises detecting the change to the connection type between the first participant node profile and the second participant node profile of the first electronic activity.

3. The method of claim 1 , wherein accessing the plurality of node profiles further comprises accessing the plurality of node profiles representing a plurality of nodes in a node graph, the node graph comprising the plurality of nodes linked to one another via a plurality of edges, each edge of the node graph specifying a relationship between a pair of the plurality of nodes;

wherein detecting the change further comprises detecting the change including an addition of a new relationship between at least one pair of the participant nodes specified by at least one edge of the node graph; and

wherein assigning the second tag or removing the at least one tag further comprises assigning the second tag or removing the at least one tag based on the addition of the existing relationship between the at least one pair of the participant node profiles in the node graph.

4. The method of claim 1 ,

wherein detecting the change further comprises detecting the change including an addition of a new node field-value pair to the one or more node field-value pairs of the at least one participant node profile; and

wherein modifying the at least one tag further comprises modifying the at least one tag assigned to the first electronic activity based on the addition of the new node field-value pair to the one or more node field-value pairs of the at least one participant node profile.

5. The method of claim 1 , further comprising:

identifying, by the one or more processors responsive to detecting the change to the at least one participant node profile, the first electronic activity that is matched with the at least one participant node profile corresponding to one of the electronic accounts; and

identifying, by the one or more processors, the one or more tags assigned to the first electronic activity; and

wherein determining whether to update the at least one tag further comprises determining whether to update the at least one tag based on the change to the at least one participant node profile.

6. The method of claim 1 , wherein the change to the at least one participant node profile includes an addition of the value of the field of the participant node profile or an addition of an indication of the first electronic activity to the value data structure of the value of the field of the participant node profile.

7. The method of claim 1 , further comprising

identifying, by the one or more processors, from the plurality of electronic activities, a subset of electronic activities assigned with the at least one tag generated using the field-value pair of the at least one participant node profile; and

wherein removing further comprises removing the at least one tag assigned to the subset of electronic activities.

8. A system, comprising:

one or more processors coupled to memory, configured to:

access data from a plurality of electronic activities transmitted or received via electronic accounts associated with a plurality of data source providers, the one or more processors maintaining a plurality of node profiles and configured to update the plurality of node profiles using the plurality of electronic activities, each node profile of the plurality of node profiles including one or more field-value pairs, each field-value pair of the node profile associated with a corresponding field and a field value;

match, by the one or more processors, a first electronic activity of the plurality of electronic activities to one or more participant node profiles of the plurality of node profiles, each participant node profile corresponding to a respective one of the electronic accounts via which the electronic activity is transmitted or received;

assign one or more tags to the first electronic activity based on at least one participant node profile of the one or more participant node profiles matched to the first electronic activity;

access data from a second electronic activity transmitted or received via one or more of the electronic accounts associated with at least one of the plurality of data source providers;

match the second electronic activity to the at least one participant node profile;

cause a change to the at least one participant node profile responsive to matching the second electronic activity to the at least one participant node profile, the change to the at least one participant node profile including at least one of i) an addition of a value of a field of the at least one participant node profile, ii) an addition of an indication of an electronic activity to a value data structure of the value of the field of the at least one participant node profile, or iii) a change to a connection profile between the at least one participant node profile and a second node profile;

detect the change to the at least one participant node profile;

determine whether to assign a second tag to the first electronic activity responsive to determining that a first confidence score of the value satisfies a first threshold score or remove at least one tag of the one or more tags assigned to the first electronic activity responsive to determining that the first confidence score of the value no longer satisfies the first threshold score or a second confidence score of the at least one tag no longer satisfies a second threshold score; and

assign the second tag to the first electronic activity responsive to determining that the first confidence score of the value satisfies the first threshold score; or

remove the at least one tag assigned to the first electronic activity responsive to determining that the first confidence score no longer satisfies the first threshold score or a second confidence score of the at least one tag no longer satisfies a second threshold score.

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

determine a connection type between a first participant node profile and a second participant node profile of the participant node profiles;

assign the one or more tags to the first electronic activity based on the determined connection type; and

detect the change to the connection type between the first participant node profile and the second participant node profile of the electronic activity.

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

access the plurality of node profiles representing a plurality of nodes in a node graph, the node graph comprising the plurality of node nodes linked to one another via a plurality of edges, each edge of the node graph specifying a relationship between a pair of the plurality of nodes;

detect the change including an addition of a new relationship between at least one pair of the participant node profiles specified by at least one edge of the node graph; and

wherein to assign the second tag or remove the at least one tag comprises to assign the second tag or remove the at least one tag the at least one tag further comprises based on the addition of the existing relationship between the at least one pair of the participant node profiles in the node graph.

11. The system of claim 8 , wherein the one or more processors are further configured by machine-readable instructions to:

detect the change including an addition of a new node field-value pair to the one or more node field-value pairs of the at least one participant node profile; and

modify the at least one tag assigned to the first electronic activity based on the addition of the new node field-value pair to the one or more node field-value pairs of the at least one participant node profile.

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

identify, responsive to detecting the change to the at least one participant node profile, the first electronic activity that is matched with the at least one participant node profile corresponding to one of the electronic accounts; and

identify the one or more tags assigned to the first electronic activity; and

determine whether to update the at least one tag based on the change to the at least one participant node profile.

13. The system of claim 8 , wherein the change to the at least one participant node profile includes an addition of the value of the field of the participant node profile or an addition of an indication of the first electronic activity to the value data structure of the value of the field of the participant node profile.

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

detect the change in a confidence score of a field-value pair of the at least one participant node profile to satisfy a threshold value;

identify from the plurality of electronic activities, a subset of electronic activities assigned with the at least one tag generated using the field-value pair of the at least one participant node profile; and

remove the at least one tag assigned to the subset of electronic activities.

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

accessing data from a plurality of electronic activities transmitted or received via electronic accounts associated with a plurality of data source providers, the one or more processors maintaining a plurality of node profiles and configured to update the plurality of node profiles using the plurality of electronic activities, each node profile of the plurality of node profiles including one or more field-value pairs, each field-value pair of the node profile associated with a corresponding field and a field value;

matching a first electronic activity of the plurality of electronic activities to one or more participant node profiles of the plurality of node profiles, each participant node profile corresponding to a respective one of the electronic accounts via which the electronic activity is transmitted or received;

assigning one or more tags to the first electronic activity based on at least one participant node profile of the one or more participant node profiles matched to the first electronic activity;

accessing data from a second electronic activity transmitted or received via one or more of the electronic accounts associated with at least one of the plurality of data source providers;

matching the second electronic activity to the at least one participant node profile;

causing a change to the at least one participant node profile responsive to matching the second electronic activity to the at least one participant node profile, the change to the at least one participant node profile including at least one of i) an addition of a value of a field of the at least one participant node profile, ii) an addition of an indication of an electronic activity to a value data structure of the value of the field of the at least one participant node profile, or iii) a change to a connection profile between the at least one participant node profile and a second node profile;

detecting the change to the at least one participant node profile;

determining whether to assign a second tag to the first electronic activity responsive to determining that a first confidence score of the value satisfies a first threshold score or remove at least one tag of the one or more tags assigned to the first electronic activity responsive to determining that the first confidence score of the value no longer satisfies the first threshold score or a second confidence score of the at least one tag no longer satisfies a second threshold score; and

assigning the second tag to the first electronic activity responsive to determining that the first confidence score of the value satisfies the first threshold score; or

removing the at least one tag assigned to the first electronic activity responsive to determining that the first confidence score no longer satisfies the first threshold score or a second confidence score of the at least one tag no longer satisfies a second threshold score.

16. The non-transient transitory computer-readable storage medium of claim 15 , wherein the operations further comprise:

determining a connection type between a first participant node profile and a second participant node profile of the participant node profiles;

assigning the one or more tags to the first electronic activity based on the determined connection type;

detecting the change to the connection type between the first participant node profile and the second participant node profile of the first electronic activity.

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

detecting the change including an addition of a new node field-value pair to the one or more node field-value pairs of the at least one participant node profile; and

wherein assigning the second tag or removing the at least one tag comprises based on the addition of the new node field-value pair to the one or more node field-value pairs of the at least one participant node profile.

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

identifying, from the plurality of electronic activities, a subset of electronic activities assigned with the at least one tag generated using the field-value pair of the at least one participant node profile; and

wherein removing further comprises removing the at least one tag assigned to the subset of electronic activities.

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 19, 2019
From: ROGYNSKYY, OLEG; WULF, JOHN; PRAKASH, SATHYA HARIESH; BRUNETS, YURII; JOSEPH, RAJIT KURIEN
To: PEOPLE.AI, INC.
Reel/Frame 049220/0650 →
Continuity (3)
Provisional Application 62676187 · May 24, 2018
Provisional Application 62725999 · Aug 31, 2018
Provisional Application 62747452 · Oct 18, 2018
Cited By (37)
US 12,197,560 US 12,242,619 US 12,242,977 US 12,260,190 US 12,271,849 US 12,277,384 US 12,287,766 US 12,306,798 US 12,314,882 US 12,316,624 US 12,346,916 US 12,353,419 US 12,367,011 US 12,379,835 US 12,399,881 US 12,417,236 US 12,430,825 US 12,494,058 US 12,530,328 US 12,572,867 US 12,573,105 US 12,585,619 US 12,585,680 US 12,586,268 US 12,619,833 US 12,639,402 US 12,645,759 US 12,650,968 US 12,682,286 US 12,694,636 US 12,699,962 US 12,705,552 US 12,705,579 US 12,711,102 US 12,711,259 US 12,711,464 US 12,717,468