Artificial Intelligence – Xenioo Wed, 11 Jan 2023 16:18:02 +0000 en-US hourly 1 https://wordpress.org/?v=5.6.12 /wp-content/uploads/2022/02/cropped-badge_611x611-32x32.png Artificial Intelligence – Xenioo 32 32 HOW TO build a complete food delivery chatbot (Part 1) /how-to-build-a-complete-food-delivery-chatbot-part-1/ /how-to-build-a-complete-food-delivery-chatbot-part-1/#respond Wed, 11 Jan 2023 16:06:19 +0000 /?p=9902 In our previous How To Build post series, we’ve detailed how to build a complete Q&A chatbot using Xenioo AI engine, database, and flow capabilities. In this first of two-part posts where I’m going to detail instead all the steps to build a complete Food Delivery chatbot. Thanks to Xenioo’s built-in AI, Database, and advanced Conversation features you’ll see how it is possible to realize such a powerful and smart chatbot without writing a single line of code. The How To ...

Read MoreHOW TO build a complete food delivery chatbot (Part 1)

The post HOW TO build a complete food delivery chatbot (Part 1) appeared first on Xenioo.

]]>
In our previous How To Build post series, we’ve detailed how to build a complete Q&A chatbot using Xenioo AI engine, database, and flow capabilities.

In this first of two-part posts where I’m going to detail instead all the steps to build a complete Food Delivery chatbot. Thanks to Xenioo’s built-in AI, Database, and advanced Conversation features you’ll see how it is possible to realize such a powerful and smart chatbot without writing a single line of code.

The How To Build posts series aims to show how a complete chatbot can be built using all of the available Xenioo features with the highest possible detail. By the end of each post, you will gain insight into basic and advanced Xenioo functionalities and be ready to try more complex approaches. All of the additional material used for these posts and the complete chatbot are made available here for download or inside the Xenioo templates section.

The case for a Food Delivery Chatbot

During the last two years, we’ve witnessed tremendous growth in e-commerce chatbots. By either working as “on the side” consultants or being the first line of sales, these chatbots are for all intent and purpose driving thousands of product sales. The Food industry, and in particular the home delivery services part of it, has definitely embraced this trend by acquiring all the good aspects of this kind of revolution:

  • Your chatbot can work with multiple customers simultaneously. You’re not missing any more phone orders because customers find a busy line and stop waiting;
  • If your restaurant is also serving seated customers, no one needs to answer any call and get distracted from regular service;
  • Orders are written clearly and checked multiple times by your customers. No more wrong orders because of over-the-line misunderstandings or badly written notes;
  • Your customers can update orders anytime, even after placing them, instead of calling your restaurant multiple times;
  • Doing some kind of promotion? Reaching out to your previous customers would be a lot easier than putting out paper fliers no one is reading.

If you feel like your business could benefit from one or more of these improvements keep reading as we’re going to build the definitive food delivery chatbot!

Building our chatbot

The first step for building a successful chatbot is to have a list of the main features we’ll need to implement so that we know how to set up our flow. A food delivery chatbot needs to be capable, at the very least, to:

  1. Take orders from customers using a free dialogue approach;
  2. Allow customers to review, edit and confirm their orders;
  3. Take direct payment from our customers;
  4. Get customer location to set up a delivery route;
  5. Engage with our delivery personnel, dispatching orders and routes;
  6. Let the customer check the order state;
  7. Collect service feedback after the order has been delivered;
  8. Signup our customers for a promotional campaign so that we can engage them with new offers;

Not a bad list of features right? Now let’s see how we can tackle all of these points with Xenioo: let’s create a brand new chatbot in our account and let’s start building!

Creating our Food Menu

In order to allow our chatbot to get orders we need to first create some kind of menu. Our menu will contain all of the information about each and every food served by our imaginary restaurant.

To create our menu we will use all the power of the Xenioo Database feature: we’ll store in our menu collection all of the information we need to display, search and categorize the food we sell.

Let’s head to the Database section of our brand new chatbot and create a new collection named “menu”. We will be adding to menu items data such as name, description, price (obviously!), image, and, since we’re at it, also possible intolerances that our customers may be worried about.

Using the group property of our collection fields we’ll make sure to split our data into different sections so that Xenioo will build a nice data-entry form for us, without writing a single line of code. Once our collection is created we can head to the add new button and select “Add new record with form” to start our data entry.

Xenioo has automatically built for us a complete data entry form with the right input control for each of our fields. Boolean fields are shown as checkboxes, numeric fields have already set decimals or whole numbers and file type fields can manage your attachments and automatically store them in your account storage. All we have to do now is add all of our menu items.

As we have seen also in our previous Let’s Build Post, records can be exported and imported directly using simple CSV files. This makes it incredibly easy for you to manage your data: if you happen to have already a menu in an excel format or, later on, if you wish to maintain your whole food offering using excel. Better yet, if you do not wish to create collection fields manually, you can just import your CSV file directly and Xenioo will import all columns as fields and do all the heavy lifting for you.

Using Xenioo granular users permissions activated by the Pro Team package, it is also possible to create a user that can access only the Database section of the chatbot. Just imagine building a chatbot for your restaurant customer and then giving them a full back office to let them maintain their own data. How much development time would software like this take usually?

