algo-ecom-search について
ECサイト検索の関連性を、クエリ理解、検索、ランキング、表示の各段階から診断・改善するスキルです。検索チームが弱い段階を見つけ、検索指標を基に改善の優先順位を決められます。
主な機能
- 01検索パイプラインの4段階を監査
- 02スペル・同義語・意図を扱う
- 03検索とランキングの信号を確認
- 04ゼロ件率・CTR・NDCGを追跡
- 05優先順位付きの提案を作成
活用シーン
- 01検索結果の関連性問題の診断
- 02ゼロ件検索の削減
- 03クエリ処理改善の計画
- 04指標による検索変更の評価
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ asgard-ai-platform/ skills --skill algo-ecom-searchインストール後、Claude Code で/algo-ecom-searchを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
examples/sample_scenario.mdreferences/query-pipeline.mdrelevance-evaluation.md詳細
Eコマース検索の関連性
概要
Eコマース検索は、クエリ理解 → 検索 → ランキング → 表示というパイプラインです。各段階が関連性に影響します。最適化するには、単一のコンポーネントを調整するだけでなく、どの段階に問題があるかを診断する必要があります。ゼロ件率、クリック率、カート追加率が重要な指標です。
使用する場面
トリガー条件:
- 検索結果がユーザーの期待に沿わない理由を診断する場合
- クエリ処理機能(スペルチェック、同義語、意図検出)を実装する場合
- ゼロ件検索を減らし、コンバージョンを改善する場合
使用しない場面:
- ランキングアルゴリズムの設計のみを行う場合(Eコマースランキングスキルを使用)
- テキストの関連性スコアリングのみを行う場合(BM25を使用)
アルゴリズム
IRON LAW: Search Quality Is Determined by the WEAKEST Pipeline Stage
Query understanding, retrieval, ranking, and presentation are sequential.
Perfect ranking cannot fix bad retrieval (missing products). Perfect
retrieval cannot fix bad query understanding (wrong intent). Diagnose
which stage fails FIRST before optimizing.
フェーズ 1:入力の検証
現在の検索を監査します。検索数に基づいてクエリを100件サンプリングします。それぞれについて、クエリ理解(意図を正しく把握しているか?)、検索(候補セットに関連商品が含まれているか?)、ランキング(最適な商品が上位にあるか?)、表示(有用な形で表示されているか?)を評価します。 ゲート: 弱点がパイプラインの特定の段階に特定されていること。
フェーズ 2:コアアルゴリズム
クエリ理解: 1. スペル修正(編集距離、n-gram)。2. 同義語の拡張(earbuds↔earphones)。3. 意図の分類(商品検索、ブランド検索、カテゴリ閲覧)。4. クエリの書き換え(属性抽出:「red shoes size 10」→ color:red、category:shoes、size:10)。
検索の最適化: 1. 複数フィールド検索(タイトル、説明、ブランド、カテゴリ、SKU)。2. ブースト戦略(タイトルの一致 > 説明の一致)。3. フィルターとブーストの使い分け(ハード制約:カテゴリ、在庫状況。ソフトシグナル:人気度)。
結果の品質: 1. ゼロ件の場合のフォールバック(クエリを緩和し、代替候補を提案)。2. ファセットナビゲーション(価格、ブランド、評価によるフィルター)。3. もしかして候補。
フェーズ 3:検証
測定項目:ゼロ件率(目標 <5%)、1ページ目のCTR(目標 >30%)、評価済みクエリでのNDCG。 ゲート: 主要指標がベースラインから改善していること。
フェーズ 4:出力
優先順位を付けた改善案を含む検索監査を返します。
出力形式
{
"audit": {"zero_result_rate": 0.08, "avg_ctr": 0.25, "top_failing_queries": ["earbuds wireless", "gift ideas"]},
"recommendations": [{"stage": "query_understanding", "issue": "no_synonym_expansion", "impact": "high", "fix": "Add earbuds↔earphones synonym"}],
"metadata": {"queries_sampled": 100, "period": "2025-Q1"}
}
例
入出力例
入力: スペルミスのある「wireles earbud」で検索すると、結果が0件 期待される結果: スペル修正 → 「wireless earbuds」→ 関連商品を表示。推奨事項:スペル修正を実装します。
エッジケース
| 入力 | 期待される結果 | 理由 |
|---|---|---|
| カテゴリのみのクエリ(「shoes」) | 閲覧意図として扱い、人気商品を表示 | 特定の商品を探すクエリではないため |
| ブランド名のスペルミス | あいまい検索によるブランド照合 | 「Nikee」→「Nike」 |
| ロングテールクエリ(「blue cotton v-neck t-shirt men XL」) | 属性の解析が必要 | 自由テキストに複数の構造化属性が含まれるため |
注意点
- 同義語の管理:同義語リストは継続的に整理する必要があります。「AirPods」はブランドであり、「earbuds」の同義語ではありません。不適切な同義語は適合率を損ないます。
- 過剰な再現率:同義語の積極的な拡張やあいまい検索によって、関連性のない結果が多く返されます。再現率(すべてを見つけること)と適合率(関連するものだけを返すこと)のバランスを取ってください。
- 言語固有の課題:中国語検索では単語分割が必要です。「皮鞋」(革靴)は「拖鞋」(スリッパ)と「鞋」を共有していても、一致させるべきではありません。
- 検索分析は不可欠です:クエリ単位のCTR、ゼロ件クエリ、コンバージョン率を追跡しなければ、手探りで最適化することになります。
- 検索のA/Bテストは難しい:検索の変更はすべてのクエリに影響します。改善するものもあれば、悪化するものもあります。集計指標に加えて、クエリタイプ別に分類した指標も測定してください。
参考資料
- クエリ理解パイプラインのアーキテクチャについては、
references/query-pipeline.mdを参照してください - 検索関連性の評価手法については、
references/relevance-evaluation.mdを参照してください