IP Library Granted Patent US 10,679,001
Granted Patent B2
US 10,679,001 · App. 16/418,846 · Granted Jun 9, 2020

Systems and methods for auto discovery of filters and processing electronic activities using the same

Inventors: Oleg Rogynskyy (Menlo Park, CA); Yury Markovsky (San Francisco, CA); Tetiana Lutsaievska (San Jose, CA); John Wulf (San Francisco, CA)
Assignee: People.ai, Inc.
G06F40/205G06F7/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/337G06F16/355G06F16/901G06F16/906G06F16/9024G06F16/9035G06F16/90344G06F16/9535G06F21/6218G06F40/20G06F40/295G06N3/08G06N5/04G06N7/02G06N20/00G06Q10/04G06Q10/06312G06Q10/06393G06Q10/06398G06Q10/107G06Q10/1091G06Q10/1095G06Q50/22G16H15/00G16H50/20G16H50/30H04L41/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,679,001
App. No.
16/418,846
Granted
Jun 9, 2020
Kind
B2
Abstract

The present disclosure relates to systems and methods for filtering electronic activities. Exemplary implementations may include ingesting a first electronic activity; identifying an associated entity; and selecting a first filtering model based on the entity, the first filtering model trained to indicate whether to restrict further processing of ingested electronic activities. The method may further include generating a plurality of structured data tags for the first electronic activity; applying the selected first filtering model to the plurality of structured data tags for the first electronic activity to determine whether the first electronic activity satisfies a first restriction condition; and responsive to the first electronic activity satisfying the first restriction condition, restricting the first electronic activity from further processing; or responsive to the first electronic activity not satisfying the first restriction condition, further processing, by the one or more processors, the first electronic activity.

Claims (68)

1. A method, comprising:

accessing, by one or more processors, from a plurality of electronic accounts corresponding to member entities associated with a group entity, data corresponding to a plurality of first electronic activities, each first electronic activity of the plurality of first electronic activities accessible via a respective electronic account of a member entity belonging to the group entity;

for each first electronic activity of the plurality of first electronic activities:

identifying, by the one or more processors, the group entity associated with the electronic account via which the first electronic activity is accessible;

selecting, by the one or more processors, a first filtering model based on the group entity, the first filtering model trained to indicate whether to restrict further processing of accessed electronic activities using first training data corresponding to a plurality of second electronic activities, each second electronic activity of the plurality of second electronic activities represented using a first plurality of structured data tags, at least one second electronic activity of the plurality of second electronic activities labeled to be restricted from further processing;

generating, by the one or more processors, a second plurality of structured data tags for the first electronic activity by identifying one or more keywords of the first electronic activity, one or more character strings of the first electronic activity satisfying a predetermined regular expression pattern, or one or more participants of the first electronic activity;

applying, by the one or more processors, the selected first filtering model to the second plurality of structured data tags for the first electronic activity to determine whether the first electronic activity satisfies a first restriction condition;

determining, by the one or more processors, a category to which the member entity belongs based on at least one value of a job title field, a seniority field or a department field of a profile corresponding to the member entity, the at least one value identified from electronic activities identifying the electronic account of the member entity;

selecting, by the one or more processors, a second filtering model based on the category of the member entity, the second filtering model trained to indicate whether to restrict further processing of accessed electronic activities using second training data corresponding to a plurality of third electronic activities, each third electronic activity of the plurality of third electronic activities represented using a third plurality of structured data tags, at least one third electronic activity of the plurality of third electronic activities labeled to be restricted from further processing;

applying, by the one or more processors, the selected second filtering model to the second plurality of structured data tags for the first electronic activity to determine whether the first electronic activity satisfies a second restriction condition; and

responsive to the first electronic activity not satisfying the first restriction condition and not satisfying the second restriction condition, matching, by the one or more processors, the first electronic activity to a record object of a system of record corresponding to the group entity.

2. The method of claim 1 , further comprising responsive to the first electronic activity not satisfying the first restriction condition and not satisfying the second restriction condition, updating, by the one or more processors, the profile matching the first electronic activity.

3. The method of claim 1 , wherein generating, by the one or more processors, the second plurality of structured data tags for the first electronic activity includes applying at least one of natural language processing or named entity recognition to the first electronic activity.

