Розробка AI-системи автоматичної категоризації товарів

Каталог зростає, а розбір позицій тримається на ручній роботі та таблицях — на масштабі це перетворюється на постійні правки та затримки. Ми автоматизуємо категоризацію товарів під ключ: налаштовуємо модель на ваших даних і передаємо готовий регламент підтримки. Обсяг розбору зростає, а частка ручних правок падає.
Часті запитання

Автоматична категоризація товарів: де ламається ручний розбір

Коли каталог вимірюється десятками тисяч карток, ручна категоризація перестає бути задачею, яку в принципі можна закрити людьми. Розмітка товарів вручну працює рівно до того моменту, поки асортимент зростає повільніше, ніж команда встигає його обробляти.

Далі з'являється черга: нові позиції потрапляють до розділів за формальною ознакою або за звичкою оператора, а не за фактичними властивостями товару.

Друга лінія збою — правила. Їх накопичують роками: за брендом товар іде в один розділ, за словом у назві в інший, винятки для конкретних постачальників виносять окремим списком.

Правил стає більше, ніж позицій у деяких розділах, вони починають конфліктувати між собою, і передбачити, куди поїде нова картка, вже не може ніхто. Так зростання каталогу без правил перетворюється на набір локальних домовленостей, які тримаються на пам'яті двох співробітників.

Далі ламається не розмітка, а те, заради чого вона робилася. Властивості заповнені врознобіч: в однієї частини асортименту вказано колір і матеріал, в іншої — лише назва.

Фільтри в каталозі показують порожні значення, пошук знаходить позицію лише за точним збігом, і покупець не доходить до товару, який фізично є на складі. Менеджер править картки за зверненням, витрачаючи час на те, що мало вирішитися один раз під час надходження.

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

Розбираємо, як це закривається — від порядку в структурі розділів до моделі, яка розмічає надходження й віддає дані фільтрам.

Ефект впровадження: швидкість розбору каталогу та частка ручних правок

Після виведення моделі в робочий контур змінюється не «відчуття порядку», а конкретні числа. Частка позицій, які потрапляють до каталогу без участі людини, виходить на 85–95 %, решта йде в чергу на перевірку — оператор бачить не весь потік, а лише спірні випадки.

Точність зіставлення категорій на контрольній вибірці тримається вище 95 %, причому це не разовий замір, а метрика, яка перераховується на кожному завантаженні.

Швидкість обробки каталогу скорочується з годин ручного розбору до хвилин: сервіс розмічає потік, правила добудовують атрибути й розкладають позиції за гілками. Новий асортимент стає видимим покупцеві того самого дня, а не після того, як оператор опрацює накопичену чергу.

Єдиний рубрикатор перестає розповзатися. Та сама категорія більше не називається по-різному в різних постачальників, а поява нової гілки не призводить до ручної правки вже розібраних позицій.

Під час сезонних сплесків, коли потік зростає в рази, час на одну позицію не зростає: вузьке місце зміщується з людей на пропускну здатність сервісу, яку ми задаємо заздалегідь.

Щоб ефект був керованим, а не декларативним, ми налаштовуємо поріг автоматичного приймання та журнал рішень: щодо кожної позиції видно, чому її віднесено до категорії, і це можна перевірити вибірково.

Якщо правило або ваги дають просідання на нових даних, контур повертається до попередньої конфігурації без зупинки каталогу.

Підходи до розмітки: правила, навчання на прикладах, мовні моделі

Перше питання на старті — що взяти за джерело правил: словники й правила, модель на розмічених прикладах або мовна модель. Вибір визначає не «сучасність» методу, а передбачуваність каталогу — стійкість назв, кількість пересічних категорій і частоту появи нових груп товарів.

Тому ми проганяємо історію замовника через усі підходи й рахуємо частку ручних правок на тисячу позицій.

