IP Library Granted Patent US 12,395,587
Granted Patent B2
US 12,395,587 · App. 17/777,973 · Granted Aug 19, 2025

Automatic call categorization and screening

Inventors: Joseph Joseph Cherukara (Mountain View, CA); Paul Dunlop (Mountain View, CA); Hanfu Zhang (Mountain View, CA); Milo Sredkov (Mountain View, CA); Aditi Bhargava (Mountain View, CA); Mariia Sandrikova (Mountain View, CA); Gustav Sennton (Mountain View, CA); Usman Abdullah (Mountain View, CA); Andres Calvo (Mountain View, CA); Brandon Maxwell (Mountain View, CA); Rebecca Gisoo Park Chiou (Mountain View, CA); Curtis Robinson (Mountain View, CA); Yale Thomas (Mountain View, CA); Richard Ledley (Mountain View, CA); Abhijith Shastry (Mountain View, CA); Ayesha Khwaja (Mountain View, CA); Xiansha Jin (Mountain View, CA); Wei Li Wang (Mountain View, CA); Subash Gutala (Mountain View, CA); Shashank Goyal (Mountain View, CA)
Assignee: Google LLC
H04M3/436G10L15/26H04M3/527
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 12,395,587
App. No.
17/777,973
Granted
Aug 19, 2025
Kind
B2
Abstract

Implementations described herein relate to methods, systems, and computer-readable media to automatically answer a call. In some implementations, a method includes receiving a call from a caller device at a client device. The method further includes determining, based on an identifier associated with the call, whether the call matches auto answer criteria, and yin response to determining that the call matches the auto answer criteria, answering the call without user input and without alerting a user of the client device. The method further includes generating a call embedding for the call based on received audio of the call, comparing the call embedding with spam embeddings to determine whether the call is a spam call, and in response to determining that the call is a spam call, terminating the call.

Claims (72)

1. A computer-implemented method comprising:

receiving a plurality of audio recordings wherein each audio recording corresponds to a respective call of a plurality of calls, and metadata for each of the plurality of calls;

generating, using a trained machine-learning model, a respective embedding for each of the plurality of calls based on the corresponding audio recording, wherein the respective embedding is a numerical representation of the call;

grouping the plurality of calls into a plurality of clusters based on the respective embeddings; and

storing, in a database, a plurality of tuples, each tuple including a particular audio recording of the plurality of audio recordings, associated metadata, the embedding for the particular audio recording, and a cluster identifier for the particular audio recording.

2. The computer-implemented method of claim 1 , further comprising:

obtaining respective text transcripts of the plurality of audio recordings; and

storing the respective text transcripts in a corresponding tuple,

wherein generating the respective embedding for each of the plurality of calls is further based on the text transcript of the call.

3. The computer-implemented method of claim 1 , further comprising, for each of the plurality of clusters:

determining a representative embedding for the cluster;

determining a count of calls that match the cluster;

determining a spam call count for the cluster; and

calculating a score for the cluster based on one or more of the count of calls or the spam call count.

4. The computer-implemented method of claim 3 , further comprising:

determining a subset of the plurality of clusters, wherein the score for each cluster in the subset of clusters meets a score threshold; and

sending the representative embedding for each cluster in the subset to a client device.

5. The computer-implemented method of claim 4 , further comprising receiving data indicative of one or more of a current country or a home country for the client device, and wherein determining the subset further comprises:

selecting the subset based on the received data, wherein clusters that include calls that have metadata that does not match the current country or the home country are excluded from the subset.

6. The computer-implemented method of claim 3 , wherein determining the representative embedding for the cluster comprises one of:

selecting an embedding that corresponds to a first audio recording in the cluster as the representative embedding;

selecting an average of a plurality of embeddings that correspond to calls in the cluster as the representative embedding; or

selecting a particular embedding of the plurality of embeddings that is closest to the average of the plurality of embeddings.

7. The computer-implemented method of claim 1 , wherein the embedding for each call within each of the plurality of clusters is within a threshold edit distance of embeddings from other calls in the cluster.

8. The computer-implemented method of claim 1 , further comprising:

receiving performance metrics; and

updating the machine-learning model based on the performance metrics.

9. A computer-implemented method to automatically answer a call, the method comprising:

receiving, at a client device, a call from a caller device;

determining, by the client device, based on an identifier associated with the call, whether the call matches auto answer criteria;

in response to determining that the call matches the auto answer criteria, answering the call, by the client device, without user input and without alerting a user of the client device; and

after answering the call,

generating, by the client device, using a trained machine-learning model, a call embedding for the call based on received audio of the call, wherein the call embedding is a numerical representation of the call;

