41
A.I. & demystifying conversational agents Setting expectations on the current and future state of affairs Filip Maertens [email protected] @fmaertens

Meetup 6/3/2017 - Artificiële Intelligentie: over chatbots & robots

Embed Size (px)

Citation preview

  • 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