language – Xenioo Wed, 02 Dec 2020 15:51:56 +0000 en-US hourly 1 https://wordpress.org/?v=5.5.3 /wp-content/uploads/2018/09/cropped-xenioo-badge-32x32.png language – Xenioo 32 32 Using NLP to Fuel Your Chatbot AI /using-nlp-to-fuel-your-chatbot-ai/ /using-nlp-to-fuel-your-chatbot-ai/#respond Thu, 19 Jul 2018 13:02:32 +0000 https://wp.xenioo.com/?p=860 Chatbots are quickly evolving and moving from the typical buttons-clicking experiences to a real, meaningful conversational experience. Multiple real world applications demand a deeper user relation and a better general usage experience. While probably not yet passing a touring test, your chatbot can already be of great help in multiple applications like first level support, customer inquiry and first contact management (to name a few). One of the latest Xenioo updates introduced a number of enhancements to the NLP sections ...

Read MoreUsing NLP to Fuel Your Chatbot AI

The post Using NLP to Fuel Your Chatbot AI appeared first on Xenioo.

]]>
Chatbots are quickly evolving and moving from the typical buttons-clicking experiences to a real, meaningful conversational experience.

Multiple real world applications demand a deeper user relation and a better general usage experience. While probably not yet passing a touring test, your chatbot can already be of great help in multiple applications like first level support, customer inquiry and first contact management (to name a few).

One of the latest Xenioo updates introduced a number of enhancements to the NLP sections meant to give you even greater control over your bot chat experience.

In this post we are going to explore these new features and see real life examples and applications.

Conversation Control by ChatBot AI and NLP

Before this update, you could control how your chatbot reacted to triggered NLP intents by adding NLP detection actions at a global level: this approach is great and gives you an incredible level of flexibility directly at design time.

The only issue of this approach is that it works wonders until you want to switch to a chatbot that heavily relies (or is completely based) on NLP.

What if your chatbot contains not just 4 or 5, but 40 or 50 intents?

When approaching this kind of chatbots, doing everything inside the designer may prove too complicated and difficult to maintain in the long run.

With the idea of giving you the maximum control over your chat flow when using Natural Language Processing intensively, we’ve created the conversation control ability directly inside each and every Intent.

Let’s see how it works.

Automatic Redirection

With automatic redirection, you can instruct Xenioo to activate a specific Behavior/Interaction whenever a given intent is detected.

There’s no designer action involved as everything is controlled by the Chatbot AI engine and it works automatically for you.

Whenever the user says something in the chat, the Xenioo NLP engine will parse the active intents and automatically redirect the conversation to the given Interaction as the Confidence threshold is surpassed.

Immediate Reply

What if you do not really need an interaction and the answer may very well be a simple text?

The Immediate Reply conversation control let you do just that: you type any text you wish and, if the intent is triggered during the conversation, Xenioo will reply with it.

Note that you current flow position will always stay the same: after the text is sent to your user, the conversation will be exactly where it was before.

Test Run

Ready to give these two new features a try?

We’ve built a showcase page with a full support bot that will try to help you configure your printer.

The very same chatbot is also available as as template in your account templates section! Remember: templates do not count toward your account resources until you decide to publish them on one of the available channels, so feel free to try and test everything!

No limits, as always

If you’ve been using Xenioo for a while, you should know by now that we hate putting limits to how you should approach your chatbot creation.

Everything around Xenioo is built to let you build things the way you prefer and these features are not different. You are free to use them together with the global bot actions and mix and match results for an even greater control.

We can’t wait to see what you will be able to create!

Do you have a great chatbot experience created with Xenioo and want to share it with all of us? Do you want to keep track of all the wonderful features that we’re adding to Xenioo as soon as they are released?

Our Xenioo Chatbot Community is the right place to go! Join the discussion!

