SlideShare a Scribd company logo
Paul-Louis Nech
Search as a Conversation
R&D Engineer
Public
There is more to search than a searchbox
/in/plnech
@PaulLouisNech
No Dribbble
PLNech
Search as a Conversation
Introduction: a dying searchbar
Paul-Louis Nech
Search as a Conversation
Search as a Conversation
Paul-Louis Nech
Search as a Conversation
> A mobile search interface 📱
> A NLP layer 🤖
> A back-end powered by Algolia ⚡
How does it work?
Paul-Louis Nech
Search as a Conversation
🤖
The NLP layer
Search as a Conversation
Paul-Louis Nech
Search as a Conversation
> Built with DialogFlow
> Recognize 2 kinds of intents: Search and Play

entities: Themes and Artists
> Turn a sentence into an intent+parameters 👉
> Turn the search results into a response 👈
🤖 The NLP layer
Paul-Louis Nech
Search as a Conversation
> But not enough control over entity recognition
Search as a Conversation
> System-provided or developer-defined
> Automated expansion feature to generalize
🤖 Entity recognition: in DialogFlow
Paul-Louis Nech
Search as a Conversation
Search as a Conversation
🤖 Entity recognition: current limitations
> Typo-tolerance
> Pluralisation
> Too precise queries
> Advanced synonyms
Paul-Louis Nech
Search as a Conversation
Search as a Conversation
🤖 Entity recognition: handling typos
Paul-Louis Nech
Search as a Conversation
Search as a Conversation
🤖 Entity recognition: handling typos
Paul-Louis Nech
Search as a Conversation
Search as a Conversation
🤖 Entity recognition: pluralisation
Paul-Louis Nech
Search as a Conversation
Search as a Conversation
🤖 Entity recognition: too precise queries
Paul-Louis Nech
Search as a Conversation
Search as a Conversation
🤖 Entity recognition: other settings
Paul-Louis Nech
Search as a Conversation
🏭
The back-end
Search as a Conversation
Paul-Louis Nech
Search as a Conversation
> The conversational agent’s “relevance engine”
> Uses Algolia to interpret the parameters 

and fulfil the intent with relevant content
> Built in Node.js using HAPI
> Hosted on Heroku
🏭 The back-end
Paul-Louis Nech
Search as a Conversation
Search as a Conversation
🏭 The back-end: processing parameters
if	(req.payload.result.parameters['artistName'])	{	
				artist	=	req.payload.result.parameters['artistName'];	
}
Get parameters from DialogFlow
if	(artist	!==	'')	{	
								searchOptions['restrictSearchableAttributes']	=	['artistName'];	
								searchQuery	=	artist;	
}
Adapt search options based on the parameters
Paul-Louis Nech
Search as a Conversation
Search as a Conversation
🏭 The back-end: formatting search results
if	(artistNames.length	===	1)	{	
				if	(artistIsFoundExact)	{	//	We	found	the	expected	artist	
								this.parameters["artist"]	=	artistNames[0];	
				}	else	{	//	We	found	another	artist	
								this.parameters["artistOther"]	=	artistNames[0];	
				}	
}	else	{	//	We	found	several	artists	
				this.parameters["artistNames"]	=	artistNames;	
}
Derive parameters for the NLP layer’s response
Paul-Louis Nech
Search as a Conversation
📲
The front-end
Search as a Conversation
Paul-Louis Nech
Search as a Conversation
> The actual search interface
> Android app, coded in Kotlin
> Uses SpeechRecognizer to process your voice
> Uses TextToSpeech to turn the response into a voice
> Uses InstantSearch Android to display the results
📲 The front-end
Paul-Louis Nech
Search as a Conversation
Search as a Conversation
📲 The front-end
textToSpeech.speak(EmojiParser.removeAllEmojis(speech),		
																			TextToSpeech.QUEUE_FLUSH,	null,	null)	
