IP Library Granted Patent US 10,504,512
Granted Patent B1
US 10,504,512 · App. 15/712,625 · Granted Dec 10, 2019

Natural language speech processing application selection

Inventors: Ruhi Sarikaya (Redmond, WA); Rohit Prasad (Lexington, MA); Kerry Hammil (Seattle, WA); Spyridon Matsoukas (Hopkinton, MA); Nikko Strom (Kirkland, WA); Frédéric Johan Georges Deramat (Seattle, WA); Stephen Frederick Potter (Seattle, WA); Young-Bum Kim (Kirkland, WA)
Assignee: AMAZON TECHNOLOGIES, INC.
G10L15/22G06F17/278G10L15/08G10L15/265
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 10,504,512
App. No.
15/712,625
Granted
Dec 10, 2019
Kind
B1
Abstract

Techniques for limiting natural language processing performed on input data are described. A system receives input data from a device. The input data corresponds to a command to be executed by the system. The system determines applications likely configured to execute the command. The system performs named entity recognition and intent classification with respect to only the applications likely configured to execute the command.

Claims (94)

1. A system comprising:

at least one processor; and

at least one memory including instructions that, when executed by the at least one processor, cause the system to:

receive input text data associated with a source device;

determine a first confidence score representing a first likelihood that a first application is configured to execute a command represented in the input text data;

determine a second confidence score representing a second likelihood that a second application is configured to execute the command;

determine a third confidence score representing a third likelihood that a third application is configured to execute the command;

perform natural language understanding (NLU) processing on the input text data using at least one first NLU component associated with the first application to generate first NLU data corresponding to at least one first NLU score;

perform NLU processing on the input text data using at least one second NLU component associated with the second application to generate second NLU data corresponding to at least one second NLU score;

select the first NLU data based at least in part on the at least one first NLU score and the at least one second NLU score; and

cause, based at least in part on the first NLU data, the first application to execute the command.

2. The system of claim 1 , wherein the at least one memory further includes instructions that, when executed by the at least one processor, further cause the system to:

determine the first confidence score by implementing a first trained model on the input text data, the first trained model being trained specific to the first application; and

determine the second confidence score by implementing a second trained model on the input text data, the second trained model being trained specific to the second application.

3. The system of claim 1 , wherein the at least one memory further includes instructions that, when executed by the at least one processor, further cause the system to:

determine the first confidence score by implementing a first portion of a trained model on the input text data, the first portion being trained specific to the first application; and

determine the second confidence score by implementing a second portion of the trained model on the input text data, the second portion being trained specific to the second application.

4. The system of claim 1 , wherein the at least one memory further includes instructions that, when executed by the at least one processor, further cause the system to:

determine profile data associated with the source device;

determine at least a portion of the profile data indicates the first application is enabled; and

determine, based at least in part on the first application being enabled, the first confidence score.

5. The system of claim 1 , wherein the at least one memory further includes instructions that, when executed by the at least one processor, further cause the system to:

determine profile data associated with the source device;

determine at least a portion of the profile data indicates the first application is enabled;

determine an adjusted first confidence score based at least in part on the first application being enabled and the first confidence score; and

perform, based at least in part on the adjusted first confidence score, NLU processing using the at least one first NLU component.

6. The system of claim 1 , wherein the second application generates output video data, and wherein the at least one memory further includes instructions that, when executed by the at least one processor, further cause the system to:

determine profile data associated with the source device;

determine at least a portion of the profile data indicates the source device is displayless; and

determine an adjusted first confidence score based at least in part on the at least a portion of the profile data indicating the source device is displayless and based at least in part on the first confidence score.

7. The system of claim 1 , wherein the second application generates output video data, and wherein the at least one memory further includes instructions that, when executed by the at least one processor, further cause the system to:

determine the source device is in motion; and

determine an adjusted first confidence score based at least in part on the source device being in motion and the first confidence score.

8. The system of claim 1 , wherein the at least one memory further includes instructions that, when executed by the at least one processor, further cause the system to:

determine the source device is outputting content associated with the first application when the input text data is received; and

determine an adjusted first confidence score based at least in part on the content being associated with the first application and the first confidence score, the adjusted first confidence score being greater than the first confidence score.

9. The system of claim 1 , wherein the at least one memory further includes instructions that, when executed by the at least one processor, further cause the system to:

determine the first confidence score satisfies a threshold confidence score;

determine the second confidence score satisfies the threshold confidence score;

determine the third confidence score fails to satisfy the threshold confidence score;

based at least in part on determining the first confidence score satisfies the threshold confidence score; perform NLU processing using the at least one first NLU component;

based at least in part on determining the second confidence score satisfies the threshold confidence score, perform NLU processing using the at least one second NLU component; and

