SlideShare uma empresa Scribd logo
1 de 43
Baixar para ler offline
Confidential and proprietary.
Any use of this material without specific permission of Rasa is strictly prohibited.
Grounding Conversational AI in a
Knowledge Base
Tanja Bunk, Machine Learning Engineer @ Rasa
1
Conversations are easy!
2
link to video
Conversations are easy!
3
Conversations are easy! NOT easy (for computers)!
4
Conversations are easy! NOT easy!
Domain knowledge
needed to list entities.
5
Hi! How can I help you?
Can you list all my accounts please?
Sure, here is what I found:
1. N26, account number DE61500105171526138412
2. Deutsche Bank, account number DE89500105171722749148
Hi!
Conversations are easy! NOT easy!
6
Hi! How can I help you?
Can you list all my accounts please?
Sure, here is what I found:
1. N26, account number DE61500105171526138412
2. Deutsche Bank, account number DE89500105171722749148
On which of those accounts do I currently have more money?
Hi!
Reference to entities
listed before.
Conversations are easy! NOT easy!
7
Reference to N26
account.
Can you list all my accounts please?
Sure, here is what I found:
1. N26, account number DE61500105171526138412
2. Deutsche Bank, account number DE89500105171722749148
On which of those accounts do I currently have more money?
You have a balance of 2324,84€ on N26.
Your balance on Deutsche Bank is only 523,83€.
What are my recent transactions on that account?
Conversations are easy! NOT easy!
8
Domain knowledge
needed to answer user
questions.
On which of those accounts do I currently have more money?
You have a balance of 2324,84€ on N26.
Your balance on Deutsche Bank is only 523,83€.
What are my recent transactions on that account?
Your recent transactions on N26 are:
Zalando 43,54€
Pasta Bar 9,90€
Esprit 103,21€
Max Mustermann 200,00€
Conversations are easy! NOT easy!
9
Domain knowledge
needed to resolve an
unclear mention of a
real-world entity.
How much money did I spend on food?
You spent 16,89€ on food in the last month.
How much money did I transfer to Max?
You have transferred money to multiple people with the
name Max. Which Max do you mean?
1. Max Müller
2. Max Mayer
Conversations are easy! NOT easy!
10
Reference to Max
Müller.
How much money did I transfer to Max?
You have transferred money to multiple people with the
name Max. Which Max do you mean?
1. Max Müller
2. Max Mayer
I meant the first one.
I found the following transactions to Max Müller:
24.09.2019 Food 23,50 €
01.10.2019 Hotel Berlin 350,00 €
16.10.2019 Present Sara 10,00 €
Grounding Conversational AI in a
Knowledge Base
11
Outline
I. Introduction: Rasa
II. Rasa & Grakn
III. Building a Bot
IV. Demo
V. Remaining Challenges
12
Rasa is a 50-ish person startup with offices in San Francisco and Berlin
INTRODUCTION: RASA
13
Open Source
+
Community
+
Applied Research
We are building the standard infrastructure for conversational AI
INTRODUCTION: RASA
14
INTRODUCTION: RASA
Rasa Open Source is a set of open source machine learning
tools for developers for conversational AI:
● NLU: open-source natural language processing
tool for intent classification and entity extraction
● Core: framework for machine learning-based,
contextual decision making
Rasa Open Source: Tools for developers to build text and voice assistants
in-house
15
Rasa’s technology can understand natural language and decide about the next best
action based on the context of the conversation using machine learning
Backend, CRM,
database, API, etc.
INTRODUCTION: RASA
ML-based
Dialogue
Management
“The Brain”
Input Modules
“The Ears”
Natural Language
Understanding
Output
Modules
“The Mouth”
Response Generator
Connector
Modules
Live Chat, App,
Messenger, Phone
SMS, etc.
“I want to change
my address”
(User Request via
text or voice)
“What’s your new
address?”
(AI response via
text or voice)
User Backend
Data Control
Companies keep
complete control of
their data and customer
interaction
Via communication channel:
16
Rasa Open Source
What do we need knowledge bases for?
17
RASA & GRAKN
The assistant only knows whatever you taught it!
18
RASA & GRAKN
● Knowledge of the bot is limited to whatever is contained in the training data
● Bots do not have access to external knowledge by default
● Knowledge is fixed, bots need to be redeployed to update knowledge
Solution: Connect Rasa Open Source to a knowledge base!
Store your domain knowledge in a knowledge base
19
RASA & GRAKN
Knowledge bases
● Store for domain knowledge
● Typically represented by graph databases
Using a graph database allows you to
● Store complex data structures
● Easily store relations between different entities
● Think of data in an object-oriented way (entities, attributes, relations)
● Query data fast
We chose Grakn as our knowledge base store
20
RASA & GRAKN
● Open source
● Easy to set-up
● Has a great documentation & support
● Implements a hyper graph data model with a schema/logical verification
● Provides a reasoning engine to do reasoning at query run time as part of the language
● Offers distributed analytical algorithms as part of the language
Let’s build a bot!
21
BUILDING A BOT
Question to be answered
22
BUILDING A BOT
What is the headquarter of N26?
Step 1: Set up a knowledge base
23
BUILDING A BOT
Knowledge base schema can get complex very fast
24
BUILDING A BOT
Think about the schema before implementing it.
● What entities do you need?
● What attributes do the entities have?
● How are the entities related to each other?
Be careful: The more complex the schema, the more complex the queries will be.
Knowledge base schema of our banking bot
25
BUILDING A BOT
name
bank
free-accounts
country
headquarter
contract
transaction
card
represented-
by
person
email
first-name
last-name
gender
city
sign-date
account-numberaccount-type
balance
opening-date
account
name-on-card
expiry-date
card-number
created-date
amount
category
reference
execution-date
english-website
english-customer-
service
Fill your knowledge base with data
26
BUILDING A BOT
insert
$b isa bank,
has name ‘N26’,
has country ‘Germany’,
has headquarter ‘Berlin’,
has free-accounts true,
has english-website true,
has english-customer-service true;
Example: Query to insert bank N26
Step 2: Add new training data
27
BUILDING A BOT
The bot needs to understand every user message
28
BUILDING A BOT
● During a conversation
○ An intent will be assigned to every user message
○ Entities will be extracted from every user message
● Define new intent(s) for messages that should result in querying the knowledge base
● Define every entity that occurs in the training data that are important for querying the knowledge
base
## intent:query_knowledge_base
- What [gender](attribute) is [Hans Maier](person)?
- What is the [headquarter](attribute) of [Deutsche Bank](bank)?
- Does [N26](bank) have an [english
website](attribute:english-website)?
- How much [money](attribute:balance) do I have on that account?
- What is my [balance](attribute) on that account?
NLU Data
The bot needs to know when to query the knowledge base
29
BUILDING A BOT
● Bot predicts after every message what to do next
● Define some example dialogues (stories) that interact with the knowledge base
● Bot learns from those dialogues what to do if a certain user message comes in
## Happy Path
* greet
- utter_greet
* query_knowledge_base
- action_query_knowledge_base
* goodbye
- utter_goodbye
Story
Step 3: Add custom actions
30
BUILDING A BOT
Use custom actions to query the knowledge base
31
BUILDING A BOT
Rasa Open Source
1. NLU
2. Core
3. Action
actions.py
Definition of some
custom actions that
interact with the
knowledge base.
knowledge
base
user’s message
bot’s message
query
Use custom actions to query the knowledge base
32
BUILDING A BOT
Rasa Open Source
1. NLU
2. Core
3. Action
What is the
headquarter of N26?
Use custom actions to query the knowledge base
33
BUILDING A BOT
intent:
query_knowledge_base 95%
entities:
attribute: headquarter 93%
bank: N26 98%
What is the
headquarter of N26?
Rasa Open Source
1. NLU
2. Core
3. Action
Use custom actions to query the knowledge base
34
BUILDING A BOT
next action:
action_query_knowledge_base 95%
utter_greet 1%
utter_goodbye 4%
What is the
headquarter of N26?
Rasa Open Source
1. NLU
2. Core
3. Action
Use custom actions to query the knowledge base
35
BUILDING A BOT
entities:
attribute: headquarter
bank: N26
schema:
schema[“bank”][“key_attribute”] =
“name”
query:
match
$bank isa bank,
has name ‘N26’,
has headquarter $a;
get $a;
result: “Berlin”
response:
“N26 has value ‘Berlin’ for
attribute ‘headquarter’.”
knowledge
base
What is the
headquarter of N26?
Rasa Open Source
1. NLU
2. Core
3. Action
Use custom actions to query the knowledge base
36
BUILDING A BOT
response:
“N26 has value ‘Berlin’ for
attribute ‘headquarter’.”
What is the
headquarter of N26?
N26 has value
‘Berlin’ for attribute
‘headquarter’.
Rasa Open Source
1. NLU
2. Core
3. Action
Let’s see our bot in action!
37
DEMO
38
DEMO
Demo I
link to video
39
DEMO
Demo II
link to video
40
● Constructing complex queries is hard – a lot of custom code is needed
● Users tend to refer to entities in different ways (e.g. the last one, it, the plane ticket, etc.), each way is
challenging on its own
● Answers of the bot are not very natural as we need to use templates
Some work is still left to do
REMAINING CHALLENGES
Key takeaways
41
● Connecting Rasa Open Source to a knowledge base allows your assistant to answer domain specific
questions
● Grakn can be used as a knowledge base store
● Custom actions allow you to construct queries and query your knowledge base
● Good training data is important to teach the bot when to query the knowledge base and to extract relevant
entities that are needed for constructing the queries
Read more on the topic!
42
We have two blog posts on the topic of knowledge bases:
● https://blog.rasa.com/integrating-rasa-with-knowledge-bases/
● https://blog.rasa.com/set-up-a-knowledge-base-to-encode-domain-knowledge-for-rasa/
Code of the example bot can be found here:
https://github.com/RasaHQ/tutorial-knowledge-base
We added the knowledge base feature to Rasa Open Source. It allows you to connect your assistant to any graph
database. Check it out!
https://rasa.com/docs/rasa/core/knowledge-bases/
Tanja Bunk
Machine Learning Engineer
t.bunk@rasa.com
Thank you!

