Support | Ochatbot

Ochatbot – AI Concepts

Let’s explain a few AI concepts to enable you to build better bots:

Scripted AI

Scripted AI harnesses the power of scripted intent-based NLP (Natural Language Processing) AI, making it ideal for businesses in regulated industries. By leveraging predefined scripts and workflows, you can create seamless and engaging conversational experiences for your customers while still maintaining control over the AI chatbot’s responses.

Generative AI

Leveraging the power of generative and scripted AI, the Generative AI plan is ideal for businesses seeking to provide exceptional customer service experiences or drive online sales. The ability to generate personalized and relevant responses empowers your chatbot to cater to individual needs and preferences.

Intents

In general, intents are usually the answer to a question that is asked. Intents consist of listeners and actions. Listeners are the word that the chatbot is looking for in order to activate the action that is linked to that listener. The action can be text, image/video, or a button; the button can go to a webpage, another question, or another intent.

Ochatbot Brain

Regular intents are only looking for the listener inside the question being asked. The intents inside of the Ochatbot Brain are looking for this listener at all times. You have to be careful with the listeners because they are easy to understand, but hard to master, and could cause some errors if used incorrectly. You want your Ochatbot Brain intents to be general questions and link to more specific questions. At the very least it is recommended that you put your contact info into the Ochatbot Brain. That way if the user doesn’t understand something or needs help, they can ask the chatbot for contact info to directly contact you.

Intents in Questions

Intents inside questions are only listening when the question that they are in is being asked. Intents inside the question are important because that’s how you answer that question. The intent usually has a link attached to a button that goes to a webpage or it has text that answers the user’s questions.

Listeners

A listener is the word or words that the intent is looking for to activate the response. You need to be careful with listeners because they are really easy to screw up. When you put in a listener it looks anywhere for that word, even inside other words. For example, if you put in a listener such as “hat,” the chatbot will give the response for “hat,” but that intent will also pop up if you use the word “what” because “hat” is contained inside the word “what.” There is an easy way to avoid this by using advanced listeners, but you do need to be mindful of the words that you use.

Advanced Listeners

Use a form of code called RegEx to help you adjust the listener so that it works the way you want it to. There are several characters that can adjust your listener using regex –  |, \b\b, ^, and ^$.

The | or pipe allows you to add multiple listeners and it will listen to all listeners you add. For example, if you enter apple|pie as a listener it’s going to be to listener for both apple and pie, and if it sees either of those words, that listener will be activated.

The \b\b allows you to put anything in between the \b and \b, and anything in between the \b’s with be listened for verbatim. For example, if you enter “\bI like pizza\b” it will only listen for the exact phrase I like pizza. It won’t work if something like “pizza is good” is typed into the chatbot because that is not the exact phrasing. The \b\b is really important to help differentiate from other intents.

Another one is ^ or caret. When you put the caret in front of a word, it makes it so that it has to start with the word that was put in after the caret. For example, if you put in ^banana and someone types in “I want a banana,” the chatbot would not provide the “banana” response because the user didn’t start with the word “banana.”

The last modifier is ^$. It’s similar to the \b\b but it is more restrictive. The difference is if you used \b\b\, the word inside \b\b could be used in a sentence. If the same word was typed but used ^$, then it would have to match exactly what you typed; it couldn’t match a phrase, just the word alone. For example, if you type ^tree$ then the user could only type “tree” and nothing else. This isn’t commonly used because you can’t be sure what the user is going to type exactly, so it’s better to use \b\b.

An example of an intent listening for two words that do not occur next to each other is:

(?=.*\bword1\b)(?=.*\bword2\b).*

Knowing when to use an advanced listener can be difficult. First, is your listener one word or multiple words? If it’s multiple words, then it’s an advanced listener. Try to stay away from using phrases as much as possible, but in some cases you do have to use small phrases. Second, think about other ways that the word you are using as a listener could be used in a way not intended. If you can’t think of other ways, then use a regular listener. There are cases where you have to use advanced listeners, so be ready for those situations.

Actions

The action can do two things. It can either branch to another question or it can give a reply. Branching to another question is important so that you can have a listener for that question. Otherwise you could only get to that question if you click the button. If someone typed it out then it would give an error.

The other action is a reply. There are two ways to reply. You can reply with text or with an attachment. A regular reply can just have some text, but it can also have a button. The button can go to a link, a question, or another intent when you click on it. This can be really helpful on certain pages on a website. Replying with an attachment is helpful if you want to show an example of what something looks like or you want the user to watch a video.

Order

The ordering of intents is important because the order prioritizes the intents. You want to have higher prioritized intents on the top. This is important because if two listeners are used in the same sentence, the intent on top is prioritized higher, and it will be the intent that activates.

Fallbacks

Fallbacks help Ochatbot handle questions or responses it isn’t expecting. The default response is preset, but it can be easily changed. Remember that you can also set up fallbacks specific to intents, but that ‘s a different process.

To edit the global fallback, first look in the Global Intents tab. At the bottom of the right-hand side, you’ll see an intent labeled “fallback.” Click the gear icon and a popup will appear. This is where you can customize how the bot answers the user when it doesn’t know how to respond.

Buttons

Buttons can be an important tool when creating a chatbot. They let users respond without typing and provide clues as to what the user might type. Buttons can be added in two places, within questions and within intents.

Back Buttons

It’s also good practice to have a “Back Button” at the bottom of your options to allow for easier navigation. To make a back button, just create a button with the text “Back” and link it to the question or intent that the user will have navigated from to get to the current question or intent. This allows the user to easily navigate and reinforces the concept of planning your chatbot.

Frequently Asked Questions

Why are there fallback intents under the Questions tab and the Global Intents tab?

The fallback intent under the Global Intents tab is always listening throughout the bot (i.e. globally). This means whenever the bot does not understand what the user inputs, no matter where the conversation is happening, it will reply with the global fallback intent. The fallback intent under the Questions tab is specific only to THAT question. This means that when a user is presented with the specific question and they hit the fallback, they will see that specific fallback for the specific question.

We Are Here to Help

Here are the different ways you can contact support:

  • When logged in, click the "Contact Support" button. Your information will be autopopulated so just type in your question or comment.
  • To create a ticket when not logged in email: [email protected]
  • Call us during business hours: 8 a.m.-5 p.m. MST 800-700-8077.
  • If outside the US: send an email to [email protected] and we will set up a meeting over Zoom.