数百万SKUに対応するAI駆動の属性ソートパイプライン構築の舞台裏。数百万SKUに対応するAI駆動の属性ソートパイプライン構築の舞台裏。

ECサイトで大規模に不整合な属性値をAIで修正した方法

Eコマースの拡張について語る際、人々は大規模なエンジニアリング課題に注目します。分散検索、リアルタイム在庫管理、レコメンデーションエンジン、チェックアウト最適化などです。しかし、その裏には、ほぼすべての小売業者が苦労している、より静かで根強い問題が潜んでいます。それは属性値です。

属性は商品発見の基盤です。フィルター、比較、検索ランキング、レコメンデーションロジックを支えています。しかし実際のカタログでは、属性値がきれいに整理されていることはほとんどありません。一貫性がなく、重複し、形式が間違っていたり、意味的に曖昧だったりします。

サイズのような単純なものを例にとってみましょう。次のようなものが見られます:

Code

["XL", "Small", "12cm", "Large", "M", "S"]

または:

Code

["RAL 3020", "Crimson", "Red", "Dark Red"]

個別に見ると、これらの不一致は無害に見えます。しかし、それぞれに数十の属性を持つ300万以上のSKUに掛け合わせると、問題は体系的になります。フィルターが予測不能に動作し、検索エンジンが関連性を失い、マーチャンダイザーは手動クリーンアップに溺れ、商品発見は顧客にとってより遅く、よりイライラするものになります。

これは、Zoroのフルスタックソフトウェアエンジニアとして私が直面した課題であり、見落としがちながらもすべての商品ページに影響を与える問題でした。

私のアプローチ:ハイブリッドAIと決定論的手法の融合

私は単に物事を並べ替えるだけの謎めいたブラックボックスAIは望みませんでした。そのようなシステムは信頼、デバッグ、拡張が困難です。代わりに、私は次のようなパイプラインを目指しました:

  • 説明可能
  • 予測可能
  • 拡張可能
  • 人間が制御可能

その結果、LLMからの文脈的推論と明確なルールおよびマーチャンダイザーの制御を組み合わせたハイブリッドAIパイプラインが生まれました。必要に応じて賢く動作しますが、常に予測可能な状態を保ちます。これは制御不能なAIではなく、ガードレール付きのAIです。

バックグラウンドジョブ:スループットのために構築

すべての属性処理は、リアルタイムではなくオフラインのバックグラウンドジョブで行われます。これは妥協ではなく、戦略的なアーキテクチャの選択でした。

リアルタイムパイプラインは魅力的に聞こえますが、Eコマースの規模では次のような問題が発生します:

  • 予測不可能なレイテンシー
  • 脆弱な依存関係
  • 高価なコンピューティングスパイク
  • 運用上の脆弱性

一方、オフラインジョブは次のメリットをもたらしました:

  • 高スループット:ライブシステムに影響を与えることなく大量のバッチを処理
  • 回復性:障害が顧客トラフィックに影響を与えることはない
  • コスト管理:低トラフィック時にコンピューティングをスケジュール可能
  • 分離:LLMのレイテンシーが商品ページに影響を与えない
  • 一貫性:更新がアトミックで予測可能

数百万のSKUを扱う際、顧客向けシステムとデータ処理パイプラインを分離しておくことは不可欠です。

クリーニングと正規化

データにAIを使用する前に、ノイズと混乱を取り除くための明確な前処理ステップを実行しました。このステップはシンプルに聞こえるかもしれませんが、LLMの推論を大幅に改善しました。

クリーニングパイプラインには次のものが含まれます:

  • 空白のトリミング
  • 空の値の削除
  • 値の重複排除
  • カテゴリーブレッドクラムを文脈文字列にフラット化

これにより、LLMがクリーンで明確な入力を受け取ることが保証され、これが一貫した結果の鍵となります。ゴミを入れればゴミが出る。この規模では、小さなエラーでも後で大きな問題につながる可能性があります。

コンテキスト付きLLMサービス

LLMは単にアルファベット順に値を並べ替えるだけではありませんでした。それらについて推論していました。

サービスは次を受け取りました:

  • クリーニングされた属性値
  • カテゴリーブレッドクラム
  • 属性メタデータ

この文脈により、モデルは次を理解できました:

  • 電動工具の「電圧」は数値である
  • 衣類の「サイズ」は既知の進行に従う
  • 塗料の「色」はRAL規格に従う可能性がある
  • ハードウェアの「材料」には意味的な関係がある

モデルは次を返しました:

  • 注文された値
  • 洗練された属性名
  • 決定:決定論的または文脈的順序付け

これにより、パイプラインはすべてのカテゴリーに対してルールをハードコーディングすることなく、異なる属性タイプを処理できます。

決定論的フォールバック

すべての属性にAIが必要なわけではありません。

実際、多くの属性は決定論的ロジックでより適切に処理されます。

数値範囲、単位ベースの値、単純なセットは、多くの場合次のメリットがあります:

  • より高速な処理
  • 予測可能な順序付け
  • より低いコスト
  • 曖昧さゼロ

パイプラインはこれらのケースを自動的に検出し、それらに決定論的ロジックを使用しました。これによりシステムが効率的に保たれ、不要なLLM呼び出しが回避されました。

手動 vs LLMタギング

マーチャンダイザーは、特にビジネス上重要な属性について、依然として制御が必要でした。

そのため、各カテゴリーは次のようにタグ付けできました:

  • LLM_SORT — モデルに決定させる
  • MANUAL_SORT — マーチャンダイザーが注文を定義

