SlideShare a Scribd company logo
1 of 27
Natural Language
Search
...using Neo4j
We’ll be covering...
What is natural language search?
What do brains and graphs have in common?
How do you model time as a graph?
How do you model time-based events on a graph?
How do you anticipate natural language queries and
map those to results?
How do you transform answers into questions?
What is Natural
Language Search?
Natural language search is like querying a
database using your own natural language.
In a way, it is kind of like programming a
person with words (Teaching, Evangelism,
Sales Pitches, Planning, etc.)
Progress
What is natural language search?
What do brains and graphs have in common?
How do you model time as a graph?
How do you model time-based events on a graph?
How do you anticipate natural language queries and
map those to results?
How do you transform answers into questions?
What do brains and
graphs have in common?
Networks condense a lot of information into
small points.
These small points help us understand or
interpret a lot of information by exploring the
world from many different small points.
Graphs, like brains, help us explore a lot of
information from relative points.
But what is a network?
A network is a representation or model of the
interconnectedness of information.
A graph is the de facto mathematical
component that defines the level of
interconnectivity in a network.
A graph database merges these two concepts
into a persistent storage medium.

Networks (Information) + Graph (Mathematics) = Neo4j
Graph of people meeting people

Anne met Pam
Pam met Sally
Sally met Anne
John met Sally
Path Finding = Searching
The key component when using a graph
database is traversals.
Traversals model the pathways in a network
by enumerating over all possibilities.
Possibilities that meet a criteria are returned
by a query.
(Neo4j’s Cypher Query Language)
Progress
What is natural language search?
What do brains and graphs have in common?
How do you model time as a graph?
How do you model time-based events on a graph?
How do you anticipate natural language queries and
map those to results?
How do you transform answers into questions?
Time based traversals
Time is a hierarchical method of categorizing
the linearity of global events.
Hours, minutes, seconds...
“Neo4j Meetup is at 6:00 PM on October 29th”
Time Scale Event Meta Model

Modeling events over time is easy in Neo4j
Let’s go over the GraphGist for the Time Scale
Event Meta Model
http://gist.neo4j.org/?github-kbastani%2Fgists%2F%2Fmeta%2FTimeScaleEventMetaModel.adoc
ac
Progress
What is natural language search?
What do brains and graphs have in common?
How do you model time as a graph?
How do you model time-based events on a
graph?
How do you anticipate natural language queries and
map those to results?
How do you transform answers into questions?
Progress
What is natural language search?
What do brains and graphs have in common?
How do you model time as a graph?
How do you model time-based events on a graph?
How do you anticipate natural language
queries and map those to results?
How do you transform answers into questions?
Neo4j allows you to store information as a
series of paths, and that is really valuable for
giving a user options when it comes to search.
It starts with something I call
“Search Cache”
Search Cache
A search cache is a repository of all relevant paths condensed into
a hierarchical data store.
A hierarchical data store is like folder paths that model a storage
collection into a linear path. (Dimensionality Reduction)
An address is a hierarchy, revealing a path.
ex. http://www.neo4j.com/download
ex. > rootneo4j-communitybinneo4j.sh
Natural language path:
> what is the matrix?
Type Ahead / Autocomplete
For search it comes down to enumerating over
all possibilities and then mapping those paths
to an action.
http://kbastani.github.io/predictive-autocomplete
Never do real time processing for natural
language search (It is a hard problem -which means it will take time*)
Distributed Caching Frameworks
Take a distributed approach to building out
your search cache.
Use Neo4j to model your network and then
enumerate over all possibilities as a query and
add each possibility to a search cache.
Distribute the load to a network of compute
instances like MapReduce.
In C# at
http://kbastani.github.io/predictive-autocomplete
How do I build a search cache?
The best way to do this is using blob storage.
I use Windows Azure, but you can use any
data storage as long as it maps to a JSON
file via HTTP GET request.
ex. HTTP GET
../natural/language/search/is/cool

.. Working on open source project using C#
Progress
What is natural language search?
What do brains and graphs have in common?
How do you model time as a graph?
How do you model time-based events on a graph?
How do you anticipate natural language queries and
map those to results?
How do you transform answers into
questions?
How to transform answers into
questions?
You have a bunch of answers already in natural
language.
Each language has a specific template that allows you
to transform an answer into a question.
“X is Y” -> “What is X?”
Is X a Person? Then “Who is X?”
Add “What is X?” to the search cache.
Example: http://www.arktera.com/
Questions?

