IP Library Granted Patent US 12,249,334
Granted Patent B2
US 12,249,334 · App. 17/243,330 · Granted Mar 11, 2025

Systems and methods for identifying conversation roles

Inventors: Steven John Graff (Grapevine, TX); Sayeed Khawja Mohammed (Plano, TX); Devanshu D. Sheth (Dallas, TX)
Assignee: OPEN TEXT HOLDINGS, INC.
G10L15/26G06F9/547G06F40/20G10L15/005
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,249,334
App. No.
17/243,330
Granted
Mar 11, 2025
Kind
B2
Abstract

A text mining engine running on an artificial platform is trained to perform conversation role identification, semantic analysis, summarization, language detection, etc. The text mining engine analyzes words in a transcript that represent unique characteristics of a conversation and, based on the unique characteristics and utilizing classification predictive modeling, determines a conversation role for each participant of the conversation and metadata describing the conversation such as tonality of words spoken by a participant in a particular conversation role. Outputs from the text mining engine are indexed and useful for various purposes. For instance, because the system can identify which speaker in a customer service call is likely an agent and which speaker is likely a customer, words spoken by the agent can be analyzed for compliance reasons, training agents, providing quality assurance for improving customer service, providing feedback to improve the performance of the text mining engine, etc.

Claims (51)

1. A method, comprising:

receiving or obtaining, by a system executing on a processor, a transcript of a conversation comprising multiple participants while the conversation is ongoing, wherein the transcript is generated from an audio of the conversation utilizing a speech-to-text recognition tool and wherein the transcript comprises text associated with the multiple participants and has no metadata describing participants of the conversation;

making, by the system, in real time, while the conversation is ongoing, an application programming interface (API) call with the transcript to a text mining engine running on an artificial intelligence platform, wherein the API call specifies a categorization functionality of the text mining engine for identifying conversation roles of the multiple participants of the conversation from the transcript comprising text associated with the multiple participants, wherein the text mining engine is a machine learning model trained using examples of conversations among people with known conversation roles, and wherein performing the categorization functionality by the text mining engine includes analyzing words in the transcript comprising text associated with the multiple participants that represent unique characteristics of the conversation and determining, based on the unique characteristics of the conversation and utilizing classification predictive modeling, a conversation role for each of the multiple participants of the conversation, wherein the text mining engine identifies individual speakers of the multiple participants by performing content analytics only on the transcript, with no further metadata describing participants of the conversation, wherein the text mining engine is configured with an automatic feedback loop to continuously provide the text mining engine with knowledge obtained from new conversations, and wherein the transcript passed to the text mining engine includes a predefined amount of initial text from each of the multiple participants;

receiving, by the system, outputs from the text mining engine in real time, while the conversation is ongoing, the outputs including identification of the conversation roles of the multiple participants of the conversation included in the transcript; and

storing, by the system in an index, the identification of the conversation roles of the participants of the conversation, wherein the index is searchable by a search engine.

2. The method according to claim 1 , wherein the text mining engine is adapted for performing, in addition to the categorization functionality, at least one of a sentiment analysis, summarization, or language detection.

3. The method according to claim 2 , wherein the conversation roles consist of an agent and a customer.

4. The method according to claim 3 , further comprising:

generating an interaction analysis report on the agent, the customer, or both, the interaction analysis report including a tonality result from the sentiment analysis.

5. The method according to claim 3 , further comprising:

generating an administrative interface with analytics tools for analyzing what is said in the conversation by the agent, a caller, or both.

6. The method according to claim 3 , further comprising:

generating an administrative interface with quality assurance configuration input fields for setting up quality assurance measures for determining whether the agent meets a quality assurance goal.

7. The method according to claim 1 , further comprising:

generating an administrative interface with a search function supported by the search engine.

8. The method of claim 1 , further comprising, in response to receiving the outputs from the text mining engine, initiating the provision of coaching assistance to a first one of the multiple participants in real time, while the conversation is ongoing.

9. A system, comprising:

a processor;

a non-transitory computer-readable medium; and

stored instructions translatable by the processor for:

receiving or obtaining a transcript of a conversation comprising multiple participants in real time, while the conversation is ongoing, wherein the transcript is generated from an audio of the conversation utilizing a speech-to-text recognition tool and wherein the transcript comprises text associated with the multiple participants and has no metadata describing participants of the conversation;

