Объём рынка систем распознавания голоса в 2024-м достигает 14,95 млрд $ и, по оценкам, составит 42,08 млрд $. Среднегодовое увеличение на 22,98% в течение прогнозируемого периода связано с растущим спросом на сервисы с голосовым управлением и простотой их использования.
Библиотека для транскрибации облегчает интеграцию этого инструмента в готовые решения: в коде достаточно вызвать нужную функцию или отправить запрос через API.
В материале мы рассмотрим наиболее популярные библиотеки для транскрибации, определим их сильные и слабые стороны, разберёмся с возможными вариантами их применения для решения практических задач.
Библиотеки для распознавания речи с открытым исходным кодом
Для начала остановимся на opensource-решениях — их используют и модифицируют без оплаты, согласно условиям лицензии. Открытый исходный код можно изменять для своих приложений, чтобы улучшить качество распознавания с учётом конкретного способа применения. Например, адаптировать ML-модель для медицинской сферы и т. п.
DeepSpeech
Библиотека для транскрибации DeepSpeech создана Mozilla, но с 2020 года компания прекратила активную разработку. Сейчас она поддерживается только сообществом, которое продолжает развивать проект.
Для повышения точности перевода голоса в текст используются алгоритмы машинного обучения. Основой DeepSpeech выступает рекуррентная нейронная сеть. Движок библиотеки принимает звуковой поток как входные данные и преобразует его в последовательность символов в алфавите указанного языка.
Сильные стороны:
-
Технология ML позволяет отказаться от вручную разработанных функций, которые моделируют фонемный словарь, реверберацию, фоновый шум.
-
DeepSpeech достаточно точно распознаёт человеческую речь, а количество возможных ошибок можно уменьшить путём обучения на собственных моделях данных.
-
Библиотека быстро работает на устройствах с разной вычислительной мощностью.
DeepSpeech распространяется через GitHub. При использовании напрямую нужно создавать собственный API. Но существуют готовые инструменты и обёртки для разных языков программирования, что облегчает интеграцию библиотеки в собственные проекты. Она подойдёт разработчикам, которым важно кастомизировать модель под собственные задачи.
Точность распознавания зависит от языка и используемой модели. Показатель WER (частоты ошибок в словах) составляет до 32,31% и CER (частоты ошибок в символах) — до 12,59%.
Kaldi
Представляет собой мощную библиотеку для автоматического распознавания речи. Её используют в исследовательских целях и коммерческих проектах. Для распознавания речи применяются скрытые марковские модели и технологии глубоких нейронных сетей.
Особенности:
-
Библиотеку можно свободно применять для любых проектов с помощью загрузки необходимых файлов и модели с GitHub.
-
Разработчики создают и настраивают собственные модели для разных языков мира, акцентов и диалектов. Такая гибкость повышает точность распознавания.
-
Kaldi используют в кластерных системах для распараллеливания и ускорения процессов обучения моделей искусственного интеллекта и обработки голосовых данных.
-
Разработчики могут расширять возможности библиотеки с помощью собственных алгоритмов и методов машинного обучения.
Kaldi выступает как основа собственных решений в сфере Automatic Speech Recognition (ASR) и используется в научных исследованиях. Она требует глубокой настройки, для которой нужен большой объём данных.
SpeechRecognition
Отличие этой библиотеки от других проектов в том, что для распознавания речи в ней задействовано несколько разных движков и сервисов. Для транскрибации система применяет Google Web Speech API, Sphinx, Bing Speech API, Google Cloud Speech API и некоторые другие.
Саму библиотеку легко использовать в скриптах на Python, что делает решение подходящим для прикладных задач. У неё есть удобный интерфейс, с помощью которого можно интегрировать ASR в собственное приложение.
Особенности инструмента:
-
Библиотеку можно запускать на устройствах под управлением MS Windows, macOS, Linux. Разработчик вызывает функции в скрипте Python, который интерпретируется для конкретной операционной системы. Это позволяет создавать кросс-платформенные проекты.
-
Транскрибация работает с облачными сервисами и офлайн-движками. Так как библиотека поддерживает несколько платформ, разработчик может создать проект, который не нуждается в подключении к интернету для перевода аудиофайла в текст.
-
Библиотека распознаёт речь на разных языках в зависимости от используемого программного интерфейса или движка.
SpeechRecognition подходит для практического применения технологий распознавания речи. Нужные функции легко вызывать из кода, а поддержка множества платформ позволяет выбирать подходящую технологию в зависимости от проекта. Это обеспечивает дополнительную гибкость.
Vosk
Мультиплатформенная библиотека для распознавания речи в офлайн-режиме, которая работает на усовершенствованном ядре Kaldi. С помощью Vosk можно транскрибировать слитную речь без подключения к интернету на устройствах с низкими техническими характеристиками.
Языковая модель занимает около 50 Мб, но работает точнее DeepSpeech с моделью более 1 Гб. Распознаёт тексты на русском языке, также поддерживает английский, французский, немецкий и другие. Функционирует на компьютерах, мобильных устройствах, Raspberry Pi.
Преимущества Vosk:
-
Поддерживает 20+ языков, включая диалекты.
-
Для установки достаточно использовать команду pip3, для мобильных устройств предусмотрены установочные файлы.
-
Помимо небольшой модели в 50 Мб, есть более точные, чтобы уменьшить количество ошибок при транскрибации.
-
Может обрабатывать потоковый звук, подходит для создания голосовых помощников, переводчиков и других приложений с мгновенной реакцией на команды пользователя.
-
Легко интегрируется в программы на Java, JavaScript, C#.
-
Может идентифицировать человека, который произносит слова, чтобы распознавать диалоги. Но эта возможность требует дополнительной настройки и не входит в стандартный инструментарий.
Vosk идеально подходит для создания офлайн-инструментов распознавания речи и голосовых помощников на базе слабых устройств.
Коммерческие библиотеки для транскрибации
Представленные в этом разделе библиотеки можно использовать после оплаты лицензии. Они поддерживают множество разных языков и предоставляют инструменты для интеграции в другие готовые сервисы. Затраты окупаются простотой применения и широкой функциональностью без необходимости долгой и тонкой настройки.
Yandex SpeechKit
Библиотека для распознавания голоса от «Яндекса» на базе технологий машинного обучения. Компания рекомендует использовать её для создания голосовых ассистентов, автоматизации работы операторов в кол-центрах, контроля менеджеров в CRM и решения других подобных задач.
Распознавание работает на серверах «Яндекса», обеспечивает высокую точность и скорость транскрибации. Возможности:
-
Транскрибирует речь на русском, английском, украинском и других языках с учётом диалектов, стилистики и прочих нюансов. Также может выполнять обратное преобразование текста в речь.
-
Транскрибирует голос в реальном времени, что позволяет использовать его в качестве голосового ассистента, бота службы поддержки, замены менеджера в контакт-центре.
-
Легко интегрируется с другими сервисами и службами «Яндекса».
-
Взаимодействие с Yandex SpeechKit происходит с помощью API, пользователь может создавать собственные приложения на базе этой библиотеки.
Такое готовое решение подходит для разработки коммерческих приложений и сервисов, где важна точность распознавания русского языка и возможность интеграции с сервисами «Яндекса».
На базе Yandex SpeechKit, например, работает транскрибация звонков на платформе MTC Exolve.
VoiceKit от «Т-Банка»
Инструмент для распознавания речи, который используют для создания голосовых роботов и систем речевой аналитики. Разработан специалистами «Т-Банка», применяется в работе контакт-центра финансового учреждения и доступен как коммерческое решение для сторонних пользователей.
Особенности:
-
Быстрая транскрибация речи с точностью до 96%, может обрабатывать аудиозаписи с посторонними шумами и дефектами произношения.
-
Определяет пол говорящего.
-
Синтезирует голос на основе записанной речи диктора или с учётом пожеланий разработчика.
-
Легко адаптируется под конкретные бизнес-задачи благодаря обучению используемых языковых моделей в зависимости от специфики конкретного бизнеса.
VoiceKit применяют для автоматизации работы контакт-центров, сервисов речевой аналитики, озвучивания фильмов и книг, адаптации контента для слабовидящих людей, голосового управления умным домом и других целей.
Google Cloud Speech-to-Text
Библиотека предназначена для встраивания функций распознавания речи в собственные приложения. Этот сервис от Google работает в облаке и использует машинное обучение для повышения точности транскрибации. Для ознакомления новый пользователь получает до 300 $ в виде кредитов. Далее их нужно приобретать для постоянного доступа к функциям решения.
Возможности:
-
Речевая модель обучена на миллионах часов аудиозаписей и не сфокусирована на данных, специфичных для конкретного языка. Это позволяет точнее распознавать речь с дефектами, акцентом, а также диалекты.
-
Speech-to-Text транскрибирует более 125 языков и их вариантов. Пользователь выбирает уже обученную модель для конкретной сферы применения или настраивает её под себя.
-
Пользователь может адаптировать языковую модель для повышения точности распознавания типовых слов, расширить словарный запас благодаря подключению дополнительного словаря, а также отфильтровать шумы.
-
Библиотека позволяет распознавать потоковую речь, которая поступает от микрофона или предварительно записанного аудио.
Speech-to-Text используют для разработки крупных проектов с поддержкой большого количества языков. Например, голосовых интерфейсов, ботов, транскрибации звонков.
Выбор библиотеки
Подбирать библиотеку для транскрибации нужно под конкретный проект. Например, одни инструменты обеспечивают максимальную точность, но требуют больших вычислительных ресурсов, другие могут работать даже на Raspberry Pi, некоторые функционируют только в онлайн-формате.
Варианты:
-
DeepSpeech, Kaldi — очень точно распознают голос на разных языках, предоставляют максимальную гибкость. Но для применения разработчик должен правильно настроить их, обучить собственные модели.
-
Wav2Vec 2.0 — использует машинное обучение для распознавания голоса, что обеспечивает высокую точность.
-
SpeechRecognition легко встраивать в собственные скрипты на Python. Библиотека распространяется по opensource-лицензии, но существуют готовые коммерческие решения на её базе. Они предоставляются за дополнительную плату.
-
Vosk — небольшая по размеру библиотека, хорошо работает на слабых устройствах. Может распознавать речь в офлайн-режиме.
-
SpeechKit, VoiceKit, Cloud Speech-to-Text — коммерческие решения от «Яндекса», «Т-Банка» и Google, которые подходят для интеграции в корпоративные сервисы, для создания крупных масштабируемых проектов.
Помимо библиотек в чистом виде, разработчики используют созданные на их основе готовые решения, к которым можно обращаться по API.
Кейс
Компания решила использовать библиотеку DeepSpeech для расшифровки телефонных звонков. На пилоте количество ошибок при распознавании превышало 50% из-за посторонних шумов, которые снижали качество записи. Расшифрованный таким образом текст невозможно было индексировать и анализировать.
После этого компания протестировала Call Transcribation API от MTC Exolve, чтобы рассмотреть переход на виртуальную АТС.
В результате количество ошибок сократилось до 7–18%, в зависимости от качества исходного материала. Анализ расшифровок звонков позволил выявить узкие места в работе менеджеров и устранить их. Это, в свою очередь, привело к росту финансовых показателей.
Результаты:
-
Количество отказов от покупки при входящих звонках уменьшилось на 16%.
-
Длительность обработки одного звонка снизилась с 5–12 до 3–4 минут.
-
Число повторных обращений сократилось на 33%.
Всё это оптимизировало расходы на содержание кол-центра и способствовало увеличению объёма продаж компании.
Заключение
Для транскрибации разработчику не нужно создавать собственное решение на базе ИИ и обучать его для повышения точности распознавания. Доступны готовые библиотеки, которые нужно лишь интегрировать в свои приложения. Они предоставляются и на условиях opensource, и на платной основе.
Более того, платформы для омниканальных коммуникаций, например MTC Exolve, предоставляют API для распознавания голоса. Программисту достаточно вставить в свой код вызов программного интерфейса — передать нужные параметры и переменные.