IP Library Granted Patent US 12,573,401
Granted Patent B1
US 12,573,401 · App. 17/246,250 · Granted Mar 10, 2026

Neural network based conversation-aware automatic speech recognition

Inventor: Shahab Jalalvand (Summit, NJ)
Assignee: Interactions LLC
G10L15/26G06N3/08G10L15/02G10L15/04G10L15/063G10L25/30G10L2015/0631
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,573,401
App. No.
17/246,250
Granted
Mar 10, 2026
Kind
B1
Abstract

A system uses a machine learning based model such as a neural network for transcribing audio inputs. The system receives a set of audio inputs representing utterances of a conversation. For each conversation, the system determines a dialogue state for each utterance. The system uses a hierarchical language model for transcribing audio inputs of an online conversation using the received conversations. The hierarchical language model includes a top-level language model and a plurality of lower-level language model. The training is performed by (1) training the top-level language model using sequences of corresponding dialogue state, each sequence of dialogue states for a conversation, and (2) for each dialogue state, training a lower-level language model using utterances having that dialogue state. The system executes the hierarchical language model to transcribe audio input of new conversations.

Claims (88)

1 . A computer-implemented method for generating a machine learning based model for transcribing audio inputs, the computer-implemented method comprising:

receiving a set of audio inputs;

determining a set of conversations from the set of audio inputs, wherein a conversation comprises a plurality of rounds, each round representing an exchange of utterances between participants of the conversation;

for each conversation, determining a respective dialogue state for each utterance of the conversation, wherein each respective dialogue state corresponds to a set of rounds of the conversation that are related, the dialogue state corresponding to a cluster of utterance embeddings obtained by encoding utterances using a hierarchical encoding model comprising

(1) a plurality of low-level encoding models, each low-level encoding model configured to generate a context-independent embedding for a dialog round, and

(2) a high-level encoding model configured to receive as input a set of context-independent embeddings for a dialog round and output a contextual embedding for the dialog round, wherein training the low-level encoding model and the high-level encoding model includes using a set of positive and negative examples, wherein a positive example includes a dialog round and a positive response generated based on an actual response to the dialog round, and a negative example includes the dialog round and a negative response generated based on a random response from a corpus of dialogs;

training a hierarchical language model for transcribing audio inputs of a conversation using the set of conversations, the hierarchical language model comprising a top-level language model and a plurality of lower-level language models, the training comprising:

training the top-level language model using sequences of the respective dialogue states determined for the set of conversations, each sequence of dialogue states for a particular conversation in the set of conversations, the top-level language model trained to predict a probability of occurrence of a particular dialogue state, given a sequence of previous dialogue states in a corresponding conversation, and

for each dialogue state, training a plurality of lower-level language models, wherein each lower language model is trained for a source of utterance, each lower language model trained using utterances from the source having that dialogue state, the lower-level language model trained to predict the probability of occurrence of a word based on an input utterance;

receiving a new audio input for a new conversation; and

executing the hierarchical language model to transcribe the new audio input, the executing comprising, predicting the particular dialogue state using the top-level language model, and using a lower-level language model trained for a source of utterance, the lower-level language model corresponding to the predicted dialogue state to predict a word based on an utterance of the new audio input.

2 . The computer-implemented method of claim 1 , wherein each conversation is between a particular agent and a particular user, and wherein determining the particular dialogue state for an utterance of the conversation comprises:

segmenting the conversation into a set of rounds, wherein each round represents a pair of consecutive utterances comprising an utterance by the particular agent and an utterance by the particular user;

performing clustering of the set of rounds to determine a plurality of clusters; and

associating each cluster in the plurality of clusters with the particular dialogue state.

3 . The computer-implemented method of claim 2 , wherein performing clustering of the set of rounds comprises:

determining a set of embeddings, wherein an embedding is for a round; and

performing clustering of the set of embeddings.

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

identifying each dialogue state with a set of keywords based on a subset of utterances having the dialogue state.

5 . The computer-implemented method of claim 4 , further comprising: determining the set of keywords for the particular dialogue state based on term frequency-inverse document frequency of keywords occurring in utterances having the particular dialogue state.

6 . The computer-implemented method of claim 5 , wherein the particular dialogue state is associated with a particular cluster in the plurality of clusters, wherein determining the set of keywords for the particular dialogue state comprises:

receiving a set of conversations;

for each conversation in the set of conversations, for each round in the conversation, splitting the round into an agent utterance and a user utterance;

extracting a first set of keywords from agent utterances belonging to the particular cluster;

extracting a second set of keywords from user utterances belonging to the particular cluster; and

combining the first set of keywords and the second set of keywords as the set of keywords.

7 . The computer-implemented method of claim 1 , wherein the top-level language model is an n-gram model trained on sequences of dialogue states.

8 . A non-transitory computer-readable storage medium storing a hierarchical language model comprising a top-level language model and a plurality of lower-level language models, wherein the hierarchical language model is trained using steps comprising:

receiving a set of audio inputs;

determining a set of conversations from the set of audio inputs, wherein a conversation comprises a plurality of rounds, each round representing an exchange of utterances between participants of the conversation;

