Grammar Klas

Definitie

Een runtimeobject dat verwijst naar een grammatica voor spraakherkenning, die een toepassing kan gebruiken om de beperkingen voor spraakherkenning te definiëren.

public ref class Grammar
public class Grammar
type Grammar = class
Public Class Grammar
Overname
Grammar
Afgeleid

Voorbeelden

In het volgende voorbeeld wordt een Grammar object samengesteld op basis van een grammatica in spraakherkenning die is gedefinieerd in een XML-bestand (cities.xml). De inhoud van het cities.xml-bestand wordt weergegeven in het volgende XML-voorbeeld.

// 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>

Opmerkingen

Een grammatica voor spraakherkenning is een set regels of beperkingen waarmee wordt gedefinieerd wat een spraakherkenningsengine kan herkennen als zinvolle invoer. Zie Spraakherkenning en Grammatica maken met behulp van SrgsGrammar voor meer informatie over het maken en gebruiken van grammaticacontrole.

Nadat u een grammatica hebt gemaakt, moet u deze inbouwen in een Grammar object dat door een spraakherkenningsengine kan worden geladen en dat uw toepassing tijdens runtime kan gebruiken om spraakherkenning te beheren. U kunt een Grammar constructor gebruiken om een Grammar exemplaar te maken op basis van een GrammarBuilder of een SrgsDocument object, of vanuit een bestand of een bestand Stream dat een beschrijving van een grammatica in een ondersteunde indeling bevat. Ondersteunde indelingen zijn onder andere:

Grammaticaconstructors die grammaticabestanden met XML-indeling in hun argumenten accepteren, compileren de XML-grammatica in een binaire indeling om ze te optimaliseren voor het laden en verbruik door een spraakherkenningsengine. U kunt de benodigde tijd voor het maken van een object op basis van een Grammar grammatica in XML-indeling verminderen door de grammatica vooraf samen te stellen met behulp van een van de Compile methoden.

De spraakherkenningsengine van een toepassing, zoals beheerd door een SpeechRecognizer of SpeechRecognitionEngine object, kan meerdere grammatica's voor spraakherkenning laden. De toepassing kan afzonderlijke grammatica's onafhankelijk in- of uitschakelen door de Enabled eigenschap in te stellen en het gedrag van herkenning te wijzigen via Grammar eigenschappen, zoals de Priority eigenschappen en Weight eigenschappen.

De gebeurtenis van SpeechRecognized de grammatica wordt gegenereerd wanneer invoer overeenkomt met een pad door de grammatica.

Important

Het gebruik van een exemplaar van dit type met niet-vertrouwde gegevens is een beveiligingsrisico. Gebruik dit object alleen met vertrouwde gegevens. Zie Alle invoergegevens validerenvoor meer informatie.

Note

Het is een best practice om de veiligheid te controleren van een URI of DLL die wordt gebruikt om een Grammar object te bouwen, waardoor beveiligingsproblemen worden voorkomen bij het laden van externe resources.

Windows en het Speech-platform bieden beveiliging voor toepassingen die een Grammar-exemplaar maken vanuit een DLL of vanuit een grammatica die scripting ondersteunt.

Scripts in Grammar objecten worden altijd uitgevoerd alsof ze worden gedownload van een webpagina in de Internet Zone. De Common Language Runtime (CLR) isoleert alle DLL's die zijn geladen om een grammaticadefinitie te verkrijgen.

Constructors

Name Description
Grammar()

Initialiseert een nieuw exemplaar van de Grammar klasse.

Grammar(GrammarBuilder)

Initialiseert een nieuw exemplaar van de Grammar klasse van een GrammarBuilder object.

Grammar(SrgsDocument, String, Object[])

Initialiseert een nieuw exemplaar van de Grammar klasse van een exemplaar van SrgsDocumenten geeft de naam van een regel op als het toegangspunt voor de grammatica.

Grammar(SrgsDocument, String, Uri, Object[])

Initialiseert een nieuw exemplaar van de Grammar klasse van een exemplaar van SrgsDocumenten geeft de naam van een regel op als het toegangspunt voor de grammatica en een basis-URI om relatieve verwijzingen op te lossen.

