[Python, Машинное обучение] Распознаем речь с помощью IBM Speech-to-Text API (перевод)
Автор
Сообщение
news_bot ®
Стаж: 6 лет 9 месяцев
Сообщений: 27286
Привет, Хабр. В рамках курса "Machine Learning. Advanced" подготовили для вас перевод интересного материала.
Также всех желающих приглашаем посмотреть открытый урок на тему «Multi-armed bandits для оптимизации AB тестирования».
Извлекаем разговоры из аудиозаписи с легкостью, используя Python.В этой статье вы узнаете, как использовать IBM Speech to Text API для распознавания речи из файла аудиозаписи. Мы будем использовать бесплатную версию API, которая имеет некоторые ограничения, такие как, например, длина звукового файла. Подробнее об API я расскажу в этой статье чуть позже. Позвольте мне начать с предоставления вам некоторой справочной информации о применении распознавания речи в нашей повседневной жизни.ПредпосылкиЕсли вы читаете эту статью, я уверен, что вы знакомы с термином «искусственный интеллект» и осознаете его важность. Никого не повергнет в шок, если я скажу, что одно из лучших применений искусственного интеллекта в повседневной жизни — это распознавание речи.Распознавание речи из аудио позволяет нам как минимум экономить время — мы говорим, вместо того, чтобы что-либо набирать. Это делает использование наших технологических устройств более увлекательным и простым. Эта технология также помогает нам взаимодействовать с этими устройствами без написания какого-либо кода. Представьте, что люди должны знать программирование, чтобы отдавать команды Алексе или Сири. Это было бы очень тупо.
Мне не терпится показать вам распознаватель речи в действии. Давай приступим к работе. Вот шаги, которым мы будем следовать в этом проекте.Содержание:
- Облачные сервисы распознавания речи
- Шаг 1 - Библиотека
- Шаг 2 - Импорт аудиоклипа
- Шаг 3 - Определение распознавателя
- Шаг 4 - Распознаватель речи в действии
- Заключительный шаг - Экспорт результата
Облачные сервисы распознавания речиМногие гигантские технологические компании имеют собственные распознавательные модели. Я поделюсь некоторыми из них здесь, чтобы вы увидели общую картину. Эти API-интерфейсы работают через облако и могут быть доступны из любой точки мира, если есть подключение к интернету. Кроме того, большинство из них являются платными, но их можно протестировать бесплатно. Например, Microsoft предлагает годовой бесплатный доступ для облачной учетной записи Azure.Вот некоторые из наиболее популярных облачных сервисов преобразования речи в текст:
Шаг 1 — БиблиотекаДля этого проекта нам понадобится всего одна библиотека. И это SpeechRecognition. SpeechRecognition распространяется бесплатно с открытым исходным кодом. Она поддерживает несколько механизмов распознавания речи и API. Такие как; Microsoft Azure Speech, Google Cloud Speech, API IBM Watson Speech to Text и другие. В этом проекте мы будем тестировать IBM Watson Speech to Text API. Не стесняйтесь изучить исходный код и документацию пакета SpeechRecognition здесь.Начнем с установки пакета. Мы собираемся использовать pip, менеджер библиотек Python.
pip install SpeechRecognition
После завершения процесса установки мы можем открыть наш редактор кода. Вы также можете использовать Jupyter Notebook.
import speech_recognition as s_r
Шаг 2 - ИмпортЯ записал голосовую заметку с помощью компьютера. Он был в формате m4a, но распознаватель не работает с форматом m4a. Вот почему мне пришлось преобразовать его в wav формат.
audio_file = s_r.AudioFile('my_clip.wav')
Шаг 3 - Определение распознавателяНа этом этапе все, что мы сделаем, это определим распознаватель речи. Ранее мы импортировали библиотеку. А теперь мы создадим новую переменную и присвоим ей атрибут распознавания.
rcgnzr = s_r.Recognizer()
Шаг 4 - Распознаватель речи в действииПришло время действия! Мы запустим IBM speech to text на нашем аудиофайле. Перед запуском распознавателя я запущу функции, называемые “adjust_for_ambient_noise” и “record”, которые подавят шум и улучшат звук. Таким образом, наш распознаватель сможет выдавать более точные результаты.
with audio_file as source:
rcgnzr.adjust_for_ambient_noise(source)
clean_audio = rcgnzr.record(source)
Отлично, теперь у нас есть достаточно чистая аудиозапись. А теперь давайте запустим распознаватель речи IBM. (Мне потребовалось несколько часов, чтобы понять, как IBM Speech-to-Text API интегрируется с библиотекой Python SpeechRecogniton). Вот лучший способ вызвать распознаватель через API:
recognized_speech_ibm = r.recognize_ibm(clean_audio, username="apkikey", password= "your API Key")
Примечание: API IBM не работает без API-ключа. Нам нужно будет получить его на странице IBM Watson. Мне пришлось создать учетную запись для тестирования этой Speech-to-Text модели. Что мне понравилось в модели IBM, так это, что я могу обрабатывать 500 минут записей в месяц, используя триальную учетную запись, что более чем достаточно для учебных целей.Последний шаг - экспорт результата.Мы почти закончили. Пора проверить результат. Наш распознаватель обнаружил речь в аудиофайле на предыдущем шаге. Мы продолжим и проверим, как это сработало. Если результат нас устроит, мы экспортируем его в текстовый документ.Чтобы проверить распознанную речь, выведем переменную с распознанным текстом:
print(recognized_speech_ibm)
Выглядит хорошо. Мой аудиофайл был распознан как надо. Я читал абзац из этой статьи. Если вы не удовлетворены результатом, есть много способов предварительной обработки аудиофайла для получения лучших результатов. Вот хорошая статья, в которой представлена более подробная информация о распознавании речи и о том, как повысить качество распознавания.Теперь я экспортирую распознанную речь в текстовый документ. Мы увидим сообщение «ready!» в нашем терминале по завершении экспорта.
with open('recognized_speech.txt',mode ='w') as file:
file.write("Recognized Speech:")
file.write("\n")
file.write(recognized)
print("ready!")
Поздравляю! Если вы читаете этот абзац, вы создали распознаватель речи. Надеемся, что вам понравилось это практическое руководство и вы узнали что-то новое сегодня. Лучший способ практиковать свои навыки программирования — заниматься интересными проектами. Я написал множеством других практических проектов, подобных этому. Не стесняйтесь обращаться ко мне, если у вас возникнут вопросы при реализации программы.Подключайтесь. Посетите мой блог и YouTube,чтобы получить заряд вдохновения. Спасибо.
Узнать подробнее о курсе "Machine Learning. Advanced".Посмотреть открытый урок на тему «Multi-armed bandits для оптимизации AB тестирования».
===========
Источник:
habr.com
===========
===========
Автор оригинала: Behic Guven
===========Похожие новости:
- [Машинное обучение, Искусственный интеллект, Химия] Свежий взгляд на химические реакции
- [Управление проектами, Agile] Если ваш бэклог не детализируется, значит вы делаете что-то не так (перевод)
- [Машинное обучение, Искусственный интеллект, Здоровье] МТИ представил модель машинного обучения для поисков вариантов лечения Covid-19
- [Машинное обучение, Управление разработкой, Управление персоналом, Инженерные системы] У традиционных инженерных проектов есть проблема, о которой никто не говорит (перевод)
- [Сетевые технологии] nmap скрипты
- [Математика, Суперкомпьютеры] Как суперкомпьютеры нашли свое промышленное mojo — эволюция высокопроизводительных вычислений (перевод)
- [Data Mining, Визуализация данных, Машинное обучение, Искусственный интеллект] Обзор современных инструментов дата-аналитика
- [Машинное обучение] DATA SCIENCE vs COVID-19_ЧАСТЬ 1
- [Машинное обучение, Будущее здесь, IT-компании, Инженерные системы] Как тебе такое, Джефф Безос?
- [Python, Программирование, Машинное обучение] Подбор гиперпараметров ML-модели с помощью HYPEROPT
Теги для поиска: #_python, #_mashinnoe_obuchenie (Машинное обучение), #_python, #_machine_learning, #_technology, #_artificial_intelligence, #_data_science, #_blog_kompanii_otus._onlajnobrazovanie (
Блог компании OTUS. Онлайн-образование
), #_python, #_mashinnoe_obuchenie (
Машинное обучение
)
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 13:21
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 9 месяцев |
|
Привет, Хабр. В рамках курса "Machine Learning. Advanced" подготовили для вас перевод интересного материала.
Также всех желающих приглашаем посмотреть открытый урок на тему «Multi-armed bandits для оптимизации AB тестирования». Извлекаем разговоры из аудиозаписи с легкостью, используя Python.В этой статье вы узнаете, как использовать IBM Speech to Text API для распознавания речи из файла аудиозаписи. Мы будем использовать бесплатную версию API, которая имеет некоторые ограничения, такие как, например, длина звукового файла. Подробнее об API я расскажу в этой статье чуть позже. Позвольте мне начать с предоставления вам некоторой справочной информации о применении распознавания речи в нашей повседневной жизни.ПредпосылкиЕсли вы читаете эту статью, я уверен, что вы знакомы с термином «искусственный интеллект» и осознаете его важность. Никого не повергнет в шок, если я скажу, что одно из лучших применений искусственного интеллекта в повседневной жизни — это распознавание речи.Распознавание речи из аудио позволяет нам как минимум экономить время — мы говорим, вместо того, чтобы что-либо набирать. Это делает использование наших технологических устройств более увлекательным и простым. Эта технология также помогает нам взаимодействовать с этими устройствами без написания какого-либо кода. Представьте, что люди должны знать программирование, чтобы отдавать команды Алексе или Сири. Это было бы очень тупо. Мне не терпится показать вам распознаватель речи в действии. Давай приступим к работе. Вот шаги, которым мы будем следовать в этом проекте.Содержание:
pip install SpeechRecognition
import speech_recognition as s_r
audio_file = s_r.AudioFile('my_clip.wav')
Шаг 3 - Определение распознавателяНа этом этапе все, что мы сделаем, это определим распознаватель речи. Ранее мы импортировали библиотеку. А теперь мы создадим новую переменную и присвоим ей атрибут распознавания. rcgnzr = s_r.Recognizer()
with audio_file as source:
rcgnzr.adjust_for_ambient_noise(source) clean_audio = rcgnzr.record(source) recognized_speech_ibm = r.recognize_ibm(clean_audio, username="apkikey", password= "your API Key")
print(recognized_speech_ibm)
Выглядит хорошо. Мой аудиофайл был распознан как надо. Я читал абзац из этой статьи. Если вы не удовлетворены результатом, есть много способов предварительной обработки аудиофайла для получения лучших результатов. Вот хорошая статья, в которой представлена более подробная информация о распознавании речи и о том, как повысить качество распознавания.Теперь я экспортирую распознанную речь в текстовый документ. Мы увидим сообщение «ready!» в нашем терминале по завершении экспорта. with open('recognized_speech.txt',mode ='w') as file:
file.write("Recognized Speech:") file.write("\n") file.write(recognized) print("ready!") Узнать подробнее о курсе "Machine Learning. Advanced".Посмотреть открытый урок на тему «Multi-armed bandits для оптимизации AB тестирования».
=========== Источник: habr.com =========== =========== Автор оригинала: Behic Guven ===========Похожие новости:
Блог компании OTUS. Онлайн-образование ), #_python, #_mashinnoe_obuchenie ( Машинное обучение ) |
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 13:21
Часовой пояс: UTC + 5