Knowledge graphs + Chatbots with Neo4j

Christophe Willemsen
Christophe WillemsenNeo4j Senior Consultant at GraphAware
Knowledge Graphs and
Chatbots with Neo4j
GraphAware, world’s #1 Neo4j consultancy
graphaware.com
@graph_aware
● Christophe Willemsen
● From Belgium but living in Southern Italy
● Principal Consultant at GraphAware
● Expert in Graphs and Search
● Currently researching in Natural Language Understanding
and its implementation in chatbots
About me
@ikwattro
● How to represent Knowledge in a Graph
○ Text Processing
■ Processing Text
■ Information Extraction
■ Keywords Extraction
○ Enrichment
■ Concept Bases
■ Visual Content Metadata
■ External Knowledge Bases
● Knowledge Graphs to power advanced applications
○ Our demo : Brain Bro
○ Knowledge Graphs in the Real Life
○ Phonetic issues
○ Soft Cosine Measure (SCM)
○ Visual and Temporal Memory for Recall
Outline
● Original domain model,
for eg authors of news,
news, views, original
topics, etc.
● Standard text
processing features
● Information Extraction
● Enrichment
● Facts
● Knowledge Entities
and Semantic
relationships
● Built from aggregation
and validation of layer
1 and 2
● Offers Multi-View
(Perspectives)
DOMAIN MODEL
LAYER 1
TEXT UNDERSTANDING
LAYER 2
KNOWLEDGE GRAPH
LAYER 3
USER CONTEXT
LAYER 4
● Keeps track of the user
conversation
● Relates conversation
steps to entry points in
the Knowledge Graph
● Use distance to
determine out of
context situations
How to represent
Knowledge in a Graph?
Knowledge graphs + Chatbots with Neo4j
● Original domain model,
for eg authors of news,
news, views, original
topics, etc.
● Standard text
processing features
● Information Extraction
● Enrichment
● Facts
● Knowledge Entities
and Semantic
relationships
● Built from aggregation
and validation of layer
1 and 2
● Offers Multi-View
(Perspectives)
DOMAIN MODEL
LAYER 1
TEXT UNDERSTANDING
LAYER 2
KNOWLEDGE GRAPH
LAYER 3
USER CONTEXT
LAYER 4
● Keeps track of the user
conversation
● Relates conversation
steps to entry points in
the Knowledge Graph
● Use distance to
determine out of
context situations
● Natural Language Processing
○ Sentence segmentation
○ Tokenization
○ Stopwords Removal
○ Part of Speech Tagging
○
Text Understanding
● Natural Language Processing
○ Sentence segmentation
○ Tokenization
○ Stopwords Removal
○ Part of Speech Tagging
○ Named Entity Recognition
Text Understanding
CALL ga.nlp.annotate({text: n.text, id: id(n)})
Text Understanding
Knowledge graphs + Chatbots with Neo4j
Knowledge graphs + Chatbots with Neo4j
NER
● Natural Language Processing
○ Sentence segmentation
○ Tokenization
○ Stopwords Removal
○ Part of Speech Tagging
○ Named Entity Recognition
○ Syntactic Dependencies Parsing
Text Understanding
Knowledge graphs + Chatbots with Neo4j
Knowledge graphs + Chatbots with Neo4j
Knowledge graphs + Chatbots with Neo4j
● Facts
○ Using Semantic Parsers to extract facts from sentences in a
Subject-Root-Object form
Text Understanding
Knowledge graphs + Chatbots with Neo4j
Knowledge graphs + Chatbots with Neo4j
● Keywords Extraction
○ Unsupervised algorithm
○ Using TextRank wich under the hood uses PageRank
○ Performs better than most supervised algorithms
○ http://bit.ly/graphaware-textrank
Text Understanding
Enrichment
Knowledge graphs + Chatbots with Neo4j
Knowledge graphs + Chatbots with Neo4j
CALL ga.nlp.enrich.concept
({enricher:’conceptnet5’, node: n})
Enrichment
Concept Bases
Knowledge graphs + Chatbots with Neo4j
Enrichment
Visual Metadata
Knowledge graphs + Chatbots with Neo4j
Enrichment
External Knowledge Bases
Knowledge graphs + Chatbots with Neo4j
Find articles mentioning companies being founded by
Elon Musk and in the car industry
● Original domain model,
for eg authors of news,
news, views, original
topics, etc.
● Standard text
processing features
● Information Extraction
● Enrichment
● Facts
● Knowledge Entities
and Semantic
relationships
● Built from aggregation
and validation of layer
1 and 2
● Offers Multi-View
(Perspectives)
DOMAIN MODEL
LAYER 1
TEXT UNDERSTANDING
LAYER 2
KNOWLEDGE GRAPH
LAYER 3
USER CONTEXT
LAYER 4
● Keeps track of the user
conversation
● Relates conversation
steps to entry points in
the Knowledge Graph
● Use distance to
determine out of
context situations
● How to build it ?
○ Aggregate all the information from the previous steps
○ Use external tools to validate some assumptions, e.g. :
Director of marketing -> corporate position
○ Create a new graph from those informations
The Knowledge Graph
Knowledge graphs + Chatbots with Neo4j
Knowledge Graphs to power
Advanced Applications
BrainBro
● NER issues
Knowledge Graphs IRL
● NER issues
○ Default recognizers are trained on generic texts and will often
perform poorly when lot of indentation is used
○ Dropbox IPO, Forty Seven, Consumer Business Group, Melinda
Gates Foundation (without Bill), …
○ You can “easily” build your own models with external
knowledge bases like wikidata
Knowledge Graphs IRL
● Phonetic Matching
○ SOUNDEX, DOUBLE METAPHONE, FUZZY
○ ELASTIC PHONETIC ANALYSIS PLUGIN
Knowledge Graphs IRL
● Visual Metadata Validation
Knowledge Graphs IRL
Knowledge graphs + Chatbots with Neo4j
● Visual Metadata Validation
○ Build a top-k vocabulary of the article, or the surrounding article parts of the
image
○ Use word2vec to compute relevancy of class labels returned by image
recognition services
○ Use SCM ( Soft Cosine Measure ) [1] [2]
Knowledge Graphs IRL
1. Grigori Sidorov et al. Soft Similarity and Soft Cosine Measure: Similarity of Features in
Vector Space Model, 2014. (link to PDF)
2. Delphine Charlet and Geraldine Damnati, SimBow at SemEval-2017 Task 3: Soft-Cosine
Semantic Similarity between Questions for Community Question Answering, 2017. (link to
PDF)
Visual and Temporal
Memory for Recall
● Original domain model,
for eg authors of news,
news, views, original
topics, etc.
● Standard text
processing features
● Information Extraction
● Enrichment
● Facts
● Knowledge Entities
and Semantic
relationships
● Built from aggregation
and validation of layer
1 and 2
● Offers Multi-View
(Perspectives)
DOMAIN MODEL
LAYER 1
TEXT UNDERSTANDING
LAYER 2
KNOWLEDGE GRAPH
LAYER 3
USER CONTEXT
LAYER 4
● Keeps track of the user
conversation
● Relates conversation
steps to entry points in
the Knowledge Graph
● Use distance to
determine out of
context situations
● Intent detection
○ What did Ahmed Fathi say about blockchains ?
○ Where is ABC Arabia Bank located ?
○ What does a person with a leader position think about
investment banks ?
Querying Knowledge
● Intent detection
○ What did Ahmed Fathi say about blockchains ?
○ Where is ABC Arabia Bank located ?
○ What does a person with a leader position think about
investment banks ?
Understand what we want out of the knowledge graph
Querying Knowledge
● Intent detection
○ What did Ahmed Fathi say about blockchains ?
○ Where is ABC Arabia Bank located ?
○ What does a person with a leader position thinks about
investment banks ?
Understand what we want out of the knowledge graph
Querying Knowledge
Looking for facts?
● Intent detection
○ What did say Ahmed Fathi about blockchains ?
○ Where is ABC Arabia Bank located ?
○ What does a person with a leader position thinks about
investment banks ?
Understand what we want out of the knowledge graph
Querying Knowledge
Looking for a Location entity
● Intent detection
○ What did say Ahmed Fathi about blockchains ?
○ Where is ABC Arabia Bank located ?
○ What does a person with a leader position think about
investment banks ?
Understand what we want out of the knowledge graph
Querying Knowledge
If you “say” something, do you
“think” it ?
● Entity Extraction
○ What did Ahmed Fathi say about blockchains ?
○ Where is ABC Arabia Bank located ?
○ What does a person with a leader position think about
investment banks ?
Querying Knowledge
● Entity Extraction
○ What did Ahmed Fathi say about blockchains ?
○ Where is ABC Arabia Bank located ?
○ What does a person with a leader position think about
investment banks ?
Determine Entry Points in the Knowledge Graph as well as
semantic constraints
Querying Knowledge
● Entity Extraction
○ What did Ahmed Fathi say about blockchains ?
○ Where is ABC Arabia Bank located ?
○ What does a person with a leader position thinks about
investment banks ?
Determine Entry Points in the Knowledge Graph as well as
semantic constraints
Querying Knowledge
Person Entity : Ahmed Fathi
Semantic: SAY
Topic: blockchain
● Entity Extraction
○ What did say Ahmed Fathi about blockchains ?
○ Where is ABC Arabia Bank located ?
○ What does a person with a leader position thinks about
investment banks ?
Determine Entry Points in the Knowledge Graph as well as
semantic constraints
Querying Knowledge
Company Entity : ABC Arabia Bank
● Entity Extraction
○ What did say Ahmed Fathi about blockchains ?
○ Where is ABC Arabia Bank located ?
○ What does a person with a leader position thinks about
investment banks ?
Determine Entry Points in the Knowledge Graph as well as
semantic constraints
Querying Knowledge
Company Position : Leader position
Person: related to position
Semantic: think
Topic: investment bank
● Query representation
○ Queries should be treated as original corpus and pass the same
set of processing
Querying Knowledge
Knowledge graphs + Chatbots with Neo4j
Can this be used to match against a Person label in the
Knowledge Graph ?
How to match “do think about” with a “SAY” relationship in the Knowledge
Graph?
How to match “do think about” to a “SAY” relationship in the Knowledge
Graph?
Probabilistic Traversals
● Probabilistic Traversals
○ Use a probability based classifier like Naive Bayes for
determining the type of the relationship to traverse
○ Avoid to return non-relevant results in a “Always return
something architecture”
● Dynamic Query Stack
○ Depending on the intent, the graph should be queried
differently, there is no rocket science out of the box answer to
how, just knowing your domain and lot lot lot of failures and
tests
○ The Knowledge Graph is queried but not only that, you could
also query the NLP graph for tf-idf enforcement and score the
results with different weights at the end
● Queries made
○ EntityLinking()
○ EntitiesSimilarity()
○ SemanticSimilarity()
○ TraversalProbability()
○ KeywordSensitivePageRank()
○ TopicSensitivePageRank()
○ TF-IDF()
● Lot of techniques
○ Minimum subgraph matching
○ Sequence pattern recognition for SVO generation when queries
are not parsed fully
○ Voice adaptations aka soundex
○ Deep learning
○ ...
Knowledge graphs + Chatbots with Neo4j
User Query and Context
● Conversation
○ After all, chatbots are considered as Conversational Interfaces, it
wouldn’t have this name if the end goal of such systems is
having a conversation with a machine
○ Keeping track of where the user is in the conversation can help
to add more constraints to the queries
User Context
Knowledge graphs + Chatbots with Neo4j
● When to go out ?
○ A user can quickly go out of context during a conversation, for
example :
* How is the weather in San Francisco ?
-- it is 25 degrees
* what size?
-- ?? Are you really gonna try to find a response?
○ We use distance calculation in the graph based to trigger
Signals if the user is out of context
User Context
● Some more thoughts
○ Embrace failures
○ Monitor
○ Humans are still a thing
○ ..
world’s #1 Neo4j consultancy
www.graphaware.com @graph_aware
Thank you !
Christophe Willemsen
@ikwattro
1 of 71