based at least in part on determining the third confidence score fails to satisfy the threshold confidence score, do not perform NLU processing on the input text data using at least one third NLU component associated with the third application.

10. The system of claim 1 , wherein the at least one memory further includes instructions that, when executed by the at least one processor, further cause the system to:

determine usage history data associated with the source device;

determine at least a portion of the usage history data corresponds to the first application;

determine an adjusted first confidence score based at least in part on the at least a portion of the usage history data corresponding to the first application; and

perform, based at least in part on the adjusted first confidence score, NLU processing using the at least one first NLU component.

11. A computer-implemented method comprising:

receiving input text data associated with a source device;

determining a first confidence score representing a first likelihood that a first application is configured to execute a command represented in the input text data;

determining a second confidence score representing a second likelihood that a second application is configured to execute the command;

determining a third confidence score representing a third likelihood that a third application is configured to execute the command;

performing natural language understanding (NLU) processing on the input text data using at least one first NLU component associated with the first application to generate first NLU data corresponding to at least one first NLU score;

performing NLU processing on the input text data using at least one second NLU component associated with the second application to generate second NLU data corresponding to at least one second NLU score;

selecting the first NLU data based at least in part on the at least one first NLU score and the at least one second NLU score; and

causing, based at least in part on the first NLU data, the first application to execute the command.

12. The computer-implemented method of claim 11 , further comprising

determining the first confidence score by implementing a first trained model on the input text data, the first trained model being trained specific to the first application; and

determining the second confidence score by implementing a second trained model on the input text data, the second trained model being trained specific to the second application.

13. The computer-implemented method of claim 11 , further comprising:

determining the first confidence score by implementing a first portion of a trained model on the input text data, the first portion being trained specific to the first application; and

determining the second confidence score by implementing a second portion of the trained model on the input text data, the second portion being trained specific to the second application.

14. The computer-implemented method of claim 11 , further comprising:

determining profile data associated with the source device;

determining at least a portion of the profile data indicates the first application is enabled; and

determining, based at least in part on the first application being enabled, the first confidence score.

15. The computer-implemented method of claim 11 , further comprising:

determining profile data associated with the source device;

determining at least a portion of the profile data indicates the first application is enabled;

determining an adjusted first confidence score based at least in part on the first application being enabled and the first confidence score; and

performing, based at least in part on the adjusted first confidence score, NLU processing using the at least one first NLU component.

16. The computer-implemented method of claim 11 , wherein the second application generates output video data, and wherein the computer-implemented method further comprises:

determining profile data associated with the source device;

determining at least a portion of the profile data indicates the source device is displayless; and

determining an adjusted first confidence score based at least in part on the at least a portion of the profile data indicating the source device is displayless and based at least in part on the first confidence score.

17. The computer-implemented method of claim 11 , wherein the second application generates output video data, and wherein the computer-implemented method further comprises:

determining the source device is in motion; and

determining an adjusted first confidence score based at least in part on the source device being in motion and the first confidence score.

18. The computer-implemented method of claim 11 , further comprising:

determining the source device is outputting content associated with the first application when the input text data is received; and

determining an adjusted first confidence score based at least in part on the content being associated with the first application and the first confidence score, the adjusted first confidence score being greater than the first confidence score.

19. The computer-implemented method of claim 11 , further comprising:

determining the first confidence score satisfies a threshold confidence score;

determining the second confidence score satisfies the threshold confidence score;

determining the third confidence score fails to satisfy the threshold confidence score;

based at least in part on determining the first confidence score satisfies the threshold confidence score; performing NLU processing using the at least one first NLU component;

based at least in part on determining the second confidence score satisfies the threshold confidence score, performing NLU processing using the at least one second NLU component; and

based at least in part on determining the third confidence score fails to satisfy the threshold confidence score, not performing NLU processing on the input text data using at least one third NLU component associated with the third application.

20. The computer-implemented method of claim 11 , further comprising:

determining usage history data associated with the source device;

determining at least a portion of the usage history data corresponds to the first application;

determining an adjusted first confidence score based at least in part on the at least a portion of the usage history data corresponding to the first application; and

performing, based at least in part on the adjusted first confidence score, NLU processing using the at least one first NLU component.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 25, 2017
From: SARIKAYA, RUHI; PRASAD, ROHIT; HAMMIL, KERRY; MATSOUKAS, SPYRIDON; STROM, NIKKO; DERAMAT, FRÉDÉRIC JOHAN GEORGES; POTTER, STEPHEN FREDERICK; KIM, YOUNG-BUM
To: AMAZON TECHNOLOGIES, INC.
Reel/Frame 043945/0469 →
Cited By (2)
US 12,406,661 US 12,462,793