# Классификация психологических состояний на основе текстов ## Требования к окружению Для работы над проектом вам понадобятся следующие инструменты и библиотеки: - Python 3.8+ - PyTorch (версия зависит от вашей CUDA/CPU конфигурации) - Transformers - Pandas - scikit-learn Установка необходимых библиотек (пример): ```bash pip install torch transformers pandas scikit-learn ``` --- ## Структура проекта - **train.csv** — обучающий набор данных. - **valid.csv** — валидационный набор. - **train.py** — скрипт для дообучения (fine-tuning) модели на ваших данных. - **model** — дообученная модель. --- ## Подготовка данных 1. **Формат CSV:** Минимум два столбца: - `statement` — текст, который требуется классифицировать. - `status` — метка класса (например, Anxiety, Depression, Normal, Suicidal и т.д.). 2. **Удаление лишних столбцов:** Если в данных присутствует столбец `Unnamed: 0` или любой другой служебный, удалите его. 3. **Предварительная очистка текста (preprocessing):** - Удаление лишних пробелов и переносов строк. - Опционально: стемминг или лемматизация, удаление HTML-тегов, пунктуации и т.д. Пример содержимого `train.csv` (упрощённо): ``` statement,status "Я очень нервничаю из-за завтрашнего экзамена",Anxiety "Я чувствую себя нормально, но иногда беспокоюсь",Normal ... ``` --- ## Файлы для обучения и инференс ### Требования для запуска обучения Для корректного запуска обучения **необходимо наличие двух CSV-файлов** в каталоге с данными: 1. **train.csv** - Содержит обучающие данные. - Обязательные столбцы: - `statement` – текст для классификации. - `status` – метка класса (например, *Normal, Depression, Suicidal, Anxiety, Bipolar, Personality disorder, Stress*). 2. **valid.csv** - Содержит данные для валидации. - Имеет ту же структуру, что и `train.csv`. Скрипт для обучения (`train.py`) ожидает, что эти два файла будут доступны по указанным путям (в корне проекта). ### Инструкции по запуску инференс-скрипта 1. **Убедитесь, что дообученная модель сохранена.** Например, если вы дообучали модель с помощью `train.py`, она должна находиться в папке `./trained_deberta_model` (либо укажите другой путь). 2. **Запустите скрипт через командную строку.** Пример запуска: ```bash python inference.py --text "Пример текста для классификации" --model_dir "./trained_deberta_model" ``` Если необходимо изменить список меток, можно передать их через параметр `--labels`: ```bash python inference.py --text "Пример текста для классификации" --model_dir "./trained_deberta_model" --labels "Normal,Depression,Suicidal,Anxiety,Bipolar,Personality disorder,Stress" ``` 3. **Параметры:** - `--model_dir` – путь к директории с дообученной моделью. - `--text` – текст, который вы хотите классифицировать. - `--labels` – (опционально) список меток, разделённых запятыми. - `--max_length` – (опционально) максимальная длина последовательности (по умолчанию 512 токенов). После выполнения скрипта в консоли будут выведены логиты, вероятности для каждого класса, индекс предсказанного класса и, при наличии label mapping, соответствующая метка.