Rafael Casuso Romate
Lead Front-End Engineer with more than 10 years of experience architecting and developing software. Machine Learning, Natural Language Processing, Bot Development and Reactive Fullstacks are some of his areas of expertise.
by Rafael Casuso
Who is @Rafael_Casuso
What is a Bot?
A Bot is an artificial intelligence with a human-like interface
A Conversational Bot simulates a conversation through programmatic responses
Are ChatBots the new apps?
Next big interface after Graphic, Mouse and Touch is Conversations (none is exclusive)
It usually runs on a messaging platform, external or custom, or is integrated into the OS
Famous bots (a type called Digital Assistants) include Siri, Cortana or Alexa
The Interface War
There is an ongoing War of Interfaces, driven by UX, with user adoption as the main goal
Conversation is the most natural interface for a human being
When Conversation is the Interface, Bot Personality is the UX
Different interfaces can be combined, graphical and conversational for example, as needed
There is also an ongoing Quest for the Lowest Friction
Bots on Messaging Platforms dodge the need for another app installation, thus reducing friction dramatically
There are endless possibilities for applications using conversational interfaces, both text and voice
Internet of Things Device Manager: command-oriented
Customer Service: support and suggestions
Digital Assistant: hub for connected services, reservations, shopping
Advertisement: brand ambassadors, characters, friendly offers
Healthcare: medical appointments, diagnosis helper
Fintech: bank agent, financial advisor
Education: digital teachers, virtual tutors, examinators
Rise of the Bots have come with the perfect storm: the emergence of AI, online services and the digital consumer
Conversational Accuracy is its UX success measure
Simple Bots are applications that perform actions in response to keywords, exact phrases or predefined choices
Intelligent Bots can use Cognitive Services with Machine Learning
Natural Language Processing (NLP) is the most important cognitive process to achieve conversational accuracy
Machine Learning is based on general learning algorithms grounded in statistical inference instead of large sets of static rules
Discipline that uses Learning Algorithms, often grounded in statistical inference, to automatically learn rules through the analysis of large ammount of data
Statistical Inference is the process of infering Predictive Models
Predictive Models are created through main steps: data analysis, distribution visualization, transformation, predictive patterns inference from part of transformed data (Training) and finally model Evaluation with the other part of data
Neural Networks are a family of algorithms and models inspired by central nervous systems of animals
Examples are Google Cloud Machine Learning and Prediction API, Amazon Machine Learning or Microsoft Azure Machine Learning
Bot main needs: Understand (parse text into structured data, categorize user intent), Converse (build natural answers), and Take Actions
Understanding includes extracting intents and entities from expressions through language models
Converse includes language generation, maintaining context (entities variables, user reference) and building a meaningful dialog
This main goals are achieved using Linguistic Analysis Libraries (Duckling) or APIs (IBM Linguistics)
Examples are Wit.ai (now Facebook Bot Engine), TextRazor, IBM Alchemy or Api.ai
NATURAL LANGUAGE PROCESSING
Taxonomy of models:
Retrieval-based models (easier) use a repository of predefined responses and heuristic to pick an appropriate response based on the input and context.
Generative models (harder) don’t rely on pre-defined responses. They generate new responses from scratch. Typically based on Machine Translation techniques.
Short (easier) conversations with goal of offering single response for single input vs Long (harder) ones with multiple turns and context.
Open domain (harder) where the user can take the conversation anywhere vs Closed domain (easier) where there is a specific goal.
NATURAL LANGUAGE PROCESSING
Image Analysis extracts useful information from images, related taxonomy (tags and categories) and face recognition
Emotion Recognition extracts range of feelings from images, texts or recordings
Speech Recognition allows text-to-speech and speech-to-text
Recommendations allows Frequently Bought Together, Item to Item and Personalized User Suggestions
Others include Academic Knowledge Relations or Articles Analysis
Examples are Microsoft Cognitive Services, IBM Watson and Google Cloud Vision, Speech Recognition and Translate APIs
OTHER COGNITIVE SERVICES
By Rafael Casuso Romate
Conversations are the next big interface and software robots are the personification of software applications. Let's check out their possibilities.