IP Library › Granted Patent US 9,436,678
Granted Patent B2
US 9,436,678 · App. 14/754,598 · Granted Sep 6, 2016

Architecture for multi-domain natural language processing

Inventors: Lambert Mathias (Arlington, MA); Ying Shi (Seattle, WA); Imre Attila Kiss (Arlington, MA); Ryan Paul Thomas (Redmond, WA); Frederic Johan Georges Deramat (Seattle, WA)
Assignee: Amazon Technologies, Inc.
G06F17/28G06F17/279G06F17/2881G10L15/26G10L15/22
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 9,436,678
App. No.
14/754,598
Filed
Jun 29, 2015
Granted
Sep 6, 2016
Kind
B2
Art Unit
2657
USPC
704/9
Abstract

Features are disclosed for processing a user utterance with respect to multiple subject matters or domains, and for selecting a likely result from a particular domain with which to respond to the utterance or otherwise take action. A user utterance may be transcribed by an automatic speech recognition (“ASR”) module, and the results may be provided to a multi-domain natural language understanding (“NLU”) engine. The multi-domain NLU engine may process the transcription(s) in multiple individual domains rather than in a single domain. In some cases, the transcription(s) may be processed in multiple individual domains in parallel or substantially simultaneously. In addition, hints may be generated based on previous user interactions and other data. The ASR module, multi-domain NLU engine, and other components of a spoken language processing system may use the hints to more efficiently process input or more accurately generate output.

Claims (60)

1. A system comprising:

a computer-readable memory storing executable instructions; and

one or more processors in communication with the computer-readable memory, wherein the one or more processors are programmed by the executable instructions to at least:

receive text corresponding to a request of a user;

process the text in a first natural language understanding (“NLU”) module to generate a first interpretation of the text, and in a second NLU module to generate a second interpretation of the text,

wherein the first NLU module is associated with a first domain, and the second NLU module is associated with a second domain,

wherein the first interpretation is associated with a first score indicative of a confidence in the first interpretation, and

wherein the second interpretation is associated with a second score indicative of a confidence in the second interpretation;

select the first interpretation based at least partly on the first score and the second score; and

generate a response based at least partly on the first interpretation.

2. The system of claim 1 , wherein the executable instructions that program the one or more processors to process the text in the first NLU module comprise executable instructions to:

separate at least a portion of the text into a plurality of tokens, wherein the text comprises a plurality of words, and wherein individual tokens of the plurality of tokens comprise one or more words of the of the plurality of words;

identify at least a first token of the plurality of tokens as corresponding to an executable command; and

identify at least a second token of the plurality of tokens as a parameter of the executable command.

3. The system of claim 1 , wherein the first interpretation comprises a plurality of named entities, wherein individual named entities of the plurality of named entities correspond to one or more tokens of the text, and wherein at least one of the plurality of named entities corresponds to an executable command.

4. The system of claim 1 , wherein the first NLU module is configured to generate interpretations of text as comprising requests related to the first domain, and wherein the first domain comprises requests related to phone dialing, shopping, getting directions, playing music, or performing a search.

5. The system of claim 1 , wherein the confidence in the first interpretation comprises a likelihood that the first interpretation is correct.

6. The system of claim 1 , wherein the confidence in the first interpretation is based on whether an executable command corresponds to the first interpretation.

7. The system of claim 1 , wherein the executable instructions further program the one or more processors to rank the first interpretation and the second interpretation using the first score and the second score, wherein the first interpretation is ranked higher than the second interpretation, and wherein selecting the first interpretation comprises selecting a highest-ranked interpretation of the text.

8. The system of claim 1 , wherein the executable instructions further program the one or more processors to at least:

store hint information regarding the response, wherein the response comprises a prompt for additional information regarding the request, and wherein the hint information indicates that a subsequent text will likely relate to the additional information;

receive the subsequent text in response to the prompt;

process the subsequent text in the first NLU module to generate a third interpretation of the subsequent text, and in the second NLU module generate a fourth interpretation of the subsequent text, wherein the third interpretation is associated with a third score indicative of a confidence in the third interpretation, and wherein the fourth interpretation is associated with a fourth score indicative of a confidence in the fourth interpretation;

