Skip to content

Repository files navigation

Определение авторства русскоязычных текстов на основе контрастивного обучения BERT

Структура проекта

/.dvc – конфиг dvc для версионирования датасетов
/.github – скрипт github actions для сборки Docker образов и отправки их в YC container regisrty

/data 
    /data - датасеты 
    /scripts - скрипты для предобработки данных
    
/frontend – React-приложение-интерфейс 
/logs – пустая папка, нужна для маунта файлов логирования при развертывании
/nginx - конфигурация nginx для развертывания с docker-compose

/notebooks -
    /01_analysis - анализ данных
    /02_prep - создание сводного корпуса 
    /03_fasttext - эксперименты с fasttext
    /04_bert - обучение BERT-моделей
    /05_stylizations - эксперименты с стилизацией текста с помощью LLM 
    /06_baselines - сравнение BERT с TF-IDF
    
/observability - конфигурация дашбордов Grafana и 

/src/api - API для использования модели
    /app
        /core - инициализация сервисов, сервера, логирования, зависимостей 
        /crud - Repository-классы для работы с БД
        /database - классы для работы с подключением к БД через sqlalchemy 
        /dependecies - зависимости для fastapi-endpoint'ов(авторизация, создания подключения к БД)
        /entities - Описание таблиц с sqlalchemy
        /models - классы для работы с моделями BERT
        /routes - API-endpointы
        /schemas - Pydantic-схемы для запросов и ответов от API
        /services - Service-классы для работы с бизнес-логикой, фоновыми задачами
        /utils - вспомогательные методы(рассчет метрик, хеширование паролей)
        main.py - метод для запуска приложения
    /migrations - alembic миграции
    /shared - описание модели BERT, нужно для получения модели с mlflow
    /static - для scalars документации API
    createsuperuser.py - скрипт создания пользователя-администратора
    generate_jwt_keys.py - скрипт генерации JWT-токенов 
    run.py - запуск приложения

Использованные датасеты:

Все исходные тексты были разбиты на чанки и сохранены в формате .csv

Литературные тексты

  1. Russian novels
  2. Произведения, агрегированные на сайте Ilibrary
  3. NejimakiTori/literature_sum

Короткие тексты из социальных сетей

Датасет из комментариев социальных сетей

Статьи из N+1

Библиотека для использования руссокязычных текстовых датасетов

Демо

Демо будет доступно http://111.88.153.111

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages