SlideShare a Scribd company logo
1 of 23
Download to read offline
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

Instruct Nirmaana 24-Smart and Lean Construction Through Technology.pdf
Instruct Nirmaana 24-Smart and Lean Construction Through Technology.pdfInstruct Nirmaana 24-Smart and Lean Construction Through Technology.pdf
Instruct Nirmaana 24-Smart and Lean Construction Through Technology.pdfEr.Sonali Nasikkar
 
electrical installation and maintenance.
electrical installation and maintenance.electrical installation and maintenance.
electrical installation and maintenance.benjamincojr
 
Diploma Engineering Drawing Qp-2024 Ece .pdf
Diploma Engineering Drawing Qp-2024 Ece .pdfDiploma Engineering Drawing Qp-2024 Ece .pdf
Diploma Engineering Drawing Qp-2024 Ece .pdfJNTUA
 
"United Nations Park" Site Visit Report.
"United Nations Park" Site  Visit Report."United Nations Park" Site  Visit Report.
"United Nations Park" Site Visit Report.MdManikurRahman
 
ALCOHOL PRODUCTION- Beer Brewing Process.pdf
ALCOHOL PRODUCTION- Beer Brewing Process.pdfALCOHOL PRODUCTION- Beer Brewing Process.pdf
ALCOHOL PRODUCTION- Beer Brewing Process.pdfMadan Karki
 
NEWLETTER FRANCE HELICES/ SDS SURFACE DRIVES - MAY 2024
NEWLETTER FRANCE HELICES/ SDS SURFACE DRIVES - MAY 2024NEWLETTER FRANCE HELICES/ SDS SURFACE DRIVES - MAY 2024
NEWLETTER FRANCE HELICES/ SDS SURFACE DRIVES - MAY 2024EMMANUELLEFRANCEHELI
 
21P35A0312 Internship eccccccReport.docx
21P35A0312 Internship eccccccReport.docx21P35A0312 Internship eccccccReport.docx
21P35A0312 Internship eccccccReport.docxrahulmanepalli02
 
Developing a smart system for infant incubators using the internet of things ...
Developing a smart system for infant incubators using the internet of things ...Developing a smart system for infant incubators using the internet of things ...
Developing a smart system for infant incubators using the internet of things ...IJECEIAES
 
Autodesk Construction Cloud (Autodesk Build).pptx
Autodesk Construction Cloud (Autodesk Build).pptxAutodesk Construction Cloud (Autodesk Build).pptx
Autodesk Construction Cloud (Autodesk Build).pptxMustafa Ahmed
 
Module-III Varried Flow.pptx GVF Definition, Water Surface Profile Dynamic Eq...
Module-III Varried Flow.pptx GVF Definition, Water Surface Profile Dynamic Eq...Module-III Varried Flow.pptx GVF Definition, Water Surface Profile Dynamic Eq...
Module-III Varried Flow.pptx GVF Definition, Water Surface Profile Dynamic Eq...Nitin Sonavane
 
Introduction to Arduino Programming: Features of Arduino
Introduction to Arduino Programming: Features of ArduinoIntroduction to Arduino Programming: Features of Arduino
Introduction to Arduino Programming: Features of ArduinoAbhimanyu Sangale
 
Electrical shop management system project report.pdf
Electrical shop management system project report.pdfElectrical shop management system project report.pdf
Electrical shop management system project report.pdfKamal Acharya
 
SLIDESHARE PPT-DECISION MAKING METHODS.pptx
SLIDESHARE PPT-DECISION MAKING METHODS.pptxSLIDESHARE PPT-DECISION MAKING METHODS.pptx
SLIDESHARE PPT-DECISION MAKING METHODS.pptxCHAIRMAN M
 
Online crime reporting system project.pdf
Online crime reporting system project.pdfOnline crime reporting system project.pdf
Online crime reporting system project.pdfKamal Acharya
 
Passive Air Cooling System and Solar Water Heater.ppt
Passive Air Cooling System and Solar Water Heater.pptPassive Air Cooling System and Solar Water Heater.ppt
Passive Air Cooling System and Solar Water Heater.pptamrabdallah9
 
Vip ℂall Girls Karkardooma Phone No 9999965857 High Profile ℂall Girl Delhi N...
Vip ℂall Girls Karkardooma Phone No 9999965857 High Profile ℂall Girl Delhi N...Vip ℂall Girls Karkardooma Phone No 9999965857 High Profile ℂall Girl Delhi N...
Vip ℂall Girls Karkardooma Phone No 9999965857 High Profile ℂall Girl Delhi N...jiyav969
 
Worksharing and 3D Modeling with Revit.pptx
Worksharing and 3D Modeling with Revit.pptxWorksharing and 3D Modeling with Revit.pptx
Worksharing and 3D Modeling with Revit.pptxMustafa Ahmed
 
litvinenko_Henry_Intrusion_Hong-Kong_2024.pdf
litvinenko_Henry_Intrusion_Hong-Kong_2024.pdflitvinenko_Henry_Intrusion_Hong-Kong_2024.pdf
litvinenko_Henry_Intrusion_Hong-Kong_2024.pdfAlexander Litvinenko
 
