Systems and methods for managing multiple grammars in a speech recognition system
First Claim
1. A speech system, comprising:
- memory;
a processor coupled to the memory for managing multiple speech-enabled applications;
a speech engine configured to recognize commands from a user and make announcements to the user;
a speech server having a speech server interface through which multiple speech-enabled applications communicate with the speech system, and a speech application programming interface through which the speech server communicates with the speech engine;
wherein the speech server manages concurrent processing of interactions submitted by the speech-enabled applications while allowing each speech-enabled application to utilize a different speech recognition grammar;
a master grammar table comprising a speech recognition grammar that is registered with the speech server by the speech-enabled applications;
the speech server passing a recognition of a grammar upon receiving an indication that the recognition of the grammar occurred in a speech interaction to a corresponding speech-enabled application that registered the grammar;
wherein when the corresponding speech-enabled application is unloaded and not running, the speech server automatically loads unloaded speech-enabled application in response to receiving a command included in the grammar used by the unloaded speech-enabled application;
an interaction manager moves speech interactions that are considered a high priority to a beginning of an order to be processed, receiving a high priority speech interaction and interrupting a speech interaction that is being processed when the high priority speech interaction is received, while other speech interactions are processed as submitted, on a first-in-first-out basis, wherein the order to be processed is maintained in an interaction list by the interaction manager; and
the interaction manager establishes a chain of interactions that constitutes a conversation, wherein the interaction manager waits during a pre-determined grace period or time out for a submission of a subsequent interaction in the conversation before processing a next interaction in the interaction list;
wherein the speech server includes a self destruct flag that indicates a current interaction terminates when the interaction is interrupted.
2 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods are described for a speech system that manages multiple grammars from one or more speech-enabled applications. The speech system includes a speech server that supports different grammars and different types of grammars by exposing several methods to the speech-enabled applications. The speech server supports static grammars that do not change and dynamic grammars that may change after a commit. The speech server provides persistence by supporting persistent grammars that enable a user to issue a command to an application even when the application is not loaded. In such a circumstance, the application is automatically launched and the command is processed. The speech server may enable or disable a grammar in order to limit confusion between grammars. Global and yielding grammars are also supported by the speech server. Global grammars are always active (e.g., “call 9-1-1”) while yielding grammars may be deactivated when an interaction whose grammar requires priority is active.
-
Citations
19 Claims
-
1. A speech system, comprising:
-
memory; a processor coupled to the memory for managing multiple speech-enabled applications; a speech engine configured to recognize commands from a user and make announcements to the user; a speech server having a speech server interface through which multiple speech-enabled applications communicate with the speech system, and a speech application programming interface through which the speech server communicates with the speech engine; wherein the speech server manages concurrent processing of interactions submitted by the speech-enabled applications while allowing each speech-enabled application to utilize a different speech recognition grammar; a master grammar table comprising a speech recognition grammar that is registered with the speech server by the speech-enabled applications; the speech server passing a recognition of a grammar upon receiving an indication that the recognition of the grammar occurred in a speech interaction to a corresponding speech-enabled application that registered the grammar; wherein when the corresponding speech-enabled application is unloaded and not running, the speech server automatically loads unloaded speech-enabled application in response to receiving a command included in the grammar used by the unloaded speech-enabled application; an interaction manager moves speech interactions that are considered a high priority to a beginning of an order to be processed, receiving a high priority speech interaction and interrupting a speech interaction that is being processed when the high priority speech interaction is received, while other speech interactions are processed as submitted, on a first-in-first-out basis, wherein the order to be processed is maintained in an interaction list by the interaction manager; and the interaction manager establishes a chain of interactions that constitutes a conversation, wherein the interaction manager waits during a pre-determined grace period or time out for a submission of a subsequent interaction in the conversation before processing a next interaction in the interaction list; wherein the speech server includes a self destruct flag that indicates a current interaction terminates when the interaction is interrupted. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method, having computer-executable instructions to be executed by a computing device, the method comprising:
-
managing multiple speech-enabled applications; registering a grammar by the multiple speech-enabled applications in a master grammar table, the master grammar table comprising a grammar table; receiving a first speech interaction from a first speech-enabled application that utilizes a first grammar, wherein a recognition of the first grammar is passed to the first speech-enabled application that registered the first grammar in the master grammar table; identifying the first grammar associated with the first speech interaction; processing the first speech interaction according to properties attributable to the identified first grammar; receiving a second speech interaction from a second speech-enabled application that utilizes a second grammar, the second speech interaction being received while the first speech interaction is processing; processing the second speech interaction according to properties attributable to the second grammar; wherein the processing of the first speech interaction is interrupted and the processing of the second speech interaction is immediately commenced when an indication is detected directing that the second speech interaction be processed immediately; if the second speech-enabled application that registered the second grammar in the master grammar table is not loaded, then automatically loading the second speech-enabled application to execute one or more commands associated with the second speech interaction; moving the speech interaction that is considered a high priority to a beginning of an order to be processed, while other speech interactions are processed in the order in which the speech interactions are submitted, on a first-in-first-out basis, wherein the order to be processed is maintained in an interaction list; establishing a chain of interactions that constitutes a conversation, wherein a subsequent interaction in the conversation is waited for during a pre-determined grace period or time out before processing a next interaction in the interaction list; and setting a self destruct flag that indicates when a current speech interaction is interrupted, the interaction is terminated. - View Dependent Claims (12, 13, 14, 15, 16, 17)
-
-
18. One or more computer-readable storage media containing computer-executable instructions that, when executed on a computer, perform the following steps:
-
managing multiple speech-enabled applications; registering a grammar by the multiple speech-enabled applications in a master grammar table; receiving a first interaction from a first speech-enabled application that utilizes a first grammar, wherein a recognition of the first grammar is passed to the first speech-enabled application that registered the first grammar in the master grammar table; processing the first interaction according to properties attributable to the first grammar; receiving a second interaction from a second speech-enabled application that utilizes a second grammar, the second interaction being received while the first interaction is processing; processing the second interaction according to properties attributable to the second grammar; wherein the processing of the first interaction is interrupted and processing of the second interaction is immediately commenced if an indication is detected directing that the second interaction be processed immediately; moving the speech interaction that is considered a high priority to a beginning of an order, while other speech interactions are processed in the order submitted, on a first-in-first-out basis order; if the second speech-enabled application that registered the second grammar in the master grammar table is not loaded, then automatically loading the second speech-enabled application to execute one or more commands associated with the second interaction; and setting a self destruct flag that indicates when a current speech interaction is interrupted, the interaction is terminated. - View Dependent Claims (19)
-
Specification