comparing, by the client device, the call embedding with spam embeddings to determine whether the call is a spam call; and

in response to determining that the call is a spam call, terminating the call.

10. The computer-implemented method of claim 9 , further comprising, after answering the call:

generating and storing, by the client device, a text transcript of the call.

11. The computer-implemented method of claim 10 , wherein the generating the call embedding is further based on the text transcript of the call.

12. The computer-implemented method of claim 9 , further comprising:

in response to determining that the call is not a spam call, alerting the user of the client device, wherein alerting the user comprises ringing the client device and providing a text transcript of the received audio of the call.

13. The computer-implemented method of claim 9 , wherein answering the call comprises: establishing a connection with a caller device; and

sending audio from the client device to the caller device, wherein the sent audio is generated by the client device without user input.

14. The computer-implemented method of claim 9 , wherein determining that the call matches auto answer criteria is based on at least one of:

determining that the identifier associated with the call matches a spam caller list;

determining that the identifier associated with the call is a fake number;

determining that the identifier associated with the call is a private number;

determining that the identifier associated with the call and an identifier associated with the client device meet a similarity threshold;

determining that the identifier associated with the call is not in a contact list of a user of the client device; or

determining that the identifier associated with the call is not in a call log of the client device.

15. The computer-implemented method of claim 9 , wherein determining that the call does not match the auto answer criteria is based on at least one of:

determining that the identifier associated with the call is in a contact list of a user of the client device;

determining that the identifier associated with the call is in a call log of the client device;

determining that the identifier associated with the call indicates that the call is an emergency call; or

determining that an emergency call was placed from the client device within a threshold from a current time.

16. The computer-implemented method of claim 9 , in response to determining that the call does not match the auto answer criteria, alerting the user of the client device.

17. The computer-implemented method of claim 9 , wherein the spam embeddings are stored locally on the client device, and wherein the method further comprises receiving the spam embeddings from a server and storing the spam embeddings locally on the client device.

18. A computing device comprising:

a processor; and

a memory coupled to the processor, with instructions stored thereon that, when executed by the processor, cause the processor to perform operations comprising:

receiving a call from a caller device;

determining, based on an identifier associated with the call, whether the call matches auto answer criteria;

in response to determining that the call matches the auto answer criteria, answering the call without user input and without alerting a user of the computing device; and

after answering the call,

generating using a trained machine-learning model, a call embedding for the call based on received audio of the call, wherein the call embedding is a numerical representation of the call;

comparing the call embedding with spam embeddings to determine whether the call is a spam call; and

in response to determining that the call is a spam call, terminating the call.

19. The computing device of claim 18 , wherein the memory has further instructions stored thereon that, when executed by the processor, cause the processor to perform further performs operations comprising:

after answering the call, generating and storing a text transcript of the call,

wherein the generating the call embedding is further based on the text transcript of the call.

20. The computing device of claim 18 , wherein the operation of answering the call comprises:

establishing a connection with a caller device; and

