IP Library Granted Patent US 10,496,681
Granted Patent B1
US 10,496,681 · App. 16/418,891 · Granted Dec 3, 2019

Systems and methods for electronic activity classification

Inventors: Oleg Rogynskyy (Menlo Park, CA); Stefan Hermanek (San Francisco, CA); Yury Markovsky (San Francisco, CA)
Assignee: People.ai, Inc.
G06F16/285G06F16/2272G06F16/2379G06F16/29G06F17/278
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,496,681
App. No.
16/418,891
Granted
Dec 3, 2019
Kind
B1
Abstract

The present disclosure relates to electronic activity classification. A plurality of node profiles corresponding to a plurality of unique entities is maintained. A plurality of electronic activities is accessed from electronic accounts of one or more data source providers. Features are extracted from the electronic activities to determine a classification of the first electronic activity. A confidence score is determined indicating a likelihood that the first electronic activity of a classification type. An association is stored between the first electronic activity and a tag corresponding to the first classification type. The confidence score is updated based on a second electronic activity.

Claims (83)

1. A method, comprising:

maintaining, by one or more processors, a plurality of node profiles corresponding to a plurality of unique entities, each node profile including a plurality of field-value pairs;

accessing, by the one or more processors, data corresponding to a plurality of electronic activities transmitted or received via electronic accounts associated with one or more data source providers, the electronic activities used to update the plurality of node profiles;

extracting, by the one or more processors, from data corresponding to a first electronic activity of the plurality of electronic activities, one or more features used to determine a classification of the first electronic activity;

identifying, by the one or more processors, from the data corresponding to the first electronic activity, a sender and one or more recipients of the first electronic activity and a type of an electronic account identifier corresponding to the sender or a recipient of the one or more recipients;

determining, by the one or more processors, a confidence score indicating a likelihood that the first electronic activity is of a first classification type based on the sender and the one or more recipients of the first electronic activity, the type of the electronic account identifier and a connection profile between at least two of the sender and the one or more recipients, the connection profile based on at least one second electronic activity including the at least two of the sender and the one or more recipients as participants of the at least one second electronic activity;

storing, by the one or more processors, in one or more data structures, an association between the first electronic activity and a tag corresponding to the first classification type and the determined confidence score;

accessing, by the one or more processors, data corresponding to a second electronic activity of the plurality of electronic activities;

determining, by the one or more processors, that a sender and one or more recipients of the second electronic activity match the sender and the one or more recipients of the first electronic activity; and

updating, by the one or more processors, the determined confidence score of the first electronic activity based on a corresponding confidence score of the second electronic activity indicating that the second electronic activity is of the first classification type responsive to determining that the sender and the one or more recipients of the second electronic activity match the sender and the one or more recipients of the first electronic activity corresponding to the first classification type.

2. The method of claim 1 , further comprising:

identifying, by the one or more processors, a first node profile corresponding to a first participant corresponding to one of the sender or the one or more recipients of the first electronic activity and a second node profile corresponding to a second participant corresponding to another of the sender or the one or more recipients of the first electronic activity; and

identifying, by the one or more processors and based on the first node profile and second node profile, a connection profile between the first participant and the second participant of the first electronic activity;

wherein determining the confidence score includes determining the confidence score based on the connection profile.

3. The method of claim 1 , further comprising:

identifying, by the one or more processors, from a plurality of node field-value pairs of a first node profile corresponding to a first participant corresponding to one of the sender or the one or more recipients of the first electronic activity, a first electronic account identifier and a second electronic account identifier; and

matching, by the one or more processors, the electronic account via which the first electronic activity was transmitted or received to the first electronic account identifier or the second electronic account identifier;

wherein determining the confidence score includes determining the confidence score based on matching the first electronic activity to the first electronic account identifier or the second electronic account identifier.

4. The method of claim 3 , wherein the first electronic account identifier corresponds to a company value of the plurality of node field-value pairs.

5. The method of claim 1 , further comprising:

determining, by the one or more processors, a context of the first electronic activity by applying natural language processing to the data corresponding to the first electronic activity to determine at least one of a tone or a formality of the first electronic activity;

wherein determining the confidence score includes determining, by the one or more processors, the confidence score based on the context.

6. The method of claim 1 , wherein:

determining, by the one or more processors, the confidence score includes determining the confidence score by determining a context of a plurality of electronic activities associated with the first electronic activity.

7. The method of claim 1 , further comprising:

determining, by the one or more processors, a connection profile based on the first classification type; and

assigning, by the one or more processors, the connection profile to a first node profile of a first participant corresponding to one of the sender or the one or more recipients of the first electronic activity and a second node profile of a second participant corresponding to another of the sender or the one or more recipients of the first electronic activity.

8. The method of claim 1 , wherein the confidence score is a first confidence score, the method further comprising:

identifying, by the one or more processors, at least one second electronic activity having a second timestamp different than a first timestamp of the first electronic activity;

determining, by the one or more processors, a second confidence score indicating that the at least one second electronic activity is of the first classification type; and

storing, by the one or more processors, in the one or more data structures, a temporal association between a metric corresponding to a difference between the first confidence score and the second confidence score and at least one of the first electronic activity or the at least one second electronic activity.

9. The method of claim 1 , further comprising:

identifying, by the one or more processors, a first last name of a first participant corresponding to one of the sender or the one or more recipients of the first electronic activity and a second last name of a second participant corresponding to another of the sender or the one or more recipients of the first electronic activity; and

determining, by the one or more processors, whether the first last name and second last name match;

wherein determining the confidence score includes determining the confidence score based on the first last name and the second last name matching.

10. The method of claim 1 , further comprising:

identifying, by the one or more processors, a plurality of time stamps indicated when a plurality of electronic activities associated with the first electronic activity are received or transmitted; and

determining, by the one or more processors, a portion of time during which the plurality of electronic activities are received or transmitted based on the plurality of time stamps;

wherein determining the confidence score is based at least on the portion of time.

11. The method of claim 1 , further comprising:

identifying, by the one or more processors, an address of the first electronic activity; and

determining, by the one or more processors, whether the address is a home address of a first participant of the participants of the first electronic activity or a second participant of the participants of the first electronic activity;

wherein determining the confidence score includes determining the confidence score based on the address being a home address of the first participant or the second participant.

12. A system comprising:

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

maintain a plurality of node profiles corresponding to a plurality of unique entities, each node profile including a plurality of field-value pairs;

access data corresponding to a plurality of electronic activities transmitted or received via electronic accounts associated with one or more data source providers, the electronic activities used to update the plurality of node profiles;

extract, from data corresponding to a first electronic activity of the plurality of electronic activities, one or more features used to determine a classification of the first electronic activity;

identify, from the data corresponding to the first electronic activity, a sender and one or more recipients of the first electronic activity and a type of an electronic account identifier corresponding to the sender or a recipient of the one or more recipients;

determine a confidence score indicating a likelihood that the first electronic activity is of a first classification type based on the sender and the one or more recipients of the first electronic activity, the type of the electronic account identifier and a connection profile between at least two of the sender and the one or more recipients, the connection profile based on at least one second electronic activity including the at least two of the sender and the one or more recipients as participants of the at least one second electronic activity;

store, in one or more data structures, an association between the first electronic activity and a tag corresponding to the first classification type and the determined confidence score;

access data corresponding to a second electronic activity of the plurality of electronic activities;

determine that a sender and one or more recipients of the second electronic activity match the sender and the one or more recipients of the first electronic activity; and

update the determined confidence score of the first electronic activity based on a corresponding confidence score of the second electronic activity indicating that the second electronic activity is of the first classification type responsive to determining that the sender and the one or more recipients of the second electronic activity match the sender and the one or more recipients of the first electronic activity corresponding to the first classification type.

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