Recommended

Transfer Learning for Natural Language Processing by
Transfer Learning for Natural Language ProcessingTransfer Learning for Natural Language Processing
Transfer Learning for Natural Language ProcessingSebastian Ruder
4.9K views37 slides
Introduction of Knowledge Graphs by
Introduction of Knowledge GraphsIntroduction of Knowledge Graphs
Introduction of Knowledge GraphsJeff Z. Pan
1.9K views41 slides
word level analysis by
word level analysis word level analysis
word level analysis tjs1
231 views29 slides
Taxonomy Management based on SKOS-XL by
Taxonomy Management based on SKOS-XLTaxonomy Management based on SKOS-XL
Taxonomy Management based on SKOS-XLAndreas Blumauer
1K views26 slides
Natural Language Processing by
Natural Language ProcessingNatural Language Processing
Natural Language ProcessingToine Bogers
697 views91 slides
Converting Relational to Graph Databases by
Converting Relational to Graph DatabasesConverting Relational to Graph Databases
Converting Relational to Graph DatabasesAntonio Maccioni
8.6K views14 slides

More Related Content

What's hot

Big Data, Fast Data @ PayPal (YOW 2018) by
Big Data, Fast Data @ PayPal (YOW 2018)Big Data, Fast Data @ PayPal (YOW 2018)
Big Data, Fast Data @ PayPal (YOW 2018)Sid Anand
3.1K views100 slides
Retrieval Augmented Generation in Practice: Scalable GenAI platforms with k8s... by
Retrieval Augmented Generation in Practice: Scalable GenAI platforms with k8s...Retrieval Augmented Generation in Practice: Scalable GenAI platforms with k8s...
Retrieval Augmented Generation in Practice: Scalable GenAI platforms with k8s...Mihai Criveti
223 views16 slides
Microservices Workshop All Topics Deck 2016 by
Microservices Workshop All Topics Deck 2016Microservices Workshop All Topics Deck 2016
Microservices Workshop All Topics Deck 2016Adrian Cockcroft
33.4K views364 slides
Mirth Connect as Interface Engine Case Study v2 by
Mirth Connect as Interface Engine Case Study v2Mirth Connect as Interface Engine Case Study v2
Mirth Connect as Interface Engine Case Study v2Christopher Klaus
3.9K views16 slides
Introduction to NOSQL databases by
Introduction to NOSQL databasesIntroduction to NOSQL databases
Introduction to NOSQL databasesAshwani Kumar
2.2K views31 slides
Neo4j GraphSummit London March 2023 Emil Eifrem Keynote.pptx by
Neo4j GraphSummit London March 2023 Emil Eifrem Keynote.pptxNeo4j GraphSummit London March 2023 Emil Eifrem Keynote.pptx
Neo4j GraphSummit London March 2023 Emil Eifrem Keynote.pptxNeo4j
126 views36 slides