4. The method of claim 1 , wherein:

applying, by the one or more processors, the selected first filtering model to the second plurality of structured data tags for the first electronic activity generates a filter score, and

determining, by the one or more processors, whether the first electronic activity satisfies the first restriction condition comprises comparing the filter score to a threshold.

5. The method of claim 1 , further comprising:

selecting, by the one or more processors, the second filtering model based on a corresponding structured data tag of the second plurality of structured data tags for the first electronic activity;

applying, by the one or more processors, the selected second filtering model to the corresponding structured data tag to determine whether the first electronic activity satisfies the second restriction condition; and

restricting, by the one or more processors, the first electronic activity responsive to the first electronic activity satisfying the second restriction condition.

6. The method of claim 1 , further comprising:

redacting, by the one or more processors, the first electronic activity responsive to identifying a portion of the first electronic activity that causes the first electronic activity to satisfy the first restriction condition;

generating, by the one or more processors, electronic activity data using the first electronic activity, the electronic activity data omitting or encoding the identified portion; and

updating, by the one or more processors, a first profile matching the first electronic activity using the electronic activity data.

7. The method of claim 1 , further comprising:

receiving, by the one or more processors, an indication that the first electronic activity is not to be restricted; and

updating, by the one or more processors, the first filtering model based on the indication and based on whether the first electronic activity satisfied the first restriction condition.

8. A system, comprising:

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

access from a plurality of electronic accounts corresponding to member entities associated with a group entity, data corresponding to a plurality of first electronic activities, each first electronic activity of the plurality of first electronic activities accessible via a respective electronic account of a member entity belonging to the group entity;

for each first electronic activity of the plurality of first electronic activities:

identify the group entity associated with the electronic account via which the first electronic activity is accessible;

select a first filtering model based on the member entity, the first filtering model trained to indicate whether to restrict further processing of accessed electronic activities using first training data corresponding to a plurality of second electronic activities, each second electronic activity of the plurality of second electronic activities represented using a first plurality of structured data tags, at least one second electronic activity of the plurality of second electronic activities labeled to be restricted from further processing;

generate a second plurality of structured data tags for the first electronic activity by identifying one or more keywords of the first electronic activity, one or more character strings of the first electronic activity satisfying a predetermined regular expression pattern, or one or more participants of the first electronic activity;

apply the selected first filtering model to the second plurality of structured data tags for the first electronic activity to determine whether the first electronic activity satisfies a first restriction condition;

determine a category to which the member entity belongs based on at least one value of a job title field, a seniority field or a department field of a profile corresponding to the member entity, the at least one value identified from electronic activities identifying the electronic account of the member entity;

select a second filtering model based on the category of the member entity, the second filtering model trained to indicate whether to restrict further processing of accessed electronic activities using second training data corresponding to a plurality of third electronic activities, each third electronic activity of the plurality of third electronic activities represented using a third plurality of structured data tags, at least one third electronic activity of the plurality of third electronic activities labeled to be restricted from further processing;

apply the selected second filtering model to the second plurality of structured data tags for the first electronic activity to determine whether the first electronic activity satisfies a second restriction condition; and

responsive to the first electronic activity not satisfying the first restriction condition and not satisfying the second restriction condition, match the first electronic activity to a record object of a system of record corresponding to the group entity.

9. The system of claim 8 , wherein responsive to the first electronic activity not satisfying the first restriction condition and not satisfying the second restriction condition, the one or more processors are further configured by the machine-readable instructions to update the profile matching the first electronic activity.

10. The system of claim 8 , wherein to generate the second plurality of structured data tags for the first electronic activity, the one or more processors further configured to apply at least one of natural language processing or named-entity recognition to the first electronic activity.

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

apply the selected first filtering model to the second plurality of structured data tags for the first electronic activity generates a filter score, and

determine whether the first electronic activity satisfies the first restriction condition comprises comparing the filter score to a threshold.

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

select the second filtering model based on a corresponding structured data tag of the second plurality of structured data tags for the first electronic activity;

apply the selected second filtering model to the corresponding structured data tag to determine whether the first electronic activity satisfies the second restriction condition; and

restrict the first electronic activity responsive to the first electronic activity satisfying the second restriction condition.

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

