IP Library Granted Patent US 11,144,730
Granted Patent B2
US 11,144,730 · App. 16/535,507 · Granted Oct 12, 2021

Modeling end to end dialogues using intent oriented decoding

Inventors: Anand Kumar Singh (Pune, IN); Nikhil Goel (Delhi, IN); Pavitar Singh (Haryana, IN); Shubham Sharma (Uttar Pradesh, IN); Vasant Srinivasan (Haryana, IN); Yoginkumar Patel (Gujarat, IN)
Assignee: SPRINKLR, INC.
G06F40/35G06F40/56
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 11,144,730
App. No.
16/535,507
Granted
Oct 12, 2021
Kind
B2
Abstract

A dialogue intent analyzer uses a conversation between a user and agent, and intents in the conversation to predict a set of answers that better respond to pending user question. The dialogue intent analyzer understands the context surrounding the pending question by capturing and modeling prior conversation and intents within the conversation. Dialogue intent analyzer also reduces genericness in predicted answers by weighting previously used answers based on their frequency and length. Dialogue intent analyzer also increases diversity of predicted answers by using a diverse beam search.

Claims (127)

1. A computer architecture operating on a hardware computing device and configured to predict answers to questions, the computer architecture comprising:

an intent detector configured to:

receive a dialogue of questions and answers,

identify intents in the questions and answers,

identify one of the questions as a pending question, and

identify a series of questions and answers preceding the pending question as a conversation;

an intent transition model configured to generate desired answer intents from the intents;

an answer prediction model configured to generate answer predictions based on the pending question with intents, the conversation with intents, and the desired answer intents;

a question encoder in the answer prediction model configured to generate a question vector based on the pending question with intents;

a conversation encoder configured to generate a conversation vector based on the conversation with intents; and

a decoder configured to generate the answer predictions based on the question vector, the conversation vector, and the desired answer intents.

2. A computer architecture operating on a hardware computing device and configured to predict answers to questions, the computer architecture comprising:

an intent detector configured to:

receive a dialogue of questions and answers,

identify intents in the questions and answers,

identify one of the questions as a pending question, and

identify a series of questions and answers preceding the pending question as a conversation;

an intent transition model configured to generate desired answer intents from the intents;

an answer prediction model configured to generate answer predictions based on the pending question with intents, the conversation with intents, and the desired answer intents;

wherein the intent decoder is configured to perform a diverse beam search on the desired answer intents and use results of the diverse beam search to generate the answer predictions.

3. A computer program stored on a non-transitory storage medium, the computer program comprising a set of instructions that, when executed by a hardware processor, cause the hardware processor to:

operate an answer prediction model;

capture a dialog that includes a series of questions and answers;

input a pending question in the dialog into the answer prediction model;

input a conversation of questions and answers prior to the pending question into the answer prediction model to capture a context for the pending question; and

use the answer prediction model to generate answer predictions for the pending question;

wherein the instructions, when executed by the hardware processor, operate an intent detector configured to:

identify intents in the pending question;

identify intents in the questions and answers in the conversation;

input the pending question with intents into the answer prediction model;

input the conversation with intents into the answer prediction model; and

use the question with intents and the conversation with intents to generate the answer predictions;

wherein the instructions, when executed by the hardware processor, are further configured to:

operate an intent transition model;

combine intents in the dialogue into a conversation intent journey;

inset the conversation intent journey into the intent transition model to generate desired answer intents;

input the desire answer intents into the answer prediction model to generate the answer predictions;

wherein the instructions, when executed by the hardware processor, are further configured to:

input the pending question with intents into a question encoder in the answer prediction model;

input the conversation with intents into a conversation encoder in the answer prediction model; and

input the desired answer intents into a decoder in the answer prediction model.

4. The computer program of claim 3 , wherein the instructions, when executed by the hardware processor, are further configured to:

input a question vector generated by the question encoder into the decoder; and

input a conversation vector generated by the conversation encoder into the decoder.

5. The computer program of claim 3 , wherein the instructions, when executed by the hardware processor, are further configured to:

perform a diverse beam search on the desired answer intents; and

use results of the diverse beam search as seed values in the decoder to increase diversity of the answer predictions.

6. The computer program of claim 3 , wherein the instructions, when executed by the hardware processor, are further configured to:

store a set of questions and answers from prior dialogues to train the answer prediction model; and

assign lower weights to the most frequently used answers in the prior dialogues and higher weights to the less frequently used answers in the prior dialogues to reduce genericness of the answer predictions.

7. The computer program of claim 6 , wherein the instructions, when executed by the hardware processor, are further configured to:

assign lower weights to shorter answers in the prior dialogues and higher weights to longer answers in the prior dialogues to further reduce a genericness of the answer predictions.

8. The computer program of claim 3 , wherein the answer prediction model uses a Seq2Seq encoder-decoder.

9. A processing system for operating a dialogue analyzer, the processing system comprising:

a processing device configured to:

operate an intent detector;

operate an answer prediction model;

