Routing natural language commands to the appropriate applications
First Claim
1. A voice controlled system comprising:
- one or more processors;
computer-readable media accessible by the one or more processors;
a first application and a second application stored on the computer-readable media to be executed by the one or more processors;
a microphone to receive audio input;
a speech recognition module to identify first data from a signal representing the audio input, the first data including text representing one or more words; and
a command router todetermine, using second data that is different from the first data, a first application probability of the first application being a recipient of a next command, wherein the second data is available to the command router prior to identification of the first data,determine, using the second data, a second application probability of the second application being a recipient of the next command,provide, to the first application, the text,receive, from the first application, a first matching probability indicating a degree of matching between the one or more words and a command which the first application can interpret,provide, to the second application, the text,receive, from the second application, a second matching probability indicating a degree of matching between the one or more words and a command which the second application can interpret, andselect, based at least in part on the first application probability, the second application probability, the first matching probability, and the second matching probability, the first application to receive the command in the one or more words and to perform at least one operation associated with the next command.
2 Assignments
0 Petitions
Accused Products
Abstract
A device is configured with multiple applications that each respond to various commands. The correct application to receive a natural language command is identified by consideration of how well the command matches functions of the application. A target application to receive the command may additionally be selected by consideration of which application is most likely to receive a command. The likelihood of an application to receive a command may be determined by considering context. The command may be a voice input that is analyzed by speech recognition technology to determine word strings representing possible commands. Thus, the selection of a target application to receive the command may be based on any or all of the word strings from the natural language input, a closeness of fit between the command and an application, and the likelihood an application is the target for the next incoming command.
-
Citations
33 Claims
-
1. A voice controlled system comprising:
-
one or more processors; computer-readable media accessible by the one or more processors; a first application and a second application stored on the computer-readable media to be executed by the one or more processors; a microphone to receive audio input; a speech recognition module to identify first data from a signal representing the audio input, the first data including text representing one or more words; and a command router to determine, using second data that is different from the first data, a first application probability of the first application being a recipient of a next command, wherein the second data is available to the command router prior to identification of the first data, determine, using the second data, a second application probability of the second application being a recipient of the next command, provide, to the first application, the text, receive, from the first application, a first matching probability indicating a degree of matching between the one or more words and a command which the first application can interpret, provide, to the second application, the text, receive, from the second application, a second matching probability indicating a degree of matching between the one or more words and a command which the second application can interpret, and select, based at least in part on the first application probability, the second application probability, the first matching probability, and the second matching probability, the first application to receive the command in the one or more words and to perform at least one operation associated with the next command. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A computer-implemented method comprising:
-
receiving, at a command router, a natural language input captured at a microphone; identifying first data from the natural language input, the first data including text representing one or more words; determining that the one or more words may be associated with a command; determining, using second data that is different from the first data, a first application score, the first application score indicating a likelihood that the command is associated with a first application; determining, using the second data that is different from the first data, a second application score, the second application score indicating a likelihood that the command is associated with a second application, wherein the second data is available to access prior to identification of the first data; providing the text to the first application; receiving, from the first application, a first matching probability score indicating a degree of matching between the one or more words of the natural language input and the command associated with the first application; providing the text to the second application; receiving, from the second application, a second matching probability score indicating a degree of matching between the one or more words of the natural language input and the command associated with the second application; and causing the first application to process the command based at least partly on the first application score, the second application score, the first matching probability score and the second matching probability score. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22)
-
-
23. One or more non-transitory computer-readable storage media storing instructions that, when executed on one or more processors, causes the one or more processors to perform acts comprising:
-
identifying first data from natural language input, the first data including text representing one or more words; determining, using second data that is different from the first data, a first application score indicating a likelihood that a first application will be a recipient of a subsequent command, wherein the second data is available to access before identifying the first data;
determining, using the second data that is different from the first data, a second application score indicating a likelihood that a second application will be a recipient of the subsequent command;receiving, from the first application, a first matching probability indicating a first degree of matching between the subsequent command and a first command which the first application is configure to interpret; receiving, from the second application, a second matching probability indicating a second degree of matching between the subsequent command and a second command which the second application is configure to interpret; and responsive to receiving the subsequent command, causing one or more applications to process the command based at least in part on the first application score, the second application score, the first matching probability and the second matching probability. - View Dependent Claims (24, 25, 26, 27, 28, 29, 30, 31, 32, 33)
-
Specification