Как мы внедрили ML-модель для подбора дизайнов маникюра, а она выдавала стрижки как у Мухаммеда Али

Команда Профи.ру поделилась кейсом внедрения ML-модели для релевантного подбора изображений услуг — от маникюра до стрижек. Цель проекта — повысить органический трафик через выдачу вдохновляющих картинок в поисковиках, которые отражают реальные желания пользователей.

  • Изначально картинки подбирались случайно по теме, что привело к росту отказов (до 60%) и падению позиций в поиске.
  • Вторая попытка — генерация описаний с помощью GPT для каждой картинки — повысила релевантность и удвоила время на странице, но не решила проблему точности (модель ошибалась и выдавалась не по смыслу).
  • Финальное решение: переход к ML-векторизации и внедрение CLIP-модели, сопоставляющей изображения и текстовые запросы по смыслу (косинусное сравнение векторных эмбеддингов). В итоге на страницах начали показываться именно те работы, которые ищут пользователи, а релевантность подтвердила ручная оценка.
  • Технологически команда остановилась на англоязычной модели Xenova/clip-vit-base-patch16, запущенной на TypeScript через Transformer.js, и хранении эмбеддингов в PostgreSQL с pg_vector и hnsw-индексом для быстрого поиска.
  • Отдельно отмечены ограничения RuCLIP для русского языка (трудности запуска в продакшене на TS/Node.js), необходимость GPU для ускорения массовой обработки и влияние открытых датасетов на курьёзные подборки (например, "стрижка бокс" выдаёт фото боксёров).

Кейс демонстрирует переход от простых SEO-подходов к поиску по смыслу с помощью современных ML-инструментов, а также сложности локализации AI-моделей под нужды digital-сервиса.

← Назад в лентуЧитать оригинал →
✈️ Подписывайтесь на мой Telegram-канал — там еще больше интересного про AdTech, MarTech, AI и многое другое!