Mais conteúdo relacionado

Mais procurados

GPT and Graph Data Science to power your Knowledge Graph
GPT and Graph Data Science to power your Knowledge GraphGPT and Graph Data Science to power your Knowledge Graph
GPT and Graph Data Science to power your Knowledge GraphNeo4j
 
Module 2 - Datalake
Module 2 - DatalakeModule 2 - Datalake
Module 2 - DatalakeLam Le
 
Knowledge Graphs - The Power of Graph-Based Search
Knowledge Graphs - The Power of Graph-Based SearchKnowledge Graphs - The Power of Graph-Based Search
Knowledge Graphs - The Power of Graph-Based SearchNeo4j
 
ORM in Go. Internals, tips & tricks
ORM in Go. Internals, tips & tricksORM in Go. Internals, tips & tricks
ORM in Go. Internals, tips & tricksDmytro Istratkin
 
The Data Platform for Today’s Intelligent Applications
The Data Platform for Today’s Intelligent ApplicationsThe Data Platform for Today’s Intelligent Applications
The Data Platform for Today’s Intelligent ApplicationsNeo4j
 
Introduction to the BioLink datamodel
Introduction to the BioLink datamodelIntroduction to the BioLink datamodel
Introduction to the BioLink datamodelChris Mungall
 
SPARQL 사용법
SPARQL 사용법SPARQL 사용법
SPARQL 사용법홍수 허
 
