2013-07-24 3 views
0

Я пытаюсь написать приложение с помощью Microsoft в процессе распознавания речи. Мое приложение иногда использует грамматику диктовки, а иногда и SRGS. Очевидно, что у меня нет проблем при использовании SRGS.Распознавание речи Microsoft

Несмотря на то, что я использую один из лучших доступных микрофонов (Sennheiser ME3 с звуковой картой Andrea usb), результаты распознавания далеко не приемлемы. Мое приложение работает в определенном домене, есть несколько слов и фраз, которые чаще всего говорят пользователь системы. Мой вопрос в том, есть ли способ использовать грамматику диктовки и в то же время указывать важные слова в области приложения. Это своего рода частичная модификация языковой модели распознавателя речи, только для списка слов и фраз, предоставляемых разработчиком.

ответ

1

Есть несколько вариантов.

  1. Если у вас есть набор необычных слов, вы можете добавить слова, используя интерфейс ISpLexicon (или используйте Windows Speech Recognition Speech Dictionary).
  2. Распознавание диктовки резко улучшает контекст. Вы должны позвонить SetDictationContext при обновлении вашего распознавания (и по мере изменения пользователем позиции каретки).
  3. Последнее, что вы можете использовать Dictation Resource Kit, чтобы определить новую грамматику диктовки. Только делайте это как последнее средство, так как это очень сложный процесс.
+0

Спасибо за ваш ответ. Это довольно полезно и информативно. Позвольте мне объяснить немного больше, основываясь на ваших предложениях. 1) На самом деле у меня нет необычных слов, но у меня есть более вероятные слова. 2) Я уже использую диктовку, когда она применима, иногда ее невозможно использовать. 3) Я согласен с вами. Что вы думаете о создании нескольких объектов грамматики, один - грамматика диктовки по умолчанию и одна на основе вашего третьего предложения; и загружать их в распознаватель, изменяя приоритет и вес каждой грамматики. У вас есть опыт? –

+0

@alanturing - одно, что вы * можете * хотеть посмотреть - это проверить результаты распознавания для обычных недоразумений, и если вы их найдете, изучите альтернативы для этой фразы, и если вы найдете более вероятный альтернативный вариант, сделайте это чередование перед вставкой фраза. –

+0

@alanturing - Что касается управления несколькими грамматиками диктовки; IIRC, это не работает ужасно хорошо. Приоритет и вес помогают, но двигателю все же очень легко совершить слишком рано до определенной гипотезы. (Кроме того, новая грамматика диктовки должна иметь большую часть оригинальной грамматики диктовки, поскольку пользователи обычно будут говорить слова за пределами «более вероятного» подмножества.) –

Смежные вопросы