A Beginner’s Guide to Artificial Intelligence and Chatbots

February 7th, 2019   •   no comments   •   Author: Walter Lim   

Artificial Intelligence (A.I.) and chatbots are two of the hottest digital marketing trends in 2019.

Integrating state-of-the-art technology with algorithms and actions that mimic human behaviors, they can exert a profound impact on our world.

Curious to know more about both topics, I signed up for a tech talk organised by Jian Hong, and picked up some useful knowledge. Both Jian Hong and I are members of the highly active Community of Learners (Singapore) Facebook Group.

Founder of Su-Ette—an A.I. powered business assistant operating on chatbot platform—Jian Hong certainly knew a thing of or two about both topics.

Here are some of the lessons that I’ve learned from the talk. I hope that you’ll find them as eye-opening and enriching as I did.

What is Artificial Intelligence (A.I.)?

First, we need to understand what A.I. is all about.

Using the analogy of how the winner of the 50 m Butterfly Finals at the Olympics could shave more than 5 seconds (or 10 percent) off their time – from 55.9 seconds in 1968 to 50.39 seconds in 2016 (our very own Joseph Schooling), Jian Hong brought up the point that technology and science could result in breakthrough performance.

In the case of A.I., our goal is to get computers to think and act rationally like humans. The simple layman’s definition of what A.I. is all about can be summarised as follows…

Definition of Artificial Intelligence: A code, technique or algorithm that enables machines to mimic, develop and demonstrate human behaviour.

To achieve the lofty goal of building sentient machines (think Bicentennial Man), you need to consider the following components of A.I.

#1 Programming and Coding Language

From Python to JavaScript to PHP, there are different coding languages that you can use to incorporate Artificial Intelligence into your software or app. These days A.I. enabled software can even write codes and do the hard work of programming for you.

#2 Expert Systems and Robotics

You need to plan, schedule and optimize your system to achieve a desirable outcome. This may include the use of robotics (a bigger topic for another day).

#3 Vision and Image Recognition

At this point in time, most systems are ‘blind’. For example searches on Google for images may result in odd images being suggested as the search engine does not physically ‘see’ the image. However, machine vision is likely to improve in future.

#4 Speech Technology

From Apple’s Siri, Amazon’s Alexa to Google Assistant, voice is now the big thing in A.I. systems.

Using Speech to Text and Text to Speech technology and the power of Cloud Computing, processing speeds for such systems have improved tremendously, resulting in almost instantaneous translations.

#5 Natural Language Processing (NLP)

NLP is the science behind making interactions between computers and humans more natural. This is important for chatbots to sound more human and to guess the true intent of customers more accurately.

An example of a powerful NLP system is found in IBM’s Watson.

#6 Machine Learning

Now this is a the 800 pound gorilla that everybody’s getting all excited about. Machine Learning can be defined as follows:

Machine Learning: How machines can learn ways to be more human using various techniques and processes. These may either be reinforced, supervised or unsupervised. The best examples incorporate AI systems that have the ability to automatically learn and improve from experience without being explicitly programmed.

There are three main ways for machines to learn:

  1. Supervised Learning ie Predictive Analysis: Here, machines will learn to predict outcomes through the help of data sciences like Regression (Population growth prediction, advertising popularity prediction, estimating life expectancy, market forecasting) and Classification (customer retention, identity fraud detection, diagnostics, image classification).
  2. Reinforced Learning (using a Software Agent): Here, machines learn how to behave by performing mini ‘experiments’ or actions and evaluating the results. This may involve the need for Real-time Decisions, Robot Navigation, Learning Tasks, Skill Acquisition, and Game A.I.
  3. Deep Learning or Unsupervised LearningHere, machines can learn to predict outcomes on the go by recognising patterns in input data. They may also draw meaningful inferences from large datasets. Deep learning may require Artificial Neural Networks to make sense of voluminous quantities of data. Techniques used may include Dimensionality Reduction (Feature Elicitation, Meaningful Compression, Big Data Visualisation, Structure Discovery) and Clustering (targeted marketing, customer segmentation, recommender system).

Artificial Intelligence – Developments in The Near Future

Based on what is already available out there, A.I. is able to offer the following benefits to users of artificially intelligent machines.

#1 Intelligence from Unstructured Information

Advanced systems can analyse and interpret accurate information gleaned from the subtleties of natural language. This includes the choice of words, tone, speed, and other information.

#2 Productive Bots

These bots go beyond what Siri and its ilk are capable of, delivering real utility instead of just being an expensive high-tech toy.

#3 Smarter Search

This is already put in place with Google’s Semantic Search capabilities. The same capabilities that allows a chatbot to understand a human customer request can empower your systems with “search like you talk” functionality.

#4 Invisible User Interfaces (UI)

As A.I. systems improve, the concept of invisible or zero user interaction between user and machine may occur in the future. An example of such applications can be seen in the Datapine (app) which empowers users who drag and drop their data into the app to receive well designed charts and reports.

All About Chatbots (aka Bots)

Riding on the advances afforded by A.I., chatbots are developed to help solve everyday problems faced by businesses.

These may include the following:

  • Erosion of your business productivity by tasks that are non-core and non-value adding
  • Customers finding it hard to get the right answers to their questions, leading to disengagement and dissatisfaction with your business
  • Turnover of employees, leading to tacit knowledge loss in many businesses
  • Loss of time and resources by businesses needing to follow through with processes

So What is a Bot?

Well, we can consider what a Bot is by following this simple definition…

A bot is any software that performs an automated task and live online in chat platforms or on social messaging apps.

Now according to Jian Hong, there may be many possible definitions (and some confusion) of what bots are.

Perhaps the most intuitive definition is that a bot is a piece of software that can have a conversation with a human. A user could ask the bot a question or give it an instruction, and the bot would then respond or perform an action as appropriate.

There are four main types of bots out there:

  • Crawler bots: These are like spiders that crawl the Internet or specific websites for information
  • Transactional bots: These can help to execute specific user requests, including purchases and orders
  • Informational bots: These seek to provide useful information to customers, eg Ask Jamie chatbots used by multiple government agencies
  • Entertainment bots: These may include Art bots and Game bots that seek to provide entertainment

A chatbot is a specific type of bot which uses a programme to communicate with you, most commonly using a text interface and artificial intelligence.

Some Famous Bots

From primitive computer interfaces to almost android like machines, bots have evolved over the ages.

Here are some of the more famous ones throughout history:

  • 1966 – ELIZA (NLP Processor) – A primitive bot that seeks to interpret specific requests
  • 1972 – Parry (Paranoid Schizophrenia Bot) – This bot mimics the thinking of a paranoid individual
  • 1995 – A.L.I.C.E. [Artificial Linguistic Internet Computer Entity] – capable of heuristic pattern matching and interpreting natural language
  • 2016 – Microsoft TAY (Unsupervised bot) – this A.I. empowered chatter bot learns from all the Tweets available in Twitter, but ended up becoming a racist or neo-Nazi bot! It was eventually disabled.
  • 2016 – Sophia the Robot. This social humanoid robot could display more than 60 facial expressions. Check out the video below featuring Will Smith interacting with Sophia.

Anatomy of a ChatBot

Building chatbots that can interact intelligently with humans require developers to integrate multiple layers of technologies. These may be broken down into the following components…

  • Small Talk – Hello, Good Bye, How are yous and so on…
  • The FAQs – The knowledge of bots, ie ‘where are you locateds’ and ‘when are you opens’
  • Conversations – Understanding the processes, outcomes and logic involved in conversations. There are three things that need to be considered here:
    • Need for a Convolutional neutral network for machine learning purposes. This helps in contextual learning (eg Siri today is significantly improved over Siri in the past due to machine learning.)
    • Need for a place to extract information (dates, times, emails, etc)
    • Need to understand bespoke intent detection (eg directions, searching, asking for help etc). This could be done by programming the NLP Engine to understand intent, incorporating Robotic Process Automation (RPA) – a programme which helps to complete tasks like fill up forms and dragging information online for you – and feeding the machine with lots of data

To ensure that your bot is smart (and human), you could use the Turing test. Developed by Alan Turing in the 1950s, a Turing Test is a method of inquiry for determining whether or not a computer is capable of thinking like a human being.

One of the important ways to bring greater functionality to your chatbot involves feeding it with lots of useful and relevant data. While some unsupervised chatbots can learn on their own, other dumber bots require greater human intervention.

Bots do not hold the information they need in their systems. Instead, they could plug into your existing databases (eg RFID, CRM or ERP systems) , and draw data from there.

Typical Features of a Chatbot

Demonstrating his own chatbot interface Su-Ette.com, Jian Hong walked us through the steps needed to use a bot management platform.

Typically, you need to first subscribe to a bot management platform before using its features. While some may have a free trial module, others may require you to pay a monthly subscription fee.

First, you’ll need to establish your basic information such as your opening hours, addresses, prices, product ranges, and other related information.

As part of the onboarding process in using a chatbot, you need to establish what data you should capture from users. These commonly include their first name, email, mobile phones, addresses and other relevant information.

(Oh yes, don’t forget that you need to follow the Personal Data Protection Act and let users know your privacy policy.)

Some bots may have small talk capabilities designed to make a user feel more at ease during online chat sessions. This can be a chance to introduce some humour and personality into your online interactions.

FAQs are also required for different scenarios. Built with conversational logic, they are especially useful for customer service type enquiries.

In terms of message types, you can choose from different actions (usually in the form of buttons), videos, images, URLs, or just plain text.

Most chatbots also have fallback functions. These can be activated when the bots fail, and require human intervention to respond to the customer. Often, such functions may involve delegation to the right departments in the organisation.

To prevent abuse, blacklists may also be applied to your bots.

Beyond the above, chatbots may also have the following features:

  • Integration into existing messaging channels (like Facebook, Telegram, LINE, or a web widget)
  • Webhooks that can help the bot to integrate with a CRM system, allowing user data to flow there
  • Notification settings: real-time or delayed-time
  • Admin and user permissions
  • Lists of customers
  • Campaigns: Messages or SMSes can periodically be broadcast to your lists of users

Conclusion

What I’ve covered above barely scratches the surface of what A.I. and bots are all about. However, I hope that it provides you with a useful introduction to the world of A.I. and chatbots, and that it excites you to learn more about this space.

To learn more about the wonderful work which Jian Hong is doing, do visit his website and consider giving Su-Ette a spin! You can also watch Su-Ette in action here.

Acknowledgement: Once again, special thanks to the Community of Learning (COL) team and to Jian Hong for making this possible. If you’re keen to plug into learning opportunities like this, remember to sign up on Facebook to be a COL member!

Tags: , , , , ,

Leave a Reply

Your email address will not be published. Required fields are marked *