다음을 통해 공유


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입니다.

예제

다음 예제에서는 두 개의 Grammar 개체를 만듭니다. 하나는 숫자용이고 다른 하나는 분수용입니다. 개체에는 Grammar 이름 및 상대 가중치 및 우선 순위가 할당되고 In-Process 음성 인식기가 로드합니다. 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 애플리케이션에 대 한 음성 인식 정확도 튜닝 하려면 속성을 사용할 수 있습니다 특정 인식 환경의 및 인식 엔진에 대 한 전체 정보를 사용 하 여 진단 조사를 제어 한 후에 사용 해야 합니다. 아래에서 사용 합니다.

적용 대상

추가 정보