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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
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
230
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
170
Geodjango y geoprocesamiento con Python
aliciapj
0
120
Beautiful python - PyLadies
aliciapj
0
170
Other Decks in Technology
See All in Technology
PdMをやめて、 "プロダクトビルダー"という 働き方に変えました / PdM to Product Builder
shikichee
2
680
生成AI時代の クレデンシャルとパーミッション設計
nrinetcom
PRO
3
1.5k
Kiro Crewしか勝たん!?
miu_crescent
PRO
0
170
多摩川(.dev)ランニング入門 / Tamagawa.dev#3
fujiwara3
3
320
振り返りこそエンジニアの本領
negima
0
260
はじめてのDatabricks:技術者向けワークショップ / beginner-workshop
databricksjapan
PRO
0
140
JAWS-UG初心者支部#88わいわい初心塾(夏休みの宿題やったかGit編)
otsuki
0
120
AI活用の現在地、 ちゃんと見えてますか?/XPfest-2026
visional_engineering_and_design
0
130
AI時代に、プロダクトの数だけ積み上がる所有コストをどうエンジニアリングするか / Engineering the Cost of Ownership
kzkmaeda
0
930
「重なり」は迎える側がつくる ― 人もAIエージェントも歓迎するプロダクトエンジニアリング ―
go0517go
PRO
0
220
Amazon S3 Tablesに全部任せてみた結果——コンパクション/スナップショット管理は本当に手放せるか
shigeruoda
0
320
KAEN Company Deck
kaen
PRO
0
290
Featured
See All Featured
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
220
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.2k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
260
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.6k
The browser strikes back
jonoalderson
0
1.6k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
640
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
490
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.8k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
3k
Between Models and Reality
mayunak
4
440
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]