Я пытаюсь использовать Speech API 5.1 в режиме управления и управления в приложении C#. Я использую его inProc и имею только две команды в грамматике. Проблема, с которой я сталкиваюсь, связана с точностью обнаружения этих команд. Механизм распознавания не распознает команды должным образом. Иногда (скорее, чем когда-либо) он просто активируется с любым голосом (не близко к звуку команд). Есть ли какой-либо метод, чтобы сделать его более строгим в распознавании только двух команд, которые у меня есть?Как сделать интерпретатор речи MS более точным при распознавании только двух команд
3
A
ответ
4
Вы можете проверить свой результат Confidence на своем SpeechRecognized
.
void recognizer_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
{
if(e.Result.Confidence > THRESHOLD)
{
//matched
}
else
{
//not reliable enough, so consider it unmatched
}
}
Вы можете экспериментировать с различными значениями для THRESHOLD
, между 0,0 и 1,0. Чем выше порог, тем более «строгим» он будет (хотя, если вы выразите слишком высокий уровень, вы можете потерять признание). Попробуйте начать с THRESHOLD
значение 0.7
, а затем отрегулируйте его оттуда.
Спасибо, это сработало. – Novice
Добро пожаловать :) – keyboardP