Azure has a ton of different services that all work well together. Two common services that are used are LUIS and QnA Maker if you are looking to utilize a service to understand natural language processing while also being able to respond to user queries. In this post, I’m going to break down the differences between these two services.
Cloud providers have changed the game in terms of being able to spin up servers and services without a lot of infrastructure and hardware. Microsoft Azure cloud services is one of those cloud providers that have opened the doors to being able to allow businesses and their software developers to start innovating without the need to invest in the underlying foundational concepts. LUIS and QnA Maker are services from Azure that can be used to spin up chatbots, virtual agents, social media apps, and speech-enabled desktop applications.
Introduction to Microsoft Azure LUIS and QnA Maker
About Microsoft Azure LUIS
Microsoft Azure Language Understanding Service (LUIS) is a machine learning-based service that provides the ability to create natural language into applications, bots, and Internet of Things (IoT) devices that also allows the ability to create custom models that can continually improve over time.
About Microsoft Azure QnA Maker
Microsoft Azure QnA Maker is a cloud knowledge base that allows existing data sources that are semi-structured to be used to help answer user questions in a conversational format while continually learning and improving based on user behavior.
Difference Between LUIS and QnA Maker
The difference between Language Understanding Service (LUIS) and QnA Maker is that LUIS interprets the user’s intent and provides the detailed nuances of the conversation to enable developers to create programs based on the information whereas QnA Maker provides a cloud knowledge based that answers common frequently asked questions and continually learns from user responses.
Similarities Between LUIS and QnA Maker
Both LUIS and QnA Maker are part of the Azure Cloud Platform and use machine learning to try to interpret user goals. The result of both platforms’ services is to either relay information about the user’s intent or provide the user the information that was requested.
All About Microsoft Azure Language Understanding (LUIS)
LUIS is a cloud-based conversational artificial intelligence service that allows the prediction of an overall meaning (intent) of a conversation that can then be processed to pull out relevant, detailed information that can be categorized.
The three main phases of using LUIS in a chatbot include:
- The design and build of a model
- Receiving the query prediction (and then doing something with it)
- Improving the model prediction over time
How to Use LUIS in an Application
LUIS provides a score (a percentage) that allows you to understand how closely an utterance matches an intent. As an example, the percentage can then be used to create a decision tree on what the application or bot will do next in order to guide the user. This could be the next step after the inquiry or a confusion dialogue to help disambiguate what the user was asking about.
Cost of LUIS Service
Using the free web/container, LUIS is free up to 10,000 transactions per month. Check out LUIS pricing for full details including the standard web container tier.
All About Microsoft Azure QnA Maker
QnA Maker is an API service in the cloud that allows you to create question and answer structures in a conversational way, allowing knowledge bases to be created to help answer user questions and continually learns from how users respond.
By providing content that is somewhat structured, you’ll be able to use it to help answer user common questions all the while adding and rejecting alternative ways users ask for an answer in a similar way.
QnA Maker stands for “Question and Answer” Maker.
How to Use QnA Maker in an Application
If you have an existing knowledge base, QnA Maker can ingest the content and pull it into your knowledge base as part of the initial ingestion (data sources supported for QnA Maker). In addition, multi-turn conversations can be built inside the QnA Maker that allows conversations to continue with more than just a single response.
Cost of QnA Maker Management
When a QnA Maker resource is created, the data and runtime is hosted in an Azure subscription, which is enabled using Azure App Service and Cognitive Search. Currently, up to 50,000 transactions per month with up to 1 MB per document and up to 100 transactions per minute are free. See this link for pricing details for QnA Maker.
Using Azure LUIS and QnA Maker Together
LUIS and QnA Maker can be used with Azure Bot Service to develop a sophisticated bot. Within a few minutes, using out of the box templates along with a few services like LUIS, QnA Maker, and Search can allow a bot to answer some common questions for a user base as well as provide specific skills that a bot can complete.
Azure Resource Comparison
When planning on using either of these services, your organization will need to account and plan for the resources each of these will use.
LUIS provides the ability to use three types of Azure resources (and one non-Azure resource);
- Authoring resource – this resource allows you to create, manage, train, test, and publish applications
- Prediction resource – this resource allows you to query prediction endpoint requests
- Cognitive Services multi-service resource key – this is a query prediction endpoint request that is not only shared by LUIS, but other cognitive services
- Starter/Trial resource (non-Azure resource) – this resource allows you to create, manage, train, test, and publish applications
When using QnA Maker, these are the resources that will be used:
- QnA Maker resource – this allows for the authorship and query prediction
- Cognitive Search resource – this allows for data storage and search features
- App Service resource and App Plan Service resource – this allows for query prediction endpoint
- Application Insights resource – this allows query prediction teletry of the service
Real Life Example of Chatbot Using LUIS and QnA Maker
My team owned proving out the use case for Cognitive Services and we had a chatbot as a product. My team utilized Azure Bot Service with Bot Framework (both SDK v3 and v4), LUIS, and QnA Maker. For one of our chatbot “skills”, we had stakeholders who managed their user guides and knowledge bases in SharePoint.
Every time we had a stakeholder ready, we were able to roll out a “new skill” allowing our user base to feel as though the bot was getting smarter. Our team also created skills around looking up information in active directory, pulling information about our product catalog, and information about our customers that allowed our internal employees to find information quickly with natural language conversations.
What we learned from being early adopters of these services is that we would pay a heavy technical debt when the platforms upgraded versions. For example, from SDK v3 to v4 of the Bot Framework and the LUIS upgrade, we had to replan our roadmap to account for the version upgrades that would allow us to deprecate a gap that has now been accounted for in the new version.
That’s what happens when you are on the early part of the adoption curve. However, the data that we were able to gather initially helped us form the basis of new content roadmaps and features to add into the bot, giving us early planning for new strategies moving forward.
Summary of Comparing LUIS and QnA Maker on Microsoft Azure
Both are great tools that help form an idea of a user’s goal and request. While LUIS provides the breakdown on a user’s intent to provide developers information to do something with, QnA Maker can provide information based off a knowledge base.
I hope this provides you insight on the differences between these two services that can be used together to help create a sophisticated application founded on machine learning that can continually learn and provide a good user experience.
Other Microsoft Azure Posts You Might Like
If you liked this post on comparing LUIS versus QnA Maker, you might also like these posts: