IP Library Granted Patent US 11,978,437
Granted Patent B1
US 11,978,437 · App. 17/119,099 · Granted May 7, 2024

Natural language processing

Inventors: Govindarajan Sundaram Thattai (Fremont, CA); Qing Ping (Santa Clara, CA); Feiyang Niu (Hayward, CA); Joel Joseph Chengottusseriyil (San Jose, CA); Prashanth Rajagopal (San Mateo, CA); Qiaozi Gao (San Mateo, CA); Aishwarya Naresh Reganti (San Jose, CA); Gokhan Tur (Los Altos, CA); Dilek Hakkani-Tur (Los Altos, CA); Rohit Prasad (Lexington, MA); Premkumar Natarajan (Rolling Hills Estates, CA)
Assignee: Amazon Technologies, Inc.
G10L15/1815G06F16/22G06F21/6218G10L15/22G10L15/30G10L15/1822G10L15/183G10L15/19G10L2015/223
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,978,437
App. No.
17/119,099
Granted
May 7, 2024
Kind
B1
Abstract

Devices and techniques are generally described for learning personalized concepts for natural language processing. In various examples, a first natural language input may be received. In some examples, a determination may be made that the first natural language input comprises non-actionable slot data. A dialog session may be initiated with the user. In some examples, first slot data that is indicated by the user during the dialog session may be determined. In various examples, data representing the first slot data may be stored in a database in association with the first natural language input.

Claims (122)

1. A method comprising:

receiving first natural language input data representing a request;

determining first intent data representing a semantic interpretation of the first natural language input data;

determining that first slot data represents a first entity of the first natural language input data, the first entity being unrecognized;

determining using the first natural language input data and the first slot data, that the first entity is teachable;

generating first data representing a first prompt for clarification of the first entity;

outputting first audio representing the first data using a text to speech (TTS) component;

receiving, based at least in part on the first prompt, second slot data;

sending the second slot data to a natural language understanding component;

determining, by the natural language understanding component, that the second slot data is undefined;

generating second data representing a second prompt requesting clarification of the second slot data;

outputting second audio data representing the second data using the TTS component;

receiving second natural language input data representing a response to the second prompt;

determining, by a validation component, that the second natural language input data is recognized by a first speechlet configured to process the first intent data;

storing third data in a non-transitory computer-readable memory, the third data representing an association between the first slot data and the second natural language input data; and

executing a first action by the first speechlet using the first intent data and the third data.

2. The method of claim 1 , further comprising:

receiving third natural language input data representing a second request;

determining that second slot data of the third natural language input data represents the first entity;

searching the non-transitory computer-readable memory using the second slot data;

receiving the third data from the non-transitory computer-readable memory; and

executing the first action by the first speechlet using the third data.

3. The method of claim 1 , further comprising:

receiving third natural language input data representing a second request;

determining second intent data representing a second semantic interpretation of the third natural language input data, wherein the second intent data is different from the first intent data;

determining that second slot data of the third natural language input data represents the first entity;

determining that the first intent data is related to a first slot data type;

determining that the second intent data is related to the first slot data type; and

executing a second action by a second speechlet using the second intent data and the third data.

4. A method comprising:

receiving first data representing a first natural language input;

receiving, by a first component, first slot data representing a portion of the first natural language input that comprises an unrecognized entity;

determining, by the first component, using the first data and the first slot data, that the unrecognized entity is teachable;

generating a first prompt for clarification of the unrecognized entity;

receiving, based at least in part on the first prompt, second slot data;

sending the second slot data to a natural language understanding component;

determining, by the natural language understanding component, that the second slot data is undefined;

generating second data representing a second prompt requesting clarification of the second slot data;

outputting audio data representing the second prompt;

determining third slot data representing input received based at least in part on the second prompt; and

storing the third slot data in association with the first natural language input in a database.

5. The method of claim 4 , further comprising:

receiving a second natural language input;

determining that the second natural language input comprises the unrecognized entity;

receiving the third slot data from the database; and

processing the second natural language input using the third slot data.

6. The method of claim 4 , further comprising:

receiving a second natural language input;

determining that the second natural language input comprises a second unrecognized entity represented by fourth slot data;

initiating a dialog session;

receiving, during the dialog session, a third natural language input;

determining that the third natural language input is unrelated to the dialog session; and

terminating the dialog session.

7. The method of claim 4 , further comprising:

determining a first speechlet for processing the first natural language input;

sending the data representing the third slot data in association with the first natural language input to the first speechlet;

receiving a second natural language input comprising the unrecognized entity; and

processing the second natural language input by the first speechlet using the third slot data.

8. The method of claim 4 , further comprising:

determining a first intent comprising a first semantic representation of the first natural language input;

determining a first type of the first slot data;

