Grammar.Weight 屬性

定義

取得或設定 Grammar 物件的加權值。

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

屬性值

屬性 Weight 會傳回浮點值,指出辨識引擎實例在處理語音輸入時應該指派給文法的相對權數。 範圍從 0.0 到 1.0 包含。 預設值為 1.0。

範例

下列範例會建立兩 Grammar 個 物件,一個用於數位,另一個用於分數。 物件 Grammar 會指派名稱和相對權數和優先順序,並由進程語音辨識器載入。 CreateDigitsGrammarCreateFractionsGrammarrecognizer_SpeechRecognized 方法不會在此顯示。

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

備註

由於辨識引擎使用 Weight的複雜度,因此其對特定文法效能的影響不如 的 Priority 直接預測。

語音辨識是加權系統。 它會根據文法權數的組合、針對文法內替代專案定義的權數,以及語音模型所定義的機率,評估所有可能的辨識路徑。 語音辨識引擎會使用這些權數和機率的組合來排名潛在的替代辨識。 具有較高權數的文法會比加權較低的文法更能提升辨識替代專案的排名。

屬性對語音辨識器的影響 Weight 取決於辨識器的實作。 Weight雖然 屬性可以用來調整應用程式的語音辨識精確度,但只有在特定辨識環境的受控制診斷研究之後,才應該使用此屬性,以及使用中辨識引擎的完整資訊。

適用於

另請參閱