Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
BDS18___Machine_learning_for_product_matching__...
Search
Alicia Pérez Jiménez
December 05, 2018
Technology
97
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
BDS18___Machine_learning_for_product_matching__the_fashion_use_case.pdf
Alicia Pérez Jiménez
December 05, 2018
More Decks by Alicia Pérez Jiménez
See All by Alicia Pérez Jiménez
Que la generación Z no rompa tus modelos @T3chDays
aliciapj
0
120
Introducción al Machine Learning - 11F
aliciapj
0
110
Que la generación Z no rompa tus modelos @PyConEs19
aliciapj
0
230
The bad guys in AI: Atacando sistemas de Machine Learning @T3chFest 2019
aliciapj
0
130
Data Konferences - KSchool 2018
aliciapj
0
130
Django Girls Madrid - Cierre
aliciapj
0
140
PyLadiesMadrid: Py-Píldoras para tratar tu Open Data
aliciapj
0
170
Geodjango y geoprocesamiento con Python
aliciapj
0
130
Beautiful python - PyLadies
aliciapj
0
180
Other Decks in Technology
See All in Technology
AI Agent入門〜今更聞けないAgentの話〜
hiromimaganuma
0
120
Datadog で始める トークンセーフティなAI 導⼊と定着
vkbaba
1
110
AIに書かせて、プラットフォームで縛る ― EKSプラットフォームで実践した責任境界と権限設計
elmodev09
0
640
Azure Serverless 2026:Production-ready な AI エージェント基盤 / Azure Serverless 2026: Production-Ready AI Agent Platform
miyake
2
620
技術的負債から考える、AI時代のエンジニアリング投資 — ビズリーチの技術的負債と向き合った経験から、変更し続けられるソフトウェアを考える/ technical-debt-con2026
visional_engineering_and_design
4
3.9k
What the customer really needed
kawaguti
PRO
3
230
顧客に向き合う開発組織へ。リアーキテクチャとフィーチャーチーム化で挑む組織改革
safie
0
2.5k
.NET WebAssemblyで実現するクライアントサイドAI推論:NuGetからViteまで、2つのエコシステムを繋ぐビルド戦略
yamachu
1
910
音声コミュニティを守るAI監視基盤_ 90%以上の入力削減を支えたServerless設計と運用判断
shuheioka123
0
110
プラットフォームを「作る」、 チームに「入り込む」
sansantech
PRO
0
200
ADKで始める業務改善 - AIエージェント開発時の考えと設計
harappa80
2
290
「どのログを見ればいい?」 から始めた サーバーレス障害解析
y_waka1
1
150
Featured
See All Featured
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
490
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
5
740
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
370
Abbi's Birthday
coloredviolet
4
10k
The Invisible Side of Design
smashingmag
301
52k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
710
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
510
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
68
58k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
470
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
300
Transcript
ML FOR PRODUCT MATCHING The fashion use case Javier Ordóñez
| @fjordonz Alicia Pérez | @alipeji
StyleSage Powering retail’s speed-to-market with AI Assortment Pricing Promotions Trends
Data Science @StyleSage 400,000,000 products + 1,000,000 new per week
Image Recognition NLP Time Series
Data Science @StyleSage 400,000,000 products + 1,000,000 new per week
Image Recognition NLP Time Series
Product matching The Gate’s prediction
None
PRODUCT MATCHING Definition
PRODUCT MATCHING images
PRODUCT MATCHING text
GOALS prices
GOALS prices
GOALS assortment
GOALS organized inventory ??
Universal identifiers (UPC, GTIN, ISBN, etc) could work
In fashion business, in very rare occasions we have a
barcode :( Universal identifiers (UPC, GTIN, ISBN, etc) could work
The barcode role
None
None
Product matching ≠ Product similarity
1. Standard taxonomies Comparing apples with apples
Unstructured data
Unstructured data
Unstructured data
Image based classifier
Jackets Shoes Dresses ? ? ? Classifying products
0.90 dresses 0.08 t-shirt 0.02 jacket Deep neural networks
Attribute extraction from image Category: Dress
Attribute extraction from image Category: Dress Color: Red
Attribute extraction from image Category: Dress Print: Floral Color: Red
Attribute extraction from image Category: Dress Print: Floral Color: Red
Sleeve: Short
Attribute extraction from image Category: Dress Print: Floral Color: Red
Sleeve: Short Length: Medium
Attribute extraction from image Category: Dress Print: Floral Color: Red
Sleeve: Short Length: Medium Neck: Turtle
Attribute extraction from image Category: Dress Print: Floral Color: Red
Sleeve: Short Length: Medium Neck: Turtle Type: Day
Attribute extraction from image Category: Dress Print: Floral Color: Red
Sleeve: Short Length: Medium Neck: Turtle Type: Day Ruffles: No
Attribute extraction from image Category: Dress Print: Floral Color: Red
Sleeve: Short Length: Medium Neck: Turtle Type: Day Ruffles: No
Attribute extraction from image Category: Dress Print: Floral Color: Red
Sleeve: Short Length: Medium Neck: V Type: Day Ruffles: No
Attribute extraction from image Category: Dress Print: Floral Color: Red
Sleeve: Short Length: Medium Neck: V Type: Day Ruffles: No
Is this a match?
Category: Dress Print: Polka dots Print: Polka dots
Category: Dress Sequins: No Sleeve: Long Print: Polka dots Sleeve:
Long Print: Polka dots
Category: Dress Sleeve: Long Sequins: No Length: Long Sleeve: Long
Print: Polka dots Length: Long Sleeve: Long Print: Polka dots
Color: #0f1719 Category: Dress Sleeve: Long Sequins: No Category: Dress
Length: Long Sleeve: Long Print: Polka dots Category: Dress Length: Long Sleeve: Long Print: Polka dots
Color: #0f1719 Category: Dress Sleeve: Long Print: Polka dots Sequins:
No Category: Dress Length: Long Ruffles: Yes Sleeve: Long Print: Polka dots Category: Dress Length: Long Sleeve: Long Print: Polka dots
Color: #0f1719 Category: Dress Sleeve: Long Print: Polka dots Sequins:
No Neck: Turtle Color: #0f1719 Category: Dress Length: Long Ruffles: Yes Sleeve: Long Print: Polka dots Color: #0f1719 Category: Dress Length: Long Sleeve: Long Print: Polka dots
Color: #0f1719 Category: Dress Length: Long Sleeve: Long Print: Polka
dots Sequins: No Neck: Turtle Color: #0f1719 Category: Dress Length: Long Ruffles: Yes Sleeve: Long Print: Polka dots Neck: Turtle Color: #0f1719 Category: Dress Length: Long Sleeve: Long Print: Polka dots Neck: Turtle
Color: #0f1719 Category: Dress Length: Long Ruffles: Yes Sleeve: Long
Print: Polka dots Sequins: No Neck: Turtle Color: #0f1719 Category: Dress Length: Long Sleeve: Long Print: Polka dots Sequins: No Neck: Turtle Color: #0f1719 Category: Dress Length: Long Ruffles: Yes Sleeve: Long Print: Polka dots Sequins: No Neck: Turtle Color: #0f1719 Category: Dress Length: Long Sleeve: Long Print: Polka dots Sequins: No Neck: Turtle
None
It’s not always so easy... Which is the product?
It’s not always so easy... Pant or pijama? Which is
the product?
It’s not always so easy... Pant or pijama? Which is
the product? Product or detail?
Text based classifier
Text based classifier
Text based classifier
Text processing Practical sophisticated this season hot trend jacket .
. String to vector Hashes Label
It’s not always so easy... Title / Description is often
ambiguous and low granularity Puffer or Bomber Jacket?
It’s not always so easy... Title / Description is often
ambiguous and low granularity Different spellings of the same things spandex = elastane? Underarmour = Under Armour? XXL = 2XL? Blue = Sky?
It’s not always so easy... Title / Description is often
ambiguous and low granularity Different spellings of the same things Inconsistent languages and missing data
From the web to the taxonomy
From the web to the taxonomy
From the web to the taxonomy
… and now we can compare
… and now we can compare
2. Feeding the algorithm What are our instances and features
Defining a match is...
Defining a match is... ≠
Defining a match is... = ≠
= ≠ … a supervised binary classification task Defining a
match is...
Defining a match is... … a supervised binary classification task
match not match
Standard characteristics Neck: V Sleeve: Short Occasion: Evening Occasion: Day
Casual Sleeve: Sleeveless Neck: V
Text similarity Neck: V Sleeve: Short Occasion: Evening Occasion: Day
Casual Sleeve: Sleeveless Neck: V
Text similarity Practical sophisticated this season hot trend jacket .
. Dot product Euclidean Manhattan Cosine
Color similarity Neck: V Sleeve: Short Occasion: Evening Occasion: Day
Casual Sleeve: Sleeveless Neck: V
Color density from image #191970
Color density from image #191970 Color name normalization Midnight blue
= Dark blue
Color density from image #191970 Color name normalization Midnight blue
= Dark blue Color code dictionary Dark blue = #191970
CIELAB ΔE* The International Commission on Illumination (CIE) calls their
distance metric ΔE*
Material similarity Neck: V Sleeve: Short Occasion: Evening Occasion: Day
Casual Sleeve: Sleeveless Neck: V
rayon viscose lyocell rayon viscose lyocell polyester latex goretex polyurethane
polyester latex goretex polyurethane Rayon based Synthetic
rayon viscose lyocell rayon viscose lyocell polyester latex goretex polyurethane
polyester latex goretex polyurethane Rayon based Synthetic 17% 0% 100% 100%
Attribute similarity Neck: V Sleeve: Short Occasion: Evening Occasion: Day
Casual Sleeve: Sleeveless Neck: V
It’s not always so easy... Category: Dress Length: Long Ruffles:
No Print: Solid Sequins: No Neck: V Sleeve: Short Occasion: Evening
Occasion: Day Casual Category: Dress Length: Short Ruffles: No Sleeve:
Sleeveless Print: Solid Sequins: No Neck: V Category: Dress Length: Midi Ruffles: No Print: Solid Sequins: No Neck: V Sleeve: Short Occasion: Evening
Sleeve: Short Similarity sorting heuristics Sleeve: Long Sleeve: Sleeveless Sleeve:
Strapless
Sleeve: Short Sleeve: Long Sleeve: Sleeveless Sleeve: Strapless 0.88 0.80
Similarity sorting heuristics
Image similarity Neck: V Sleeve: Short Occasion: Evening Occasion: Day
Casual Sleeve: Sleeveless Neck: V
0.82 SIAMESE NEURAL NETWORK
0.79 0.82 0.91 0.54 0.91 0.99 1.0 0.13 0.86 0.76
0.98 0.82 0.88 0.78 Text Color Material Attributes Image
Features ... ... ... label Features ... ... ... label
Category: Dress
Category: Dress Missing pictures
Category: Dress Missing pictures Wrong extracted color
Category: Dress Missing pictures Wrong extracted color Unknown material
Category: Dress Missing pictures Wrong extracted color Unknown material Poor
attributes
Category: Dress 0.79 0.82 0.91 0.54 ... ... ... ...
... 0.76 ... ... ... ... Text Color Material Attributes Image
3. Model design The Choosing
None
None
None
WEAK LEARNERS
WEAK LEARNERS
WEAK LEARNERS ENSEMBLE MODEL
ENSEMBLE MODEL Robust model Missing features Unbalanced data Good first
approach XGBoost
4. Training Fantastic Matches and Where to Find Them
Data sources
Data sources
Data sources
Data sources
Data sources Semi-supervised approach match match match
5. Evaluating Proper metrics for proper unbalanced tasks
30% overlap
30% overlap 3 pairs are matches 97 pairs are not
matches
None
Accuracy = 12/15 = 80% not matches
matches
matches Precision Precision = ⅖ = 40%
matches Precision Precision = ⅖ = 40% Recall Recall =
⅔ = 66%
6. Deploying The Good, the Bad and the Ugly
Retailer 1 850,000 products Retailer 2 380,000 products 323,000,000,000 pairwise
combinations
Neck: V Sleeve: Short Occasion: Evening Occasion: Day Casual Sleeve:
Sleeveless Neck: V SCALING & CLUSTERING
Neck: V Sleeve: Short Occasion: Evening Occasion: Day Casual Sleeve:
Sleeveless Neck: V BRAND GENDER CATEGORY SCALING & CLUSTERING
SCALING & CLUSTERING
Heuristics & tips Very specific color names not matching Midnight
blue [Sea blue, Sky blue] vs Blue [Sad blue, Midnight blue]
Heuristics & tips Very specific color names not matching Very
precise material information not matching Polyester 97%, Cotton 3% vs Cotton 100%
Heuristics & tips Very specific color names not matching Very
precise material information not matching Very different prices not matching
Heuristics & tips Very specific color names not matching Very
precise material information not matching Very different prices not matching Very rare occasions we have a barcode Only the 5% !
Heuristics & tips Very specific color names not matching Very
precise material information not matching Very different prices not matching Very rare occasions we have a barcode Think at which level of category you define clusters Jeans is better than trousers Dresses is better than party dresses
Lessons Standard taxonomy is key
Lessons Tools are important Tools are important Standard taxonomy is
key
Lessons Tools are important Barcodes are scarce good features Standard
taxonomy is key
Lessons Tools are important More QA than expected Standard taxonomy
is key Barcodes are scarce good features
Lessons Tools are important More QA than expected Standard taxonomy
is key Features & data > Model Barcodes are scarce good features
ML FOR PRODUCT MATCHING The fashion use case
[email protected]
?
[email protected]