Это portfolio-проект по NLP, посвященный задаче бинарной классификации токсичных комментариев.
Цель проекта — построить модель, способную определять токсичность текста и достигать высокого значения метрики F1 на тестовой выборке.
identifying_toxic_comments_nlp.ipynb— основной ноутбук проекта;data/README.md— краткое описание данных;README.md— описание проекта;CONTRIBUTING.md— правила поддержки репозитория.
- Python
- Jupyter Notebook
- pandas
- scikit-learn
- spaCy
- nltk
- CatBoost
- BERT
Датасет не хранится в публичном репозитории, потому что файл toxic_comments.csv весит около 65 МБ: GitHub начинает предупреждать о больших файлах уже после 50 МБ, а сам репозиторий в портфолио лучше держать легким и читаемым.
Рабочий источник датасета:
Что нужно сделать для локального запуска:
- Скачай CSV по ссылке выше.
- Сохрани файл как
data/toxic_comments.csv. - После этого открой ноутбук.
Ноутбук сначала ищет данные именно в локальной папке data/, а затем поддерживает legacy-пути старой учебной среды.
Проект показывает:
- подготовку и очистку текстовых данных;
- сравнение разных способов векторизации текста;
- обучение и оценку моделей логистической регрессии и градиентного бустинга;
- использование BERT как более сильного представления текста.
- Клонируй репозиторий.
- Скачай датасет по ссылке https://code.s3.yandex.net/datasets/toxic_comments.csv.
- Сохрани CSV в
data/toxic_comments.csv. - Открой
identifying_toxic_comments_nlp.ipynbв Jupyter Notebook или JupyterLab.
Репозиторий оформлен как portfolio-case:
- код — на английском;
- пояснения к исследованию и выводы — на русском;
- датасет вынесен из GitHub-репозитория из-за размера файла, но воспроизводимость сохранена через прямую ссылку на CSV.