SlideShare a Scribd company logo
WIFI SSID:Spark+AISummit | Password: UnifiedDataAnalytics
Retrieving visually similar
products for Shopping
Recommendations using Spark
and Tensorflow
Zhichao Zhong, Wehkamp
#UnifiedDataAnalytics #SparkAISummit
Agenda
● Introduction
● Implementation
○ Image embedding extraction
○ Similarity search
○ Pipeline overview
● Summary
Zhichao Zhong
● Data scientist @ wehkamp
● Ph.D. in applied mathematics @ CWI
the online department store for families in the
Netherlands
√
About wehkamp
> 400.000
products
> 500.000
daily visitors
€ 661 million
sales 18/19
67 years’
history
wehkamp: the online department store for families in the Netherlands.
11 million
packages
18/19
About wehkamp
1952 - first advertisement 1955 - first catalog 1995 - first steps online 2010 - completely online 2018 - mobile first
2019 -
a great shop
experience
the online department store for families in the
Netherlands
√
Data science at wehkamp
Use data science to improve the online shopping experience for customers.
Search ranking
Recommendation
system
Personalization
And many others ...
Visual similarity
Visuals are important for shopping, especially for fashion (our largest category).
People look at look-alike items when
shopping.
Visual similarity: to retrieve similar items based on images.
Visual similarity
8
Use case: to show substitutes for out-of-stock items in the look.
Use cases
9
Out of
stock
Substitute
Use cases
Use case: to show similar items together on the products overview page.
10
Use cases
Use case: to recommend similar items for newly onboarded items (the cold-start
problem).
11
How to retrieve visually similar items?
Step 1: Extract image embeddings.
Step 2: Search for similar embeddings.
Steps for visual-similarity
12
1 6 3 2 1.....
2 6 3 2 1.....
0 5 2 2 1.....
1 6 3 7 1.....
3 6 3 2 9.....
1 3 8 3 1.....
21
CNN
Similarity
search
Image embedding
Image embedding: low-dimensional vector representations of the image
that contains abstract information.
13
512⨉512⨉3
256
13831.....3131
Image embedding
Use convolutional neural network (CNN) to extract the embeddings.
14
fully-connected
layer
convolutional/pooling/activation layers prediction
embedding
CNN
Transfer learning
Use a pre-trained model? Train a model from scratch?
• Adopt the VGG16 model pre-trained on the ImageNet dataset (natural images).
• Replace the fully-connected layers.
• Train the fully-connected layers on our own dataset.
15
FC layer
4096
layers
from VGG16
FC layer
512
512⨉1
Embedding
224⨉
224⨉
3
Im
age
Triplet loss
Data triplet: anchor image, positive image and negative image
Triplet loss:
Similarity is defined by the Euclidean distance.
are the embeddings for anchor, positive and negative images
respectively.
16
AnchorPositive Negative
FaceNet: A Unified Embedding for Face Recognition and Clustering, F. Schroff et al. (2015)
Triplet loss
Minimize the triplet loss
17
AnchorPositive Negative
AnchorPositive Negative
Learning
ɑ
Siamese network: identical CNNs take two or more inputs.
Siamese network
18
CNN
CNN
Triplet lossCNN
Identical CNNs
Data preparation
Similar product images are put in the same group.
Sample triplets:
• sample 2 images from the same group as the anchor and positive images.
• sample 1 image from other groups as the negative image.
3500 images => 56000 triplets
19
AnchorPositive Negative
FaceNet: A Unified Embedding for Face Recognition and Clustering, F. Schroff et al. (2015)
Training result
Precision@k on the test data.
20
k: number of embeddings returned by the similarity search.
Model training
• 50 epochs, 29 hours on a Nvidia K80 GPU
• How can we scale up the model training to
– fit more data,
– fine tune the hyperparameters quickly?
Use distributed training to speed up the training !
21
Distributed training
• Distributed training framework: Horovod by Uber.
– Good scaling efficiency.
– Minimal code modification.
• Training API: HorovodRunner on Databricks, integrated with Spark’s
barrier mode.
22
Code example
23
Single-machine
Distributed training
Distributed training
The throughput scales up with more GPUs,
24
Distributed training
but not as much as expected.
25
How to retrieve visually similar items?
Step 1: extract image embeddings.
• Train a model on our own dataset.
• From single-machine to distributed training.
Step 2: search for similar embeddings.
Steps for visual-similarity
26
2 6 3 2 1.....
0 5 2 2 1.....
1 6 3 7 1.....
3 6 3 2 9.....
1 3 8 3 1.....
21
CNN
Similarity
search
6 3 2..... 11
• Brute-force search can be expensive and slow for large size of
high dimensional data.
• We use the approximate similarity search implemented in Spark:
• Hash step: hash similar embeddings into the same buckets
using locality sensitive hashing (LSH).
• Search step: only search for embeddings in the same
buckets with Euclidean distance.
Similar items retrieval
27
Hashing for Similarity Search: A Survey, J. Wang et al. (2014)
LSH hashes dimensional vectors with a small distance into the same buckets
with a high probability.
The hash function for Euclidean distance is:
, where v is a random unit vector, r is the bucket length.
Example:
v = [0.44, 0.90], r = 2
x1 = [2.0, 2.0], h(x1) = 1
x2 = [2.0, 3.0], h(x2) = 1
x3 = [0.0, 5.0], h(x3) = 2
Locality sensitive hashing
28
LSH
Two parameters:
bucketLength: the length of each hash bucket.
numHashTable: the number of hash tables.
accuracy query performance
bucketLength
numHashTable
Parameters in LSH
29
h1 h2 hn-1 hn
Parameters in LSH
30
Pipeline overview
31
Embedding
extraction
Embeddings
Similarity search Similarity data storage
Images
Embeddings
Product
information
Service
Result examples
32
1 2 3 54
6 7 8 109
Result examples
33
Summary
34
1. Visual similarity applications at Wehkamp
2. Embedding CNN model trained on our own dataset.
– Improved accuracy.
– Reduced embedding size.
– Distributed training enabled by Horovod and Databricks.
3. Approximate similarity search on Spark LSH.
4. Future works:
– Higher accuracy enabled by a larger dataset.
– Binary embeddings to speed up the search process.
– Image embeddings as part of product features.
DON’T FORGET TO RATE
AND REVIEW THE SESSIONS
SEARCH SPARK + AI SUMMIT

More Related Content

PDF
Distributed Models Over Distributed Data with MLflow, Pyspark, and Pandas
PDF
Real-Time Fraud Detection at Scale—Integrating Real-Time Deep-Link Graph Anal...
PPTX
Danny Bickson - Python based predictive analytics with GraphLab Create
PDF
Fast Parallel Similarity Calculations with FPGA Hardware
PDF
Rakuten - Recommendation Platform
PPTX
Jean-François Puget, Distinguished Engineer, Machine Learning and Optimizatio...
PDF
Graph Hardware Architecture - Enterprise graphs deserve great hardware!
PDF
Using Graph Algorithms For Advanced Analytics - Part 4 Similarity 30 graph al...
Distributed Models Over Distributed Data with MLflow, Pyspark, and Pandas
Real-Time Fraud Detection at Scale—Integrating Real-Time Deep-Link Graph Anal...
Danny Bickson - Python based predictive analytics with GraphLab Create
Fast Parallel Similarity Calculations with FPGA Hardware
Rakuten - Recommendation Platform
Jean-François Puget, Distinguished Engineer, Machine Learning and Optimizatio...
Graph Hardware Architecture - Enterprise graphs deserve great hardware!
Using Graph Algorithms For Advanced Analytics - Part 4 Similarity 30 graph al...

What's hot (20)

PDF
Graph Databases and Machine Learning | November 2018
PDF
Transforming AI with Graphs: Real World Examples using Spark and Neo4j
PPTX
Graphs and Financial Services Analytics
PPTX
From Machine Learning to Learning Machines: Creating an End-to-End Cognitive ...
PPTX
Venkatesh Ramanathan, Data Scientist, PayPal at MLconf ATL 2017
PDF
Graph Gurus Episode 25: Unleash the Business Value of Your Data Lake with Gra...
PDF
Detecting Financial Fraud at Scale with Machine Learning
PDF
Machine Learning at Scale with MLflow and Apache Spark
PDF
No REST till Production – Building and Deploying 9 Models to Production in 3 ...
PDF
Graph Gurus Episode 9: How Visa Optimizes Network and IT Resources with a Nat...
PDF
Applied Machine Learning for Ranking Products in an Ecommerce Setting
PDF
ML&AI APPROACH TO USER UNDERSTANDING ECOSYSTEM AT VCCORP Applications to News...
PDF
Knowledge graphs, meet Deep Learning
PDF
Graph Gurus 21: Integrating Real-Time Deep-Link Graph Analytics with Spark AI
PPTX
Quoc Le at AI Frontiers : Automated Machine Learning
PDF
Augmenting Machine Learning with Databricks Labs AutoML Toolkit
PDF
Graph Gurus Episode 17: Seven Key Data Science Capabilities Powered by a Nati...
PPTX
Role of Analytics in Digital Business
PDF
Lessons Learned Replatforming A Large Machine Learning Application To Apache ...
PPTX
Production ready big ml workflows from zero to hero daniel marcous @ waze
Graph Databases and Machine Learning | November 2018
Transforming AI with Graphs: Real World Examples using Spark and Neo4j
Graphs and Financial Services Analytics
From Machine Learning to Learning Machines: Creating an End-to-End Cognitive ...
Venkatesh Ramanathan, Data Scientist, PayPal at MLconf ATL 2017
Graph Gurus Episode 25: Unleash the Business Value of Your Data Lake with Gra...
Detecting Financial Fraud at Scale with Machine Learning
Machine Learning at Scale with MLflow and Apache Spark
No REST till Production – Building and Deploying 9 Models to Production in 3 ...
Graph Gurus Episode 9: How Visa Optimizes Network and IT Resources with a Nat...
Applied Machine Learning for Ranking Products in an Ecommerce Setting
ML&AI APPROACH TO USER UNDERSTANDING ECOSYSTEM AT VCCORP Applications to News...
Knowledge graphs, meet Deep Learning
Graph Gurus 21: Integrating Real-Time Deep-Link Graph Analytics with Spark AI
Quoc Le at AI Frontiers : Automated Machine Learning
Augmenting Machine Learning with Databricks Labs AutoML Toolkit
Graph Gurus Episode 17: Seven Key Data Science Capabilities Powered by a Nati...
Role of Analytics in Digital Business
Lessons Learned Replatforming A Large Machine Learning Application To Apache ...
Production ready big ml workflows from zero to hero daniel marcous @ waze
Ad

Similar to Retrieving Visually-Similar Products for Shopping Recommendations using Spark and Tensorflow (20)

PDF
Deep Learning for Computer Vision: Image Retrieval (UPC 2016)
PDF
Deep Learning Meetup 7 - Building a Deep Learning-powered Search Engine
PDF
Image Retrieval (D4L5 2017 UPC Deep Learning for Computer Vision)
PDF
Content-Based Image Retrieval (D2L6 Insight@DCU Machine Learning Workshop 2017)
PPTX
Ai use cases
PPTX
Image-Based E-Commerce Product Discovery: A Deep Learning Case Study - Denis ...
PDF
Using Deep Learning to Find Similar Dresses
PDF
Visual search
PPTX
Evolving a Medical Image Similarity Search
PDF
Leveraging Social Media with Computer Vision
PDF
[CVPR 2018] Visual Search (Image Retrieval) and Metric Learning
PDF
Matconvnet manual
PDF
matconvnet-manual.pdf
PDF
Machine learning for document analysis and understanding
PDF
Frequently Bought Together Recommendations Based on Embeddings
PDF
Faire de la reconnaissance d'images avec le Deep Learning - Cristina & Pierre...
PDF
AlexNet(ImageNet Classification with Deep Convolutional Neural Networks)
PDF
Unit 5: Convolutional Neural Networks - CNN
PPTX
AlexNet(ImageNet Classification with Deep Convolutional Neural Networks)
PPTX
MasterSearch_Meetup_AdvancedAnalytics
Deep Learning for Computer Vision: Image Retrieval (UPC 2016)
Deep Learning Meetup 7 - Building a Deep Learning-powered Search Engine
Image Retrieval (D4L5 2017 UPC Deep Learning for Computer Vision)
Content-Based Image Retrieval (D2L6 Insight@DCU Machine Learning Workshop 2017)
Ai use cases
Image-Based E-Commerce Product Discovery: A Deep Learning Case Study - Denis ...
Using Deep Learning to Find Similar Dresses
Visual search
Evolving a Medical Image Similarity Search
Leveraging Social Media with Computer Vision
[CVPR 2018] Visual Search (Image Retrieval) and Metric Learning
Matconvnet manual
matconvnet-manual.pdf
Machine learning for document analysis and understanding
Frequently Bought Together Recommendations Based on Embeddings
Faire de la reconnaissance d'images avec le Deep Learning - Cristina & Pierre...
AlexNet(ImageNet Classification with Deep Convolutional Neural Networks)
Unit 5: Convolutional Neural Networks - CNN
AlexNet(ImageNet Classification with Deep Convolutional Neural Networks)
MasterSearch_Meetup_AdvancedAnalytics
Ad

More from Databricks (20)

PPTX
DW Migration Webinar-March 2022.pptx
PPTX
Data Lakehouse Symposium | Day 1 | Part 1
PPT
Data Lakehouse Symposium | Day 1 | Part 2
PPTX
Data Lakehouse Symposium | Day 2
PPTX
Data Lakehouse Symposium | Day 4
PDF
5 Critical Steps to Clean Your Data Swamp When Migrating Off of Hadoop
PDF
Democratizing Data Quality Through a Centralized Platform
PDF
Learn to Use Databricks for Data Science
PDF
Why APM Is Not the Same As ML Monitoring
PDF
The Function, the Context, and the Data—Enabling ML Ops at Stitch Fix
PDF
Stage Level Scheduling Improving Big Data and AI Integration
PDF
Simplify Data Conversion from Spark to TensorFlow and PyTorch
PDF
Scaling your Data Pipelines with Apache Spark on Kubernetes
PDF
Scaling and Unifying SciKit Learn and Apache Spark Pipelines
PDF
Sawtooth Windows for Feature Aggregations
PDF
Redis + Apache Spark = Swiss Army Knife Meets Kitchen Sink
PDF
Re-imagine Data Monitoring with whylogs and Spark
PDF
Raven: End-to-end Optimization of ML Prediction Queries
PDF
Processing Large Datasets for ADAS Applications using Apache Spark
PDF
Massive Data Processing in Adobe Using Delta Lake
DW Migration Webinar-March 2022.pptx
Data Lakehouse Symposium | Day 1 | Part 1
Data Lakehouse Symposium | Day 1 | Part 2
Data Lakehouse Symposium | Day 2
Data Lakehouse Symposium | Day 4
5 Critical Steps to Clean Your Data Swamp When Migrating Off of Hadoop
Democratizing Data Quality Through a Centralized Platform
Learn to Use Databricks for Data Science
Why APM Is Not the Same As ML Monitoring
The Function, the Context, and the Data—Enabling ML Ops at Stitch Fix
Stage Level Scheduling Improving Big Data and AI Integration
Simplify Data Conversion from Spark to TensorFlow and PyTorch
Scaling your Data Pipelines with Apache Spark on Kubernetes
Scaling and Unifying SciKit Learn and Apache Spark Pipelines
Sawtooth Windows for Feature Aggregations
Redis + Apache Spark = Swiss Army Knife Meets Kitchen Sink
Re-imagine Data Monitoring with whylogs and Spark
Raven: End-to-end Optimization of ML Prediction Queries
Processing Large Datasets for ADAS Applications using Apache Spark
Massive Data Processing in Adobe Using Delta Lake

Recently uploaded (20)

PPTX
DISORDERS OF THE LIVER, GALLBLADDER AND PANCREASE (1).pptx
PPTX
Introduction to Basics of Ethical Hacking and Penetration Testing -Unit No. 1...
PPTX
CEE 2 REPORT G7.pptxbdbshjdgsgjgsjfiuhsd
PPTX
IBA_Chapter_11_Slides_Final_Accessible.pptx
PPTX
Business Ppt On Nestle.pptx huunnnhhgfvu
PPTX
Data_Analytics_and_PowerBI_Presentation.pptx
PPTX
Database Infoormation System (DBIS).pptx
PDF
Clinical guidelines as a resource for EBP(1).pdf
PDF
TRAFFIC-MANAGEMENT-AND-ACCIDENT-INVESTIGATION-WITH-DRIVING-PDF-FILE.pdf
PPTX
STUDY DESIGN details- Lt Col Maksud (21).pptx
PDF
Fluorescence-microscope_Botany_detailed content
PPTX
MODULE 8 - DISASTER risk PREPAREDNESS.pptx
PPTX
mbdjdhjjodule 5-1 rhfhhfjtjjhafbrhfnfbbfnb
PPT
Miokarditis (Inflamasi pada Otot Jantung)
PPT
Reliability_Chapter_ presentation 1221.5784
PPTX
IB Computer Science - Internal Assessment.pptx
PPTX
Introduction to Firewall Analytics - Interfirewall and Transfirewall.pptx
PPTX
05. PRACTICAL GUIDE TO MICROSOFT EXCEL.pptx
PPTX
iec ppt-1 pptx icmr ppt on rehabilitation.pptx
PDF
Mega Projects Data Mega Projects Data
DISORDERS OF THE LIVER, GALLBLADDER AND PANCREASE (1).pptx
Introduction to Basics of Ethical Hacking and Penetration Testing -Unit No. 1...
CEE 2 REPORT G7.pptxbdbshjdgsgjgsjfiuhsd
IBA_Chapter_11_Slides_Final_Accessible.pptx
Business Ppt On Nestle.pptx huunnnhhgfvu
Data_Analytics_and_PowerBI_Presentation.pptx
Database Infoormation System (DBIS).pptx
Clinical guidelines as a resource for EBP(1).pdf
TRAFFIC-MANAGEMENT-AND-ACCIDENT-INVESTIGATION-WITH-DRIVING-PDF-FILE.pdf
STUDY DESIGN details- Lt Col Maksud (21).pptx
Fluorescence-microscope_Botany_detailed content
MODULE 8 - DISASTER risk PREPAREDNESS.pptx
mbdjdhjjodule 5-1 rhfhhfjtjjhafbrhfnfbbfnb
Miokarditis (Inflamasi pada Otot Jantung)
Reliability_Chapter_ presentation 1221.5784
IB Computer Science - Internal Assessment.pptx
Introduction to Firewall Analytics - Interfirewall and Transfirewall.pptx
05. PRACTICAL GUIDE TO MICROSOFT EXCEL.pptx
iec ppt-1 pptx icmr ppt on rehabilitation.pptx
Mega Projects Data Mega Projects Data

Retrieving Visually-Similar Products for Shopping Recommendations using Spark and Tensorflow

  • 1. WIFI SSID:Spark+AISummit | Password: UnifiedDataAnalytics
  • 2. Retrieving visually similar products for Shopping Recommendations using Spark and Tensorflow Zhichao Zhong, Wehkamp #UnifiedDataAnalytics #SparkAISummit
  • 3. Agenda ● Introduction ● Implementation ○ Image embedding extraction ○ Similarity search ○ Pipeline overview ● Summary
  • 4. Zhichao Zhong ● Data scientist @ wehkamp ● Ph.D. in applied mathematics @ CWI
  • 5. the online department store for families in the Netherlands √ About wehkamp > 400.000 products > 500.000 daily visitors € 661 million sales 18/19 67 years’ history wehkamp: the online department store for families in the Netherlands. 11 million packages 18/19
  • 6. About wehkamp 1952 - first advertisement 1955 - first catalog 1995 - first steps online 2010 - completely online 2018 - mobile first 2019 - a great shop experience
  • 7. the online department store for families in the Netherlands √ Data science at wehkamp Use data science to improve the online shopping experience for customers. Search ranking Recommendation system Personalization And many others ... Visual similarity
  • 8. Visuals are important for shopping, especially for fashion (our largest category). People look at look-alike items when shopping. Visual similarity: to retrieve similar items based on images. Visual similarity 8
  • 9. Use case: to show substitutes for out-of-stock items in the look. Use cases 9 Out of stock Substitute
  • 10. Use cases Use case: to show similar items together on the products overview page. 10
  • 11. Use cases Use case: to recommend similar items for newly onboarded items (the cold-start problem). 11
  • 12. How to retrieve visually similar items? Step 1: Extract image embeddings. Step 2: Search for similar embeddings. Steps for visual-similarity 12 1 6 3 2 1..... 2 6 3 2 1..... 0 5 2 2 1..... 1 6 3 7 1..... 3 6 3 2 9..... 1 3 8 3 1..... 21 CNN Similarity search
  • 13. Image embedding Image embedding: low-dimensional vector representations of the image that contains abstract information. 13 512⨉512⨉3 256 13831.....3131
  • 14. Image embedding Use convolutional neural network (CNN) to extract the embeddings. 14 fully-connected layer convolutional/pooling/activation layers prediction embedding CNN
  • 15. Transfer learning Use a pre-trained model? Train a model from scratch? • Adopt the VGG16 model pre-trained on the ImageNet dataset (natural images). • Replace the fully-connected layers. • Train the fully-connected layers on our own dataset. 15 FC layer 4096 layers from VGG16 FC layer 512 512⨉1 Embedding 224⨉ 224⨉ 3 Im age
  • 16. Triplet loss Data triplet: anchor image, positive image and negative image Triplet loss: Similarity is defined by the Euclidean distance. are the embeddings for anchor, positive and negative images respectively. 16 AnchorPositive Negative FaceNet: A Unified Embedding for Face Recognition and Clustering, F. Schroff et al. (2015)
  • 17. Triplet loss Minimize the triplet loss 17 AnchorPositive Negative AnchorPositive Negative Learning ɑ
  • 18. Siamese network: identical CNNs take two or more inputs. Siamese network 18 CNN CNN Triplet lossCNN Identical CNNs
  • 19. Data preparation Similar product images are put in the same group. Sample triplets: • sample 2 images from the same group as the anchor and positive images. • sample 1 image from other groups as the negative image. 3500 images => 56000 triplets 19 AnchorPositive Negative FaceNet: A Unified Embedding for Face Recognition and Clustering, F. Schroff et al. (2015)
  • 20. Training result Precision@k on the test data. 20 k: number of embeddings returned by the similarity search.
  • 21. Model training • 50 epochs, 29 hours on a Nvidia K80 GPU • How can we scale up the model training to – fit more data, – fine tune the hyperparameters quickly? Use distributed training to speed up the training ! 21
  • 22. Distributed training • Distributed training framework: Horovod by Uber. – Good scaling efficiency. – Minimal code modification. • Training API: HorovodRunner on Databricks, integrated with Spark’s barrier mode. 22
  • 24. Distributed training The throughput scales up with more GPUs, 24
  • 25. Distributed training but not as much as expected. 25
  • 26. How to retrieve visually similar items? Step 1: extract image embeddings. • Train a model on our own dataset. • From single-machine to distributed training. Step 2: search for similar embeddings. Steps for visual-similarity 26 2 6 3 2 1..... 0 5 2 2 1..... 1 6 3 7 1..... 3 6 3 2 9..... 1 3 8 3 1..... 21 CNN Similarity search 6 3 2..... 11
  • 27. • Brute-force search can be expensive and slow for large size of high dimensional data. • We use the approximate similarity search implemented in Spark: • Hash step: hash similar embeddings into the same buckets using locality sensitive hashing (LSH). • Search step: only search for embeddings in the same buckets with Euclidean distance. Similar items retrieval 27 Hashing for Similarity Search: A Survey, J. Wang et al. (2014)
  • 28. LSH hashes dimensional vectors with a small distance into the same buckets with a high probability. The hash function for Euclidean distance is: , where v is a random unit vector, r is the bucket length. Example: v = [0.44, 0.90], r = 2 x1 = [2.0, 2.0], h(x1) = 1 x2 = [2.0, 3.0], h(x2) = 1 x3 = [0.0, 5.0], h(x3) = 2 Locality sensitive hashing 28 LSH
  • 29. Two parameters: bucketLength: the length of each hash bucket. numHashTable: the number of hash tables. accuracy query performance bucketLength numHashTable Parameters in LSH 29 h1 h2 hn-1 hn
  • 31. Pipeline overview 31 Embedding extraction Embeddings Similarity search Similarity data storage Images Embeddings Product information Service
  • 32. Result examples 32 1 2 3 54 6 7 8 109
  • 34. Summary 34 1. Visual similarity applications at Wehkamp 2. Embedding CNN model trained on our own dataset. – Improved accuracy. – Reduced embedding size. – Distributed training enabled by Horovod and Databricks. 3. Approximate similarity search on Spark LSH. 4. Future works: – Higher accuracy enabled by a larger dataset. – Binary embeddings to speed up the search process. – Image embeddings as part of product features.
  • 35. DON’T FORGET TO RATE AND REVIEW THE SESSIONS SEARCH SPARK + AI SUMMIT