# US 2017/0256256 A1 · Developer voice actions system

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2017/0256256 A1
- Document ID: US20170256256A1
- Status: Published application
- Kind: A1
- Application number: 15/057,453
- Filed: 2016-03-01
- Published: 2017-09-07
- Earliest claimed: 2016-03-01
- Assignees: Google Inc.
- Applicants: Google Inc.
- Inventors: Bo Wang; Sunil Vemuri; Barnaby John James; Scott B. Huffman; Pravir Kumar Gupta
- Web page: https://patentgrep.com/patent/US20170256256A1

## CPC

- G10L 15/22: Procedures used during a speech recognition process, e.g. man-machine dialogue
- G10L 15/1822: {Parsing for meaning understanding}
- G10L 15/26: Speech to text systems (G10L15/08 takes precedence)
- G10L 15/30: Distributed recognition, e.g. in client-server systems, for mobile phones or network applications
- G10L 2015/223: {Execution procedure of a spoken command}
- G10L 2015/227: {of the speaker; Human-factor methodology}
- G10L 2015/228: {of application context}
- G10L: SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING

## 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.

## Claims

### 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;
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 one or more trigger terms for triggering the new voice action;
receiving, by the voice action system, a user command utterance obtained by a user device, the user device having the software application installed;
determining, by the voice action system, that a 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.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1, 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 when the new voice action is enabled.

### Claim 3 (depends on 1)

The computer-implemented method of claim 1, wherein the new voice action is a voice-enabled command that the software application is not programmed to support.

### Claim 4 (depends on 1)

The computer-implemented method of claim 1, wherein receiving the data defining the new voice action comprises receiving the data from a developer who published the software application.

### Claim 5 (depends on 1)

The computer-implemented method of claim 1, wherein the voice action system does not receive the data defining the new voice action from the software application installed on the user device.

### Claim 6 (depends on 2)

The computer-implemented method of claim 2, wherein the context specifies that a specific activity that the software application is performing is in a particular activity state.

### Claim 7 (depends on 2)

The computer-implemented method of claim 2, comprising:
associating, by the voice action system, the voice action passive data structure with the context;
receiving, by the voice action system, context information indicating a status of the user device or of the software application installed on the user device;
determining, by the voice action system, that the context information satisfies the context; and
in response to determining 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 that the context information satisfies the context, providing, by the voice action system, the voice action passive data structure to the user device, thereby causing the software application installed on the user device to perform the one or more operations to perform the new voice action.

### Claim 8 (depends on 7)

The computer-implemented method of claim 7, wherein receiving the context information indicating the status of the user device or of the software application installed on the user device comprises:
providing, by the voice action system to the user device, a request for particular context information; and
receiving, by the voice action system, the particular context information in response to the request.

### Claim 9 (depends on 7)

The computer-implemented method of claim 7, comprising:
determining, by the voice action system, that the context information satisfies a context for a second voice action, and that the transcription of the user command utterance corresponds to one or more trigger terms associated with a voice action passive data structure for the second voice action, wherein the voice action passive data structure for the second voice action comprises data that, when received by a software application associated with the second voice action, causes the software application associated with the second voice action to perform one or more operations to perform the second voice action;
in response to the determination, selecting, by the voice action system, a voice action from among the new voice action and the second voice action; and
providing, by the voice action system, the voice action passive data structure associated with the selected voice action to the user device, thereby causing the software application installed on the user device to perform the one or more operations to perform the selected voice action.

### Claim 10 (depends on 9)

The computer-implemented method of claim 9, wherein selecting the selected voice action from among the new voice action and the second voice action comprises selecting the selected voice action in response to receiving data indicating a user selection of one of the new voice action or the second voice action.

### Claim 11 (depends on 9)

The computer-implemented method of claim 9, wherein selecting the selected voice action from among the new voice action and the second voice action comprises:
assigning a score to each of the new voice action and the second voice action; and
selecting the selected voice action based at least on the score assigned to each of the new voice action and the second voice action.

### Claim 12 (depends on 9)

The computer-implemented method of claim 9, wherein selecting the selected voice action from among the new voice action and the second voice action comprises selecting the selected voice action in response to determining that the software application associated with the selected voice action is operating in the foreground.

### Claim 13 (depends on 1)

The computer-implemented method of claim 1, wherein generating the voice action passive data structure comprises determining that the one or more operations to perform the new voice action are capable of being performed by the software application.

### Claim 14 (depends on 1)

The computer-implemented method of claim 1, comprising:
determining, by the voice action system, that the transcription of the user command utterance is similar to the one or more trigger terms associated with the voice action passive data structure;
in response to the determination, providing, by the voice action system to the user device, data indicating a request for user input that confirms whether the user command utterance corresponds to the one or more trigger terms associated with the voice action passive data structure or was intended to cause the software application to perform the new voice action;
in response to the request, receiving, by the voice action system and from the user device, data indicating a confirmation; and
in response to receiving the data indicating the confirmation, providing, by the voice action system, the voice action passive data structure to the user device, thereby causing the software application installed on the user device to perform the one or more operations to perform the new voice action.

### Claim 15 (depends on 1)

The computer-implemented method of claim 1, comprising:
receiving, by the voice action system, a request to deploy the new voice action; and
deploying, by the voice action system, the new voice action in response to the request, wherein deploying the new voice action enables triggering of the new voice action.

### Claim 16 (depends on 1)

The computer-implemented method of claim 1, comprising:
receiving, by the voice action system, a request to rescind deployment of the new voice action; and
rescinding, by the voice action system, deployment of the new voice action in response to the request, wherein rescinding deployment of the new voice action disables triggering of the new voice action.

### Claim 17 (depends on 1)

The computer-implemented method of claim 1, comprising:
receiving, by the voice action system, a request to enable testing of the new voice action, wherein the request specifies one or more devices for which the new voice action should be enabled; and
enabling, by the voice action system, triggering of the new voice action for the one or more specified devices in response to the request, wherein triggering of the new voice action is disabled for devices that are not included in the specified devices.

### Claim 18

(canceled)

### Claim 19

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;
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 one or more trigger terms for triggering the new voice action;
receiving, by the voice action system, a user command utterance obtained by a user device, the user device having the software application installed;
determining, by the voice action system, that a 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.

### Claim 20 (depends on 19)

The system of claim 19, wherein the data defining the new voice action specifies a context, the context specifying a status of a device or of the software application when the new voice action is enabled.

### Claim 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 of 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;
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 one or more trigger terms for triggering the new voice action;
receiving, by the voice action system, a user command utterance obtained by a user device, the user device having the software application installed;
determining, by the voice action system, that a 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.

### Claim 22 (depends on 21)

The non-transitory computer-readable storage device of claim 21, wherein the data defining the new voice action specifies a context, the context specifying a status of a device or of the software application when the new voice action is enabled.
