Построение конвейера машинного обучения для классификации английских акцентов
Конвейер машинного обучения для классификации акцентов
Пошаговое руководство по созданию модели классификации на основе аудио с использованием машинного обучения для самых распространенных английских акцентов и внедрение ее с помощью Hugging Face
В нашем все более взаимосвязанном мире коммуникация не знает границ. С разнообразными сообществами, взаимодействующими через границы и культуры, понимание акцентов стало неотъемлемой частью эффективного общения. Точная система классификации английского акцента имеет потенциал преодолеть языковые барьеры, улучшить системы распознавания речи, улучшить инструменты изучения языка и даже помочь в персонализированных пользовательских впечатлениях. Ниже я подробно описываю, как можно разработать такую систему, рассветив многочисленные применения, которые она предлагает для создания непрерывной и инклюзивной коммуникации.
Весь код от начала до конца для выбора данных, обучения модели и отправки его в репозиторий HuggingFace доступен публично здесь. Ниже я описываю наиболее важные шаги.
Выбор данных, выборка и преобразование
Анализ основан на версии Kaggle набора данных Mozilla Common Voice, который содержит около 500 часов речевых записей с различными демографическими данными дикторов (включая акценты дикторов). Набор данных распространяется по лицензии CC0: Public Domain.
Распределение выборок данных по акцентам:
- Познакомьтесь с Equinox библиотекой JAX для нейронных сетей и научного машинного обучения (sciML).
- Познакомьтесь с CityDreamer композиционной генеративной моделью для неограниченных 3D-городов.
- Google AI представляет TSMixer продвинутую многомерную модель для долгосрочного прогнозирования, которая использует характеристики линейных моделей для достижения высокой производительности по стандартам.
us 30997england 14938indian 4490australia 4287canada 3901scotland 1556african 1173newzealand 1153ireland 944philippines 326wales 262bermuda 196malaysia 182singapore 124hongkong 99southatlandtic 83
На основе этого распределения я выбрал 5 наиболее распространенных акцентов – US, England, Indian, Australia и Canada – и провел недостаточную выборку, чтобы получить распределение выборки:
# случайная недостаточная выборка для всех, кроме меньшего классаrus = RandomUnderSampler(random_state=83, sampling_strategy='not minority')y = dd[['label']]dd = dd.drop(['label']…