Grammar Klass
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Ett körningsobjekt som refererar till en taligenkännings grammatik, som ett program kan använda för att definiera begränsningarna för taligenkänning.
public ref class Grammar
public class Grammar
type Grammar = class
Public Class Grammar
- Arv
-
Grammar
- Härledda
Exempel
I följande exempel skapas ett Grammar objekt från en grammatik för taligenkänning som definierats i en XML-fil (cities.xml). Innehållet i cities.xml-filen visas i följande XML-exempel.
// Load a cities grammar from a local file and return the grammar object.
private static Grammar CreateGrammarFromFile()
{
Grammar citiesGrammar = new Grammar(@"c:\temp\cities.xml");
citiesGrammar.Name = "SRGS File Cities Grammar";
return citiesGrammar;
}
<?xml version="1.0" encoding="UTF-8" ?>
<grammar version="1.0" xml:lang="en-US"
xmlns="http://www.w3.org/2001/06/grammar"
tag-format="semantics/1.0" root="Main">
<!-- cities.xml:
Defines an SRGS grammar for requesting a flight. This grammar includes
a Cities rule that lists the cities that can be used for departures
and destinations. -->
<rule id="Main">
<item>
I would like to fly from <ruleref uri="#Cities"/>
to <ruleref uri="#Cities"/>
</item>
</rule>
<rule id="Cities" scope="public">
<one-of>
<item> Seattle </item>
<item> Los Angeles </item>
<item> New York </item>
<item> Miami </item>
</one-of>
</rule>
</grammar>
Kommentarer
En grammatik för taligenkänning är en uppsättning regler eller begränsningar som definierar vad en taligenkänningsmotor kan känna igen som meningsfulla indata. Mer information om hur du skapar och använder taligenkännings grammatik finns i Taligenkänning och Skapa grammatik med SrgsGrammar.
När du har skapat en grammatik måste du bygga in den i ett Grammar objekt som en taligenkänningsmotor kan läsa in och som programmet kan använda vid körning för att hantera taligenkänning. Du kan använda en Grammar konstruktor för att skapa en Grammar instans från ett GrammarBuilder eller ett SrgsDocument objekt, eller från en fil eller en Stream som innehåller en beskrivning av en grammatik i ett format som stöds. Format som stöds omfattar följande:
XML-formatfiler som överensstämmer med W3C:s SRGS-version (Speech Recognition Grammar Specification) version 1.0
Grammatik som har kompilerats till en binär fil med filnamnstillägget .cfg
Grammatikkonstruktorer som accepterar grammatikfiler i XML-format i sina argument kompilerar XML-grammatiken till ett binärt format för att optimera dem för inläsning och förbrukning av en taligenkänningsmotor. Du kan minska den tid som krävs för att konstruera ett Grammar objekt från en XML-format grammatik genom att kompilera grammatiken i förväg med någon av Compile metoderna.
Ett programs taligenkänningsmotor, som hanteras av ett objekt eller SpeechRecognizer ett SpeechRecognitionEngine objekt, kan läsa in flera grammatiker för taligenkänning. Programmet kan oberoende aktivera eller inaktivera enskilda grammatiker genom att ange Enabled egenskapen och ändra igenkänningsbeteendet via Grammar egenskaper, till exempel Priority egenskaperna och Weight .
Grammatikens SpeechRecognized händelse utlöses när indata matchar en sökväg genom grammatiken.
Important
Att använda en instans av den här typen med ej betrodda data är en säkerhetsrisk. Använd endast det här objektet med betrodda data. För mer information, se Verifiera alla indata.
Note
Det är bästa praxis att kontrollera säkerheten för alla URI: er eller DLL som används för att skapa ett Grammar objekt, vilket hjälper till att förhindra säkerhetsrisker vid inläsning av externa resurser.
Windows och Speech-plattformen ger säkerhet för program som skapar en Grammar instans från en DLL eller från en grammatik som stöder skript.
Skript i Grammar objekt körs alltid som om de laddades ned från en webbsida i Internet Zone. Common Language Runtime (CLR) isolerar alla DLL-filer som läses in för att hämta en grammatikdefinition.
Konstruktorer
| Name | Description |
|---|---|
| Grammar() |
Initierar en ny instans av Grammar klassen. |
| Grammar(GrammarBuilder) |
Initierar en ny instans av Grammar klassen från ett GrammarBuilder objekt. |
| Grammar(SrgsDocument, String, Object[]) |
Initierar en ny instans av Grammar klassen från en instans av SrgsDocumentoch anger namnet på en regel som ska vara startpunkten för grammatiken. |
| Grammar(SrgsDocument, String, Uri, Object[]) |
Initierar en ny instans av Grammar klassen från en instans av SrgsDocumentoch anger namnet på en regel som ska vara startpunkten för grammatiken och en bas-URI för att matcha relativa referenser. |
| Grammar(SrgsDocument, String, Uri) |
Initierar en ny instans av Grammar klassen från ett SrgsDocument objekt, anger en rotregel och definierar en grundläggande URI (Uniform Resource Identifier) för att matcha relativa regelreferenser. |
| Grammar(SrgsDocument, String) |
Initierar en ny instans av Grammar klassen från ett SrgsDocument objekt och anger en rotregel. |
| Grammar(SrgsDocument) |
Initierar en ny instans av Grammar klassen från ett SrgsDocument objekt. |
| Grammar(Stream, String, Object[]) |
Initierar en ny instans av Grammar klassen från en Stream och anger en rotregel. |
| Grammar(Stream, String, Uri, Object[]) |
Initierar en ny instans av Grammar klassen a Stream och anger en rotregel och en bas-URI för att matcha relativa referenser. |
| Grammar(Stream, String, Uri) |
Initierar en ny instans av Grammar klassen från en dataström, anger en rotregel och definierar en URI (Base Uniform Resource Identifier) för att matcha relativa regelreferenser. |
| Grammar(Stream, String) |
Initierar en ny instans av Grammar klassen från en Stream och anger en rotregel. |
| Grammar(Stream) | |
| Grammar(String, String, Object[]) |
Initierar en ny instans av Grammar klassen från en fil som innehåller en grammatikdefinition och anger namnet på en regel som ska vara startpunkten för grammatiken. |
| Grammar(String, String) |
Initierar en ny instans av Grammar klassen från en fil och anger en rotregel. |
| Grammar(String) |
Initierar en ny instans av Grammar klassen från en fil. |
Egenskaper
| Name | Description |
|---|---|
| Enabled |
Hämtar eller anger ett värde som styr om en Grammar kan användas av en taligenkänning för att utföra igenkänning. |
| IsStg |
Hämtar om en grammatik är starkt skriven. |
| Loaded |
Hämtar om en Grammar har lästs in av en taligenkänning. |
| Name |
Hämtar eller anger namnet på ett Grammar objekt. |
| Priority |
Hämtar eller anger prioritetsvärdet för ett Grammar objekt. |
| ResourceName |
Hämtar eller anger ett värde med namnet på en binär resurs som användes för att läsa in den aktuella Grammar. |
| RuleName |
Hämtar namnet på rotregeln eller startpunkten för ett Grammar objekt. |
| Weight |
Hämtar eller anger viktvärdet för ett Grammar objekt. |
Metoder
| Name | Description |
|---|---|
| Equals(Object) |
Avgör om det angivna objektet är lika med det aktuella objektet. (Ärvd från Object) |
| GetHashCode() |
Fungerar som standard-hash-funktion. (Ärvd från Object) |
| GetType() |
Hämtar den aktuella instansen Type . (Ärvd från Object) |
| LoadLocalizedGrammarFromType(Type, Object[]) |
Metoden |
| MemberwiseClone() |
Skapar en ytlig kopia av den aktuella Object. (Ärvd från Object) |
| StgInit(Object[]) |
Metoden |
| ToString() |
Returnerar en sträng som representerar det aktuella objektet. (Ärvd från Object) |
Händelser
| Name | Description |
|---|---|
| SpeechRecognized |
Utlöses när en taligenkänning utför igenkänning med hjälp av Grammar objektet. |