SlideShare a Scribd company logo
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 Understanding
■ Processing Text
■ Enrichment
■ Information Extraction
■ Facts
○ Building the Knowledge Graph
● Querying Knowledge
○ Intent detection and Entity Extraction
○ Query representation
○ Finding Responses
○ Context
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?
Ahmed Fathi, Director of Marketing for ABC Arabia Bank in
Dubai, said on Monday 12th of January that in the next two
years investment banks in Dubai will almost certainly use
blockchains technology for corporate lending
● 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
● Natural Language Processing
○ Sentence segmentation
○ Tokenization
○ Stopwords Removal
○ Part of Speech Tagging
○ Named Entity Recognition
○ Syntactic Dependencies Parsing
Text Understanding
● Enrichment
○ Uses external tools to enrich the original knowledge, for eg :
director of marketing -> leadership position
○ Makes implicit relationships now explicit between original
documents, for eg :
Doc 1 refers to Los Angeles, Doc 2 to San Francisco, nothing
relates them with pure text, a new “California” node will now
relate explicitly those 2 documents thanks to external
knowledge bases
Text Understanding
CALL ga.nlp.enrich.concept({node: n})
Text Understanding
● Enrichment
○ Uses third-party services like IBM Watson Visual Recognition
to gather metadata from images present in our documents
Text Understanding
● Facts
○ Using Semantic Parsers to extract facts from sentences in a
Subject-Root-Object form
Text Understanding
● Quick Summary
○ Original text has been analysed with natural language
processing tools
○ We have extracted entities
○ We gathered new knowledge with external tools
○ We have facts about sentences
○ We have a semantic linguistic graph of the original text
Text Understanding
The Knowledge Graph
● 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
● Analyse what informations we have
○ A Person named Ahmed Fathi
○ This person has a position as director of marketing
○ This person has a position for ABC Arabia Bank
○ ABC Arabia Bank is located in Dubai
○ A Person say something on a certain date
○ This something is related to a sentence that has keywords,
keywords can also be enriched
○ The position of the person can also be enriched
○ ...
The Knowledge Graph
Querying Knowledge
● 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
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
○ ...
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
● 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
○ ..
www.graphaware.com
@graph_aware
Thank you !
world’s #1 Neo4j consultancy
Christophe Willemsen
@ikwattro

More Related Content

Similar to Knowledge Graphs and Chatbots with Neo4j and IBM Watson - Christophe Willemsen

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?
2016 XUG Conference Big Data: Big Deal for Personalized Communications or Meh?
Jeffrey Stewart
 
Data Science Salon: In your own words: computing customer similarity from tex...
Data Science Salon: In your own words: computing customer similarity from tex...Data Science Salon: In your own words: computing customer similarity from tex...
Data Science Salon: In your own words: computing customer similarity from tex...
Formulatedby
 
Illustrating Graphs Visually through Neo4j Bloom
Illustrating Graphs Visually through Neo4j BloomIllustrating Graphs Visually through Neo4j Bloom
Illustrating Graphs Visually through Neo4j Bloom
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...
Discovering Emerging Tech through Graph Analysis - Henry Hwangbo @ GraphConne...
Neo4j
 
Data Driven Business Lab Feb2019
Data Driven Business Lab Feb2019Data Driven Business Lab Feb2019
Data Driven Business Lab Feb2019
Dries van den Enden
 
Knowledge Graphs in Retrieval Augmented Generation with WhyHow.AI
Knowledge Graphs in Retrieval Augmented Generation with WhyHow.AIKnowledge Graphs in Retrieval Augmented Generation with WhyHow.AI
Knowledge Graphs in Retrieval Augmented Generation with WhyHow.AI
Zilliz
 
Link Building in 2020 :: Use this Walk-through to Acquire & Earn Links that w...
Link Building in 2020 :: Use this Walk-through to Acquire & Earn Links that w...Link Building in 2020 :: Use this Walk-through to Acquire & Earn Links that w...
Link Building in 2020 :: Use this Walk-through to Acquire & Earn Links that w...
Boni Satani
 
