Speaker: Daniël Heres
Genre & level: Backend, Way of working, Medior
Currently, chatbots are stupid; they only get what you want when you ask them in the exact way the system understands. At bol.com, we are improving our chatbot using Machine Learning and AI. To give users better answers more quickly, in addition to analyzing sentences from users, we also use information about the current situation of a customer, such as information about recent orders, returned items and status of package transport. Using this context to predict what the customer wants leads not only to improvements in our chatbot, but can also be used to proactively give customers and customer service agents information they need.
We can make much better decisions by learning from our data instead of hardcoded rules, so we have lots of plans to be smarter in the future. Through machine learning, we give customers better service, detect and prevent problems in the shopping and ordering process, and help agents solve problems. It’s a win-win-win! This talk will inspire you to make the most of your own data and provide an approach for using that data to improve your services and decision-making.
3. This Talk
START
V
.----------'------------.
| INTRO / DATA-DRIVEN |
'----------,------------'
v
.----------'------------.
| BILLIE |
'----------.------------'
v
.----------'------------.
| AI/ML FOR BILLIE |
'----------,------------'
V
.----------'------------.
| CS 2.0 USING AI |
'----------,------------'
v
FIN
1
4. Personal Info
MAIN SIDE JOBS RELEVANT PROJECTS
.--------------------.
| TI-83 Programmer |
'---------,----------'
v
.---------'----------.
.--------------------------------,--------------| NLP Chatbot | .---(2008)
| | '---------,----------' /
v | | /
.----------'------------. .---------'----------. | (Yes, this is true. It was part
| Computer Science BSc | | SE Job 1 Untitled | | of our work ”Kunstmatige
'----------,------------' '---------,----------' | intelligentie als toepassing
| v v op de communicatie tussen mens
| .---------'----------. .---------'----------. en computer”.)
| | Customer Insights | | ML for Programs |
| '---------,----------' '---------,----------'
v v v
.----------'------------. .---------'----------. .---------'----------.
| Computing Science MSc | | Computer Vision | | ML Plagiarism Det. |
'----------,------------' '---------,----------' '---------,----------'
| / /
v / /
.----------'------------. / /
| Bol.com CS |<--------------' /
'----------,------------' /
| /
v .--'
.----------'------------. .--------------------. / .-------------------.
| Bol.com CS + AI | | AI News Letter |<'>| Experiments | (2018)
'-----------------------' '--------------------' '--------------------'
2
8. Billie, our Customer Service Assistant
Figure: This is baby Billie
λ About 10 years old
λ Knowledge system with manual written patterns & rules & heuristics & synonyms...
λ Created by external party
λ 2M conversations / year and going UP
6
13. Some Statistics (Answer Level)
Answers (from Billie) 28044
Good 75%
Incorrect 17%
Repetition 6%
Other 2 %
Table: Sentence Level Statistics
11
14. Let’s Go Deeper...
Of the conversations...
λ ...52% contain ≥ 2 confirmation questions (”Do you mean ...?”)
λ ...44% contain ≥ 1 incomprehension answers (”I don’t know what you mean”)
12
15. Clustering
Figure: Clustering of answers from Billie, as a directed graph (left=unknown cluster, middle=start of
conversation, right=end of conversation). Uses DSBSCAN, character tri-grams.
13
16. Clustering 2.0
Wil je weten wanneer je bestelling afgeleverd wordt?
Ben je op zoek naar (informatie over) een product?
Wil je uitleg over het retourneren van een bestelling?
niet herkend
Je wilt graag weten waar je bestelling blijft, begrijp ik...
Wil je weten wat te doen met een beschadigd (of niet goed...
Oke, met mij gaat het goed. Waarmee kan ik je helpen?
Zeg, ik ben geen rekenmachine! (Maar het antwoord is 19)....
Om je te kunnen vertellen wat de status van je bestelling...
Wil je weten of je bestelling doorgekomen is?
Wil je informatie over kortingscodes van bol.com?
Hallo, je hoeft geen aanhef te gebruiken hoor ;-) Ik ben ...
Wil je informatie over het inwisselen van cadeaubonnen, c...
Gaat het om je meest recente bestelling met daarin de art...
Goedemorgen, je mag wel gewoon Billie zeggen hoor... Je k...
anders
start
Figure: Interactive flow-diagram of conversations, based on answers from Billie
14
17. Why Improving Billie?
λ 24/7, no delay for customers
λ Automated solutions have lowest cost
λ Escalating to live chat, our most efficient channel (both for customer / bol.com)
λ By solving most frequent, easiest problems, our agents can focus on complex cases
λ By integrating we can make more decisions ourselves
15
18. Current Results
λ ML-based model that recognizes intents (topics) of customer
λ Gives suggestions to external party
λ Context-based prediction of intent (predicting relevant FAQs for customers, agents,
etc)
λ A/B test soon, measure impact on interactions, nr. escalations, etc.
16
19. Comprehender Is Live
We are LIVE
textbfThe service Comprehender
Handling ±1 input sentences per second, around 43000 a day.
Mostly about ”where is my order”, ”Contact” and ”I search for a product”
Response times ±10 ms per call.
17
20. How does it work?
P(y = i | x) (1)
λ Dataset of input sentences + labels (intents)
λ {(”I want to return my phone”,RETURN), (”Does my phone arrive
on time”,WHERE_IS_MY_ARTICLE), ...}
λ Character-level Convolutional Neural Network (after selection of word-level, LSTMs,
etc)
λ Gives suggestions to external party
λ Context-based prediction of intent (predicting relevant FAQs for customers, agents,
etc)
λ Analysis and AB-test planned
18
22. Neural Networks
A learnable function f : X → y, using set of parameters Θ.
y = f(x; Θ) (2)
Applied in sequence (function composition), also called layers:
f = fn ◦ ... ◦ f2 ◦ f1 ◦ f0 (3)
20
23. Neural Networks
Hidden layer:
hi = g(WT
x + b) (4)
Convolutional Neural Networks: similar, but only connected locally.
λ Images: 2D kernel
λ Text / Audio / Time-series ...: 1-dimensional (over time)
λ Recent successes: residual connections, attention, transfer learning...
21
24. Convolutional Neural Networks for Text
Some Text
Convolutions Max-pooling
Length
Feature
Quantization
...
Conv. and Pool. layers Fully-connected
Figure: Character-level Convolutional Networks for Text classification, Zhang et al.
22
25. Context-based intent prediction
λ Historically available context (time since last order, type of order, numper of
packages, time of day, time since last return
λ Experiment using limited variables, Gradient Boosting model
λ 29.0% vs 23.6% (baseline) top-1 accuracy
λ We expect we can do much better using more relevant data
23
28. Conversational UI
λ Adding new agents, e.g. for routing the customer to correct channel, returning
process ...
λ ContactBot: More conversations directly with seller, better channel selection
λ Better for the customer, better for us
λ Understanding user input (free text, speech): classification, entity recognition
26
29. Text & Trend Analytics
λ Getting insights out of data
λ Seeing what important issues to fix, problems with products, etc.
λ Feedback to sellers, service agents, IT teams...
27
30. Auto Routing
λ Directly getting the best possible agent
λ Based on (historical) customer feedback, handling time, agent info, other metrics
28
31. Summary
λ Make Customer Service + bol.com better using AI
λ A way of working for data-related projects
λ Analysis + development of AI systems
λ Modular approach for further developing the future of customer service
29