What's hot(20)

Big Data, Fast Data @ PayPal (YOW 2018) by Sid Anand
Big Data, Fast Data @ PayPal (YOW 2018)Big Data, Fast Data @ PayPal (YOW 2018)
Big Data, Fast Data @ PayPal (YOW 2018)
Sid Anand3.1K views
Retrieval Augmented Generation in Practice: Scalable GenAI platforms with k8s... by Mihai Criveti
Retrieval Augmented Generation in Practice: Scalable GenAI platforms with k8s...Retrieval Augmented Generation in Practice: Scalable GenAI platforms with k8s...
Retrieval Augmented Generation in Practice: Scalable GenAI platforms with k8s...
Mihai Criveti223 views
Microservices Workshop All Topics Deck 2016 by Adrian Cockcroft
Microservices Workshop All Topics Deck 2016Microservices Workshop All Topics Deck 2016
Microservices Workshop All Topics Deck 2016
Adrian Cockcroft33.4K views
Mirth Connect as Interface Engine Case Study v2 by Christopher Klaus
Mirth Connect as Interface Engine Case Study v2Mirth Connect as Interface Engine Case Study v2
Mirth Connect as Interface Engine Case Study v2
Christopher Klaus3.9K views
Introduction to NOSQL databases by Ashwani Kumar
Introduction to NOSQL databasesIntroduction to NOSQL databases
Introduction to NOSQL databases
Ashwani Kumar2.2K views
Neo4j GraphSummit London March 2023 Emil Eifrem Keynote.pptx by Neo4j
Neo4j GraphSummit London March 2023 Emil Eifrem Keynote.pptxNeo4j GraphSummit London March 2023 Emil Eifrem Keynote.pptx
Neo4j GraphSummit London March 2023 Emil Eifrem Keynote.pptx
Neo4j126 views
World Health Organisation - Knowledge Representation and Reasoning for Public... by Neo4j
World Health Organisation - Knowledge Representation and Reasoning for Public...World Health Organisation - Knowledge Representation and Reasoning for Public...
World Health Organisation - Knowledge Representation and Reasoning for Public...
Neo4j135 views
https://www.slideshare.net/neo4j/a-fusion-of-machine-learning-and-graph-analy... by Neo4j
https://www.slideshare.net/neo4j/a-fusion-of-machine-learning-and-graph-analy...https://www.slideshare.net/neo4j/a-fusion-of-machine-learning-and-graph-analy...
https://www.slideshare.net/neo4j/a-fusion-of-machine-learning-and-graph-analy...
Neo4j89 views
Deep learning in medicine: An introduction and applications to next-generatio... by Allen Day, PhD
Deep learning in medicine: An introduction and applications to next-generatio...Deep learning in medicine: An introduction and applications to next-generatio...
Deep learning in medicine: An introduction and applications to next-generatio...
Allen Day, PhD4.5K views
The path to success with graph database and graph data science_ Neo4j GraphSu... by Neo4j
The path to success with graph database and graph data science_ Neo4j GraphSu...The path to success with graph database and graph data science_ Neo4j GraphSu...
The path to success with graph database and graph data science_ Neo4j GraphSu...
Neo4j91 views
Knowledge Graphs for Transformation: Dynamic Context for the Intelligent Ente... by Neo4j
Knowledge Graphs for Transformation: Dynamic Context for the Intelligent Ente...Knowledge Graphs for Transformation: Dynamic Context for the Intelligent Ente...
Knowledge Graphs for Transformation: Dynamic Context for the Intelligent Ente...
Neo4j847 views
MLflow Model Serving by Databricks
MLflow Model ServingMLflow Model Serving
MLflow Model Serving
Databricks1.4K views
Twitter case study by divya_binu
Twitter case studyTwitter case study
Twitter case study
divya_binu1.8K views
Datacenter migration using vmware by Wilson Erique
Datacenter migration using vmwareDatacenter migration using vmware
Datacenter migration using vmware
Wilson Erique1.4K views
MongoDB - JSON'a Genel Bakış by Cihan Özhan
MongoDB - JSON'a Genel BakışMongoDB - JSON'a Genel Bakış
MongoDB - JSON'a Genel Bakış
Cihan Özhan126 views
Introducing Neo4j by Neo4j
Introducing Neo4jIntroducing Neo4j
Introducing Neo4j
Neo4j1K views
Retour d’expérience de Microsoft Services « Déploiement des contrôleurs de do... by fabricemeillon
Retour d’expérience de Microsoft Services « Déploiement des contrôleurs de do...Retour d’expérience de Microsoft Services « Déploiement des contrôleurs de do...
Retour d’expérience de Microsoft Services « Déploiement des contrôleurs de do...
fabricemeillon1.2K views
The path to success with Graph Database and Graph Data Science by Neo4j
The path to success with Graph Database and Graph Data ScienceThe path to success with Graph Database and Graph Data Science
The path to success with Graph Database and Graph Data Science
Neo4j106 views
Introduction to Artificial Intelligence on AWS by Amazon Web Services
Introduction to Artificial Intelligence on AWSIntroduction to Artificial Intelligence on AWS
Introduction to Artificial Intelligence on AWS
Amazon Web Services1.1K views

Similar to Knowledge graphs + Chatbots with Neo4j

Knowledge Graphs and Chatbots with Neo4j and IBM Watson - Christophe Willemsen by
Knowledge Graphs and Chatbots with Neo4j and IBM Watson - Christophe WillemsenKnowledge Graphs and Chatbots with Neo4j and IBM Watson - Christophe Willemsen
Knowledge Graphs and Chatbots with Neo4j and IBM Watson - Christophe WillemsenGraphAware
1.8K views61 slides
Discovering Emerging Tech through Graph Analysis - Henry Hwangbo @ GraphConne... by
Discovering Emerging Tech through Graph Analysis - Henry Hwangbo @ GraphConne...Discovering Emerging Tech through Graph Analysis - Henry Hwangbo @ GraphConne...
Discovering Emerging Tech through Graph Analysis - Henry Hwangbo @ GraphConne...Neo4j
2.7K views30 slides
Illustrating Graphs Visually through Neo4j Bloom by
Illustrating Graphs Visually through Neo4j BloomIllustrating Graphs Visually through Neo4j Bloom
Illustrating Graphs Visually through Neo4j BloomNeo4j
564 views17 slides
Getting a Data Science Job by
Getting a Data Science JobGetting a Data Science Job
Getting a Data Science JobAlexey Grigorev
2.4K views80 slides
Neo4j Generative AI workshop at GraphSummit London 14 Nov 2023.pdf by
Neo4j Generative AI workshop at GraphSummit London 14 Nov 2023.pdfNeo4j Generative AI workshop at GraphSummit London 14 Nov 2023.pdf
Neo4j Generative AI workshop at GraphSummit London 14 Nov 2023.pdfNeo4j
53 views57 slides
GDSC-UB_Google_interview_process_final.pdf by
GDSC-UB_Google_interview_process_final.pdfGDSC-UB_Google_interview_process_final.pdf
GDSC-UB_Google_interview_process_final.pdfGdscUb
107 views25 slides

Similar to Knowledge graphs + Chatbots with Neo4j(20)

Knowledge Graphs and Chatbots with Neo4j and IBM Watson - Christophe Willemsen by GraphAware
Knowledge Graphs and Chatbots with Neo4j and IBM Watson - Christophe WillemsenKnowledge Graphs and Chatbots with Neo4j and IBM Watson - Christophe Willemsen
Knowledge Graphs and Chatbots with Neo4j and IBM Watson - Christophe Willemsen
GraphAware1.8K views
Discovering Emerging Tech through Graph Analysis - Henry Hwangbo @ GraphConne... by Neo4j
Discovering Emerging Tech through Graph Analysis - Henry Hwangbo @ GraphConne...Discovering Emerging Tech through Graph Analysis - Henry Hwangbo @ GraphConne...
Discovering Emerging Tech through Graph Analysis - Henry Hwangbo @ GraphConne...
Neo4j2.7K views
Illustrating Graphs Visually through Neo4j Bloom by Neo4j
Illustrating Graphs Visually through Neo4j BloomIllustrating Graphs Visually through Neo4j Bloom
Illustrating Graphs Visually through Neo4j Bloom
Neo4j564 views
Neo4j Generative AI workshop at GraphSummit London 14 Nov 2023.pdf by Neo4j
Neo4j Generative AI workshop at GraphSummit London 14 Nov 2023.pdfNeo4j Generative AI workshop at GraphSummit London 14 Nov 2023.pdf
Neo4j Generative AI workshop at GraphSummit London 14 Nov 2023.pdf
Neo4j53 views
GDSC-UB_Google_interview_process_final.pdf by GdscUb
GDSC-UB_Google_interview_process_final.pdfGDSC-UB_Google_interview_process_final.pdf
GDSC-UB_Google_interview_process_final.pdf
GdscUb107 views
2016 XUG Conference Big Data: Big Deal for Personalized Communications or Meh? by Jeffrey Stewart
2016 XUG Conference   Big Data: Big Deal for Personalized Communications or Meh?2016 XUG Conference   Big Data: Big Deal for Personalized Communications or Meh?
2016 XUG Conference Big Data: Big Deal for Personalized Communications or Meh?
Jeffrey Stewart658 views
Agile Mumbai 2022 - Rohit Handa | Combining Human and Artificial Intelligence... by AgileNetwork
Agile Mumbai 2022 - Rohit Handa | Combining Human and Artificial Intelligence...Agile Mumbai 2022 - Rohit Handa | Combining Human and Artificial Intelligence...
Agile Mumbai 2022 - Rohit Handa | Combining Human and Artificial Intelligence...
AgileNetwork12 views
Andrii Belas "Modern approaches to working with categorical data in machine l... by Lviv Startup Club
Andrii Belas "Modern approaches to working with categorical data in machine l...Andrii Belas "Modern approaches to working with categorical data in machine l...
Andrii Belas "Modern approaches to working with categorical data in machine l...
Tackle Your Everyday Business Problems Like an Architect, Melissa Shepard by CzechDreamin
Tackle Your Everyday Business Problems Like an Architect, Melissa ShepardTackle Your Everyday Business Problems Like an Architect, Melissa Shepard
Tackle Your Everyday Business Problems Like an Architect, Melissa Shepard
CzechDreamin83 views
Create Knowledge with Users at Agile Korea 2013 by Kenji Hiranabe
Create Knowledge with Users at Agile Korea 2013Create Knowledge with Users at Agile Korea 2013
Create Knowledge with Users at Agile Korea 2013
Kenji Hiranabe1.8K views
Big data101kagglepresentation by Alexandru Sisu
Big data101kagglepresentationBig data101kagglepresentation
Big data101kagglepresentation
Alexandru Sisu500 views
Developing Information Architecture with Non-Technical Stakeholders by Vanessa Turke
Developing Information Architecture with Non-Technical StakeholdersDeveloping Information Architecture with Non-Technical Stakeholders
Developing Information Architecture with Non-Technical Stakeholders
Vanessa Turke2.1K views
General introduction to AI ML DL DS by Roopesh Kohad
General introduction to AI ML DL DSGeneral introduction to AI ML DL DS
General introduction to AI ML DL DS
Roopesh Kohad1.2K views
Neo4j Product Update and Bloom Demo by Neo4j
Neo4j Product Update and Bloom DemoNeo4j Product Update and Bloom Demo
Neo4j Product Update and Bloom Demo
Neo4j215 views
National Wildlife Federation- OMS- Dreamcore 2011 by nonlinear creations
National Wildlife Federation- OMS- Dreamcore 2011National Wildlife Federation- OMS- Dreamcore 2011
National Wildlife Federation- OMS- Dreamcore 2011
The Semantic Knowledge Graph by Trey Grainger
The Semantic Knowledge GraphThe Semantic Knowledge Graph
The Semantic Knowledge Graph
Trey Grainger12.3K views

More from Christophe Willemsen

Chatbots and Voice Conversational Interfaces with Amazon Alexa, Neo4j and Gra... by
Chatbots and Voice Conversational Interfaces with Amazon Alexa, Neo4j and Gra...Chatbots and Voice Conversational Interfaces with Amazon Alexa, Neo4j and Gra...
Chatbots and Voice Conversational Interfaces with Amazon Alexa, Neo4j and Gra...Christophe Willemsen
9.7K views49 slides
Management des issues Github avec Neo4j et NLP by
Management des issues Github avec Neo4j et NLPManagement des issues Github avec Neo4j et NLP
Management des issues Github avec Neo4j et NLPChristophe Willemsen
332 views30 slides
Your own recommendation engine with neo4j and reco4php - DPC16 by
Your own recommendation engine with neo4j and reco4php - DPC16Your own recommendation engine with neo4j and reco4php - DPC16
Your own recommendation engine with neo4j and reco4php - DPC16Christophe Willemsen
784 views59 slides
Recommendation Engines with Neo4j, Symfony and Reco4PHP by
Recommendation Engines with Neo4j, Symfony and Reco4PHPRecommendation Engines with Neo4j, Symfony and Reco4PHP
Recommendation Engines with Neo4j, Symfony and Reco4PHPChristophe Willemsen
847 views45 slides
Moteurs de recommendation avec Neo4j et GraphAwareReco by
Moteurs de recommendation avec Neo4j et GraphAwareRecoMoteurs de recommendation avec Neo4j et GraphAwareReco
Moteurs de recommendation avec Neo4j et GraphAwareRecoChristophe Willemsen
1.6K views45 slides
Recommandations avec Neo4j et le GraphAware Recommendation Engine by
Recommandations avec Neo4j et le GraphAware Recommendation EngineRecommandations avec Neo4j et le GraphAware Recommendation Engine
Recommandations avec Neo4j et le GraphAware Recommendation EngineChristophe Willemsen
2K views62 slides

More from Christophe Willemsen(12)

Chatbots and Voice Conversational Interfaces with Amazon Alexa, Neo4j and Gra... by Christophe Willemsen
Chatbots and Voice Conversational Interfaces with Amazon Alexa, Neo4j and Gra...Chatbots and Voice Conversational Interfaces with Amazon Alexa, Neo4j and Gra...
Chatbots and Voice Conversational Interfaces with Amazon Alexa, Neo4j and Gra...
Your own recommendation engine with neo4j and reco4php - DPC16 by Christophe Willemsen
Your own recommendation engine with neo4j and reco4php - DPC16Your own recommendation engine with neo4j and reco4php - DPC16
Your own recommendation engine with neo4j and reco4php - DPC16
Recommendation Engines with Neo4j, Symfony and Reco4PHP by Christophe Willemsen
Recommendation Engines with Neo4j, Symfony and Reco4PHPRecommendation Engines with Neo4j, Symfony and Reco4PHP
Recommendation Engines with Neo4j, Symfony and Reco4PHP
Moteurs de recommendation avec Neo4j et GraphAwareReco by Christophe Willemsen
Moteurs de recommendation avec Neo4j et GraphAwareRecoMoteurs de recommendation avec Neo4j et GraphAwareReco
Moteurs de recommendation avec Neo4j et GraphAwareReco
Recommandations avec Neo4j et le GraphAware Recommendation Engine by Christophe Willemsen
Recommandations avec Neo4j et le GraphAware Recommendation EngineRecommandations avec Neo4j et le GraphAware Recommendation Engine
Recommandations avec Neo4j et le GraphAware Recommendation Engine
Neo4j au secours de l'Internet of Connected Things by Christophe Willemsen
Neo4j au secours de l'Internet of Connected ThingsNeo4j au secours de l'Internet of Connected Things
Neo4j au secours de l'Internet of Connected Things
Graph Database Prototyping made easy with Graphgen by Christophe Willemsen
Graph Database Prototyping made easy with GraphgenGraph Database Prototyping made easy with Graphgen
Graph Database Prototyping made easy with Graphgen

Recently uploaded

Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI... by
Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI...Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI...
Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI...Marc Müller
31 views83 slides
Software testing company in India.pptx by
Software testing company in India.pptxSoftware testing company in India.pptx
Software testing company in India.pptxSakshiPatel82
7 views9 slides
DSD-INT 2023 Delft3D FM Suite 2024.01 2D3D - New features + Improvements - Ge... by
DSD-INT 2023 Delft3D FM Suite 2024.01 2D3D - New features + Improvements - Ge...DSD-INT 2023 Delft3D FM Suite 2024.01 2D3D - New features + Improvements - Ge...
DSD-INT 2023 Delft3D FM Suite 2024.01 2D3D - New features + Improvements - Ge...Deltares
16 views12 slides
Elevate your SAP landscape's efficiency and performance with HCL Workload Aut... by
Elevate your SAP landscape's efficiency and performance with HCL Workload Aut...Elevate your SAP landscape's efficiency and performance with HCL Workload Aut...
Elevate your SAP landscape's efficiency and performance with HCL Workload Aut...HCLSoftware
6 views2 slides
Consulting for Data Monetization Maximizing the Profit Potential of Your Data... by
Consulting for Data Monetization Maximizing the Profit Potential of Your Data...Consulting for Data Monetization Maximizing the Profit Potential of Your Data...
Consulting for Data Monetization Maximizing the Profit Potential of Your Data...Flexsin
15 views10 slides
El Arte de lo Possible by
El Arte de lo PossibleEl Arte de lo Possible
El Arte de lo PossibleNeo4j
34 views35 slides

Recently uploaded(20)

Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI... by Marc Müller
Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI...Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI...
Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI...
Marc Müller31 views
Software testing company in India.pptx by SakshiPatel82
Software testing company in India.pptxSoftware testing company in India.pptx
Software testing company in India.pptx
SakshiPatel827 views
DSD-INT 2023 Delft3D FM Suite 2024.01 2D3D - New features + Improvements - Ge... by Deltares
DSD-INT 2023 Delft3D FM Suite 2024.01 2D3D - New features + Improvements - Ge...DSD-INT 2023 Delft3D FM Suite 2024.01 2D3D - New features + Improvements - Ge...
DSD-INT 2023 Delft3D FM Suite 2024.01 2D3D - New features + Improvements - Ge...
Deltares16 views
Elevate your SAP landscape's efficiency and performance with HCL Workload Aut... by HCLSoftware
Elevate your SAP landscape's efficiency and performance with HCL Workload Aut...Elevate your SAP landscape's efficiency and performance with HCL Workload Aut...
Elevate your SAP landscape's efficiency and performance with HCL Workload Aut...
HCLSoftware6 views
Consulting for Data Monetization Maximizing the Profit Potential of Your Data... by Flexsin
Consulting for Data Monetization Maximizing the Profit Potential of Your Data...Consulting for Data Monetization Maximizing the Profit Potential of Your Data...
Consulting for Data Monetization Maximizing the Profit Potential of Your Data...
Flexsin 15 views
El Arte de lo Possible by Neo4j
El Arte de lo PossibleEl Arte de lo Possible
El Arte de lo Possible
Neo4j34 views
DSD-INT 2023 HydroMT model building and river-coast coupling in Python - Bove... by Deltares
DSD-INT 2023 HydroMT model building and river-coast coupling in Python - Bove...DSD-INT 2023 HydroMT model building and river-coast coupling in Python - Bove...
DSD-INT 2023 HydroMT model building and river-coast coupling in Python - Bove...
Deltares15 views
SUGCON ANZ Presentation V2.1 Final.pptx by Jack Spektor
SUGCON ANZ Presentation V2.1 Final.pptxSUGCON ANZ Presentation V2.1 Final.pptx
SUGCON ANZ Presentation V2.1 Final.pptx
Jack Spektor21 views
DSD-INT 2023 SFINCS Modelling in the U.S. Pacific Northwest - Parker by Deltares
DSD-INT 2023 SFINCS Modelling in the U.S. Pacific Northwest - ParkerDSD-INT 2023 SFINCS Modelling in the U.S. Pacific Northwest - Parker
DSD-INT 2023 SFINCS Modelling in the U.S. Pacific Northwest - Parker
Deltares8 views
DSD-INT 2023 Modelling litter in the Yarra and Maribyrnong Rivers (Australia)... by Deltares
DSD-INT 2023 Modelling litter in the Yarra and Maribyrnong Rivers (Australia)...DSD-INT 2023 Modelling litter in the Yarra and Maribyrnong Rivers (Australia)...
DSD-INT 2023 Modelling litter in the Yarra and Maribyrnong Rivers (Australia)...
Deltares9 views
DSD-INT 2023 Next-Generation Flood Inundation Mapping for Taiwan - Delft3D FM... by Deltares
DSD-INT 2023 Next-Generation Flood Inundation Mapping for Taiwan - Delft3D FM...DSD-INT 2023 Next-Generation Flood Inundation Mapping for Taiwan - Delft3D FM...
DSD-INT 2023 Next-Generation Flood Inundation Mapping for Taiwan - Delft3D FM...
Deltares7 views
Citi TechTalk Session 2: Kafka Deep Dive by confluent
Citi TechTalk Session 2: Kafka Deep DiveCiti TechTalk Session 2: Kafka Deep Dive
Citi TechTalk Session 2: Kafka Deep Dive
confluent17 views
Neo4j y GenAI by Neo4j
Neo4j y GenAI Neo4j y GenAI
Neo4j y GenAI
Neo4j35 views
How to Make the Most of Regression and Unit Testing.pdf by Abhay Kumar
How to Make the Most of Regression and Unit Testing.pdfHow to Make the Most of Regression and Unit Testing.pdf
How to Make the Most of Regression and Unit Testing.pdf
Abhay Kumar10 views
DSD-INT 2023 Delft3D FM Suite 2024.01 1D2D - Beta testing programme - Geertsema by Deltares
DSD-INT 2023 Delft3D FM Suite 2024.01 1D2D - Beta testing programme - GeertsemaDSD-INT 2023 Delft3D FM Suite 2024.01 1D2D - Beta testing programme - Geertsema
DSD-INT 2023 Delft3D FM Suite 2024.01 1D2D - Beta testing programme - Geertsema
Deltares12 views
Neo4j : Graphes de Connaissance, IA et LLMs by Neo4j
Neo4j : Graphes de Connaissance, IA et LLMsNeo4j : Graphes de Connaissance, IA et LLMs
Neo4j : Graphes de Connaissance, IA et LLMs
Neo4j46 views
DSD-INT 2023 Thermobaricity in 3D DCSM-FM - taking pressure into account in t... by Deltares
DSD-INT 2023 Thermobaricity in 3D DCSM-FM - taking pressure into account in t...DSD-INT 2023 Thermobaricity in 3D DCSM-FM - taking pressure into account in t...
DSD-INT 2023 Thermobaricity in 3D DCSM-FM - taking pressure into account in t...
Deltares9 views
A first look at MariaDB 11.x features and ideas on how to use them by Federico Razzoli
A first look at MariaDB 11.x features and ideas on how to use themA first look at MariaDB 11.x features and ideas on how to use them
A first look at MariaDB 11.x features and ideas on how to use them
Federico Razzoli44 views

Knowledge graphs + Chatbots with Neo4j

  • 1. Knowledge Graphs and Chatbots with Neo4j GraphAware, world’s #1 Neo4j consultancy graphaware.com @graph_aware
  • 2. ● Christophe Willemsen ● From Belgium but living in Southern Italy ● Principal Consultant at GraphAware ● Expert in Graphs and Search ● Currently researching in Natural Language Understanding and its implementation in chatbots About me @ikwattro
  • 3. ● How to represent Knowledge in a Graph ○ Text Processing ■ Processing Text ■ Information Extraction ■ Keywords Extraction ○ Enrichment ■ Concept Bases ■ Visual Content Metadata ■ External Knowledge Bases ● Knowledge Graphs to power advanced applications ○ Our demo : Brain Bro ○ Knowledge Graphs in the Real Life ○ Phonetic issues ○ Soft Cosine Measure (SCM) ○ Visual and Temporal Memory for Recall Outline
  • 4. ● Original domain model, for eg authors of news, news, views, original topics, etc. ● Standard text processing features ● Information Extraction ● Enrichment ● Facts ● Knowledge Entities and Semantic relationships ● Built from aggregation and validation of layer 1 and 2 ● Offers Multi-View (Perspectives) DOMAIN MODEL LAYER 1 TEXT UNDERSTANDING LAYER 2 KNOWLEDGE GRAPH LAYER 3 USER CONTEXT LAYER 4 ● Keeps track of the user conversation ● Relates conversation steps to entry points in the Knowledge Graph ● Use distance to determine out of context situations
  • 7. ● Original domain model, for eg authors of news, news, views, original topics, etc. ● Standard text processing features ● Information Extraction ● Enrichment ● Facts ● Knowledge Entities and Semantic relationships ● Built from aggregation and validation of layer 1 and 2 ● Offers Multi-View (Perspectives) DOMAIN MODEL LAYER 1 TEXT UNDERSTANDING LAYER 2 KNOWLEDGE GRAPH LAYER 3 USER CONTEXT LAYER 4 ● Keeps track of the user conversation ● Relates conversation steps to entry points in the Knowledge Graph ● Use distance to determine out of context situations
  • 8. ● Natural Language Processing ○ Sentence segmentation ○ Tokenization ○ Stopwords Removal ○ Part of Speech Tagging ○ Text Understanding
  • 9. ● Natural Language Processing ○ Sentence segmentation ○ Tokenization ○ Stopwords Removal ○ Part of Speech Tagging ○ Named Entity Recognition Text Understanding
  • 10. CALL ga.nlp.annotate({text: n.text, id: id(n)}) Text Understanding
  • 13. NER
  • 14. ● Natural Language Processing ○ Sentence segmentation ○ Tokenization ○ Stopwords Removal ○ Part of Speech Tagging ○ Named Entity Recognition ○ Syntactic Dependencies Parsing Text Understanding
  • 18. ● Facts ○ Using Semantic Parsers to extract facts from sentences in a Subject-Root-Object form Text Understanding
  • 21. ● Keywords Extraction ○ Unsupervised algorithm ○ Using TextRank wich under the hood uses PageRank ○ Performs better than most supervised algorithms ○ http://bit.ly/graphaware-textrank Text Understanding
  • 31. Find articles mentioning companies being founded by Elon Musk and in the car industry
  • 32. ● Original domain model, for eg authors of news, news, views, original topics, etc. ● Standard text processing features ● Information Extraction ● Enrichment ● Facts ● Knowledge Entities and Semantic relationships ● Built from aggregation and validation of layer 1 and 2 ● Offers Multi-View (Perspectives) DOMAIN MODEL LAYER 1 TEXT UNDERSTANDING LAYER 2 KNOWLEDGE GRAPH LAYER 3 USER CONTEXT LAYER 4 ● Keeps track of the user conversation ● Relates conversation steps to entry points in the Knowledge Graph ● Use distance to determine out of context situations
  • 33. ● How to build it ? ○ Aggregate all the information from the previous steps ○ Use external tools to validate some assumptions, e.g. : Director of marketing -> corporate position ○ Create a new graph from those informations The Knowledge Graph
  • 35. Knowledge Graphs to power Advanced Applications
  • 38. ● NER issues ○ Default recognizers are trained on generic texts and will often perform poorly when lot of indentation is used ○ Dropbox IPO, Forty Seven, Consumer Business Group, Melinda Gates Foundation (without Bill), … ○ You can “easily” build your own models with external knowledge bases like wikidata Knowledge Graphs IRL
  • 39. ● Phonetic Matching ○ SOUNDEX, DOUBLE METAPHONE, FUZZY ○ ELASTIC PHONETIC ANALYSIS PLUGIN Knowledge Graphs IRL
  • 40. ● Visual Metadata Validation Knowledge Graphs IRL
  • 42. ● Visual Metadata Validation ○ Build a top-k vocabulary of the article, or the surrounding article parts of the image ○ Use word2vec to compute relevancy of class labels returned by image recognition services ○ Use SCM ( Soft Cosine Measure ) [1] [2] Knowledge Graphs IRL 1. Grigori Sidorov et al. Soft Similarity and Soft Cosine Measure: Similarity of Features in Vector Space Model, 2014. (link to PDF) 2. Delphine Charlet and Geraldine Damnati, SimBow at SemEval-2017 Task 3: Soft-Cosine Semantic Similarity between Questions for Community Question Answering, 2017. (link to PDF)
  • 44. ● Original domain model, for eg authors of news, news, views, original topics, etc. ● Standard text processing features ● Information Extraction ● Enrichment ● Facts ● Knowledge Entities and Semantic relationships ● Built from aggregation and validation of layer 1 and 2 ● Offers Multi-View (Perspectives) DOMAIN MODEL LAYER 1 TEXT UNDERSTANDING LAYER 2 KNOWLEDGE GRAPH LAYER 3 USER CONTEXT LAYER 4 ● Keeps track of the user conversation ● Relates conversation steps to entry points in the Knowledge Graph ● Use distance to determine out of context situations
  • 45. ● Intent detection ○ What did Ahmed Fathi say about blockchains ? ○ Where is ABC Arabia Bank located ? ○ What does a person with a leader position think about investment banks ? Querying Knowledge
  • 46. ● Intent detection ○ What did Ahmed Fathi say about blockchains ? ○ Where is ABC Arabia Bank located ? ○ What does a person with a leader position think about investment banks ? Understand what we want out of the knowledge graph Querying Knowledge
  • 47. ● Intent detection ○ What did Ahmed Fathi say about blockchains ? ○ Where is ABC Arabia Bank located ? ○ What does a person with a leader position thinks about investment banks ? Understand what we want out of the knowledge graph Querying Knowledge Looking for facts?
  • 48. ● Intent detection ○ What did say Ahmed Fathi about blockchains ? ○ Where is ABC Arabia Bank located ? ○ What does a person with a leader position thinks about investment banks ? Understand what we want out of the knowledge graph Querying Knowledge Looking for a Location entity
  • 49. ● Intent detection ○ What did say Ahmed Fathi about blockchains ? ○ Where is ABC Arabia Bank located ? ○ What does a person with a leader position think about investment banks ? Understand what we want out of the knowledge graph Querying Knowledge If you “say” something, do you “think” it ?
  • 50. ● Entity Extraction ○ What did Ahmed Fathi say about blockchains ? ○ Where is ABC Arabia Bank located ? ○ What does a person with a leader position think about investment banks ? Querying Knowledge
  • 51. ● Entity Extraction ○ What did Ahmed Fathi say about blockchains ? ○ Where is ABC Arabia Bank located ? ○ What does a person with a leader position think about investment banks ? Determine Entry Points in the Knowledge Graph as well as semantic constraints Querying Knowledge
  • 52. ● Entity Extraction ○ What did Ahmed Fathi say about blockchains ? ○ Where is ABC Arabia Bank located ? ○ What does a person with a leader position thinks about investment banks ? Determine Entry Points in the Knowledge Graph as well as semantic constraints Querying Knowledge Person Entity : Ahmed Fathi Semantic: SAY Topic: blockchain
  • 53. ● Entity Extraction ○ What did say Ahmed Fathi about blockchains ? ○ Where is ABC Arabia Bank located ? ○ What does a person with a leader position thinks about investment banks ? Determine Entry Points in the Knowledge Graph as well as semantic constraints Querying Knowledge Company Entity : ABC Arabia Bank
  • 54. ● Entity Extraction ○ What did say Ahmed Fathi about blockchains ? ○ Where is ABC Arabia Bank located ? ○ What does a person with a leader position thinks about investment banks ? Determine Entry Points in the Knowledge Graph as well as semantic constraints Querying Knowledge Company Position : Leader position Person: related to position Semantic: think Topic: investment bank
  • 55. ● Query representation ○ Queries should be treated as original corpus and pass the same set of processing Querying Knowledge
  • 57. Can this be used to match against a Person label in the Knowledge Graph ?
  • 58. How to match “do think about” with a “SAY” relationship in the Knowledge Graph?
  • 59. How to match “do think about” to a “SAY” relationship in the Knowledge Graph?
  • 61. ● Probabilistic Traversals ○ Use a probability based classifier like Naive Bayes for determining the type of the relationship to traverse ○ Avoid to return non-relevant results in a “Always return something architecture”
  • 62. ● Dynamic Query Stack ○ Depending on the intent, the graph should be queried differently, there is no rocket science out of the box answer to how, just knowing your domain and lot lot lot of failures and tests ○ The Knowledge Graph is queried but not only that, you could also query the NLP graph for tf-idf enforcement and score the results with different weights at the end
  • 63. ● Queries made ○ EntityLinking() ○ EntitiesSimilarity() ○ SemanticSimilarity() ○ TraversalProbability() ○ KeywordSensitivePageRank() ○ TopicSensitivePageRank() ○ TF-IDF()
  • 64. ● Lot of techniques ○ Minimum subgraph matching ○ Sequence pattern recognition for SVO generation when queries are not parsed fully ○ Voice adaptations aka soundex ○ Deep learning ○ ...
  • 66. User Query and Context
  • 67. ● Conversation ○ After all, chatbots are considered as Conversational Interfaces, it wouldn’t have this name if the end goal of such systems is having a conversation with a machine ○ Keeping track of where the user is in the conversation can help to add more constraints to the queries User Context
  • 69. ● When to go out ? ○ A user can quickly go out of context during a conversation, for example : * How is the weather in San Francisco ? -- it is 25 degrees * what size? -- ?? Are you really gonna try to find a response? ○ We use distance calculation in the graph based to trigger Signals if the user is out of context User Context
  • 70. ● Some more thoughts ○ Embrace failures ○ Monitor ○ Humans are still a thing ○ ..
  • 71. world’s #1 Neo4j consultancy www.graphaware.com @graph_aware Thank you ! Christophe Willemsen @ikwattro