article by Grant Ronald, June 2020
It is a facility we are all familiar with: IT help and operations (ITOps) – the ability to self-serve a password reset, log a request or research a problem you might be having with your PC. However, the next generation of ITOps is aiming to provide those same self-service capabilities through natural, human conversation.
Consider the benefits of being able to converse as you would with an IT specialist but with the scale of an automated system.
This article discusses the key design consideration and demonstrates through a reference implementation how this can be quickly developed using Oracle Digital Assistant
In considering an ITOps digital assistant, what are the key factors that exploit the scale of an automated system whilst embracing the power of natural language and human conversation?
We see six primary aspects which an ITOps digital assistant should embrace:
Often ITOps engagements requires a certain working knowledge of what you want to achieve. For example, “I want to load the driver for a network printer”, or “reset my password” are cases in which the user is specifically requesting a solution.
What if the user is at the stage where all they know is “I want to be able to print to the printer on the 3rd floor” or “The system won’t let me in”?
For a successful conversational digital assistant you have to prepare and train it to understand not only the specific request for a solution, but also the statement of a problem.
Many of the requests to a help desk are covering the same small core of questions and many businesses have already collated a list of frequently asked questions.
It should be expected that the digital assistant can consume and learn from these frequently asked questions and so respond appropriately when asked one of these questions.
The first step in supporting a user is gather information about the problem they have. That may involve a conversation to gather information about hardware, OS version or error message.
The nature of human conversation is that you cannot guarantee the user gives all the correct information, or may have given more information than requested.
The digital assistant should be able to extract the key information (known as entities) regardless if the user gives all the information in their initial input or as a result of being prompted by the digital assistant, and should be able to present relevant questions to the user.
For example, “I have a problem with my windows machine” should not show Apple products when confirming the make of the machine.
As well as a specifically curated list of frequently asked questions, most businesses will have various corporate knowledge bases.
If a user requests to specifically search or if the digital assistant ascertains that it would be helpful to search once of these knowledge bases, the digital assistant should have the ability to interface to, and search, corporate knowledge bases.
As a result of an escalation or the nature of a question asked, it may be prudent to offer the user to speak to a human agent.
The digital assistant should be able to transfer the user, but also the transcript of the conversation to the agent; ideally seamlessly in the same channel.
The nature of a conversation is that it is not always liner, especially if someone is trying debug a technical issues.
Thus, a user might initiate a conversation to request the setup of a network printer but during the support for that issues has to request a new network account.
The digital assistant should be able to handle the fact that a customer might need to switch topics to achieve a resolution.
Taking the above points into consideration, how might you build an ITOps digital assistant using Oracle Digital Assistant?
As it happen, it is relatively simple and straight development process which we undertook as a sample implementation completed in only a few days.
Below is a brief outline of how this was achieved. You can download the reference implementation to see the exact details.
The primary skill includes, amongst others, an intent for password reset.
The language model for this intent includes not only phrases explicitly about resetting a password, but also phrases which might describe a problem for which a password reset is needed. This helps the language model learn the variations in user requests rather than being solely around a narrow topic.
Frequently asked questions can be loaded into a CSV file and directly imported into the skill.
We did this with a sample of questions but we could also automatically “scrape” these from a corporate web page into the correct format. This CSV file is then loaded into Oracle Digital Assistant to enable the skill to immediately be able to respond to these questions.
Consider the example of a question such as “I see a flicker in my laptop display”. This will initiate a conversation to get more information, such as, what hardware device.
Of course, if the user explicitly says “I see a flicker on my Dell laptop” then there no need to prompt for the device type.
However a request such as “I see a flicker in my windows machine” should display a list of options but only those which are Windows devices.
The point being that in a conversation to gather information from the user, the digital assistant must do so in an intelligent and efficient manner. We were able to achieve all of this using the composite bag feature of Oracle Digital Assistant.
For the purposes of the reference implementation it would have been difficult to demonstrate the searching of corporate knowledge bases as these are typically protected access.
However, we were able to demonstrate the same functionality using a Google search API across public documentation. In this case a request “How do I use Oracle Java Cloud Service” searches the appropriate documentation and returns a carousel of relevant searches from that document.
Oracle Digital Assistant provides out-of-the-box integration with call center solutions such as Oracle Service Cloud.
In detecting a specific scenario, either a direct request to speak to an agent, or as a result of a failure to answer a question, the digital assistant will connect with Oracle Service Cloud, pass the conversation so far, and then directly connect the user with the agent through the digital assistant interface to continue the conversation.
One of the unique features of Oracle Digital Assistant is that each user request is routed through a “master” digital assistant which decides where the request can best be handled. The consequence of this architecture is that if a question is on a new topic, the conversation can be routed appropriately and the current conversation is saved and returned to.
This ability to automatically have “nested” conversation means the user can seamlessly jump topics and return to previous topics. With Oracle Digital Assistant this is handled automatically with no code at all.