Training our NLP Model

Once we’re happy with our menu data we can move on to training our NLP model. What we’re going to do next is basically teach Xenioo how to handle the different requests that may come from our customers. To do this, the first thing to do is to move to the AI section of our chatbot and create a brand new intent.

Within a chatbot, intent refers to the goal the customer has in mind when typing in a question. For our restaurant, the very first intent will be “Food Ordering”.

Let’s go ahead and create the intent by clicking on the add intent button. All we need to do now is just give it a name and click on Save. We’ll be back later to add more details.

Once our intent is created let’s double-click on it to move to Expressions editing. In an intent, expressions are the utterances we’re expecting our customers to use to express their goals. We can set up some typical examples now and fine-tune our training later, even while our chatbot is live.

For our restaurant, a Food Ordering intent may have expressions such as “I want a pizza” or “I would like two margherita and a blonde beer” and so on. Let’s add some typical expressions to our expressions list.

You don’t really need to think of all of the possible ways your customers may order food. Just write some of the most typical and the Xenioo engine will be capable of understanding also expressions that diverge from what you’ve entered.

Of course having our chatbot understand our customer’s expressions is just half of the job: what we really need is to understand what exactly they are asking for. Is it a pizza? If so, what pizza? Do they want a beverage? What exactly do they want to drink?

The information that can be found inside an expression is called Entity. An entity represents a value that can be extracted from the expression and later used by your chatbot. For example in the expression “I want a pizza margherita” what we really need to know is that the required pizza is Margherita and that our customer wants just one.

Usually, we would just go ahead and click on the parts of the sentence that may represent our entities but since we already built our menu we could make things even faster and use our database as an entity list. Let’s move to the Entities section and create a new entity called “food” where we say that the data is coming from our collection.

All that we need to do here is select our collection and pick which fields we would like to represent the possible entity name and the possible synonyms of our entity. Once we’re done with the creation we can just hit save to confirm our entity.

Now, all we need to do to make Xenioo apply our entities to our expression is head to the Train & Test section. After a very short while, Xenioo will finish modeling our expressions. If we go back to our Food Ordering intent and double-click on it we’ll see how our expressions list has changed.

As you can see now some of our words are highlighted. That is Xenioo showing that some of the words are now recognized as entities. It means that the values that will be found will be made available to our chatbot during the flow.

Let’s try our NLP training by clicking on the Train & Test section again. On the input box, to test our training, we type “I’m eating a margherita and a cold blonde”. Press enter or click on Evaluate Expression to see the results.

The sentence is way different from any other we’ve been training but still, Xenioo manages to get a 61% score best of all, as you can see, we get our food recognized automatically. If we were in a real conversational situation, $food and $food2, our entities, would be available to our chatbot as standard variables, ready to be used in any part of the flow.

Speaking of flow, it is time to move to the build section and start creating our chatbot!

The post HOW TO build a complete food delivery chatbot (Part 1) appeared first on Xenioo.

]]>
/how-to-build-a-complete-food-delivery-chatbot-part-1/feed/ 0
How To Connect Your CRM To A Microsoft Teams Chatbot /how-to-connect-your-crm-to-a-microsoft-teams-chatbot/ /how-to-connect-your-crm-to-a-microsoft-teams-chatbot/#respond Mon, 01 Jun 2020 13:54:48 +0000 /?p=2885 Having to manage a support team and a huge number of customers is a task already daunting by itself. On top of that, add the need to keep track of who did what and when and you will be quickly facing a continuous jump from one tool to another that can easily slow all your process to a crawl. That’s why we are talking your about Microsoft Teams Chatbot. Because your customers and contacts are in one spot. Your tickets ...

Read MoreHow To Connect Your CRM To A Microsoft Teams Chatbot

The post How To Connect Your CRM To A Microsoft Teams Chatbot appeared first on Xenioo.

]]>
Having to manage a support team and a huge number of customers is a task already daunting by itself. On top of that, add the need to keep track of who did what and when and you will be quickly facing a continuous jump from one tool to another that can easily slow all your process to a crawl. That’s why we are talking your about Microsoft Teams Chatbot. Because your customers and contacts are in one spot. Your tickets and contracts are somewhere else. All your team is (luckily!) on Microsoft Teams.

When a new employee comes in, you have to share access or create new users on the various tools. On top of that, training needs to be done for those tools and more time is lost.

Does this sounds familiar?

What if we could have someone else take care of all this? Even better: what if we could have a bot take care of all this?

Getting Everything Ready

The first thing we need to do for our example is to setup everything we need:

Once you’re set with your accounts, its time to start our journey!

Building The Bot AI

We want our chatbot to be usable from anyone without any specific training and for this, we need it to be able to answer to standard free text questions like “Do we know Mary White?” or “Who is Mary White” and so on.

To do so we are using Xenioo native AI engine and add a good number of question variations.

xenioo AI chatbot engine


The AI Engine interface is very straightforward and setting all of our expressions is very fast. Also, thanks to inline entities creation, we can just click on our person name and identify that as a person_name entity to be used later.

Once we’re happy with all our expressions, we can check the training right away by moving to the Train & Test section.


Great. Xenioo AI engine is quickly trained and inside our sentence, a person’s name is recognized. But our person_name entity was trained on a single name: john.

