다음을 통해 공유


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 이름 및 상대 가중치 및 우선 순위가 할당되고 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 애플리케이션에 대한 음성 인식의 정확도를 조정하는 데 사용할 수 있지만 특정 인식 환경의 제어된 진단 연구 후 사용 중인 인식 엔진에 대한 전체 정보와 함께 사용해야 합니다.

적용 대상

추가 정보