UPDATE: subcategories filtering, General rules updates

This commit is contained in:
pangkaicheng
2026-01-06 15:42:30 +08:00
parent e7ec547671
commit 9d6fbc92f1
9 changed files with 461 additions and 508 deletions

View File

@@ -15,7 +15,6 @@ FASHION_TAXONOMY = {
'blouses', # 女式衬衫
'polo shirts', # Polo衫
'tank tops', # 背心/坎肩
'camisoles', # 吊带背心
# --- Knits/Sweaters ---
'sweaters', # 毛衣 (泛指)
'cardigans', # 开衫
@@ -91,7 +90,7 @@ FASHION_TAXONOMY = {
CATEGORY_LIST = list(FASHION_TAXONOMY.keys())
ALL_SUBCATEGORY_LIST = sum(FASHION_TAXONOMY.values(), [])
IGNORE_SUBCATEGORY = ['socks', 'watches', 'hats']
IGNORE_SUBCATEGORY = ['socks', 'watches', 'hats', 'eyewear']
BRAND_WHITELIST = [
"ALAÏA",
@@ -130,4 +129,140 @@ BRAND_WHITELIST = [
"THOM BROWNE",
"THE FRANKIE SHOP",
"TOTEME",
]
]
OCCASION_CATEGORY_MAP = {
"Casual": {
"clothing": ["trousers", "pants", "jeans", "t-shirts", "tank tops", "polo shirts", "hoodies", "leggings", "shorts", "skirts"],
"shoes": ["sneakers", "flats", "boots"],
"bags": ["shoulder bags", "crossbody"],
"accessories": ["earrings", "necklaces", "bracelets", "rings"]
},
"Formal": {
"clothing": ["suits", "trousers", "shirts", "blazers", "skirts", "dresses", "coats"],
"shoes": ["formal shoes"],
"bags": [],
"accessories": ["ties", "earrings", "necklaces", "bracelets", "rings"]
},
"Activewear": {
"clothing": ["leggings", "tank tops", "pants", "joggers", "hoodies", "jackets"],
"shoes": ["sneakers"],
"bags": ["travel bags"],
"accessories": ["earrings", "bracelets"]
},
"Resort": {
"clothing": ["dresses", "shorts", "tank tops", "swimwear"],
"shoes": ["sandals"],
"bags": ["tote bags"],
"accessories": ["earrings", "necklaces", "bracelets", "rings", "scarves"]
},
"Evening": {
"clothing": ["dresses", "blazers", "coats"],
"shoes": ["heels"],
"bags": ["clutch bags"],
"accessories": ["earrings", "necklaces", "bracelets", "rings"]
},
"Outdoor": {
"clothing": ["jackets", "jeans", "sweaters"],
"shoes": ["boots"],
"bags": ["backpacks", "travel bags"],
"accessories": []
},
"Business / workwear": {
"clothing": ["trousers", "blouses", "blazers", "skirts"],
"shoes": ["formal shoes", "heels", "flats"],
"bags": ["tote bags", "shoulder bags"],
"accessories": []
},
"Cocktail / Semi-Formal": {
"clothing": ["dresses", "jumpsuits", "skirts", "blouses", "blazers", "coats"],
"shoes": ["heels"],
"bags": ["clutch bags", "shoulder bags"],
"accessories": ["earrings", "necklaces", "bracelets", "rings", "scarves"]
},
"Black Tie / White Tie": {
"clothing": ["dresses", "suits"],
"shoes": ["formal shoes"],
"bags": ["clutch bags"],
"accessories": ["earrings", "necklaces", "bracelets", "rings"]
},
"Bridal / Wedding": {
"clothing": ["dresses", "suits"],
"shoes": ["heels", "formal shoes"],
"bags": ["clutch bags"],
"accessories": ["earrings", "necklaces", "bracelets", "rings"]
},
"Festival / Concert": {
"clothing": ["jackets", "shorts", "tank tops", "skirts"],
"shoes": ["boots"],
"bags": ["crossbody", "shoulder bags"],
"accessories": ["earrings", "necklaces", "bracelets", "rings"]
},
"Party / Clubbing": {
"clothing": ["jackets", "dresses", "skirts", "bodysuits"],
"shoes": ["heels", "boots"],
"bags": ["clutch bags"],
"accessories": []
},
"Travel / Transit": {
"clothing": ["joggers", "sweatshirts", "t-shirts", "hoodies", "sweaters", "jackets"],
"shoes": ["sneakers"],
"bags": ["backpacks", "travel bags", "tote bags"],
"accessories": []
},
"Athleisure": {
"clothing": ["leggings", "hoodies", "tank tops", "joggers", "jackets"],
"shoes": ["sneakers"],
"bags": ["travel bags", "tote bags"],
"accessories": ["earrings", "bracelets"]
},
"Beach / Swim": {
"clothing": ["swimwear", "shorts", "dresses"],
"shoes": ["sandals"],
"bags": ["tote bags"],
"accessories": ["earrings", "necklaces", "bracelets", "rings"]
},
"Ski / Snow / Mountain": {
"clothing": ["jackets", "coats", "sweaters", "hoodies", "pants"],
"shoes": ["boots"],
"bags": [],
"accessories": ["gloves"]
},
"Garden Party / Daytime Event": {
"clothing": ["dresses", "skirts", "blouses", "cardigans"],
"shoes": ["sandals"],
"bags": ["shoulder bags", "crossbody"],
"accessories": ["earrings", "necklaces", "bracelets", "rings"]
}
}
OCCASION_MATERIAL_MAP = {
"Casual": "Cotton, denim, jersey, fleece, relaxed fits, distressed textures.",
"Formal": "Wool, silk, crisp cotton, structured tailoring, cufflinks, leather soles.",
"Activewear": "Spandex, moisture-wicking synthetics, mesh, breathable fabrics, compression.",
"Resort": "Linen, crochet, chiffon, straw/raffia, tropical prints, breezy silhouettes.",
"Evening": "Silk, satin, velvet, sequins, lace, sheer panels, metallic finishes.",
"Outdoor": "Gore-Tex, fleece, down, wool, waterproof leather, corduroy, flannel.",
"Business / workwear": "Gabardine, crepe, silk blends, modest cuts, structured leather bags.",
"Cocktail / Semi-Formal": "Satin, crepe, lace details, ruffles, asymmetric hems, polished hardware.",
"Black Tie / White Tie": "Tulle, silk taffeta, fine wool, crystals, pearls, opera gloves.",
"Bridal / Wedding": "Chiffon, lace, silk, floral prints (for guests), pastel tones.",
"Festival / Concert": "Denim, fringe, leather, crochet, sequins, bold prints, band tees.",
"Party / Clubbing": "Sequins, leather/pleather, mesh, cut-outs, bodycon fits, latex.",
"Travel / Transit": "Cotton jersey, cashmere blends, stretch denim, soft knits, layers.",
"Athleisure": "Scuba fabric, tech fleece, rib-knit, clean lines, logo details.",
"Beach / Swim": "Lycra, terry cloth, linen, straw, quick-dry fabrics, sheer voile.",
"Ski / Snow / Mountain": "Down feathers, wool, thermal tech, faux fur, waterproof shells.",
"Garden Party / Daytime Event": "Floral prints, linen, eyelet lace, cotton poplin, gingham, straw accessories."
}
SUBCATEGORY_MERGE_MAP = {
"clutch bags": ["clutch bags", "shoulder bags"],
"shoulder bags": ["shoulder bags", "clutch bags"],
"crossbody": ["crossbody", "shoulder bags"],
"luggage": ["luggage", "backpacks", "travel bags"],
"jumpsuits": ["jumpsuits", "dresses"],
"bodysuits": ["bodysuits", "dresses"],
"suits": ["suits", "dresses"],
"pullovers": ["pullovers", "sweaters"],
}