Let’s try changing it…”do we know anyone named Mary?


Whoops. No person_name detected and lower match. Why? Because by default, Xenioo entities lookup for an (almost) precise match between the source entity and the user input text, and in our case, all Xenioo knows is john.

A way of solving our problem would be to add each and every possible name as a variation of our entity. We could reach a much bigger number of variations but still not all possible names. Also, our users may search for a company or a partial email.

How can we make Xenioo extract the data we want but just accept any text?

The answer is Wildcard Entities. These special entities will precisely extract any text outside of the fixed expression words and automatically assign it to the entity variable.

Let’s change our entity to a wildcard and try again with a random name.

Perfect. Now we can just use any name in any expression and whatever we write it will be passed directly to our variable.

We will use the person_name variable to do an API lookup on our HubSpot contacts list.

Designing The Flow of your Microsoft Teams Chatbot

Designing The Flow of your Microsoft Teams Chatbot

The flow is very simple here: our search intent will trigger a search on HubSpot.

We need to look if at least one contact is found, we will display a card with a photo and some details. If no contact is found, our bot will ask if we want to create a brand new contact.

If our user chooses so, instead of redirecting to HubSpot, we will display a custom Xenioo Form with all the basic fields our company requires, and then we will create the contact directly on HubSpot.

Thanks to Xenioo preview capabilities we can test our bot right away and see if it meets our requirements. Once we’re happy with how it behaves its time to setup our Microsoft Teams Chatbot integration.

Creating a Microsoft Teams Chatbot

With our flow ended, we have our bot ready for prime time. Let’s click on the publish button and on the Microsoft Teams icon. The Microsoft Teams Chatbot publishing dialog will appear.

publishing the microsoft teams chatbot

We miss some information that only Teams can give us but for now, let’s take note of the Messaging Endpoint that Xenioo just created: we will need it in a couple minutes.

Microsoft Teams bots are basically applications defined by a ‘manifest’. A bot manifest is a small file containing all of the basic information about our bot like its name, icon, or permissions.

To create a new manifest for our bot, we need first to install a Teams App called App Studio. To do so, just click on the Apps icon on your Teams Desktop interface and click on the App Studio box. If the box is not visible a quick search should highlight it.

installing App Studio

After App Studio is installed you’ll find its icon on the left bar or under the three dots at the bottom of it. Click on the icon and then select “Manifest Editor”. That’s what we need as we’re creating a brand new Teams Application.

App Studio will display a number of descriptive fields detailing your new Application. Feel free to fill them as you please as they are pretty much all descriptive.

What we’re looking for is the Bots section, under capabilities. From there, just click on the single “Set up” button you will see.

Name your bot as you like but just make sure to specify that your bot can upload and download files if you wish to exchange files with it.

set up microsoft teams chatbot on app studio

Click on “Create bot” to create your bot. After a short while, your bot page will change with your bot details. Copy the bot id in the Bot Id field in the Xenioo publish dialog.

All we’re missing now is a password for our bot: click on “Generate new password” to have Microsoft Teams create one for you. Copy the password and paste it in the Bot Password field shown in Xenioo.

connect your microsoft teams chatbot

Last, but not least, copy the Xenioo webhook endpoint from the Xenioo publish dialog inside the Messaging Endpoint field. You should see a green icon appear right next to the field when the connection is done.

Make sure that everything is saved and move to the last option at the bottom: Test and distribute.

From this page, you can choose to install this app on your Teams account or download it to give it to another team (yes, you could actually create general-purpose bots that are used from multiple teams!).

If your account has the required permissions you can proceed to install your new app directly by clicking on install.

If you don’t, you can just download the app manifest and move back to the Apps section where you can upload it using the “Upload a custom app” menu at the bottom.

Whatever you choose, after a couple of seconds you’ll find your new app listed among the available apps. From there just click it and add Microsoft Teams Chatbot to your channel.

Now confirm your Xenioo publish page and it’s done! Our chatbot is online and connected.

Time For A Test Run

A simple hello from us will display a random fallback phrase confirming that everything is fine and connected (and that we need to teach our bot some chit-chat skills!).

We can now chat with it directly, in a one-to-one chat or we can invite it to one of our channels: once invited our bot can be invoked by just a standard message mention.

Let’s see how it could work in a day to day channel chat.

YouTube Video

Our bot stays in the channels we want and its ready to reply to anyone as soon as its mentioned.

Our CRM with contacts and leads is now available to anyone in the channel without any special training and accounts.

Wrap Up

Microsoft Teams Chatbot is a great addition to any channel being the tools you invoke anytime you need some specific information.

There’s a number of useful ideas bouncing around right now from business trip weather advisor to conversational billable hours filler (“Hey @Bot, I’ve just worked 2 hours for Customer X”…wouldn’t that be great?).

What about you? Ready to shape your ideas and improve your Teams experience? Join Xenioo and let us know!

