M

MosHack-Change_2025

MoodWare — анализ настроения текстов

Веб-сервис для анализа настроения текстов: от позитивных до негативных.
Помогает находить токсичные сообщения, отслеживать динамику отзывов и видеть, как люди реагируют на ваши продукты и сервисы.

Проект создан в рамках трека Правительства Москвы.


1. Ссылки

  • Полный репозиторий на Mos.Hub (исходный код + ML-эксперименты в ноутбуках)
    https://hub.mos.ru/solmath/moshack-change_2025

    В этом репозитории можно посмотреть:

    • Jupyter-ноутбуки с экспериментами по обучению и сравнению моделей;
    • дополнительный код для подготовки данных и анализа.
  • Папка с видео, демо и прототипами (Google Drive)
    https://drive.google.com/drive/folders/1-IQqdbQBBiLeVRH2WdiW18XNeTHRztrc


4. Структура проекта backend

SentimentAnalysis/
├── .venv/                 # Виртуальное окружение Python (локально)

├── backend/
│   ├── model/             # Папка с сохранённой BERT-моделью
│   │   └── ...            # config.json, pytorch_model.bin, файлы токенизатора и т.д.
│   ├── app_bert.py        # ГЛАВНОЕ FastAPI-приложение с BERT-моделью
│   └── preprocess_test.py # Функции предобработки текстов перед инференсом

├── frontend/
│   ├── css/               # Стили (base.css, home_1.css, advantages_2.css, ...)
│   ├── img/               # Иллюстрации и фото для лендинга
│   ├── js/                # Логика работы фронта (загрузка файлов, запросы к API)
│   ├── index.html         # Главная страница (лендинг «Мы анализируем настроение текстов»)
│   └── index_model.html   # Экран работы с файлами / анализа тональности

├── render.yaml            # Конфигурация для деплоя (например, на Render)
├── requirements.txt       # Список зависимостей проекта
└── README.md              # Текущий файл

5. Установка и запуск

5.1. Предварительные требования

  • Python 3.10+ (рекомендуется 3.11)
  • Git
  • pip
  • (Опционально) GPU + CUDA для ускорения инференса BERT

5.2. Клонирование

Если вы работаете с локальной копией:

git clone https://hub.mos.ru/solmath/moshack-change_2025.git
cd moshack-change_2025

5.3. Виртуальное окружение

Linux / macOS:

python3 -m venv .venv
source .venv/bin/activate

Windows (PowerShell):

python -m venv .venv
.\.venv\Scripts\activate

5.4. Установка зависимостей

Из корня проекта:

pip install --upgrade pip
pip install -r requirements.txt

Если torch с указанной версией не ставится, можно установить без пина:

pip install torch

(подберется совместимая версия под вашу систему).


5.5. Подготовка модели

Убедитесь, что в backend/model/ лежит обученная RuBERT-модель (папка с config.json, pytorch_model.bin и файлами токенизатора).

Путь к модели задаётся в backend/app_bert.py в константе MODEL_PATH.


5.6. Запуск backend

Из корня проекта (там, где лежат папки backend/ и frontend/):

uvicorn backend.app_bert:app_bert --reload
  • По умолчанию сервер поднимется на http://127.0.0.1:8000
  • Документация Swagger: http://127.0.0.1:8000/docs

8. Команда

Блок «Команда проекта · MoodWare»:

  • Название команды: MoodWare
  • ВУЗ: Финансовый университет при Правительстве РФ, 3 курс.

Участники и роли

  1. Диева Варвара Дизайн и реализация интерфейса веб-приложения, участие в выборе и дообучении модели. GitHub: https://github.com/dievavar Telegram: @dievavar

  2. Лихолетов Георгий Серверная часть: API для вызова модели, обмен данными между фронтендом и ML-сервисом, инфраструктура и деплой. GitHub: https://github.com/FreEFreeZy Telegram: @freefreezy

  3. Шалашова Ольга Исследование и настройка моделей на базе BERT: анализ датасетов, дообучение, оценка качества классификации тональности. GitHub: https://github.com/shalashova-olga Telegram: @olya_shalashova