Snackbar.make(button,	text	?:	speech,	duration).show()
Voice and display response with TextToSpeech and SnackBar
aiButton.initialize(AIConfiguration("API_KEY",	
																ai.api.AIConfiguration.SupportedLanguages.English,	
																AIConfiguration.RecognitionEngine.System))
Initialise speech recognition
Paul-Louis Nech
Search as a Conversation
💥
The result
Search as a Conversation
Paul-Louis Nech
> Many use cases: when do you need your hands

but would enjoy a screen?
Search as a Conversation
> A conversational search interface
> Hands-free interaction and UI adapted for discovery
💥 The result
Paul-Louis Nech
Search as a Conversation
Thank you
Paul-Louis Nech
R&D Engineer
/in/plnech
@PaulLouisNech
No Dribbble
PLNech
fork me at github.com/PLNech/Musicologist
read more at alg.li/blog-musicologist

More Related Content

Recently uploaded

Open Channel Flow: fluid flow with a free surface
Open Channel Flow: fluid flow with a free surfaceOpen Channel Flow: fluid flow with a free surface
Open Channel Flow: fluid flow with a free surface
Indrajeet sahu
 
OOPS_Lab_Manual - programs using C++ programming language
OOPS_Lab_Manual - programs using C++ programming languageOOPS_Lab_Manual - programs using C++ programming language
OOPS_Lab_Manual - programs using C++ programming language
PreethaV16
 
一比一原版(osu毕业证书)美国俄勒冈州立大学毕业证如何办理
一比一原版(osu毕业证书)美国俄勒冈州立大学毕业证如何办理一比一原版(osu毕业证书)美国俄勒冈州立大学毕业证如何办理
一比一原版(osu毕业证书)美国俄勒冈州立大学毕业证如何办理
upoux
 
一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理
一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理
一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理
ecqow
 
Mechanical Engineering on AAI Summer Training Report-003.pdf
Mechanical Engineering on AAI Summer Training Report-003.pdfMechanical Engineering on AAI Summer Training Report-003.pdf
Mechanical Engineering on AAI Summer Training Report-003.pdf
21UME003TUSHARDEB
 
ITSM Integration with MuleSoft.pptx
ITSM  Integration with MuleSoft.pptxITSM  Integration with MuleSoft.pptx
ITSM Integration with MuleSoft.pptx
VANDANAMOHANGOUDA
 
Zener Diode and its V-I Characteristics and Applications
Zener Diode and its V-I Characteristics and ApplicationsZener Diode and its V-I Characteristics and Applications
Zener Diode and its V-I Characteristics and Applications
Shiny Christobel
 
Object Oriented Analysis and Design - OOAD
Object Oriented Analysis and Design - OOADObject Oriented Analysis and Design - OOAD
Object Oriented Analysis and Design - OOAD
PreethaV16
 
一比一原版(爱大毕业证书)爱荷华大学毕业证如何办理
一比一原版(爱大毕业证书)爱荷华大学毕业证如何办理一比一原版(爱大毕业证书)爱荷华大学毕业证如何办理
一比一原版(爱大毕业证书)爱荷华大学毕业证如何办理
nedcocy
 
Mechatronics material . Mechanical engineering
Mechatronics material . Mechanical engineeringMechatronics material . Mechanical engineering
Mechatronics material . Mechanical engineering
sachin chaurasia
 
TIME TABLE MANAGEMENT SYSTEM testing.pptx
TIME TABLE MANAGEMENT SYSTEM testing.pptxTIME TABLE MANAGEMENT SYSTEM testing.pptx
TIME TABLE MANAGEMENT SYSTEM testing.pptx
CVCSOfficial
 
