Developer voice actions system
First Claim
1. A computer-implemented method comprising:
- receiving, by a voice action system, data defining a new voice action that does not currently exist for a software application installed on one or more devices, the software application being different from said voice action system, the data indicating one or more operations for the software application to perform the new voice action and one or more trigger terms for triggering the new voice action, wherein the data defining the new voice action specifies a context, the context specifying a status of a user device or of the software application installed on the user device;
generating, by the voice action system, a voice action passive data structure based at least on the data defining the new voice action, wherein the voice action passive data structure comprises data that, when received by the software application, causes the software application to perform the one or more operations to perform the new voice action;
associating, by the voice action system, the voice action passive data structure with the context and with the one or more trigger terms for triggering the new voice action, wherein multiple voice action passive data structures are defined in the voice action system;
receiving, by the voice action system, (i) user command utterance obtained by the user device, the user device having the software application installed, and (ii) current context information regarding the user device;
identifying, using the current context information and not a transcription of the user command utterance, a set of candidate voice action passive data structures from the multiple voice action passive data structures of the voice action system, the set of candidate voice action passive data structures including the voice action passive data structure defined by the data and being identified based on respective contexts associated with the set of candidate voice action passive data structures;
narrowing the identified set of candidate voice action passive data structures by comparing the transcription of the user command utterance with trigger terms of respective ones of the set of candidate voice action passive data structures;
determining, by the voice action system, that the transcription of the user command utterance corresponds to the one or more trigger terms associated with the voice action passive data structure; and
in response to the determination, providing, by the voice action system, the voice action passive data structure to the user device which is remote from the voice action system, thereby causing the software application installed on the user device to perform the one or more operations to perform the new voice action.
2 Assignments
0 Petitions
Accused Products
Abstract
Methods, systems, and apparatus for receiving, by a voice action system, data specifying a new voice action for an application different from the voice action system. A voice action intent for the application is generated based at least on the data, wherein the voice action intent comprises data that, when received by the application, requests that the application perform one or more operations specified for the new voice action. The voice action intent is associated with trigger terms specified for the new voice action. The voice action system is configured to receive an indication of a user utterance obtained by a device having the application installed, and determines that a transcription of the user utterance corresponds to the trigger terms associated with the voice action intent. In response to the determination, the voice action system provides the voice action intent to the device.
82 Citations
21 Claims
-
1. A computer-implemented method comprising:
-
receiving, by a voice action system, data defining a new voice action that does not currently exist for a software application installed on one or more devices, the software application being different from said voice action system, the data indicating one or more operations for the software application to perform the new voice action and one or more trigger terms for triggering the new voice action, wherein the data defining the new voice action specifies a context, the context specifying a status of a user device or of the software application installed on the user device; generating, by the voice action system, a voice action passive data structure based at least on the data defining the new voice action, wherein the voice action passive data structure comprises data that, when received by the software application, causes the software application to perform the one or more operations to perform the new voice action; associating, by the voice action system, the voice action passive data structure with the context and with the one or more trigger terms for triggering the new voice action, wherein multiple voice action passive data structures are defined in the voice action system; receiving, by the voice action system, (i) user command utterance obtained by the user device, the user device having the software application installed, and (ii) current context information regarding the user device; identifying, using the current context information and not a transcription of the user command utterance, a set of candidate voice action passive data structures from the multiple voice action passive data structures of the voice action system, the set of candidate voice action passive data structures including the voice action passive data structure defined by the data and being identified based on respective contexts associated with the set of candidate voice action passive data structures; narrowing the identified set of candidate voice action passive data structures by comparing the transcription of the user command utterance with trigger terms of respective ones of the set of candidate voice action passive data structures; determining, by the voice action system, that the transcription of the user command utterance corresponds to the one or more trigger terms associated with the voice action passive data structure; and in response to the determination, providing, by the voice action system, the voice action passive data structure to the user device which is remote from the voice action system, thereby causing the software application installed on the user device to perform the one or more operations to perform the new voice action. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A system comprising:
one or more computers and one or more storage devices storing instructions that are operable, when executed by the one or more computers, to cause the one or more computers to perform operations comprising; receiving, by a voice action system, data defining a new voice action that does not currently exist for a software application installed on one or more devices, the software application being different from said voice action system, the data indicating one or more operations for the software application to perform the new voice action and one or more trigger terms for triggering the new voice action, wherein the data defining the new voice action specifies a context, the context specifying a status of a user device or of the software application installed on the user device; generating, by the voice action system, a voice action passive data structure based at least on the data defining the new voice action, wherein the voice action passive data structure comprises data that, when received by the software application, causes the software application to perform the one or more operations to perform the new voice action; associating, by the voice action system, the voice action passive data structure with the context and with the one or more trigger terms for triggering the new voice action, wherein multiple voice action passive data structures are defined in the voice action system; receiving, by the voice action system, (i) user command utterance obtained by the user device, the user device having the software application installed, and (ii) current context information regarding the user device; identifying, using the current context information and not a transcription of the user command utterance, a set of candidate voice action passive data structures from the multiple voice action passive data structures of the voice action system, the set of candidate voice action passive data structures including the voice action passive data structure defined by the data and being identified based on respective contexts associated with the set of candidate voice action passive data structures; narrowing the identified set of candidate voice action passive data structures by comparing the transcription of the user command utterance with trigger terms of respective ones of the set of candidate voice action passive data structures; determining, by the voice action system, that the transcription of the user command utterance corresponds to the one or more trigger terms associated with the voice action passive data structure; and in response to the determination, providing, by the voice action system, the voice action passive data structure to the user device which is remote from the voice action system, thereby causing the software application installed on the user device to perform the one or more operations to perform the new voice action.
-
21. A non-transitory computer-readable storage device storing software comprising instructions executable by one or more computers which, upon such execution, cause the one or more computers to perform operations comprising:
-
receiving, by a voice action system, data defining a new voice action that does not currently exist for a software application installed on one or more devices, the software application being different from said voice action system, the data indicating one or more operations for the software application to perform the new voice action and one or more trigger terms for triggering the new voice action, wherein the data defining the new voice action specifies a context, the context specifying a status of a user device or of the software application installed on the user device; generating, by the voice action system, a voice action passive data structure based at least on the data defining the new voice action, wherein the voice action passive data structure comprises data that, when received by the software application, causes the software application to perform the one or more operations to perform the new voice action; associating, by the voice action system, the voice action passive data structure with the context and with the one or more trigger terms for triggering the new voice action, wherein multiple voice action passive data structures are defined in the voice action system; receiving, by the voice action system, (i) user command utterance obtained by the user device, the user device having the software application installed, and (ii) current context information regarding the user device; identifying, using the current context information and not a transcription of the user command utterance, a set of candidate voice action passive data structures from the multiple voice action passive data structures of the voice action system, the set of candidate voice action passive data structures including the voice action passive data structure defined by the data and being identified based on respective contexts associated with the set of candidate voice action passive data structures; narrowing the identified set of candidate voice action passive data structures by comparing the transcription of the user command utterance with trigger terms of respective ones of the set of candidate voice action passive data structures; determining, by the voice action system, that the transcription of the user command utterance corresponds to the one or more trigger terms associated with the voice action passive data structure; and in response to the determination, providing, by the voice action system, the voice action passive data structure to the user device which is remote from the voice action system, thereby causing the software application installed on the user device to perform the one or more operations to perform the new voice action.
-
Specification