sending audio from the computing device to the caller device, wherein the sent audio is generated by the computing device without user input.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 14, 2022
From: CHERUKARA, JOSEPH JOSEPH; DUNLOP, PAUL; ZHANG, HANFU; SREDKOV, MILO; BHARGAVA, ADITI; SANDRIKOVA, MARIIA; SENNTON, GUSTAV; ABDULLAH, USMAN; CALVO, ANDRES; MAXWELL, BRANDON; CHIOU, REBECCA GISOO PARK; ROBINSON, CURTIS; THOMAS, YALE; LEDLEY, RICHARD; SHASTRY, ABHIJITH; KHWAJA, AYESHA; JIN, XIANSHA; WANG, WEI LI; GUTALA, SUBASH; GOYAL, SHASHANK
To: GOOGLE LLC
Reel/Frame 060193/0970 →
Continuity (2)
Provisional Application 62937769 · Nov 19, 2019
Related Publication 20230040084A1 · Feb 9, 2023
References Cited (44)
US 8300776B2 · Davies · 2012 [cited by examiner]
US 8325900B2 · Trivi · 2012 [cited by examiner]
US 8488479B2 · Li · 2013 [cited by examiner]
US 8601547B1 · Shen · 2013 [cited by examiner]
US 9094325B2 · Rybak · 2015 [cited by examiner]
US 10110741B1 · Cohen et al. · 2018 [cited by applicant]
US 10158756B2 · Beardow · 2018 [cited by examiner]
US 11425240B2 · Lu · 2022 [cited by examiner]
US 20070041372A1 · Rao · 2007 [cited by examiner]
US 20070201660A1 · Lan · 2007 [cited by examiner]
US 20080292077A1 · Vinokurov · 2008 [cited by examiner]
US 20090109961A1 · Garrison et al. · 2009 [cited by applicant]
US 20100151839A1 · Krishnamurthy et al. · 2010 [cited by applicant]
US 20110211685A1 · Liu · 2011 [cited by examiner]
US 20110235631A1 · Krishnaswamy · 2011 [cited by examiner]
US 20110294478A1 · Trivi · 2011 [cited by examiner]
US 20150302316A1 · Buryak · 2015 [cited by examiner]
US 20170013122A1 · Cohen et al. · 2017 [cited by applicant]
US 20170134574A1 · Winkler · 2017 [cited by applicant]
US 20180324297A1 · Kent et al. · 2018 [cited by applicant]
US 20190037073A1 · Quilici et al. · 2019 [cited by applicant]
US 20190230223A1 · Kent · 2019 [cited by examiner]
US 20240040035A1 · Dropuljic · 2024 [cited by examiner]
CA 3076024A1 · 2019 [cited by applicant]
CN 1930864A · 2007 [cited by applicant]
Response to Communication Pursuant to Rules 161(1) and 162 EPC dated Jun. 28, 2022, from counterpart European Application No. 20824025.9, filed Dec. 27, 2022, 20 pp. [cited by applicant]
Communication pursuant to Article 94(3) EPC from counterpart European Application No. 20824025.9 dated Oct. 20, 2023, 10 pp. [cited by applicant]
First Examination Report from counterpart Indian Application No. 202247033655 dated Oct. 17, 2022, 6 pp. [cited by applicant]
Response to First Examination Report dated Oct. 17, 2022 from counterpart Indian Application No. 202247033655 filed Apr. 13, 2023, 7 pp. [cited by applicant]
Response to Communication pursuant to Article 94(3) EPC dated Oct. 20, 2023, from counterpart European Application No. 20824025.9 filed Feb. 28, 2024, 16 pp. [cited by applicant]
“Call Center Software Authentication & Anti Fraud Pindrop”, accessed on Nov. 19, 2019; https://www.pindrop.com/, 13 pages. [cited by applicant]
EPO, International Search Report and Written Opinion for International Patent Application No. PCT/US2020/060965, Feb. 24, 2021, 15 pages. [cited by applicant]
“Screen your calls before answering them—Phone app Help”, Accessed on Nov. 19. 2019; https://support.google.com/phoneapp/answer/9118387?hl=en, 2 pages. [cited by applicant]
Hardison, “On Your Side Investigation: Robokiller app”, URL: https://www.wbrc.com/story/36609909/On-your-side-investigation-robokiller-app/ last two paragraphs; p. 1, p. 2, lines 1-9, Oct. 16, 2017. [cited by applicant]
Schuck, “We tried Robokiller. Here's what we liked and didn't like”, URL:https://www.komando.com/smartphones-gadgets/robokiller-heres-what-we-liked-and-didnt-like/545200, p. 3, paragraph 3, p. 5, paragraph 1 “other inte… [cited by applicant]
Summons to Attend Oral Proceedings Pursuant to Rule 115(1) EPC from counterpart European Application No. 20824025.9 dated Oct. 23, 2024, 14 pp. [cited by applicant]
Vennila et al., “Dynamic voice spammers detection using Hidden Markov Model for Voice over Internet Protocol network”, Computers & Security, Elsevier Ltd., Oct. 13, 2017, 16 pp. [cited by applicant]
Response to Summons to Attend Oral Proceedings pursuant to Rule 115(1) EPC dated Oct. 23, 2024, including Main Request, from European Patent Application No. 20824025.9, filed Apr. 8, 2025, 23 pp. [cited by applicant]
Office Action, and translation thereof, from counterpart Chinese Application No. 202080075899.7 dated Apr. 8, 2025, 27 pp. [cited by applicant]
Communication pursuant to Article 94(3) EPC from counterpart European Application No. 20824025.9 dated Apr. 22, 2025, 11 pp. [cited by applicant]
Theodoridis Sergios et al: “Clustering: Basic Concepts”, Pattern Recognition, 2009, pp. 595-625, XP093269335, DOI: https://doi.org/10/1016/B978-1-59749-2720.X0001-2 ISBN: 978-1-597 49-272-0. [cited by applicant]
Komando, “We tried Robokiller. Here's what we liked and didn't like”, Komando.com, Apr. 6, 2019, 10 pp. [cited by applicant]
Hardison, “On Your Side Investigation: Robokiller app”, WBRC Fox 6 News, Oct. 17, 2017, 2 pp. [cited by applicant]
Office Action, and translation thereof, from counterpart Korean Application No. 1020227015685 dated May 20, 2025, 14 pp. [cited by applicant]