IP Library › Granted Patent US 10,283,119
Granted Patent B2
US 10,283,119 · App. 15/966,400 · Granted May 7, 2019

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.
G10L15/22G06F17/277G06F17/278G06F17/279G06F17/28G06F17/2881G10L13/08G10L15/26
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,283,119
App. No.
15/966,400
Granted
May 7, 2019
Kind
B2
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 (71)

1. A system comprising:

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:

receive text data representing at least a portion of an utterance;

determine that a first natural language understanding (“NLU”) component of a plurality of NLU components is to be used to generate response data, wherein the first NLU component is associated with a first domain of a plurality of domains;

generate first intent data using the text data and the first NLU component, wherein the first intent data represents a first intent associated with the first domain;

generate second intent data using the text data and the first NLU component, wherein the second intent data represents a second intent associated with the first domain;

select the first intent data based at least partly on a relative rank of the first intent data with respect to the second intent data; and

generate the response data using the first intent data.

2. The system of claim 1 , wherein the one or more processors are further programmed by the executable instructions to:

generate first score data associated with the first intent data;

generate second score data associated with the second intent data; and

rank the first intent data and second intent data based at least partly on the first score data and the second score data.

3. The system of claim 2 , wherein the one or more processors are further programmed by the executable instructions to:

receive hint data indicating a likely intent with which the text data is associated; and

adjust at least one of the first score data or the second score data based at least partly on the hint data.

4. The system of claim 1 , wherein the one or more processors are further programmed by the executable instructions to:

receive hint data indicating a likely domain with which the text data is associated;

wherein the one or more processors being programmed by the executable instructions to determine that the first NLU component is to be used to generate the response data comprises the one or more processors being programmed by the executable instructions to determine, based at least partly on the hint data, that the first NLU component is to be used to generate the response data.

5. The system of claim 1 , wherein the one or more processors are further programmed by the executable instructions to:

generate third intent data using the text data and a second NLU component of the plurality of NLU components, wherein the second NLU component is associated with a second domain of the plurality of domains, and wherein the third intent data represents a third intent associated with the second domain; and

generate ranking data indicating a relative rank of at least the first intent data, the second intent data, and the third intent data;

wherein the one or more processors being programmed by the executable instructions to select the first intent data based at least partly on a relative rank of the first intent data with respect to the second intent data comprises the one or more processors being programmed by the executable instructions to select the first intent based at least partly on the ranking data.

6. The system of claim 1 , wherein the one or more processors are further programmed by the executable instructions to generate NLU result data using the text data and the first NLU component, wherein the NLU result data represents a plurality of named entities, wherein a first named entity of the plurality of named entities corresponds to an executable action, and wherein a second named entity of the plurality of named entities corresponds to information associated with the executable action.

7. The system of claim 1 , wherein one or more processors are further programmed by the executable instructions to:

identify a plurality of tokens in the text data;

associate first token of the plurality of tokens with a first named entity;

associate a second token of the plurality of tokens with a second named entity; and

determine that the first intent corresponds to the first named entity and the second named entity.

8. The system of claim 1 , wherein the first domain is associated with intents related to at least one of: phone dialing, shopping, getting directions, playing music, or performing a search.

9. The system of claim 1 , wherein one or more processors are further programmed by the executable instructions to:

receive audio data representing the utterance; and

generate the text data using the audio data and an automatic speech recognition (“ASR”) component.

10. The system of claim 1 , wherein the executable instructions to generate the response data comprise executable instructions to:

generate response text data using a natural language generation component; and

generate response audio data using the response text data and a text-to-speech component.

11. The system of claim 1 , wherein one or more processors are further programmed by the executable instructions to send the response data to a remote device configured to present a response using the response data.

12. A computer-implemented method comprising:

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

receiving text data representing at least a portion of an utterance;

determining that a first natural language understanding (“NLU”) component of a plurality of NLU components is to be used to generate response data, wherein the first NLU component is associated with a first domain of a plurality of domains;

generating first intent data using the text data and the first NLU component, wherein the first intent data represents a first intent associated with the first domain;

generating second intent data using the text data and the first NLU component, wherein the second intent data represents a second intent associated with the first domain;

selecting the first intent data based at least partly on a relative rank of the first intent data with respect to the second intent data; and

generating the response data using the first intent data.

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

generating first score data associated with the first intent data;

generating second score data associated with the second intent data; and

ranking the first intent data and second intent data based at least partly on the first score data and the second score data.

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

receiving hint data indicating a likely intent with which the text data is associated; and

adjusting at least one of the first score data or the second score data based at least partly on the hint data.

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

receiving hint data indicating a likely domain with which the text data is associated;

wherein the determining that the first NLU component is to be used to generate the response data comprises determining, based at least partly on the hint data, that the first NLU component is to be used to generate the response data.

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

generating third intent data using the text data and a second NLU component of the plurality of NLU components, wherein the second NLU component is associated with a second domain of the plurality of domains, and wherein the third intent data represents a third intent associated with the second domain; and

generating ranking data indicating a relative rank of at least the first intent data, the second intent data, and the third intent data;

wherein the selecting the first intent data based at least partly on a relative rank of the first intent data with respect to the second intent data comprises selecting the first intent based at least partly on the ranking data.

17. The computer-implemented method of claim 12 , further comprising generating NLU result data using the text data and the first NLU component, wherein the NLU result data represents a plurality of named entities, wherein a first named entity of the plurality of named entities corresponds to an executable action, and wherein a second named entity of the plurality of named entities corresponds to information associated with the executable action.

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

identifying a plurality of tokens in the text data;

associating first token of the plurality of tokens with a first named entity;

associating a second token of the plurality of tokens with a second named entity; and

determining that the first intent corresponds to the first named entity and the second named entity.

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

receiving audio data representing the utterance; and

generating the text data using the audio data and an automatic speech recognition (“ASR”) component.

20. The computer-implemented method of claim 12 , wherein the generating the response data comprises:

generating response text data using a natural language generation component; and

generating response audio data using the response text data and a text-to-speech component.

Continuity (5)
Continuation 15694996 · Sep 4, 2017
Continuation 15256176 · Sep 2, 2016
Continuation 14754598 · Jun 29, 2015
Continuation 13720909 · Dec 19, 2012
Related Publication 20180315425A1 · Nov 1, 2018