Systems and methods for managing multiple grammars in a speech recognition system
First Claim
1. A computer system, comprising:
- memory;
a processor coupled to the memory for managing multiple applications;
a speech engine configured to recognize commands from a user and make announcements to the user;
an interaction manager having an interface through which multiple applications communicate through a speech server, and a speech application programming interface through which the speech server communicates with the speech engine;
wherein the interaction manager manages concurrent processing of interactions submitted by the applications;
a master grammar table comprising a speech recognition grammar that is registered with the speech server by the applications;
the speech server passing a recognition of a grammar upon receiving an indication that the recognition of the grammar occurred in an interaction to a corresponding application that registered the grammar;
wherein when the corresponding application is unloaded and not running, the speech server automatically loads the unloaded application in response to receiving a command included in the grammar used by the unloaded application; and
the interaction manager moves interactions that are considered a high priority to a beginning of an order to be processed, receiving a high priority interaction and interrupting an interaction that is being processed when the high priority interaction is received, while other 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.
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
20 Claims
-
1. A computer system, comprising:
-
memory; a processor coupled to the memory for managing multiple applications; a speech engine configured to recognize commands from a user and make announcements to the user; an interaction manager having an interface through which multiple applications communicate through a speech server, and a speech application programming interface through which the speech server communicates with the speech engine; wherein the interaction manager manages concurrent processing of interactions submitted by the applications; a master grammar table comprising a speech recognition grammar that is registered with the speech server by the applications; the speech server passing a recognition of a grammar upon receiving an indication that the recognition of the grammar occurred in an interaction to a corresponding application that registered the grammar; wherein when the corresponding application is unloaded and not running, the speech server automatically loads the unloaded application in response to receiving a command included in the grammar used by the unloaded application; and the interaction manager moves interactions that are considered a high priority to a beginning of an order to be processed, receiving a high priority interaction and interrupting an interaction that is being processed when the high priority interaction is received, while other 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. - 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 applications; registering a grammar by the multiple applications in a master grammar table; receiving a first interaction from a first application that utilizes a first grammar, wherein a recognition of the first grammar is passed to the first application that registered the first grammar in a master grammar table; identifying the first grammar associated with the first interaction; processing the first interaction according to properties attributable to the identified first grammar; receiving a second interaction from a second 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 the processing of the second interaction is immediately commenced when an indication is detected directing that the second interaction be processed immediately; and if the second application that registered the second grammar in the master grammar table is not loaded, then automatically loading the second application to execute one or more commands associated with the second interaction. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18)
-
-
19. One or more computer-readable storage media containing computer-executable instructions that, when executed on a computer, perform the following acts:
-
managing multiple applications; registering a grammar by the multiple applications in a master grammar table; receiving a first interaction from a first application that utilizes a first grammar, wherein a recognition of the first grammar is passed to the first 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 application that utilizes a second grammar, the second interaction being received while the first interaction is processing; and 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. - View Dependent Claims (20)
-
Specification