MATCH questions-[:without]->answers
RETURN *
0 Results Found
Neo4j Events
http://www.graphconnect.com
New York: November 5-6
London: November 18-19
http://www.graphconnect.com/videos
Watch the videos! Very valuable insights
from our community
Neo4j Trainings

Interested in Neo4j training?
Talk to me after!
Thanks!
Follow me on Twitter!
@kennybastani
Connect with me on LinkedIn
/in/kennybastani

More Related Content

What's hot

Probabilistic Programming: Why, What, How, When?
Probabilistic Programming: Why, What, How, When?Probabilistic Programming: Why, What, How, When?
Probabilistic Programming: Why, What, How, When?Salesforce Engineering
 
Search summit-2018-content-engineering-slides
Search summit-2018-content-engineering-slidesSearch summit-2018-content-engineering-slides
Search summit-2018-content-engineering-slidesSujit Pal
 
[系列活動] 文字探勘者的入門心法
[系列活動] 文字探勘者的入門心法[系列活動] 文字探勘者的入門心法
[系列活動] 文字探勘者的入門心法台灣資料科學年會
 
Search summit-2018-ltr-presentation
Search summit-2018-ltr-presentationSearch summit-2018-ltr-presentation
Search summit-2018-ltr-presentationSujit Pal
 
Natural Language processing
Natural Language processingNatural Language processing
Natural Language processingSanzid Kawsar
 
OUTDATED Text Mining 5/5: Information Extraction
OUTDATED Text Mining 5/5: Information ExtractionOUTDATED Text Mining 5/5: Information Extraction
OUTDATED Text Mining 5/5: Information ExtractionFlorian Leitner
 
Basics of Python and Intro to Machine Learning
Basics of Python and Intro to Machine LearningBasics of Python and Intro to Machine Learning
Basics of Python and Intro to Machine LearningManish Maharjan
 
Smart Data Webinar: Advances in Natural Language Processing I - Understanding
Smart Data Webinar: Advances in Natural Language Processing I - UnderstandingSmart Data Webinar: Advances in Natural Language Processing I - Understanding
Smart Data Webinar: Advances in Natural Language Processing I - UnderstandingDATAVERSITY
 
OUTDATED Text Mining 4/5: Text Classification
OUTDATED Text Mining 4/5: Text ClassificationOUTDATED Text Mining 4/5: Text Classification
OUTDATED Text Mining 4/5: Text ClassificationFlorian Leitner
 
Probabilistic programming
Probabilistic programmingProbabilistic programming
Probabilistic programmingEli Gottlieb
 
Deutsche Telecom Expert System - Router Troubleshooting
Deutsche Telecom Expert System - Router TroubleshootingDeutsche Telecom Expert System - Router Troubleshooting
Deutsche Telecom Expert System - Router TroubleshootingVaticle
 
Breaking Down NLP for SEOs - SMX Advanced Europe 2019 - Paul Shapiro
Breaking Down NLP for SEOs - SMX Advanced Europe 2019 - Paul ShapiroBreaking Down NLP for SEOs - SMX Advanced Europe 2019 - Paul Shapiro
Breaking Down NLP for SEOs - SMX Advanced Europe 2019 - Paul ShapiroPaul Shapiro
 
Natural Language Processing (NLP) & Text Mining Tutorial Using NLTK | NLP Tra...
Natural Language Processing (NLP) & Text Mining Tutorial Using NLTK | NLP Tra...Natural Language Processing (NLP) & Text Mining Tutorial Using NLTK | NLP Tra...
Natural Language Processing (NLP) & Text Mining Tutorial Using NLTK | NLP Tra...Edureka!
 
Natural lanaguage processing
Natural lanaguage processingNatural lanaguage processing
Natural lanaguage processinggulshan kumar
 
Haystack 2018 - Algorithmic Extraction of Keywords Concepts and Vocabularies
Haystack 2018 - Algorithmic Extraction of Keywords Concepts and VocabulariesHaystack 2018 - Algorithmic Extraction of Keywords Concepts and Vocabularies
Haystack 2018 - Algorithmic Extraction of Keywords Concepts and VocabulariesMax Irwin
 
Crowdsourced query augmentation through the semantic discovery of domain spec...
Crowdsourced query augmentation through the semantic discovery of domain spec...Crowdsourced query augmentation through the semantic discovery of domain spec...
Crowdsourced query augmentation through the semantic discovery of domain spec...Trey Grainger
 