The post How To Connect Your CRM To A Microsoft Teams Chatbot appeared first on Xenioo.

]]>
/how-to-connect-your-crm-to-a-microsoft-teams-chatbot/feed/ 0
How to build an Alexa Skill With Xenioo (Part 2) /building-an-alexa-skill-with-xenioo-part-2/ /building-an-alexa-skill-with-xenioo-part-2/#respond Sat, 27 Jul 2019 16:59:09 +0000 /?p=2272 In our previous post, we’ve explored the basic concepts behind the creation of a fully functional Alexa skill with Xenioo. In this second part, we’re going to delve deeper in other parts of advanced skill creation approaching. We will see topics like streaming, state management, and live publishing. Playing audio Sending audio to an Alexa device can be done in two ways. You either send a small sample, like a sound effect, or you send a longer and more complex ...

Read MoreHow to build an Alexa Skill With Xenioo (Part 2)

The post How to build an Alexa Skill With Xenioo (Part 2) appeared first on Xenioo.

]]>
In our previous post, we’ve explored the basic concepts behind the creation of a fully functional Alexa skill with Xenioo.

In this second part, we’re going to delve deeper in other parts of advanced skill creation approaching. We will see topics like streaming, state management, and live publishing.

Playing audio

Sending audio to an Alexa device can be done in two ways. You either send a small sample, like a sound effect, or you send a longer and more complex streaming source.

The two options are not mutually exclusive but work very differently.

To send a small sample you can just add an Audio Action to your chatbot specifying the source file.

Leave all fields empty (as there’s no need for any additional information) and check the “Embed in speech encoding if available”.
This way Xenioo will automatically create an SSML audio message with your mp3.

If your audio is long (like for example a song or a podcast) and you also want to give the user the ability to pause, skip ahead or stop you have to go for the second option: audio streaming.

Epicentric is a full streaming platform supporting complex playlists and effects and so playing simple audio wasn’t enough for us.

Streaming your audio

To enable streaming you have first to let Alexa know that your skill will use the Audio Player interface.

This is done by enabling the interface inside the Alexa Developer Console.

alexa skill audio player

As soon as you enable this interface, you’ll notice that your intents are automatically expanded to support standard playlist navigation: play, previous, next, stop and pause.

alexa skill chatbot intents

All of these intents are managed directly using Xenioo AI: just match each intent with the built-in Alexa intent key like we’ve seen in our previous post and Xenioo will automatically build the correct model to manage your player.

If you are building a multi-language skill, make sure to clone all intents in each language you want.

Xenioo will then automatically build an Alexa model for each language.

Working with Alexa States

Another important aspect of working with Alexa audio is responding to state changes during streaming.

Alexa will not only let you know that the audio has started but also when it is nearly finished and when it’s over. When the user stops or pause Alexa will let you know at exactly what position it was stopped and if the playlist needs to be set, renewed or cleared.

All of these events are automatically managed by Xenioo and redirect to your flow so that your chat can act accordingly. The usual approach is still here: remove all the nuisances from your workflow while keeping you in control of everything.

alexa skill chatbot flow

The key actions here are the Control Device State action and the Device State Switch Action. Both these actions will receive a state change from an Alexa device. They can be used to manage your flow accordingly.

Account Linking

Account Linking describes a set of procedures that can be used to link an Alexa skill to a specific account. For example, your user may be using your Alexa skill only with an active subscription to your service.

Once you’ve set up the account linking procedure for your application, you can use the alexa_account_link_token variable anywhere in your flow to identify (or login using your own API) your user.

Please note that although mainly static, the Alexa user-id value may be subject to sudden changes. Do not rely on this value to uniquely identify a user.

Final Publish

After implementing a full streaming skill with all the features we wanted, we are now ready to go live.

Xenioo is currently passing 100% of the routine security checks done by Amazon services. It is perfectly suitable for hosting your most advanced skills.

Building streaming skill? Want to have your own Podcast skill on Alexa? We already built a complete production-ready template covering all we’ve seen in this post for free!

Just join Xenioo and add it to your chatbots collection!

The post How to build an Alexa Skill With Xenioo (Part 2) appeared first on Xenioo.

]]>
/building-an-alexa-skill-with-xenioo-part-2/feed/ 0
Creating A Top-Notch Google Assistant Action With Xenioo /creating-a-top-notch-google-assistant-action-with-xenioo/ /creating-a-top-notch-google-assistant-action-with-xenioo/#respond Tue, 12 Mar 2019 11:03:31 +0000 /?p=1844 A little less than a couple of months ago, we released a brand new Xenioo channel enabling Alexa publishing. Today we’re thrilled to update our channel offer with yet another voice platform: Google Assistant! In this post we’re going to explore how the multi-channel approach of Xenioo works and how you can publish your chatbot as a Google Assistant Action. First things first: Assistant Actions What you need to start testing your Assistant Action is, of course, a Xenioo account ...

Read MoreCreating A Top-Notch Google Assistant Action With Xenioo

The post Creating A Top-Notch Google Assistant Action With Xenioo appeared first on Xenioo.

]]>
A little less than a couple of months ago, we released a brand new Xenioo channel enabling Alexa publishing. Today we’re thrilled to update our channel offer with yet another voice platform: Google Assistant! In this post we’re going to explore how the multi-channel approach of Xenioo works and how you can publish your chatbot as a Google Assistant Action.

First things first: Assistant Actions

What you need to start testing your Assistant Action is, of course, a Xenioo account and a dedicated Google Actions developer account. Getting the first is easy enough and you can just signup to the second using your google account. Once you’ve signed up to your Google Actions developer account, click on Go To Actions Console to check your current actions dashboard.