The post Using NLP to Fuel Your Chatbot AI appeared first on Xenioo.

]]>
/using-nlp-to-fuel-your-chatbot-ai/feed/ 0
TUTORIAL #6: Changing conversation flow using variables and tags /changing-conversation-flow/ /changing-conversation-flow/#respond Sat, 02 Dec 2017 13:33:40 +0000 https://www.xenioo.com/?p=501 In our previous tutorial, we learned how to create a bot that uses Xenioo’s Natural Language Processing engine to detect and react to user input. In this lesson we will expand the example further by creating different switches that alter the chat flow, thereby ensuring that our pizza order is complete. You can follow our lesson directly from the video below. At the end of the post you will find a Xenioo bot file that simply restores the example bot ...

Read MoreTUTORIAL #6: Changing conversation flow using variables and tags

The post TUTORIAL #6: Changing conversation flow using variables and tags appeared first on Xenioo.

]]>
In our previous tutorial, we learned how to create a bot that uses Xenioo’s Natural Language Processing engine to detect and react to user input.

In this lesson we will expand the example further by creating different switches that alter the chat flow, thereby ensuring that our pizza order is complete.

You can follow our lesson directly from the video below. At the end of the post you will find a Xenioo bot file that simply restores the example bot into your account for playback and testing. Let’s start!

YouTube Video

The missing entities

As we complete our NLP configuration and test our bot we can notice one simple detail: some phrases we accept may contain the pizza size, some others may contain information about the topping and sometimes, we can get both.

This situation can happen very often when dealing with free user input: each user will express an intent differently and may place an order (or anything else in your chatbot) in just a partial way.

“A large one!” or “One with onions” are human valid answers to our pizza ordering tutorial chatbot. 

Xenioo Conditional Actions can help you manage these situations by checking the values of your variables, and redirecting the user to a relevant interaction.

Conditional Switches

Variable and Tag Conditional Switch Action are among the most powerful Xenioo actions: they allow you to create switches in the conversation that can redirect the chatbot to other interactions, based on the content of a variable or on the existence of a tag.

Going back to our initial example, we’ve already seen how our NLP will store all detected entities into variables.

In our pizza ordering chatbot, we have two variables available: size and topping. Let’s add a check for both.

In our chatbot designer, let’s add a new interaction that we will call “Order Check”. Once created, click on the Add Action button to add a new action. From the Available Actions menu, select Variable Condition from the Flow tab.

We will check for size first. In the Variable Name just type size and in the criteria menu select ‘Empty Or Unset’. Notice how the criteria value field disappears as you select this type of criteria: there’s no need to specify a check value in this case.

Now we need to add an operation that, if size is empty or unset, will move our conversation to an action that can ask the user for this value. Let’s add a Go To Interaction operation to the Variable Condition Switch action.
Use the plus button attached to the Interaction menu to create a brand new interaction and save everything to confirm the connection.

Completing the Order

In the target interaction we are going to ask the user to tell us the desired pizza size.

We can create a specific NLP Intent to detect more complex replies (and we encourage you to experiment!) but for our example, we will just use a simpler Generic Input Action.

This action can filter a user input based on a simple regular expression. Since we’re accepting either small, medium or large, we’re going to specify a very simple expression and grouping for these values: (small)(medium)(large).

It’s as simple as that!

Now as the user can complete this information, we may go forward a step to ensure that the toppings are selected using the very same technique.

The checking approach is up to you: you can either have a step that checks all variables and redirects accordingly or have a step by step check, like in our video example.

Xenioo Actions and Operations allow for a great deal of freedom for you chatbot.

With this tutorial you’ve learned how to switch the flow of your chatbot conversation based on variables and user input and witnessed how incredibly powerful the Xenioo Actions and Operations architecture is.

As with all our lessons, you can find the chatbot sample in your Xenioo account so that you can import it to further experiment and learn.

The post TUTORIAL #6: Changing conversation flow using variables and tags appeared first on Xenioo.

]]>
/changing-conversation-flow/feed/ 0
LEZIONE #6: modificare il flusso della conversazione con variabili e tag /change-conversation-flow-variable-tag/ /change-conversation-flow-variable-tag/#respond Sat, 02 Dec 2017 13:33:40 +0000 https://www.xenioo.com/?p=501 In our previous tutorial, we learned how to create a bot that uses Xenioo’s Natural Language Processing engine to detect and react to user input. In this lesson we will expand the example further by creating different switches that alter the chat flow, thereby ensuring that our pizza order is complete. You can follow our lesson directly from the video below. At the end of the post you will find a Xenioo bot file that simply restores the example bot ...

