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
98
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
120
Que la generación Z no rompa tus modelos @PyConEs19
aliciapj
0
240
The bad guys in AI: Atacando sistemas de Machine Learning @T3chFest 2019
aliciapj
0
140
Data Konferences - KSchool 2018
aliciapj
0
130
Django Girls Madrid - Cierre
aliciapj
0
150
PyLadiesMadrid: Py-Píldoras para tratar tu Open Data
aliciapj
0
180
Geodjango y geoprocesamiento con Python
aliciapj
0
130
Beautiful python - PyLadies
aliciapj
0
180
Other Decks in Technology
See All in Technology
TinyGoでオブザーバビリティ?OpenTelemetryはTinyGoで使えるのか / Is OpenTelemetry available in TinyGo environment?
ymotongpoo
2
140
実践!Cloud Run ハンズオン!! / Cloud Run handson
y0hgi
2
280
子育てエンジニアの可処分時間が減っても成長を諦めない戦い方
sudoakiy
6
4.6k
Claude の新機能を、 出た日に触って社内に届けるまで
rfdnxbro
1
170
Browser Spec: Testing Hotwire with Ruby
takahashim
1
120
AIにシークレットを見せない、WSL2で安全な開発環境
yazm
0
300
Active Record Connection Adaptersにおける長年の課題に再び取り組む
yahonda
0
150
WasmをRustにする
sansantech
PRO
0
250
NDIでApple Vision Proにリアルタイム映像送信
jyouryuusui
0
120
go-sqletch
moznion
0
140
パッチ更新でterraform initが落ちた日
grimoh
1
140
Running Kotlin + Quarkus with Lambda
nealle
1
3.7k
Featured
See All Featured
WCS-LA-2024
lcolladotor
0
890
Exploring anti-patterns in Rails
aemeredith
4
540
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2.2k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
1
630
It's Worth the Effort
3n
188
29k
Information Architects: The Missing Link in Design Systems
soysaucechin
1
1.2k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.6k
How Software Deployment tools have changed in the past 20 years
geshan
2
35k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
490
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
570
How to build a perfect <img>
jonoalderson
1
6.1k
30 Presentation Tips
portentint
PRO
1
430
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]