#windows-7 #speech-recognition
#windows-7 #распознавание речи
Вопрос:
Я использую встроенное в Windows 7 распознавание речи для заполнения некоторых форм. Это работает довольно хорошо, но у меня проблема. Распознаватель речи выполняет некоторую автоматическую нормализацию. Например, если я говорю «двенадцать долларов пятьдесят центов», он пишет 12,5 долларов. Это хорошо.
Однако, если я скажу «15 на 3 метра», эта фраза будет написана точно, а не так, как я хотел бы, чтобы она была написана: «15×3 м».
Как я могу настроить процесс нормализации речи, чтобы он выполнял то, что мне нужно?
Ответ №1:
Определенно нет способа сделать это с помощью API SAPI. (API-интерфейсы lexicon близки, но не поддаются параметризации.)
Единственный известный мне способ настроить записи нормализации — это использовать Dictation Resource Kit, но для этой цели это излишество — вам пришлось бы перестроить всю грамматику диктовки с нуля (поскольку DRK не включает исходные тексты грамматики диктовки по умолчанию).
Комментарии:
1. Спасибо за ваш ответ, Эрик. Я провел некоторое исследование и думаю, что если я вызову механизм speech engine из пользовательского кода, я смогу добавить альтернативные грамматики и использовать их наряду со стандартной грамматикой диктовки. Возможно, я смогу написать грамматику SRGS и использовать <tag> для нормализации этих выражений, но для уверенности мне нужно провести несколько тестов. Есть ли у вас некоторый опыт написания пользовательских грамматик? Как вы думаете, это сработает?
2. Ну, это зависит. Если вы используете свой собственный распознаватель внутри приложения form, то это возможно, но может стать затруднительным, особенно если вам требуется исправление. Но если вы пытаетесь использовать WSR для добавления такого поведения в любое приложение, то это, вероятно, невозможно — конвейер диктовки недоступен для grammars, и хотя вы можете использовать SendChars (или что-то подобное) для вставки текста в документ, вы не сможете исправить текст, вставленный таким образом.
Ответ №2:
вы можете отключить ее и реализовать свой собственный обработчик речи, посмотрите на этот поток здесь