Natural language command routing
AssigneeAmazon Technologies, Inc.
InventorsShantanu Vikas Kurhekar, Amit Mittal, Michael Donikian, Yupeng Xie, Richard T Koehler
Life of this patent
Estimating the term…
Abstract
Techniques for improving routing of natural language inputs, of a natural language processing (NLP) system, are described. A natural language input may be routed based on the device that captured the natural language input. A device manufacturer, hospitality provider, business, etc. may cause the NLP system to generate a skill component specific to the device manufacturer, hospitality provider, business, etc. Thereafter, when a natural language input is received from the device, the NLP system may route the natural language input to the device manufacturer-, hospitality provider-, business-, etc.-specific skill component for processing.
Claims20
A method comprising:
- during a first time period:
- receiving, from a first component corresponding to a device manufacturer, an indication of a first action to be supported by a skill component;
- determining a first natural language understanding (NLU) intent corresponding to the first action;
- generating a first skill component configured to process NLU results data corresponding to the first NLU intent, the first skill component corresponding to a first skill identifier;
- receiving, from the first component, a device identifier corresponding to a user device manufactured by the device manufacturer;
- storing first data associating the first skill identifier, the device identifier, and the first NLU intent;
- during a second time period after the first time period:
- receiving, from the user device, first audio data corresponding to a first utterance;
- after receiving the first audio data, sending, to a context component, second data causing the context component to pre-fetch at least one skill identifier associated with the device identifier, the at least one skill identifier comprising the first skill identifier;
- generating first NLU results data representing the first utterance, the first NLU results data including the first NLU intent, wherein the first NLU intent is executable by the first skill component and a second skill component;
- receiving, by a skill arbitration component, the first skill identifier from the context component;
- assigning, by the skill arbitration component, a first priority to the first skill component based at least in part on the skill arbitration component receiving the first skill identifier from the context component;
- assigning, by the skill arbitration component, a second priority to the second skill component, the second priority being less than the first priority;
- sending the first NLU results data to the first skill component;
- receiving, from the first skill component, first text data representing a response to the first utterance;
- performing text-to-speech (TTS) processing on the first text data to generate second audio data;
- and
- sending the second audio data to the user device for output.
A method comprising:
- receiving, from a first device, first data corresponding to a first natural language input;
- sending, to a context component, second data causing the context component to pre-fetch context data corresponding to the first natural language input, the context data comprising at least one skill identifier associated with a geographic location of the first device, the at least one skill identifier comprising a first skill identifier corresponding to a business entity located at the geographic location;
- generating first natural language understanding (NLU) results data representing the first natural language input;
- receiving, by a skill arbitration component, the context data from the context component;
- assigning, by the skill arbitration component, a first priority to the first skill identifier;
- assigning, by the skill arbitration component, a second priority to a second skill identifier, the first priority being lower than the second priority based at least in part on the first skill identifier being represented in the context data;
- sending the first NLU results data to a first skill component corresponding to the first skill identifier;
- receiving, from the first skill component, first text data representing a response to the first natural language input;
- and
- causing at least one of:
- the first text data to be output;
- or
- synthesized speech, corresponding to the first text data, to be output.
A system comprising:
- at least one processor;
- and
- at least one memory comprising instructions that, when executed by the at least one processor, cause the system to:
- receive, from a first device, first data corresponding to a first natural language input;
- send, to a context component, second data causing the context component to pre-fetch context data corresponding to the first natural language input, the context data comprising at least one skill identifier associated with a geographic location of the first device, the at least one skill identifier comprising a first skill identifier corresponding to a business entity located at the geographic location;
- generate first natural language understanding (NLU) results data representing the first natural language input;
- receive, by a skill arbitration component, the context data from the context component;
- assign, by the skill arbitration component, a first priority to the first skill identifier;
- assign, by the skill arbitration component, a second priority to a second skill identifier, the first priority being lower than the second priority based at least in part on the first skill identifier being represented in the context data;
- send the first NLU results data to a first skill component corresponding to the first skill identifier;
- receive, from the first skill component, first text data representing a response to the first natural language input;
- and
- cause at least one of:
- the first text data to be output;
- or
- synthesized speech, corresponding to the first text data, to be output.
Dependencies are inferred from the claim text.