Claims
- 1. A method of managing grammars used in a speech recognition system, comprising:
loading a first grammar in a CFG engine; implementing an engine-independent SR interface between the CFG engine and a speech recognition (SR) engine; communicating words in the first grammar to the SR engine through the SR interface; notifying the SR engine, through the SR interface, of rules in the first grammar; and representing the rules in the first grammar to the SR engine through the SR interface.
- 2. The method of claim 1 and further comprising:
receiving rule queries from the SR engine through the SR interface; and providing rule information to the SR engine, through the SR interface, the rule information enabling the SR engine to construct an internal representation of the first grammar.
- 3. The method of claim 2 wherein providing the rule information includes providing a rule identifier, a rule level indicator indicating a level of a corresponding rule, state information representing states in the corresponding rule and transition information representing transitions in the corresponding rule.
- 4. The method of claim 1 and further comprising:
loading a second grammar in the CFG engine; and representing the first and second grammars to the SR engine, through the SR interface, as a single grammar.
- 5. The method of claim 4 wherein representing the first and second grammars to the SR engine comprises:
communicating words in the second grammar to the SR engine through the SR interface; notifying the SR engine, through the interface, of rules in the second grammar; and representing the rules in the second grammar to the SR engine through the interface.
- 6. The method of claim 5 wherein communicating words in the second grammar to the SR engine comprises:
communicating only new words in the second grammar, not in the first grammar, to the SR engine through the SR interface.
- 7. The method of claim 1 and further comprising:
implementing an application-independent application interface between the CFG engine and an application.
- 8. The method of claim 7 and further comprising:
receiving an activation input from the application, through the application interface, indicating which of the rules are to be active; and providing an activation indication from the CFG engine, through the interface, to the SR engine to indicate which of the rules are active, based on the activation input.
- 9. The method of claim 7 and further comprising:
receiving from the application, through the application interface, a change indication, indicating a change to the first grammar; and determining, in the CFG engine, whether content of a rule in the first grammar is to be changed, based on the change indication; and if so, providing an invalidation indication to the SR engine, through the SR interface, indicating the first grammar is to be invalidated.
- 10. The method of claim 9 and further comprising:
receiving queries from the SR engine through the SR interface; and in response to the queries, providing word and rule information to the SR engine through the SR interface, the word and rule information enabling the SR engine to construct an internal representation of the first grammar with the change.
- 11. The method of claim 9 and further comprising:
if the content of a rule in the first grammar is not to be changed, but a word or rule is to be added, providing an indication to the SR engine through the SR interface to add the word or rule to the SR engine.
- 12. The method of claim 1 and further comprising:
determining in the CFG engine whether the first grammar refers to any additional grammars; and if so, loading the additional grammars in the CFG engine.
- 13. The method of claim 12 and further comprising:
representing the first and additional grammars to the SR engine, through the SR interface, as a single grammar.
- 14. The method of claim 13 and further comprising:
communicating words in the additional grammars to the SR engine through the SR interface; notifying the SR engine, through the SR interface, of rules in the additional grammars; and representing the rules in the additional grammars to the SR engine through the SR interface.
- 15. The method of claim 1 wherein communicating words in the first grammar to the SR engine through the SR interface comprises:
providing a word handle to the SR engine identifying each word.
- 16. A method of parsing a speech recognition result from a speech recognition (SR) engine, comprising:
receiving the result from the SR engine at a context-free grammar (CFG) engine having an interface component exposing methods to implement an engine-independent interface to the SR engine and an application-independent interface to an application; and parsing the result at the CFG engine to obtain a parsed result; and providing the parsed result to the application from the CFG engine.
- 17. The method of claim 16 wherein receiving the result comprises:
receiving a rule identifier identifying a rule in a CFG that spawned the result; and receiving a plurality of transition identifiers identifying transitions through the rule that spawned the result.
- 18. The method of claim 17 wherein parsing comprises:
constructing an indication of a parse tree based on the rule identifier and the plurality of transition identifiers; and providing the indication of the parse tree from the CFG engine to the application through the application-independent interface.
- 19. A middleware component between an application and a speech recognition (SR) engine, comprising:
a context-free grammar (CFG) engine configured to receive a first grammar from the application and represent the first grammar to the SR engine; and an interface component coupled to the CFG engine, exposing methods to provide an application-independent interface to the application and an engine-independent interface to the SR engine.
- 20. The middleware component of claim 19 wherein the CFG engine is configured to notify the SR engine, through the interface component, of words in the first grammar.
- 21. The middleware component of claim 19 wherein the CFG engine is configured to receive a plurality of different grammars and represent the plurality of different grammars to the SR engine, through the interface component, as a single grammar.
- 22. The middleware component of claim 19 wherein the CFG engine is configured to determine whether the first grammar refers to any additional grammars.
- 23. The middleware component of claim 22 wherein the CFG engine is configured to load the additional grammars referred to by the first grammar and to represent the first grammar and the additional grammars to the SR engine, through the interface component, as a single grammar.
- 24. The middleware component of claim 23 wherein the CFG engine is configured to represent the first and additional grammars as a single grammar by providing substantially only word, rule and transition information indicative of words, rules and transitions in the first and additional grammars, regardless of a grammar containing the words, rules and transitions.
- 25. The middleware component of claim 19 wherein the CFG engine is configured to receive change information indicative of changes to the first grammar and to provide an invalidation output to the SR engine, through the interface, invalidating the first grammar in the SR engine.
- 26. The middleware component of claim 25 wherein the CFG engine is configured to receive a plurality of queries from the SR engine, through the interface, and to represent the first grammar, with the changes, to the SR engine in response to the queries.
- 27. A computer readable medium including instructions which, when implemented by a computer, cause the computer to perform the method of managing grammars used in a speech recognition system, comprising:
loading a first grammar in a CFG engine; implementing an engine-independent SR interface between the CFG engine and a speech recognition (SR) engine; communicating words in the first grammar to the SR engine through the SR interface; notifying the SR engine, through the SR interface, of rules in the first grammar; and representing the rules in the first grammar to the SR engine through the SR interface.
- 28. A computer readable medium including instructions which, when implemented by a computer, cause the computer to perform the method of parsing a speech recognition result from a speech recognition (SR) engine, comprising:
receiving the result from the SR engine at a context-free grammar (CFG) engine having an interface component exposing methods to implement an engine-independent interface to the SR engine and an application-independent interface to an application; and parsing the result at the CFG engine to obtain a parsed result; and providing the parsed result to the application from the CFG engine.
REFERENCE TO CO-PENDING APPLICATION
[0001] The present application hereby refers to, and claims priority from, the following co-pending patent applications:
[0002] U.S. Provisional Patent Application Serial No. 60/219,861, entitled ______, filed on Jul. 20, 2000; and
[0003] U.S. patent application Ser. No. ______, entitled MIDDLEWARE LAYER BETWEEN SPEECH-RELATED APPLICATIONS AND ENGINES, filed on ______.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60219861 |
Jul 2000 |
US |