SlideShare a Scribd company logo
1 of 25
Download to read offline
CHATBOTS
Hoe werken ze
en wat kunnen we er
mee aan?
Wat is een chatbot?
Chatbot = chat + robot
 Dus: een geautomatiseerde gesprekspartner
Formaat: dialoog
 Jij stelt een vraag, de chatbot levert een antwoord
Invoer: toetsenbord / voice
AI: de bot wordt getraind met voorbeeldzinnen
 Hoe meer zinnen, hoe beter het antwoord
2
Wat doet een chatbot?
Leidt de intent af uit een zin
“gebruiker wil een vlucht boeken”
Herkent entities
Steden: Cairo, Seattle, Brussel, …
Aantallen: 2, 5, 300, …
Tijdstippen: vandaag, morgen, …
…
Termen die je wilt herkennen als entiteit moet je vaak
voorprogrammeren!
Vult de parameters van de intent aan (= slot filling)
Onderneemt actie eens intent volledig is (= fulfillment)
Tekstueel of gesproken antwoord
Ticket bestellen en opsturen...
3
Chatbots zijn niet nieuw!
4
Wat is er vandaag anders?
Artificiële Intelligentie (AI)
 Recente vooruitgang in Natural Language Processing /
Understanding (NLP/NLU) om de intentie van een gebruiker via
natuurlijke taal te begrijpen
 Cloud-based AI services
(IBM Watson, Microsoft LUIS, Google DialogFlow, Facebook Wit, …)
Tijdsgeest
 Gebruikers willen onmiddellijke en persoonlijke interactie
 Messaging platformen worden steeds populairder
5
Van bericht tot conversatie
Entity extraction:
 Identificatie van input-parameters
Dialogue management:
 Bepalen van de volgende actie of stap in de dialoog, op
basis van de vorige acties, de parameters (slots) die al
dan niet al gecapteerd zijn, etc. ;
 Om een actie uit te voeren kan er een API-call gestuurd
worden naar een back-end system;
Message generator:
 Uiteindelijk wordt er een antwoord gegenereerd.
6
Intent extraction:
 Identificatie van de intentie van de gebruiker;
 Typisch door selectie van de meest passende intent uit een lijst
van voorgedefinieerde intents;
 De context kan hierbij in rekening gebracht worden (intents van
eerdere berichten in de conversatie, het profiel van de gebruiker,
etc.);
Van bericht tot conversatie
Chat bot architecture
NLU component
(extract intent and
entities)
intent and entities
next action
Dialogue Mgmt (model predicts next_action
based on previous actions, action results,
slots)
next action
Tracker Slots
API call
Database
request/ URL
request
Hello
Hi <name>, how can I help you
What is the weather looking like
tomorrow?
It’s going to be mostly cloudy
with little rain
How about the day
after?
It’s going to be sunny
Message Generator (use
pre-defined templates with
placeholders)
7
De rol van AI
Intentie 1: attest_verkrijgen
- Ik heb een attest nodig
- hoe kan ik zo’n papier krijgen
- ....
- voorbeeldzin z
Intentie 2: wachtwoord_vergeten
- ik ben mijn paswoord vergeten
- ik ken mijn login niet meer
- ....
- voorbeeldzin z
Intentie x
- voorbeeldzin a
- voorbeeldzin b
- ....
- voorbeeldzin z
...
"Ik weet mijn
paswoord niet meer"
ARTIFICIELE INTELLIGENTIE:
 Natural Language
Processing (NLP):
herkennen van de intentie
van de gebruiker
 Machine learning model
wordt getraind op basis
van voorbeeldzinnen
Machine learning is in staat om een vraag die niet letterlijk voorkomt in de voorbeeldzinnen te koppelen aan de juiste intentie
8
Use cases: Bol.com – klantenondersteuning
9
Use cases: NMBS – Go Unlimited
Info + ticket kopen
https://m.me/gounlimitedBE
10
Use cases:
The North Face –
find the perfect Jacket
https://www.thenorthface.com/xps
11
Use cases: Estland
e-Residency
12
Use cases:
Do not pay
Contesteren van
parkeerboetes
13
Use cases:
Do not pay – Assistentie asielaanvraag
14
Use cases:
Chatbot Student@Work
Geïntegreerd in Facebook
Messenger
Persoonlijke
begroeting
Introductie om de verwachtingen te
beheren
Consultatie uursaldo
(toekomst: in-conversation)
Automatisch antwoord op algemene
vragen (FAQ’s)
15
Test het zelf!
https://www.mysocialsecurity.be/student/nl/alge
meen/contact.html
https://www.mysocialsecurity.be/student/fr/gen
eralites/contact.html
16
https://www.mysocialsecurity.be/student/nl/algemeen/contact.html
Student@work: scope
FAQ-bot, nu 101 intenties (~vragen)
 Inhoudelijke vragen (studentenarbeid,
uursaldo, attest)
 Technische vragen (toegang:
paswoord, eID, etc.)
 Begroeting en afscheid, bedanking,
feedback
Voor elke intentie, idealiter 20+
voorbeeldzinnen nodig!
 Veel manueel redactiewerk!
 Deels door front-office, deels via
workshop met studenten
 Juni ‘18: toevoegingen Frans via
“crowdsourcing” (ClickWorker)
Uitwerking in Nederlands, vertaling naar Frans
vlak voor testfase
17
Hoe goed is de Student@work chatbot?
Score “per conversatie”
gemiddeld ~70%
 Gemeten door manuele
annotatie alle conversaties
gedurende drie maand
 Inschatting of de gebruiker
uiteindelijk geholpen werd
Nederlands scoort soms iets beter
dan Frans
 Minder voorbeeldzinnen in FR
 Toevoegen voorbeeldzinnen via
crowdsourcing (Clickworker)
heeft positief effect
“Seizoenseffecten” in de
vragen
 Moeilijkere vragen
gesteld in mei dan in juni
18
Andere limieten van chatbots
Bot antwoordt enkel op gekende vragen
Conversatie kan op oneindig veel manieren verlopen;
onmogelijk om alles op te vangen
Altijd problematisch:
 Niet voorziene vragen / heel specifieke details
 Meerdere vragen tegelijk
 Vragen met woorden die meer geassocieerd worden met een
andere intent
19
Best practices:
omgaan met missers
Zorg voor begrijpelijke foutmeldingen
Stel een confidence threshold in (bvb: +50%)
 Onder die threshold, zeg “niet begrepen” of vraag herformulering
Mensen blijven soms proberen
 Bied een alternatief
20
Best practices:
omgaan met gebruikers
Niet iedereen kan vlot omgaan met een bot!
Verwachtingsmanagement is nodig
21
Best practices:
voorbeeldzinnen
Meer is beter
 Crowdsourcing kan nuttig zijn!
Voorbeeldzin moet ondubbelzinnig bij 1 intent horen
Houd rekening met onnauwkeurige taal
 e-id = idkaart = pas = paspoort = papieren = beID = …
Hou het kort!
 Je wilt enkel trainen op de kern van de vraag
 Associëren met irrelevante woorden
leidt tot gekke misklassificaties:
22
Best practices:
antwoorden
Inspelen op emotie is leuk, maar als het mis loopt…
Herhaal desnoods de vraag in het antwoord
 Maakt altijd duidelijk waarop de bot precies antwoordt
23
Slotbedenkingen
Chatbots hebben potentieel als geautomatiseerde gesprekspartner
Hebben potentieel op langere termijn
Aandacht voor privacy ten opzichte van cloud platformen
Eén unieke “GovBot” is vandaag te hoog gegrepen
Geschikte cases (vandaag):
 Specifieke (beperkte) scope
 Hoog volume aan interacties
24
Thank You!
Contact Us
Website
www.smals.be
https://www.smalsresearch.be/
Phone
+3227875928
Email
research@smals.be

More Related Content

More from Smals

Wat is augmented reality en waarvoor gebruiken we het nl
Wat is augmented reality en waarvoor gebruiken we het nlWat is augmented reality en waarvoor gebruiken we het nl
Wat is augmented reality en waarvoor gebruiken we het nlSmals
 
Named entity recognition hoe werkt het wat kunnen we er mee doen nl
Named entity recognition hoe werkt het wat kunnen we er mee doen nlNamed entity recognition hoe werkt het wat kunnen we er mee doen nl
Named entity recognition hoe werkt het wat kunnen we er mee doen nlSmals
 
Natural language generation nederlands
Natural language generation nederlandsNatural language generation nederlands
Natural language generation nederlandsSmals
 
Wat is ai en wat kan het nl
Wat is ai en wat kan het nlWat is ai en wat kan het nl
Wat is ai en wat kan het nlSmals
 
Realite augmentee
Realite augmenteeRealite augmentee
Realite augmenteeSmals
 
Internet des objets
Internet des objetsInternet des objets
Internet des objetsSmals
 
Chatbots comment ca marche a quoi ca sert
Chatbots comment ca marche a quoi ca sertChatbots comment ca marche a quoi ca sert
Chatbots comment ca marche a quoi ca sertSmals
 
Analyse predictive comment ca marche a quoi ca sert
Analyse predictive comment ca marche a quoi ca sertAnalyse predictive comment ca marche a quoi ca sert
Analyse predictive comment ca marche a quoi ca sertSmals
 
Traduction vocale quasi instantanee introduction
Traduction vocale quasi instantanee introductionTraduction vocale quasi instantanee introduction
Traduction vocale quasi instantanee introductionSmals
 
Automatisation des processus robotises introduction
Automatisation des processus robotises introductionAutomatisation des processus robotises introduction
Automatisation des processus robotises introductionSmals
 
Interfaces conversationnelle introduction
Interfaces conversationnelle introductionInterfaces conversationnelle introduction
Interfaces conversationnelle introductionSmals
 
Reconnaissance d'entites nommees introduction
Reconnaissance d'entites nommees introductionReconnaissance d'entites nommees introduction
Reconnaissance d'entites nommees introductionSmals
 
Generation automatique de textes
Generation automatique de textesGeneration automatique de textes
Generation automatique de textesSmals
 
Intelligence artificielle etroite introduction
Intelligence artificielle etroite introductionIntelligence artificielle etroite introduction
Intelligence artificielle etroite introductionSmals
 
Named entity recognition hoe werkt het wat kunnen we er mee doen
Named entity recognition hoe werkt het wat kunnen we er mee doenNamed entity recognition hoe werkt het wat kunnen we er mee doen
Named entity recognition hoe werkt het wat kunnen we er mee doenSmals
 
Real time voice translation handig maar hoe ver staat het
Real time voice translation   handig  maar hoe ver staat hetReal time voice translation   handig  maar hoe ver staat het
Real time voice translation handig maar hoe ver staat hetSmals
 
Wat is predictive analytics en waarvoor kun je het gebruiken
Wat is predictive analytics en waarvoor kun je het gebruikenWat is predictive analytics en waarvoor kun je het gebruiken
Wat is predictive analytics en waarvoor kun je het gebruikenSmals
 
Wat is robotic process automation en wat kun je er mee doen
Wat is robotic process automation en wat kun je er mee doenWat is robotic process automation en wat kun je er mee doen
Wat is robotic process automation en wat kun je er mee doenSmals
 
Exemples europeens comme source d inspiration
Exemples europeens comme source d inspirationExemples europeens comme source d inspiration
Exemples europeens comme source d inspirationSmals
 
Wat zijn conversational interfaces en waarvoor kun je ze gebruiken
Wat zijn conversational interfaces en waarvoor kun je ze gebruikenWat zijn conversational interfaces en waarvoor kun je ze gebruiken
Wat zijn conversational interfaces en waarvoor kun je ze gebruikenSmals
 

More from Smals (20)

Wat is augmented reality en waarvoor gebruiken we het nl
Wat is augmented reality en waarvoor gebruiken we het nlWat is augmented reality en waarvoor gebruiken we het nl
Wat is augmented reality en waarvoor gebruiken we het nl
 
Named entity recognition hoe werkt het wat kunnen we er mee doen nl
Named entity recognition hoe werkt het wat kunnen we er mee doen nlNamed entity recognition hoe werkt het wat kunnen we er mee doen nl
Named entity recognition hoe werkt het wat kunnen we er mee doen nl
 
Natural language generation nederlands
Natural language generation nederlandsNatural language generation nederlands
Natural language generation nederlands
 
Wat is ai en wat kan het nl
Wat is ai en wat kan het nlWat is ai en wat kan het nl
Wat is ai en wat kan het nl
 
Realite augmentee
Realite augmenteeRealite augmentee
Realite augmentee
 
Internet des objets
Internet des objetsInternet des objets
Internet des objets
 
Chatbots comment ca marche a quoi ca sert
Chatbots comment ca marche a quoi ca sertChatbots comment ca marche a quoi ca sert
Chatbots comment ca marche a quoi ca sert
 
Analyse predictive comment ca marche a quoi ca sert
Analyse predictive comment ca marche a quoi ca sertAnalyse predictive comment ca marche a quoi ca sert
Analyse predictive comment ca marche a quoi ca sert
 
Traduction vocale quasi instantanee introduction
Traduction vocale quasi instantanee introductionTraduction vocale quasi instantanee introduction
Traduction vocale quasi instantanee introduction
 
Automatisation des processus robotises introduction
Automatisation des processus robotises introductionAutomatisation des processus robotises introduction
Automatisation des processus robotises introduction
 
Interfaces conversationnelle introduction
Interfaces conversationnelle introductionInterfaces conversationnelle introduction
Interfaces conversationnelle introduction
 
Reconnaissance d'entites nommees introduction
Reconnaissance d'entites nommees introductionReconnaissance d'entites nommees introduction
Reconnaissance d'entites nommees introduction
 
Generation automatique de textes
Generation automatique de textesGeneration automatique de textes
Generation automatique de textes
 
Intelligence artificielle etroite introduction
Intelligence artificielle etroite introductionIntelligence artificielle etroite introduction
Intelligence artificielle etroite introduction
 
Named entity recognition hoe werkt het wat kunnen we er mee doen
Named entity recognition hoe werkt het wat kunnen we er mee doenNamed entity recognition hoe werkt het wat kunnen we er mee doen
Named entity recognition hoe werkt het wat kunnen we er mee doen
 
Real time voice translation handig maar hoe ver staat het
Real time voice translation   handig  maar hoe ver staat hetReal time voice translation   handig  maar hoe ver staat het
Real time voice translation handig maar hoe ver staat het
 
Wat is predictive analytics en waarvoor kun je het gebruiken
Wat is predictive analytics en waarvoor kun je het gebruikenWat is predictive analytics en waarvoor kun je het gebruiken
Wat is predictive analytics en waarvoor kun je het gebruiken
 
Wat is robotic process automation en wat kun je er mee doen
Wat is robotic process automation en wat kun je er mee doenWat is robotic process automation en wat kun je er mee doen
Wat is robotic process automation en wat kun je er mee doen
 
Exemples europeens comme source d inspiration
Exemples europeens comme source d inspirationExemples europeens comme source d inspiration
Exemples europeens comme source d inspiration
 
Wat zijn conversational interfaces en waarvoor kun je ze gebruiken
Wat zijn conversational interfaces en waarvoor kun je ze gebruikenWat zijn conversational interfaces en waarvoor kun je ze gebruiken
Wat zijn conversational interfaces en waarvoor kun je ze gebruiken
 

Wat zijn chatbots en waarvoor gebruiken we ze

  • 1. CHATBOTS Hoe werken ze en wat kunnen we er mee aan?
  • 2. Wat is een chatbot? Chatbot = chat + robot  Dus: een geautomatiseerde gesprekspartner Formaat: dialoog  Jij stelt een vraag, de chatbot levert een antwoord Invoer: toetsenbord / voice AI: de bot wordt getraind met voorbeeldzinnen  Hoe meer zinnen, hoe beter het antwoord 2
  • 3. Wat doet een chatbot? Leidt de intent af uit een zin “gebruiker wil een vlucht boeken” Herkent entities Steden: Cairo, Seattle, Brussel, … Aantallen: 2, 5, 300, … Tijdstippen: vandaag, morgen, … … Termen die je wilt herkennen als entiteit moet je vaak voorprogrammeren! Vult de parameters van de intent aan (= slot filling) Onderneemt actie eens intent volledig is (= fulfillment) Tekstueel of gesproken antwoord Ticket bestellen en opsturen... 3
  • 5. Wat is er vandaag anders? Artificiële Intelligentie (AI)  Recente vooruitgang in Natural Language Processing / Understanding (NLP/NLU) om de intentie van een gebruiker via natuurlijke taal te begrijpen  Cloud-based AI services (IBM Watson, Microsoft LUIS, Google DialogFlow, Facebook Wit, …) Tijdsgeest  Gebruikers willen onmiddellijke en persoonlijke interactie  Messaging platformen worden steeds populairder 5
  • 6. Van bericht tot conversatie Entity extraction:  Identificatie van input-parameters Dialogue management:  Bepalen van de volgende actie of stap in de dialoog, op basis van de vorige acties, de parameters (slots) die al dan niet al gecapteerd zijn, etc. ;  Om een actie uit te voeren kan er een API-call gestuurd worden naar een back-end system; Message generator:  Uiteindelijk wordt er een antwoord gegenereerd. 6 Intent extraction:  Identificatie van de intentie van de gebruiker;  Typisch door selectie van de meest passende intent uit een lijst van voorgedefinieerde intents;  De context kan hierbij in rekening gebracht worden (intents van eerdere berichten in de conversatie, het profiel van de gebruiker, etc.);
  • 7. Van bericht tot conversatie Chat bot architecture NLU component (extract intent and entities) intent and entities next action Dialogue Mgmt (model predicts next_action based on previous actions, action results, slots) next action Tracker Slots API call Database request/ URL request Hello Hi <name>, how can I help you What is the weather looking like tomorrow? It’s going to be mostly cloudy with little rain How about the day after? It’s going to be sunny Message Generator (use pre-defined templates with placeholders) 7
  • 8. De rol van AI Intentie 1: attest_verkrijgen - Ik heb een attest nodig - hoe kan ik zo’n papier krijgen - .... - voorbeeldzin z Intentie 2: wachtwoord_vergeten - ik ben mijn paswoord vergeten - ik ken mijn login niet meer - .... - voorbeeldzin z Intentie x - voorbeeldzin a - voorbeeldzin b - .... - voorbeeldzin z ... "Ik weet mijn paswoord niet meer" ARTIFICIELE INTELLIGENTIE:  Natural Language Processing (NLP): herkennen van de intentie van de gebruiker  Machine learning model wordt getraind op basis van voorbeeldzinnen Machine learning is in staat om een vraag die niet letterlijk voorkomt in de voorbeeldzinnen te koppelen aan de juiste intentie 8
  • 9. Use cases: Bol.com – klantenondersteuning 9
  • 10. Use cases: NMBS – Go Unlimited Info + ticket kopen https://m.me/gounlimitedBE 10
  • 11. Use cases: The North Face – find the perfect Jacket https://www.thenorthface.com/xps 11
  • 13. Use cases: Do not pay Contesteren van parkeerboetes 13
  • 14. Use cases: Do not pay – Assistentie asielaanvraag 14
  • 15. Use cases: Chatbot Student@Work Geïntegreerd in Facebook Messenger Persoonlijke begroeting Introductie om de verwachtingen te beheren Consultatie uursaldo (toekomst: in-conversation) Automatisch antwoord op algemene vragen (FAQ’s) 15
  • 17. Student@work: scope FAQ-bot, nu 101 intenties (~vragen)  Inhoudelijke vragen (studentenarbeid, uursaldo, attest)  Technische vragen (toegang: paswoord, eID, etc.)  Begroeting en afscheid, bedanking, feedback Voor elke intentie, idealiter 20+ voorbeeldzinnen nodig!  Veel manueel redactiewerk!  Deels door front-office, deels via workshop met studenten  Juni ‘18: toevoegingen Frans via “crowdsourcing” (ClickWorker) Uitwerking in Nederlands, vertaling naar Frans vlak voor testfase 17
  • 18. Hoe goed is de Student@work chatbot? Score “per conversatie” gemiddeld ~70%  Gemeten door manuele annotatie alle conversaties gedurende drie maand  Inschatting of de gebruiker uiteindelijk geholpen werd Nederlands scoort soms iets beter dan Frans  Minder voorbeeldzinnen in FR  Toevoegen voorbeeldzinnen via crowdsourcing (Clickworker) heeft positief effect “Seizoenseffecten” in de vragen  Moeilijkere vragen gesteld in mei dan in juni 18
  • 19. Andere limieten van chatbots Bot antwoordt enkel op gekende vragen Conversatie kan op oneindig veel manieren verlopen; onmogelijk om alles op te vangen Altijd problematisch:  Niet voorziene vragen / heel specifieke details  Meerdere vragen tegelijk  Vragen met woorden die meer geassocieerd worden met een andere intent 19
  • 20. Best practices: omgaan met missers Zorg voor begrijpelijke foutmeldingen Stel een confidence threshold in (bvb: +50%)  Onder die threshold, zeg “niet begrepen” of vraag herformulering Mensen blijven soms proberen  Bied een alternatief 20
  • 21. Best practices: omgaan met gebruikers Niet iedereen kan vlot omgaan met een bot! Verwachtingsmanagement is nodig 21
  • 22. Best practices: voorbeeldzinnen Meer is beter  Crowdsourcing kan nuttig zijn! Voorbeeldzin moet ondubbelzinnig bij 1 intent horen Houd rekening met onnauwkeurige taal  e-id = idkaart = pas = paspoort = papieren = beID = … Hou het kort!  Je wilt enkel trainen op de kern van de vraag  Associëren met irrelevante woorden leidt tot gekke misklassificaties: 22
  • 23. Best practices: antwoorden Inspelen op emotie is leuk, maar als het mis loopt… Herhaal desnoods de vraag in het antwoord  Maakt altijd duidelijk waarop de bot precies antwoordt 23
  • 24. Slotbedenkingen Chatbots hebben potentieel als geautomatiseerde gesprekspartner Hebben potentieel op langere termijn Aandacht voor privacy ten opzichte van cloud platformen Eén unieke “GovBot” is vandaag te hoog gegrepen Geschikte cases (vandaag):  Specifieke (beperkte) scope  Hoog volume aan interacties 24