create a google assistant action

Since your dashboard is very empty right now, let’s go ahead and click on Add/Import project to create our first action. Give your project a name you like and click on “Create Project”.

After a short while, your project workspace is created and you will be presented by a number of action templates you can use. Since we’re going to do everything using Xenioo we can just scroll down and select “Actions SDK” and confirm.

What we are doing is basically saying that we do not need anything pre-built as all actions and interactions are going to be handled externally.

We have finished for now here. Time to go and create our chatbot!

Creating the Chatbot for your Google Assistant Action

Since Xenioo always works as a multi-platform environment, we can just create a new chatbot and start designing right away. We will decide later on wich platform we will be publishing. In our example we will be going for a simple game action: the chatbot will pick a color and the user will be asked to guess it.

Heading to Xenioo AI section, we can start by creating a new intent, called ‘Guess The Color’ and add there all possible expressions.

We never know how the user will express his guess so try to be as generic as possible while specifying all differnt phrases. We are going to manage just 4 colors for now. So we are also going to define each color in each expression as an entity we can later use.

As soon as you’re happy with all the expression you can go on and do a quick training and test and verify that all different variations are fine. As everything looks right, you can then link the intent to a specific interaction so that everytime the user tries to guess the color you are in control.

Picking the random color

Xenioo has an incredibly powerful action called Random Split. This action will execute if a random number (generated everytime by Xenioo) hits a defined threshold.

Using a couple of these actions can help you create a split A-B test chatbot very easily and balancing more than one can be used to design very complex scenarios. For our example, we are going to use this to generate a pseudo-random situation where Xenioo picks a color to be guessed.

Game Over

To give our chatbot a basic gaming approach we are going to give the user a maximum number of tries. Our user will have a maximum of 3 tries per game to guess our color.

To manage this, we are going to use Xenioo built-in variable operations on a variable of our choice where we will be adding 1 each time the guess is wrong. Once the wrong counter reaches 3, the game is going to end. To keep our user in the loop, we are going to ask every time if he wants to play again.

xenioo visual builder

Publishing to Google Actions

Now that our chatbot is ready we need to head back to our Actions console to retrieve our project id.

To do so, click on the project settings menu inside the “Actions on Google” console and select “Project Settings”.

google assistant action console

From the page that will appear, copy the Project ID field value and move to Xenioo. Select the publish button and click on the Google Assitant box. Paste the Project ID in the only text box you will see and press Save.

After a short while, Xenioo will ask to open a very specifc Google link and copy/paste an activation code. Xenioo requires this code to have the mandatory athorization to update your Google Action.

Press Save again when its done the click on “Publish” to bring online your chatbot. You’re now ready to test your brand new Google Action!

Not Just a Google Assistant Action

We said it at the very beginning of our post. Xenioo aims to be not just fully multiplatform but to allow seamless publishing of the same chatbot on all platforms.

Do you want to try this chatbot on WhatsApp? Go ahead and publish it there. Fancy using Alexa? You’re good to go!

Remember: you design once and use it anywhere!

Want to play around with our chatbot example? We’ve created a handy backup of this Xenioo chatbot that you can download and restore to your account. Have fun!

The post Creating A Top-Notch Google Assistant Action With Xenioo appeared first on Xenioo.

]]>
/creating-a-top-notch-google-assistant-action-with-xenioo/feed/ 0
How to Build an Alexa Skill With Xenioo (Part 1) /building-an-alexa-skill-with-xenioo-part-1/ /building-an-alexa-skill-with-xenioo-part-1/#respond Thu, 27 Dec 2018 13:24:29 +0000 https://wp.xenioo.com/?p=989 Today we’re going to build a new Alexa Skill capable of streaming your own, personal music wherever your device is. Too awesome? Keep reading. The natural evolution of pure conversational chatbots is probably being transformed into fully functional voice assistants. Alexa, Google Assistant, Duplex and other emerging technologies will seamlessly integrate into our devices and offer conversational interactions that (hopefully) mimic real human interactions. Many have been asking us to make available this kind of integration inside Xenioo. So our team ...

Read MoreHow to Build an Alexa Skill With Xenioo (Part 1)

The post How to Build an Alexa Skill With Xenioo (Part 1) appeared first on Xenioo.

]]>
Today we’re going to build a new Alexa Skill capable of streaming your own, personal music wherever your device is.

Too awesome? Keep reading.

The natural evolution of pure conversational chatbots is probably being transformed into fully functional voice assistants.

Alexa, Google Assistant, Duplex and other emerging technologies will seamlessly integrate into our devices and offer conversational interactions that (hopefully) mimic real human interactions.

Many have been asking us to make available this kind of integration inside Xenioo. So our team have been working around the clock to make it happen.

Now you can design and build an Alexa skill by building a Xenioo chatbot like you do with other channels.

Creating Your Alexa Developer Account

Alexa skills need to be created inside an Alexa Development Account.

Creating a development account is free and (if you want) it can be the same account you already use for buying on Amazon.

Any Skill that is under testing status is automatically distributed on all the devices associated with your development account. So it may be a good idea to use the account you’re using on all devices.

Please note that if you want to update the development state of your account on any device, you will need to unregister it and register it again like detailed in this procedure.

