Пошаговое руководство по созданию модели классификации машинного обучения на основе аудио для наиболее распространенных английских акцентов и воплощению ее в жизнь с помощью Hugging Face.
В нашем все более взаимосвязанном мире общение не знает границ. Поскольку различные сообщества взаимодействуют через границы и культуры, понимание акцентов стало неотъемлемой частью эффективного общения. Точная система классификации английского акцента способна устранить лингвистические пробелы, улучшить системы распознавания речи, улучшить инструменты изучения языка и даже помочь персонализировать взаимодействие с пользователем. Ниже я подробно описываю, как можно разработать такую систему, проливая свет на многочисленные применения, которые она предлагает для содействия беспрепятственному и инклюзивному общению.
Весь сквозной код для выбора данных, обучения модели и отправки ее в репозиторий HuggingFace находится в публичном доступе здесь. Ниже я опишу самые важные шаги.
Выбор, выборка и преобразование данных
Анализ основан на Версии Kaggle Набора данных Mozilla’s Common Voice, который содержит около 500 часов речевых записей с различными демографическими данными говорящих (включая акценты говорящих). Набор данных распространяется по лицензии CC0: Public Domain.
Распределение выборок данных по акцентам:
us 30997 england 14938 indian 4490 australia 4287 canada 3901 scotland 1556 african 1173 newzealand 1153 ireland 944 philippines 326 wales 262 bermuda 196 malaysia 182 singapore 124 hongkong 99 southatlandtic 83
Основываясь на этом распределении, я выбрал 5 наиболее распространенных акцентов: США, Англия, Индийский, Австралия, и Канада — и занижал выборку, чтобы получить выборочное распределение:
# random undersampling of all but minority class rus = RandomUnderSampler(random_state=83, sampling_strategy='not minority') y = dd[['label']] dd = dd.drop(['label']…