Использует ли System.Speech.Recognition "обучение речи"?
У меня есть простой код из System.Speech.Recognition
это прекрасно работает:
using (var recognizer = new SpeechRecognitionEngine(new CultureInfo("en-US")))
{
recognizer.LoadGrammar(new DictationGrammar());
recognizer.SpeechRecognized += recognizer_SpeechRecognized;
recognizer.SetInputToDefaultAudioDevice();
recognizer.RecognizeAsync(RecognizeMode.Multiple);
}
private void recognizer_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
{
textBox1.Text = "Recognized text: " + e.Result.Text;
}
При использовании Windows 7, и я делаю обучение речи на "Control Panel" -> "Speech Recognition" -> "Train your computer to better understand you"
,
Использует ли моя программа автоматически какое-либо обучение, которое было сделано? Преимущества обучения основаны на пользователе или на машине? Могут ли эти речевые "профили" быть перемещены (легко)?
3 ответа
Да, тренировка (особенно для диктовки) полезна. Точность может улучшиться на 20-50% с тренировкой. (Это особенно верно, если у пользователя есть акцент.)
Преимущества обучения для каждого пользователя.
У Microsoft есть инструмент, который копирует речевые профили, но он создан для более старой версии движка SR (эпоха XP), и, насколько мне известно, никто в Microsoft не хочет ни обновлять его, ни поручиться за него на более новых движках SR, Если вы хотите попробовать, Bing для "Диспетчер профилей речи", и он появится прямо вверх.
Я думаю, что когда вы используете грамматику Dictation, обучение будет полезно. Если вы используете более ограниченную грамматику приложения, обучение будет менее ценным.
Помните, что одно из ключевых отличий между API-интерфейсами распознавания речи клиента Windows (System.Speech) и API-интерфейсами распознавания речи сервера (Microsoft.speech) заключается в том, что серверные API-интерфейсы предназначены для многопользовательского использования и не могут быть обучены (например, голосовая связь). автоматизированные телефонные системы, вы не можете тренироваться для каждого абонента). Этот вопрос ТАК может быть полезен, если вам интересно: в чем разница между System.Speech.Recognition и Microsoft.Speech.Recognition?