After you’ve set up your development account you are ready to create your first Skill. There are multiple wizards and templates that let you create multiple Skills with little to no effort but with also little to no real control.

What we are going to choose for our example is a fully custom skill.

alexa skill developer

After that, we will be telling the Alexa developer console that we are going to “Start from scratch” and proceed to the Builder section.

Since we will be doing an Audio Streaming Skill, we can click on the “Interfaces” button and enable the Audio Player interface.

alexa skill audio player

We don’t need anything more from the console right now: we can move on to the streaming setup.

Streaming Your Own Music

In our example, we don’t want to use generic and global streaming services. We want, instead, to stream our own music collection we’ve been curating and building through the years and that sits in one or more disks of our home network.

To accomplish that, we’re going to integrate Xenioo with another terrific service: Epicentric.

Epicentric is an incredible service that lets you upload your own music and stream it wherever you are. and allows the creation of multiple, complex playlists that are automatically managed by an AI that will make sure you are always listening to something fresh.

Just like we did with Alexa account, go ahead and signup to Epicentric. It is free and after the quick and useful walk-through, you are ready to continue with our streaming skill creation.

Conversation With Alexa

Alexa is built around the free conversational interaction concept. The conversation between the user and Alexa (and so to your chatbot) cannot have real predefined flows.

A user can say just about anything in any order and with different levels of information.

Let’s consider the exchange below:

While being extremely simple, the above example embodies the perfect exchange: the user expresses exactly what is required for the Skill to continue.

But you cannot expect everyone to interact with you like that. Mostly, in fact, are more likely to interact like this:

As you can see the user is not giving away all the info at once and our Skill is trying to fill all the information by repeating or rephrasing the question.

Your skill required information are called slots. They are pretty much like Xenioo NLP Entities and Xenioo Variables in a standard conversational chatbot.

Creating Our Voice Chatbot

With the above information in mind, we can now move on to create our Xenioo chatbot for Alexa.

It won’t be much different from creating a standard conversational chatbot. As we said, there won’t be a real step-by-step flow. We can head directly to the AI section and set up the NLP that will drive our Skill.

Inside the Xenioo AI section, we will define all the intents and expressions that will be used to create our Skill model and to define how the flow of the conversation will execute.

creating a voice chatbot with xenioo

Depending on the type of Skill you are creating, you may be required to implement specific intents in your chatbot.

A streaming Skill like the one we’re building now is required to implement at least a Pause and Resume intent. Outside of these two, you can go on and create as many intents as you like.

Everything that is said to Alexa will be processed by the defined intents and passed to Xenioo. It will dispatch the intent redirection to your chatbot interactions. The schema below illustrates what happens behind the curtains:

how alexa skill chatbot works

Xenioo does full use of Alexa SSML in every text that is sent back to the user. Feel free to use any lang, break, whisper or other supported tags to obtain specific voice effects.

Once you’ve created your intents, remember to connect your Activation to your chatbot interactions.

Since everything the user says will trigger an existing intent, only intents that are connected to an existing chatbot interaction will be deployed to your skill model. Also, if you want to implement or override existing Alexa skills (like the resume or pause we are required to do) remember to specify the Alexa skill key in your intent skill key.

First Deploy Of Alexa Chatbot

We’re looking forward to deploying our very first Skill for a test drive. Before fully completing our chatbot we want to push our first work!

We can do it anytime by just clicking on the Publish button inside our Build section. In the channel selection screen let’s select Alexa and a default Amazon login window will open. This window will connect your Amazon profile and allow Xenioo to push Alexa skills for you.

After confirming your account and confirming all required permissions, we can continue configuring our skill deployment.

publish your alexa skill chatbot

In the above window, you are required to select the skill you’re publishing, the locale and the activation text you like.

The activation text will be used by Alexa to activate your skill so be sure to pick something which is both easy to say and not clashing with default Alexa phrases.

The most important setting here is the Hook Url. Be sure to copy this URL and paste it to your Alexa skill configured endpoints.

Note that Xenioo will only update and build your Invocation Model as that is the key to Alexa Skill inner workings.

Xenioo does not wish to overwrite any setting you have specified in your Alexa skill and that you may change later. So let you decide whatever is your desired configuration from the native Alexa console.

Xenioo is the perfect backend middleware and AI-driven flow platform for your Skill and it does exactly that awesomely.

Once you’re done configuring everything press publish and your Skill is ready to be tested live!

In our next post, we will see how Streaming, Account Linking, and Device State management works!

The post How to Build an Alexa Skill With Xenioo (Part 1) appeared first on Xenioo.

]]>
/building-an-alexa-skill-with-xenioo-part-1/feed/ 0
Come creare una Skill Alexa con Xenioo (Parte 1) /come-creare-una-skill-alexa-con-xenioo-parte-1/ /come-creare-una-skill-alexa-con-xenioo-parte-1/#respond Thu, 27 Dec 2018 13:24:29 +0000 https://wp.xenioo.com/?p=989 La naturale evoluzione dei chatbot conversazionali è con tutta probabilità la trasformazioni verso veri e propri assistenti virtuali vocali. Amazon Alexa, Google Assistant, Duplex ed altre tecnologie emergenti, si integreranno perfettamente all’interno dei nostri dispositivi, consentendo esperienze di conversazione sempre più simili a quelle di solito affrontate con persone reali. Il “business della voce” è un trend in crescita e molte grosse realtà, a partire da Bezos di Amazon, stanno investendo molto nel mercato degli applicativi vocali. Inoltre molti nostri ...

