Как преобразовать речь в текст с помощью Python [пошаговый процесс]
Опубликовано: 2020-08-07Оглавление
Введение в преобразование речи в текст
Мы живем в эпоху, когда способы взаимодействия с машинами стали разнообразными и сложными. Мы перешли от массивных механических кнопок к интерфейсу с сенсорным экраном. Но эта эволюция не ограничивается оборудованием. Статус-кво ввода для компьютеров был текстовым с момента зачатия. Тем не менее, благодаря достижениям в НЛП (обработка естественного языка) и МО (машинное обучение), науке о данных у нас есть инструменты для включения речи в качестве средства взаимодействия с нашими гаджетами.
Эти инструменты уже окружают нас и чаще всего служат нам в качестве виртуальных помощников. Google, Siri, Alexa и т. д. — важные достижения в добавлении еще одного более личного и удобного измерения взаимодействия с цифровым миром.
В отличие от большинства технологических новшеств, технология преобразования речи в текст доступна каждому для изучения как для потребления, так и для создания собственных проектов.
Python — один из самых распространенных языков программирования в мире, имеет инструменты для создания приложений преобразования речи в текст.
История преобразования речи в текст
Прежде чем мы рассмотрим преобразование оператора в текст в Python, стоит оценить, какого прогресса мы достигли в этой области. Ниже приведена упрощенная временная шкала:
- Одри , 1952 год: первая система распознавания речи, разработанная исследователями из 3 лабораторий Bells. Он мог распознавать только цифры.
- IBM Showbox (1962 г.): первая система распознавания речи IBM, которая распознает 16 слов в дополнение к цифрам. Мог решать простые арифметические диктанты и печатать результат.
- Агентство перспективных оборонных исследовательских проектов (DARPA) (1970): DARPA финансировало исследование понимания речи, в результате которого Гарпия научилась распознавать 1011 слов.
- Скрытая марковская модель (HMM), 1980-е: HMM — это статистическая модель, которая моделирует проблемы, требующие последовательной информации. Эта модель была применена для дальнейших достижений в области распознавания речи.
- Голосовой поиск от Google , 2001 г.: Google представила функцию голосового поиска, позволяющую пользователям осуществлять поиск с помощью речи. Это было первое приложение с поддержкой голоса, которое стало очень популярным.
- Siri , 2011: Apple представила Siri, способную в режиме реального времени и удобно взаимодействовать со своими устройствами.
- Alexa , 2014 и Google Home , 2016: Виртуальные помощники на основе голосовых команд стали популярными, поскольку Google Home и Alexa в совокупности продали более 150 миллионов единиц.
Читайте также: 7 лучших библиотек Python NLP

