Conversational AI using only natural language
How do you think about designing and implementing a conversational AI bot? Let’s say you have your sample dialogs from the Wizard of Woz simulations and have identified the happy paths. And let’s take the initial greeting and write down our thought process.
First, we should define how the user expresses a greeting, e.g., “hi”, “Hello!” or “Hey there!”. Next, we should define the conversation flow, i.e. the bot should express greetings as well, e.g., “Hello there!”, and then ask the user how they feel, e.g., “How are you feeling today?”. When the user is feeling good, e.g., “I’m feeling good” or “good”, the bot should express a positive emotion too, e.g., “Great!”. Otherwise, when the user expresses feeling bad, the bot should express empathy, e.g., “I’m sorry to hear that…”.
In an ideal world, the above description should be enough for a “smart” system to build the bot, or at least the greeting part. Powerful models like GPT-3, take precisely this kind of input and follow the instructions, but we have limited control over how they behave. So, let’s try something else.
In conversation design, there is a technique called Jenga. The goal is to take out as many words as possible without altering the meaning. Let’s apply this technique to the paragraph above. We’ve greyed out the unnecessary words and highlighted, with various colors, certain words, depending on the role they have:
Next, let’s rearrange these words in a slightly different way:
Et voilà! The above is a perfectly valid Colang model which can be executed and deployed live. You can use the chat on the bottom right to give it a try.
Both the initial paragraph and the colang model have exactly 88 words, so we could argue that the effort of writing a colang model is similar to writing the natural way we would think about the bot in the first place. The ultimate goal for Colang is not to be yet another language that you have to learn, but rather a standardized way of structuring a conversational AI model using plain natural language.
How do you think about your conversational AI bots when you start designing them?
Originally published at https://colang.ai on February 15, 2022.