Skip to main content

Overview

This page gives an overview of the Teneo Dialogue Resources. The Dialogue Resources cover all needed understanding and interaction for keeping a fluent dialogue as well as providing a conversational and humanlike experience to the end-user; and they are more than simply smalltalk or chit-chatting Flows as they are the generic dialogue capabilities that conversational AI applications need to behave human-like, show social skills and personalized behavior, to simulate intelligence and, in this way, engage the end-users such that they trust the capabilities of the application.

The Hybrid Teneo Dialogue Resources are described in the section Hybrid Dialogue Resources while the Russian Dialogue Resource is described separately.

Benefits of Teneo Dialogue Resources

  • Social conventions: the Teneo Dialogue Resources follow the social protocols and conventions a user expects and enables the conversational AI application to be polite, respond to greetings, react to insults, etc.; this encourages the end-user to interact in a natural way.
  • Credibility: it gives the impression that the conversational AI application is intelligent; this can help the end-user to trust the application's answer within the project-specific domain better.
  • Personalized behavior: it enables the conversational AI application to remember the user's name or to answer questions about the application itself, among other things.
  • Human-like behavior: it gives the conversation AI application human-like behavior by being able to understand common knowledge questions that go beyond project-specific knowledge.
  • Gets the user back on track: Flows in a Dialogue Resource can be used to point the dialogue back to the project-specific core questions for which the conversational AI application's knowledge is developed.
  • Educational: the structure of the more complex Teneo Dialogue Resources' Flows can be used as inspiration and education for conversational AI developers and clients on how to solve similar dialogue situations within their domain.
  • Fewer user-inputs trigger the "Safetynet": by catching non-project specific user-inputs, insults and nonsense before they end up in the Safetynet, irrelevant user-inputs can be filtered out and focus can stay on the core knowledge areas that need to be improved. Without the Dialogue Resources, the AI application is not only perceived as dumb and impersonal, but the Safetynet, non-understanding responses go up.
  • React and respond to unhappy customers: the Flows can help to capture when the user is not happy with the responses or the AI application's capacities (negative, insults, etc.).
  • Corporate branding: the answers in the Teneo Dialogue Resources and other Conversational Modules can be customized to promote the brand name and to share the company's values.

Hybrid Dialogue Resources

All languages

The hybrid Teneo Dialogue Resources contain roughly 100 Flows, depending on the language, that cover a wide range of common chitchat and smalltalk inputs, as well as Flows that handle a greeting message, empty user inputs, non-recognized user inputs, more sophisticated dialogue situations including conversations about the AI application's favorites and interests, recognition of the user's name and age, etc.

The scope of the Flows has been defined by analyzing authentic conversation logs and they cover the most frequently occurring non-project specific dialogues.

The 3 top-level Flow categories are:

In the following sections Flow names are referenced by the name in the English Dialogue Resource. For a full list of Flows per language, please see the Flow lists.

The Russian Dialogue Resource is described in a separate section.

Dialogue

Acknowledgement

The Flows in this folder handle simple user inputs such as Yes, No, I agree, Interesting, Great, Maybe, etc.

Bot and user names

This folder contains three Flows pertaining to names, both the user's and the bot's.

The user's name is stored in variable userFirstName as a string and this variable can be re-used later in the answer texts to create more of a personal tone.

The Flow The user is telling his name has an Intent Trigger which uses the follow-up folder Scripted Context to catch answers from follow-up questions after the Flows The user asks for the bot's name and The user asks if the bot remembers her name.

User name stored in the variable userFirstName

Connecting phrases

Connecting phrases: Empty / Long input / Nonsense

Sometimes the user inputs do not contain words or contain symbols that require special treatment. So, the Flow Intent Triggers are coded in a special way, using scripts and system annotations:

  • Empty: %$_EMPTY. The conversational AI application responds suitably to user inputs which contain no text.

  • Long input: {_.getSentenceWordCount()>20} / {_.getSentenceCount()>2} All the inputs containing more that 20 words or 3 sentences will be triggered (the number of words or sentences can be adjusted).

  • Nonsense: %$_NONSENSE / %$_BINARY. This Flow is placed low in the Intent Trigger ordering and is triggered on meaningless user inputs, such as "adsf", "aaaerrrr", "ggg", ";;;;;;;;;;;;;" or inputs consisting of only 0s or 1s.

Read more about System and Standard Annotations.

Connecting phrases: Meta

Here the user will find, for example, the Flow The user asks the bot to please repeat which uses the bot's most recently provided answer as a response.

A script node saves the answer text to the Flow variable previousAnswer when there is at least one answer available in the history.

Flow variable previousAnswer

Connecting phrases: Negative

The Flows in this folder can detect user's frustrations, disagreement, discontent or problems. Examples of inputs: Is something wrong with this?, Forget it, Never, I give up, I asked you something, etc.

Connecting phrases: Questioning

The Flows in this folder handle short inputs such as Why?, What now?, For what reason?, Don't forget, etc.

Connecting phrases: Support

This folder contains a Flow that is triggered when the user asks for help, support or advice as well as Flows regarding foreign languages.

One of the language related Flows uses the Language Detector input processor to identify inputs in non-solution languages, using the annotation to provide an appropriate response. Please visit the Input Processors section to read more about the Language Detector.

Another Flow identifies questions in the solution language about which languages the bot can speak.

Examples of dialogues from the English Teneo Dialogue Resource

Conversational

Conversational: Bot functionality

This category covers inputs regarding the conversational AI application's technical parameters, as well as the purpose of the bot, such as Can I use you on my smartphone?, How fast are you?, Do you get updated often?, Which technology are you built with?, How many answers do you have?, Do you save history of the logs?, Are we talking in real time?, How much do you cost?, etc.

Conversational: Bot personality

In this category, there are Flows that trigger on inputs such as Are you a man or a woman?, Are you married?, Where are you from?, Do you like music?, Do you have pets?, etc. Adding the answers in this category helps forming the personality of the conversational AI application.

This category also contains a Flow that triggers on questions regarding the conversational AI application's favorites. The Flow has different answer nodes that identify whether a user has named a specific favorite and uses a LIST Language Object followed by a propagation script to provide a tailored response to the user.

Gathering all questions regarding favorites in one Flow makes it easy to add more favorites; it also allows to point the conversation into a more preferred direction. The Flow is implemented so that the output is followed by:

  • the question whether the conversational AI application is the first one the user has met, and
  • if the user continues asking about favorites, the next answer will lead into a conversation about the user's favorite day of the week.

Obviously, this Flow can be adapted in each project and instead promote a new product, start a survey, or similar.

The favorites Flow

Conversational: Friends

This folder contain Flows covering inputs where the user mentions friendship or flirts with the conversational AI application.

Conversational: GDPR

The Flows in this folder handle inputs related to GDPR and date protection, for example What information do you collect about me?, GDPR, I want to unsubscribe from all marketing emails, Stop collecting my personal data, What information do you store about me?, etc.

Conversational: Horoscope

In the horoscope Flow, an example of how to use the same-flow follow-up global scripted contexts to handle follow-up questions is presented. The script checks if the Flow is the same as the previous input, allowing the bot to respond to context-dependent follow-up questions when relevant.

The Horoscope Flow

Conversational: Jokes

Another way to handle context is exampled in this folder by using the follow-up of folder scripted context.

Here, the scripted context is added to each of the context-dependent Flows in the folder, denoted in the Flow names by Same folder context. These Flows will only trigger directly after inputs triggering the Flow The user wants to hear a joke.

Flows available in the Jokes folder of the English Dialogue Resource

Conversational: Profanity

Flows in this folder cover inputs such as sexual or racist remarks, drugs, violence or similar. Our experience is that recognizing these types of inputs at an early stage can make it easier to lead the end-user away from it.

Conversational: Time check

This folder contains the Flow The user wants to know the time and the reply is giving a time based on the value of the global variable userTimeZone.

Conversational: Weather

The Flow in this folder handles all sorts of inputs related to the weather.

Emojis

The Flow The user writes an emoticon or emoji reacts on inputs containing some common emoticons.

In Chinese (Mandarin), Dutch, English, French, German, Italian, Japanese, Portuguese, Spanish and Swedish the Flow can also react on a number of common emojis.

Feedback

A conversational AI application will over time receive both positive and negative feedback; by being able to respond to this instantly, the end-user will get a better user experience.

Feedback: Negative

Flows in this folder trigger on inputs such as You are boring, You are so stupid!, Are you completely stupid or what?, You give always the same answer, I hate your company, Don't get smart with me!, This is obviously not what I asked!, etc.

It is useful to have this category as it can serve as a base for improvements and the detection of users' problems.

The folder also contains the Flow The user requests the bot to stop it that contains a script that clears the stack of any active Flows when the Flow is triggered.

Flow The user requests the bot to stop it

Feedback: Positive

The Flows here trigger on inputs where the user gives positive remarks, such as smart/intelligent/pretty, You are really funny, Thank you that's very helpful, I love you, You are the best assistant ever, etc.

Greetings

Flows in this folder trigger on greetings and goodbye's, such as Hello, Goodbye, Nice to meet you, How are you, Merry Christmas, etc.

My company

This category contains Flow drafts for general company related inputs, such as opening hours, contact information, job opportunities, social media, management information, etc.

There is also a Flow draft for Chat Handover that triggers on inputs such as Can I speak with someone real?, Can I talk to someone online, I need to speak to a person, Chat with an operator, Live chat, etc. This Flow should be adapted in each project following the project-specific chat handover strategy.

User personality

Flows in this category trigger when the user is giving an information about himself, such as the city or country where he lives, his gender or his age. Some of these Flows trigger on inputs that express the user's sentiments, feelings or attitudes.

Russian Dialogue Resource

The Russian Dialogue Resource contains 47 Flows that cover a wide range of common chitchat and smalltalk inputs, as well as Flows that will handle greeting message, empty user inputs, non-recognized user inputs, more sophisticated dialogue situations including conversations about the conversational AI application's favorites and interests, recognition of the user's name and age, etc.

Please note that in the below sections, the English name of the Flows is used; the complete lists of Flows can be found in the language specific sections for Russian.

The scope of the Flows is defined with the help of analysis of authentic conversation logs. They cover the most frequently occurring non-project specific dialogues.

Structure

All the Flows in the Russian Dialogue Resource are grouped in categories in a folder structure. The Flows have TLML Syntax Matches defined in the triggers, one or more answers and several positive and negative examples of user intent.

The 3 top-level categories are:

Note that the Flows in Greeting Message and Safetynet are identical with the hybrid Teneo Dialogue Resources explained above and will therefore not be explained here.

Dialogue

Connecting phrases

Connecting phrases: Acknowledgement / Greetings / Questioning

The Flows in these folders handle simple user-inputs such as Hello, Why?, How are you?, Very interesting, etc.

Connecting phrases: Meta

Here the user will find the Flow The user asks the bot to please repeat, with the variable lastOutput which stores the last user input as a string.

Connecting phrases: Negative

The Flows in this folder can detect the user's frustrations, disagreement, discontent or problems.

Connecting phrases: Support

This folder contains Flows which are triggered when the user asks for help, support or advice.

Conversational

Conversational: Profanity

Flows in this folder cover inputs such as sexual remarks; our experience is that recognizing these types of inputs at an early stage can make it easier to lead the end-user away from it.

Conversational: VA personality

In this category there are Flows related to the personality of the conversational AI application. Adapting the answers in this category will help to form the personality of the conversational AI application, but can also be adapted to promote the company values.

Feedback

A conversational AI application will receive both positive and negative feedback; by being able to respond to this instantly, the end-user will hopefully get a better experience.

Flows in the Negative folder will handle negative feedback from the user. It is useful to have this category as it serves as a base of improvements and detection of users' problems. And Flows in the Positive folder will, obviously, handle the positive feedback the conversational AI application will receive.

My company

This category contains in the Russian Dialogue Resource a Flow which covers contact information and which is triggered when the user wants to speak to an operator or when she asks where the contact data is, how to contact the company (e.g. by phone or e-mail), etc.

User

User: Sentiment

The sentiment category covers two types of sentiment: Positive and Negative. Flows in these folders trigger when the user expresses sentiments, feelings or attitudes.

Non-conversational

The Flows in the non-conversational category of the Russian Dialogue Resource are just like the Flows in the Connecting phrases: Empty / Long input / Nonsense / Timeout category of the hybrid Dialogue Resources.

Sometimes the user inputs do not contain words or contain symbols that require special treatment. So, the Intent Triggers are coded in a special way, using scripts and system annotations:

  • Empty: %$_EMPTY. The conversational AI application responds suitably to user inputs which contain no text.

  • Long input: {_.getSentenceWordCount()>20} / {_.getSentenceCount()>2}. All the inputs containing more than 20 words or 3 sentences will be triggered (the number of words and sentences can be adjusted).

  • Nonsense: %$_NONSENSE / %$_BINARY. This Flow is placed low in the Intent Trigger ordering and is triggered on meaningless user inputs, such as “adsf”, “aaaerrrr”, “ggg”, “;;;;;;;;;;;” or on inputs consisting of only 0s or 1s.

  • Timeout: %$_TIMEOUT.The current session has timed out and this is the response given when a user returns after the timeout. Although it is not possible to edit the settings of the system annotation, it is possible to set a timeout value through scripting engineEnvironment.setSessionTimeout(n), where the timeout can be set to "n" seconds.

Intent Trigger Ordering

The Russian Teneo Dialogue Resource contains the Intent Trigger Ordering groups visible in the below image.

!Trigger Ordering groups of the Russian Teneo Dialogue Resource