OUTDATED Text Mining 3/5: String Processing
OUTDATED Text Mining 3/5: String ProcessingOUTDATED Text Mining 3/5: String Processing
OUTDATED Text Mining 3/5: String ProcessingFlorian Leitner
 

What's hot (19)

Probabilistic Programming: Why, What, How, When?
Probabilistic Programming: Why, What, How, When?Probabilistic Programming: Why, What, How, When?
Probabilistic Programming: Why, What, How, When?
 
Search summit-2018-content-engineering-slides
Search summit-2018-content-engineering-slidesSearch summit-2018-content-engineering-slides
Search summit-2018-content-engineering-slides
 
[系列活動] 文字探勘者的入門心法
[系列活動] 文字探勘者的入門心法[系列活動] 文字探勘者的入門心法
[系列活動] 文字探勘者的入門心法
 
Search summit-2018-ltr-presentation
Search summit-2018-ltr-presentationSearch summit-2018-ltr-presentation
Search summit-2018-ltr-presentation
 
Sourcing languages
Sourcing languagesSourcing languages
Sourcing languages
 
Natural Language processing
Natural Language processingNatural Language processing
Natural Language processing
 
Intro to nlp
Intro to nlpIntro to nlp
Intro to nlp
 
OUTDATED Text Mining 5/5: Information Extraction
OUTDATED Text Mining 5/5: Information ExtractionOUTDATED Text Mining 5/5: Information Extraction
OUTDATED Text Mining 5/5: Information Extraction
 
Basics of Python and Intro to Machine Learning
Basics of Python and Intro to Machine LearningBasics of Python and Intro to Machine Learning
Basics of Python and Intro to Machine Learning
 
Smart Data Webinar: Advances in Natural Language Processing I - Understanding
Smart Data Webinar: Advances in Natural Language Processing I - UnderstandingSmart Data Webinar: Advances in Natural Language Processing I - Understanding
Smart Data Webinar: Advances in Natural Language Processing I - Understanding
 
OUTDATED Text Mining 4/5: Text Classification
OUTDATED Text Mining 4/5: Text ClassificationOUTDATED Text Mining 4/5: Text Classification
OUTDATED Text Mining 4/5: Text Classification
 
Probabilistic programming
Probabilistic programmingProbabilistic programming
Probabilistic programming
 
Deutsche Telecom Expert System - Router Troubleshooting
Deutsche Telecom Expert System - Router TroubleshootingDeutsche Telecom Expert System - Router Troubleshooting
Deutsche Telecom Expert System - Router Troubleshooting
 
Breaking Down NLP for SEOs - SMX Advanced Europe 2019 - Paul Shapiro
Breaking Down NLP for SEOs - SMX Advanced Europe 2019 - Paul ShapiroBreaking Down NLP for SEOs - SMX Advanced Europe 2019 - Paul Shapiro
Breaking Down NLP for SEOs - SMX Advanced Europe 2019 - Paul Shapiro
 
Natural Language Processing (NLP) & Text Mining Tutorial Using NLTK | NLP Tra...
Natural Language Processing (NLP) & Text Mining Tutorial Using NLTK | NLP Tra...Natural Language Processing (NLP) & Text Mining Tutorial Using NLTK | NLP Tra...
Natural Language Processing (NLP) & Text Mining Tutorial Using NLTK | NLP Tra...
 
Natural lanaguage processing
Natural lanaguage processingNatural lanaguage processing
Natural lanaguage processing
 
Haystack 2018 - Algorithmic Extraction of Keywords Concepts and Vocabularies
Haystack 2018 - Algorithmic Extraction of Keywords Concepts and VocabulariesHaystack 2018 - Algorithmic Extraction of Keywords Concepts and Vocabularies
Haystack 2018 - Algorithmic Extraction of Keywords Concepts and Vocabularies
 
Crowdsourced query augmentation through the semantic discovery of domain spec...
Crowdsourced query augmentation through the semantic discovery of domain spec...Crowdsourced query augmentation through the semantic discovery of domain spec...
Crowdsourced query augmentation through the semantic discovery of domain spec...
 
OUTDATED Text Mining 3/5: String Processing
OUTDATED Text Mining 3/5: String ProcessingOUTDATED Text Mining 3/5: String Processing
OUTDATED Text Mining 3/5: String Processing
 

Viewers also liked

Querying your database in natural language by Daniel Moisset PyData SV 2014
Querying your database in natural language by Daniel Moisset PyData SV 2014Querying your database in natural language by Daniel Moisset PyData SV 2014
Querying your database in natural language by Daniel Moisset PyData SV 2014PyData
 