determine that the third interpretation corresponds to the additional information indicated by the hint information; and

increase the third score.

9. A computer-implemented method comprising:

under control of one or more computing devices configured with specific computer-executable instructions,

receiving text corresponding to a request of a user;

processing the text in a first natural language understanding (“NLU”) module to generate a first interpretation of the text, and in a second NLU module to generate a second interpretation of the text,

wherein the first NLU module is associated with a first domain, and the second NLU module is associated with a second domain,

wherein the first interpretation is associated with a first score indicative of a confidence in the first interpretation, and

wherein the second interpretation is associated with a second score indicative of a confidence in the second interpretation;

selecting the first interpretation based at least partly on the first score and the second score; and

generating a response based at least partly on the first interpretation.

10. The computer-implemented method of claim 9 , wherein processing the text in the first NLU module to generate the first interpretation comprises:

separating at least a portion of the text into a plurality of tokens, wherein the text comprises a plurality of words, and wherein individual tokens of the plurality of tokens comprise one or more words of the of the plurality of words;

identifying at least a first token of the plurality of tokens as corresponding to an executable command; and

identifying at least a second token of the plurality of tokens as a parameter of the executable command.

11. The computer-implemented method of claim 9 , wherein the first interpretation comprises a plurality of named entities, wherein individual named entities of the plurality of named entities correspond to one or more tokens of the text, and wherein at least one of the plurality of named entities corresponds to an executable command.

12. The computer-implemented method of claim 9 , wherein the first NLU module is configured to generate interpretations of text as comprising requests related to the first domain, and wherein the first domain comprises requests related to phone dialing, shopping, getting directions, playing music, or performing a search.

13. The computer-implemented method of claim 9 , wherein the confidence in the first interpretation comprises a likelihood that the first interpretation is correct.

14. The computer-implemented method of claim 9 , wherein the confidence in the first interpretation is based on whether an executable command corresponds to the first interpretation.

15. The computer-implemented method of claim 9 , further comprising ranking the first interpretation and the second interpretation based at least partly the first score and the second score, wherein the first interpretation is ranked higher than the second interpretation, and wherein selecting the first interpretation comprises selecting a highest-ranked interpretation of the text.

16. The computer-implemented method of claim 9 , further comprising:

storing hint information regarding the response, wherein the response comprises a prompt for additional information regarding the request, and wherein the hint information indicates that a subsequent text will likely relate to the additional information;

receiving the subsequent text in response to the prompt;

processing the subsequent text in the first NLU module to generate a third interpretation of the subsequent text, and in the second NLU module generate a fourth interpretation of the subsequent text, wherein the third interpretation is associated with a third score indicative of a confidence in the third interpretation, and wherein the fourth interpretation is associated with a fourth score indicative of a confidence in the fourth interpretation;

determining that the third interpretation corresponds to the additional information indicated by the hint information; and

increasing the third score.

17. Non-transitory computer readable storage storing executable code that, when executed, causes one or more computing devices to perform a process comprising:

receiving text corresponding to a request of a user;

processing the text in a first natural language understanding (“NLU”) module to generate a first interpretation of the text, and in a second NLU module to generate a second interpretation of the text,

wherein the first NLU module is associated with a first domain, and the second NLU module is associated with a second domain,

wherein the first interpretation is associated with a first score indicative of a confidence in the first interpretation, and

wherein the second interpretation is associated with a second score indicative of a confidence in the second interpretation;

selecting the first interpretation based at least partly on the first score and the second score; and

generating a response based at least partly on the first interpretation.

18. The non-transitory computer readable storage of claim 17 , wherein the first interpretation comprises a plurality of named entities, wherein individual named entities of the plurality of named entities correspond to one or more tokens of the text, and wherein at least one of the plurality of named entities corresponds to an executable command.

19. The non-transitory computer readable storage of claim 17 , wherein the confidence in the first interpretation comprises a likelihood that the first interpretation is correct.

20. The non-transitory computer readable storage of claim 17 , wherein the confidence in the first interpretation is based on whether an executable command corresponds to the first interpretation.

Continuity (2)
Continuation 13720909 · Dec 19, 2012
Related Publication 20150302002A1 · Oct 22, 2015