= Chat for one
//A white paper about experiences with ChatGPT//
== Introduction
Over the last months, I spent some time chatting with ChatGPT. The first chats were rather uncertain and probing, getting an idea of the AI's capabilities of understanding and generating text. With more and more tasks the AI successfully performed, I became more daring, posing tasks where I didn't really expect the AI to return a meaningful response. In not so few cases, I was surprised. In some cases, I don't have a solid theory how ChatGPT did this.
It's natural, that many of the tests focused on the question of how AI could help technical writers, translators, project managers, service technicians and other stakeholders in the field of Technical Documentation. But likeways, many other tests touched other areas, like music, games, cooking or retrieval of information of any kind. In software development, it proved extremely helpful, because it can not only describe how to proceed, but it can also generate code that tries to solve the problem - often, it does so quite intelligently.
And when I mentioned music, it was helpful in songwriting by finding words that rhymed with a given ending, or by finding the chord for any given set of notes - so far, I expected it could do such things. However, I brought it to write new verses based on existing ones, tuning in to the mood of the song, and it was even aware of rhythm in relation with the lyrics. Amazing!
Finally, I asked it to lead a simple pen and paper role playing session - first it seemed stubborn and only explained what pen&paper RPG is, but then it picked up the task. It seemed to have some trouble to remember how many gold pieces my character owned and what equipment in detail he has in a certain situation, but the adventure itself is quite consistent so far, and the interactions with other characters are quite realistic, they are consistent and each has a recognizable personality.
All of the dialogs are based on the standard chat interface of ChatGPT that's available to everyone. To iron out the glitches in the performance of the AI models, the API based integration offers more possibilities. Knowledge can be injected in a structured form instead of exposing it verbally in a chat. While problems remain to be solved, including the one what happens with data when you type it into the chat or upload it through the API, the powers of ChatGPT's NLP model are fascinating and impressing in many different ways.
I can encourage you to make your own tests, and remember, this is only the beginning...
== Structuring confusing text
{{{#!div style="background: #DDFFEE; margin: 5px; margin-left: 40%; margin-right: 30px; padding: 5px; border-radius: 10px;"
Hello, I have a text here, it's a guide, but it's poorly structured. Can you please improve it?
}}}
{{{#!div style="background: #EEEEEE; margin: 5px; margin-right: 40%; margin-left: 30px; padding: 5px; border-radius: 10px;"
Yes, I can definitely help you with that. Please share the text with me and I'll see what I can do.
}}}
{{{#!div style="background: #DDFFEE; margin: 5px; margin-left: 40%; margin-right: 30px; padding: 5px; border-radius: 10px;"
Here it is:
"Remove the cover plate after loosening all 4 screws on the sides. Then pull the locking bar forward and fold the insulation layer back. Before starting this work, unplug the device. The device operates on 230 volts and has a power consumption of 1000 watts. To replace the fuse, you must first remove the protective cap. Once the protective cap has been removed, you can replace the fuse. Pull out the fuse, insert the new fuse, put the protective cap back on, and then fold the insulation layer back down. Finally, tighten the screws on the cover plate. Place the cover plate on before doing so."
Here's what you should do:
* Segment it into simple and clear steps.
* Order the steps correctly.
* Extract technical data to a table.
}}}
{{{#!div style="background: #EEEEEE; margin: 5px; margin-right: 40%; margin-left: 30px; padding: 5px; border-radius: 10px;"
Here's an improved version of the guide:
Step-by-Step Guide:
Step 1: Unplug the device[[br]]
Before beginning any work, unplug the device from the power outlet to avoid electrical hazards.
Step 2: Remove the cover plate[[br]]
Loosen all 4 screws on the sides of the device.[[br]]
Remove the cover plate.
Step 3: Pull the locking bar and open the insulation layer[[br]]
Pull the locking bar forward.[[br]]
Fold the insulation layer back.
Step 4: Replace the fuse[[br]]
Remove the protective cap.[[br]]
Take out the old fuse.[[br]]
Insert the new fuse.[[br]]
Put the protective cap back on.
Step 5: Close the insulation layer[[br]]
Fold the insulation layer back down.
Step 6: Secure the cover plate[[br]]
Place the cover plate back on.[[br]]
Tighten the screws on the sides of the device.
Technical Data:
||=**Voltage ** =||=**Power Consumption** =||
||230 volts ||1000 W ||
}}}
So, ChatGPT seems to be able to improve the quality of instructions by ordering them, applying some rules (like writing in clear and simple language), removing redundancy and even adding the information why it makes sense to unplug the device before opening it.
So let's see what else it can do.
== DITA
Knowing that ChatGPT was able to extract information from an unstructured text and to transform it into a step-by-step procedure with warnings, I tried whether it was able to express this in DITA. I knew ChatGPT was able to create program code, or fixe code that does not work correctly. DITA is nothing entirely diffent. So I tried.
I started out with simple cooking recipes. First, I retrieved instructions for pancakes. When I was satisfied with the recipe itself, I asked ChatGPT to create a DITA topic. It created a syntactically and grammatically correct DITA topic, but it was a topic, not a task. So I asked it to create a task. At first, it was invalid, but I was able to teach it how to perform the task correctly and ended up with a valid DITA task.
In the next iteration, I asked it to place the ingredients as {{{prereq}}} and the warnings as {{{hazardstatement}}}. At first, the {{{hazardstatement}}} was wrongly structured, but I was also able to teach it how to write correct warning messages.
To keep ChatGPT from just repeating what I tought it, I asked it to apply what it learned to a different task, resetting a Google Pixel 7 phone to factory settings. Here's the result:
{{{
Product | DITA Support |
---|---|
One product | Yes |
Another product | Yes |
Yet another | No |
Cinnamon CMS | Yes |