Software Architect / Microsoft MVP (AI) and Pluralsight Author

AI, Azure, Chatbots, Cognitive Services, Text Analytics

How To Using Natural Language To Query Documents With Azure Cognitive Services Text Analytics Custom Question Answering

I regularly build chatbots using the Bot Framework SDK and Bot Framework Composer.

Creating conversational logic often involves using the NLP service LUIS and occasional the QnA Maker service as a backup plan when the conversation goes off in a tangent.

The QnA Maker service lets you supply your own documents and will attempt to automatically identify question and answer pairs that can be served in the conversation. This is fine if your document contains structured information but sometimes you have information in documents that aren’t structured but would like to use this.

This is where a new feature that ships with the Text Analytics and QnA Maker can help. It’s called Custom Question Answering and currently in preview mode.

This feature lets you train a QnA Maker knowledge base instance with unstructured data which you can then query using natural language.  You can then serve this resource in a conversational agent such as chatbot.

Key Cognitive Services

The main Cognitive Services needed to provide this functionality include:

  • Cognitive Search
  • QnA Maker Service
  • Text Analytics


The capability is currently free and in preview mode.


I’ve recorded a short demo of this new capability in action. In this demo you’ll see

  • supplying an unstructured PDF that contains information about a fictitious property contract
  • how you can query the document by using natural language
  • information regarding the query being returned


You can watch the 4 minute demo below or on YouTube.

Further Resources

Conversational AI with Azure Cognitive Services (

QnA Maker managed (

QnA Maker Prebuilt API – Azure Cognitive Services | Microsoft Docs

Get the latest content and code from the blog posts!
I respect your privacy. No spam. Ever.

Leave a Reply