8th International Conference on Soft Computing, Mathematics and Control (SMC ...
8th International Conference on Soft Computing, Mathematics and Control (SMC ...8th International Conference on Soft Computing, Mathematics and Control (SMC ...
8th International Conference on Soft Computing, Mathematics and Control (SMC ...josephjonse
 
Research Methodolgy & Intellectual Property Rights Series 1
Research Methodolgy & Intellectual Property Rights Series 1Research Methodolgy & Intellectual Property Rights Series 1
Research Methodolgy & Intellectual Property Rights Series 1T.D. Shashikala
 

Recently uploaded (20)

Instruct Nirmaana 24-Smart and Lean Construction Through Technology.pdf
Instruct Nirmaana 24-Smart and Lean Construction Through Technology.pdfInstruct Nirmaana 24-Smart and Lean Construction Through Technology.pdf
Instruct Nirmaana 24-Smart and Lean Construction Through Technology.pdf
 
electrical installation and maintenance.
electrical installation and maintenance.electrical installation and maintenance.
electrical installation and maintenance.
 
Diploma Engineering Drawing Qp-2024 Ece .pdf
Diploma Engineering Drawing Qp-2024 Ece .pdfDiploma Engineering Drawing Qp-2024 Ece .pdf
Diploma Engineering Drawing Qp-2024 Ece .pdf
 
"United Nations Park" Site Visit Report.
"United Nations Park" Site  Visit Report."United Nations Park" Site  Visit Report.
"United Nations Park" Site Visit Report.
 
ALCOHOL PRODUCTION- Beer Brewing Process.pdf
ALCOHOL PRODUCTION- Beer Brewing Process.pdfALCOHOL PRODUCTION- Beer Brewing Process.pdf
ALCOHOL PRODUCTION- Beer Brewing Process.pdf
 
NEWLETTER FRANCE HELICES/ SDS SURFACE DRIVES - MAY 2024
NEWLETTER FRANCE HELICES/ SDS SURFACE DRIVES - MAY 2024NEWLETTER FRANCE HELICES/ SDS SURFACE DRIVES - MAY 2024
NEWLETTER FRANCE HELICES/ SDS SURFACE DRIVES - MAY 2024
 
21P35A0312 Internship eccccccReport.docx
21P35A0312 Internship eccccccReport.docx21P35A0312 Internship eccccccReport.docx
21P35A0312 Internship eccccccReport.docx
 
Developing a smart system for infant incubators using the internet of things ...
Developing a smart system for infant incubators using the internet of things ...Developing a smart system for infant incubators using the internet of things ...
Developing a smart system for infant incubators using the internet of things ...
 
Autodesk Construction Cloud (Autodesk Build).pptx
Autodesk Construction Cloud (Autodesk Build).pptxAutodesk Construction Cloud (Autodesk Build).pptx
Autodesk Construction Cloud (Autodesk Build).pptx
 
Module-III Varried Flow.pptx GVF Definition, Water Surface Profile Dynamic Eq...
Module-III Varried Flow.pptx GVF Definition, Water Surface Profile Dynamic Eq...Module-III Varried Flow.pptx GVF Definition, Water Surface Profile Dynamic Eq...
Module-III Varried Flow.pptx GVF Definition, Water Surface Profile Dynamic Eq...
 
Introduction to Arduino Programming: Features of Arduino
Introduction to Arduino Programming: Features of ArduinoIntroduction to Arduino Programming: Features of Arduino
Introduction to Arduino Programming: Features of Arduino
 
Electrical shop management system project report.pdf
Electrical shop management system project report.pdfElectrical shop management system project report.pdf
Electrical shop management system project report.pdf
 
SLIDESHARE PPT-DECISION MAKING METHODS.pptx
SLIDESHARE PPT-DECISION MAKING METHODS.pptxSLIDESHARE PPT-DECISION MAKING METHODS.pptx
SLIDESHARE PPT-DECISION MAKING METHODS.pptx
 
Online crime reporting system project.pdf
Online crime reporting system project.pdfOnline crime reporting system project.pdf
Online crime reporting system project.pdf
 
Passive Air Cooling System and Solar Water Heater.ppt
Passive Air Cooling System and Solar Water Heater.pptPassive Air Cooling System and Solar Water Heater.ppt
Passive Air Cooling System and Solar Water Heater.ppt
 
Vip ℂall Girls Karkardooma Phone No 9999965857 High Profile ℂall Girl Delhi N...
Vip ℂall Girls Karkardooma Phone No 9999965857 High Profile ℂall Girl Delhi N...Vip ℂall Girls Karkardooma Phone No 9999965857 High Profile ℂall Girl Delhi N...
Vip ℂall Girls Karkardooma Phone No 9999965857 High Profile ℂall Girl Delhi N...
 
Worksharing and 3D Modeling with Revit.pptx
Worksharing and 3D Modeling with Revit.pptxWorksharing and 3D Modeling with Revit.pptx
Worksharing and 3D Modeling with Revit.pptx
 
litvinenko_Henry_Intrusion_Hong-Kong_2024.pdf
litvinenko_Henry_Intrusion_Hong-Kong_2024.pdflitvinenko_Henry_Intrusion_Hong-Kong_2024.pdf
litvinenko_Henry_Intrusion_Hong-Kong_2024.pdf
 
8th International Conference on Soft Computing, Mathematics and Control (SMC ...
8th International Conference on Soft Computing, Mathematics and Control (SMC ...8th International Conference on Soft Computing, Mathematics and Control (SMC ...
8th International Conference on Soft Computing, Mathematics and Control (SMC ...
 
Research Methodolgy & Intellectual Property Rights Series 1
Research Methodolgy & Intellectual Property Rights Series 1Research Methodolgy & Intellectual Property Rights Series 1
Research Methodolgy & Intellectual Property Rights Series 1
 

Featured

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 2024Neil 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 2024Albert 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 InsightsKurio // 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 2024Search 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 summarySpeakerHub
 
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 IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit 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 managementMindGenius
 
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 WorkGetSmarter
 
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