IP Library Granted Patent US 7,167,831
Granted Patent B2
US 7,167,831 · App. 10/067,696 · Granted Jan 23, 2007

Systems and methods for managing multiple grammars in a speech recognition system

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,167,831
App. No.
10/067,696
Granted
Jan 23, 2007
Kind
B2
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.

Claims (35)

1. A speech system, comprising:

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 though 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 grammar table for each grammar used by the speech-enabled applications, each grammar table containing one or more grammar attributes for the grammar with which it associated; and

wherein a static flag value specifying a grammar attribute in the grammar table, when set, indicates that the grammar associated with the grammar table is a static grammar that cannot be changed after the grammar table is stored in the speech system.

2. A method, comprising:

receiving a speech interaction from a speech-enabled application;

identifying a speech grammar associated with the speech interaction;

processing the speech interaction according to grammar attributes contained in a grammar table associated with the identified speech grammar; and

wherein a grammar attribute included in the grammar table is a static flag that when set, indicates that the speech grammar associated with the grammar table may not be changed after the speech grammar is committed.

3. A speech server interface exposed by a speech system for use by one or more speech-enabled applications, comprising an advise speech events method used by a speech-enabled application to let the speech system know that the speech-enabled application is listening for speech recognition events;

an unadvise speech events method used by a speech-enabled application to let the speech system know that the speech-enabled application is not listening for speech recognition events;

a create grammar method that is used to load an existing grammar used by a speech-enabled application or to load a new grammar for the speech-enabled application;

a get grammar identifier method that is used to obtain a value uniquely associated with the loaded grammar;

a remove grammar method that is used to remove a grammar from the speech system;

a persist method that a speech-enabled application uses to persist a grammar used by the speech-enabled application;

a yield-to-grammar method used by a speech-enabled application to make yielding grammars in the speech system yield to the grammar used by the speech-enabled application;

an unyield-to-grammar method used by a speech-enabled application to make other yielding grammars unyield;

a commit method used to commit a grammar to the speech system;

a get rule method used by the speech system to construct and control individual rules in a grammar;

a create new state method used by the speech system to create new states in a grammar;

an add word transition method used to add a transition between two states on a word;

an add rule transition method used to add a transition between two states on a rule;

a set rule state method used to activate and de-activate rules;

a set grammar state method used to activate and de-activate grammars;

a get grammar state method used to get a grammar state;

a get recognition method used to get a recognition that has occurred;

a get alternate method used to get alternates to a recognition that has occurred;

a turn speech recognizer on method that is used by a speech-enabled application to activate a speech recognizer in the speech system;

a turn speech recognizer off method that is used by a speech-enabled application to deactivate a speech recognizer in the speech system;

a get recognizer state method used to get a speech recognizer state;

an advise SAPI event method used to pass in a sink that is called when an event that is advised for occurs, wherein SAPI is a speech application programming interface which enables a speech server in the speech system to communicate with a speech engine;

an unadvise SAPI event method used to let the speech system know that a sink used with the advise SAPI event method is no longer interested in SAPI events;

a get recognition context method used to get a speech recognition context pointer from a speech engine in the speech system; and

a get voice method used to get a voice pointer from the speech engine.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034541/0477 →