identify a first node profile corresponding to a first participant corresponding to one of the sender or the one or more recipients of the first electronic activity and a second node profile corresponding to a second participant corresponding to another of the sender or the one or more recipients of the first electronic activity; and

identify, based on the first node profile and second node profile, a connection profile between the first participant and the second participant of the first electronic activity;

wherein determining the confidence score includes determining the confidence score based on the connection profile.

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

identify from a plurality of node field-value pairs of a first node profile corresponding to a first participant corresponding to one of the sender or the one or more recipients of the first electronic activity, a first electronic account identifier and a second electronic account identifier; and

match the electronic account via which the first electronic activity was transmitted or received to the first electronic account identifier or the second electronic account identifier;

wherein the one or more processors are configured to determine the confidence score by determining the confidence score based on matching the first electronic activity to the first electronic account identifier or the second electronic account identifier.

15. The system of claim 14 , wherein the first electronic account identifier corresponds to a company value of the plurality of node field-value pairs.

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

determine a context of the first electronic activity by applying natural language processing to the data corresponding to the first electronic activity to determine at least one of a tone or a formality of the first electronic activity;

wherein the one or more processors are configured to determine the confidence score by determining the confidence score based on the context.

17. The system of claim 12 , wherein the one or more processors are configured to determine the confidence score by determining a context of a plurality of electronic activities associated with the first electronic activity.

18. The system of claim 12 , wherein the one or more processors are further configured to determine a connection profile based on the first classification type; and

assign the connection profile to a first node profile of a first participant corresponding to one of the sender or the one or more recipients of the first electronic activity and a second node profile of a second participant corresponding to another of the sender or the one or more recipients of the first electronic activity.

19. The system of claim 12 , wherein the confidence score is a first confidence score, and wherein the one or more processors are further configured to:

identify at least one second electronic activity having a second timestamp different than a first timestamp of the first electronic activity;

determine a second confidence score indicating that the at least one second electronic activity is of the first classification type; and

store, in the one or more data structures, a temporal association between a metric corresponding to a difference between the first confidence score and the second confidence score and at least one of the first electronic activity or the at least one second electronic activity.

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 a plurality of node profiles corresponding to a plurality of unique entities, each node profile including a plurality of field-value pairs;

accessing data corresponding to a plurality of electronic activities transmitted or received via electronic accounts associated with one or more data source providers, the electronic activities used to update the plurality of node profiles;

extracting, from data corresponding to a first electronic activity of the plurality of electronic activities, one or more features used to determine a classification of the first electronic activity;

identifying, from the data corresponding to the first electronic activity, a sender and one or more recipients of the first electronic activity and a type of an electronic account identifier corresponding to the sender or a recipient of the one or more recipients;

determining a confidence score indicating a likelihood that the first electronic activity is of a first classification type based on the sender and the one or more recipients of the first electronic activity, the type of the electronic account identifier and a connection profile between at least two of the sender and the one or more recipients, the connection profile based on at least one second electronic activity including the at least two of the sender and the one or more recipients as participants of the at least one second electronic activity;

storing, in one or more data structures, an association between the first electronic activity and a tag corresponding to the first classification type and the determined confidence score;

accessing data corresponding to a second electronic activity of the plurality of electronic activities;

determining that a sender and one or more recipients of the second electronic activity match the sender and the one or more recipients of the first electronic activity; and

updating the determined confidence score of the first electronic activity based on a corresponding confidence score of the second electronic activity indicating that the second electronic activity is of the first classification type responsive to determining that the sender and the one or more recipients of the second electronic activity match the sender and the one or more recipients of the first electronic activity corresponding to the first classification type.

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 Aug 6, 2019
From: ROGYNSKYY, OLEG; HERMANEK, STEFAN; MARKOVSKY, YURY
To: PEOPLE.AI, INC.
Reel/Frame 049976/0145 →
Continuity (3)
Provisional Application 62676187 · May 24, 2018
Provisional Application 62725999 · Aug 31, 2018
Provisional Application 62747452 · Oct 18, 2018