An RDF Dataset Generator for the Social Network Benchmark with Real-World Coh...
An RDF Dataset Generator for the Social Network Benchmark with Real-World Coh...An RDF Dataset Generator for the Social Network Benchmark with Real-World Coh...
An RDF Dataset Generator for the Social Network Benchmark with Real-World Coh...Holistic Benchmarking of Big Linked Data
 
NLIDB(Natural Language Interface to DataBases)
NLIDB(Natural Language Interface to DataBases)NLIDB(Natural Language Interface to DataBases)
NLIDB(Natural Language Interface to DataBases)Swetha Pallati
 

Viewers also liked (7)

Leopard ISWC Semantic Web Challenge 2017 (poster)
Leopard ISWC Semantic Web Challenge 2017 (poster)Leopard ISWC Semantic Web Challenge 2017 (poster)
Leopard ISWC Semantic Web Challenge 2017 (poster)
 
Querying your database in natural language by Daniel Moisset PyData SV 2014
Querying your database in natural language by Daniel Moisset PyData SV 2014Querying your database in natural language by Daniel Moisset PyData SV 2014
Querying your database in natural language by Daniel Moisset PyData SV 2014
 
An RDF Dataset Generator for the Social Network Benchmark with Real-World Coh...
An RDF Dataset Generator for the Social Network Benchmark with Real-World Coh...An RDF Dataset Generator for the Social Network Benchmark with Real-World Coh...
An RDF Dataset Generator for the Social Network Benchmark with Real-World Coh...
 
Benchmarking Faceted Browsing Capabilities of Triple Stores
Benchmarking Faceted Browsing Capabilities of Triple StoresBenchmarking Faceted Browsing Capabilities of Triple Stores
Benchmarking Faceted Browsing Capabilities of Triple Stores
 
QALD-7 Question Answering over Linked Data Challenge
QALD-7 Question Answering over Linked Data ChallengeQALD-7 Question Answering over Linked Data Challenge
QALD-7 Question Answering over Linked Data Challenge
 
HOBBIT Link Discovery Benchmarks at OM2017 ISWC 2017
HOBBIT Link Discovery Benchmarks at OM2017 ISWC 2017HOBBIT Link Discovery Benchmarks at OM2017 ISWC 2017
HOBBIT Link Discovery Benchmarks at OM2017 ISWC 2017
 
NLIDB(Natural Language Interface to DataBases)
NLIDB(Natural Language Interface to DataBases)NLIDB(Natural Language Interface to DataBases)
NLIDB(Natural Language Interface to DataBases)
 

Similar to Natural Language Search with Neo4j Graph Database

Text-mining and Automation
Text-mining and AutomationText-mining and Automation
Text-mining and Automationbenosteen
 
Ace Maths Solutions Unit Five Reading: Exercises on Teaching Data Handling (pdf)
Ace Maths Solutions Unit Five Reading: Exercises on Teaching Data Handling (pdf)Ace Maths Solutions Unit Five Reading: Exercises on Teaching Data Handling (pdf)
Ace Maths Solutions Unit Five Reading: Exercises on Teaching Data Handling (pdf)PiLNAfrica
 
Ace Maths Solutions Unit Five Reading: Exercises on Teaching Data Handling (pdf)
Ace Maths Solutions Unit Five Reading: Exercises on Teaching Data Handling (pdf)Ace Maths Solutions Unit Five Reading: Exercises on Teaching Data Handling (pdf)
Ace Maths Solutions Unit Five Reading: Exercises on Teaching Data Handling (pdf)Saide OER Africa
 
