More and more companies are adding chatbots to their range of services. Can technical documentation content be reused to feed these chatbots? And if so, what is the best way to prepare the content for this reuse?
The Search is Over
How irritating! Up until yesterday, your dishwasher was working just fine but now the glassware is showing water spots.
You need a fix for that problem but can't remember where you put the user manual. A quick Internet search turns up empty.
You could e-mail a detailed description of the problem to customer service, but that would be rather tedious. You could call the manufacturer's customer service hotline, but your life is too short to be wasted with listening to lousy music on hold for hours.
Thankfully you live in the 21st century and the manufacturer of this dishwasher has a social media presence. So, you type a message into their chat box and darned if you don't have an answer just a few seconds later!
After some messaging back and forth, your problem is solved - the rinse aid compartment was empty - and you're pleased with the quick and uncomplicated help. Do you say "thank you" like the well-mannered person that you are? Nope, because there isn't an actual person sitting on the other side of your conversation. You've been talking to a chatbot!
Chatbots – Between Customer Support and Documentation
Companies are increasingly employing conversational user assistance. Helping customers by means of dialogues with digital AI assistants.
Some of the advantages of using chatbots are:
- Fast processing of standard questions
- Greatly improved customer support reaction time
- Less work for customer service staff
Much of the information communicated by the chatbot already exists in the company's technical documentation. This makes reusing the existing content to program the chatbot's responses an obvious choice that can save costs and improve the consistency of communication.
But how do you prepare your technical documentation in a way that makes it easily reusable for Conversational User Assistance?
Identify Use Cases for the Chatbot
Clearly there is no way a chatbot will be able to address all possible use cases, so start by limiting yourself to the most likely ones when starting out.
Some good sources for researching use cases are service protocols, calls to the support hotline or social media discussions. Having a look at existing technical documentation can prove worthwhile as well.
In the case of our dishwasher, we could consider the following use cases:
- Interactive investigation: cleaning result is unsatisfactory, water is not draining
- Instructions for simple tasks: refill dishwasher salt, clean dirt filter
- Explanations: Why do I need a rinse aid? What is the level of water hardness?
- Suitable products: spare parts, services
As soon as you have identified possible use cases, you can search your existing documentation for matching information and match this information to the use cases.
What Does a Chatbot Need to Know?
For a chatbot to find the most useful use case information, it first needs to be able to gather the user's intent from their natural speech ("utterance").
For a chatbot to understand what the user's issue is and answer in the most helpful way, it must be able to interpret the user's input and gather the intent from that input.
In the case of the dishwasher, for example, the statements "rinse aid empty!" or "where does the rinse aid go?" result in the request for more information on how to refill the rinse agent. Keep in mind that there are many ways to convey a request and try to cover all possibilities.
The chatbot usually needs further information to respond appropriately to the user's issue. These further bits of information are called "entities". For example, an entity can be the dishwasher's model number. In the course of the conversation, the chatbot extracts information from the user's statements and uses this information to gradually fill pre-defined "slots". This procedure is called "slot filling".
Do not assume your user will use the same terminology as your company. Complete entities with commonly used synonyms. When the chatbot recognizes the user's intent and all entities by analyzing the user's statements, it selects the most appropriate answer. The statement "my GS-2000 leaves water spots on the dishes" would elicit a response containing contents from the topic "cleaning result unsatisfactory" with the GS-2000 model variant.
Dialog System for Targeted Inquiry
The user's statements usually do not provide all the necessary information. In this case, the chatbot asks the user questions to specify the information. The chatbot uses a dialog system to dig deeper and ask questions to gain specific information from the user.
There are two types of dialog systems:
- Task-oriented dialog: a script that must be followed. Task-oriented dialogs are usually modeled after decision trees and are designed for specific domains or tasks, such as customer service or technical support.
- Open-domain dialog: the chatbot processes free-form statements, gives the appropriate answer or inquiries about missing information. Open-domain dialogs use computer linguistics and artificial intelligence (AI).
Most chatbots these days follow a more-or-less task-oriented dialog system but can flexibly react to entries within this system. AI's greatest challenge is to recognize which statements belong together thematically and which statements don't.
Human conversational partners have no trouble noticing a change of subject or getting back to a previous conversation. Chatbots, however, are not capable of either. This is one reason why it makes sense to set the limits for use case contexts as narrowly as possible.
A Chatbot Asks for Missing Information - Documentation Becomes Intelligent Information
Programs like chatbots are only made possible through intelligent information. That's why existing documentation usually needs to be revised before it can be reused for chatbots.
Nobody wants to read lengthy texts in a chat window. Content for chatbots should address exactly one issue and deliver a concise and comprehensible answer. In a nutshell: A chatbot should cover contents topic based.
For the chatbot to provide the appropriate information, you also need to enhance your topics with helpful metadata. Metadata helps the chatbot find the right information based on the intent determined and entities asked.
In our dishwasher example, we could capture our content as DITA topics. Information about intent and utterances can be stored directly in the topic.
<!-- intent -->
<keyword>refill rinse aid</keyword>
<!-- utterances -->
<indexterm>How do I refill the rinse aid dispenser</indexterm>
<indexterm>Rinse aid level is low</indexterm>
<indexterm>No more rinse aid</indexterm>
<indexterm>Refill rinse aid</indexterm>
We can also capture entities as metadata or mark them within the text:
<p><keyword>rinse aid</keyword> prevents
<keyword>water spots</keyword> on the dishes by reducing the water's surface tension.
It is worthwhile to define custom metadata elements for use with chatbots, for example, via DITA specialization. This will make your technical communicators' jobs easier and avoid conflict with further content processing.
A Chatbot Is Not a Manual
Depending on the channel of communication, a chatbot provides information as text, speech, image or video. Because a speech assistant places different requirements on content than a text messenger, your content should be structured and media-independent. Metadata can help tailor the contents to the different requirements of the desired output.
When addressing the target group, your chatbot should follow the output channel's conventions. You can use DITA profiling to do this, as shown in the following example. Define the permissible attribute values in the subject scheme maps.
Take caution when localizing content for chatbots. Your chatbot needs to consider the target user's language particularities.
Some languages use formal and informal register. Also consider that some languages can require different forms of address depending on a person's age, status, etc. In the following example, German, formal and informal register is used: "Sie" for an adult and "du" for a child". Also consider tone of voice.
<ph deliveryTarget="online print">
Deckel schließen, bis er hörbar einrastet.</ph>
<ph audience="adult" deliveryTarget="chat">
Bitte schließen Sie den Deckel, bis er hörbar
<ph audience="child" deliveryTarget="chat">
Mach den Deckel wieder zu, bis du ihn einrasten
In this German example, the chatbot addresses the adult in a more formal tone ("schließen Sie") than a child ("mach zu" and "du").
Chatbot Meets Content Delivery
After you have revised your content and added metadata, you can connect the content to your dialog system. In order to do this, transform the contents into the required target format and filter them according to the target channel. After that, link the contents via the intents to the dialog system. The precise implementation depends on the selected chatbot framework.
Content delivery systems can support your chatbot's search and delivery mechanism. For example, your chatbot could use intents and entities to formulate a search request to the content delivery system and return the most relevant search results filtered by user.
From Technical Documentation to Chatbot in Six Steps
To prepare your documentation for reuse with chatbots, you can follow this process model:
- Identify the use cases: Use the user's point of view to describe the issue your chatbot is supposed to solve. Narrow down the use cases so that your chatbot can deliver the matching solutions.
- Select topics: Search your existing documentation for information that can be linked to the use cases.
- User information: For each use case, determine the user intent and the corresponding statements. Establish what entities are needed for your chatbot to reply with the appropriate information.
- Select a dialog system: Select one that meets your requirements for the chatbot conversation. Do not try to find a dialog system that can live up to all situations possible– stick to the use cases that you previously defined and ignore the rest for now.
- Customize your content: Complete missing contents in a way that is suitable for communication via chatbot. Tailor your contents to the chatbot's target channels and target users.
- Publish dialog systems and contents: Transfer the topics into the target format and use the intents to link the topics to the dialog system. Using a content delivery system can help support the chatbot with its execution.
Reusing technical documentation for Conversational User Assistance is possible but requires reworking some of the existing contents. Traditional technical documentation first needs to grow into intelligent information that puts users and their issues into focus.
There is no universal blueprint for doing this, but there is certainly a best practice.
Starting with the specific use cases, identify relevant contents and use metadata to link them to the chatbot's dialog system. This will let your chatbot react to user issues with precisely matching content from your technical documentation.
Cheers to spotless glassware!