Facilitating development of a spoken natural language interface
First Claim
1. A computer-readable storage device encoded with computer executable instructions, said instructions causing a computing device to execute a development framework, comprising:
- a developer interface module configured to provide a development interface, the developer interface module comprising;
logic configured to receive a set of seed templates, each seed template identifying a command phrasing for use in invoking a particular function performed by a program, when spoken; and
logic configured to collect a set of added templates, each added template identifying another command phrasing for use in invoking the particular function,the set of seed templates and the set of added templates forming an extended set of templates with all of the templates in the extended set providing a different command phrasing matched to a single user intent relative to the particular function;
a resource interface module configured to interact with one or more development resources to provide the set of added templates; and
a data store for storing the extended set of templates associated with the particular function,the extended set of templates being for use in training one or more models for use on a user device, and said one or more models being applied to determine whether any phrase spoken by an end user is a member of the extended set so as to invoke the particular function.
3 Assignments
0 Petitions
Accused Products
Abstract
A development system is described for facilitating the development of a spoken natural language (SNL) interface. The development system receives seed templates from a developer, each of which provides a command phrasing that can be used to invoke a function, when spoken by an end user. The development system then uses one or more development resources, such as a crowdsourcing system and a paraphrasing system, to provide additional templates. This yields an extended set of templates. A generation system then generates one or more models based on the extended set of templates. A user device may install the model(s) for use in interpreting commands spoken by an end user. When the user device recognizes a command, it may automatically invoke a function associated with that command. Overall, the development system provides an easy-to-use tool for producing an SNL interface.
-
Citations
20 Claims
-
1. A computer-readable storage device encoded with computer executable instructions, said instructions causing a computing device to execute a development framework, comprising:
-
a developer interface module configured to provide a development interface, the developer interface module comprising; logic configured to receive a set of seed templates, each seed template identifying a command phrasing for use in invoking a particular function performed by a program, when spoken; and logic configured to collect a set of added templates, each added template identifying another command phrasing for use in invoking the particular function, the set of seed templates and the set of added templates forming an extended set of templates with all of the templates in the extended set providing a different command phrasing matched to a single user intent relative to the particular function; a resource interface module configured to interact with one or more development resources to provide the set of added templates; and a data store for storing the extended set of templates associated with the particular function, the extended set of templates being for use in training one or more models for use on a user device, and said one or more models being applied to determine whether any phrase spoken by an end user is a member of the extended set so as to invoke the particular function. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A method, implemented by one or more computer devices, comprising:
-
receiving description information, the description information providing a description of a particular function performed by a program resource; receiving a set of seed templates, each seed template identifying a command phrasing for use in invoking the particular function, when the command phrasing is spoken; providing a set of added templates using at least one development resource, each added template identifying another command phrasing for use in invoking the particular function, the set of seed templates and the set of added templates comprising an extended set of templates with all of the templates in the extended set providing a different command phrasing matched to a single user intent relative to the particular function; storing the description information and the extended set of templates in a data store, said at least one development resource including at least a crowdsourcing system and a paraphrasing system; and applying the extended set of templates to train one or more models for use in interpreting and responding to one or more spoken user commands when any phrase spoken by the user is a member of the extended set so as to invoke the particular function. - View Dependent Claims (16)
-
-
17. A device, comprising:
a voice processing module for receiving a voice signal in response to a command spoken by a user, the voice processing module comprising; a speech recognition engine configured to interpret the voice signal using a statistical language model, to provide a speech recognition result; an intent determination engine configured to interpret the speech recognition result using an intent-matching model, to provide an intent determination result, the intent determination result identifying a particular function to be performed by a program in response to the command spoken by the user; logic configured to determine whether the speech recognition result and the intent determination result satisfy a prescribed test, to provide a determination result; and a dispatch module configured to invoke a program resource that performs the particular function, upon an affirmative determination result, the statistical language model and the intent-matching model being provided by a generation system based on a training corpus of templates, the templates comprising; a set of seed templates with each seed template providing a different command phrasing matched to the intent determination result identifying the particular function; and a set of added templates provided by one or more development systems, the set of added templates being related to the set of seed templates, such that each of the added templates provides a different command phrasing matched to the intent determination result identifying the particular function. - View Dependent Claims (18, 19, 20)
Specification