Read MoreCome creare una Skill Alexa con Xenioo (Parte 1)

The post Come creare una Skill Alexa con Xenioo (Parte 1) appeared first on Xenioo.

]]>
La naturale evoluzione dei chatbot conversazionali è con tutta probabilità la trasformazioni verso veri e propri assistenti virtuali vocali.

Amazon Alexa, Google Assistant, Duplex ed altre tecnologie emergenti, si integreranno perfettamente all’interno dei nostri dispositivi, consentendo esperienze di conversazione sempre più simili a quelle di solito affrontate con persone reali.

Il “business della voce” è un trend in crescita e molte grosse realtà, a partire da Bezos di Amazon, stanno investendo molto nel mercato degli applicativi vocali.

Inoltre molti nostri clienti ci hanno chiesto di rendere disponibile questo tipo di integrazione all’interno di Xenioo.

Non potevamo non accettare questa sfida.

Con Xenioo è ora possibile progettare, costruire e pubblicare una Skill Alexa semplicemente creando un chatbot Xenioo come faresti per qualsiasi dei canali già disponibili.

In questo articolo andremo a vedere nel dettaglio esattamente come costruire una Skill Alexa capace di riprodurre la tua musica personale indipendentemente da dove si trova il tuo dispositivo.

Fantastico, vero? Continua a leggere.

Se ti interessa scoprire come costruire una Action Google Assistant, Xenioo supporta anche questo. Dettagli nel nostro articolo dedicato.

Creaiamo il Developer Account di Alexa

Ogni Skill di Alexa deve essere creata all’interno di un account di sviluppatore Alexa (Alexa Development Account).

La creazione di questo account è gratuita e puoi utilizzare, se preferisci, lo stesso account che già utilizzi per gli acquisti su Amazon.

Ogni Skill in stato di test viene automaticamente distribuita su tutti i dispositivi associati al tuo account di sviluppo. E’ quindi una buona idea utilizzare lo stesso account che stai utilizzando sui tuoi dispositivi.

Tieni presente che se desideri aggiornare lo stato del tuo account su ogni dispositivo, sarà necessario procedere prima alla de-registrazione e successivamente alla registrazione, come spiegato nella documentazione tecnica di Alexa.

Dopo che l’account di sviluppo è stato impostato, sei pronto per creare la tua prima Skill Alexa.

Esistono una moltitudine di templates che ti permettono di creare Skills con uno sforzo minimo e molto rapidamente, ma con il limite di lasciare poco controllo su quelle che la Skill potrà fare.

Per il nostro esempio andremo a selezionare una Skill completamente personalizzata (“Custom”).

Successivamente, andremo a selezionare che intendiamo cominciare da zero (“Start from scratch”), proseguendo nella sezione Builder.

Dal momento che vogliamo costruire una Skill che faccia streaming audio, andremo a cliccare sul bottone “Interfaces” per poi abilitare l’interfaccia “Audio Player”.

Perfetto! Per ora non ci serve più niente dal pannello sviluppatore di Alexa. Possiamo quindi procedere nella configurazione del servizio di streaming.

Configuriamo il servizio di Streaming

Nel nostro esempio non vogliamo usare un servizio di streaming generico, come tanti disponibili online.

Ci interessa invece ascoltare musica dalla nostra collezione musicale che abbiamo pazientemente creato e curato nel corso degli anni e che si trova depositata su uno o più dischi del nosto network casalingo.

Per fare tutto questo, dobbiamo integrare Xenioo con un altro eccezionale servizio: Epicentric.

Epicentric è un servizio online che ti consente di caricare la tua musica personale per ascoltarla ovunque ti trovi.

Inoltre ti permette di creare playlist multiple ed avanzata, basate su mappe mentali e che verranno automaticamente gestite dalla intelligenza artificiale della piattaforma.

Esattamente come abbiamo fatto per l’account Alexa, dovremo procedere a creare un account anche su Epicentric. E’ gratuito e dopo una veloce introduzione per capire come utilizzarlo, saremo pronti per procedere con la creazione della nostra Skill.

La conversazione con Alexa

Alexa è costruito attorno al concetto di interazione conversazionale libera: la conversazione tra l’utente ed Alexa (e quindi il tuo chatbot) non può avere veri flussi predefiniti.

Infatti un utente potrebbe dire qualsiasi cosa, in qualsiasi momento e con diversi livelli di informazioni presenti.

Vediamo un esempio qui sotto:

Seppure estramente semplice, l’esempio di conversazione sopra riportato rappresenta il perfetto scambio utente – Alexa: l’utente esprime esattamente la sua richiesta e la Skill risponde di conseguenza.

Purtroppo non possiamo aspettarci che tutte le conversazioni siano cosi lineari e precise. Anzi, molto spesso il tipo di conversazione che avvine è più simile all’esempio sottostante:

Come puoi vedere, l’utente non stà dando tutte le informazioni alla prima interazione, e questo porta la Skill a dover riformulare alcune domande per poter arrivare ad ottenere tutte le informazioni necessarie a completare la richiesta.