На практиці частіше виграє гібридна схема: словники закривають явні випадки й працюють страховкою від грубих помилок, модель вирішує спірні, а мовна модель підключається там, де розмітки мало.

Людина в контурі перевіряє лише позиції з низькою впевненістю — зазвичай це одиниці відсотків від потоку.

Варіант Коли підходить Обмеження
Правила та словники Стабільний каталог, формалізовані назви, десятки категорій Нова формулювання постачальника ламає правило, словник зростає швидше за категорії
Навчання на прикладах Є тисячі розмічених карток та історія правок операторів Нову категорію не ввести без перенавчання, чутливість до зміни асортименту
Мовні моделі Розмітки мало, категорії описані словами, у картках багато тексту Нестабільність на рідкісних позиціях, потрібен поріг впевненості
Гібридна схема розмітки Каталог змінюється, є оператор для спірних випадків Потрібен інтерфейс перевірки та метрика згоди «модель — людина»

Критерії порівняння фіксуємо до старту: частка позицій без ручної правки, точність на відкладеній вибірці та час виведення нової категорії.

Етапи впровадження: від аудиту каталогу до передачі моделі

Категоризація починається не з навчання моделі, а з аудиту каталогу: вивантажуємо позиції з атрибутами, рахуємо частку нерозмічених, дублі, глибину дерева та «сміттєві» вузли.

Без цього кроку будь-яка метрика якості висить у повітрі — незрозуміло, що взагалі вважати правильною відповіддю.

  1. Аудит каталогу та даних — оцінка повноти й однорідності назв, атрибутів і поточних категорій. На виході карта проблем: де даних не вистачає, де розмітка суперечлива, які вузли дублюють один одного.
  2. Схема таксономії — узгоджуємо дерево категорій і правила розмежування близьких вузлів. Фіксуємо, які позиції принципово неоднозначні й залишаються за ручною перевіркою.
  3. Розмітка вибірки — контрольна вибірка з перевагою в бік рідкісних категорій, ручна розмітка та замір узгодженості між розмітниками. Це еталон для всіх подальших замірів.
  4. Налаштування моделі — базовий варіант на попередньо навченій моделі, порівняння з розбором за ключовими словами, підбір порогів впевненості, робота з незбалансованими класами.
  5. Перевірка на потоці — прогін через реальний конвеєр надходження товарів у тіньовому режимі: прогноз не змінює каталог, але кожне розходження розбирається.
  6. Приймання якості — метрика рахується за класами, а не «в середньому»: рідкісна категорія важить стільки ж, скільки масова. Позиції нижче порога йдуть на ручну перевірку.
  7. Передача моделі — документація, відтворюване навчання, регламент донавчання на нових даних і розбір типових помилок.

Після передачі каталог категоризується пачками на вашій стороні, а модель донавчається на нових позиціях без нашої участі.

Артефакти проєкту: таксономія, модель, регламент підтримки

Проєкт автоматичної категоризації закінчується не показом моделі на відкладеній вибірці, а передачею комплекту, з яким ваша команда працює далі без нас. Нижче — що залишається на руках у замовника: від дерева категорій до правил, за якими модель перенавчається.

  • Таксономія категорій та атрибутів — дерево з рівнями вкладеності, правилами успадкування й обов'язковими атрибутами для кожного листка. Основа і для розмітки, і для вивантаження в облікові системи.
  • Схема інтеграції — де модель отримує дані про товар, у якому вигляді повертає категорію та впевненість, що відбувається за низької впевненості. Два режими: пакетна обробка каталогу та розбір картки в момент публікації.
  • Налаштована модель — навчена на вашій історії, із зафіксованими порогами впевненості та списком категорій, які вона не бере й передає людині.
  • Документація щодо моделі — які ознаки на що впливають, на яких даних навчання, як читати якість за кожною категорією та де модель систематично помиляється.
  • Перевірний набір — фіксована вибірка товарів з еталонними категоріями. Прогін за нею показує, чи деградувала модель після донавчання.
  • Регламент підтримки — періодичність донавчання, хто підтверджує нові категорії, як відкочуватися на попередню версію, якщо якість просіла.
  • Інструкція для операторів — як розбирати спірні картки та куди складати виправлення, щоб вони потрапляли до наступного циклу навчання, а не губилися.