for each conversation, determining a respective dialogue state for each utterance of the conversation, wherein each respective dialogue state corresponds to a set of rounds of the conversation that are related, the dialogue state corresponding to a cluster of utterance embeddings obtained by encoding utterances using a hierarchical encoding model comprising

(1) a plurality of low-level encoding models, each low-level encoding model configured to generate a context-independent embedding for a dialog round, and

(2) a high-level encoding model configured to receive as input a set of context-independent embeddings for a dialog round and output a contextual embedding for the dialog round, wherein training the low-level encoding model and the high-level encoding model includes using a set of positive and negative examples, wherein a positive example includes a dialog round and a positive response generated based on an actual response to the dialog round, and a negative example includes the dialog round and a negative response generated based on a random response from a corpus of dialogs;

training a hierarchical language model for transcribing audio inputs of a conversation using the set of conversations, the hierarchical language model comprising a top-level language model and a plurality of lower-level language models, the training comprising:

training the top-level language model using sequences of the respective dialogue states determined for the set of conversations, each sequence of dialogue states for a particular conversation in the set of conversations, the top-level language model trained to predict a probability of occurrence of a particular dialogue state, given a sequence of previous dialogue states in a corresponding conversation, and

for each dialogue state, training a plurality of lower-level language models, wherein each lower language model is trained for a source of utterance, each lower language model trained using utterances from the source having that dialogue state, the lower-level language model trained to predict the probability of occurrence of a word based on an input utterance;

receiving a new audio input for a new conversation; and

executing the hierarchical language model to transcribe the new audio input, the executing comprising, predicting the particular dialogue state using the top-level language model, and using a lower-level language model trained for a source of utterance, the lower-level language model corresponding to the predicted dialogue state to predict a word based on an utterance of the new audio input.

9 . The non-transitory computer-readable storage medium of claim 8 , wherein each conversation is between a particular agent and a particular user, and wherein determining a corresponding dialogue state for each utterance of the conversation comprises:

segmenting the conversation into a set of rounds, wherein each round represents a pair of consecutive utterances comprising an utterance by the particular agent and an utterance by the particular user;

performing clustering of the set of rounds to determine a plurality of clusters; and

associating each cluster in the plurality of clusters with the corresponding dialogue state.

10 . The non-transitory computer-readable storage medium of claim 9 , wherein performing clustering of the set of rounds comprises:

determining a set of embeddings, wherein an embedding is for a round; and

performing clustering of the set of embeddings.

11 . The non-transitory computer-readable storage medium of claim 9 , wherein the hierarchical language model is trained using steps further comprising:

identifying each dialogue state with a set of keywords based on a subset of utterances having the dialogue state.

12 . The non-transitory computer-readable storage medium of claim 11 , wherein the hierarchical language model is trained using steps further comprising:

determining the set of keywords for a particular dialogue state based on term frequency-inverse document frequency of keywords occurring in utterances having the dialogue state.

13 . The non-transitory computer-readable storage medium of claim 12 , wherein the particular dialogue state is associated with a particular cluster in the plurality of clusters, wherein determining the set of keywords for the particular dialogue state comprises:

receiving a set of conversations;

for each conversation in the set of conversations, for each round in the conversation, splitting the round into an agent utterance and a user utterance;

extracting a first set of keywords from agent utterances belonging to the particular cluster;

extracting a second set of keywords from user utterances belonging to the particular cluster; and

combining the first set of keywords and the second set of keywords as the set of keywords.

14 . The non-transitory computer-readable storage medium of claim 8 , wherein the top-level language model is an n-gram model trained on sequences of dialogue states.

15 . A computer system comprising:

a computer processor; and

a non-transitory computer-readable storage medium storing instructions that when executed by the computer processor cause the computer processor to perform steps comprising:

receiving a set of audio inputs;

receiving a set of audio inputs;

determining a set of conversations from the set of audio inputs, wherein a conversation comprises a plurality of rounds, each round representing an exchange of utterances between participants of the conversation;

for each conversation, determining a respective dialogue state for each utterance of the conversation, wherein each respective dialogue state corresponds to a set of rounds of the conversation that are related, the dialogue state corresponding to a cluster of utterance embeddings obtained by encoding utterances using a hierarchical encoding model comprising

(1) a plurality of low-level encoding models, each low-level encoding model configured to generate a context-independent embedding for a dialog round, and

(2) a high-level encoding model configured to receive as input a set of context-independent embeddings for a dialog round and output a contextual embedding for the dialog round, wherein training the low-level encoding model and the high-level encoding model includes using a set of positive and negative examples, wherein a positive example includes a dialog round and a positive response generated based on an actual response to the dialog round, and a negative example includes the dialog round and a negative response generated based on a random response from a corpus of dialogs;

training a hierarchical language model for transcribing audio inputs of a conversation using the set of conversations, the hierarchical language model comprising a top-level language model and a plurality of lower-level language models, the training comprising:

training the top-level language model using sequences of the respective dialogue states determined for the set of conversations, each sequence of dialogue states for a particular conversation in the set of conversations, the top-level language model trained to predict a probability of occurrence of a particular dialogue state, given a sequence of previous dialogue states in a corresponding conversation, and

