IP Library Granted Patent US 11,580,968
Granted Patent B1
US 11,580,968 · App. 16/455,165 · Granted Feb 14, 2023

Contextual natural language understanding for conversational agents

Inventors: Arshit Gupta (Seattle, WA); Peng Zhang (Sunnyvale, CA); Rashmi Gangadharaiah (San Jose, CA); Garima Lalwani (Champaign, IL); Roger Scott Jenke (Durham, NC); Hassan Sawaf (Los Gatos, CA); Mona Diab (Seattle, WA); Katrin Kirchhoff (Seattle, WA); Adel A. Youssef (Kirkland, WA); Kalpesh N. Sutaria (Seattle, WA)
Assignee: Amazon Technologies, Inc.
G10L15/22G10L15/02G10L15/18H04L67/02
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,580,968
App. No.
16/455,165
Granted
Feb 14, 2023
Kind
B1
Abstract

Techniques are described for a contextual natural language understanding (cNLU) framework that is able to incorporate contextual signals of variable history length to perform joint intent classification (IC) and slot labeling (SL) tasks. A user utterance provided by a user within a multi-turn chat dialog between the user and a conversational agent is received. The user utterance and contextual information associated with one or more previous turns of the multi-turn chat dialog is provided to a machine learning (ML) model. An intent classification and one or more slot labels for the user utterance are then obtained from the ML model. The cNLU framework described herein thus uses, in addition to a current utterance itself, various contextual signals as input to a model to generate IC and SL predictions for each utterance of a multi-turn chat dialog.

Claims (43)

1. A computer-implemented method comprising:

outputting a first agent utterance to a multi-turn chat dialog between a user and a conversational agent;

receiving a user utterance provided by the user within the multi-turn chat dialog between the user and a conversational agent;

providing to a machine learning (ML) model:

the user utterance, and

contextual information associated with one or more previous turns of the multi-turn chat dialog, the contextual information associated with each turn of the one or more previous turns including a respective user utterance provided by the user to the multi-turn chat dialog prior to the output of the first agent utterance to the multi-turn chat dialog, a respective intent, at least one respective slot label, and a respective dialog act;

obtaining, from the ML model, an intent classification and one or more slot labels for the user utterance;

determining, based on the intent classification and the one or more slot labels obtained from the ML model for the user utterance, a second agent utterance that is responsive to the user utterance; and

outputting the second agent utterance to the multi-turn chat dialog.

2. The computer-implemented method of claim 1 , wherein the ML model includes: an encoder component used to encode the user utterance and the contextual information for each turn into a plurality of turn vectors, a context fusion component including a multi-dimensional attention layer to be applied to the plurality of turn vectors, and an intent classification and slot label prediction component used to obtain the intent classification and the one or more slots labels.

3. The computer-implemented method of claim 1 , wherein the ML model includes: a memory encoder module used to generate one or more embeddings based on the user utterance and the contextual information, and a prediction module comprising separate prediction channels for obtaining the intent classification and the one or more slot labels for the user utterance.

4. A computer-implemented method comprising:

receiving a message from a user within a multi-turn chat dialog between the user and an agent;

providing to a machine learning (ML) model of a dialog system:

the message, and

contextual information associated with one or more previous turns of the multi-turn chat dialog, at least a portion of the contextual information derived from at least one component of the dialog system other than the ML model, the contextual information associated with each turn of the one or more previous turns including a respective user utterance and including at least one of: a respective intent, at least one respective slot label, or a respective dialog act;

obtaining, from the ML model, an intent classification and one or more slot labels for the message;

determining, based on the intent classification and the one or more slot labels obtained from the ML model for the message, an agent utterance that is responsive to the user utterance; and

outputting the agent utterance to the multi-turn chat dialog.

5. The computer-implemented method of claim 4 , wherein the ML model includes: an encoder component used to encode the message and the contextual information for each turn into a plurality of turn vectors, a context fusion component including a multi-dimensional attention layer to be applied to the plurality of turn vectors, and an intent classification and slot label prediction component used to obtain the intent classification and the one or more slots labels.

6. The computer-implemented method of claim 4 , wherein the ML model includes: a memory encoder module used to generate one or more embeddings based on the message and the contextual information, and a prediction module comprising separate prediction channels for obtaining the intent classification and the one or more slot labels for the message.