making, in real time, while the conversation is ongoing, an application programming interface (API) call with the transcript to a text mining engine running on an artificial intelligence platform, wherein the API call specifies a categorization functionality of the text mining engine for identifying conversation roles of the multiple participants of the conversation from the transcript comprising text associated with the multiple participants, wherein the text mining engine is a machine learning model trained using examples of conversations among people with known conversation roles, and wherein performing the categorization functionality by the text mining engine includes analyzing words in the transcript comprising text associated with the multiple participants that represent unique characteristics of the conversation comprising text associated with the multiple participants and determining, based on the unique characteristics of the conversation and utilizing classification predictive modeling, a conversation role for each of the multiple participants of the conversation, wherein the text mining engine identifies individual speakers of the multiple participants by performing content analytics only on the transcript, with no further metadata describing participants of the conversation, wherein the text mining engine is configured with an automatic feedback loop to continuously provide the text mining engine with knowledge obtained from new conversations, and wherein the transcript passed to the text mining engine includes a predefined amount of initial text from each of the multiple participants;

receiving, in real time, while the conversation is ongoing, outputs from the text mining engine, the outputs including identification of the conversation roles of the multiple participants of the conversation included in the transcript; and

storing, in an index, the identification of the conversation roles of the participants of the conversation, wherein the index is searchable by a search engine.

10. The system of claim 9 , wherein the text mining engine is adapted for performing, in addition to the categorization functionality, at least one of a sentiment analysis, summarization, or language detection.

11. The system of claim 10 , wherein the conversation roles consist of an agent and a customer.

12. The system of claim 11 , wherein the stored instructions are further translatable by the processor for:

generating an interaction analysis report on the agent, the customer, or both, the interaction analysis report including a tonality result from the sentiment analysis.

13. The system of claim 11 , wherein the stored instructions are further translatable by the processor for:

generating an administrative interface with analytics tools for analyzing what is said in the conversation by the agent, a caller, or both.

14. The system of claim 11 , wherein the stored instructions are further translatable by the processor for:

generating an administrative interface with quality assurance configuration input fields for setting up quality assurance measures for determining whether the agent meets a quality assurance goal.

15. The system of claim 9 , wherein the stored instructions are further translatable by the processor for:

generating an administrative interface with a search function supported by the search engine.

16. The system of claim 9 , wherein the stored instructions further comprise instructions translatable by the processor for:

in response to receiving the outputs from the text mining engine, initiating the provision of coaching assistance to a first one of the multiple participants in real time, while the conversation is ongoing.

17. A computer program product comprising a non-transitory computer-readable medium storing instructions translatable by a processor for:

receiving or obtaining a transcript of a conversation comprising multiple participants in real time, while the conversation is ongoing, wherein the transcript is generated from an audio of the conversation utilizing a speech-to-text recognition tool and wherein the transcript comprises text associated with the multiple participants and has no metadata describing participants of the conversation;

making, in real time, while the conversation is ongoing, an application programming interface (API) call with the transcript to a text mining engine running on an artificial intelligence platform, wherein the API call specifies a categorization functionality of the text mining engine for identifying conversation roles of the multiple participants of the conversation from the transcript comprising text associated with the multiple participants, wherein the text mining engine is a machine learning model trained using examples of conversations among people with known conversation roles, and wherein performing the categorization functionality by the text mining engine includes analyzing words in the transcript comprising text associated with the multiple participants that represent unique characteristics of the conversation comprising text associated with the multiple participants and determining, based on the unique characteristics of the conversation and utilizing classification predictive modeling, a conversation role for each of the multiple participants of the conversation, wherein the text mining engine identifies individual speakers of the multiple participants by performing content analytics only on the transcript, with no further metadata describing participants of the conversation, wherein the text mining engine is configured with an automatic feedback loop to continuously provide the text mining engine with knowledge obtained from new conversations, and wherein the transcript passed to the text mining engine includes a predefined amount of initial text from each of the multiple participants;

receiving, in real time, while the conversation is ongoing, outputs from the text mining engine, the outputs including identification of the conversation roles of the multiple participants of the conversation included in the transcript; and

storing, in an index, the identification of the conversation roles of the participants of the conversation, wherein the index is searchable by a search engine.

18. The computer program product of claim 17 , wherein the text mining engine is adapted for performing, in addition to the categorization functionality, at least one of a sentiment analysis, summarization, or language detection.

19. The computer program product of claim 18 , wherein the conversation roles consist of an agent and a customer.

20. The computer program product of claim 19 , wherein the instructions are further translatable by the processor for:

generating an interaction analysis report on the agent, the customer, or both, the interaction analysis report including a tonality result from the sentiment analysis.

21. The computer program product of claim 19 , wherein the instructions are further translatable by the processor for:

generating an administrative interface with analytics tools for analyzing what is said in the conversation by the agent, a caller, or both.

22. The computer program product of claim 19 , wherein the instructions are further translatable by the processor for:

generating an administrative interface with quality assurance configuration input fields for setting up quality assurance measures for determining whether the agent meets a quality assurance goal.