Read MoreLEZIONE #6: modificare il flusso della conversazione con variabili e tag

The post LEZIONE #6: modificare il flusso della conversazione con variabili e tag appeared first on Xenioo.

]]>
In our previous tutorial, we learned how to create a bot that uses Xenioo’s Natural Language Processing engine to detect and react to user input. In this lesson we will expand the example further by creating different switches that alter the chat flow, thereby ensuring that our pizza order is complete.

You can follow our lesson directly from the video below. At the end of the post you will find a Xenioo bot file that simply restores the example bot into your account for playback and testing. Let’s start!

YouTube Video

The missing Entities

As we complete our NLP configuration and test our bot we can notice one simple detail: some phrases we accept may contain the pizza size, some others may contain information about the topping and sometimes, we can get both. This situation can happen very often when dealing with free user input: each user will express an intent differently and may place an order (or anything else in your chatbot) in just a partial way.


“A large one!” or “One with onions” are human valid answers to our pizza ordering tutorial chatbot. Xenioo Conditional Actions can help you manage these situations by checking the values of your variables, and redirecting the user to a relevant interaction.


Conditional Switches

Variable and Tag Conditional Switch Action are among the most powerful Xenioo actions: they allow you to create switches in the conversation that can redirect the chatbot to other interactions, based on the content of a variable or on the existence of a tag.

Going back to our initial example, we’ve already seen how our NLP will store all detected entities into variables. In our pizza ordering chatbot we have two variables available: size and topping. Let’s add a check for both.
In our chatbot designer, let’s add a new interaction that we will call “Order Check”. Once created, click on the Add Action button to add a new action. From the Available Actions menu, select Variable Condition from the Flow tab.
We will check for size first. In the Variable Name just type size and in the criteria menu select ‘Empty Or Unset’. Notice how the criteria value field disappears as you select this type of criteria: there’s no need to specify a check value in this case. Now we need to add an operation that, if size is empty or unset, will move our conversation to an action that can ask the user for this value. Let’s add a Go To Interaction operation to the Variable Condition Switch action. Use the plus button attached to the Interaction menu to create a brand new interaction and save everything to confirm the connection.

Completing the Order

In the target interaction we are going to ask the user to tell us the desired pizza size. We can create a specific NLP Intent to detect more complex replies (and we encourage you to experiment!) but for our example, we will just use a simpler Generic Input Action. This action can filter a user input based on a simple regular expression. Since we’re accepting either small, medium or large, we’re going to specify a very simple expression and grouping for these values: (small)(medium)(large). It’s as simple as that!


Now as the user can complete this information, we may go forward a step to ensure that the toppings are selected using the very same technique. The checking approach is up to you: you can either have a step that checks all variables and redirects accordingly, or have a step by step check, like in our video example. Xenioo Actions and Operations allow for a great deal of freedom for you chatbot.

With this tutorial you’ve learned how to switch the flow of your chatbot conversation based on variables and user input and witnessed how incredibly powerful the Xenioo Actions and Operations architecture is.

You can find this chatbot in the Templates section of your Xenioo account. From there you can easily restore the chabot to try the explained features at will.

The post LEZIONE #6: modificare il flusso della conversazione con variabili e tag appeared first on Xenioo.

]]>
/change-conversation-flow-variable-tag/feed/ 0
TUTORIAL #5: Detecting user input using NLP /detecting-user-input-using-natural-language-processing/ /detecting-user-input-using-natural-language-processing/#respond Fri, 01 Dec 2017 16:03:27 +0000 https://www.xenioo.com/?p=486 Now that we’ve explored just about all of the possible contents that our chatbot can display, is time to move a little behind the scenes and discover the sheer number of customization and automation features that Xenioo offers. In this less we’re going to configure and train our first AI-driven content, and apply it to a simple chatbot. You can follow our lesson directly from the video below. At the end of the post you will find a Xenioo bot ...

