US 12,231,510 B2
Systems and methods for updating email addresses based on email generation patterns
Oleg Rogynskyy, Menlo Park, CA (US); Yury Markovsky, San Francisco, CA (US); Yurii Brunets, Burlingame, CA (US); and Rajit Kurien Joseph, San Francisco, CA (US)
Assigned to People.ai, Inc.
Filed by People.ai, Inc., Redwood City, CA (US)
Filed on May 25, 2021, as Appl. No. 17/329,854.
Application 17/329,854 is a continuation of application No. 16/418,851, filed on May 21, 2019, granted, now 11,017,004.
Claims priority of provisional application 62/676,187, filed on May 24, 2018.
Claims priority of provisional application 62/725,999, filed on Aug. 31, 2018.
Claims priority of provisional application 62/747,452, filed on Oct. 18, 2018.
Prior Publication US 2021/0281653 A1, Sep. 9, 2021
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 16/21 (2019.01); G06F 7/14 (2006.01); G06F 9/54 (2006.01); G06F 11/30 (2006.01); G06F 11/34 (2006.01); G06F 16/11 (2019.01); G06F 16/17 (2019.01); G06F 16/178 (2019.01); G06F 16/215 (2019.01); G06F 16/22 (2019.01); G06F 16/23 (2019.01); G06F 16/245 (2019.01); G06F 16/2455 (2019.01); G06F 16/2457 (2019.01); G06F 16/2458 (2019.01); G06F 16/25 (2019.01); G06F 16/26 (2019.01); G06F 16/27 (2019.01); G06F 16/28 (2019.01); G06F 16/29 (2019.01); G06F 16/31 (2019.01); G06F 16/335 (2019.01); G06F 16/355 (2025.01); G06F 16/901 (2019.01); G06F 16/903 (2019.01); G06F 16/9035 (2019.01); G06F 16/906 (2019.01); G06F 16/9535 (2019.01); G06F 21/62 (2013.01); G06F 40/20 (2020.01); G06F 40/237 (2020.01); G06F 40/295 (2020.01); G06N 3/08 (2023.01); G06N 5/025 (2023.01); G06N 5/04 (2023.01); G06N 7/02 (2006.01); G06Q 10/04 (2023.01); G06Q 10/0631 (2023.01); G06Q 10/0639 (2023.01); G06Q 10/107 (2023.01); G06Q 10/109 (2023.01); G06Q 10/1091 (2023.01); G06Q 10/1093 (2023.01); G06Q 50/22 (2018.01); G16H 50/20 (2018.01); H04L 41/14 (2022.01); H04L 43/00 (2022.01); H04L 43/026 (2022.01); H04L 43/045 (2022.01); H04L 43/062 (2022.01); H04L 43/065 (2022.01); H04L 43/067 (2022.01); H04L 43/0876 (2022.01); H04L 51/046 (2022.01); H04L 51/212 (2022.01); H04L 51/234 (2022.01); H04L 51/42 (2022.01); H04L 61/45 (2022.01); H04L 67/125 (2022.01); H04L 67/30 (2022.01); H04L 67/303 (2022.01); H04L 67/306 (2022.01); H04L 67/50 (2022.01); H04M 3/436 (2006.01); H04M 15/00 (2006.01); G06F 40/205 (2020.01); G06N 20/00 (2019.01); G06Q 10/10 (2023.01); G16H 15/00 (2018.01); G16H 50/30 (2018.01); H04L 12/14 (2006.01); H04L 101/00 (2022.01); H04L 101/35 (2022.01); H04L 101/37 (2022.01); H04M 3/22 (2006.01); H04M 3/56 (2006.01)
CPC H04L 67/535 (2022.05) [G06F 7/14 (2013.01); G06F 9/542 (2013.01); G06F 11/3024 (2013.01); G06F 11/3452 (2013.01); G06F 11/3495 (2013.01); G06F 16/122 (2019.01); G06F 16/1734 (2019.01); G06F 16/178 (2019.01); G06F 16/212 (2019.01); G06F 16/215 (2019.01); G06F 16/219 (2019.01); G06F 16/22 (2019.01); G06F 16/221 (2019.01); G06F 16/2228 (2019.01); G06F 16/2264 (2019.01); G06F 16/2272 (2019.01); G06F 16/23 (2019.01); G06F 16/235 (2019.01); G06F 16/2358 (2019.01); G06F 16/2365 (2019.01); G06F 16/2379 (2019.01); G06F 16/2386 (2019.01); G06F 16/245 (2019.01); G06F 16/24558 (2019.01); G06F 16/24564 (2019.01); G06F 16/2457 (2019.01); G06F 16/24575 (2019.01); G06F 16/24578 (2019.01); G06F 16/2477 (2019.01); G06F 16/254 (2019.01); G06F 16/256 (2019.01); G06F 16/26 (2019.01); G06F 16/27 (2019.01); G06F 16/273 (2019.01); G06F 16/28 (2019.01); G06F 16/285 (2019.01); G06F 16/288 (2019.01); G06F 16/289 (2019.01); G06F 16/29 (2019.01); G06F 16/313 (2019.01); G06F 16/337 (2019.01); G06F 16/355 (2019.01); G06F 16/901 (2019.01); G06F 16/9024 (2019.01); G06F 16/90344 (2019.01); G06F 16/9035 (2019.01); G06F 16/906 (2019.01); G06F 16/9535 (2019.01); G06F 21/6218 (2013.01); G06F 21/6245 (2013.01); G06F 40/20 (2020.01); G06F 40/237 (2020.01); G06F 40/295 (2020.01); G06N 3/08 (2013.01); G06N 5/025 (2013.01); G06N 5/04 (2013.01); G06N 7/02 (2013.01); G06Q 10/04 (2013.01); G06Q 10/063114 (2013.01); G06Q 10/06312 (2013.01); G06Q 10/06315 (2013.01); G06Q 10/06393 (2013.01); G06Q 10/06398 (2013.01); G06Q 10/107 (2013.01); G06Q 10/109 (2013.01); G06Q 10/1091 (2013.01); G06Q 10/1095 (2013.01); G06Q 50/22 (2013.01); G16H 50/20 (2018.01); H04L 41/14 (2013.01); H04L 43/026 (2013.01); H04L 43/045 (2013.01); H04L 43/062 (2013.01); H04L 43/065 (2013.01); H04L 43/067 (2013.01); H04L 43/0876 (2013.01); H04L 43/14 (2013.01); H04L 51/046 (2013.01); H04L 51/212 (2022.05); H04L 51/234 (2022.05); H04L 51/42 (2022.05); H04L 61/45 (2022.05); H04L 67/125 (2013.01); H04L 67/30 (2013.01); H04L 67/303 (2013.01); H04L 67/306 (2013.01); H04M 3/436 (2013.01); H04M 15/755 (2013.01); G06F 40/205 (2020.01); G06N 20/00 (2019.01); G06Q 10/10 (2013.01); G16H 15/00 (2018.01); G16H 50/30 (2018.01); H04L 12/1407 (2013.01); H04L 2101/00 (2022.05); H04L 2101/35 (2022.05); H04L 2101/37 (2022.05); H04M 3/2218 (2013.01); H04M 3/56 (2013.01)] 18 Claims
OG exemplary drawing
 
