Freigeben über


Grammar.Weight Eigenschaft

Definition

Ruft den Wert der Stärke eines Grammar-Objekts ab oder legt diesen fest.

public:
 property float Weight { float get(); void set(float value); };
public float Weight { get; set; }
member this.Weight : single with get, set
Public Property Weight As Single

Eigenschaftswert

Single

Die Weight Eigenschaft gibt einen Gleitkommawert zurück, der die relative Gewichtung angibt, die eine Erkennungsmodulinstanz beim Verarbeiten der Spracheingabe der Grammatik zuweisen soll. Der Bereich liegt zwischen 0,0 und 1,0 inklusive. Der Standardwert ist 1.0.

Beispiele

Im folgenden Beispiel werden zwei Grammar Objekte erstellt, eine für Ziffern und eine für Brüche. Die Grammar Objekte werden Namen und relative Gewichtungen und Prioritäten zugewiesen und von einer In-Process-Spracherkennung geladen. Die CreateDigitsGrammarMethoden CreateFractionsGrammar, und recognizer_SpeechRecognized Methoden werden hier nicht angezeigt.

// Create a Grammar for recognizing numeric digits.  
Grammar digitsGrammar = CreateDigitsGrammar();  
digitsGrammar.Name = "Digits Grammar";  
digitsGrammar.Priority = 2;  
digitsGrammar.Weight = 0.6f;  

// Create a Grammar for recognizing fractions.  
Grammar fractionsGrammar = CreateFractionsGrammar();  
fractionsGrammar.Name = "Fractions Grammar";  
fractionsGrammar.Priority = 1;  
fractionsGrammar.Weight = 1f;  

// Create an in-process speech recognizer.  
SpeechRecognitionEngine recognizer = new SpeechRecognitionEngine();  

recognizer.SpeechRecognized +=  
  new EventHandler<SpeechRecognizedEventArgs>(  
    recognizer_SpeechRecognized);  

// Load the digits and fractions Grammar objects.  
recognizer.LoadGrammar(digitsGrammar);  
recognizer.LoadGrammar(fractionsGrammar);  

// Start recognition.  
recognizer.SetInputToDefaultAudioDevice();  
recognizer.RecognizeAsync(RecognizeMode.Multiple);  

Hinweise

Aufgrund der Komplexität der Gewichtungsnutzung eines Erkennungsmoduls ist seine Auswirkung auf die Leistung einer bestimmten Grammatik nicht so direkt vorhersagbar wie die von Priority.

Die Spracherkennung ist ein gewichtetes System. Es wertet alle möglichen Erkennungspfade basierend auf einer Kombination aus der Gewichtung der Grammatik, den Gewichtungen aus, die für Alternativen innerhalb der Grammatik definiert sind, und die wahrscheinlichkeiten, die von Sprachmodellen definiert sind. Das Spracherkennungsmodul verwendet die Kombination dieser Gewichtungen und Wahrscheinlichkeiten, um potenzielle alternative Erkennungen zu bewerten. Grammatiken mit höheren Gewichten tragen mehr zur Rangfolge von Erkennungsalternativen bei als Grammatiken mit niedrigeren Gewichtungen.

Die Auswirkung der Weight Eigenschaft auf eine Spracherkennung hängt von der Implementierung der Erkennung ab. Obwohl die Weight Eigenschaft verwendet werden kann, um die Genauigkeit der Spracherkennung für eine Anwendung zu optimieren, sollte sie nur nach der kontrollierten Diagnosestudie einer bestimmten Erkennungsumgebung und mit vollständigen Informationen zum verwendeten Erkennungsmodul verwendet werden.

Gilt für

Siehe auch