Spaces:
Running
Download report.md from asriel14/article_classifier: direct link, hf CLI and curl.
- Browser
- Download file 3.11 kB
-
https://huggingface.co/spaces/asriel14/article_classifier/resolve/main/report.md
- Command line
-
hf download hf://spaces/asriel14/article_classifier/report.md
-
curl -L -o report.md https://huggingface.co/spaces/asriel14/article_classifier/resolve/main/report.md
Отчёт по проекту: классификатор тематик научных статей
1. Задача
Построен веб-сервис для классификации научных статей по title и abstract. Пользователь вводит заголовок статьи и, при наличии, abstract, после чего сервис возвращает наиболее вероятные тематики статьи и набор top-95% классов.
2. Почему выбран этот проект
Эта задача напрямую соответствует формулировке задания и покрывает полный NLP/MLOps pipeline: сбор данных, обучение трансформера, сохранение артефактов, онлайн-инференс, веб-интерфейс и деплой.
3. Данные
Данные были собраны через arXiv API по 8 укрупнённым направлениям: cs, econ, eess, math, physics, q-bio, q-fin, stat.
На финальном запуске использовалось примерно по 1500 статей на класс. После удаления дубликатов был получен датасет примерно на 11 тысяч объектов.
Для обучения использовался объединённый текст: [TITLE] {title} [ABSTRACT] {abstract}
Если abstract отсутствует, сервис работает только по title.
4. Модель
Использована модель distilbert-base-cased в постановке single-label multiclass classification.
5. Обучение
Использовалась библиотека Hugging Face transformers и стандартный Trainer.
Шаги:
- сбор данных через arXiv API;
- очистка текста;
- stratified split на train и validation;
- токенизация;
- fine-tuning DistilBERT;
- подсчёт метрик.
6. Итоговые метрики
На validation были получены следующие метрики:
- accuracy = 0.7380
- macro F1 = 0.7354
- weighted F1 = 0.7371
7. Инференс
Во время инференса:
- текст собирается из title и abstract;
- модель выдаёт logits;
- применяется softmax;
- классы сортируются по вероятности;
- выбирается минимальный набор классов, чья суммарная вероятность достигает не менее 95%.
8. Интерфейс
Интерфейс реализован на Streamlit. Он содержит поля для title и abstract, кнопку запуска, примеры, таблицу вероятностей, вывод top-95% классов и обработку ошибок.
9. Деплой
Проект подготовлен для деплоя в Hugging Face Spaces через Docker.