What is a chatbot?
A chatbot is a computer program that uses AI and natural language processing (NLP) to automate responses to user queries, simulating human conversation. Chatbots can help make it easy for users to find the information they need. Using natural language, chatbot technology responds to users' questions and requests—through text input, audio input or both—without the need for human intervention. Users can ask questions in a conversational way, and the chatbots can help refine their searches through their responses and follow-up questions. The terms chatbot, AI chatbot, virtual assistant and conversational agent are sometimes used interchangeably.
How chatbots work
Chatbots use natural-language-recognition capabilities to make out what the user is asking for. Then, it uses advanced intelligence tools to determine what the user truly needs to know. These technologies are also beginning to use machine learning and deep learning to learn from user interactions to improve their recommendations and responses.
Machine learning, algorithm-based programming, finds patterns in data and predicts an optimal response based on its pattern knowledge base and some human guidance. Deep learning models work like machine learning models, but it includes an algorithm that can determine, on its own, whether or not a prediction is accurate.
There are different types of chatbots and chatbot applications. They can be simple or they can be complex. For example, if a user asked about tomorrow's weather, a simple chatbot could respond plainly whether it will rain. A more complex conversational agent, however, might determine that what the user really needs is to know whether or not they should wear a raincoat.
How chatbots are used
Consumers use chatbots and virtual assistants, such as Apple's Siri, Google's Google Assistant and Amazon's Alexa, for a variety of tasks on mobile apps or on a desktop computer. Conversational interfaces can vary, too. They can be used in social media messaging apps, stand-alone messaging platforms or a web application on a website. Some typical use cases include:
- Finding local restaurants and providing directions
- Helping with online loan applications while banking
- Displaying real-time weather conditions and relevant attire recommendations
- Getting the latest score for a sports game
- Setting a reminder based on time or location
- Receiving general customer service help from a favorite brand
Why build and use chatbots?
Before the mature e-commerce era, customers with questions, concerns or complaints had to write or call a business for a response from a human agent. Often the quickest method of reaching a company was by phone, but staffing offices and training people to provide consistent replies to similar or repetitive queries, day or night, can come with a cost.
Today, a chatbot can manage customer interactions at any time of day while keeping costs down. A chatbot can help many users avoid long wait times from phone-based customer support or even longer wait times for email- and form-based support. A chatbot is available immediately.
Staffing a customer support center day and night can be expensive. And for some departments, such as human resources, it might not be possible. A chatbot, however, can answer questions 24 hours a day and seven days a week, even on holidays. It can provide a new first line of support, supplement support during peak periods or offer an additional support option. At the very least, using a chatbot can help reduce the number of users who need to speak with a human, which can help businesses avoid scaling up staff due to increased demand or implementing a 24-hour support staff.
Chatbots can help with sales and improve conversion rates. For example, a customer might browse a website for a product or service, but they have a question about it. A chatbot can respond to queries that could help the customer decide to buy or take the next logical step toward buying. And if the customer needs to take a further step in the sales funnel, the chatbot qualifies the lead before connecting the customer with a trained sales agent.
Customer satisfaction and brand loyalty
By providing a responsive, efficient and positive user experience for customers, employees and partners, a chatbot can improve customer satisfaction and brand loyalty. Whether a chatbot answers questions about employees’ corporate benefits, provides answers to technical support questions or generates leads for a sales team, users can come away with a strengthened connection to your organization.
Chatbot building best practices and tips
Building a chatbot can be straightforward and the payoff can be significant for companies and users. Providing customers a responsive, conversational channel can help a business meet expectations for immediate and always-available interactions while keeping costs down.
For example, a developer in an enterprise organization might be asked to build a chatbot to support the HR department. HR might want to give employees any-time access to information about benefits and facilitate navigating it—all without having to speak to someone in person. Or, a sales team might want a chatbot to address potential customers’ unique requirements, provide sales materials and demos or match prospects to the right salesperson.
Whatever the case or project, here are five best practices and tips for building a chatbot.
1. Identify the goals and define the project’s scope based on business needs. 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? Chatbot development succeeds when a clear understanding of user intent drives the development of both the chatbot logic and the end-user interaction.
2. As part of the scoping process, define the intentions 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?
3. Define the entities. An entity is a type of object or data that is relevant to a user’s intent. If the chatbot is helping an employee find corporate events, entities might include the name of the event, the month and the location.
4. Develop the front-end web app or microservice. The chatbot might be integrated into a customer support website where a customer clicks on an icon that immediately triggers a chatbot conversation. It could also be integrated into another communication channel like Slack or Facebook Messenger. Building a “Slackbot,” for example, gives your users another way to get help or find information within a familiar interface.
5. Connect the front-end web app to an AI application to implement the business logic and any other components needed to enable conversations and deliver results. The 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.
Accelerate and enhance chatbot development by tapping into cloud-based artificial intelligence (AI) capabilities.
Chatbots and IBM
Tap into Watson
IBM Watson® Assistant is a powerful cloud service for building an intelligent chatbot. It delivers a robust, interactive experience through API endpoints, streamlines development and helps enhances solutions by offering easy-to-use tools, ways to simplify dialog, pre-built content, analytics capabilities and more.
IBM offers a catalog of pre-configured customer service and industry-specific content packs. 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 the 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 (NLU), speech to text, text to speech, tone analyzer and conversation services could all play roles in your project.
Learn more about building chatbots
If you're ready to get started, learn how to build a kind of chatbot—a Slackbot—in a simple tutorial that uses IBM Watson Assistant, IBM Cloud Functions (a function-as-a-service platform), and IBM Db2® Warehouse on Cloud.
Learn more about IBM artificial intelligence solutions.
Follow IBM Cloud
IBM Cloud News connects you to insight and information you can put to work right away—straight from the minds of IBM Cloud experts, IBM customers, and business and IT leaders.