1FIDIC-CONSTRUCTION-CONTRACT-2ND-ED-2017-RED-BOOK.pdf
1FIDIC-CONSTRUCTION-CONTRACT-2ND-ED-2017-RED-BOOK.pdf1FIDIC-CONSTRUCTION-CONTRACT-2ND-ED-2017-RED-BOOK.pdf
1FIDIC-CONSTRUCTION-CONTRACT-2ND-ED-2017-RED-BOOK.pdf
MadhavJungKarki
 
Digital Twins Computer Networking Paper Presentation.pptx
Digital Twins Computer Networking Paper Presentation.pptxDigital Twins Computer Networking Paper Presentation.pptx
Digital Twins Computer Networking Paper Presentation.pptx
aryanpankaj78
 
Applications of artificial Intelligence in Mechanical Engineering.pdf
Applications of artificial Intelligence in Mechanical Engineering.pdfApplications of artificial Intelligence in Mechanical Engineering.pdf
Applications of artificial Intelligence in Mechanical Engineering.pdf
Atif Razi
 
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
shadow0702a
 
Call For Paper -3rd International Conference on Artificial Intelligence Advan...
Call For Paper -3rd International Conference on Artificial Intelligence Advan...Call For Paper -3rd International Conference on Artificial Intelligence Advan...
Call For Paper -3rd International Conference on Artificial Intelligence Advan...
ijseajournal
 
Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024
Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024
Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024
Sinan KOZAK
 
AI + Data Community Tour - Build the Next Generation of Apps with the Einstei...
AI + Data Community Tour - Build the Next Generation of Apps with the Einstei...AI + Data Community Tour - Build the Next Generation of Apps with the Einstei...
AI + Data Community Tour - Build the Next Generation of Apps with the Einstei...
Paris Salesforce Developer Group
 
Blood finder application project report (1).pdf
Blood finder application project report (1).pdfBlood finder application project report (1).pdf
Blood finder application project report (1).pdf
Kamal Acharya
 
An Introduction to the Compiler Designss
An Introduction to the Compiler DesignssAn Introduction to the Compiler Designss
An Introduction to the Compiler Designss
ElakkiaU
 

Recently uploaded (20)

Open Channel Flow: fluid flow with a free surface
Open Channel Flow: fluid flow with a free surfaceOpen Channel Flow: fluid flow with a free surface
Open Channel Flow: fluid flow with a free surface
 
OOPS_Lab_Manual - programs using C++ programming language
OOPS_Lab_Manual - programs using C++ programming languageOOPS_Lab_Manual - programs using C++ programming language
OOPS_Lab_Manual - programs using C++ programming language
 
一比一原版(osu毕业证书)美国俄勒冈州立大学毕业证如何办理
一比一原版(osu毕业证书)美国俄勒冈州立大学毕业证如何办理一比一原版(osu毕业证书)美国俄勒冈州立大学毕业证如何办理
一比一原版(osu毕业证书)美国俄勒冈州立大学毕业证如何办理
 
一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理
一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理
一比一原版(CalArts毕业证)加利福尼亚艺术学院毕业证如何办理
 
Mechanical Engineering on AAI Summer Training Report-003.pdf
Mechanical Engineering on AAI Summer Training Report-003.pdfMechanical Engineering on AAI Summer Training Report-003.pdf
Mechanical Engineering on AAI Summer Training Report-003.pdf
 
ITSM Integration with MuleSoft.pptx
ITSM  Integration with MuleSoft.pptxITSM  Integration with MuleSoft.pptx
ITSM Integration with MuleSoft.pptx
 
Zener Diode and its V-I Characteristics and Applications
Zener Diode and its V-I Characteristics and ApplicationsZener Diode and its V-I Characteristics and Applications
Zener Diode and its V-I Characteristics and Applications
 
Object Oriented Analysis and Design - OOAD
Object Oriented Analysis and Design - OOADObject Oriented Analysis and Design - OOAD
Object Oriented Analysis and Design - OOAD
 
一比一原版(爱大毕业证书)爱荷华大学毕业证如何办理
一比一原版(爱大毕业证书)爱荷华大学毕业证如何办理一比一原版(爱大毕业证书)爱荷华大学毕业证如何办理
一比一原版(爱大毕业证书)爱荷华大学毕业证如何办理
 
Mechatronics material . Mechanical engineering
Mechatronics material . Mechanical engineeringMechatronics material . Mechanical engineering
Mechatronics material . Mechanical engineering
 
TIME TABLE MANAGEMENT SYSTEM testing.pptx
TIME TABLE MANAGEMENT SYSTEM testing.pptxTIME TABLE MANAGEMENT SYSTEM testing.pptx
TIME TABLE MANAGEMENT SYSTEM testing.pptx
 
1FIDIC-CONSTRUCTION-CONTRACT-2ND-ED-2017-RED-BOOK.pdf
1FIDIC-CONSTRUCTION-CONTRACT-2ND-ED-2017-RED-BOOK.pdf1FIDIC-CONSTRUCTION-CONTRACT-2ND-ED-2017-RED-BOOK.pdf
1FIDIC-CONSTRUCTION-CONTRACT-2ND-ED-2017-RED-BOOK.pdf
 
Digital Twins Computer Networking Paper Presentation.pptx
Digital Twins Computer Networking Paper Presentation.pptxDigital Twins Computer Networking Paper Presentation.pptx
Digital Twins Computer Networking Paper Presentation.pptx
 
Applications of artificial Intelligence in Mechanical Engineering.pdf
Applications of artificial Intelligence in Mechanical Engineering.pdfApplications of artificial Intelligence in Mechanical Engineering.pdf
Applications of artificial Intelligence in Mechanical Engineering.pdf
 
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
 
Call For Paper -3rd International Conference on Artificial Intelligence Advan...
Call For Paper -3rd International Conference on Artificial Intelligence Advan...Call For Paper -3rd International Conference on Artificial Intelligence Advan...
Call For Paper -3rd International Conference on Artificial Intelligence Advan...
 
Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024
Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024
Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024
 
AI + Data Community Tour - Build the Next Generation of Apps with the Einstei...
AI + Data Community Tour - Build the Next Generation of Apps with the Einstei...AI + Data Community Tour - Build the Next Generation of Apps with the Einstei...
AI + Data Community Tour - Build the Next Generation of Apps with the Einstei...
 
Blood finder application project report (1).pdf
Blood finder application project report (1).pdfBlood finder application project report (1).pdf
Blood finder application project report (1).pdf
 
An Introduction to the Compiler Designss
An Introduction to the Compiler DesignssAn Introduction to the Compiler Designss
An Introduction to the Compiler Designss
 

Featured

Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
Skeleton Technologies
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
SpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Lily Ray
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
Rajiv Jayarajah, MAppComm, ACC
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
Christy Abraham Joy
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
Vit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
MindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
RachelPearson36
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Applitools
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
GetSmarter
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
Alireza Esmikhani
 
More than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike RoutesMore than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike Routes
Project for Public Spaces & National Center for Biking and Walking
 
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
DevGAMM Conference
 

Featured (20)

Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
 
More than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike RoutesMore than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike Routes
 
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
 