"Data Pipelines for Small, Messy and Tedious Data", Vladislav Supalov, CAO & ...
"Data Pipelines for Small, Messy and Tedious Data", Vladislav Supalov, CAO & ..."Data Pipelines for Small, Messy and Tedious Data", Vladislav Supalov, CAO & ...
"Data Pipelines for Small, Messy and Tedious Data", Vladislav Supalov, CAO & ...
Dataconomy Media
 
Text analysis and Semantic Search with GATE
Text analysis and Semantic Search with GATEText analysis and Semantic Search with GATE
Text analysis and Semantic Search with GATE
Diana Maynard
 
Curtain call of zooey - what i've learned in yahoo
Curtain call of zooey - what i've learned in yahooCurtain call of zooey - what i've learned in yahoo
Curtain call of zooey - what i've learned in yahoo
羽祈 張
 
Building a foundation for strong content: Defining your audiences and their j...
Building a foundation for strong content: Defining your audiences and their j...Building a foundation for strong content: Defining your audiences and their j...
Building a foundation for strong content: Defining your audiences and their j...
Amber Young
 
Hiring and Outsourcing | Pay Per Call Masterclass
Hiring and Outsourcing | Pay Per Call MasterclassHiring and Outsourcing | Pay Per Call Masterclass
Hiring and Outsourcing | Pay Per Call Masterclass
Ringba
 
L15.pptx
L15.pptxL15.pptx
L15.pptx
ImonBennett
 
General introduction to AI ML DL DS
General introduction to AI ML DL DSGeneral introduction to AI ML DL DS
General introduction to AI ML DL DS
Roopesh Kohad
 
Generative Analysis Overview
Generative Analysis OverviewGenerative Analysis Overview
Generative Analysis Overview
Jim Arlow
 
Instant search - A hands-on tutorial
Instant search  - A hands-on tutorialInstant search  - A hands-on tutorial
Instant search - A hands-on tutorial
Ganesh Venkataraman
 
The right path to making search relevant - Taxonomy Bootcamp London 2019
The right path to making search relevant  - Taxonomy Bootcamp London 2019The right path to making search relevant  - Taxonomy Bootcamp London 2019
The right path to making search relevant - Taxonomy Bootcamp London 2019
OpenSource Connections
 
Resume Writing Workshop (Part I)
Resume Writing Workshop (Part I)Resume Writing Workshop (Part I)
Resume Writing Workshop (Part I)
RaviTandon11
 
National Wildlife Federation- OMS- Dreamcore 2011
National Wildlife Federation- OMS- Dreamcore 2011National Wildlife Federation- OMS- Dreamcore 2011
National Wildlife Federation- OMS- Dreamcore 2011
nonlinear creations
 
Hiring tips for data roles - Nikunj Verma (C.E.O & Co-founder at CutShort.io)
Hiring tips for data roles - Nikunj Verma (C.E.O & Co-founder at CutShort.io)Hiring tips for data roles - Nikunj Verma (C.E.O & Co-founder at CutShort.io)
Hiring tips for data roles - Nikunj Verma (C.E.O & Co-founder at CutShort.io)
Anupran Trivedi
 

Similar to Knowledge Graphs and Chatbots with Neo4j and IBM Watson - Christophe Willemsen (20)

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?
2016 XUG Conference Big Data: Big Deal for Personalized Communications or Meh?
 
Data Science Salon: In your own words: computing customer similarity from tex...
Data Science Salon: In your own words: computing customer similarity from tex...Data Science Salon: In your own words: computing customer similarity from tex...
Data Science Salon: In your own words: computing customer similarity from tex...
 
Illustrating Graphs Visually through Neo4j Bloom
Illustrating Graphs Visually through Neo4j BloomIllustrating Graphs Visually through Neo4j Bloom
Illustrating Graphs Visually through Neo4j Bloom
 
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...
Discovering Emerging Tech through Graph Analysis - Henry Hwangbo @ GraphConne...
 
Data Driven Business Lab Feb2019
Data Driven Business Lab Feb2019Data Driven Business Lab Feb2019
Data Driven Business Lab Feb2019
 
Knowledge Graphs in Retrieval Augmented Generation with WhyHow.AI
Knowledge Graphs in Retrieval Augmented Generation with WhyHow.AIKnowledge Graphs in Retrieval Augmented Generation with WhyHow.AI
Knowledge Graphs in Retrieval Augmented Generation with WhyHow.AI
 
Link Building in 2020 :: Use this Walk-through to Acquire & Earn Links that w...
Link Building in 2020 :: Use this Walk-through to Acquire & Earn Links that w...Link Building in 2020 :: Use this Walk-through to Acquire & Earn Links that w...
Link Building in 2020 :: Use this Walk-through to Acquire & Earn Links that w...
 
"Data Pipelines for Small, Messy and Tedious Data", Vladislav Supalov, CAO & ...
"Data Pipelines for Small, Messy and Tedious Data", Vladislav Supalov, CAO & ..."Data Pipelines for Small, Messy and Tedious Data", Vladislav Supalov, CAO & ...
"Data Pipelines for Small, Messy and Tedious Data", Vladislav Supalov, CAO & ...
 
Text analysis and Semantic Search with GATE
Text analysis and Semantic Search with GATEText analysis and Semantic Search with GATE
Text analysis and Semantic Search with GATE
 
Curtain call of zooey - what i've learned in yahoo
Curtain call of zooey - what i've learned in yahooCurtain call of zooey - what i've learned in yahoo
Curtain call of zooey - what i've learned in yahoo
 
Building a foundation for strong content: Defining your audiences and their j...
Building a foundation for strong content: Defining your audiences and their j...Building a foundation for strong content: Defining your audiences and their j...
Building a foundation for strong content: Defining your audiences and their j...
 
Hiring and Outsourcing | Pay Per Call Masterclass
Hiring and Outsourcing | Pay Per Call MasterclassHiring and Outsourcing | Pay Per Call Masterclass
Hiring and Outsourcing | Pay Per Call Masterclass
 
L15.pptx
L15.pptxL15.pptx
L15.pptx
 
General introduction to AI ML DL DS
General introduction to AI ML DL DSGeneral introduction to AI ML DL DS
General introduction to AI ML DL DS
 
Generative Analysis Overview
Generative Analysis OverviewGenerative Analysis Overview
Generative Analysis Overview
 
Instant search - A hands-on tutorial
Instant search  - A hands-on tutorialInstant search  - A hands-on tutorial
Instant search - A hands-on tutorial
 
The right path to making search relevant - Taxonomy Bootcamp London 2019
The right path to making search relevant  - Taxonomy Bootcamp London 2019The right path to making search relevant  - Taxonomy Bootcamp London 2019
The right path to making search relevant - Taxonomy Bootcamp London 2019
 
Resume Writing Workshop (Part I)
Resume Writing Workshop (Part I)Resume Writing Workshop (Part I)
Resume Writing Workshop (Part I)
 
National Wildlife Federation- OMS- Dreamcore 2011
National Wildlife Federation- OMS- Dreamcore 2011National Wildlife Federation- OMS- Dreamcore 2011
National Wildlife Federation- OMS- Dreamcore 2011
 
Hiring tips for data roles - Nikunj Verma (C.E.O & Co-founder at CutShort.io)
Hiring tips for data roles - Nikunj Verma (C.E.O & Co-founder at CutShort.io)Hiring tips for data roles - Nikunj Verma (C.E.O & Co-founder at CutShort.io)
Hiring tips for data roles - Nikunj Verma (C.E.O & Co-founder at CutShort.io)
 

More from GraphAware

Unparalleled Graph Database Scalability Delivered by Neo4j 4.0
Unparalleled Graph Database Scalability Delivered by Neo4j 4.0Unparalleled Graph Database Scalability Delivered by Neo4j 4.0
Unparalleled Graph Database Scalability Delivered by Neo4j 4.0
GraphAware
 
Challenges in knowledge graph visualization
Challenges in knowledge graph visualizationChallenges in knowledge graph visualization
Challenges in knowledge graph visualization
GraphAware
 
Social media monitoring with ML-powered Knowledge Graph
Social media monitoring with ML-powered Knowledge GraphSocial media monitoring with ML-powered Knowledge Graph
Social media monitoring with ML-powered Knowledge Graph
GraphAware
 
To be or not to be.
To be or not to be. To be or not to be.
To be or not to be.
GraphAware
 
It Depends (and why it's the most frequent answer to modelling questions)
It Depends (and why it's the most frequent answer to modelling questions)It Depends (and why it's the most frequent answer to modelling questions)
It Depends (and why it's the most frequent answer to modelling questions)
GraphAware
 
How Boston Scientific Improves Manufacturing Quality Using Graph Analytics
How Boston Scientific Improves Manufacturing Quality Using Graph AnalyticsHow Boston Scientific Improves Manufacturing Quality Using Graph Analytics
How Boston Scientific Improves Manufacturing Quality Using Graph Analytics
GraphAware
 
When privacy matters! Chatbots in data-sensitive businesses
When privacy matters! Chatbots in data-sensitive businessesWhen privacy matters! Chatbots in data-sensitive businesses
When privacy matters! Chatbots in data-sensitive businesses
GraphAware
 
Graph-Powered Machine Learning
Graph-Powered Machine LearningGraph-Powered Machine Learning
Graph-Powered Machine Learning
GraphAware
 
Signals from outer space
Signals from outer spaceSignals from outer space
Signals from outer space
GraphAware
 
Neo4j-Databridge: Enterprise-scale ETL for Neo4j
Neo4j-Databridge: Enterprise-scale ETL for Neo4jNeo4j-Databridge: Enterprise-scale ETL for Neo4j
Neo4j-Databridge: Enterprise-scale ETL for Neo4j
GraphAware
 
Graph-Powered Machine Learning
Graph-Powered Machine Learning Graph-Powered Machine Learning
Graph-Powered Machine Learning
GraphAware
 
(Big) Data Science
 (Big) Data Science (Big) Data Science
(Big) Data Science
GraphAware
 
Modelling Data in Neo4j (plus a few tips)
Modelling Data in Neo4j (plus a few tips)Modelling Data in Neo4j (plus a few tips)
Modelling Data in Neo4j (plus a few tips)
GraphAware
 
Intro to Neo4j (CZ)
Intro to Neo4j (CZ)Intro to Neo4j (CZ)
Intro to Neo4j (CZ)
GraphAware
 
Modelling Data as Graphs (Neo4j)
Modelling Data as Graphs (Neo4j)Modelling Data as Graphs (Neo4j)
Modelling Data as Graphs (Neo4j)
GraphAware
 
GraphAware Framework Intro
GraphAware Framework IntroGraphAware Framework Intro
GraphAware Framework Intro
GraphAware
 
Advanced Neo4j Use Cases with the GraphAware Framework
Advanced Neo4j Use Cases with the GraphAware FrameworkAdvanced Neo4j Use Cases with the GraphAware Framework
Advanced Neo4j Use Cases with the GraphAware Framework
GraphAware
 
Recommendations with Neo4j (FOSDEM 2015)
Recommendations with Neo4j (FOSDEM 2015)Recommendations with Neo4j (FOSDEM 2015)
Recommendations with Neo4j (FOSDEM 2015)
GraphAware
 
Machine Learning Powered by Graphs - Alessandro Negro
Machine Learning Powered by Graphs - Alessandro NegroMachine Learning Powered by Graphs - Alessandro Negro
Machine Learning Powered by Graphs - Alessandro Negro
GraphAware
 
The power of polyglot searching
The power of polyglot searchingThe power of polyglot searching
The power of polyglot searching
GraphAware
 

More from GraphAware (20)

Unparalleled Graph Database Scalability Delivered by Neo4j 4.0
Unparalleled Graph Database Scalability Delivered by Neo4j 4.0Unparalleled Graph Database Scalability Delivered by Neo4j 4.0
Unparalleled Graph Database Scalability Delivered by Neo4j 4.0
 
Challenges in knowledge graph visualization
Challenges in knowledge graph visualizationChallenges in knowledge graph visualization
Challenges in knowledge graph visualization
 
Social media monitoring with ML-powered Knowledge Graph
Social media monitoring with ML-powered Knowledge GraphSocial media monitoring with ML-powered Knowledge Graph
Social media monitoring with ML-powered Knowledge Graph
 
To be or not to be.
To be or not to be. To be or not to be.
To be or not to be.
 
It Depends (and why it's the most frequent answer to modelling questions)
It Depends (and why it's the most frequent answer to modelling questions)It Depends (and why it's the most frequent answer to modelling questions)
It Depends (and why it's the most frequent answer to modelling questions)
 
How Boston Scientific Improves Manufacturing Quality Using Graph Analytics
How Boston Scientific Improves Manufacturing Quality Using Graph AnalyticsHow Boston Scientific Improves Manufacturing Quality Using Graph Analytics
How Boston Scientific Improves Manufacturing Quality Using Graph Analytics
 
When privacy matters! Chatbots in data-sensitive businesses
When privacy matters! Chatbots in data-sensitive businessesWhen privacy matters! Chatbots in data-sensitive businesses
When privacy matters! Chatbots in data-sensitive businesses
 
Graph-Powered Machine Learning
Graph-Powered Machine LearningGraph-Powered Machine Learning
Graph-Powered Machine Learning
 
Signals from outer space
Signals from outer spaceSignals from outer space
Signals from outer space
 
Neo4j-Databridge: Enterprise-scale ETL for Neo4j
Neo4j-Databridge: Enterprise-scale ETL for Neo4jNeo4j-Databridge: Enterprise-scale ETL for Neo4j
Neo4j-Databridge: Enterprise-scale ETL for Neo4j
 
Graph-Powered Machine Learning
Graph-Powered Machine Learning Graph-Powered Machine Learning
Graph-Powered Machine Learning
 
(Big) Data Science
 (Big) Data Science (Big) Data Science
(Big) Data Science
 
Modelling Data in Neo4j (plus a few tips)
Modelling Data in Neo4j (plus a few tips)Modelling Data in Neo4j (plus a few tips)
Modelling Data in Neo4j (plus a few tips)
 
Intro to Neo4j (CZ)
Intro to Neo4j (CZ)Intro to Neo4j (CZ)
Intro to Neo4j (CZ)
 
Modelling Data as Graphs (Neo4j)
Modelling Data as Graphs (Neo4j)Modelling Data as Graphs (Neo4j)
Modelling Data as Graphs (Neo4j)
 
GraphAware Framework Intro
GraphAware Framework IntroGraphAware Framework Intro
GraphAware Framework Intro
 
Advanced Neo4j Use Cases with the GraphAware Framework
Advanced Neo4j Use Cases with the GraphAware FrameworkAdvanced Neo4j Use Cases with the GraphAware Framework
Advanced Neo4j Use Cases with the GraphAware Framework
 
Recommendations with Neo4j (FOSDEM 2015)
Recommendations with Neo4j (FOSDEM 2015)Recommendations with Neo4j (FOSDEM 2015)
Recommendations with Neo4j (FOSDEM 2015)
 
Machine Learning Powered by Graphs - Alessandro Negro
Machine Learning Powered by Graphs - Alessandro NegroMachine Learning Powered by Graphs - Alessandro Negro
Machine Learning Powered by Graphs - Alessandro Negro
 
The power of polyglot searching
The power of polyglot searchingThe power of polyglot searching
The power of polyglot searching
 

Recently uploaded

Data structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdfData structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdf
TIPNGVN2
 
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIEnchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Vladimir Iglovikov, Ph.D.
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
Neo4j
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
SOFTTECHHUB
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
Neo4j
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
Matthew Sinclair
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
Neo4j
 
20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website
Pixlogix Infotech
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
Matthew Sinclair
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
Kumud Singh
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 

Recently uploaded (20)

Data structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdfData structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdf
 
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIEnchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
 
20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 

Knowledge Graphs and Chatbots with Neo4j and IBM Watson - Christophe Willemsen

  • 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 Understanding ■ Processing Text ■ Enrichment ■ Information Extraction ■ Facts ○ Building the Knowledge Graph ● Querying Knowledge ○ Intent detection and Entity Extraction ○ Query representation ○ Finding Responses ○ Context 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
  • 6. Ahmed Fathi, Director of Marketing for ABC Arabia Bank in Dubai, said on Monday 12th of January that in the next two years investment banks in Dubai will almost certainly use blockchains technology for corporate lending
  • 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
  • 11.
  • 12.
  • 13. ● Natural Language Processing ○ Sentence segmentation ○ Tokenization ○ Stopwords Removal ○ Part of Speech Tagging ○ Named Entity Recognition ○ Syntactic Dependencies Parsing Text Understanding
  • 14.
  • 15.
  • 16. ● Enrichment ○ Uses external tools to enrich the original knowledge, for eg : director of marketing -> leadership position ○ Makes implicit relationships now explicit between original documents, for eg : Doc 1 refers to Los Angeles, Doc 2 to San Francisco, nothing relates them with pure text, a new “California” node will now relate explicitly those 2 documents thanks to external knowledge bases Text Understanding
  • 17.
  • 19.
  • 20.
  • 21. ● Enrichment ○ Uses third-party services like IBM Watson Visual Recognition to gather metadata from images present in our documents Text Understanding
  • 22.
  • 23. ● Facts ○ Using Semantic Parsers to extract facts from sentences in a Subject-Root-Object form Text Understanding
  • 24.
  • 25.
  • 26. ● Quick Summary ○ Original text has been analysed with natural language processing tools ○ We have extracted entities ○ We gathered new knowledge with external tools ○ We have facts about sentences ○ We have a semantic linguistic graph of the original text Text Understanding
  • 28. ● 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
  • 29. ● 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
  • 30. ● Analyse what informations we have ○ A Person named Ahmed Fathi ○ This person has a position as director of marketing ○ This person has a position for ABC Arabia Bank ○ ABC Arabia Bank is located in Dubai ○ A Person say something on a certain date ○ This something is related to a sentence that has keywords, keywords can also be enriched ○ The position of the person can also be enriched ○ ... The Knowledge Graph
  • 31.
  • 32.
  • 34. ● 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
  • 35. ● 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
  • 36. ● 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
  • 37. ● 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 ?
  • 38. ● 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
  • 39. ● 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 ?
  • 40. ● 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
  • 41. ● 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
  • 42. ● 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
  • 43. ● 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
  • 44. ● 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
  • 45. ● Query representation ○ Queries should be treated as original corpus and pass the same set of processing Querying Knowledge
  • 46.
  • 47. Can this be used to match against a Person label in the Knowledge Graph ?
  • 48. How to match “do think about” with a “SAY” relationship in the Knowledge Graph?
  • 49. How to match “do think about” to a “SAY” relationship in the Knowledge Graph?
  • 51. ● 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”
  • 52. ● 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
  • 53. ● Queries made ○ EntityLinking() ○ EntitiesSimilarity() ○ SemanticSimilarity() ○ TraversalProbability() ○ KeywordSensitivePageRank() ○ TopicSensitivePageRank() ○ TF-IDF()
  • 54. ● Lot of techniques ○ Minimum subgraph matching ○ Sequence pattern recognition for SVO generation when queries are not parsed fully ○ Voice adaptations aka soundex ○ Deep learning ○ ...
  • 55.
  • 56. User Query and Context
  • 57. ● 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
  • 58.
  • 59. ● 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
  • 60. ● Some more thoughts ○ Embrace failures ○ Monitor ○ Humans are still a thing ○ ..
  • 61. www.graphaware.com @graph_aware Thank you ! world’s #1 Neo4j consultancy Christophe Willemsen @ikwattro