Представьте: у вас 50 000 SKU, каждую неделю добавляются сотни новых товаров от поставщиков с разными названиями, описаниями и изображениями. Ручная категоризация уже не справляется — ошибки множатся, отдел контента перегружен, а покупатели не находят нужные товары. Мы решаем это с помощью AI-системы автоматической категоризации, которая анализирует текст, изображения и атрибуты товаров. Наш опыт — 7+ лет в машинном обучении, более 50 успешных проектов для ритейла и маркетплейсов. Предлагаем решение «под ключ»: от аудита данных до интеграции готового API. Свяжитесь с нами для предварительной оценки вашего каталога.
Согласно Википедии, иерархическая классификация позволяет снизить вычислительную сложность за счёт пошагового уточнения категории.
Как работает автоматическая категоризация товаров?
Товарные каталоги имеют древовидную структуру: «Одежда → Верхняя одежда → Куртки». Классификатор сначала определяет самый верхний уровень, затем уточняет — это снижает вычислительную сложность и повышает точность. Пример иерархии:
Одежда и обувь ├── Мужская одежда │ ├── Верхняя одежда │ │ ├── Куртки │ │ └── Пальто │ └── Брюки └── Женская одежда Для каждого уровня обучается отдельная модель или используется единая иерархическая архитектура. Мы выбираем подход под ваш каталог — от простого BERT-классификатора до retrieval-based системы на эмбеддингах. Иерархический подход на 30% эффективнее плоской классификации для каталогов с глубиной более 3 уровней.
Входные данные и признаки — разработка ai системы
Чтобы модель работала точно, используем максимум доступных данных:
class ProductFeatures(BaseModel): title: str # «Куртка мужская зимняя Nike синяя» description: str | None # полное описание attributes: dict # характеристики: материал, размер, цвет images_url: list[str] | None # для мультимодальной классификации brand: str | None price: float | None # price range намекает на категорию supplier_category: str | None # категория поставщика (шумная, но полезная) Мультимодальный подход (текст + изображение) даёт прирост accuracy +5–10% по сравнению с text-only. Это подтверждено нашими проектами: в одном из кейсов (каталог 10 000 товаров) точность выросла с 89% до 96% после добавления изображений.
Реализация классификатора
Выбор архитектуры зависит от размера каталога и доступности размеченных данных:
| Подход | Когда применять | Точность | Сложность |
|---|---|---|---|
| BERT fine-tuning | < 500 категорий, достаточно размеченных данных | 90–95% | Низкая |
| Иерархический классификатор | > 500 категорий, чёткая иерархия | 92–97% | Средняя |
| Retrieval-based (embeddings + kNN) | > 500 категорий, частые новые товары | 88–93% | Средняя |
| Zero-shot (LLM) | Новые категории без обучающих данных | 80–90% | Высокая |
Пример кода для гибридного подхода:
def categorize_product(product: ProductFeatures) -> CategoryPrediction: text = f"{product.title}\n{product.description or ''}\n{format_attributes(product.attributes)}" # Быстрый классификатор top_categories = fast_classifier.predict_top_k(text, k=5) if top_categories[0].score > 0.85: return top_categories[0] # высокая уверенность → сразу # Низкая уверенность → LLM для уточнения return llm_classify(product, top_categories) Ниже — сравнение точности при разных комбинациях признаков:
| Признаки | Top-1 accuracy | Top-3 accuracy |
|---|---|---|
| Только название | 85% | 93% |
| Название + описание | 90% | 96% |
| Название + описание + атрибуты | 93% | 98% |
| Мультимодаль (текст + изображение) | 96% | 99% |
Пример мультимодального пайплайна
Изображение кодируется через CLIP vision-encoder, текст — через Sentence-BERT. Эмбеддинги конкатенируются и подаются в классификатор. Это позволяет использовать визуальные признаки (фасон, цвет, материал) даже при бедном текстовом описании.
Почему мультимодальность повышает точность?
Изображение содержит информацию, которой нет в тексте: фасон, цвет, материал на вид. Для категорий вроде «Платья» или «Кроссовки» визуальные признаки критичны. Мы используем предобученные vision-encoder (например, CLIP), который выдаёт эмбеддинги, объединяемые с текстовыми. Это особенно эффективно для товаров с бедным описанием.
Обработка сложных случаев
- Мультикатегорийные товары: «Чехол-книжка для телефона» — аксессуар или чехол? Обе категории. Используем мультилейбл-классификацию.
- Несоответствие названия содержанию: «Набор для рукоделия» — что внутри? Нужно описание. Если его нет, модель помечает товар на ручную проверку.
- Новые категории: автоматически создавать кластер «Неизвестная категория» для ревью. После подтверждения — дообучение модели.
Метрики: Top-1 accuracy, Top-3 accuracy (товар в одной из 3 предсказанных категорий). Типичные результаты: Top-1 90–95%, Top-3 97–99% для стандартных каталогов.
Что входит в нашу работу?
- Аудит данных: анализ структуры каталога, качества разметки, доступных признаков.
- Проектирование модели: выбор архитектуры (BERT, иерархический, retrieval-based) под ваш кейс.
- Обучение и валидация: на ваших данных с отслеживанием метрик через MLflow.
- Интеграция: REST API или gRPC, документация, примеры кода.
- Деплой и мониторинг: контейнеризация, A/B тестирование, логирование.
- Обучение команды: как обновлять модель, добавлять новые категории.
Сроки и стоимость
Базовое решение — от 2 до 6 недель. Стоимость рассчитывается индивидуально после аудита ваших данных и требований. Мы гарантируем прозрачное ценообразование и фиксированные сроки. Сертифицированные инженеры (TensorFlow, AWS, GCP) обеспечат стабильную работу.
Закажите консультацию: мы оценим ваш каталог и предложим оптимальное решение. Получите демо-доступ к уже работающей системе.