Кейс: каталог на десятки тисяч позицій без ручної розмітки

Клієнт — мережа роздрібних магазинів «Северный Дом»: каталог на 120 000 позицій і 2 400 підкатегорій. Товари заводили вручну — менеджер вибирав розділ за назвою та описом, спірні випадки йшли на другий круг.

На піку сезонних поставок черга на розмітку розтягувалася на дні, а частина карток публікувалася не в тих розділах, і покупець їх просто не знаходив.

Як було до

Частка помилкових потраплянь до розділу — близько 18 %: майже кожна п'ята картка опинялася не там, де її шукають. Товар з'являвся в каталозі через два-три дні після приймання на склад і весь цей час був недоступним для замовлення.

Ручного доопрацювання потребували більше половини карток: правила категоризації не покривали нові лінійки постачальників.

Що змінили і що вийшло

Навчальну вибірку зібрали з 8 000 позицій, розмічених вручну за єдиною схемою; модель навчалася на назві, атрибутах та зображенні товару. Поріг впевненості виставили так, щоб неоднозначні позиції йшли на перевірку людині, а не публікувалися навмання.

Помилкові потрапляння на потоці — 3 % замість 18 %. Товар потрапляє до каталогу протягом години після приймання: розмітка запускається автоматично під час завантаження накладної.

Ручне доопрацювання скоротилося з 60 % карток до 8 % — людина розбирає лише спірні позиції та нові лінійки, яких модель ще не бачила.

Раз на місяць накопичені виправлення йдуть на перенавчання, якість звіряємо на відкладеній вибірці — точність не падає в міру зростання каталогу.

Чим відрізняється категоризація за правилами від моделі на прикладах?

Категоризація за правилами — це довідники синонімів, регулярні вирази та пріоритети за атрибутами: спрацювала умова — категорію присвоєно за таблицею відповідностей.

Така логіка працює з першого дня, не потребує розмітки й повністю пояснювана: у журналі видно, яке правило спрацювало і чому.

Модель — навчаний класифікатор, який дивиться на назву та атрибути загалом і узагальнює закономірності. Вона переживає помилки, нові бренди та незвичні формулювання, зате потребує холодного старту: кількох тисяч розмічених прикладів і перевірки на відкладеній вибірці. Пояснюваність нижча — на виході ймовірність та ознаки, що вплинули на рішення, а не явне правило.

Варіант Коли підходить Обмеження
Правила та довідники Вузький асортимент, жорсткі вимоги до трасованості рішення Ручне доопрацювання зростає з кожною новою категорією
Статистична модель на атрибутах Є історична розмітка та стабільний набір ознак Погано переносить нові формулювання в назвах
Нейромережевий класифікатор за текстом Широкий асортимент, короткі та «брудні» назви Потрібен холодний старт і регулярна перерозмітка

Ламаються підходи по-різному. Довідник доводиться дописувати під кожну нову категорію, і на широкому асортименті супровід з'їдає більше часу, ніж приносить користі.

Модель деградує непомітно: точність падає під час зміни постачальників і формулювань, тому потрібен контроль частки ручних правок.

На практиці ми збираємо гібрид: правила відсікають однозначні випадки й фільтрують сміття в даних, модель закриває решту.

Рішення з упевненістю нижче порога йдуть на ручну перевірку та поповнюють навчальну вибірку — частка автообробки зростає з 40-60 % на старті до 85-90 % після кількох циклів донавчання. Для швидкого входу достатньо компактного класифікатора на кшталт FastText.

