Описание проекта
Интернет-магазин «Викишоп» запускает новый сервис. Теперь пользователи могут редактировать и дополнять описания товаров, как в вики-сообществах. То есть клиенты предлагают свои правки и комментируют изменения других. Магазину нужен инструмент, который будет искать токсичные комментарии и отправлять их на модерацию.
Требуется обучить модель классифицировать комментарии на позитивные и негативные. Качество модели должно оцениваться метрикой F1, и её значение не должно быть меньше 0.75.
В распоряжении набор данных с разметкой о токсичности комментариев. Столбец text
содержит текст комментария, а toxic
— оценка этих комментариев: 0 - позитивный, 1 - негативный (целевой класс).
Данные:
toxic_comments.csv
- исходные комментарии.toxic_lemm_comments.csv
- лемматизированные комментарии.ST_embeddings.csv
- сгенерированные эмбеддинги с помощью предобученной моделиSentenceTransformer('all-MiniLM-L6-v2')
Можно выделить основные критерии оценки модели:
- Время и ресурсы кодирование текста
- Время и ресурсы обучения модели
- Время предсказания
- Итоговое значение метрики
Логистическая регрессия в кооперации с TF-IDF векторизатором являются наилучшим результатом (F1 = 0.77), поскольку подготовка и кодирование занимает около 25 минут, обучение регрессии (20 секунд), предсказание - мгновенное. Для работы такой пары не требуется GPU в качестве аппаратного ускорителя. Итоговое значение метрики F1 выше у Логистической регрессии, и в добавок метрики более сбалансированны, если посмотреть на значения Recall и Precision.
F1 = 0.774
Recall = 0.771
Precision = 0.777
Модель CatBoost может выдать предсказания более высшего качества, но для этого требуется более кропотливая настройка её гиперпараметров и дополнительное время работы. Процесс сильно зависим от технических мощностей компьютера/сервера.
F1 = 0.757
Recall = 0.692
Precision = 0.835