Grammar.Weight Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Dient zum Abrufen oder Festlegen des Gewichtungswerts eines Grammar Objekts.
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
Die Weight Eigenschaft gibt einen Gleitkommawert zurück, der die relative Gewichtung angibt, die eine Instanz des Erkennungsmoduls bei der Verarbeitung der Spracheingabe der Grammatik zuweisen soll. Der Bereich liegt von 0,0 bis einschließlich 1,0. 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 prozessinternen Spracherkennung geladen. Die CreateDigitsGrammarMethoden und recognizer_SpeechRecognized Methoden CreateFractionsGrammarwerden 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 ihre Auswirkung auf die Leistung einer bestimmten Grammatik nicht so direkt vorhersehbar wie die des.Priority
Die Spracherkennung ist ein gewichtetes System. Es wertet alle möglichen Erkennungspfade basierend auf einer Kombination der Gewichtung der Grammatik, der für Alternativen innerhalb der Grammatik definierten Gewichtungen und den durch Sprachmodelle definierten Wahrscheinlichkeiten aus. Das Spracherkennungsmodul verwendet die Kombination dieser Gewichtungen und Wahrscheinlichkeiten, um potenzielle alternative Erkennungen zu bewerten. Grammatiken mit höheren Gewichtungen 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.