redact the first electronic activity responsive to identifying a portion of the first electronic activity that causes the first electronic activity to satisfy the first restriction condition;

generate electronic activity data using the first electronic activity, the electronic activity data omitting or encoding the identified portion; and

update a first profile matching the first electronic activity using the electronic activity data.

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

receive an indication that the first electronic activity is not to be restricted; and

update the first filtering model based on the indication and based on whether the first electronic activity satisfied the first restriction condition.

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

accessing, from a plurality of electronic accounts corresponding to member entities associated with a group entity, data corresponding to a plurality of first electronic activities, each first electronic activity of the plurality of first electronic activities accessible via a respective electronic account of the group entity belonging to a member entity;

for each first electronic activity of the plurality of first electronic activities:

identifying the group entity associated with the electronic account via which the first electronic activity is accessible;

selecting a first filtering model based on the member entity, the first filtering model trained to indicate whether to restrict further processing of accessed electronic activities using first training data corresponding to a plurality of second electronic activities, each second electronic activity of the plurality of second electronic activities represented using a first plurality of structured data tags, at least one second electronic activity of the plurality of second electronic activities labeled to be restricted from further processing;

generating a second plurality of structured data tags for the first electronic activity by identifying one or more keywords of the first electronic activity, one or more character strings of the first electronic activity satisfying a predetermined regular expression pattern, or one or more participants of the first electronic activity;

applying the selected first filtering model to the second plurality of structured data tags for the first electronic activity to determine whether the first electronic activity satisfies a first restriction condition;

determining a category to which the member entity belongs based on a profile corresponding to the member entity, the profile including one or more field-value pairs, the one or more field-value pairs including at least one value identified from electronic activities identifying the electronic account of the member entity;

selecting a second filtering model based on the category of the member entity, the second filtering model trained to indicate whether to restrict further processing of accessed electronic activities using second training data corresponding to a plurality of third electronic activities, each third electronic activity of the plurality of third electronic activities represented using a third plurality of structured data tags, at least one third electronic activity of the plurality of third electronic activities labeled to be restricted from further processing;

applying the selected second filtering model to the second plurality of structured data tags for the first electronic activity to determine whether the first electronic activity satisfies a second restriction condition;

responsive to the first electronic activity not satisfying the first restriction condition and not satisfying the second restriction condition, matching the first electronic activity to a record object of a system of record corresponding to the group entity.

16. The non-transitory computer-readable storage medium having instructions embodied thereon of claim 15 , wherein responsive to the first electronic activity not satisfying the first restriction condition and not satisfying the second restriction condition, updating the profile matching the first electronic activity.

17. The non-transitory computer-readable storage medium having instructions embodied thereon of claim 15 , wherein generating more the second plurality of structured data tags for the first electronic activity includes applying at least one of natural language processing or named entity recognition to the first electronic activity.

Assignments (3)
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 Nov 20, 2019
From: ROGYNSKYY, OLEG; MARKOVSKY, YURY; LUTSAIEVSKA, TETIANA; WULF, JOHN
To: PEOPLE.AI, INC.
Reel/Frame 051067/0761 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 30, 2019
From: ROGYNSKYY, OLEG; MARKOVSKY, YURY; LUTSAIEVSKA, TETIANA; WULF, JOHN
To: PEOPLE.AI, INC.
Reel/Frame 050885/0733 →
Continuity (4)
Provisional Application 62747452 · Oct 18, 2018
Provisional Application 62725999 · Aug 31, 2018
Provisional Application 62676187 · May 24, 2018
Related Publication 20190361929A1 · Nov 28, 2019
Cited By (34)
US 12,190,069 US 12,210,841 US 12,210,843 US 12,217,009 US 12,217,010 US 12,223,285 US 12,223,286 US 12,223,287 US 12,236,199 US 12,242,812 US 12,242,813 US 12,242,814 US 12,254,277 US 12,254,278 US 12,260,181 US 12,260,182 US 12,314,660 US 12,321,697 US 12,339,829 US 12,340,180 US 12,353,827 US 12,393,777 US 12,400,085 US 12,406,146 US 12,430,503 US 12,430,504 US 12,430,505 US 12,456,008 US 12,499,320 US 12,518,107 US 12,524,619 US 12,554,935 US 12,585,883 US 12,596,881