Milvus Vector Databaseを活用したインテリジェントなワードローブカスタマイズシステムの構築
カバー画像
寝室やフィッティングルームにぴったり合うワードローブを探しているなら、ほとんどの人がオーダーメイドのものを思い浮かべるに違いない。しかし、誰もがそこまで予算を伸ばせるわけではありません。では、既製品はどうだろう?このタイプのワードローブの問題点は、あなた独自の収納ニーズに応えるだけの柔軟性がないため、あなたの期待を下回る可能性が非常に高いということです。さらに、ネットで検索する場合、キーワードで探しているワードローブのタイプを要約するのはかなり困難です。検索ボックスに入力したキーワード(例:ジュエリートレー付きワードローブ)と、検索エンジンで定義されたキーワード(例:インサート付き引き出し式トレー付きワードローブ)は、まったく異なる可能性が高いのです。
しかし、新たなテクノロジーのおかげで、解決策がある!家具小売コングロマリットであるIKEAは、人気のデザインツールPAXワードローブを提供しており、ユーザーは既製品のワードローブの中から好きなものを選び、色やサイズ、インテリアデザインをカスタマイズすることができる。吊り下げスペースが必要でも、複数の棚が必要でも、内部の引き出しが必要でも、このインテリジェントなワードローブ・カスタマイズ・システムはいつでもあなたのニーズに応えることができる。
このスマートなワードローブデザインシステムを使って、理想的なワードローブを見つけたり、作ったりするには、以下のことが必要です:
- ワードローブの形状(ノーマル、L字型、U字型)、長さ、奥行きなどの基本的な条件を指定します。
- 収納の必要性とワードローブ内部の構成(例:吊り下げスペース、引き出し式パンツラックなどが必要)を指定します。
- 引き出しや棚など、ワードローブのパーツを追加または削除します。
これでデザインは完成です。シンプルで簡単です!
パックス・システム
このようなワードローブデザインシステムを可能にする非常に重要なコンポーネントは、ベクターデータベースです。そこでこの記事では、ベクトル類似検索を利用したインテリジェントなワードローブカスタマイズシステムを構築するために使用されるワークフローと類似検索ソリューションを紹介する。
ジャンプ
システム概要
このようなスマートなワードローブ・カスタマイズ・ツールを提供するためには、まずビジネス・ロジックを定義し、アイテムの属性とユーザー・ジャーニーを理解する必要があります。ワードローブは、引き出し、トレイ、ラックなどのコンポーネントとともに、すべて非構造化データです。そのため、第二段階として、AIアルゴリズムやルール、事前知識、アイテムの説明などを活用し、非構造化データをコンピューターが理解できるデータ、つまりベクトルに変換します!
カスタマイズツールの概要
生成されたベクトルを処理するには、強力なベクトル・データベースと検索エンジンが必要です。
ツール・アーキテクチャ
カスタマイズ・ツールは、最も人気のある検索エンジンとデータベースを活用しています:Elasticsearch、Milvus、PostgreSQLです。
なぜMilvusなのか?
ワードローブコンポーネントには、色、形、内部の構成など、非常に複雑な情報が含まれています。しかし、ワードローブデータをリレーショナルデータベースに保存する従来の方法では、十分とは言い難い。一般的な方法は、埋め込み技術を使用してワードローブをベクトルに変換することです。従って、ベクトル保存と類似性検索のために特別に設計された新しいタイプのデータベースを探す必要がある。いくつかの一般的な解決策を探った結果、優れたパフォーマンス、安定性、互換性、使いやすさを持つMilvusベクトルデータベースが選ばれた。以下のチャートは、いくつかの一般的なベクトル検索ソリューションの比較です。
ソリューション比較
システムワークフロー
システムワークフロー
Elasticsearchはワードローブサイズ、色などによる粗いフィルタリングに使用されます。次に、フィルタリングされた結果は類似性検索のためにベクトルデータベースのMilvusを通過し、クエリベクトルとの距離/類似性に基づいて結果がランク付けされます。最後に、結果は統合され、ビジネスの洞察に基づいてさらに改良される。
データの流れ
ワードローブ・カスタマイゼーション・システムは、従来の検索エンジンやレコメンダー・システムと非常によく似ている。それには3つの部分がある:
- データの定義と生成を含むオフラインのデータ準備。
- リコールとランキングを含むオンライン・サービス
- ビジネス・ロジックに基づくデータの後処理。
データの流れ
オフラインデータフロー
- ビジネス・インサイトを使用してデータを定義します。
- 事前知識を使用して、さまざまなコンポーネントを組み合わせてワードローブにする方法を定義します。
- ワードローブの特徴ラベルを認識し、その特徴を Elasticsearch のデータ
.json
ファイルにエンコードする。 - 非構造化データをベクトルにエンコードしてリコールデータを準備する。
- Milvusベクトルデータベースを使用して、前のステップで得られたリコール結果をランク付けする。
オフラインデータフロー
オンラインデータフロー
- ユーザーからのクエリーリクエストを受け取り、ユーザープロファイルを収集する。
- ワードローブに対する要求を特定することで、ユーザーのクエリを理解する。
- Elasticsearch を使って粗い検索を行う。
- Milvusのベクトル類似度の計算に基づいて、粗い検索から得られた結果をスコアリングし、ランク付けする。
- 最終結果を生成するために、バックエンドプラットフォーム上で結果を後処理し、整理する。
オンラインデータフロー
データの後処理
ビジネスロジックは各社様々です。貴社のビジネスロジックを適用することで、結果に最終的なタッチを加えることができます。
システムデモ
それでは、構築したシステムが実際にどのように機能するか見てみましょう。
ユーザーインターフェース(UI)は、ワードローブコンポーネントのさまざまな組み合わせの可能性を表示します。
各コンポーネントはその特徴(サイズ、色など)によってラベル付けされ、Elasticsearch(ES)に保存されます。ESにラベルを保存する際、記入すべき主なデータフィールドは4つある:ID、タグ、保存パス、その他のサポート・フィールドです。ESとラベル付けされたデータは、きめ細かい想起と属性フィルタリングに使用される。
ES
次に、ワードローブをベクトル・セットにエンコードするために、さまざまなAIアルゴリズムが使用される。ベクトルセットは類似性検索とランキングのためにmilvusに保存される。このステップにより、より洗練された正確な結果が得られる。
Milvus
Elasticsearch、Milvus、その他のシステムコンポーネントは全体としてカスタマイズデザインプラットフォームを形成している。思い起こせば、Elasticsearch と Milvus のドメイン固有言語(DSL)は以下の通りである。
DSL
より多くのリソースをお探しですか?
Milvusベクトルデータベースがどのようにしてより多くのAIアプリケーションをパワーアップできるかをご覧ください:
- システム概要
- データの流れ
- システムデモ
- より多くのリソースをお探しですか?
On This Page
Try Managed Milvus for Free
Zilliz Cloud is hassle-free, powered by Milvus and 10x faster.
Get StartedLike the article? Spread the word