Le informazioni richieste dalla Skill sono chiamate Slots e possono essere paragonate a quelle che in Xenioo sono le Entità NLP e Variabili durante un conversazione standard con un chatbot.

Creiamo il chatbot vocale

Con le informazioni che abbiamo appreso nel paragrafo precedente, possiamo ora proseguire finalmente nella creazione del nostro chatbot per Alexa.

Non sarà molto diverso dalla creazione di un chatbot conversazionale standard: dal momento che, come abbiamo detto precedentemente, non ci sarà un vero e proprio flusso guidato, possiamo andare direttamente nella sezione AI per configurare tutta la NLP necessario per guidare la nostra Skill.

All’interno della sezione AI di Xenioo, andremo a definire tutti gli intenti e le espressioni che saranno usate per creare il modello conversazionale della Skill, definendo allo stesso tempo come verrà eseguito il flusso.

In base al tipo di Skill che si sta creando, potrebbe essere necessario implementare degli specifici intenti.

Per la nostra Skill di streaming, per esempio, è necessario implementare almeno due tipi di intenti specifici: Pause e Resume.

Oltre questi due, obbligatori, potrai poi creare quanti più intenti ti servono per far gestire la conversazione ad Alexa nel modo desiderato.

Qualsiasi cosa venga detto ad Alexa verrà processato dagli intenti definiti e passato a Xenioo, che a sua volta redirigerà il flusso alle interazioni configurate.

Lo schema sottostante illustra cosa effettivamente accade dietro le quinte:

Xenioo utilizza l’ Alexa SSML in ogni testo che è spedito indietro all’utente. Sei quindi libero di poter usare ogni interruzione, sospiro o qualsiasi altro tag supportato per ottenere specifici effetti vocali.

Una volta che hai creato i tuoi intenti, ricordati di collegarli alle interazioni del chatbot. Infatti qualsiasi cosa detta dall’utente attiverà uno degli intenti esistenti e solo gli intenti che sono collegati ad una interazione esistente saranno pubblicati nella Skill.

Inoltre, se vuoi implementare o sovrascrivere uno degli intenti predefiniti in Alexa (come per esempio il Resume oppure Pause), ricorda di specificare la chiave Alexa nel campo Key dell’intento, come mostrato nell’immagine sottostante.

Pubblichiamo il chabot in una Skill Alexa

Siamo arrivati al punto in cui finalmente possiamo pubblicare il nostro chatbot nella nostra prima Skill Alexa e cominciare a fare dei veri test sui dispositivi.

Possiamo farlo come sempre cliccando sul bottone Publish dalla sezione Build del chatbot.

Nella sezione dei canali, selezioniamo Alexa e clicchiamo sul bottone di login con logo Amazon. Seguite la procedura che vi porterà a connettere il vostro profilo Amazon con Xenioo: è in questo modo che Xenioo potrà pubblicare la vostra Skill per voi.

Dopo aver confermato il collegamento tra gli account ed i permessi richiesti, possiamo continuare con la configurazione della pubblicazione della Skill.

Nella sezione Deploy dovrete selezionare la Skill da pubblicare, la localizzazione ed il testo per l’attivazione.

Il testo di attivazione sarà usato da Alexa per attivare la tua skill, quindi cerca di utilizzare una parola o una frase che isa semplice da ripetere e che non possa andare in conflitto che le frasi di default di Alexa.

La configurazione più importante in questa sezione è l’ Hook Url: copiate questo URL ed incollatelo nella configurazione dell’endpoint nel pannello di Alexa per skill che si sta configurando.

Tieni presente che Xenioo aggiornerà unicamente l’ Invocation Model della Skill, dal momenteo che è ciò che permette la gestione della conversazione. Xenioo non andrà mai a sovrascrivere nessun settaggio configurato dal pannello nativo di configurazione della Skill Alexa.

Xenioo è il “middleware back-end” perfetto e la piattaforma basata su intelligenza artificiale ideale per progettare anche le skill più compesse. E lo fa decisamente bene.

Una volta che tutto è stato configurato correttamente, cliccate Publish e la Skill sarà pronta per essere testata dal dispositivo.

Nel nostro prossimo articolo, vedremo come funzionano nel dettaglio lo Streaming, Account Linking (collegamento degli account) e Device State Management (gestione dello stato del dispositivo).

The post Come creare una Skill Alexa con Xenioo (Parte 1) appeared first on Xenioo.

]]>
/come-creare-una-skill-alexa-con-xenioo-parte-1/feed/ 0
Using NLP to Fuel Your Chatbot AI and boost conversational experience /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). In this post we are going to explore these new features and see real life ...

Read MoreUsing NLP to Fuel Your Chatbot AI and boost conversational experience

The post Using NLP to Fuel Your Chatbot AI and boost conversational experience 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).

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, you could control how your chatbot reacted to triggered NLP intents by adding NLP detection actions 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?

chatbot ai flow

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 when it crosses the Confidence threshold

Chatbot AI 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.

chatbot ai immediate reply

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. You can also 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 of Xenioo?

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

The post Using NLP to Fuel Your Chatbot AI and boost conversational experience appeared first on Xenioo.

]]>
/using-nlp-to-fuel-your-chatbot-ai/feed/ 0