IP Library Granted Patent US 12,183,325
Granted Patent B2
US 12,183,325 · App. 17/549,612 · Granted Dec 31, 2024

Searching calls based on contextual similarity among calls

Inventors: Dylan Morgan (Minneapolis, MN); Boris Chaplin (Medina, MN); Kyle Smaagard (Forest Lake, MN); Chris Vanciu (Isle, MN); Paul Gordon (Minneapolis, MN); Matt Matsui (Minneapolis, MN); Laura Cattaneo (Rochester, MN); Catherine Bullock (Minneapolis, MN)
Assignee: Calabrio, Inc.
G10L15/06G10L15/1815G10L17/06H04M3/2218H04M3/42221
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,183,325
App. No.
17/549,612
Granted
Dec 31, 2024
Kind
B2
Abstract

Systems and methods are provided for determining calls and contacts associated with calls that are contextually similar based on content of the calls. Data associated with a call include one or more utterances made by speakers and a set of values indicating relevance between content of the call and topic categories of the call. The disclosed technology generates a topic vector associated with a call and/or respective speakers of the call. The topic vector includes a multi-dimensional vector where each dimension corresponds to a topic category. The disclosed technology determines calls that are contextually similar by comparing angular distances between topic vectors. A search query receiver receives a search query that queries contacts and calls that are contextually similar to a given call and/or a speaker. The disclosed technology identifies calls with topic vectors that are within a predetermined angular distance.

Claims (64)

1. A computer-implemented method for determining a contact associated with a context, the method comprising:

receiving a search query, wherein the search query specifies a first contact as a condition of a search;

generating a first topic vector associated with the first contact, wherein the first topic vector representing a context associated with the first contact, wherein the first topic vector is a multi-dimensional vector comprising dimensions that correspond to topic categories and likelihood values, wherein a likelihood value represents a relevance to a topic, and wherein the relevance is determined using a machine-learning model;

identifying, based on an angular distance of vectors including the first topic vector, a second contact in a contact content database;

retrieving, based on the identified second contact, the contact, wherein the contact includes a speaker of the contact; and

transmitting the contact as a result of the search query.

2. The computer-implemented method according to claim 1 , wherein the method further comprises:

receiving contact data associated with the second contact, the contact data including at least:

recording of content of the second contact,

a transcript of the second contact,

one or more identifiers associated with speakers of the second contact, and

a value indicating degree of relevance between content of the second contact and a topic category;

generating, based on the value indicating degree of relevance, a second topic vector; and

storing the contact data and the second topic vector in the contact content database.

3. The computer-implemented method according to claim 1 , wherein the second contact includes a second topic vector, and wherein the method further comprises:

determining, based on a cosine similarity between the first topic vector and the second topic vector, the second contact as contextually similar to the first contact.

4. The computer-implemented method according to claim 1 , wherein the second contact includes a second topic vector, wherein a combination of the second topic vector and the first topic vector forms an angular distance, and wherein the angular distance is within a predetermined angular distance.

5. The computer-implemented method according to claim 1 , wherein the first contact and the second contact are distinct.

6. The computer-implemented method according to claim 1 , wherein the search query includes an identifier of a first speaker in the first contact, and wherein the method further comprises:

generating a second topic vector associated with a second speaker of the second contact, wherein the second topic vector represents one or more topic categories based on words spoken by the second speaker in the second contact; and

transmitting an identifier that identifies the second speaker as a response to the search query.

7. The computer-implemented method according to claim 1 , wherein the search query includes a range of time as a search parameter.

8. The computer-implemented method according to claim 2 , wherein the value indicating degree of relevance includes a numerical value representing a percentage of relevance.

9. A system, comprising:

a processor; and

a memory storing computer-executable instructions that when executed by the processor cause the system to:

receive a search query, wherein the search query specifies a first contact as a condition of a search;

generate a first topic vector associated with the first contact, wherein the first topic vector representing a first context associated with the first contact, wherein the first topic vector is a multi-dimensional vector comprising dimensions that correspond to topic categories and likelihood values, wherein a likelihood value represents a relevance to a topic, and wherein the relevance is determined using a machine-learning model;