capture a dialogue of user questions and agent answers to the user questions;

use the intent detector to identify question intents in the user questions and answer intents in the agent answers;

identify a pending question in the dialogue;

use the intent detector to add intents to the pending question;

input the pending question with intents into the answer prediction model;

identify a sequence of questions and answers prior to the pending question as a conversation;

use the intent detector to add intents to the questions and answers;

input the conversation with intents into the answer prediction model;

use the answer prediction model to generate answer predictions for the pending question based on the question with intents and the conversation with intents;

input the pending question with intents into a question encoder in the answer prediction model;

input the conversation with intents into a conversation encoder in the answer prediction model; and

input the answer intents into a decoder in the answer prediction model;

wherein the question encoder generates a question vector and inputs the question vector into the decoder and the conversation encoder generates a conversation vector and inputs the conversation vector into the decoder.

10. The processing system of claim 9 , wherein the intents added to the questions are categories for phrases in the questions and the intents added to the answers are categories for phrases in the answers.

11. A processing system for operating a dialogue analyzer, the processing system comprising:

a processing device configured to:

operate an intent detector;

operate an answer prediction model;

capture a dialogue of user questions and agent answers to the user questions;

use the intent detector to identify question intents in the user questions and answer intents in the agent answers;

identify a pending question in the dialogue;

use the intent detector to add intents to the pending question;

input the pending question with intents into the answer prediction model;

identify a sequence of questions and answers prior to the pending question as a conversation;

use the intent detector to add intents to the questions and answers;

input the conversation with intents into the answer prediction model;

use the answer prediction model to generate answer predictions for the pending question based on the question with intents and the conversation with intents;

wherein the processing device is further configured to:

operate an intent transition model;

use the intents from the conversation as a conversation intent journey;

input the conversation intent journey into the intent transition model;

use the intent transition model to generate desired answer intents from the conversation intent journey;

input the answer intents into the answer prediction model;

generate the answer predictions with the answer prediction model based on the desired answer intents;

perform a diverse beam search on the desired answer intents; and

use results of the diverse beam search in the answer prediction model to generate the answer predictions.

12. The processing system of claim 11 , wherein the intents added to the questions are categories for phrases in the questions and the intents added to the answers are categories for phrases in the answers.

13. A processing system for operating a dialogue analyzer, the processing system comprising:

a processing device configured to:

operate an intent detector;

operate an answer prediction model;

capture a dialogue of user questions and agent answers to the user questions;

use the intent detector to identify question intents in the user questions and answer intents in the agent answers;

identify a pending question in the dialogue;

use the intent detector to add intents to the pending question;

input the pending question with intents into the answer prediction model;

identify a sequence of questions and answers prior to the pending question as a conversation;

use the intent detector to add intents to the questions and answers;

input the conversation with intents into the answer prediction model; and

use the answer prediction model to generate answer predictions for the pending question based on the question with intents and the conversation with intents,

wherein the processing device is further configured to:

operate an intent transition model;

use the intents from the conversation as a conversation intent journey;

input the conversation intent journey into the intent transition model;

use the intent transition model to generate desired answer intents from the conversation intent journey;

input the desired answer intents into the answer prediction model;

generate the answer predictions with the answer prediction model based on the desired answer intents;

wherein the processing device is further configured to:

store training data including dialogues of questions and answers;

identify intents in the questions and answers in the training data;

identify a pending question in the training data;

input the pending question with intents from the training data into a question encoder in the answer prediction model;

identify a conversation of questions and answers in the training data prior to the pending question;

input the questions with intents and answers with intents for the conversation from the training data into a conversation encoder in the answer prediction model;

identify an answer in the training data to the pending question; and

input the answer in the training data to the pending question with intents into a decoder in the answer prediction model.

14. The processing system of claim 13 , wherein the processing device is further configured to:

increase weights for answers in the training data occurring with less frequency; and

decrease weights for answers in the training data occurring with more frequency.

15. The processing system of claim 13 , wherein the intents added to the questions are categories for phrases in the questions and the intents added to the answers are categories for phrases in the answers.

Assignments (4)
SUPPLEMENT TO PATENT SECURITY AGREEMENT Recorded Feb 2, 2023
From: SPRINKLR, INC.
To: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
Reel/Frame 062635/0819 →
RELEASE OF SECURITY INTEREST Recorded Jan 25, 2023
From: SIXTH STREET SPECIALTY LENDING, INC. (F/K/A TPG SPECIALITY LENDING, INC.)
To: SPRINKLR, INC.
Reel/Frame 062489/0762 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 21, 2021
From: SPRINKLR, INC.
To: TPG SPECIALTY LENDING, INC.
Reel/Frame 056608/0874 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 8, 2019
From: SINGH, ANAND KUMAR; GOEL, NIKHIL; SINGH, PAVITAR; SHARMA, SHUBHAM; SRINIVASAN, VASANT; PATEL, YOGINKUMAR
To: SPRINKLR, INC.
Reel/Frame 050001/0345 →