Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
BDS18___Machine_learning_for_product_matching__...
Search
Alicia Pérez Jiménez
December 05, 2018
Technology
93
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
110
Introducción al Machine Learning - 11F
aliciapj
0
110
Que la generación Z no rompa tus modelos @PyConEs19
aliciapj
0
220
The bad guys in AI: Atacando sistemas de Machine Learning @T3chFest 2019
aliciapj
0
130
Data Konferences - KSchool 2018
aliciapj
0
120
Django Girls Madrid - Cierre
aliciapj
0
140
PyLadiesMadrid: Py-Píldoras para tratar tu Open Data
aliciapj
0
160
Geodjango y geoprocesamiento con Python
aliciapj
0
120
Beautiful python - PyLadies
aliciapj
0
170
Other Decks in Technology
See All in Technology
Terraform共通モジュールをチーム横断で“変えられる”運用へ ― リリースと適用の分離
kekke_n
1
3.1k
Type-safe IaC for Dart
coborinai
0
110
ZOZOTOWNの進化と信頼性を両立する負荷試験
zozotech
PRO
2
170
そのドキュメント、自動化しませんか?
yuksew
1
230
知らん間に、回ってる
ming_ayami
0
680
AI Coding Agent時代のcdk-nagガードレール 〜組織ルールを強制CIで守り抜く設計の挑戦〜
mhrtech
3
320
「最後に責任を取るのはチーム」— 人間のPRレビューを最小化してアップデートしたメンタルモデル
jnishime_dresscode
0
820
「AIに依存している」と 「AIを使いこなしている」の違い
k8yasuma
0
100
大量データに対しても、生成AIを用いてリーズナブルにデータ加工をしたい!Databricksのai_queryについて調べてみた
kamoshika
1
210
関数型の考えを TypeScript に持ち込んで、テストしやすい純粋関数を増やす / Pure at the Core, Effects at the Edge: Bringing Functional Thinking into TypeScript
kaminashi
2
130
アカウントが増えてからでは遅い? ~ マルチアカウント統制の勘所 ~
kenichinakamura
0
240
誤解だらけの開発生産性 / Myths and Misconceptions about Developer Productivity
i35_267
2
740
Featured
See All Featured
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
220
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
380
[SF Ruby Conf 2025] Rails X
palkan
2
1.2k
How Software Deployment tools have changed in the past 20 years
geshan
0
34k
Producing Creativity
orderedlist
PRO
348
40k
The Curse of the Amulet
leimatthew05
2
13k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
490
The Cult of Friendly URLs
andyhume
79
6.9k
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
180
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
2
330
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.7k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
290
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]