identify, based on an angular distance of vectors including the first topic vector, a second contact in a contact content database, wherein the second contact includes a second topic vector representing a second context associated with the second contact;

retrieve, based on the identified second contact, the contact, wherein the contact includes a speaker of the contact; and

transmit the contact as a result of the search query.

10. The system according to claim 9 , wherein execution of the computer-executable instructions further causing the system to:

receive contact data associated with the second contact, the contact data including at least:

recording of content of the second contact,

a transcript of the second contact,

one or more identifiers associated with speakers of the second contact, and

a value indicating degree of relevance between content of the second contact and a topic category;

generate, based on the value indicating degree of relevance, the second topic vector; and

store the contact data and the second topic vector in the contact content database.

11. The system according to claim 9 , wherein execution of the computer-executable instructions further causing the system to:

determine, based on a cosine similarity between the first topic vector and the second topic vector, the second contact as contextually similar to the first contact.

12. The system according to claim 9 , wherein a combination of the first topic vector and the second topic vector forms an angular distance, and wherein the angular distance is within a predetermined angular distance.

13. The system according to claim 9 , wherein a combination of the second topic vector and the first topic vector form an angular distance, and wherein the angular distance is within a predetermined angular distance.

14. The system according to claim 9 , wherein the first contact and the second contact are distinct.

15. The system according to claim 9 , wherein the search query includes an identifier of a first speaker in the first contact, and

execution of the computer-executable instructions further causing the system to:

generate the second topic vector associated with a second speaker of the second contact, wherein the second topic vector represents one or more topic categories based on words spoken by the second speaker in the second contact; and

transmit an identifier that identifies the second speaker as a response to the search query.

16. The system according to claim 9 , wherein the search query includes a range of time duration of a contact as a condition of search.

17. The system according to claim 10 , wherein the value indicating relevance includes a numerical value representing a percentage of relevance.

18. A computer-implemented method, comprising:

receiving a search query, wherein the search query specifies a first contact as a condition of a search;

retrieving contact data associated with the first contact from a contact content database;

generating, based on the contact data, a first topic vector associated with the first contact, wherein the first topic vector representing a context associated with the first contact, wherein the first topic vector is a multi-dimensional vector comprising dimensions that correspond to topic categories and likelihood values, wherein a likelihood value represents a relevance to a topic, and wherein the relevance is determined using a machine-learning model;

identifying, based on an angular distance between the first topic vector and a second topic vector, a second contact as contextually similar to the first contact, wherein the second contact includes the second topic vector;

retrieving at least part of recording associated with the identified second contact; and

transmitting the at least part of recording as a result of the search query.

19. The computer-implemented method according to claim 18 , wherein the contact data include at least:

recording of content of the first contact,

audio characteristics of content of the contact,

a value indicating degree of relevance between content of the first contact and a topic category, and

the first topic vector based on the value indicating degree of relevance between content of the first contact and the topic category.

20. The computer-implemented method according to claim 18 , further comprising:

identifying the second topic vector in the contact content database, wherein the second topic vector corresponds to the second contact, and wherein the second topic vector and the first topic vector are within a predetermined angular distance.

Assignments (4)
SECURITY INTEREST Recorded Dec 23, 2025
From: CALABRIO, INC.
To: ALTER DOMUS (US) LLC, AS COLLATERAL AGENT
Reel/Frame 074034/0233 →
RELEASE OF SECURITY INTEREST IN PATENTS AT R/F 066027/0897 Recorded Nov 26, 2025
From: GOLUB CAPITAL MARKETS LLC, AS COLLATERAL AGENT
To: CALABRIO, INC.
Reel/Frame 073718/0656 →
SECURITY INTEREST Recorded Jan 5, 2024
From: CALABRIO, INC.
To: GOLUB CAPITAL MARKETS LLC, AS COLLATERAL AGENT
Reel/Frame 066027/0897 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 13, 2021
From: MORGAN, DYLAN; GORDON, PAUL; CHAPLIN, BORIS; SMAAGARD, KYLE; VANCIU, CHRIS; MATSUI, MATT; CATTANEO, LAURA; BULLOCK, CATHERINE
To: CALABRIO INC.
Reel/Frame 058376/0971 →