Skip to main content
Announcements
Qlik Connect 2024! Seize endless possibilities! LEARN MORE
Dipankar_Mazumdar
Former Employee
Former Employee

Qlik Sense’s self-service visual analytics platform has been compelling in processing and analyzing complex datasets to derive hidden patterns from the data and helping end-users make faster decisions by presenting interactive visualizations. To add to its charisma, Qlik incorporated Conversational Analytics, the “Insight Advisor” — an AI-powered chatbot platform that provides a faster mechanism for users to ask questions and help them discover insights using Natural language Processing(NLP). 

By blending the robustness of Qlik’s Associative and Cognitive Engine, the Insight Advisor assistant instantly generates relevant answers in the form of narrative texts, visualization charts and recommendations to help users with any level of expertise to maximize their potential when deriving insights. The flexibility to switch between visual and conversational analytics in Qlik Sense seamlessly & without losing context bridges the gap that is often seen with traditional Business Intelligence tools.

Dipankar_Mazumdar_0-1623686203446.png

Ref: https://www.qlik.com/us/products/qlik-sense/ai

 

So, what are we doing new now?

We are bringing the potential of our Cognitive Engine that powers the ‘Insight Advisor’ to the hands of the Developer community with the launch of our new — Natural Language API.

 

Potential Benefits?

  1. Orgs starting out with new automation tools: Develop Qlik Chatbots specific to your company(customized UI) & interact with our cognitive and associative engines.
  2. Orgs already using Chatbots: Integrate the NL API to the existing company chatbots/communication platforms(Slack, Teams) and drive the analytical questions through Qlik Sense.

Before we delve into the steps and technology stack to build up our first Qlik Chatbot, let me give you a brief idea about a couple of things running behind the scenes of this API.

Dipankar_Mazumdar_1-1623686248028.png

 

Generally speaking, Natural Language Processing(NLP) comprises of two essential sub-components — Natural Language Understanding(NLU) and Natural Language Generation(NLG) that help in interpreting and generating human language.

As the name suggests, NLU is responsible for comprehending and transforming any unstructured data into a structured form that the machine can understand. This is particularly important when it comes to ambiguous texts, for example, texts that are similar but have different meanings and changes with respect to the context. NLG, on the other hand, generates natural language in a human-understandable format based on the machine’s response.

So how do these components work together in a ChatBot? 

Well, like I discussed, the intent of a sentence is first deciphered by the NLU and then the NLG analyzes the data and a response in plain-text is provided back. NLP basically takes the role of an engine for the chatbot that helps in this process of understanding and fetching a response for the user. 

Alright, let’s visually understand these things from Qlik’s NL API perspective now.

 

Dipankar_Mazumdar_2-1623686287466.png

As we see, the NLU first reads the sentence — “give me the sales” and then tries to understand the intent and what entity it is. In this case, the entity type is a ‘master_measure’ which aligns with what I have in my Qlik Sense app. The NLG then generates the response in the form of a conversationalResponse property that comprises of the responses type, which in this case is a narrative and the corresponding text “Sales is 23.89M”. This text is returned to the user.

Now that we have an understanding of the things running under the hood, let’s explore the API endpoint and understand a hypothetical user scenario.

API Endpoint: '/api/v1/questions/actions/ask' 

The Natural Language API is a REST-API that allows for asking questions and context aware partial questions against applications enabled for conversational analytics or a specific app to receive Insight Advisor generated responses and suggestions.

The motivation behind this blog is to introduce the API to the Developer community and give the much-needed background for developing chatbots. The technical aspects of the API will be discussed elaborately in our official developer site - https://qlik.dev 

User scenario: A customer wants to build a new Embedded analytics solution that brings in the capabilities of a Qlik Sense Mashup(visualizations from various apps) and would also like to develop and embed a Qlik ChatBot on that same portal. Ultimately what the company wants to achieve is a balance between visual analytics & conversational analytics to allow any level of user(in terms of data literacy) to take full advantage of Qlik’s analytical platform.

API Endpoint: '/api/v1/questions/actions/ask' 

 

Want to build a Qlik ChatBot?

Now that you have an understanding of the technicalities, prerequisites and a hypothetical user scenario where you can possibly apply this new API to, you should be all set to start building your own customized Qlik Bot.

Prerequisites:

  1. Register for a subscription on Qlik Sense SaaS.
  2. Create a new web integration from the Management console.
  3. Create an API key.
  4. Enable apps for Insight Advisor chat.

To make implementation easier for the Developer community, we have created a tutorial required to build your first Qlik Bot using NodeJS in our Official Developer site -  https://qlik.dev . 

Hopefully, the tutorial will serve as a boilerplate for the future development of chatbots using the Natural Language API.

 

Tried out the Natural Language API and developed your own cool Qlik Bots?? Share with us in the comments your GitHub link or tag me on LinkedIn(https://www.linkedin.com/in/dipankar-mazumdar/)

1 Comment