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.
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
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 CreateDigitsGrammar
Methoden 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.