1. A method comprising:
maintaining, by one or more processors, a plurality of member node profiles corresponding to a plurality of unique member entities, each member node profile including a plurality of field-value pairs;
accessing, by the one or more processors, a plurality of electronic mails transmitted or received via electronic accounts associated with one or more data source providers, the plurality of electronic mails used to update field-value pairs of the plurality of member node profiles;
determining, by the one or more processors, for a group entity, a plurality of member node profiles linked to a group node profile of the group entity;
identifying, by the one or more processors, for each member node profile of the plurality of member node profiles, a first field-value pair of the member node profile corresponding to an electronic account identifier of the member node profile, the electronic account identifier identifying an address via which electronic mails are transmitted from or received by the electronic account of the member node profile;
determining, by the one or more processors, for each member node profile, a correlation between the first field-value pair corresponding to the electronic account identifier of the member node profile, a second field-value pair corresponding to a first name of the member node profile and a third field-value pair corresponding to a last name of the member node profile, wherein determining the correlation comprises:
identifying, by the one or more processors, a second value of the second field-value pair identifying the first name of the member node profile;
identifying, by the one or more processors, a third value of the third field-value pair identifying the last name of the member node profile;
extracting, by the one or more processors, a character string preceding a predetermined character of the first value identifying the electronic account identifier; and
comparing, by the one or more processors, the character string to the second value and the third value;
determining, by the one or more processors, based on the determined correlation, an electronic account identifier pattern used by the group node to generate electronic account identifiers;
storing, by the one or more processors, in one or more data structures, an association between the group node and the electronic account identifier pattern;
receiving, by the one or more processors, a second electronic activity identifying an electronic account identifier from the second electronic activity;
parsing, by the one or more processors, the electronic account identifier to extract a domain value;
determining, by the one or more processors, that the electronic account identifier does not match a corresponding value of the first field-value pair of any node profile;
identifying, by the one or more processors, responsive to determining that the electronic account identifier includes the domain value that matches a domain field value of the group node profile, an electronic account identifier pattern associated with the group node profile;
determining, by the one or more processors, using the electronic account identifier pattern associated with the group node profile, a first name value and a last name value; and
generating, by the one or more processors, a second member node profile including the electronic account identifier from the second electronic activity as a value of a first field of the second member node profile, the first name value as a value of a second field of the second member node profile, and the last name value as a value of a third field of the second member node profile.