for each dialogue state, training a plurality of lower-level language models, wherein each lower language model is trained for a source of utterance, each lower language model trained using utterances from the source having that dialogue state, the lower-level language model trained to predict the probability of occurrence of a word based on an input utterance;

receiving a new audio input for a new conversation; and

executing the hierarchical language model to transcribe the new audio input, the executing comprising, predicting the particular dialogue state using the top-level language model, and using a lower-level language model trained for a source of utterance, the lower-level language model corresponding to the predicted dialogue state to predict a word based on an utterance of the new audio input.

16 . The computer system of claim 15 , wherein each conversation is between a particular agent and a particular user, and wherein determining the particular dialogue state for an utterance of the conversation comprises:

segmenting the conversation into a set of rounds, wherein each round represents a pair of consecutive utterances comprising an utterance by the particular agent and an utterance by the particular user;

performing clustering of the set of rounds to determine a plurality of clusters; and

associating each cluster in the plurality of clusters with the particular dialogue state.

17 . The computer system of claim 16 , wherein performing clustering of the set of rounds comprises:

determining a set of embeddings, wherein an embedding is for a round; and

performing clustering of the set of embeddings.

18 . The computer system of claim 16 , wherein the instructions further cause the computer processor to perform steps comprising:

identifying each dialogue state with a set of keywords based on a subset of utterances having the dialogue state.

19 . The computer system of claim 18 , wherein the instructions further cause the computer processor to perform steps comprising:

determining the set of keywords for the particular dialogue state based on term frequency-inverse document frequency of keywords occurring in utterances having the particular dialogue state.

20 . The computer system of claim 19 , wherein the particular dialogue state is associated with a particular cluster in the plurality of clusters, wherein determining the set of keywords for the particular dialogue state further comprises:

receiving a set of conversations;

for each conversation in the set of conversations, for each round in the conversation, splitting the round into an agent utterance and a user utterance;

extracting a first set of keywords from agent utterances belonging to the particular cluster;

extracting a second set of keywords from user utterances belonging to the particular cluster; and

combining the first set of keywords and the second set of keywords as the set of keywords.

Assignments (4)
RELEASE OF SECURITY INTEREST Recorded Sep 4, 2025
From: RUNWAY GROWTH FINANCE CORP., AS AGENT
To: INTERACTIONS CORPORATION; INTERACTIONS LLC
Reel/Frame 072802/0931 →
CORRECTIVE ASSIGNMENT TO CORRECT THE THE APPLICATION NUMBER PREVIOUSLY RECORDED AT REEL: 060445 FRAME: 0733. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Feb 1, 2023
From: INTERACTIONS LLC; INTERACTIONS CORPORATION
To: RUNWAY GROWTH FINANCE CORP.
Reel/Frame 062919/0063 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Jun 27, 2022
From: INTERACTIONS LLC; INTERACTIONS CORPORATION
To: RUNWAY GROWTH FINANCE CORP.
Reel/Frame 060445/0733 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 30, 2021
From: JALALVAND, SHAHAB
To: INTERACTIONS LLC
Reel/Frame 056390/0707 →
References Cited (14)
US 9324323B1 · Bikel · 2016 [cited by examiner]
US 10096317B2 · Selfridge et al. · 2018 [cited by applicant]
US 10540967B2 · Perez · 2020 [cited by examiner]
US 10832658B2 · Gunasekara · 2020 [cited by examiner]
US 11151332B2 · Nogima · 2021 [cited by examiner]
US 20170287478A1 · Schulz · 2017 [cited by examiner]
US 20200004878A1 · Beaumont · 2020 [cited by examiner]
US 20200218780A1 · Mei · 2020 [cited by examiner]
Zhang, Xiang, and Qiang Yang. “Transfer hierarchical attention network for generative dialog system.” International Journal of Automation and Computing 16.6 (2019): 720-736. (Year: 2019). [cited by examiner]
1904Labs, “Generative Pretrained Transformer,” Date Unknown, 3 pages, [Online] [Retrieved on Jun. 9, 2021] Retrieved from the Internet <URL: https://1904labs.com/generative-pretrained-transformer/>. [cited by applicant]
Allen Institute for AI, “ELMo: Deep contextualized word representations,” 2018, four pages, [Online] [Retrieved on Jun. 9, 2021] Retrieved from the Internet <URL: https://allennlp.org/elmo>. [cited by applicant]
Devlin, J. et al., “BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding,” arXiv:1810.04805v2, May 24, 2019, pp. 1-16. [cited by applicant]
Peters, M.E. et al., “Deep contextualized word representations,” arXiv:1802.05365v2, Mar. 22, 2018, pp. 1-15. [cited by applicant]
Shree, P., “The Journey of Open AI GPT models,” Nov. 9, 2020, 13 pages, [Online] [Retrieved on Jun. 9, 2021] Retrieved from the Internet <URL: https://medium.com/walmartglobaltech/the-journey-of-open-ai-gpt-models-32d95… [cited by applicant]