storing metadata indicating the first type of the first slot data in association with the third slot data in the database;

receiving a second natural language input comprising the unrecognized entity;

determining a second intent comprising a second semantic representation of the second natural language input, wherein the second intent is different from the first intent;

determining that the first type of the third slot data is used by a first speechlet to process the second intent; and

processing, by the first speechlet, the second natural language input using the third slot data.

9. The method of claim 4 , further comprising:

generating second data representing a request to store the third slot data in the database; and

receiving a second natural language input representing an authorization to store the third slot data in the database, wherein the data representing the third slot data is stored in the database in response to the authorization.

10. The method of claim 4 , further comprising:

determining a device type with which a user is interacting;

determining a modality of the device type; and

generating the first prompt based at least in part on the modality.

11. The method of claim 4 , further comprising:

generating output data requesting clarification of the unrecognized entity; and

receiving a second natural language input during a dialog session comprising the third slot data.

12. A system comprising:

at least one processor; and

non-transitory computer-readable memory storing instructions that, when executed by the at least one processor, are effective to cause the at least one processor to:

receive first data representing a first natural language input;

receive, by a first component, first slot data representing a portion of the first natural language input that comprises an unrecognized entity;

determine, by the first component, using the first data and the first slot data, that the unrecognized entity is teachable;

generate a first prompt for clarification of the unrecognized entity;

receive, based at least in part on the first prompt, second slot data;

send the second slot data to a natural language understanding component;

determine, by the natural language understanding component, that the second slot data is undefined;

generate second data representing a second prompt requesting clarification of the second slot data;

output audio data representing the second prompt;

determine third slot data representing input received based at least in part on the second prompt; and

store the third slot data in association with the first natural language input in a database.

13. The system of claim 12 , the non-transitory computer-readable memory storing further instructions that, when executed by the at least one processor, are further effective to cause the at least one processor to:

receive a second natural language input;

determine that the second natural language input comprises the unrecognized entity;

receive the third slot data from the database; and

process the second natural language input using the third slot data.

14. The system of claim 12 , the non-transitory computer-readable memory storing further instructions that, when executed by the at least one processor, are further effective to cause the at least one processor to:

receive a second natural language input;

determine that the second natural language input comprises a second unrecognized entity represented by fourth slot data;

initiate a dialog session;

receive, during the dialog session, a third natural language input;

determine that the third natural language input is unrelated to the dialog session; and

terminate the dialog session.

15. The system of claim 12 , the non-transitory computer-readable memory storing further instructions that, when executed by the at least one processor, are further effective to cause the at least one processor to:

determine a first speechlet for processing the first natural language input;

send the data representing the third slot data in association with the first natural language input to the first speechlet;

receive a second natural language input comprising the unrecognized entity; and

process the second natural language input by the first speechlet using the third slot data.

16. The system of claim 12 , the non-transitory computer-readable memory storing further instructions that, when executed by the at least one processor, are further effective to cause the at least one processor to:

determine a first intent comprising a first semantic representation of the first natural language input;

determine a first type of the first slot data;

store metadata indicating the first type of the first slot data in association with the third slot data in the database;

receive a second natural language input comprising the unrecognized entity;

determine a second intent comprising a second semantic representation of the second natural language input, wherein the second intent is different from the first intent;

determine that the first type of the third slot data is used by a first speechlet to process the second intent; and

process, by the first speechlet, the second natural language input using the third slot data.

17. The system of claim 12 , the non-transitory computer-readable memory storing further instructions that, when executed by the at least one processor, are further effective to cause the at least one processor to:

generate second data representing a request to store the third slot data in the database; and

receive a second natural language input representing an authorization to store the third slot data in the database, wherein the data representing the third slot data is stored in the database in response to the authorization.

18. The system of claim 12 , the non-transitory computer-readable memory storing further instructions that, when executed by the at least one processor, are further effective to cause the at least one processor to:

determine a device type with which a user is interacting;

determine a modality of the device type; and

generate the first prompt based at least in part on the modality.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 11, 2020
From: THATTAI, GOVINDARAJAN SUNDARAM; PING, QING; NIU, FEIYANG; CHENGOTTUSSERIYIL, JOEL JOSEPH; RAJAGOPAL, PRASHNANTH; GAO, QIAOZI; REGANTI, AISHWARYA NARESH; TUR, GOKHAN; HAKKANI-TUR, DILEK; PRASAD, ROHIT; NATARAJAN, PREMKUMAR
To: AMAZON TECHNOLOGIES, INC.
Reel/Frame 054617/0210 →
Continuity (1)
Provisional Application 63081772 · Sep 22, 2020
Cited By (7)
US 12,229,265 US 12,293,277 US 12,354,603 US 12,406,141 US 12,437,188 US 12,536,416 US 12,566,919