Ace Maths Solutions Unit Five Reading: Exercises on Teaching Data Handling (w...
Ace Maths Solutions Unit Five Reading: Exercises on Teaching Data Handling (w...Ace Maths Solutions Unit Five Reading: Exercises on Teaching Data Handling (w...
Ace Maths Solutions Unit Five Reading: Exercises on Teaching Data Handling (w...PiLNAfrica
 
Ace Maths Solutions Unit Five Reading: Exercises on Teaching Data Handling (w...
Ace Maths Solutions Unit Five Reading: Exercises on Teaching Data Handling (w...Ace Maths Solutions Unit Five Reading: Exercises on Teaching Data Handling (w...
Ace Maths Solutions Unit Five Reading: Exercises on Teaching Data Handling (w...Saide OER Africa
 
Hacking and mash-ups for beginners at MCN2011
Hacking and mash-ups for beginners at MCN2011Hacking and mash-ups for beginners at MCN2011
Hacking and mash-ups for beginners at MCN2011Mia
 
Genomics data insights
Genomics data insightsGenomics data insights
Genomics data insightsVishwas N
 
Applications of Large Language Models in Materials Discovery and Design
Applications of Large Language Models in Materials Discovery and DesignApplications of Large Language Models in Materials Discovery and Design
Applications of Large Language Models in Materials Discovery and DesignAnubhav Jain
 
ExperTwin: An Alter Ego in Cyberspace for Knowledge Workers
ExperTwin: An Alter Ego in Cyberspace for Knowledge WorkersExperTwin: An Alter Ego in Cyberspace for Knowledge Workers
ExperTwin: An Alter Ego in Cyberspace for Knowledge WorkersCarlos Toxtli
 
Week1- Introduction.pptx
Week1- Introduction.pptxWeek1- Introduction.pptx
Week1- Introduction.pptxfahmi324663
 
Breaking Through The Challenges of Scalable Deep Learning for Video Analytics
Breaking Through The Challenges of Scalable Deep Learning for Video AnalyticsBreaking Through The Challenges of Scalable Deep Learning for Video Analytics
Breaking Through The Challenges of Scalable Deep Learning for Video AnalyticsJason Anderson
 
Data science presentation
Data science presentationData science presentation
Data science presentationMSDEVMTL
 
Real-time Generation of Topic Maps from Speech Streams
Real-time Generation of Topic Maps from Speech StreamsReal-time Generation of Topic Maps from Speech Streams
Real-time Generation of Topic Maps from Speech Streamstmra
 
Azure cognitive service
Azure cognitive serviceAzure cognitive service
Azure cognitive serviceVishwas N
 
Riding The Semantic Wave
Riding The Semantic WaveRiding The Semantic Wave
Riding The Semantic WaveKaniska Mandal
 
Building a Semantic search Engine in a library
Building a Semantic search Engine in a libraryBuilding a Semantic search Engine in a library
Building a Semantic search Engine in a librarySEECS NUST
 
MongoDB & Machine Learning
MongoDB & Machine LearningMongoDB & Machine Learning
MongoDB & Machine LearningTom Maiaroto
 
Data Science Accelerator Program
Data Science Accelerator ProgramData Science Accelerator Program
Data Science Accelerator ProgramGoDataDriven
 
Designing a synergistic relationship between undergraduate Data Science educa...
Designing a synergistic relationship between undergraduate Data Science educa...Designing a synergistic relationship between undergraduate Data Science educa...
Designing a synergistic relationship between undergraduate Data Science educa...Ciera Martinez
 

Similar to Natural Language Search with Neo4j Graph Database (20)

Text-mining and Automation
Text-mining and AutomationText-mining and Automation
Text-mining and Automation
 
Ace Maths Solutions Unit Five Reading: Exercises on Teaching Data Handling (pdf)
Ace Maths Solutions Unit Five Reading: Exercises on Teaching Data Handling (pdf)Ace Maths Solutions Unit Five Reading: Exercises on Teaching Data Handling (pdf)
Ace Maths Solutions Unit Five Reading: Exercises on Teaching Data Handling (pdf)
 
Ace Maths Solutions Unit Five Reading: Exercises on Teaching Data Handling (pdf)
Ace Maths Solutions Unit Five Reading: Exercises on Teaching Data Handling (pdf)Ace Maths Solutions Unit Five Reading: Exercises on Teaching Data Handling (pdf)
Ace Maths Solutions Unit Five Reading: Exercises on Teaching Data Handling (pdf)
 
Ace Maths Solutions Unit Five Reading: Exercises on Teaching Data Handling (w...
Ace Maths Solutions Unit Five Reading: Exercises on Teaching Data Handling (w...Ace Maths Solutions Unit Five Reading: Exercises on Teaching Data Handling (w...
Ace Maths Solutions Unit Five Reading: Exercises on Teaching Data Handling (w...
 
Ace Maths Solutions Unit Five Reading: Exercises on Teaching Data Handling (w...
Ace Maths Solutions Unit Five Reading: Exercises on Teaching Data Handling (w...Ace Maths Solutions Unit Five Reading: Exercises on Teaching Data Handling (w...
Ace Maths Solutions Unit Five Reading: Exercises on Teaching Data Handling (w...
 
Hacking and mash-ups for beginners at MCN2011
Hacking and mash-ups for beginners at MCN2011Hacking and mash-ups for beginners at MCN2011
Hacking and mash-ups for beginners at MCN2011
 
Genomics data insights
Genomics data insightsGenomics data insights
Genomics data insights
 
Applications of Large Language Models in Materials Discovery and Design
Applications of Large Language Models in Materials Discovery and DesignApplications of Large Language Models in Materials Discovery and Design
Applications of Large Language Models in Materials Discovery and Design
 
ExperTwin: An Alter Ego in Cyberspace for Knowledge Workers
ExperTwin: An Alter Ego in Cyberspace for Knowledge WorkersExperTwin: An Alter Ego in Cyberspace for Knowledge Workers
ExperTwin: An Alter Ego in Cyberspace for Knowledge Workers
 
Week1- Introduction.pptx
Week1- Introduction.pptxWeek1- Introduction.pptx
Week1- Introduction.pptx
 
Breaking Through The Challenges of Scalable Deep Learning for Video Analytics
Breaking Through The Challenges of Scalable Deep Learning for Video AnalyticsBreaking Through The Challenges of Scalable Deep Learning for Video Analytics
Breaking Through The Challenges of Scalable Deep Learning for Video Analytics
 
Data science presentation
Data science presentationData science presentation
Data science presentation
 
How to supervise a thesis in NLP in the ChatGPT era? By Laure Soulier
How to supervise a thesis in NLP in the ChatGPT era? By Laure SoulierHow to supervise a thesis in NLP in the ChatGPT era? By Laure Soulier
How to supervise a thesis in NLP in the ChatGPT era? By Laure Soulier
 
Real-time Generation of Topic Maps from Speech Streams
Real-time Generation of Topic Maps from Speech StreamsReal-time Generation of Topic Maps from Speech Streams
Real-time Generation of Topic Maps from Speech Streams
 
Azure cognitive service
Azure cognitive serviceAzure cognitive service
Azure cognitive service
 
Riding The Semantic Wave
Riding The Semantic WaveRiding The Semantic Wave
Riding The Semantic Wave
 
Building a Semantic search Engine in a library
Building a Semantic search Engine in a libraryBuilding a Semantic search Engine in a library
Building a Semantic search Engine in a library
 
MongoDB & Machine Learning
MongoDB & Machine LearningMongoDB & Machine Learning
MongoDB & Machine Learning
 
Data Science Accelerator Program
Data Science Accelerator ProgramData Science Accelerator Program
Data Science Accelerator Program
 
Designing a synergistic relationship between undergraduate Data Science educa...
Designing a synergistic relationship between undergraduate Data Science educa...Designing a synergistic relationship between undergraduate Data Science educa...
Designing a synergistic relationship between undergraduate Data Science educa...
 

More from Kenny Bastani

In the Eventual Consistency of Succeeding at Microservices
In the Eventual Consistency of Succeeding at MicroservicesIn the Eventual Consistency of Succeeding at Microservices
In the Eventual Consistency of Succeeding at MicroservicesKenny Bastani
 
Building Cloud Native Architectures with Spring
Building Cloud Native Architectures with SpringBuilding Cloud Native Architectures with Spring
Building Cloud Native Architectures with SpringKenny Bastani
 
Extending the Platform with Spring Boot and Cloud Foundry
Extending the Platform with Spring Boot and Cloud FoundryExtending the Platform with Spring Boot and Cloud Foundry
Extending the Platform with Spring Boot and Cloud FoundryKenny Bastani
 
Back your app with MySQL and Redis on Cloud Foundry
Back your app with MySQL and Redis on Cloud FoundryBack your app with MySQL and Redis on Cloud Foundry
Back your app with MySQL and Redis on Cloud FoundryKenny Bastani
 
Using Docker, Neo4j, and Spring Cloud for Developing Microservices
Using Docker, Neo4j, and Spring Cloud for Developing MicroservicesUsing Docker, Neo4j, and Spring Cloud for Developing Microservices
Using Docker, Neo4j, and Spring Cloud for Developing MicroservicesKenny Bastani
 
Cloud Native Java Microservices
Cloud Native Java MicroservicesCloud Native Java Microservices
Cloud Native Java MicroservicesKenny Bastani
 
Building REST APIs with Spring Boot and Spring Cloud
Building REST APIs with Spring Boot and Spring CloudBuilding REST APIs with Spring Boot and Spring Cloud
Building REST APIs with Spring Boot and Spring CloudKenny Bastani
 
Open Source Big Graph Analytics on Neo4j with Apache Spark
Open Source Big Graph Analytics on Neo4j with Apache SparkOpen Source Big Graph Analytics on Neo4j with Apache Spark
Open Source Big Graph Analytics on Neo4j with Apache SparkKenny Bastani
 
Big Graph Analytics on Neo4j with Apache Spark
Big Graph Analytics on Neo4j with Apache SparkBig Graph Analytics on Neo4j with Apache Spark
Big Graph Analytics on Neo4j with Apache SparkKenny Bastani
 
Document Classification with Neo4j
Document Classification with Neo4jDocument Classification with Neo4j
Document Classification with Neo4jKenny Bastani
 
Neo4j Graph Data Modeling
Neo4j Graph Data ModelingNeo4j Graph Data Modeling
Neo4j Graph Data ModelingKenny Bastani
 
Building a Graph-based Analytics Platform
Building a Graph-based Analytics PlatformBuilding a Graph-based Analytics Platform
Building a Graph-based Analytics PlatformKenny Bastani
 
Building Killer Apps with Neo4j 2.0
Building Killer Apps with Neo4j 2.0Building Killer Apps with Neo4j 2.0
Building Killer Apps with Neo4j 2.0Kenny Bastani
 

More from Kenny Bastani (13)

In the Eventual Consistency of Succeeding at Microservices
In the Eventual Consistency of Succeeding at MicroservicesIn the Eventual Consistency of Succeeding at Microservices
In the Eventual Consistency of Succeeding at Microservices
 
Building Cloud Native Architectures with Spring
Building Cloud Native Architectures with SpringBuilding Cloud Native Architectures with Spring
Building Cloud Native Architectures with Spring
 
Extending the Platform with Spring Boot and Cloud Foundry
Extending the Platform with Spring Boot and Cloud FoundryExtending the Platform with Spring Boot and Cloud Foundry
Extending the Platform with Spring Boot and Cloud Foundry
 
Back your app with MySQL and Redis on Cloud Foundry
Back your app with MySQL and Redis on Cloud FoundryBack your app with MySQL and Redis on Cloud Foundry
Back your app with MySQL and Redis on Cloud Foundry
 
Using Docker, Neo4j, and Spring Cloud for Developing Microservices
Using Docker, Neo4j, and Spring Cloud for Developing MicroservicesUsing Docker, Neo4j, and Spring Cloud for Developing Microservices
Using Docker, Neo4j, and Spring Cloud for Developing Microservices
 
Cloud Native Java Microservices
Cloud Native Java MicroservicesCloud Native Java Microservices
Cloud Native Java Microservices
 
Building REST APIs with Spring Boot and Spring Cloud
Building REST APIs with Spring Boot and Spring CloudBuilding REST APIs with Spring Boot and Spring Cloud
Building REST APIs with Spring Boot and Spring Cloud
 
Open Source Big Graph Analytics on Neo4j with Apache Spark
Open Source Big Graph Analytics on Neo4j with Apache SparkOpen Source Big Graph Analytics on Neo4j with Apache Spark
Open Source Big Graph Analytics on Neo4j with Apache Spark
 
Big Graph Analytics on Neo4j with Apache Spark
Big Graph Analytics on Neo4j with Apache SparkBig Graph Analytics on Neo4j with Apache Spark
Big Graph Analytics on Neo4j with Apache Spark
 
Document Classification with Neo4j
Document Classification with Neo4jDocument Classification with Neo4j
Document Classification with Neo4j
 
Neo4j Graph Data Modeling
Neo4j Graph Data ModelingNeo4j Graph Data Modeling
Neo4j Graph Data Modeling
 
Building a Graph-based Analytics Platform
Building a Graph-based Analytics PlatformBuilding a Graph-based Analytics Platform
Building a Graph-based Analytics Platform
 
Building Killer Apps with Neo4j 2.0
Building Killer Apps with Neo4j 2.0Building Killer Apps with Neo4j 2.0
Building Killer Apps with Neo4j 2.0
 

Recently uploaded

Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...panagenda
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Scott Andery
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 

Recently uploaded (20)

Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 

Natural Language Search with Neo4j Graph Database

  • 2. We’ll be covering... What is natural language search? What do brains and graphs have in common? How do you model time as a graph? How do you model time-based events on a graph? How do you anticipate natural language queries and map those to results? How do you transform answers into questions?
  • 3. What is Natural Language Search? Natural language search is like querying a database using your own natural language. In a way, it is kind of like programming a person with words (Teaching, Evangelism, Sales Pitches, Planning, etc.)
  • 4. Progress What is natural language search? What do brains and graphs have in common? How do you model time as a graph? How do you model time-based events on a graph? How do you anticipate natural language queries and map those to results? How do you transform answers into questions?
  • 5. What do brains and graphs have in common? Networks condense a lot of information into small points. These small points help us understand or interpret a lot of information by exploring the world from many different small points. Graphs, like brains, help us explore a lot of information from relative points.
  • 6. But what is a network? A network is a representation or model of the interconnectedness of information. A graph is the de facto mathematical component that defines the level of interconnectivity in a network. A graph database merges these two concepts into a persistent storage medium. Networks (Information) + Graph (Mathematics) = Neo4j
  • 7. Graph of people meeting people Anne met Pam Pam met Sally Sally met Anne John met Sally
  • 8. Path Finding = Searching The key component when using a graph database is traversals. Traversals model the pathways in a network by enumerating over all possibilities. Possibilities that meet a criteria are returned by a query. (Neo4j’s Cypher Query Language)
  • 9. Progress What is natural language search? What do brains and graphs have in common? How do you model time as a graph? How do you model time-based events on a graph? How do you anticipate natural language queries and map those to results? How do you transform answers into questions?
  • 10. Time based traversals Time is a hierarchical method of categorizing the linearity of global events. Hours, minutes, seconds... “Neo4j Meetup is at 6:00 PM on October 29th”
  • 11. Time Scale Event Meta Model Modeling events over time is easy in Neo4j Let’s go over the GraphGist for the Time Scale Event Meta Model http://gist.neo4j.org/?github-kbastani%2Fgists%2F%2Fmeta%2FTimeScaleEventMetaModel.adoc ac
  • 12.
  • 13. Progress What is natural language search? What do brains and graphs have in common? How do you model time as a graph? How do you model time-based events on a graph? How do you anticipate natural language queries and map those to results? How do you transform answers into questions?
  • 14.
  • 15. Progress What is natural language search? What do brains and graphs have in common? How do you model time as a graph? How do you model time-based events on a graph? How do you anticipate natural language queries and map those to results? How do you transform answers into questions?
  • 16. Neo4j allows you to store information as a series of paths, and that is really valuable for giving a user options when it comes to search. It starts with something I call “Search Cache”
  • 17. Search Cache A search cache is a repository of all relevant paths condensed into a hierarchical data store. A hierarchical data store is like folder paths that model a storage collection into a linear path. (Dimensionality Reduction) An address is a hierarchy, revealing a path. ex. http://www.neo4j.com/download ex. > rootneo4j-communitybinneo4j.sh Natural language path: > what is the matrix?
  • 18.
  • 19. Type Ahead / Autocomplete For search it comes down to enumerating over all possibilities and then mapping those paths to an action. http://kbastani.github.io/predictive-autocomplete Never do real time processing for natural language search (It is a hard problem -which means it will take time*)
  • 20. Distributed Caching Frameworks Take a distributed approach to building out your search cache. Use Neo4j to model your network and then enumerate over all possibilities as a query and add each possibility to a search cache. Distribute the load to a network of compute instances like MapReduce. In C# at http://kbastani.github.io/predictive-autocomplete
  • 21. How do I build a search cache? The best way to do this is using blob storage. I use Windows Azure, but you can use any data storage as long as it maps to a JSON file via HTTP GET request. ex. HTTP GET ../natural/language/search/is/cool .. Working on open source project using C#
  • 22. Progress What is natural language search? What do brains and graphs have in common? How do you model time as a graph? How do you model time-based events on a graph? How do you anticipate natural language queries and map those to results? How do you transform answers into questions?
  • 23. How to transform answers into questions? You have a bunch of answers already in natural language. Each language has a specific template that allows you to transform an answer into a question. “X is Y” -> “What is X?” Is X a Person? Then “Who is X?” Add “What is X?” to the search cache. Example: http://www.arktera.com/
  • 25. Neo4j Events http://www.graphconnect.com New York: November 5-6 London: November 18-19 http://www.graphconnect.com/videos Watch the videos! Very valuable insights from our community
  • 26. Neo4j Trainings Interested in Neo4j training? Talk to me after!
  • 27. Thanks! Follow me on Twitter! @kennybastani Connect with me on LinkedIn /in/kennybastani

Editor's Notes

  1. {}