Технічні сумніви: якість розмітки, дрейф даних, підтримка

Технічні заперечення на цьому етапі рідко звучать як «чи запрацює модель» — питають про якість розмітки, поведінку на живому потоці та підтримку, коли таксономія почне змінюватися. Нижче — короткі відповіді щодо кожного з цих пунктів.

Скільки даних потрібно розмітити на старті?

Обсяг рахується від кількості класів та їх розділюваності, а не за принципом «більше — краще». Практичний мінімум — кілька тисяч прикладів на категорію з обов'язковим покриттям рідкісних підкатегорій: клас, показаний десятком об'єктів, модель просто не виділить. Решту добирають активним навчанням — під розмітку йдуть приклади, де впевненість моделі мінімальна.

Що робити, коли з'являються нові категорії?

Таксономію не перенавчаємо цілком: нову гілку підключаємо окремим шаром, перерозмічаючи лише спірну область. Межі вже працюючих класів при цьому не зсуваються, тому додавання категорії не відкочує якість на інших.

Як модель поводиться на живому потоці — не деградує?

Дрейф даних ловимо не за загальною точністю, а за часткою прикладів з низькою впевненістю та розходженням розподілу вхідних описів з навчальною вибіркою, плюс вибірковий аудит оператором. Коли метрика падає нижче порога, спрацьовує алерт і повернення до попередньої версії.

Як це вбудовується в поточний контур?

Інтеграція — через сервісний інтерфейс або чергу подій, у пакетному чи онлайн-режимі. Перший період модель працює в тіньовому режимі поруч із поточною логікою, тож розходження видно до перемикання, а відкат зводиться до повернення версії.

Обговоримо задачу: повернемося з оцінкою та планом впровадження

Після звернення ми не починаємо з моделі, а розбираємо каталог: глибину дерева категорій, частку позицій з неповними атрибутами, звідки надходять дані та як часто змінюється структура розділів.

На цьому розборі будується схема категоризації та склад робіт — що робимо ми і що потрібно від вашої сторони.

  • Оцінка проєкту. Рахуємо обсяг каталогу, кількість категорій і правила віднесення, перевіряємо, чи вистачає даних для контролю якості. Результат — склад робіт і порядок етапів.
  • Пілот на вибірці. Беремо кілька тисяч позицій з різних гілок каталогу та звіряємо результат з еталонною розміткою: отримуємо частку правильних віднесень і частку позицій, що пішли на ручну перевірку.
  • Схема рішення. Фіксуємо поріг впевненості, нижче якого товар іде оператору, правила для нових категорій і порядок розбору позицій, що підходять одразу кільком розділам.
  • План впровадження. Порядок підключення джерел, точки контролю якості на кожному етапі, відкат на попередню версію правил, якщо точність на потоці падає.
  • Передача в підтримку. Документація щодо правил і метрик, інструкція для операторів, регламент донавчання на нових даних і розбір спірних випадків.
  • Навчання команди. Показуємо, як читати звіти з якості, змінювати пороги та додавати категорії без нашої участі.

Опишіть задачу й надішліть вивантаження каталогу — повернемося з оцінкою, схемою та планом впровадження, включно з пілотом на вибірці.

Напрямки AI-розробки

Останні роботи

  • Розробка сайту компанії B2B ADVANCE
    Розробка сайту компанії B2B ADVANCE
    1543
  • Розробка веб-додатків для компанії FEEDME
    Розробка веб-додатків для компанії FEEDME
    1394
  • Розробка веб-сайту для компанії БЕЛФІНГРУП
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    1081
  • Розробка інтернет магазину для компанії FURNORO
    Розробка інтернет магазину для компанії FURNORO
    1369
  • Розробка логотипу компанії B2B Advance
    Розробка логотипу компанії B2B Advance
    816
  • Розробка веб-додатків для компанії Enviok
    Розробка веб-додатків для компанії Enviok
    1142