🚀 Попробуйте Zilliz Cloud, полностью управляемый Milvus, бесплатно — ощутите 10-кратное увеличение производительности! Попробовать сейчас>

milvus-logo
LFAI
  • Home
  • Blog
  • Создание интеллектуальной системы персонализации гардероба на базе векторной базы данных Milvus

Создание интеллектуальной системы персонализации гардероба на базе векторной базы данных Milvus

  • Engineering
July 08, 2022
Yiyun Ni

cover image изображение обложки

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

Но благодаря развивающимся технологиям решение есть! IKEA, мебельный конгломерат, предлагает популярный инструмент для проектирования PAX wardrobe, который позволяет пользователям выбирать из множества готовых шкафов и настраивать их цвет, размер и дизайн интерьера. Нужно ли вам место для вешалок, несколько полок или внутренние ящики - эта интеллектуальная система настройки гардероба всегда сможет удовлетворить ваши потребности.

Чтобы найти или создать свой идеальный шкаф с помощью этой интеллектуальной системы проектирования шкафов, вам необходимо:

  1. Указать основные требования - форму (обычная, L-образная или U-образная), длину и глубину шкафа.
  2. Указать потребности в хранении и внутренней организации гардероба (например, необходимо место для вешалок, выдвижная полка для брюк и т.д.).
  3. Добавьте или уберите такие элементы гардероба, как ящики или полки.

После этого ваш дизайн будет завершен. Просто и легко!

pax system система pax

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

Перейти к:

Обзор системы

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

Customization tool overview Обзор инструмента настройки

Для обработки сгенерированных векторов нам понадобятся мощные векторные базы данных и поисковые системы.

tool architecture Архитектура инструмента

Инструмент настройки использует некоторые из самых популярных поисковых систем и баз данных: Elasticsearch, Milvus и PostgreSQL.

Почему именно Milvus?

Компонент гардероба содержит очень сложную информацию, такую как цвет, форма, внутренняя организация и т. д. Однако традиционного способа хранения данных о гардеробе в реляционной базе данных далеко не достаточно. Популярным способом является использование методов встраивания для преобразования гардеробов в векторы. Поэтому необходимо искать новый тип базы данных, специально предназначенный для хранения векторов и поиска сходств. После изучения нескольких популярных решений за отличную производительность, стабильность, совместимость и простоту использования была выбрана векторная база данных Milvus. В таблице ниже представлено сравнение нескольких популярных решений для поиска векторов.

solution comparison сравнение решений

Рабочий процесс системы

System workflow Рабочий процесс системы

Elasticsearch используется для грубой фильтрации по размеру гардероба, цвету и т. д. Затем отфильтрованные результаты проходят через векторную базу данных Milvus для поиска по сходству, и результаты ранжируются на основе их расстояния/сходства с вектором запроса. Наконец, результаты консолидируются и уточняются на основе бизнес-интуиции.

Поток данных

Система настройки гардероба очень похожа на традиционные поисковые системы и системы рекомендаций. Она состоит из трех частей:

  • Оффлайн-подготовка данных, включая определение и генерацию данных.
  • Онлайн-сервисы, включая поиск и ранжирование.
  • Постобработка данных на основе бизнес-логики.

Data flow Поток данных

Поток данных в автономном режиме

  1. Определите данные с помощью бизнес-логики.
  2. Используйте предыдущие знания, чтобы определить, как объединить различные компоненты и сформировать их в гардероб.
  3. Распознайте метки характеристик шкафов и закодируйте их в данные Elasticsearch в файле .json.
  4. Подготовьте данные для отзыва, закодировав неструктурированные данные в векторы.
  5. Используйте векторную базу данных Milvus для ранжирования отозванных результатов, полученных на предыдущем этапе.

offline data flow автономный поток данных

Онлайн-поток данных

  1. Получение запросов от пользователей и сбор профилей пользователей.
  2. Понять запрос пользователя, определив его требования к гардеробу.
  3. Грубый поиск с помощью Elasticsearch.
  4. Оценка и ранжирование результатов, полученных в результате грубого поиска, на основе расчета векторного сходства в Milvus.
  5. Постобработка и систематизация результатов на внутренней платформе для получения окончательных результатов.

online data flow поток данных онлайн

Постобработка данных

Бизнес-логика в каждой компании разная. Вы можете добавить последний штрих к результатам, применив бизнес-логику вашей компании.

Демонстрация работы системы

Теперь давайте посмотрим, как на самом деле работает созданная нами система.

Пользовательский интерфейс (UI) отображает возможность различных комбинаций компонентов гардероба.

Каждый компонент маркируется по его характеристикам (размер, цвет и т. д.) и хранится в Elasticsearch (ES). При хранении меток в ES необходимо заполнить четыре основных поля данных: ID, метки, путь хранения и другие вспомогательные поля. ES и данные с метками используются для гранулярного отзыва и фильтрации по атрибутам.

es es

Затем различные алгоритмы ИИ используются для кодирования гардероба в набор векторов. Наборы векторов хранятся в Milvus для поиска и ранжирования по сходству. Этот этап позволяет получить более точные и четкие результаты.

Milvus Milvus

Elasticsearch, Milvus и другие компоненты системы в совокупности образуют платформу для проектирования персонализации. В качестве примера можно привести доменно-специфический язык (DSL) в Elasticsearch и Milvus.

dsl DSL

Ищете дополнительные ресурсы?

Узнайте, как векторная база данных Milvus может обеспечить работу большего количества приложений искусственного интеллекта:

Like the article? Spread the word

Продолжить чтение