7. The computer-implemented method of claim 4 , wherein the contextual information associated with each turn of the one or more previous turns includes a respective user utterance, a respective intent, at least one respective slot label, and a respective dialog act.

8. The computer-implemented method of claim 4 , wherein the ML model generates one or more turn vectors corresponding to the one or more previous turns of the multi-turn chat dialog, and wherein the method further comprises applying a multi-dimensional attention layer to the one or more turn vectors.

9. The computer-implemented method of claim 4 , wherein the contextual information further includes information related to an environment of the user.

10. The computer-implemented method of claim 4 , further comprising providing to the ML model a representation of slots to elicit in the multi-turn chat dialog based on the one or more previous turns of the multi-turn chat dialog.

11. The computer-implemented method of claim 4 , using a secondary intent classification loss function to measure performance of the ML model.

12. The computer-implemented method of claim 4 , wherein output from the ML model is provided to an ensemble model with output from one or more additional ML models to obtain the intent classification and the one or more slot labels for the message.

13. The computer-implemented method of claim 4 , wherein the ML model is a natural language understanding (NLU) model that is part of a dialog system, and wherein the intent classification and the one or more slot labels are sent to a dialog management (DM) component of the dialog system for further processing.

14. The computer-implemented method of claim 4 , wherein the ML model is a natural language understanding (NLU) model that is part of a dialog system running as a web-based service, and wherein the method further comprises providing, by the web-based service, one or more responses to the user based at least in part on the intent classification and the one or more slot labels.

15. A system comprising:

a dialog system implemented by a first one or more electronic devices to engage in an agent-user chat dialog, the dialog system comprising instructions that upon execution cause the dialog system to determine and output an agent message that is responsive to a user message in the agent-user chat dialog, the dialog system comprising instructions that upon execution cause the dialog system to determine the responsive agent message based on a given intent classification and one or more slot labels for the user message; and

a contextual natural language understanding (cNLU) system implemented by a second one or more electronic devices, the cNLU system including instructions that upon execution cause the cNLU system to:

receive a message from a user within a multi-turn chat dialog between the user and an agent;

provide to a machine learning (ML) model of the dialog system:

the message, and

contextual information associated with one or more previous turns of the multi-turn chat dialog, at least a portion of the contextual information derived from at least one component of the dialog system other than the ML model, the contextual information associated with each turn of the one or more previous turns including a respective user utterance and including at least one of: a respective intent, at least one respective slot label, or a respective dialog act;

obtain, from the ML model, an intent classification and one or more slot labels for the message; and

send the intent classification and the one or more slot labels to the dialog system.

16. The system of claim 15 , wherein the ML model includes: an encoder component used to encode the message and the contextual information for each turn into a plurality of turn vectors, a context fusion component including a multi-dimensional attention layer to be applied to the plurality of turn vectors, and an intent classification and slot label prediction component used to obtain the intent classification and the one or more slots labels.

17. The system of claim 15 , wherein the ML model includes: a memory encoder module used to generate one or more embeddings based on the message and the contextual information, and a prediction module comprising separate prediction channels for obtaining the intent classification and the one or more slot labels for the message.

18. The system of claim 15 , wherein the contextual information associated with each turn of the one or more previous turns includes a respective user utterance, a respective intent classification, at least one respective slot label, and a respective dialog act.

19. The system of claim 15 , wherein the ML model generates one or more turn vectors corresponding to the one or more previous turns of the multi-turn chat dialog, and wherein the cNLU system further includes instructions that upon execution cause the cNLU system to apply a multi-dimensional attention layer to the one or more turn vectors.

20. The system of claim 15 , wherein the ML model generates the one or more slot labels at least in part by using a gated recurrent unit (GRU).

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 8, 2019
From: GUPTA, ARSHIT; ZHANG, PENG; GANGADHARAIAH, RASHMI; LALWANI, GARIMA; JENKE, ROGER SCOTT; SAWAF, HASSAN; DIAB, MONA; KIRCHHOFF, KATRIN; YOUSSEF, ADEL A.; SUTARIA, KALPESH N.
To: AMAZON TECHNOLOGIES, INC.
Reel/Frame 049692/0178 →
Cited By (6)
US 12,217,001 US 12,249,322 US 12,340,792 US 12,541,544 US 12,591,559 US 12,682,179