Skip to content

Faso-main/Systems_of_automatic_aggregation_of_STU

Repository files navigation

Система агрегации и управления категориями товаров

Проект представляет собой прототип системы автоматической агрегации СТЕ (товаров) по значимым характеристикам, а также инструмент для администрирования категорий. Решение разработано в рамках хакатона и включает анализ данных, механизм построения агрегированных категорий, веб-интерфейс администратора и сервис интеллектуального поиска.


прод

Архитектура и поток обработки

несколько процессов


1. Возможности системы

Аналитика и подготовка данных

  • Предварительная обработка исходного CSV-набора.
  • Извлечение и нормализация характеристик товаров.
  • Формирование агрегированных описаний категорий на основе значимых параметров.

Определение значимых характеристик

  • Автоматическая нормализация текстов (лемматизация, очистка, коррекция раскладки).
  • Определение ключевых атрибутов товаров.
  • Формирование набора характеристик категории на основе частоты и устойчивости признаков.

Группировка СТЕ

  • Объединение товаров по релевантным характеристикам.
  • Ограничение выборки для предотвращения разрастания агрегатов.
  • Поддержка нескольких уровней группировки (категория, семейство, группы товаров).

Пользовательские операции

  • Просмотр агрегированной категории и связанных товаров.
  • Ручное редактирование атрибутов категории.
  • Добавление или удаление связанных товаров.
  • Оценка качества агрегации.
  • Повторная генерация категории по запросу пользователя.
  • Интеллектуальный поиск категорий с использованием fuzzy-сопоставления.

Веб-интерфейс

  • Панель администратора для управления категориями.
  • Поддержка фильтров, сортировки, поиска и пагинации.
  • Просмотр характеристик и связанных СТЕ.
  • Управление семействами категорий.
  • Наглядное отображение статусов, оценок и новых товаров.

2. Архитектура решения

Компоненты

  • FastAPI backend (search_service.py) — интеллектуальный поиск категорий, нормализация текстов, обработка пользовательских запросов.
  • PostgreSQL — хранение категорий, товаров, признаков, результатов генерации и вычислений сходства.
    Структура БД описана в файле all_structure.sql :contentReference[oaicite:0]{index=0} и документирована в DB.md :contentReference[oaicite:1]{index=1}.
  • React frontend (App.jsx) — административная панель для работы с категориями и товарами. :contentReference[oaicite:2]{index=2}
  • CSS-оформление (styles.css) — оформленный интерфейс панели администратора. :contentReference[oaicite:3]{index=3}

Основные процессы

  1. Импорт сырого CSV-набора СТЕ.
  2. Генерация агрегированных категорий и их характеристик.
  3. Запись данных в PostgreSQL.
  4. Вычисление характеристик, сходства, новых товаров.
  5. Работа администратора в веб-интерфейсе:
    • просмотр категории,
    • оценка,
    • редактирование,
    • перегенерация.

3. Стек технологий

Backend:

  • Python 3.10+
  • FastAPI
  • pandas
  • rapidfuzz
  • pymorphy3
  • PostgreSQL (через psycopg2-binary)
  • Uvicorn

Frontend:

  • React
  • Vanilla CSS

Алгоритмическая часть:

  • Лемматизация и нормализация текстов
  • Fuzzy-matching для интеллектуального поиска
  • Агрегация характеристик категории

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

Backend

cd py_back
pip install -r requirements.txt
uvicorn search_service:app --reload

Frontend

Файлы интерфейса находятся на стороне пользователя. Достаточно разместить App.jsx и styles.css в любой React-сборке.

База данных

cd server
DDL доступен в файле `all_structure.sql` .
Подробная структура описана в `DB.md` .

5. Реальные кейсы и тестирование

Система протестирована на реальном наборе категорий и СТЕ (result_itr4_test.csv) и показала корректность формирования агрегированных характеристик, определение новых товаров и устойчивую работу интеллектуального поиска.


6. Возможности развития

  • Улучшение алгоритмов определения значимых признаков (ключевые фразы, embedding-модели).
  • Глубокая кластеризация товаров (HDBSCAN, BERTopic).
  • Метрики качества генерации.
  • Рольовая модель доступа.
  • Расширение административной панели.
  • Валидация данных и корректировка ошибок импорта.

7. Демонстрация

Проект включает интерфейс для просмотра категорий, товаров и характеристик, а также API интеллектуального поиска. Система готова к демонстрации и масштабированию.

About

Прототип системы автоматической агрегации СТЕ (товаров) по значимым характеристикам

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages