01 logo

Developing Chatbots

by Raymond Ng about a year ago in how to
Report Story

The new way to interact with computers

Three eras of computer development

1. Tabulating era (1890–1949)

The first era of computing was electromechanical in nature. The computers then were programmed to do one specific task only. Once it is programmed, it is not supposed to be changed without significant effort. There were no any programming languages then. But you can still call it a computer since it can do some automated and repetitive tasks with minimal human intervention. Basically, a computer then was bulk and not flexible enough to do different kinds of tasks.

Even so, those kinds of computers have been existing for more than 1/2 centuries.

Rama, CC BY-SA 2.0 FR <https://creativecommons.org/licenses/by-sa/2.0/fr/deed.en>, via Wikimedia Commons

2. Programming era (1950–present)

After programming languages have been invented, and computers were made to understand programming languages, computers have become very powerful. Computer languages are flexible enough so that a computer can be instructed to do different tasks by changing a program written with a computer language. For more than 70 years (as of the year 2020), we have been in the programming era. Even today, we still develop different kinds of applications through computer programming. Some are for commercial, some are for scientific, and some are for general purposes.

By programming the computers, they can do exactly what humans instruct them, but no more than that.

Photo by Ferenc Almasi on Unsplash

3. Cognitive era (2011 to present)

Since 2011, computers are becoming capable to see, listen, and speak. Based on the data received and processed, computers can act based on some principles behind it. They still need to be programmed, but they don't need programs for every situation. Instead, they are programmed to learn from the data received and complete their missions as instructed. The data may come from what a computer can see (e.g. the vision analyzing capability) and listen (e.g. the sound analyzing capability). In the near future, computers may be able to smell, and sense by touching.

Nowadays, computers can do more than what humans directly instruct them. They are becoming more intelligent and self-sufficient!

Photo by Arseny Togulev on Unsplash

A new way to interact with computers

Over the years, we have been interacting with computers with a keyboard and a screen. The keyboard is for giving instructions or feeding data to a computer, and the screen receives the processing results from the computer. In the current cognitive era, it is becoming possible to interact with computers by speech. In the film 2001 A Space Odyssey, people interact with the computer HAL 9000 by speech. In addition to speech recognition, HAL 9000 can also see. They can talk to HAL 9000, like the way of talking to humans. With machine learning technology, computers can understand the voice in different languages. After the instructions in speech are interpret and processed, a computer can provide answers to humans by speech.

By Grafiker61 - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=46424786

The HAL 9000 computer system in the film 2001 A Space Odyssey. It can see and communicate with people by speech.

Definitions of a chatbot

Here are some definitions of a chatbot. Fundamentally, a chatbot is a computer system that can communicate with humans by speech or text.

  • A computer system that imitates human conversations in its natural format, which may include text or spoken language.
  • An artificial intelligence system that interacts with humans via text or speech interface.
  • A system that can imitate human writing and conversation capabilities.

Why we need chatbots - an example?

Nowadays, we usually interact with computer systems through a web browser, for example, run a web-based application, check emails, or search for information on a website. To find the information on a website, we need to navigate to the right location to access them or input some keywords to search for them. Most of the time, it is time-consuming and non-effective, except the website is well-designed or provides a very intelligent searching mechanism. Instead, we can just talk to the computer systems to issue instructions or ask for information like talking to a human. Here is a sample dialog with a chatbot:Chatbot:

  1. Dear customer, may I help you?
  2. Customer: I want to reserve a room for two.
  3. Chatbot: We provide the types of rooms below (show a table of different types of rooms to the customer). Please pick the type of room from the table, or just talk to me about which type you want.
  4. Customer: I want the type of Luxury.
  5. Chatbot: May I have your name, date, and your credit card information?
  6. Customer: I am Raymond Ng, the date will be from 1 to 5 Jan 2020, my credit number is……
  7. Chatbot: Your reservation is confirmed!

You can see that the process is very straight forward, like talking to a human through a phone. In the near future, this kind of interaction with computers will become very popular, and reliable with the advance of artificial intelligence.

People looking for support like a real human.

Applications of chatbots

Chatbot technology is becoming popular and there are currently lots of applications in different business functions. Those include, but not limited to:

  1. Marketing - engaging with customers
  2. Sales - integration with payment systems
  3. Customer support - provide 24x7 support with a high scalability
  4. Internal support - IT helpdesk, library support
  5. Legal advice support - save the costs of providing legal services
  6. Expert systems - integration with knowledge bases

Use cases

Different kinds of businesses are taking the advantage of using chatbots to sustain their operation. Those include, but not limited to:

  1. Online Shopping (e.g. eBay Shopbot)
  2. Healthcare Support (e.g. Woebot)
  3. Customer Relationship Management
  4. Legal Support (e.g. online legal consultancy)

Benefits of using chatbots

There are lots of benefits to using chatbots to provide different kinds of services. Those include, but not limited to:

  1. Save time
  2. Save money
  3. Save manpower
  4. Provide Greater Customer Satisfaction
  5. Increase Customer Base
  6. Cut Down on Errors
  7. Add Good Humor

One chatbot can represent huge manpower.

Source: the author

Process for building chatbots

It depends on the complexity of the chatbot to be built, it may be simple and thus be easy to build, or complicated and thus be time-consuming and need to follow a proven process. Based on my experience, the process for building chatbots need to include the steps below. Once a chatbot is built, it has to be reviewed and maintained to cope with changes periodically. Those include, but not limited to:

  1. Determine the role of a chatbot (e.g. marketing, sales, or support)
  2. Collect all the Q&As from the front-line support (e.g. written and email)
  3. Create (or obtain from the current website) documents, pictures, and videos for the goals of the chatbot.
  4. Create a conversational architecture (e.g. the logic of providing answers)
  5. Pick a platform and a development approach
  6. Internal tests and pilot tests
  7. Deploy the chatbot on a messaging platform (e.g. Facebook Messenger, Line WebChat, or embedded on a website)

Process for building chatbots - a dialog flow diagram:

Source: the author

Process for building chatbots - a typical architecture:

Source: the author

Chatbot deployment platforms

A chatbot normally runs on a social media platform where people visit frequently for sharing knowledge or requesting services. Some of them are:

  1. Facebook: Facebook Messenger, Facebook Business Page
  2. Slack: Team collaboration
  3. Websites: open access to all

Costs of building and maintaining chatbots

There are a few major considerations in the costs of building and maintaining chatbots. They are:

  1. Subscription: There are lots of chatbot systems available in the market. Instead of building a chatbot system on one's own, it is cost-effective by subscribing to a system. That is just to pay for the functions needed and the usage.
  2. Manpower: Once a system is selected and subscribed, manpower is needed to develop the chatbot for specific services. The manpower needed for the development work corresponds to the complexity of the chatbot.
  3. Maintenance: A chatbot needs to be maintained constantly so that it works as expected. Among all, the time being spent in maintenance may be huge and thus occupy a large portion of the costs.

Our Services:

  • Digital transformation consultation
  • Knowledge management consultation


Facebook Pages: Digital Transformation | Knowledge Management

Website | Facebook Messenger

how to

About the author

Raymond Ng

A practitioner in knowledge management and digital transformation.

Reader insights

Be the first to share your insights about this piece.

How does it work?

Add your insights


There are no comments for this story

Be the first to respond and start the conversation.

Sign in to comment

    Find us on social media

    Miscellaneous links

    • Explore
    • Contact
    • Privacy Policy
    • Terms of Use
    • Support

    © 2022 Creatd, Inc. All Rights Reserved.