CPC G10L 15/32 (2013.01) [G10L 15/1822 (2013.01); G10L 2015/223 (2013.01); G10L 2015/228 (2013.01)] | 20 Claims |
1. A method for handling commands in a multi-assistant speech-processing system, the method comprising:
receiving first input data representing a natural language user input;
receiving, from a first user device, a device identifier and a first indication associating the first user device with one or more command processing subsystems;
sending, to a first component, the device identifier and the first indication;
processing, by the first component, the device identifier and the first indication to determine first data indicating eligibility of a first command processing subsystem (CPS) and a second CPS to handle commands received from the first user device;
receiving, from the first component, the first data;
determining, based at least in part on the first data indicating the eligibility of the first CPS, a first functionality operable by the first CPS;
determining, based at least in part on the first data indicating the eligibility of the second CPS a second functionality operable by the second CPS;
performing based on the first functionality and the second functionality, natural language understanding (NLU) processing on the first input data to determine:
first NLU result data including a first intent, and
second NLU result data including a second intent;
determining a first skill capable of operating with respect to the first intent;
determining a second skill capable of operating with respect to the second intent;
determining that the first CPS is associated with the first skill;
determining that the second CPS is not associated with the second skill;
in response to determining that the first CPS is associated with the first skill and that the second CPS is not associated with the second skill, sending the first NLU result data to a skill system corresponding to the first skill for execution; and
receiving first response data from the skill system.
|
12. 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 input data representing a command;
receive, from the first device, a device identifier and a first indication associating the first device with one or more command processing subsystems;
send, to a first component of the system, the device identifier and the first indication;
determine the first device is configured to send commands to at least one of the command processing subsystems;
process, by the first component, the device identifier and the first indication to determine first data indicating eligibility of a first command processing subsystem (CPS) and a second CPS to handle commands received from the first device;
receive, from the first component, the first data;
determine, based at least in part on the first data indicating the eligibility of the first CPS, a first functionality operable by the first CPS;
determine, based at least in part on the first data indicating the eligibility of the second CPS a second functionality operable by the second CPS;
perform, based at least in part on the first functionality and the second functionality, natural language understanding (NLU) processing based on the first input data to determine first NLU result data including a first intent and second NLU result data including a second intent;
determine a first skill corresponding to the first NLU result data;
determine a second skill corresponding to the second NLU result data;
determine that the first CPS is associated with the first skill; and
based at least in part on determining that the first CPS is associated with the first skill, send the first NLU result data to a skill system corresponding to the first skill for execution.
|