mamed0v
init
1e073e5
|
raw
history blame
4.9 kB

Классификация психологических состояний на основе текстов

Требования к окружению

Для работы над проектом вам понадобятся следующие инструменты и библиотеки:

  • Python 3.8+
  • PyTorch (версия зависит от вашей CUDA/CPU конфигурации)
  • Transformers
  • Pandas
  • scikit-learn

Установка необходимых библиотек (пример):

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. Запустите скрипт через командную строку.
    Пример запуска:

    python inference.py --text "Пример текста для классификации" --model_dir "./trained_deberta_model"
    

    Если необходимо изменить список меток, можно передать их через параметр --labels:

    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, соответствующая метка.