Я использую пространство имен System.Speech.Recognition
для распознавания произносимого предложения. Меня интересуют альтернативные предложения, которые предоставляет распознаватель, наряду с их оценками доверия. Из документации для свойства [RecognitionResult.Alternates][1]
:
Признание Замены упорядочены по значениям их Уверенности свойства. Значение достоверности данной фразы указывает на вероятность того, что фраза соответствует введенному. Фраза с наивысшее доверительное значение - это фраза, которая, скорее всего, соответствует вход.
Каждое значение доверия должно оцениваться индивидуально и без ссылаясь на значения доверия других альтернатив.
Однако, когда я печатаю признанный текст с его уверенностью, а также альтернативные совпадения с их доверием, я сталкиваюсь с двумя свойствами, которые я не понимаю: во-первых, альтернативы не упорядочены в соответствии с уверенностью (хотя первая делает совпадают с признанным текстом), а во-вторых, что для меня большая проблема, признанный текст не является альтернативой с наивысшим результатом, что, по-видимому, противоречит приведенной выше документации.
Мой (неполный) пример кода из обработчика события SpeechRecognized
:
Console.WriteLine("Recognized text = {0}, score = {1}", e.Result.Text, e.Result.Confidence);
// Display the recognition alternates for the result.
foreach (RecognizedPhrase phrase in e.Result.Alternates)
{
Console.WriteLine(" alt({0}) {1}", phrase.Confidence, phrase.Text);
}
и соответствующий вывод:
Recognized text = She had said that fit and Gracie Wachtel are all year, score = 0.287724
alt(0.287724) She had said that fit and Gracie Wachtel are all year
alt(0.287724) she had said that fit and gracie wachtel are all year
alt(0.2955212) she had said that faith and gracie wachtel are all year
alt(0.287133) she had said that fit and gracie Wachtell are all year
alt(0.1644379) she had said that fit and gracie wachtel earlier
alt(0.3254312) jihad said that fit and gracie wachtel are all year
alt(0.2726361) she had said that fit and gracie wachtel are only are
alt(0.2867217) she had said that fail and gracie wachtel are all year
alt(0.2565451) she had said that fit and gracie watchful are all year
alt(0.2854537) she had said that fate and gracie wachtel are all year
РЕДАКТИРОВАТЬ Чтобы прояснить смысл оценки доверия и указать, почему мои результаты противоречат документации, см. следующую информацию из документации RecognizedPhrase.Confidence Property
. Полужирным шрифтом является мое дополнение:
Показатели доверия не указывают на абсолютную вероятность того, что фраза была признана правильно. Вместо этого оценки доверия предоставляют механизм сравнения относительной точности множественного распознавания чередуется для заданного ввода. Это облегчает возврат большинства точный результат распознавания. Например, если распознанная фраза имеет доверительный балл 0,8, это не означает, что фраза имеет 80% вероятность правильного совпадения ввода. Это означает, что фраза, скорее всего, будет правильным совпадением для ввода, чем другое результаты с оценкой достоверности менее 0,8.
Оценка доверия сама по себе не имеет смысла, если у вас нет альтернативные результаты для сравнения, либо из того же операции распознавания или предыдущих распознаваний того же входа. Значения используются для ранжирования альтернативных кандидатских фраз, возвращаемых свойство Alternates в объектах RecognitionResult.
Значения доверия относительны и уникальны для каждого механизма распознавания. Значения доверия, возвращаемые двумя разными механизмами распознавания, не могут будут осмысленно сопоставлены.
Механизм распознавания речи может присваивать низкий коэффициент доверия разговорный ввод по разным причинам, включая фоновые помехи, невнятная речь или непредвиденные слова или последовательности слов. Если ваш приложение использует экземпляр SpeechRecognitionEngine, вы можете изменить уровень достоверности, на котором принимается речевой ввод или отклонен одним из методов UpdateRecognizerSetting. уверенность пороги для общего распознавателя, управляемые SpeechRecognizer, являются связанные с профилем пользователя и хранящиеся в реестре Windows. Приложения не должны записывать изменения в реестр для свойства общего распознавателя.
Свойство Alternates объекта RecognitionResult содержит упорядоченный набор объектов RecognizedPhrase, каждый из которых является возможное совпадение ввода с распознающим устройством. Альтернативы упорядочен с наивысшей до наименьшей уверенности.