{"id":14268,"url":"\/distributions\/14268\/click?bit=1&hash=1e3309842e8b07895e75261917827295839cd5d4d57d48f0ca524f3f535a7946","title":"\u0420\u0430\u0437\u0440\u0435\u0448\u0430\u0442\u044c \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u0430\u043c \u0438\u0433\u0440\u0430\u0442\u044c \u043d\u0430 \u0440\u0430\u0431\u043e\u0447\u0435\u043c \u043c\u0435\u0441\u0442\u0435 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e?","buttonText":"\u0423\u0437\u043d\u0430\u0442\u044c","imageUuid":"f71e1caf-7964-5525-98be-104bb436cb54"}

Распознаем речь на Python c помощью PocketSphinx

На сегодняшний день существует много различных систем распознавания речи, например, такие системы как: Amazon Alexa, Yandex, Google и Siri. Большинство этих систем имеют открытые API и свободны для использования. Такие системы очень хорошо справляются с задачей распознавания текста, однако они работают через интернет.

Существуют и открытые системы распознавания речи, такие как: PocketSphinx, Kaldi, Mozilla DeepSpeech. Рассмотрим систему PocketSphinx. Для того чтобы она работала с русским языком нужно предварительно скачать акустическую модель, которая основана на скрытых Марковских моделях.

Для распознавания будем использовать PocketSphinx из библиотеки speech_recognition языка Python. Скачанную модель русского языка необходимо загрузить в директорию site-packages/speech_recognition/pocketsphinx-data. После этого можно приступать к распознаванию. Ниже, продемонстрирован пример распознавания аудиозаписи в текст.

Из рисунка видно, что PocketSphinx отлично справилась с распознаванием аудио. Однако распознавание 7 секунд записи заняло около 50 секунд. Теперь перед нами дан уже текст, и мы можем превратить его в список слов с помощью библиотеки NLTK. После этого мы можем сверить слова со списком недопустимых слов и выявить нарушение. Пример показан на рисунке ниже.

Помимо этого можно произвести лемматизацию (приведение словоформы к её нормальной (словарной) форме) полученных слов, что упростит задачу поиска недопустимых слов. Применяя описанные инструменты, мы можем с легкостью узнать, говорил ли оператор то, что ему запрещено.

0
4 комментария
Wasil D.

Какую именно акустическую модель, основанную на скрытых Марковских моделях вы использовали?

Ответить
Развернуть ветку
NTA
Автор
Ответить
Развернуть ветку
Wasil D.

Инструкция поподробнее: https://habr.com/ru/post/351376/ )

Ответить
Развернуть ветку
NTA
Автор

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

Ответить
Развернуть ветку

Комментарий удален модератором

Развернуть ветку
1 комментарий
Раскрывать всегда