AIOps and chatbots
As defined earlier in this series, Artificial Intelligence for IT Operations (AIOps) combines big data and machine learning to automate IT operations processes, including event correlation, anomaly detection and causality determination.
Conversational systems (chatbots) are common examples of AIOps applications in use in the real world, but how do chatbots make use of artificial intelligence for IT operations? Specifically, what makes a chatbot a good experience? In this post I will answer those questions and share some best practices in designing a conversational system for AIOps.
Chatbots are applications that have conversations with humans, using machine learning to share relevant information and give out intelligent responses to questions from humans. Because chatbots rely primarily on machine learning, ensuring adequate chatbot performance requires careful testing to verify that they respond as intended. Essentially, a chatbot is just like a physical robot chat that imitates human conversations through voice commands, text chats, or both.
In software development terms, the conversation design process should be more “agile” and less “waterfall”, with considerable testing and iteration done throughout. Here are some best practices and guidelines regarding effective chatbot design:
Define your workflows
Settle what your chatbot will focus on. Since a chatbot is not a magical solution to all IT Operation issues, you need to aim your work on specific user flows that IT administrators can accomplish with your chatbot. For example, let’s say you are building an AIOps chatbot for a company like a bank or a financial institution, you may list out sample user flows like “show security violations in my bank” or “identify available financial software updates.” That means if an end-user asks the chatbot for help monitoring security risks, it may respond “what system and location?”
Additionally, you need to provide good examples of each topic (or intent) that the chatbot should be able to answer. In the example above, the first topic should include other questions (utterances) related to security risks (intent) like “any vulnerabilities in my network” or “any known patches to remediate security exposures”. A machine learning model is then trained with these examples (ground truth) using natural language understanding (NLU) and natural language processing (NLP) techniques.
Remember to start small, pick a small set of IT Operations issues that will deliver the highest value to start. After the chatbot is live, use any available tool to gain insights from the chat traffic to determine what areas to focus on next. (If using IBM Watson Assistant, check out the analytics documentation to better understand the interactions between your chatbot and your end-users)
Design for errors
But the chatbot designer should know its limitations. For example, if an end-user says “someone broke into my bank network and stole critical information” the chatbot should express concerns and immediately transfer the user to a live service agent. Because the goal is to build trust, the team building the chatbot should recognize that anything involving confidential information should be handled by a human service agent.
Chatbots, like other AIOps offerings, only have one chance to make a first impression. If the experience is not efficient and simple, IT administrators will not interact with it. With that in mind, a chatbot needs to have well written error messages. An error message from a chatbot could be as simple as saying “I am sorry, I didn’t understand. Can you tell me again what you want?”, but it can also communicate more.
For example, if your AIOps chatbot is a Proof of Concept (PoC), your error message may say something like “I cannot help you with that [Inquiry] today but ask me again in a few days.” Alternatively, if the end-user is asking for something the chatbot will never answer, suggest an alternative like “you can call the service desk for assistance with that [Inquiry].”
Create a voice
It is important to focus on your end users. Who are they? What are their goals? What is their context? Considering technical limitations, level of effort, and timeline, what use cases can you support?
But also focus on the other half of the conversation. Who is going to be the voice of your Actions? This is the case when you get to create a persona that represents your brand and mission. Choose a personality for your chatbot, and then write conversations that reflect that personality.
Understand your chatbot types
You have probably interacted with two types of chatbots:
- A chatbot that responds to anything an end-user types, understanding on what they want through keywords (entities) and phrases (utterances) by using AI machine learning models.
- A chatbot that follows a series of decision trees, asking the end-user to select from a few options and then bringing them through a user flow (happy path).
Chatbots can be one or both types, and it is vital to know what you are targeting for. In fact, even if you intend to focus on decision trees, there is the possibility of a end-user going off-script. With that in mind, consider how you want the chatbot to respond. If someone says “Help me” or “Talk to a human” how will you re-direct them?
As we learned in several successful client engagements, the day you deploy your chatbot is when the real work begins. You will need to follow an on-going management process to effectively and continuously improve your AIOps chatbot. A formal process, as defined here, should meet the following criteria:
- Provide a reliable understanding of the overall performance of your chatbot
- Clearly shows where you should prioritize your improvement efforts
- Allow you to make the required changes as efficiently as possible
Keep in mind that a chatbot is a form of conversational design. A chatbot can answer many questions but a chatbot is not an algorithm. Conversation design is about teaching computers to be fluent in human conversation and its conventions (and not the other way around).
With these best practices, your chatbot will be capable of solving AIOps issues with your end-users. Stay tuned for future announcements of chatbot capabilities in IBM Support Insights.