Проблемы в речи к тексту
Преобразование речи в текст по-прежнему является сложной проблемой, которая далека от того, чтобы быть действительно законченным продуктом. Несколько технических трудностей делают этот инструмент в лучшем случае несовершенным. Ниже приведены общие проблемы с технологией распознавания речи:
1. Я неточно интерпретирую
Распознавание речи не всегда правильно интерпретирует произносимые слова. VUI (голосовой пользовательский интерфейс) не так искусны, как люди, в понимании контекста, который меняет отношения между словами и предложениями. Таким образом, машинам может быть трудно понять семантику предложения.
2. Время
Иногда системам распознавания голоса требуется слишком много времени для обработки. Это может быть связано с разнообразием голосовых паттернов, которыми обладают люди. Таких трудностей с распознаванием голоса можно избежать, если замедлить речь или повысить точность произношения, что снижает удобство инструмента.
3. Акценты
VUI может быть трудно понять диалекты, которые отличаются от среднего. В рамках одного и того же языка носители могут совершенно по-разному произносить одни и те же слова.
4. Фоновый шум и громкость
В идеальном мире это не будет проблемой, но это просто не так, и поэтому VUI может быть сложно работать в шумной среде (общественные места, большие офисы и т. д.).
Рекомендуем прочитать: Как создать чат-бота на Python
Преобразование речи в текст в Python
Если кто-то не хочет проходить через трудный процесс построения заявления в текст с нуля, используйте следующее в качестве руководства. Это руководство является лишь базовым введением в создание вашего собственного приложения преобразования речи в текст. Убедитесь, что у вас есть работающий микрофон в дополнение к относительно новой версии Python.
Шаг 1 :
Загрузите следующие пакеты Python:
- speech_recognition (pip install SpeechRecogntion): это основной пакет, который выполняет наиболее важный этап преобразования речи в текст. У других альтернатив есть плюсы и минусы, такие как апелляция, сборка, google-cloud-search, pocketsphinx, Watson-developer-cloud, остроумие и т. д.
- Мое аудио (pip install Pyaudio)
- Portaudio (pip install Portaudio)
Шаг 2 :
Создайте проект (назовите его как хотите) и импортируйте speech_recognition как sr.
Создайте как можно больше экземпляров класса распознавателя.
Шаг 3 :
После того, как вы создали эти экземпляры, теперь нам нужно определить источник ввода.
А пока давайте определим источник как сам микрофон (вы можете использовать существующий аудиофайл).
Шаг 4 :
Теперь мы определим переменную для хранения ввода. Мы используем метод «слушания», чтобы получить информацию из источника. Итак, в нашем случае мы будем использовать микрофон в качестве источника, который мы установили в предыдущей строке кода.
Шаг 5 :
Теперь, когда мы определили вход (микрофон как источник) и сохранили его в переменной ('аудио'), нам просто нужно использовать методcognition_google, чтобы преобразовать его в текст. Мы можем сохранить результат в переменной или просто распечатать результат. Нам не нужно полагаться исключительно на распознавание_google, у нас есть и другие методы, использующие другие API, которые также работают. Примеры таких методов:

распознать_бинг ()
reongize_google_cloud()
recongize_houndify ()
перестроить_ibm()
recongize_Sphinx() (работает и в автономном режиме)
В следующем методе использовались существующие пакеты, которые помогают сократить необходимость разработки программного обеспечения для распознавания речи в текст с нуля. Эти пакеты содержат больше инструментов, которые могут помочь вам создавать проекты, решающие более конкретные проблемы. Одним из примеров полезной функции является то, что вы можете изменить язык по умолчанию с английского на хинди. Это изменит результаты, которые печатаются на хинди (хотя в настоящее время преобразование речи в текст наиболее развито для понимания английского языка).
Но это хорошее упражнение для строгих разработчиков, чтобы понять, как работает такое программное обеспечение.
Давайте сломаем это.
По сути, речь — это просто звуковая волна. Такие звуковые волны или звуковые сигналы имеют несколько характерных свойств (которые могут показаться знакомыми из физики акустики), таких как амплитуда, вершина и впадина, длина волны, цикл и частота.
Такие аудиосигналы являются непрерывными и, следовательно, имеют бесконечные точки данных. Чтобы преобразовать такой аудиосигнал в цифровой сигнал, чтобы компьютер мог его обработать, сеть должна принимать дискретное распределение выборок, которое очень похоже на непрерывность аудиосигнала.
Как только у нас будет соответствующая частота дискретизации (8000 Гц — хороший стандарт, поскольку большинство частот речи находятся в этом диапазоне), мы можем теперь библиотеки Python, такие как LibROSA и SciPy, обрабатывать аудиосигналы. Затем мы можем использовать эти входные данные, разделив набор данных на 2, обучив модель, а другой — для проверки результатов модели.
На этом этапе можно использовать архитектуру модели Conv1d, сверточной нейронной сети, работающей только в одном измерении. Затем мы можем построить модель, определить ее функцию потерь и с помощью нейронных сетей сохранить лучшую модель от преобразования речи в текст. Используя глубокое обучение и NLP (обработку естественного языка), мы можем преобразовать оператор в текст для более широкого применения и внедрения.
Приложения распознавания речи
Как мы узнали, инструменты для запуска этой технологической инновации более доступны, потому что это в основном программная инновация, и она не принадлежит ни одной компании. Эта доступность открыла двери для разработчиков с ограниченными ресурсами, чтобы придумать свое применение этой технологии.