23. The computer program product of claim 17 , wherein the instructions are further translatable by the processor for:

in response to receiving the outputs from the text mining engine, initiating the provision of coaching assistance to a first one of the multiple participants in real time, while the conversation is ongoing.

Assignments (2)
MERGER Recorded Jun 23, 2026
From: OPEN TEXT HOLDINGS, INC.
To: OPEN TEXT INC.
Reel/Frame 075054/0763 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 22, 2021
From: GRAFF, STEVEN JOHN; MOHAMMED, SAYEED KHAWJA; SHETH, DAVANSHU D.
To: OPEN TEXT HOLDINGS, INC.
Reel/Frame 056610/0565 →
Continuity (2)
Provisional Application 63016839 · Apr 28, 2020
Related Publication 20210335367A1 · Oct 28, 2021
References Cited (49)
US 7631343B1 · Bennett · 2009 [cited by examiner]
US 8515765B2 · Baldwin · 2013 [cited by examiner]
US 10395648B1 · Benkreira et al. · 2019 [cited by applicant]
US 10735592B1 · Liu · 2020 [cited by examiner]
US 10824979B1 · Veloso · 2020 [cited by examiner]
US 11140265B1 · Palmer · 2021 [cited by examiner]
US 11544924B1 · Lee · 2023 [cited by examiner]
US 11631401B1 · Nudd · 2023 [cited by examiner]
US 11869509B1 · Agassi · 2024 [cited by examiner]
US 12039982B2 · El Shafey · 2024 [cited by examiner]
US 20040167911A1 · Wakefield · 2004 [cited by examiner]
US 20090313225A1 · Nordlinger · 2009 [cited by examiner]
US 20140140497A1 · Ripa · 2014 [cited by examiner]
US 20150178371A1 · Seth · 2015 [cited by examiner]
US 20170004517A1 · Jaggi · 2017 [cited by examiner]
US 20170177711A1 · Thomas · 2017 [cited by examiner]
US 20170263245A1 · Mizumoto · 2017 [cited by examiner]
US 20180239959A1 · Bui · 2018 [cited by examiner]
US 20180254051A1 · Church · 2018 [cited by examiner]
US 20180336898A1 · Cook · 2018 [cited by examiner]
US 20180336899A1 · Cook · 2018 [cited by examiner]
US 20190245973A1 · Dwyer et al. · 2019 [cited by applicant]
US 20190253558A1 · Haukioja et al. · 2019 [cited by applicant]
US 20190327103A1 · Niekrasz · 2019 [cited by examiner]
US 20190364131A1 · Rogynskyy · 2019 [cited by examiner]
US 20190379791A1 · Winter et al. · 2019 [cited by applicant]
US 20190394057A1 · Bujnowski · 2019 [cited by examiner]
US 20200243095A1 · Adlersberg · 2020 [cited by examiner]
US 20200279567A1 · Adlersberg · 2020 [cited by examiner]
US 20200342138A1 · Ju · 2020 [cited by examiner]
US 20200342860A1 · Ju · 2020 [cited by examiner]
US 20200403818A1 · Daredia · 2020 [cited by examiner]
US 20210081497A1 · Qin · 2021 [cited by examiner]
US 20210125190A1 · Coman · 2021 [cited by examiner]
US 20210142785A1 · Wang · 2021 [cited by examiner]
US 20210150654A1 · Moradzadeh · 2021 [cited by examiner]
US 20210157834A1 · Sivasubramanian · 2021 [cited by examiner]
US 20210158235A1 · Sivasubramanian · 2021 [cited by examiner]
US 20210183488A1 · Reisfeld · 2021 [cited by examiner]
US 20210272128A1 · Slawson · 2021 [cited by examiner]
US 20210304107A1 · Fink · 2021 [cited by examiner]
US 20210335367A1 · Graff · 2021 [cited by examiner]
US 20220050922A1 · Ju · 2022 [cited by examiner]
US 20220199094A1 · El Shafey · 2022 [cited by examiner]
US 20240236234A1 · Soundar · 2024 [cited by examiner]
WO WO2015100362 · 2015 [cited by applicant]
International Search Report and Written Opinion issued for International PCT Application No. PCT/US2021/029721, mailed Jul. 27, 2021, 6 pages. [cited by applicant]
International Preliminary Report on Patentability (IPRP) issued for International PCT Application No. PCT/US2021/029721, mailed Nov. 10, 2022, 5 pages. [cited by applicant]
Extended European Search Report issued by the European Patent Office (EPO) for European Patent Application No. 21796603.5, mailed Apr. 2, 2024, 10 pages. [cited by applicant]
Cited By (1)
US 12,494,933