Start course

This course focuses on how to use the LUIS (Language Understanding Intelligent Service) portal to create new LUIS models, how to enrich them with intents, entities, and utterances, and how to train and apply apps. 

Not only will you get theoretical knowledge of LUIS and its components, but you'll also follow along with demonstrations from the LUIS portal to get a practical understanding of how to use the service.

Learning Objectives

  • Obtain a general understanding of what LUIS is and how to interact with it
  • Create LUIS resources
  • Learn about utterances, intents, and entities and how they are used in language understanding at a practical level
  • Learn how to test, train, and publish your LUIS models

Intended Audience

This course is made for developers or architects who would like to know more about how to use the Language Understanding Intelligent Service, LUIS, to improve their chatbot development and experience.


To get the most out of this course, you should have some Azure experience, particularly surrounding subscription and resource groups as well as chatbots and language services. Some developer experience, including familiarity with terms such as REST API and SDKs, would also be beneficial.


You've made it. That's the end of the course. Congratulations. Let's review a few takeaways from this course.

LUIS uses a custom Azure Cognitive Service API that allows you to train computers to understand natural language. The service, as with most custom cognitive services, works as an HTTP endpoint, returns the results in JSON format, and has a dedicated portal, which allows you to interact with the model and train it as you wish.

The development of a LUIS model is done through three main elements. Intents define the action your user is intending to execute. Intents are most often verbs in the sentence. Entities, generally represented by nouns, give more context about the action that you want to perform. For example, if you want to book a flight, you probably want to do so between an origin and a destination, both of which would be entities. And finally, we have utterances, which are the sentences that are sent by your bot users to LUIS for intent and entity extraction.

There are 5 main types of entities on LUIS. Lists, which are fixed sets of normalized words with their synonyms, RegEx, which are identifiable by an alphanumeric pattern, such as flight codes and credit card numbers. Microsoft also makes available some prebuilt entities that are common among all apps, such as phone numbers, email addresses, and person names. You should use them whenever possible, as they are pretrained by Microsoft and readily available.

Then we have Pattern.Any, which tends to focus on the position of the entity in the sentence. This is useful in situations where the name of the entity might be confused with the rest of the sentence, such as when you're working with book names or movie titles.

Finally, we have machine learned, which is Microsoft's recommendation for entities. With this option, you can train LUIS to find the entity by identifying them in your utterances.

Once your model is finalized, you just need to work on a cycle of training, testing, and publishing it. As LUIS works with active learning, these periodic cycles will make your LUIS app smarter on every interaction. 

This concludes our course Adding Language Understanding to Chatbots with LUIS. I am truly honored that you have gone this far in it, and I recommend you continue your journey to learn more about this exciting technology. Thanks for watching.

About the Author

Emilio Melo has been involved in IT projects in over 15 countries, with roles ranging across support, consultancy, teaching, project and department management, and sales—mostly focused on Microsoft software. After 15 years of on-premises experience in infrastructure, data, and collaboration, he became fascinated by Cloud technologies and the incredible transformation potential it brings. His passion outside work is to travel and discover the wonderful things this world has to offer.