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

属性值

Single

Weight 返回一个表明标识引擎实例当处理语音输入时应分配给语法的相对权重的浮点值的属性。 范围从 0.0 到 1.0(含 1.0)。 默认值为 1.0。

示例

以下示例创建两 Grammar 个对象,一个用于数字,一个用于分数。 对象 Grammar 分配名称和相对权重和优先级,并由进程内语音识别器加载。 此处未显示该方法CreateDigitsGrammar``CreateFractionsGrammarrecognizer_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);  

注解

由于识别引擎对 权重 的使用的复杂性,它对特定语法性能的影响不像这样直接可预测。Priority

语音识别是一个加权系统。 它基于语法权重、语法中为替代项定义的权重以及语音模型定义的概率来评估所有可能的识别路径。 语音识别引擎使用这些权重和概率的组合来排名潜在的替代识别。 权重较高的语法将比权重较低的语法更有利于识别替代项的排名。

属性对 Weight 语音识别器的影响取决于识别器实现。 尽管该 Weight 属性可用于优化应用程序的语音识别的准确性,但在对特定识别环境的受控诊断研究以及有关正在使用的识别引擎的完整信息之后,才应使用该属性。

适用于

另请参阅