product-attribute-normalizer
商品属性値(カラー・サイズ・素材・容量・産地・成分等)の表記揺れを正規化するスキル。「カラー名を統一して」「サイズ表記がバラバラ」「色名を整理」「素材表記の揺れ」「容量単位の統一」「属性値クレンジング」「絞り込み検索が効かない」「ブラックと黒が混在」「キャメルとブラウンを分けたい」「100mlと100ccの統一」など、属性値レベルでの値の正規化に対応。標準30色/アパレルサイズ/素材/容量・重量・寸法の単位、各モール属性スキーマに対応。※CSV全体の構造クレンジング(エンコーディング・空欄・重複等)は別スキル `ec-product-master-cleaner-jp`、SKU命名規則の設計は `sku-naming-rule-generator`、商品バリエーション軸設計は `variation-builder-jp`。 【ALSEL独自スキル】株式会社ALSEL が、19年・5,000社超の EC 支援で得たノウハウをもとに開発したオリジナルスキルです。
SKILL.md 本文
商品属性正規化スキル
概要
商品マスタの属性値(カラー・サイズ・素材・容量・寸法・産地・成分等)に発生する表記揺れを検出し、ブランド方針に従った統一表記に正規化する。検索絞り込み・モール属性スキーマ・バリエーション設計の品質を担保する基礎工程。
「ブラック/黒/クロ/BLACK/Black」のような表記揺れは絞り込み検索の精度を直接下げる。一方で「ブラウン/キャメル/チョコレート」のような色相が違うものを機械的に統合すると商品意味が崩れる。自動置換ではなく差分提示+例外候補確認のフローを徹底する。
★最重要原則
「揺れ統一」と「厳密に別の値の保持」を必ず分けて提示する。 カラーでは「ローズピンク/ベビーピンク/キャメル/サックス/ターコイズ/カーキ/オリーブ/ボルドー」等、色相・彩度が違う色名は別カラーとして保持する候補に必ず分類してユーザー判断を仰ぐ。
知識ベース
| トピック | 参照先 |
|---|---|
| カラー統一ルール(標準30色/揺れ候補マッピング/別色保持候補) | references/color-rules.md |
| サイズ統一ルール(アパレル/靴/寸法/数値サイズ) | references/size-rules.md |
| 素材統一ルール(綿/ポリエステル/革/配合率表記) | references/material-rules.md |
| 単位統一ルール(容量/重量/寸法/個数) | references/unit-rules.md |
| モール別属性スキーマ(楽天/Amazon/Yahoo!/Shopify/Google Merchant) | references/mall-attribute-schema.md |
| ジャンル別実例 | references/examples.md |
主要な要点のみ本ファイルに記載。詳細は references/ を参照。
処理フロー
Step 1:対象属性の特定
正規化対象の属性列を指定(カラー/サイズ/素材/容量/寸法/産地/成分 等)。
Step 2:現状値の集計
属性列の出現値を「値・件数・代表例」で集計:
カラー値別の出現回数
- ブラック:120件
- 黒:30件
- クロ:5件
- BLACK:12件
- ネイビー:80件
- 紺:15件
- キャメル:20件 ← 別色候補
- カーキ:35件 ← 別色候補
Step 3:揺れと別値の分類
references/color-rules.md 等のマッピング表に従い、以下に分類:
- 明確な揺れ:機械的に統一可(黒→ブラック、BLACK→ブラック)
- 別色保持候補:色相・彩度が違うため別値として残す(キャメル/カーキ/ボルドー等)
- 判断不能:ブランド方針確認が必要(「桃色」を「ピンク」と統合するか)
Step 4:差分提示
統一前後・件数・例外候補を表で提示:
| 統一前 | 統一後 | 件数 | 例外候補 |
|---|---|---|---|
| 黒/クロ/BLACK/Black | ブラック | 47件 | なし |
| 桃/桃色/PINK | ピンク | 30件 | ローズピンク/ベビーピンクは別途確認 |
| キャメル | (保持) | 20件 | 別色として残す |
Step 5:例外候補の確認
ユーザーに対して、以下を必ず問う:
- 「キャメル」「カーキ」「ボルドー」等の別色保持候補を統合するか保持するか
- 漢字色名(朱色/藍色/鶯色)を残すか(伝統工芸品・呉服等)
- ブランドの世界観で英語表記を残すか(「BLACK」「NAVY」)
Step 6:他属性の正規化(同じパターン)
- サイズ:「L L/LL/2L」→「LL」、全角→半角、メンズ/レディース/キッズで実寸列を別途持つ
- 素材:「コットン100%/cotton 100%/綿100%」→「綿 100%」、半角%統一、配合率フォーマット統一
- 容量:「100ml/100ミリリットル/100cc」→「100ml」(1cc=1mlとして統合)
- 寸法:「24cm/24.0cm/24センチ」→「24cm」、全角→半角
Step 7:モール属性スキーマへのマッピング
references/mall-attribute-schema.md 参照:
- 楽天:ジャンルID別の必須属性、カラー絞り込みはカタカナ統一推奨
- Amazon:variation_theme(color/size/color-size等)、属性値辞書がある一部カテゴリ
- Yahoo!ショッピング:スペック情報の必須項目
- Shopify:Option1/2/3 の3軸まで
- Google Merchant Center:color属性に同義語複数指定可能
Step 8:出力・反映時の注意
- 自動一括置換ではなく差分承認フロー
- バックアップ取得を必ず促す
- バリエーション軸として使う属性は統一前後で商品紐付けが崩れないか確認
代表例(差分提示)
例:アパレルブランドのカラー列正規化
現状(一部抜粋):
| 商品コード | カラー | 件数(同色記載) |
|---|---|---|
| TOP-001 | 黒 | 1 |
| TOP-002 | ブラック | 1 |
| TOP-003 | BLACK | 1 |
| BTM-001 | キャメル | 1 |
| BTM-002 | キャラメル | 1 |
| BTM-003 | ブラウン | 1 |
| ACC-001 | ローズピンク | 1 |
| ACC-002 | ピンク | 1 |
正規化案:
| 統一前 | 統一後 | 件数 | 例外候補 |
|---|---|---|---|
| 黒/ブラック/BLACK | ブラック | 3件 | なし(明確な揺れ) |
| キャメル/キャラメル | キャメル | 2件 | 「キャラメル」は明らかなタイポor別表記。「キャメル」に統合推奨 |
| ブラウン | (単独保持) | 1件 | キャメルとは別色として保持 |
| ピンク | (単独保持) | 1件 | ローズピンクとは別色 |
| ローズピンク | (単独保持) | 1件 | ピンクと統合せず別色保持 |
ユーザー確認事項:
- 「キャメル」を「ブラウン」に統合するか? → 保持推奨(黄味の茶で明確に別色)
- 「ローズピンク」を「ピンク」に統合するか? → 保持推奨(色相が異なる)
詳細なケース(サイズ/素材/容量)は references/examples.md 参照。
出力フォーマット
# 商品属性正規化:[属性名]
## 1. 集計サマリー
- 対象属性:(カラー/サイズ/素材/容量/寸法等)
- 出現値の種類数:
- 総レコード数:
## 2. 現状値の集計(上位N件)
| 値 | 件数 | 代表的なSKU |
|---|---:|---|
## 3. 統一マッピング(明確な揺れ)
| 統一前 | 統一後 | 件数 | 備考 |
|---|---|---:|---|
## 4. 別値保持候補(要ユーザー確認)
| 値 | 統合先候補 | 保持推奨理由 |
|---|---|---|
## 5. 判断不能・要ブランド方針確認
| 値 | 候補 | 確認内容 |
|---|---|---|
## 6. モール別属性スキーマ対応
| モール | 属性名 | 推奨表記 | 制約 |
|---|---|---|---|
## 7. 反映手順
1. バックアップ作成
2. 明確な揺れの一括置換
3. 別値保持候補の個別判断
4. バリエーション軸の整合確認
5. テストアップロード
## 8. 最終チェック
- [ ] バックアップを作成した
- [ ] 別値保持候補を全件確認した
- [ ] バリエーション軸として使う属性は商品紐付けの整合を確認した
- [ ] モール属性スキーマと整合する表記になっている
品質ゲート
- 「明確な揺れ」と「別値保持候補」を必ず分けて提示した
- 別値保持候補(キャメル/カーキ/ボルドー/ローズピンク等)を抜き出して個別確認を促した
- 漢字色名・英語表記・色番号運用などのブランド方針確認事項を明示した
- 単位統合(cc=ml、cm=センチ等)の暗黙ルールを明示した
- バリエーション軸として使われている属性は商品紐付けの整合確認を促した
- モール別属性スキーマ(必須属性・絞り込み連動)と整合する表記を提案した
- バックアップ取得+差分承認フローを明記した
エッジケース
- 「キャラメル」と「キャメル」 → タイポか別表記か判断が分かれる。多くは「キャメル」に統合可だが、ブランド固有の色名なら確認。
- 漢字色名(朱色/藍色/鶯色) → 伝統工芸品・呉服・和雑貨ではブランド世界観として保持。
- 色番号運用(PANTONE等) → 色番号は別列で管理。一般のカラー列とは分離。
- 100mlと100cc → 容量として等価(1cc = 1ml)だがカクテル・酒類・調味料では「cc」が定着している商品あり。
- メンズLとレディースLの実寸違い → サイズ列は「L」で揃えても、実寸列(バスト・胸囲)を別途持つ設計を推奨。
- 「Free」「フリーサイズ」 → 統一表記をブランド方針で決定。
注意事項
- 自動一括置換は元データの意図を破壊するリスク。必ず差分提示+承認フロー。
- バリエーション軸として使われている属性は、統一前後で商品紐付けが崩れないか事前確認。
- モール属性スキーマは変更されるため、最新の各モール公式ヘルプで確認。
- 「キャメル」「カーキ」等の別色保持候補はブランド方針で決定。一律ルールにしない。
references/ 一覧
references/color-rules.md— カラー統一ルール(標準30色・別色保持候補)references/size-rules.md— サイズ統一ルールreferences/material-rules.md— 素材統一ルールreferences/unit-rules.md— 単位統一ルールreferences/mall-attribute-schema.md— モール別属性スキーマreferences/examples.md— ジャンル別実例
参考公式情報源
- 楽天市場 RMS 商品属性ヘルプ
- Amazon Seller Central 属性辞書・カテゴリ別テンプレート
- Yahoo!ショッピング スペック情報ガイド
- Shopify Help Center Product options
- Google Merchant Center 商品データ仕様
ライセンス: MIT
詳細情報
- 作者
- 株式会社ALSEL
- ライセンス
- MIT
- 最終更新
- 2026/5/13