Neo4j Graph Use Cases, Bruno Ungermann, Neo4j
Neo4j Graph Use Cases, Bruno Ungermann, Neo4jNeo4j Graph Use Cases, Bruno Ungermann, Neo4j
Neo4j Graph Use Cases, Bruno Ungermann, Neo4jNeo4j
 
The Graph Database Universe: Neo4j Overview
The Graph Database Universe: Neo4j OverviewThe Graph Database Universe: Neo4j Overview
The Graph Database Universe: Neo4j OverviewNeo4j
 
RDF 개념 및 구문 소개
RDF 개념 및 구문 소개RDF 개념 및 구문 소개
RDF 개념 및 구문 소개Dongbum Kim
 
Knowledge Graphs and Generative AI
Knowledge Graphs and Generative AIKnowledge Graphs and Generative AI
Knowledge Graphs and Generative AINeo4j
 
Kafka for Real-Time Replication between Edge and Hybrid Cloud
Kafka for Real-Time Replication between Edge and Hybrid CloudKafka for Real-Time Replication between Edge and Hybrid Cloud
Kafka for Real-Time Replication between Edge and Hybrid CloudKai Wähner
 
Data Modeling with Neo4j
Data Modeling with Neo4jData Modeling with Neo4j
Data Modeling with Neo4jNeo4j
 
Neo4j GraphSummit London March 2023 Emil Eifrem Keynote.pptx
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
 
The openCypher Project - An Open Graph Query Language
The openCypher Project - An Open Graph Query LanguageThe openCypher Project - An Open Graph Query Language
The openCypher Project - An Open Graph Query LanguageNeo4j
 
Knowledge Graphs for Supply Chain Operations.pdf
Knowledge Graphs for Supply Chain Operations.pdfKnowledge Graphs for Supply Chain Operations.pdf
Knowledge Graphs for Supply Chain Operations.pdfVaticle
 
Building a Knowledge Graph using NLP and Ontologies
Building a Knowledge Graph using NLP and OntologiesBuilding a Knowledge Graph using NLP and Ontologies
Building a Knowledge Graph using NLP and OntologiesNeo4j
 
Delta lake and the delta architecture
Delta lake and the delta architectureDelta lake and the delta architecture
Delta lake and the delta architectureAdam Doyle
 

Mais procurados (20)

GPT and Graph Data Science to power your Knowledge Graph
GPT and Graph Data Science to power your Knowledge GraphGPT and Graph Data Science to power your Knowledge Graph
GPT and Graph Data Science to power your Knowledge Graph
 
Module 2 - Datalake
Module 2 - DatalakeModule 2 - Datalake
Module 2 - Datalake
 
Knowledge Graphs - The Power of Graph-Based Search
Knowledge Graphs - The Power of Graph-Based SearchKnowledge Graphs - The Power of Graph-Based Search
Knowledge Graphs - The Power of Graph-Based Search
 
ORM in Go. Internals, tips & tricks
ORM in Go. Internals, tips & tricksORM in Go. Internals, tips & tricks
ORM in Go. Internals, tips & tricks
 
The Data Platform for Today’s Intelligent Applications
The Data Platform for Today’s Intelligent ApplicationsThe Data Platform for Today’s Intelligent Applications
The Data Platform for Today’s Intelligent Applications
 
How to Use JSON in MySQL Wrong
How to Use JSON in MySQL WrongHow to Use JSON in MySQL Wrong
How to Use JSON in MySQL Wrong
 
Introduction to the BioLink datamodel
Introduction to the BioLink datamodelIntroduction to the BioLink datamodel
Introduction to the BioLink datamodel
 
SPARQL 사용법
SPARQL 사용법SPARQL 사용법
SPARQL 사용법
 
Neo4j Graph Use Cases, Bruno Ungermann, Neo4j
Neo4j Graph Use Cases, Bruno Ungermann, Neo4jNeo4j Graph Use Cases, Bruno Ungermann, Neo4j
Neo4j Graph Use Cases, Bruno Ungermann, Neo4j
 
The Graph Database Universe: Neo4j Overview
The Graph Database Universe: Neo4j OverviewThe Graph Database Universe: Neo4j Overview
The Graph Database Universe: Neo4j Overview
 
RDF 개념 및 구문 소개
RDF 개념 및 구문 소개RDF 개념 및 구문 소개
RDF 개념 및 구문 소개
 
Knowledge Graphs and Generative AI
Knowledge Graphs and Generative AIKnowledge Graphs and Generative AI
Knowledge Graphs and Generative AI
 
Kafka for Real-Time Replication between Edge and Hybrid Cloud
Kafka for Real-Time Replication between Edge and Hybrid CloudKafka for Real-Time Replication between Edge and Hybrid Cloud
Kafka for Real-Time Replication between Edge and Hybrid Cloud
 
Data Modeling with Neo4j
Data Modeling with Neo4jData Modeling with Neo4j
Data Modeling with Neo4j
 
Neo4j GraphSummit London March 2023 Emil Eifrem Keynote.pptx
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
 
The openCypher Project - An Open Graph Query Language
The openCypher Project - An Open Graph Query LanguageThe openCypher Project - An Open Graph Query Language
The openCypher Project - An Open Graph Query Language
 
Knowledge Graphs for Supply Chain Operations.pdf
Knowledge Graphs for Supply Chain Operations.pdfKnowledge Graphs for Supply Chain Operations.pdf
Knowledge Graphs for Supply Chain Operations.pdf
 
Building a Knowledge Graph using NLP and Ontologies
Building a Knowledge Graph using NLP and OntologiesBuilding a Knowledge Graph using NLP and Ontologies
Building a Knowledge Graph using NLP and Ontologies
 
Delta lake and the delta architecture
Delta lake and the delta architectureDelta lake and the delta architecture
Delta lake and the delta architecture
 
MPP vs Hadoop
MPP vs HadoopMPP vs Hadoop
MPP vs Hadoop
 

Semelhante a Grounding Conversational AI in a Knowledge Base

Neurodb Engr245 2021 Lessons Learned
Neurodb Engr245 2021 Lessons LearnedNeurodb Engr245 2021 Lessons Learned
Neurodb Engr245 2021 Lessons LearnedStanford University
 
SharePoint Saturday Bremen - Unite your modern workplace with Microsoft's AI ...
SharePoint Saturday Bremen - Unite your modern workplace with Microsoft's AI ...SharePoint Saturday Bremen - Unite your modern workplace with Microsoft's AI ...
SharePoint Saturday Bremen - Unite your modern workplace with Microsoft's AI ...Thomas Gölles
 
Contovista exhibiting at Zurich Tech Job Fair Autumn 2019
Contovista exhibiting at Zurich Tech Job Fair Autumn 2019Contovista exhibiting at Zurich Tech Job Fair Autumn 2019
Contovista exhibiting at Zurich Tech Job Fair Autumn 2019TechMeetups
 
Socialize your ERP, and collaborate with him!
Socialize your ERP, and collaborate with him!Socialize your ERP, and collaborate with him!
Socialize your ERP, and collaborate with him!LetsConnect
 
At the Tipping Point: Considerations for Cloud BI in a Multi-platform BI Ente...
At the Tipping Point: Considerations for Cloud BI in a Multi-platform BI Ente...At the Tipping Point: Considerations for Cloud BI in a Multi-platform BI Ente...
At the Tipping Point: Considerations for Cloud BI in a Multi-platform BI Ente...Inside Analysis
 
Business in the Driver’s Seat – An Improved Model for Integration
Business in the Driver’s Seat – An Improved Model for IntegrationBusiness in the Driver’s Seat – An Improved Model for Integration
Business in the Driver’s Seat – An Improved Model for IntegrationInside Analysis
 
Continuum Analytics and Python
Continuum Analytics and PythonContinuum Analytics and Python
Continuum Analytics and PythonTravis Oliphant
 
Webinar - Building a ChatBot using IBM Watson Conversation Service
Webinar - Building a ChatBot using IBM Watson Conversation ServiceWebinar - Building a ChatBot using IBM Watson Conversation Service
Webinar - Building a ChatBot using IBM Watson Conversation ServiceThirdEye Data
 
Need to reboot your content creation strategy? Start with "No"
Need to reboot your content creation strategy? Start with "No"Need to reboot your content creation strategy? Start with "No"
Need to reboot your content creation strategy? Start with "No"Keith Boyd
 
Openbar Kontich // How to create intelligent & personal conversational AI - W...
Openbar Kontich // How to create intelligent & personal conversational AI - W...Openbar Kontich // How to create intelligent & personal conversational AI - W...
Openbar Kontich // How to create intelligent & personal conversational AI - W...Openbar
 
Brightpod Overview
Brightpod OverviewBrightpod Overview
Brightpod OverviewBrightpod
 
Software Analytics with Jupyter, Pandas, jQAssistant, and Neo4j [Neo4j Online...
Software Analytics with Jupyter, Pandas, jQAssistant, and Neo4j [Neo4j Online...Software Analytics with Jupyter, Pandas, jQAssistant, and Neo4j [Neo4j Online...
Software Analytics with Jupyter, Pandas, jQAssistant, and Neo4j [Neo4j Online...Markus Harrer
 
DMO Advanced 2022: 30 Tips for Better Performing Content
DMO Advanced 2022: 30 Tips for Better Performing ContentDMO Advanced 2022: 30 Tips for Better Performing Content
DMO Advanced 2022: 30 Tips for Better Performing ContentJustinCoons1
 
Supercharge Your Project Management Skills with CHATGPT practical - UK.pdf
Supercharge Your Project Management Skills with CHATGPT practical - UK.pdfSupercharge Your Project Management Skills with CHATGPT practical - UK.pdf
Supercharge Your Project Management Skills with CHATGPT practical - UK.pdfPMIUKChapter
 
Learn how SAP BusinessObjects is used at BEC and some of their challenges res...
Learn how SAP BusinessObjects is used at BEC and some of their challenges res...Learn how SAP BusinessObjects is used at BEC and some of their challenges res...
Learn how SAP BusinessObjects is used at BEC and some of their challenges res...Wiiisdom
 
Time to Fly - Why Predictive Analytics is Going Mainstream
Time to Fly - Why Predictive Analytics is Going MainstreamTime to Fly - Why Predictive Analytics is Going Mainstream
Time to Fly - Why Predictive Analytics is Going MainstreamInside Analysis
 
Beyond The Intranet: Digital Workplace Apps, Solutions & Bots
Beyond The Intranet: Digital Workplace Apps, Solutions & BotsBeyond The Intranet: Digital Workplace Apps, Solutions & Bots
Beyond The Intranet: Digital Workplace Apps, Solutions & BotsRichard Harbridge
 
Beyond The Intranet: Digital Workplace Apps, Solutions & Bots
Beyond The Intranet: Digital Workplace Apps, Solutions & BotsBeyond The Intranet: Digital Workplace Apps, Solutions & Bots
Beyond The Intranet: Digital Workplace Apps, Solutions & BotsRichard Harbridge
 

Semelhante a Grounding Conversational AI in a Knowledge Base (20)

Neurodb Engr245 2021 Lessons Learned
Neurodb Engr245 2021 Lessons LearnedNeurodb Engr245 2021 Lessons Learned
Neurodb Engr245 2021 Lessons Learned
 
SharePoint Saturday Bremen - Unite your modern workplace with Microsoft's AI ...
SharePoint Saturday Bremen - Unite your modern workplace with Microsoft's AI ...SharePoint Saturday Bremen - Unite your modern workplace with Microsoft's AI ...
SharePoint Saturday Bremen - Unite your modern workplace with Microsoft's AI ...
 
Contovista exhibiting at Zurich Tech Job Fair Autumn 2019
Contovista exhibiting at Zurich Tech Job Fair Autumn 2019Contovista exhibiting at Zurich Tech Job Fair Autumn 2019
Contovista exhibiting at Zurich Tech Job Fair Autumn 2019
 
Socialize your ERP, and collaborate with him!
Socialize your ERP, and collaborate with him!Socialize your ERP, and collaborate with him!
Socialize your ERP, and collaborate with him!
 
At the Tipping Point: Considerations for Cloud BI in a Multi-platform BI Ente...
At the Tipping Point: Considerations for Cloud BI in a Multi-platform BI Ente...At the Tipping Point: Considerations for Cloud BI in a Multi-platform BI Ente...
At the Tipping Point: Considerations for Cloud BI in a Multi-platform BI Ente...
 
Business in the Driver’s Seat – An Improved Model for Integration
Business in the Driver’s Seat – An Improved Model for IntegrationBusiness in the Driver’s Seat – An Improved Model for Integration
Business in the Driver’s Seat – An Improved Model for Integration
 
Continuum Analytics and Python
Continuum Analytics and PythonContinuum Analytics and Python
Continuum Analytics and Python
 
Webinar - Building a ChatBot using IBM Watson Conversation Service
Webinar - Building a ChatBot using IBM Watson Conversation ServiceWebinar - Building a ChatBot using IBM Watson Conversation Service
Webinar - Building a ChatBot using IBM Watson Conversation Service
 
Need to reboot your content creation strategy? Start with "No"
Need to reboot your content creation strategy? Start with "No"Need to reboot your content creation strategy? Start with "No"
Need to reboot your content creation strategy? Start with "No"
 
Openbar Kontich // How to create intelligent & personal conversational AI - W...
Openbar Kontich // How to create intelligent & personal conversational AI - W...Openbar Kontich // How to create intelligent & personal conversational AI - W...
Openbar Kontich // How to create intelligent & personal conversational AI - W...
 
Brightpod Overview
Brightpod OverviewBrightpod Overview
Brightpod Overview
 
Software Analytics with Jupyter, Pandas, jQAssistant, and Neo4j [Neo4j Online...
Software Analytics with Jupyter, Pandas, jQAssistant, and Neo4j [Neo4j Online...Software Analytics with Jupyter, Pandas, jQAssistant, and Neo4j [Neo4j Online...
Software Analytics with Jupyter, Pandas, jQAssistant, and Neo4j [Neo4j Online...
 
DMO Advanced 2022: 30 Tips for Better Performing Content
DMO Advanced 2022: 30 Tips for Better Performing ContentDMO Advanced 2022: 30 Tips for Better Performing Content
DMO Advanced 2022: 30 Tips for Better Performing Content
 
Supercharge Your Project Management Skills with CHATGPT practical - UK.pdf
Supercharge Your Project Management Skills with CHATGPT practical - UK.pdfSupercharge Your Project Management Skills with CHATGPT practical - UK.pdf
Supercharge Your Project Management Skills with CHATGPT practical - UK.pdf
 
KnolX - Power Bi
KnolX - Power Bi KnolX - Power Bi
KnolX - Power Bi
 
Learn how SAP BusinessObjects is used at BEC and some of their challenges res...
Learn how SAP BusinessObjects is used at BEC and some of their challenges res...Learn how SAP BusinessObjects is used at BEC and some of their challenges res...
Learn how SAP BusinessObjects is used at BEC and some of their challenges res...
 
Time to Fly - Why Predictive Analytics is Going Mainstream
Time to Fly - Why Predictive Analytics is Going MainstreamTime to Fly - Why Predictive Analytics is Going Mainstream
Time to Fly - Why Predictive Analytics is Going Mainstream
 
NeilBartonCV
NeilBartonCVNeilBartonCV
NeilBartonCV
 
Beyond The Intranet: Digital Workplace Apps, Solutions & Bots
Beyond The Intranet: Digital Workplace Apps, Solutions & BotsBeyond The Intranet: Digital Workplace Apps, Solutions & Bots
Beyond The Intranet: Digital Workplace Apps, Solutions & Bots
 
Beyond The Intranet: Digital Workplace Apps, Solutions & Bots
Beyond The Intranet: Digital Workplace Apps, Solutions & BotsBeyond The Intranet: Digital Workplace Apps, Solutions & Bots
Beyond The Intranet: Digital Workplace Apps, Solutions & Bots
 

Mais de Vaticle

Building Biomedical Knowledge Graphs for In-Silico Drug Discovery
Building Biomedical Knowledge Graphs for In-Silico Drug DiscoveryBuilding Biomedical Knowledge Graphs for In-Silico Drug Discovery
Building Biomedical Knowledge Graphs for In-Silico Drug DiscoveryVaticle
 
Loading Huge Amounts of Data
Loading Huge Amounts of DataLoading Huge Amounts of Data
Loading Huge Amounts of DataVaticle
 
Natural Language Interface to Knowledge Graph
Natural Language Interface to Knowledge GraphNatural Language Interface to Knowledge Graph
Natural Language Interface to Knowledge GraphVaticle
 
A Data Modelling Framework to Unify Cyber Security Knowledge
A Data Modelling Framework to Unify Cyber Security KnowledgeA Data Modelling Framework to Unify Cyber Security Knowledge
A Data Modelling Framework to Unify Cyber Security KnowledgeVaticle
 
Unifying Space Mission Knowledge with NLP & Knowledge Graph
Unifying Space Mission Knowledge with NLP & Knowledge GraphUnifying Space Mission Knowledge with NLP & Knowledge Graph
Unifying Space Mission Knowledge with NLP & Knowledge GraphVaticle
 
The Next Big Thing in AI - Causality
The Next Big Thing in AI - CausalityThe Next Big Thing in AI - Causality
The Next Big Thing in AI - CausalityVaticle
 
Building a Cyber Threat Intelligence Knowledge Graph
Building a Cyber Threat Intelligence Knowledge GraphBuilding a Cyber Threat Intelligence Knowledge Graph
Building a Cyber Threat Intelligence Knowledge GraphVaticle
 
Building a Distributed Database with Raft.pdf
Building a Distributed Database with Raft.pdfBuilding a Distributed Database with Raft.pdf
Building a Distributed Database with Raft.pdfVaticle
 
Enabling the Computational Future of Biology.pdf
Enabling the Computational Future of Biology.pdfEnabling the Computational Future of Biology.pdf
Enabling the Computational Future of Biology.pdfVaticle
 
TypeDB Academy | Inference with Rules
TypeDB Academy | Inference with RulesTypeDB Academy | Inference with Rules
TypeDB Academy | Inference with RulesVaticle
 
TypeDB Academy | Modelling Principles
TypeDB Academy | Modelling PrinciplesTypeDB Academy | Modelling Principles
TypeDB Academy | Modelling PrinciplesVaticle
 
Beyond SQL - Comparing SQL to TypeQL
Beyond SQL - Comparing SQL to TypeQLBeyond SQL - Comparing SQL to TypeQL
Beyond SQL - Comparing SQL to TypeQLVaticle
 
TypeDB Academy- Getting Started with Schema Design
TypeDB Academy- Getting Started with Schema DesignTypeDB Academy- Getting Started with Schema Design
TypeDB Academy- Getting Started with Schema DesignVaticle
 
Comparing Semantic Web Technologies to TypeDB
Comparing Semantic Web Technologies to TypeDBComparing Semantic Web Technologies to TypeDB
Comparing Semantic Web Technologies to TypeDBVaticle
 
Reasoner, Meet Actors | TypeDB's Native Reasoning Engine
Reasoner, Meet Actors | TypeDB's Native Reasoning EngineReasoner, Meet Actors | TypeDB's Native Reasoning Engine
Reasoner, Meet Actors | TypeDB's Native Reasoning EngineVaticle
 
Intro to TypeDB and TypeQL | A strongly-typed database
Intro to TypeDB and TypeQL | A strongly-typed databaseIntro to TypeDB and TypeQL | A strongly-typed database
Intro to TypeDB and TypeQL | A strongly-typed databaseVaticle
 
Graph Databases vs TypeDB | What you can't do with graphs
Graph Databases vs TypeDB | What you can't do with graphsGraph Databases vs TypeDB | What you can't do with graphs
Graph Databases vs TypeDB | What you can't do with graphsVaticle
 
Pandora Paper Leaks With TypeDB
 Pandora Paper Leaks With TypeDB Pandora Paper Leaks With TypeDB
Pandora Paper Leaks With TypeDBVaticle
 
Strongly Typed Data for Machine Learning
Strongly Typed Data for Machine LearningStrongly Typed Data for Machine Learning
Strongly Typed Data for Machine LearningVaticle
 
Open World Robotics
Open World RoboticsOpen World Robotics
Open World RoboticsVaticle
 

Mais de Vaticle (20)

Building Biomedical Knowledge Graphs for In-Silico Drug Discovery
Building Biomedical Knowledge Graphs for In-Silico Drug DiscoveryBuilding Biomedical Knowledge Graphs for In-Silico Drug Discovery
Building Biomedical Knowledge Graphs for In-Silico Drug Discovery
 
Loading Huge Amounts of Data
Loading Huge Amounts of DataLoading Huge Amounts of Data
Loading Huge Amounts of Data
 
Natural Language Interface to Knowledge Graph
Natural Language Interface to Knowledge GraphNatural Language Interface to Knowledge Graph
Natural Language Interface to Knowledge Graph
 
A Data Modelling Framework to Unify Cyber Security Knowledge
A Data Modelling Framework to Unify Cyber Security KnowledgeA Data Modelling Framework to Unify Cyber Security Knowledge
A Data Modelling Framework to Unify Cyber Security Knowledge
 
Unifying Space Mission Knowledge with NLP & Knowledge Graph
Unifying Space Mission Knowledge with NLP & Knowledge GraphUnifying Space Mission Knowledge with NLP & Knowledge Graph
Unifying Space Mission Knowledge with NLP & Knowledge Graph
 
The Next Big Thing in AI - Causality
The Next Big Thing in AI - CausalityThe Next Big Thing in AI - Causality
The Next Big Thing in AI - Causality
 
Building a Cyber Threat Intelligence Knowledge Graph
Building a Cyber Threat Intelligence Knowledge GraphBuilding a Cyber Threat Intelligence Knowledge Graph
Building a Cyber Threat Intelligence Knowledge Graph
 
Building a Distributed Database with Raft.pdf
Building a Distributed Database with Raft.pdfBuilding a Distributed Database with Raft.pdf
Building a Distributed Database with Raft.pdf
 
Enabling the Computational Future of Biology.pdf
Enabling the Computational Future of Biology.pdfEnabling the Computational Future of Biology.pdf
Enabling the Computational Future of Biology.pdf
 
TypeDB Academy | Inference with Rules
TypeDB Academy | Inference with RulesTypeDB Academy | Inference with Rules
TypeDB Academy | Inference with Rules
 
TypeDB Academy | Modelling Principles
TypeDB Academy | Modelling PrinciplesTypeDB Academy | Modelling Principles
TypeDB Academy | Modelling Principles
 
Beyond SQL - Comparing SQL to TypeQL
Beyond SQL - Comparing SQL to TypeQLBeyond SQL - Comparing SQL to TypeQL
Beyond SQL - Comparing SQL to TypeQL
 
TypeDB Academy- Getting Started with Schema Design
TypeDB Academy- Getting Started with Schema DesignTypeDB Academy- Getting Started with Schema Design
TypeDB Academy- Getting Started with Schema Design
 
Comparing Semantic Web Technologies to TypeDB
Comparing Semantic Web Technologies to TypeDBComparing Semantic Web Technologies to TypeDB
Comparing Semantic Web Technologies to TypeDB
 
Reasoner, Meet Actors | TypeDB's Native Reasoning Engine
Reasoner, Meet Actors | TypeDB's Native Reasoning EngineReasoner, Meet Actors | TypeDB's Native Reasoning Engine
Reasoner, Meet Actors | TypeDB's Native Reasoning Engine
 
Intro to TypeDB and TypeQL | A strongly-typed database
Intro to TypeDB and TypeQL | A strongly-typed databaseIntro to TypeDB and TypeQL | A strongly-typed database
Intro to TypeDB and TypeQL | A strongly-typed database
 
Graph Databases vs TypeDB | What you can't do with graphs
Graph Databases vs TypeDB | What you can't do with graphsGraph Databases vs TypeDB | What you can't do with graphs
Graph Databases vs TypeDB | What you can't do with graphs
 
Pandora Paper Leaks With TypeDB
 Pandora Paper Leaks With TypeDB Pandora Paper Leaks With TypeDB
Pandora Paper Leaks With TypeDB
 
Strongly Typed Data for Machine Learning
Strongly Typed Data for Machine LearningStrongly Typed Data for Machine Learning
Strongly Typed Data for Machine Learning
 
Open World Robotics
Open World RoboticsOpen World Robotics
Open World Robotics
 

Último

Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 

Último (20)

Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 

Grounding Conversational AI in a Knowledge Base

  • 1. Confidential and proprietary. Any use of this material without specific permission of Rasa is strictly prohibited. Grounding Conversational AI in a Knowledge Base Tanja Bunk, Machine Learning Engineer @ Rasa 1
  • 4. Conversations are easy! NOT easy (for computers)! 4
  • 5. Conversations are easy! NOT easy! Domain knowledge needed to list entities. 5 Hi! How can I help you? Can you list all my accounts please? Sure, here is what I found: 1. N26, account number DE61500105171526138412 2. Deutsche Bank, account number DE89500105171722749148 Hi!
  • 6. Conversations are easy! NOT easy! 6 Hi! How can I help you? Can you list all my accounts please? Sure, here is what I found: 1. N26, account number DE61500105171526138412 2. Deutsche Bank, account number DE89500105171722749148 On which of those accounts do I currently have more money? Hi! Reference to entities listed before.
  • 7. Conversations are easy! NOT easy! 7 Reference to N26 account. Can you list all my accounts please? Sure, here is what I found: 1. N26, account number DE61500105171526138412 2. Deutsche Bank, account number DE89500105171722749148 On which of those accounts do I currently have more money? You have a balance of 2324,84€ on N26. Your balance on Deutsche Bank is only 523,83€. What are my recent transactions on that account?
  • 8. Conversations are easy! NOT easy! 8 Domain knowledge needed to answer user questions. On which of those accounts do I currently have more money? You have a balance of 2324,84€ on N26. Your balance on Deutsche Bank is only 523,83€. What are my recent transactions on that account? Your recent transactions on N26 are: Zalando 43,54€ Pasta Bar 9,90€ Esprit 103,21€ Max Mustermann 200,00€
  • 9. Conversations are easy! NOT easy! 9 Domain knowledge needed to resolve an unclear mention of a real-world entity. How much money did I spend on food? You spent 16,89€ on food in the last month. How much money did I transfer to Max? You have transferred money to multiple people with the name Max. Which Max do you mean? 1. Max Müller 2. Max Mayer
  • 10. Conversations are easy! NOT easy! 10 Reference to Max Müller. How much money did I transfer to Max? You have transferred money to multiple people with the name Max. Which Max do you mean? 1. Max Müller 2. Max Mayer I meant the first one. I found the following transactions to Max Müller: 24.09.2019 Food 23,50 € 01.10.2019 Hotel Berlin 350,00 € 16.10.2019 Present Sara 10,00 €
  • 11. Grounding Conversational AI in a Knowledge Base 11
  • 12. Outline I. Introduction: Rasa II. Rasa & Grakn III. Building a Bot IV. Demo V. Remaining Challenges 12
  • 13. Rasa is a 50-ish person startup with offices in San Francisco and Berlin INTRODUCTION: RASA 13
  • 14. Open Source + Community + Applied Research We are building the standard infrastructure for conversational AI INTRODUCTION: RASA 14
  • 15. INTRODUCTION: RASA Rasa Open Source is a set of open source machine learning tools for developers for conversational AI: ● NLU: open-source natural language processing tool for intent classification and entity extraction ● Core: framework for machine learning-based, contextual decision making Rasa Open Source: Tools for developers to build text and voice assistants in-house 15
  • 16. Rasa’s technology can understand natural language and decide about the next best action based on the context of the conversation using machine learning Backend, CRM, database, API, etc. INTRODUCTION: RASA ML-based Dialogue Management “The Brain” Input Modules “The Ears” Natural Language Understanding Output Modules “The Mouth” Response Generator Connector Modules Live Chat, App, Messenger, Phone SMS, etc. “I want to change my address” (User Request via text or voice) “What’s your new address?” (AI response via text or voice) User Backend Data Control Companies keep complete control of their data and customer interaction Via communication channel: 16 Rasa Open Source
  • 17. What do we need knowledge bases for? 17 RASA & GRAKN
  • 18. The assistant only knows whatever you taught it! 18 RASA & GRAKN ● Knowledge of the bot is limited to whatever is contained in the training data ● Bots do not have access to external knowledge by default ● Knowledge is fixed, bots need to be redeployed to update knowledge Solution: Connect Rasa Open Source to a knowledge base!
  • 19. Store your domain knowledge in a knowledge base 19 RASA & GRAKN Knowledge bases ● Store for domain knowledge ● Typically represented by graph databases Using a graph database allows you to ● Store complex data structures ● Easily store relations between different entities ● Think of data in an object-oriented way (entities, attributes, relations) ● Query data fast
  • 20. We chose Grakn as our knowledge base store 20 RASA & GRAKN ● Open source ● Easy to set-up ● Has a great documentation & support ● Implements a hyper graph data model with a schema/logical verification ● Provides a reasoning engine to do reasoning at query run time as part of the language ● Offers distributed analytical algorithms as part of the language
  • 21. Let’s build a bot! 21 BUILDING A BOT
  • 22. Question to be answered 22 BUILDING A BOT What is the headquarter of N26?
  • 23. Step 1: Set up a knowledge base 23 BUILDING A BOT
  • 24. Knowledge base schema can get complex very fast 24 BUILDING A BOT Think about the schema before implementing it. ● What entities do you need? ● What attributes do the entities have? ● How are the entities related to each other? Be careful: The more complex the schema, the more complex the queries will be.
  • 25. Knowledge base schema of our banking bot 25 BUILDING A BOT name bank free-accounts country headquarter contract transaction card represented- by person email first-name last-name gender city sign-date account-numberaccount-type balance opening-date account name-on-card expiry-date card-number created-date amount category reference execution-date english-website english-customer- service
  • 26. Fill your knowledge base with data 26 BUILDING A BOT insert $b isa bank, has name ‘N26’, has country ‘Germany’, has headquarter ‘Berlin’, has free-accounts true, has english-website true, has english-customer-service true; Example: Query to insert bank N26
  • 27. Step 2: Add new training data 27 BUILDING A BOT
  • 28. The bot needs to understand every user message 28 BUILDING A BOT ● During a conversation ○ An intent will be assigned to every user message ○ Entities will be extracted from every user message ● Define new intent(s) for messages that should result in querying the knowledge base ● Define every entity that occurs in the training data that are important for querying the knowledge base ## intent:query_knowledge_base - What [gender](attribute) is [Hans Maier](person)? - What is the [headquarter](attribute) of [Deutsche Bank](bank)? - Does [N26](bank) have an [english website](attribute:english-website)? - How much [money](attribute:balance) do I have on that account? - What is my [balance](attribute) on that account? NLU Data
  • 29. The bot needs to know when to query the knowledge base 29 BUILDING A BOT ● Bot predicts after every message what to do next ● Define some example dialogues (stories) that interact with the knowledge base ● Bot learns from those dialogues what to do if a certain user message comes in ## Happy Path * greet - utter_greet * query_knowledge_base - action_query_knowledge_base * goodbye - utter_goodbye Story
  • 30. Step 3: Add custom actions 30 BUILDING A BOT
  • 31. Use custom actions to query the knowledge base 31 BUILDING A BOT Rasa Open Source 1. NLU 2. Core 3. Action actions.py Definition of some custom actions that interact with the knowledge base. knowledge base user’s message bot’s message query
  • 32. Use custom actions to query the knowledge base 32 BUILDING A BOT Rasa Open Source 1. NLU 2. Core 3. Action What is the headquarter of N26?
  • 33. Use custom actions to query the knowledge base 33 BUILDING A BOT intent: query_knowledge_base 95% entities: attribute: headquarter 93% bank: N26 98% What is the headquarter of N26? Rasa Open Source 1. NLU 2. Core 3. Action
  • 34. Use custom actions to query the knowledge base 34 BUILDING A BOT next action: action_query_knowledge_base 95% utter_greet 1% utter_goodbye 4% What is the headquarter of N26? Rasa Open Source 1. NLU 2. Core 3. Action
  • 35. Use custom actions to query the knowledge base 35 BUILDING A BOT entities: attribute: headquarter bank: N26 schema: schema[“bank”][“key_attribute”] = “name” query: match $bank isa bank, has name ‘N26’, has headquarter $a; get $a; result: “Berlin” response: “N26 has value ‘Berlin’ for attribute ‘headquarter’.” knowledge base What is the headquarter of N26? Rasa Open Source 1. NLU 2. Core 3. Action
  • 36. Use custom actions to query the knowledge base 36 BUILDING A BOT response: “N26 has value ‘Berlin’ for attribute ‘headquarter’.” What is the headquarter of N26? N26 has value ‘Berlin’ for attribute ‘headquarter’. Rasa Open Source 1. NLU 2. Core 3. Action
  • 37. Let’s see our bot in action! 37 DEMO
  • 40. 40 ● Constructing complex queries is hard – a lot of custom code is needed ● Users tend to refer to entities in different ways (e.g. the last one, it, the plane ticket, etc.), each way is challenging on its own ● Answers of the bot are not very natural as we need to use templates Some work is still left to do REMAINING CHALLENGES
  • 41. Key takeaways 41 ● Connecting Rasa Open Source to a knowledge base allows your assistant to answer domain specific questions ● Grakn can be used as a knowledge base store ● Custom actions allow you to construct queries and query your knowledge base ● Good training data is important to teach the bot when to query the knowledge base and to extract relevant entities that are needed for constructing the queries
  • 42. Read more on the topic! 42 We have two blog posts on the topic of knowledge bases: ● https://blog.rasa.com/integrating-rasa-with-knowledge-bases/ ● https://blog.rasa.com/set-up-a-knowledge-base-to-encode-domain-knowledge-for-rasa/ Code of the example bot can be found here: https://github.com/RasaHQ/tutorial-knowledge-base We added the knowledge base feature to Rasa Open Source. It allows you to connect your assistant to any graph database. Check it out! https://rasa.com/docs/rasa/core/knowledge-bases/
  • 43. Tanja Bunk Machine Learning Engineer t.bunk@rasa.com Thank you!