NLP Basic Terminology

Before continuing with the reading, we suggest taking a few minutes to understand the basics of NLP terminology that we will be using in the next articles.

  • Intent: understanding of what the user wants. There are numerous phrases, sentences, and expressions that have the same meaning. Intents are a way of categorizing meanings for a string of words.

  • Entities: entities are building blocks of intent-based systems that allow you to extract and categorize the information from a string of text or phrases.

  • Fallback Intent: a fallback Intent is just a catch-all that most NLP systems use when they aren’t able to understand the actual intent of the user. Having a fallback intent serves as a bit of a safety net in the case that your bot is not yet trained to respond to certain phrases or if the user enters some unintelligible or non-intuitive input.

  • Training Data: data set used to train the NLP algorithm to better understand entities, intent, and context. Training data is often labeled and organized and can be collected using a bot that allows the user to ask an open-ended question, like “Ask me anything!” Training data isn’t always voluminous and so we will often rely on the NLP platforms in place to fill in the gaps in data.

  • Test Data: a separate set of data that was not previously used as a training phase, which is helpful to evaluate the accuracy of your NLP algorithm.

Let's see some examples that we can find, for example when clients ask about your product or service's prices.
First, we identify expressions, phrases, and questions which are made by users in natural language:

  • How much does it cost?
  • Plan prices
  • What is the price?
  • I would like to know the price
  • Can you tell me the price of this product?

From that expressions, we can derive a category that we call Intent. Following the examples above, the intent that conform to the goal/objective for those expressions could be:

  • Pricing

In some cases, you will need to make your intent more specific. Suppose that you offer a product composed of different elements, so you will need to categorize those elements into entities for providing accurate responses. For example, in a flower shop, your entities could be:

  • Plant Entity (Aloe, Cactus, Ficus, etc.)
  • Pot Entity (Plastic, Basket, Ceramic, etc.)
  • Soil Entity (Sand, Woodchip, Soil, etc.)

So, having identified the intent and entities in an NLP algorithm connected to your bot, it will be able to respond, for example, to a customer interested to know the cost of an Aloe plant in a ceramic pot with woodchip soil.

Finally, we have to support a way to identify and answer unintelligible expressions and actual questions for those the bot is not trained on yet. We call this the Fallback Intent.

For example, suppose that your bot was trained to respond to general questions about prices, products, and other items related to your company but your clients asked/wrote something like this:

  • Who is the best football player in the US?
  • How tall is the Liberty Statue?
  • Ohmmm
  • 4aTYs1331d

In this case, for providing an answer to the first two unknown questions and also the unintelligible expressions, your Fallback Intent could be:

  • Let me connect you with an agent for answering your question! Just need some quick information

Usually, after showing the answer for the Fallback Intent, a bot will ask for the user’s contact information as the email address so an agent of your team can respond.