Speech to Text на Android с нестандартным сопоставлением слов
Я хотел бы иметь возможность использовать движок Android Speech-To-Text для распознавания различных необычных слов в предложениях.
В качестве примера, слово "электроэнцефалограф" происходит от STT как "график поставки электроники". Когда я использую Soundex или Metaphone для сравнения того, что говорится с жестко запрограммированным значением, значение, кажется, никогда не совпадает или случайно не совпадает. Если я использую пороговое значение (например, Math.abs(str1.compareTo(str2)) <= 1), то сопоставление становится очень слабым, и почти все будет совпадать.
По сути, то, что я хотел бы сделать, похоже на поиск цитат из базы данных цитат путем повторения цитаты. Проблема, кажется, больше в ограниченном наборе слов, используемом движком Google Speech-To-Text.
Есть идеи?
1 ответ
Вы можете попробовать CMUSphinx с или без грамматического распознавания речи.
Посмотрите на приложение Inimesed. Это Android-приложение с открытым исходным кодом, которое выполняет распознавание речи на основе JSGF с использованием CMUSphinx. В этом случае грамматика составляется на основе адресной книги пользователя. Вы можете просто выбросить эту часть и иметь фиксированную грамматику, которая содержит все ваши фразы.
Если проблема заключается в том, что у вас есть предложения в свободной форме, которые содержат случайные необычные слова, то распознавание речи на основе грамматики может не сработать. В этом случае распознайте с помощью модели языка n-грамм, но включите все необычные слова в словарь.