Awesome
page_type: sample description: "These samples create a Study Bot chat client using QnA Maker with Chit-chat, LUIS and Bing Spell Check." languages:
- csharp products:
- dotnet
- azure
- azure-cognitive-services urlFragment: study-bot-csharp
Study Bot (C#)
These samples create a Study Bot chat client using QnA Maker (with Chit-chat), LUIS, Speech Service, and Bing Spell Check. Each typed or spoken query into the chat bot will be accompanied by relevant search results in an encyclopedia, Microsoft Academic, and a general Bing search as a study aid. Teachers are able to create their own question and answer FAQs to create a study guide as input for the chat bot if they want it to follow a preferred curriculum. However, demo FAQs are available for this sample, included in the Qna-Luis-Bot_v4/FAQs folder. The focus of this app is to enable a more relevant experience of studying, where students can study a subject with a customized chat bot along with multiple web resources.
Features
-
QnA Maker with LUIS: There are 3 knowledge bases (created from FAQs in qnamaker.ai) that LUIS directs the user to after a query is received in the chat bot. LUIS has utterances created (in luis.ai) that will allow the right knowledge base to be used. For instance, if the user types in "virus", LUIS knows to go to the biology knowledge base to retrieve a definition (answer) to the user's input. The QnA Maker feature Chitchat has been added to the bot v4 as a 4th knowledge base.
-
Speech Service: One option the user has when inputting queries into the bot is the option to speak the query instead of typing it. The user presses the microphone button to speak, then the bot stops recording shortly after the user finishes speaking (no need for a stop button) and a bot response to the user's spoken query appears in the chat window, in addition to what the bot "heard" the user say.
-
Bing Spell Check: This enables the user to make spelling mistakes for pre-defined words. For instance, from the sociology knowledge base, "Apartheid" can be recognized if the user inputs "apartide", "aparteid", "apartaid", etc.
-
The web resources will take a student query, like "virus", and return relevant information about it in an encyclopedia, Microsoft Academic, as well as a general Bing search that returns mostly news and blogs on the query.
Prerequisites
-
Start with the Qna-Luis-Bot (v4 is recommended) sample. Once that is up and running, then build the Study Bot sample. The Study Bot depends on the bot you build in Qna-Luis-Bot. Follow the README files in each sample.
-
Visual Studio 2017+
-
Qna-Luis-Bot_v4 is a C# .NET Standard app
-
Study Bot is a C# UWP app
Resources
- QnA Maker Documentation
- QnA Maker API V4.0
- Add Chit-chat to a QnA Maker knowledge base - we don't use this method of enabling a knowledge base (KB) with Chit-chat in this sample, because we have more than one knowledge base, so we created a stand-alone KB with Chit-chat only. If you only have one KB, then it's preferred to enable it in that knowledge base. For more information on the stand-alone Chit-chat KB, refer to the Qna-Luis-Botv4 sample's README.
- Language Understanding (LUIS) Documentation
- LUIS Programmatic APIs v2.0
- LUIS Endpoint API
- Bing Spell Check API Documentation
- Bing Spell Check API v7 reference
- Azure Bot Service
- Integrating QnA Maker and LUIS bot v4 tutorial, using Dispatch
- Speech Services Documentation