Read MoreTUTORIAL #5: Detecting user input using NLP

The post TUTORIAL #5: Detecting user input using NLP appeared first on Xenioo.

]]>
Now that we’ve explored just about all of the possible contents that our chatbot can display, is time to move a little behind the scenes and discover the sheer number of customization and automation features that Xenioo offers.

In this less we’re going to configure and train our first AI-driven content, and apply it to a simple chatbot.

You can follow our lesson directly from the video below. At the end of the post you will find a Xenioo bot file that simply restore the example bot into your account for playback and testing. Let’s start!

YouTube Video

Intents and Expressions

Working with Xenioo AI components is very quick and easy. The first main element, is the Intent: an Intent generally describes a user’s intention to express something.

To have an actual example, let’s create our first intent: we want to accept pizza orders from our users!

Go ahead and create a new Intent by clicking on the “add intent” button. Call the intent as you please: it is just a descriptive name and can be changed anytime. Nobody but you will see this name.

Once your intent has been created, it is time to click it on and go to the Expressions List. An Expression is a phrase that can be associated with the Intent. In our example, a phrase like ‘I would like a large pizza!’ may very well define (although not completely) a pizza ordering sentence.

Go ahead and add as many phrases defining placing an order, as you can.

Language Entities

Once you’re happy with all your expressions, it is time to go ahead and define entities.

An Entity is a word (or a group of words) that you want to be automatically detected and extracted from your expressions.

When the Xenioo AI Engine detects an expression with enough confidence it will also automatically extract any defined entity and make it available in your chat flow.

As we’re going to see in our tutorial, this is an incredibly powerful feature that opens an unlimited number of flow and interaction possibilities.

To create an entity simply click on a word of an expression. A small popup will appear, asking you to define what the word is.

In our example, since we’re accepting orders, we may click on any topping name and define it as “topping”. And we may click on any small, large or regular and define them as “size” for our pizzas.

Once you’ve selected all the entities you want to go ahead and add a new Expression.

See how Xenioo has automatically detected any Entity you’ve written? That is the NLP Engine running and learning as the list grows.

You can test your intents anytime by just selecting the “Train & Test” section. From there you can write any phrase you like and verify in real-time how the Xenioo AI Engine detects different Intents and Entities.

Using NLP in your chatbot

Once you’re happy with your NLP training, you can move back to the Build menu to implement the AI in your chatbot.

Select your default interaction and add a new Action: this time, we’re using an NLP action, under the Input tab.

Configuring the action is straightforward: just select the intent you would like to be detected and define the minimum confidence to assume detection. The default proposed confidence of 80% is usually fine.

That’s it! From that point, your chatbot will stop the flow and wait for the user input. If your Pizza Order intent is detected, your flow will continue. If not, the chat flow will continue looping until the Intent is detected.

Putting Intelligence near Artificial

If that was all we could do with NLP there wouldn’t be very much to help us in our Pizza Ordering bot.

Detecting an order is just the very first step: what we need to do really is also check what the user has ordered. Xenioo Actions and Operations can allow us to extend the NLP Action to suit our needs.

Instead of simply making the flow go on, we can use a Variable Condition Switch Operation to check the value of topping and switch the flow accordingly.

As you see, we can use any detected Entity to switch our chat flow and really react to our user input. There are no limits to the number of switches and conditions that you can make based on Xenioo variables!

Wrapping up

In this tutorial, we’ve learned how to configure and use the Xenioo AI Engine and the Natural Language Processing Engine.

In the next lesson we will push it further by asking our user to complete the order if anything is missing.

As with all our lessons, you can find the chatbot sample in your Xenioo account so that you can import it to further experiment and learn.

The post TUTORIAL #5: Detecting user input using NLP appeared first on Xenioo.

]]>
/detecting-user-input-using-natural-language-processing/feed/ 0
LEZIONE #5: rilevare l’input dell’utente attraverso la NLP /rilevare-input-nlp/ /rilevare-input-nlp/#respond Fri, 01 Dec 2017 16:03:27 +0000 https://www.xenioo.com/?p=486 Now that we’ve explored just about all of the possible contents that our chatbot can display, is time to move a little behind the scenes and discover the sheer number of customization and automation features that Xenioo offers. In this less we’re going to configure and train our first AI-driven content, and apply it to a simple chatbot. You can follow our lesson directly from the video below. At the end of the post you will find a Xenioo bot file ...

Read MoreLEZIONE #5: rilevare l’input dell’utente attraverso la NLP

The post LEZIONE #5: rilevare l’input dell’utente attraverso la NLP appeared first on Xenioo.

]]>
Now that we’ve explored just about all of the possible contents that our chatbot can display, is time to move a little behind the scenes and discover the sheer number of customization and automation features that Xenioo offers. In this less we’re going to configure and train our first AI-driven content, and apply it to a simple chatbot.

You can follow our lesson directly from the video below. At the end of the post you will find a Xenioo bot file that simply restore the example bot into your account for playback and testing. Let’s start!

YouTube Video

Intents and Expressions

Working with Xenioo AI components is very quick and easy. The first main element, is the Intent: an Intent generally describes a user’s intention to express something. To have an actual example, let’s create our first intent: we want to accept pizza orders from our users! Go ahead and create a new Intent by clicking on the “add intent” button. Call the intent as you please: it is just a descriptive name and can be changed anytime. Nobody but you will see this name.

Once your intent has been created, it is time to click it on and go to the Expressions List. An Expression is a phrase that can be associated with the Intent. In our example, a phrase like ‘I would like a large pizza!’ may very well define (although not completely) a pizza ordering sentence. Go ahead and add as many phrases defining placing an order, as you can.

Language Entities

Once you’re happy with all your expressions, it is time to go ahead and define entities. An Entity is a word (or a group of words) that you want to be automatically detected and extracted from your expressions. When the Xenioo AI Engine detects an expression with enough confidence it will also automatically extract any defined entity and make it available in your chat flow. As we’re going to see in our tutorial, this is an incredibly powerful feature that opens an unlimited number of flow and interaction possibilities.

To create an entity simply click on a word of an expression. A small popup will appear, asking you to define what the word is. In our example, since we’re accepting orders, we may click on any topping name and define it as “topping”. And we may click on any small, large or regular and define them as “size” for our pizzas. Once you’ve selected all the entities you want go ahead and add a new Expression. See how Xenioo has automatically detected any Entity you’ve written? That is the NLP Engine running and learning as the list grows.

You can test your intents anytime by just selecting the “Train & Test” section. From there you can write any phrase you like and verify in real-time how the Xenioo AI Engine detects different Intents and Entities.

Using NLP in your chatbot

Once you’re happy with your NLP training, you can move back to the Build menu to implement the AI in your chatbot. Select your default interaction and add a new Action: this time, we’re using an NLP action, under the Input tab. Configuring the action is straightforward: just select the intent you would like to be detected and define the minimum confidence to assume detection. The default proposed confidence of 80% is usually fine.


That’s it! From that point, your chatbot will stop the flow and wait for the user input. If your Pizza Order intent is detected, your flow will continue. If not, the chat flow will continue looping until the Intent is detected.

Putting Intelligence near Artificial

If that was all we could do with NLP there wouldn’t be very much to help us in our Pizza Ordering bot. Detecting an order is just the very first step: what we need to do really is also check what the user has ordered. Xenioo Actions and Operations can allow us to extend the NLP Action to suit our needs.

Instead of simply making the flow go on, we can use a Variable Condition Switch Operation to check the value of topping and switch the flow accordingly. As you see, we can use any detected Entity to switch our chat flow and really react to our user input. There are no limits to the number of switches and conditions that you can make based on Xenioo variables!

In this tutorial we’ve learned how to configure and use the Xenioo AI Engine and the Natural Language Processing Engine. In the next lesson we will push it further by asking our user to complete the order if anything is missing.

You can find this chatbot in the Templates section of your Xenioo account. From there you can easily restore the chabot to try the explained features at will.

The post LEZIONE #5: rilevare l’input dell’utente attraverso la NLP appeared first on Xenioo.

]]>
/rilevare-input-nlp/feed/ 0