Вот некоторые из областей, в которых растет распознавание речи:
- Эволюция поисковых систем: распознавание речи поможет повысить точность поиска, заполнив пробел между устным и письменным общением.
- Влияние на отрасль здравоохранения: распознавание речи становится обычным явлением в медицинском секторе, помогая составлять медицинские отчеты. Поскольку VUI лучше понимают медицинский жаргон, внедрение этой технологии освободит время врачей от административной работы.
- Сфера услуг: в связи с растущими тенденциями автоматизации может случиться так, что клиент не сможет заставить человека ответить на запрос, и, таким образом, системы распознавания речи могут заполнить этот пробел. Мы увидим быстрый рост этой функции в аэропортах, общественном транспорте и т. д.
- Поставщики услуг: поставщики телекоммуникационных услуг могут еще больше полагаться на системы преобразования речи в текст, которые могут сократить время ожидания, помогая установить требования вызывающего абонента и направив их к соответствующей помощи.
Читайте также: Технология голосового поиска — интересные факты
Заключение
Преобразование речи в текст — мощная технология, которая скоро станет повсеместной. Его достаточно простое удобство использования в сочетании с Python (одним из самых популярных языков программирования в мире) упрощает создание приложений. По мере того, как мы добиваемся успехов в этой области, мы прокладываем путь к миру, в котором доступ к цифровому миру осуществляется не просто кончиками пальцев, но и устным словом.
Если вам интересно узнать больше об обработке естественного языка, ознакомьтесь с нашей программой Executive PG в машинном обучении и искусственном интеллекте, которая предназначена для работающих профессионалов и включает более 450 часов интенсивного обучения.
Если вам интересно узнать о науке о данных, ознакомьтесь с программой IIIT-B & upGrad Executive PG по науке о данных , которая создана для работающих профессионалов и предлагает более 10 тематических исследований и проектов, практические семинары, наставничество с отраслевыми экспертами, 1 -на-1 с отраслевыми наставниками, более 400 часов обучения и помощи в трудоустройстве в ведущих фирмах.
Что такое преобразование речи в текст?
На заре распознавания речи транскрипционист сидел с гарнитурой и записывал речь. Процесс занял много времени и дал стенограммы низкого качества. Сегодня системы распознавания речи используют компьютеры для преобразования речи в текст. Это называется преобразованием речи в текст. Распознавание речи (также известное как преобразование речи в текст) — это процесс преобразования произносимых слов в машиночитаемые данные. Цель состоит в том, чтобы позволить людям общаться с машинами с помощью голоса, а машинам — с помощью речи. Для выполнения этого преобразования используется программное обеспечение для преобразования речи в текст.
Какие проблемы возникают при преобразовании речи в текст?
При преобразовании речи в текст возникает множество проблем. Основными проблемами являются: Точность, когда система должна правильно произносить слова, чтобы извлечь намерение пользователя. Скорость, система должна быть в состоянии выполнить вышеуказанное достаточно быстро, чтобы быть приемлемой для пользователя. Естественность, система должна звучать как можно естественнее, чтобы у пользователя не возникало ощущения, что он должен говорить неестественно. Надежность, система должна быть в состоянии обрабатывать большое количество фонового шума, другой речи и любых других эффектов, которые могут мешать процессу преобразования.
Каковы приложения речи к обработке текста?
Причина, по которой вам необходимо преобразовывать речь в текст, заключается в том, что это очень быстрый и удобный способ общения. Преобразование речи в текст можно использовать во многих различных приложениях, например, его можно использовать в мобильном устройстве связи, где пользователь может использовать свою речь для отправки сообщений и совершения звонков вместо набора текста на клавиатуре. Другое приложение речи к обработке текста — машинное управление. Это способ управления двигателем или другим промышленным механизмом, говоря с ним.