Grammar(SrgsDocument, String, Uri)

Initialiseert een nieuw exemplaar van de Grammar klasse van een SrgsDocument object, geeft een hoofdregel op en definieert een basis-URI (Uniform Resource Identifier) om relatieve regelverwijzingen op te lossen.

Grammar(SrgsDocument, String)

Initialiseert een nieuw exemplaar van de Grammar klasse van een SrgsDocument object en geeft een hoofdregel op.

Grammar(SrgsDocument)

Initialiseert een nieuw exemplaar van de Grammar klasse van een SrgsDocument object.

Grammar(Stream, String, Object[])

Initialiseert een nieuw exemplaar van de Grammar klasse uit een Stream en geeft een hoofdregel op.

Grammar(Stream, String, Uri, Object[])

Initialiseert een nieuw exemplaar van de Grammar klasse a Stream en geeft een hoofdregel en een basis-URI op om relatieve verwijzingen op te lossen.

Grammar(Stream, String, Uri)

Initialiseert een nieuw exemplaar van de Grammar klasse uit een stroom, geeft een hoofdregel op en definieert een basis-URI (Uniform Resource Identifier) om relatieve regelverwijzingen op te lossen.

Grammar(Stream, String)

Initialiseert een nieuw exemplaar van de Grammar klasse uit een Stream en geeft een hoofdregel op.

Grammar(Stream)

Initialiseert een nieuw exemplaar van de Grammar klasse van een Stream.

Grammar(String, String, Object[])

Initialiseert een nieuw exemplaar van de Grammar klasse van een bestand dat een grammaticadefinitie bevat en geeft de naam van een regel op als het beginpunt van de grammatica.

Grammar(String, String)

Initialiseert een nieuw exemplaar van de Grammar klasse uit een bestand en geeft een hoofdregel op.

Grammar(String)

Initialiseert een nieuw exemplaar van de Grammar klasse uit een bestand.

Eigenschappen

Name Description
Enabled

Hiermee wordt een waarde opgehaald of ingesteld waarmee wordt bepaald of een Grammar kan worden gebruikt door een spraakherkenning om herkenning uit te voeren.

IsStg

Hiermee wordt aangegeven of een grammatica sterk is getypt.

Loaded

Hiermee wordt aangegeven of een Grammar bestand is geladen door een spraakherkenning.

Name

Hiermee haalt u de naam van een Grammar object op of stelt u deze in.

Priority

Hiermee wordt de prioriteitswaarde van een Grammar object opgehaald of ingesteld.

ResourceName

Hiermee wordt een waarde opgehaald of ingesteld met de naam van een binaire resource die is gebruikt om de huidige Grammarte laden.

RuleName

Hiermee haalt u de naam van de hoofdregel of het toegangspunt van een Grammar object op.

Weight

Hiermee wordt de gewichtswaarde van een Grammar object opgehaald of ingesteld.

Methoden

Name Description
Equals(Object)

Bepaalt of het opgegeven object gelijk is aan het huidige object.

(Overgenomen van Object)
GetHashCode()

Fungeert als de standaardhashfunctie.

(Overgenomen van Object)
GetType()

Hiermee haalt u de Type huidige instantie op.

(Overgenomen van Object)
LoadLocalizedGrammarFromType(Type, Object[])

De LoadLocalizedGrammarFromType methode retourneert een gelokaliseerd exemplaar van een Grammar object dat is afgeleid van Type.

MemberwiseClone()

Hiermee maakt u een ondiepe kopie van de huidige Object.

(Overgenomen van Object)
StgInit(Object[])

De StgInit methode initialiseert een sterk getypte grammatica.

ToString()

Retourneert een tekenreeks die het huidige object vertegenwoordigt.

(Overgenomen van Object)

gebeurtenis

Name Description
SpeechRecognized

Gegenereerd wanneer een spraakherkenning herkenning uitvoert met behulp van het Grammar object.

Van toepassing op

Zie ook