Проект представляет собой прототип системы автоматической агрегации СТЕ (товаров) по значимым характеристикам, а также инструмент для администрирования категорий. Решение разработано в рамках хакатона и включает анализ данных, механизм построения агрегированных категорий, веб-интерфейс администратора и сервис интеллектуального поиска.
- Предварительная обработка исходного CSV-набора.
- Извлечение и нормализация характеристик товаров.
- Формирование агрегированных описаний категорий на основе значимых параметров.
- Автоматическая нормализация текстов (лемматизация, очистка, коррекция раскладки).
- Определение ключевых атрибутов товаров.
- Формирование набора характеристик категории на основе частоты и устойчивости признаков.
- Объединение товаров по релевантным характеристикам.
- Ограничение выборки для предотвращения разрастания агрегатов.
- Поддержка нескольких уровней группировки (категория, семейство, группы товаров).
- Просмотр агрегированной категории и связанных товаров.
- Ручное редактирование атрибутов категории.
- Добавление или удаление связанных товаров.
- Оценка качества агрегации.
- Повторная генерация категории по запросу пользователя.
- Интеллектуальный поиск категорий с использованием fuzzy-сопоставления.
- Панель администратора для управления категориями.
- Поддержка фильтров, сортировки, поиска и пагинации.
- Просмотр характеристик и связанных СТЕ.
- Управление семействами категорий.
- Наглядное отображение статусов, оценок и новых товаров.
- 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}
- Импорт сырого CSV-набора СТЕ.
- Генерация агрегированных категорий и их характеристик.
- Запись данных в PostgreSQL.
- Вычисление характеристик, сходства, новых товаров.
- Работа администратора в веб-интерфейсе:
- просмотр категории,
- оценка,
- редактирование,
- перегенерация.
Backend:
- Python 3.10+
- FastAPI
- pandas
- rapidfuzz
- pymorphy3
- PostgreSQL (через
psycopg2-binary) - Uvicorn
Frontend:
- React
- Vanilla CSS
Алгоритмическая часть:
- Лемматизация и нормализация текстов
- Fuzzy-matching для интеллектуального поиска
- Агрегация характеристик категории
cd py_back
pip install -r requirements.txt
uvicorn search_service:app --reloadФайлы интерфейса находятся на стороне пользователя. Достаточно разместить App.jsx и styles.css в любой React-сборке.
cd server
DDL доступен в файле `all_structure.sql` .
Подробная структура описана в `DB.md` .Система протестирована на реальном наборе категорий и СТЕ (result_itr4_test.csv) и показала корректность формирования агрегированных характеристик, определение новых товаров и устойчивую работу интеллектуального поиска.
- Улучшение алгоритмов определения значимых признаков (ключевые фразы, embedding-модели).
- Глубокая кластеризация товаров (HDBSCAN, BERTopic).
- Метрики качества генерации.
- Рольовая модель доступа.
- Расширение административной панели.
- Валидация данных и корректировка ошибок импорта.
Проект включает интерфейс для просмотра категорий, товаров и характеристик, а также API интеллектуального поиска. Система готова к демонстрации и масштабированию.

