meetup 6/3/2017 - artificiële intelligentie: over chatbots & robots
TRANSCRIPT
-
A.I. & demystifying conversational agentsSetting expectations on the current and future state of affairs
Filip Maertens [email protected] @fmaertens
-
Hi, there. I am @fmaertens
Were accessible. Twitter @factionxyz or [email protected]
Faction XYZ as applied A.I. partner to Fortune 500 companies.
Building enterprise platform chatlayer.ai
Were hiring 10 ML people (NLP and computer vision) before summer.
-
Where are we with A.I. ?
-
Where do we come from ?
1950. Marvin Minsky
built first neural net
1960s. Alexey Ivakhnenko
first works on deep neural
networks
1986. Geoffrey Hinton
backpropagation algorithm
in its current form
2006. Geoffrey Hinton coins
deep learning
Larger datasets, GPU / multi-core processors, efficient training
Hard to train, low computational resources, small datasets
2012. Hinton on
computer vision
2011. Microsoft on
speech recognition
-
Whats the paradigm ?
Deep Belief Networks
Computer Vision
Audio Signal Processing
Natural Language (NLP)
-
How intelligent is artificial intelligence today ? 5 year old ?
-
So, where does this leave us ?
1. Chatbots are an old topic but a nascent business. Accidents ahead! Intelligence comes through solid integrations.
2. Deep learning continues to give results in computer vision, expands into other domains. Machine learning becomes a scarce commodity.
3. ML/DL expectations vs. reality can leave a bitter taste. Not a silver bullet. Controlled vs. real environments.
4. Forget about MLaaS. Too complex. Bridging the competence gap.5. AI doesnt mean anything when not applied. Vertical solutions is where the
money is.
-
So, lets bring some perspective on chatbots.
-
Conversational interfaces are an emerging channel. Or are they?
Command Line
MS Dos, Unix
Text Input
Native apps
Client side
GUI
Mac OS, MS Windows
Window based
Native apps
Client side
Web
Mosaic, Netscape
Hypertext
Web pages
Server side
Mobile
iOS, Android
Touch based
Native apps
Client side
Conversation
FB Messenger, Slack
Message based
Bots
Server side
Always useful ?
-
The many shapes and forms a chatbot can be brought into your life
-
Chat is here to stay ...
60 Billion
20 Billion
1 Hour
More than 60 billion messages per day onFacebook and Whatsapp.
LINE users exchange 20 billion messages per day.
55% of WeChat users spend over 1 hour per day on the service
-
Expectation
-
Reality
-
Many Oops ahead !
-
Maturity ?
-
Some things we learned while building chatbots.
-
Before we begin, lets get the semantics right. Some commonly used terms and definitions when dealing with a chatbot.
1. Intent. In simple terms, when a user interacts with a chatbot, what is his intention to use chatbot/what is he asking for.
2. Entities. An entity can be nominal, which means it's a common thing like fish or movie. Entities are extracted using Entity Extraction (a common theme in all NLP engines).
3. Named Entities. This entity is a proper noun, a name, such as Antwerp or Ermelinda. Semantic ambiguity can arise, which Entity Resolution resolves. Or hopes to.
4. Regex. A regular expression. This is codified manner to perform pattern matching on text. Its a very basic but efficient way of normalizing text, or match a predefined pattern or keyword.
5. Context. Maintain the Context and its state with all parameters received during the single Session in order
to get the required result to the user.
-
Type of chatbots
1. Three levels of conversation
a. Command & response
i. Stateless bots with some basic NLP (Wit, Luis, Watson, ...)
b. Hard coded conversation flows
i. Users navigate a flow chart defined by the developers / bot builders.
ii. The bots state corresponds directly to a particular block of code being executed.
c. Continuous stateful flows
i. Human conversations dont follow a template
ii. Hard-coding conversations as flow charts wont work forever
-
The logical components of a regular chatbot
UI AI SI
-
The UI of a chatbot is text, not graphics. The UX is tonality and
style, not buttons.
0
-
1Keep the scope and train a
chatbot narrow at first. Solve one use case, gain trust, then
expand.
-
Dont try to impersonate humans. The uncanny valley effect will make humans feel
cheated.
2
-
Getting stuck in more than three repetitive questions is going to
p*ss off the user. 40% drops off in first interaction, 20% more in a
second step
3
-
Any end to end flow you can do faster in an app or a website isnt
worth building a chatbot for.
4
-
You better have a damn good reason to ask more than five
questions.
5
-
Chatbots are just the presentation layer. NLP and
backend integration provide the real intelligence.
6
-
Be ready prepared to hand over to a human agent. Many
conditions apply (emotion, confidence score, timing,
manual, etc.)
7
-
Chatbots are just another channel next to web, mobile and
others. Treat it as such.
8
-
Sometimes you cant replace a human because users just want
to vent their anger. Its psychology, stupid.
9
-
Is there a business case ?
-
Example business cases: lowering the support cost
-
Example business cases: increasing revenue
-
What we learned through our enterprise platform ?
-
The Chatlayer.ai Functional Framework. Highlight of functional components that make up for an intelligent chatbot.
PresentationLayer
Language Processing Layer
Web (API) App (SDK) Facebook Skype Telegram WeChat
Flow Control & Business Logic
Intelligence & Profiling Layer
Sentiment Analysis Profile Classification Contextual Analysis
Natural Language Processing
Audience Analytics A/B Testing Module
Spell Checking & Translation Natural Language Generation
Business Logic Layer
Dialogue Management
REST API & Webhook IntegrationsRegular Expression Parsing Keywords And Aliases
Message Components Chat Emulator
Natural Language Context/Memory
-
Challenges with regards to understanding human language
Semantic understanding Search trees Bag of words Wordnet Word-embedding (word2vec)
Contextual understanding
Memory recall
Couple Word2Vec to a CNN for full contextual understanding, ignoring small errors and variances in wordings.
Implement a word-based LSTM to remember relevant, and forget irrelevant information
-
Some learnings on building an enterprise platform. Clients asked us ...
Manual overrides on NLP. Conditional flows.
Easy to build custom API integrations
Analytics. Analytics. Analytics.
English is OK. Dutch ? Arabic ? Urdu ?
Multi-tenant management system
Easy to use training and retraining
BYOL of third-party NLPs
-
Some learnings on building an enterprise platform. Clients asked us ...
Conversational Management Platform
Verticalization of business use
Context-aware chats
Capable of forgetting chats
-
Clients requested memory networks: situational understanding of text
-
Clients requested image captioning
-
But most client requests are moving into non-NLP or chatbot domains
-
A.I. & demystifying conversational agentsSetting expectations on the current and future state of affairs
Filip Maertens [email protected] @fmaertens