- Команда
- Описание датасета
- Методы подготовки данных
- Варианты построения модели
- План по тестированию и валидации построенных моделей
- Промежуточные результаты
- Результат на отложенной выборке
- Презентация
Команда | Зона ответственности |
---|---|
Смирнов Артем Александрович | EDA |
Кубракова Екатерина Александровна | составление плана валидации модели |
Лилиом Елизавета Юрьевна | построение, дообучение классификатора на rubert-base-cased |
Ильиных Александр Александрович | создание новых свойств |
Гриценко Андрей Дмитриевич | построение, дообучение классификатора на rubert-base-cased-conversational |
Антонов Эдуард Кузьмич | построение, дообучение классификатора на rubert-tiny2 |
Датасет состоит из 6508 наблюдений и четырех столбцов: model_annotation
, human_markup
, audio_path
и label
.
- Столбец
model_annotation
содержит результаты работы ASR-модели, строки с распознанным голосом. - Столбец
human_markup
содержит результаты разметки, выполненной человеком (расшифровка аудиозаписей). - Столбец
audio_path
содержит пути к файлам с аудиозаписями в формате.wav
. - Столбец
label
содержит метки целевого класса.
В датасете есть один дубликат (строки с индексами 1953 и 1954), пропущенные значения отсутствуют.
Присутствует незначительный дисбаланс классов:
- 60% наблюдений имеют метки положительного класса (0),
- 40% - отрицательного (1).
Длина фразы в словах для каждого класса | ||||
---|---|---|---|---|
model_annotation | model_annotation | human_markup | human_markup | |
0 | 1 | 0 | 1 | |
медианная | 6 | 5 | 6 | 6 |
средняя | 7.73 | 5.99 | 8.14 | 7.45 |
минимальная | 1 | 1 | 1 | 1 |
максимальная | 62 | 40 | 61 | 60 |
стандартное отклонение | 5.58 | 4.18 | 6.01 | 5.13 |
Средняя длина слова различается незначительно:
- 4.82 символа у разметки, выполненной моделью,
- 4.73 символа у разметки, выполненной человеком.
Пороговое значение WER для классификации составляет 0.43 (с округлением до сотых).
Низшие показатели метрики получаются при попытке модели распознать речь на иностранном языке как речь на русском языке.
Создание новых свойств по первоначальным wav файлам. Для внесения в оценочную модель. Дополнительные свойства которые будут созданы:
- Наличие шума, посторонних звуков, да/нет вычисление отношения сигнал/шум (Signal-to-Noise Ratio, SNR).
- Темп/скорость речи, как то численное значение получить. Библиотека librosa в Python, для анализа временных рамок и выделения ритмических паттернов.
- Количество слов в фразе.
- Наличие акцента/дефектов речи у говорящего. API Yandex SpeechKit.
- Язык (русский/иностранный). API Yandex SpeechKit.
- Определяем "тихие" участки файла, которые можно считать шумом.
- Вычисляем среднеквадратичные значения (RMS) для шума и всего сигнала.
- Расчитываем SNR.
- Загрузка аудио: загружаем аудиофайлы с помощью librosa.
- Анализ: Выполняем оценку темпа с использованием функции librosa.beat.tempo, адаптировав её под нужды анализа речи.
Корреляция
SNR и Label: корреляция 0.044, p-value: 0.007 (слабая положительная корреляция, статистически значима)
Темп Речи и Label: корреляция -0.008, p-value: 0.512 (очень слабая отрицательная корреляция, не статистически значима)
Количество Слов и Label: корреляция -0.165, p-value: <0.0001 (умеренная отрицательная корреляция, статистически значима)
Интерпретация и Рекомендации
SNR не показал статистической значимости в логистической регрессии, несмотря на небольшую корреляцию.
Возможно, стоит рассмотреть другие способы его измерения или учет вместе с другими переменными.
Темп речи показывает значимость только в регрессии, но не в корреляции.
Это может означать, что его влияние на метку label проявляется только в комбинации с другими переменными.
Количество слов является значимым свойством в обоих анализах. Большее количество слов связано с меньшей
вероятностью того, что label будет 1. Это указывает на то, что длинные записи труднее корректно распознать.
- Классические модели машинного обучения:
- Логистическая регрессия
- Случайный лес
- Метод опорных векторов
- Градиентный бустинг
- Модели на основе предобученных языковых моделей:
- Метрики оценки качества:
- Точность (Accuracy) - доля правильно классифицированных образцов.
- Полнота (Recall) - доля релевантных образцов, которые были правильно классифицированы.
- Точность (Precision) - доля образцов, которые были классифицированы правильно, из всех образцов, отнесенных к данному классу.
- F1-мера - гармоническое среднее между точностью и полнотой.
- ROC-AUC - площадь под кривой ложноположительных и истинноположительных срабатываний. С построением classic report и визуализацией.
- Способы улучшения метрик:
- Увеличение размера обучающей выборки – за счет апсэмплинга (в случае необходимости).
- Улучшение предобработки данных - очистка, нормализация, векторизация текста.
- Подбор оптимальных гиперпараметров модели - архитектура, размер эмбеддингов, скорость обучения и т.д.
- Использование техник регуляризации - дропаут, L1/L2 регуляризация, ранняя остановка.
- Применение методов борьбы с переобучением - кросс-валидация.
- Анализ ошибок классификации и доработка моделей. Выбор модели, показавшей оптимальный результат.
- Процесс валидации:
- Разделение исходных данных на обучающую, валидационную и тестовую выборки.
- Обучение модели на обучающей выборке.
- Оценка качества на валидационной выборке, подбор оптимальных гиперпараметров.
- Оценка финальной производительности на независимой тестовой выборке.
- Документирование результатов, анализ ошибок и направлений для дальнейшей доработки.
Модель | AUC-ROC | Ноутбук |
---|---|---|
rubert-base-cased | 0.77 | DeepPavlov.ipynb |
rubert-base-cased-conversational | 0.82 | rubert-base-cased-conversational.ipynb |
rubert-tiny2 | 0.73 | tiny_bert.ipynb |
создание и анализ признаков | - | wer_signs.ipynb |
Для проверки на отложенной выборке была отобрана модель, показавшая себя наилучшим образом при обучени и валидации на обучающей выборке.
Это модель rubert-base-cased-conversational, которая изначально обучалась на корпусе текстов, более похожих на те, что содержались в представленном датасете (разговорная лексика).
AUC-ROC на тестовой выборке составила 0.805
.
Архив с моделью доступен по ссылке.
Ссылка на презентацию