Search as a Conversation | Paris NLP meetup

  • 1. Paul-Louis Nech Search as a Conversation R&D Engineer Public There is more to search than a searchbox /in/plnech @PaulLouisNech No Dribbble PLNech
  • 2. Search as a Conversation Introduction: a dying searchbar Paul-Louis Nech Search as a Conversation
  • 3. Search as a Conversation Paul-Louis Nech
  • 4. Search as a Conversation > A mobile search interface 📱 > A NLP layer 🤖 > A back-end powered by Algolia ⚡ How does it work? Paul-Louis Nech Search as a Conversation
  • 5. 🤖 The NLP layer Search as a Conversation Paul-Louis Nech
  • 6. Search as a Conversation > Built with DialogFlow > Recognize 2 kinds of intents: Search and Play
 entities: Themes and Artists > Turn a sentence into an intent+parameters 👉 > Turn the search results into a response 👈 🤖 The NLP layer Paul-Louis Nech Search as a Conversation
  • 7. > But not enough control over entity recognition Search as a Conversation > System-provided or developer-defined > Automated expansion feature to generalize 🤖 Entity recognition: in DialogFlow Paul-Louis Nech Search as a Conversation
  • 8. Search as a Conversation 🤖 Entity recognition: current limitations > Typo-tolerance > Pluralisation > Too precise queries > Advanced synonyms Paul-Louis Nech Search as a Conversation
  • 9. Search as a Conversation 🤖 Entity recognition: handling typos Paul-Louis Nech Search as a Conversation
  • 10. Search as a Conversation 🤖 Entity recognition: handling typos Paul-Louis Nech Search as a Conversation
  • 11. Search as a Conversation 🤖 Entity recognition: pluralisation Paul-Louis Nech Search as a Conversation
  • 12. Search as a Conversation 🤖 Entity recognition: too precise queries Paul-Louis Nech Search as a Conversation
  • 13. Search as a Conversation 🤖 Entity recognition: other settings Paul-Louis Nech Search as a Conversation
  • 14. 🏭 The back-end Search as a Conversation Paul-Louis Nech
  • 15. Search as a Conversation > The conversational agent’s “relevance engine” > Uses Algolia to interpret the parameters 
 and fulfil the intent with relevant content > Built in Node.js using HAPI > Hosted on Heroku 🏭 The back-end Paul-Louis Nech Search as a Conversation
  • 16. Search as a Conversation 🏭 The back-end: processing parameters if (req.payload.result.parameters['artistName']) { artist = req.payload.result.parameters['artistName']; } Get parameters from DialogFlow if (artist !== '') { searchOptions['restrictSearchableAttributes'] = ['artistName']; searchQuery = artist; } Adapt search options based on the parameters Paul-Louis Nech Search as a Conversation
  • 17. Search as a Conversation 🏭 The back-end: formatting search results if (artistNames.length === 1) { if (artistIsFoundExact) { // We found the expected artist this.parameters["artist"] = artistNames[0]; } else { // We found another artist this.parameters["artistOther"] = artistNames[0]; } } else { // We found several artists this.parameters["artistNames"] = artistNames; } Derive parameters for the NLP layer’s response Paul-Louis Nech Search as a Conversation
  • 18. 📲 The front-end Search as a Conversation Paul-Louis Nech
  • 19. Search as a Conversation > The actual search interface > Android app, coded in Kotlin > Uses SpeechRecognizer to process your voice > Uses TextToSpeech to turn the response into a voice > Uses InstantSearch Android to display the results 📲 The front-end Paul-Louis Nech Search as a Conversation
  • 20. Search as a Conversation 📲 The front-end textToSpeech.speak(EmojiParser.removeAllEmojis(speech), TextToSpeech.QUEUE_FLUSH, null, null) Snackbar.make(button, text ?: speech, duration).show() Voice and display response with TextToSpeech and SnackBar aiButton.initialize(AIConfiguration("API_KEY", ai.api.AIConfiguration.SupportedLanguages.English, AIConfiguration.RecognitionEngine.System)) Initialise speech recognition Paul-Louis Nech Search as a Conversation
  • 21. 💥 The result Search as a Conversation Paul-Louis Nech
  • 22. > Many use cases: when do you need your hands
 but would enjoy a screen? Search as a Conversation > A conversational search interface > Hands-free interaction and UI adapted for discovery 💥 The result Paul-Louis Nech Search as a Conversation
  • 23. Thank you Paul-Louis Nech R&D Engineer /in/plnech @PaulLouisNech No Dribbble PLNech fork me at github.com/PLNech/Musicologist read more at alg.li/blog-musicologist