.NET Распознавание речи предопределенного текста

Я разрабатываю приложение, в котором пользователь читает некоторый предопределенный текст, а мы используем механизм распознавания речи для расшифровки того, что он сказал. Затем мы сравниваем результат с заранее заданным текстом, чтобы определить, какое предложение или часть текста он читает.

Мы использовали Nuance NDev в качестве нашего механизма распознавания речи, но сейчас это стоит слишком дорого, и мы пытаемся найти другую альтернативу.

Итак, я экспериментировал с механизмом распознавания речи .NET, но не смог найти способа добиться этого.

Из моего теста:

  • Грамматика диктовки хороша тем, что переводит каждое слово, которое произносит пользователь, но результат действительно хаотичный, поэтому найти совпадение практически невозможно.

  • Сочетание классов GrammarBuilder и Choises больше похоже на тип вещи команда => действие, и он не переводит все слова, которые говорит пользователь, он просто ищет одно конкретное слово / команду и печатает его.

Так что мне было интересно, есть ли способ получить грамматику с помощью диктовки, подобной поведению, но только с подмножеством слов, например, со всеми словами в моем предопределенном тексте, или с чем-то, что позволяет мне устанавливать слова / предложения, чтобы помочь механизму распознавания .

Например, если я дам движку этот предопределенный текст:

Однажды утром, когда Грегор Замза проснулся от тревожного сна, он обнаружил, что превратился в своей постели в ужасного паразита. Он лежал на своей бронеподобной спине, и, если он немного приподнял голову, он мог видеть его коричневый живот, слегка выпуклый и разделенный арками на жесткие секции.

Он сможет возвращать только слова из этого текста. Так распознавание будет проще и точнее.

Если у вас есть какие-либо идеи о том, как достичь этой или любой другой альтернативы, я все слышу. Единственное ограничение - он должен поддерживать английский и французский язык.

Спасибо.


person hubertgendron    schedule 22.11.2014    source источник


Ответы (1)


Один из вариантов - попробовать движок pocketsphinx из CMUSphinx через привязки взаимодействия C #. Он позволяет вам указать языковую модель, составленную из текста, тогда он будет точно определять слова.

Доступны модели для французского и английского языков.

person Nikolay Shmyrev    schedule 22.11.2014
comment
Спасибо, Николай, проверю. - person hubertgendron; 24.11.2014
comment
Хорошо, дайте мне знать, если есть проблемы. - person Nikolay Shmyrev; 25.11.2014