Chatbots explained: What you need to know before getting started

By IBM Cloud Education

  • Deliver a responsive, interactive experience for customers, employees or partners
  • Improve user satisfaction and reduce personnel costs
  • Accelerate and enhance chatbot development by tapping into cloud-based artificial intelligence (AI) capabilities 

Having a conversation with a computer might have seemed like science fiction even a few years ago. But now, most of us already use chatbots for a variety of tasks. For example, as end users, we ask the virtual assistant on our smartphone to find a local restaurant and then provide directions. Or, we use an online banking chatbot for help with a loan application.

As a developer in an enterprise organization, you might be asked to build a chatbot to support your HR department. HR might want to give employees access to information about benefits around the clock and facilitate navigating it — all without having to speak to someone in person. 

Alternatively, your sales team might want a chatbot to initially address potential customers’ unique requirements, providing sales materials/demos or matching prospects to the right salesperson.

Is a chatbot on your project list? Start your development journey with a clear understanding of what a chatbot is, what benefits it can deliver and how you should go about building one.

If you’re ready to get started, learn how to build a Slackbot in a simple tutorial that uses IBM Watson® Assistant, IBM Cloud Functions (a function-as-a-service platform), IBM Cloudant® for IBM Cloud™, and the IBM Db2® database.

 

What is a chatbot?

A chatbot is a computer program that uses AI to have a conversation with humans. Users can ask questions, make requests and respond to chatbot questions and statements using natural language. A chatbot could support text input, audio input or both. 

The terms chatbot, virtual assistant and conversational agent are sometimes used interchangeably, but chatbots tend to support simpler conversations and more singular tasks. A chatbot could tell you whether it will rain tomorrow, but a conversational agent might determine that what you really need to know is what you should wear. 

All of these conversational technologies employ natural language recognition capabilities to discern what the user is saying as well as other sophisticated intelligence tools to determine what he or she truly needs to know. These technologies are beginning to use machine learning to learn from interactions and improve the resulting recommendations and responses.

 

Chatbot architecture

An architecture for building a chatbot that taps into cloud-based AI

 

Why employ a chatbot?

A chatbot can help you provide a strong user experience in a number of ways:

  • Respond immediately: By using a chatbot, you can help many users avoid long wait times for phone-based customer support agents or even longer wait times for email- and form-based support. A chatbot can be available immediately.
  • Stay open 24x7: Staffing a customer support center around the clock can be extremely expensive. For some departments — such as HR — it might not be possible. A chatbot, however, can answer questions 24x7, even on holidays.
  • Keep it conversational: Chatbots help make it easy for users to find the information they need. Users can ask questions in a conversational way, and the chatbots can help them refine their searches through their responses and follow-up questions. Having had substantial experience with personal assistants on their smartphones and elsewhere, users today expect this level of informal interaction. When chatbot users are happy, the organizations employing the chatbots benefit.
  • Reduce costs: The potential to reduce costs is one of the clearest benefits of using a chatbot. A chatbot can provide a new first line of support, supplement support during peak periods or offer an additional support option. In all of these cases, employing a chatbot can help reduce the number of users who need to speak with a human. You can avoid scaling up your staff or offering human support around the clock.
  • Improve loyalty: By providing a responsive, efficient experience for customers, employees and partners, a chatbot will improve satisfaction and loyalty. Whether your chatbot answers questions about employees’ corporate benefits or provides answers to technical support questions, users can come away with a strengthened connection to your organization.

 

How do you build a chatbot?

Like most any project, your first tasks are to identify goals and define the project’s scope. What does the group requesting the chatbot want to accomplish? How is this goal currently addressed, and what are the challenges that are driving a need for a chatbot?

Chatbots succeed when a clear understanding of user intent drives development of both the chatbot logic and the end-user interaction. As part of your scoping process, define the intents of potential users. What goals will they express in their input? For example, will users want to buy an airline ticket, figure out whether a medical procedure is covered by their insurance plan or determine whether they need to bring their computer in for repair? 

You’ll also need to define entities. An entity is a type of object or data that is relevant to a user’s intent. If your chatbot is helping an employee find corporate events, entities might include the name of the event, the month and the location.

Once you have determined these factors, you can develop the front-end web app or microservice. You might decide to integrate a chatbot into a customer support website where a customer clicks on an icon that immediately triggers a chatbot conversation. You could also integrate a chatbot into another communication channel, whether it’s Slack or Facebook Messenger. Building a “Slackbot,” for example, gives your users another way to get help or find information within a familiar interface.

The front-end app you develop will interact with an AI application. That AI application — usually a hosted service — is the component that interprets user data, directs the flow of the conversation and gathers the information needed for responses. You can then implement the business logic and any other components needed to enable conversations and deliver results.

 

Tap into Watson

As a good example of a powerful cloud service for building an intelligent chatbot, IBM Watson Assistant delivers a robust, interactive experience through API endpoints. It streamlines development and helps enhance your solution by offering easy-to-use tools, ways to simplify dialog, pre-built content, analytics capabilities and more.

IBM offers a catalog of preconfigured customer service and industry-specific content packs. So, for example, if you’re building a chatbot to provide a personalized experience for hotel guests, the Watson Assistant for Hospitality can help you speed development.

Watson Assistant runs on IBM Cloud, which also hosts a wide range of other Watson services that can be helpful for creating chatbots, virtual assistants and conversational agents. Natural language understanding, speech to text, text to speech, tone analyzer and conversation services could all play roles in your project.

 

Build a bot

Building a chatbot might be less complicated than you think — and the payoff can be significant. Offering a responsive, conversational channel for communication can help you meet expectations for immediate, around-the-clock interactions while keeping personnel costs under control.

Learn how to build a Slackbot in a simple tutorial that uses Watson Assistant, IBM Cloud Functions (a function-as-a-service platform), IBM Cloudant for IBM Cloud, and the IBM Db2 database.