このデュアルタグシステムにより、AIがほとんどの作業を行う一方で、人々が最終決定を下すことができます。また、マーチャンダイザーがパイプラインを壊すことなく必要に応じてモデルを上書きできるため、信頼が構築されました。

永続性と制御

すべての結果は製品MongoDBデータベースに直接保存され、アーキテクチャがシンプルで集中化されました。

MongoDBは次の単一運用ストアになりました:

  • ソートされた属性値
  • 洗練された属性名
  • カテゴリーレベルのソートタグ
  • 製品レベルのsortOrderフィールド

これにより、変更のレビュー、値の上書き、カテゴリーの再処理、他のシステムとの同期が容易になりました。

検索統合

ソート後、値は次に流れ込みました:

  • キーワード駆動検索用のElasticsearch
  • セマンティックおよびベクトルベース検索用のVespa

これにより次が保証されました:

  • フィルターが論理的な順序で表示される
  • 製品ページが一貫した属性を表示
  • 検索エンジンが製品をより正確にランク付け
  • 顧客がカテゴリーをより簡単に閲覧可能

検索は属性ソートが最も目に見える場所であり、一貫性が最も重要な場所です。

アーキテクチャの概要

数百万のSKUにわたってこれを機能させるために、バックグラウンドジョブ、AI推論、検索統合を中心に構築されたモジュラーパイプラインを設計しました。以下のアーキテクチャ図は完全なフローを捉えています:

  • 製品データは製品情報システムから入力される
  • 属性抽出ジョブが属性値とカテゴリーコンテキストを取得
  • これらはAIソートサービスに渡される
  • 更新された製品ドキュメントが製品MongoDBに書き込まれる
  • アウトバウンド同期ジョブが製品情報システムをソート順で更新
  • ElasticsearchとVespa同期ジョブがソートされたデータをそれぞれの検索システムにプッシュ
  • APIサービスがElasticsearchとVespaをクライアントアプリケーションに接続

このフローにより、AIでソートされたか手動で設定されたかに関わらず、すべての属性値が検索、マーチャンダイジング、顧客体験に反映されることが保証されます。

実際のソリューション

混乱した値がどのように変換されたかを次に示します:

| Attribute | Raw Values | Ordered Output | |----|----|----| | Size | XL, Small, 12cm, Large, M, S | Small, M, Large, XL, 12cm | | Color | RAL 3020, Crimson, Red, Dark Red | Red, Dark Red, Crimson, Red (RAL 3020) | | Material | Steel, Carbon Steel, Stainless, Stainless Steel | Steel, Stainless Steel, Carbon Steel | | Numeric | 5cm, 12cm, 2cm, 20cm | 2cm, 5cm, 12cm, 20cm |

これらの例は、パイプラインが文脈的推論と明確なルールを組み合わせて、クリーンで理解しやすいシーケンスを作成する方法を示しています。

リアルタイム処理ではなくオフラインジョブを使用する理由

リアルタイム処理では次が導入されていたでしょう:

  • 予測不可能なレイテンシー
  • より高いコンピューティングコスト
  • 脆弱な依存関係
  • 運用の複雑性

オフラインジョブは次をもたらしました:

  • バッチ効率
  • 非同期LLM呼び出し
  • リトライロジックとエラーキュー
  • 人間のレビューウィンドウ
  • 予測可能なコンピューティング支出

トレードオフは、データ取り込みと表示の間のわずかな遅延でしたが、メリットは規模での一貫性であり、顧客はこれをはるかに重視しています。

影響

結果は重要でした:

  • 300万以上のSKUにわたる一貫した属性順序付け
  • 決定論的フォールバックによる予測可能な数値ソート
  • 手動タグ付けによるマーチャンダイザー制御
  • よりクリーンな製品ページとより直感的なフィルター
  • 検索関連性の向上
  • より高い顧客信頼とコンバージョン

これは単なる技術的な勝利ではありませんでした。ユーザー体験と収益の勝利でもありました。

学んだ教訓

  • ハイブリッドパイプラインは規模で純粋なAIを上回ります。ガードレールは重要です。
  • コンテキストはLLMの精度を劇的に向上させます
  • オフラインジョブはスループットと回復性に不可欠です
  • 人間の上書きメカニズムは信頼と採用を構築します
  • クリーンな入力は信頼性の高いAI出力の基盤です

最後に

属性値のソートはシンプルに聞こえますが、数百万の製品に対して行う必要がある場合、真の課題となります。

LLMインテリジェンスと明確なルールおよびマーチャンダイザー制御を組み合わせることで、複雑で隠された問題をクリーンでスケーラブルなシステムに変換しました。

これは、最大の勝利の一部は、退屈な問題、見逃しやすいが、すべての製品ページに表示される問題を解決することから来ることを思い出させてくれます。

\n \n \n

市場の機会
Sleepless AI ロゴ
Sleepless AI価格(AI)
$0.03857
$0.03857$0.03857
+0.67%
USD
Sleepless AI (AI) ライブ価格チャート
免責事項:このサイトに転載されている記事は、公開プラットフォームから引用されており、情報提供のみを目的としています。MEXCの見解を必ずしも反映するものではありません。すべての権利は原著者に帰属します。コンテンツが第三者の権利を侵害していると思われる場合は、削除を依頼するために service@support.mexc.com までご連絡ください。MEXCは、コンテンツの正確性、完全性、適時性について一切保証せず、提供された情報に基づいて行われたいかなる行動についても責任を負いません。本コンテンツは、財務、法律、その他の専門的なアドバイスを構成するものではなく、MEXCによる推奨または支持と見なされるべきではありません。