Natural Language Processing in Qlik Sense

crunchbot,qlik,qlik sense, ai, data

Natural Language Processing is een technologie die steeds meer wordt gebruikt in moderne softwareoplossingen voor Business Intelligence (BI) en Analytics. Marktleiders op het gebied van BI software zoals Microsoft en Qlik hebben de laatste paar jaar flink geïnvesteerd in het ontwikkelen van toepassingen op deze technologie. In dit blog sta ik stil bij 2 van dit soort ontwikkelingen binnen Qlik Sense.

Wat is NLP?

Natural Language Processing (NLP) is een tak van kunstmatige intelligentie die computerprogramma’s in staat stelt op menselijk taal (tekst en spraak) te verwerken, interpreteren en analyseren. De NLP technologie is verre van nieuw. De eerste experimenten op dit terrein werden al in de jaren ’50 van de vorige eeuw gestart en in 1970 werden de eerste algoritmes voor het vertalen van tekst ontwikkeld. In het dagelijks leven zijn wij als consumenten ook al lang gewend om met dit soort algoritmes te werken, omdat bijvoorbeeld webbrowsers, smartphones en slimme speakers er gebruik van maken. Hoewel NLP al lang bestaat, zien we laatste jaren pas dat deze technologie nieuwe mogelijkheden biedt om data toegankelijker te maken voor zakelijke gebruikers. De verwachting is dat deze trend de komende tijd zal doorzetten en dat de adoptie van BI hierdoor verder kan toenemen.

Insight Advisor

De Insight Advisor is de slimme assistent van Qlik Sense, die je kan helpen bij het verkennen van een dataset, of bij het ontwikkelen van nieuwe visualisaties voor een dashboard. Deze tool is standaard beschikbaar in Qlik Sense sinds de September 2018 release. De Insight Advisor kan visualisaties voor een dashboard voorstellen en bepaalt zelf welk type visualisatie het beste past bij de data-elementen die de gebruiker op dat moment selecteert.

nlp, natural language processing, qlik, qlik sense, qlik search, qlik sense nlp, qlik sense insight advisorSinds de February 2020 release van Qlik Sense Enterprise for Windows is de Insight Advisor verbeterend door de toevoeging van Natural Language Search. Dit biedt nieuwe self-service mogelijkheden omdat gebruikers vragen kunnen stellen over hun data in menselijke taal. Deze nieuwe functie was al wat langer beschikbaar in de cloudversie van Qlik Sense, maar is nu dus ook beschikbaar voor het Windows platform. Hiermee is het niet meer nodig om dimensies en meetwaarden te selecteren en kun je simpelweg een vraag invoeren in de zoekbalk. De zoekfunctie is ook op een aantal punten verbeterd die hieronder uitgelicht worden.

Auto complete

In de zoekbalk van de Insight Advisor kun je vragen stellen over dimensies, dimensiewaarden en meetwaarden die beschikbaar zijn in het dashboard dat op dat moment is geopend. Terwijl je een vraag invoert worden er automatisch zoekresultaten afgebeeld. Je kunt hierdoor de resultaten eenvoudig selecteren uit een lijst, zonder dat je de namen handmatig hoeft in te voeren. Dit werkt snel en is erg handig, omdat op deze manier de kans op spelfouten in de vragen wordt beperkt.

Synoniemen

De Insight Advisor herkent de namen van data-elementen op basis van de labels van velden en master items (dimensies en meetwaarden). In de meeste gevallen herkent de zoekfunctie het meervoud van de namen van de dimensies, bijvoorbeeld customer en customers. Ontwikkelaars van een dashboard kunnen de zoekfunctie verbeteren door synoniemen vast te leggen als tags in master items. Zo kun je bijvoorbeeld voor een meetwaarde met de naam ‘sales’ de tag ‘alt:revenue’ aanmaken. Hierdoor zal de Insight Advisor een vraag over de meetwaarde ‘revenue’ herkennen als ‘sales’. Synoniemen kunnen ook gebruikt worden om namen van master items in verschillende talen te kunnen zoeken. Sommige termen begrijpt de Insight Advisor alleen in de Engelse taal, zoals trend, compare, rank, top, bottom, before en after.

Filters

In een zoekvraag kun je drie soorten filters instellen: dimensiefilters, meetwaardefilters en filters voor relatieve tijd.
• Bij een dimensiefilter refereer je in de vraag naar een specifieke dimensiewaarde, om deze te selecteren, of juist uit te sluiten.
• Bij een meetwaardefilter geef je in de vraag een condities op. Deze conditie wordt door de query engine van Qlik Sense gebruikt om te valideren of de geaggregeerde waarden voldoen aan de conditie.
• Bij een filter voor relatieve tijd kun je specifieke termen gebruiken, zoals last year en this year, waarmee een relatieve tijdsperiode wordt geselecteerd. De relatieve tijdsperiodes worden altijd berekend t.o.v. de systeemdatum.
De verschillende type filters kunnen in een vraag gecombineerd worden. Hieronder staan enkele voorbeelden van vragen met filters per type.

Type filter Vraag
Dimensie – Show me customers in Germany and France
– Show me customers where employee city is Amsterdam
– What is the revenue for all products excluding shovels
Meetwaarde – Show customers where sales in 2019 is greater than 1000000
– How much revenue comes from customers with age between 25 and 35
– Show products that have no sales in 2019
Relatieve tijd – How many orders did we have last month
– How many stores did we have before 2019
– Show me sales by year this year vs last year

Visualisaties

De Insight Advisor bepaalt zelf welk visualisatie het beste past bij de vraag die wordt gesteld. Het type visualisatie dat wordt voorgesteld is afhankelijk van de vraagstelling en de combinatie van dimensies en meetwaarden die in de vraag worden herkend. Hieronder staan enkele voorbeelden van vragen en daarnaast het type visualisatie dat de Insight Advisor zal voorstellen;

Vraag Antwoord
Show me a list of customers in Amsterdam Tabel
Show me sales by country Kaart
Show me sales in 2019 KPI
Show me sales vs gross margin for product line Spreidingsgrafiek
Show me sales trend Lijngrafiek
Show me sales over time after 2018 Lijngrafiek
Show me top customers with sales in North Carolina
(zie afbeelding hieronder)
Staafgrafiek

 

nlp, natural language processing, qlik, qlik sense, qlik search, qlik sense nlp, qlik sense insight advisor

? Tip
Wist je dat je de Insight Advisor kunt uitschakelen per dashboard? Dit is mogelijk en kan in sommige gevallen best handig zijn omdat lang niet elk dashboard zich leent voor self-service toepassingen. Als ontwikkelaar kun je in het laadscript van een dashboard deze functionaliteit uitschakelen met de opdracht “SET DISABLE_INSIGHTS = 1;”. Dit zorgt ervoor dat de tool wordt verborgen in de gebruikersinterface als het dashboard wordt geopend in de Hub.

Qlik Insight Bot

Vorig jaar heeft Qlik een chatbot geïntroduceerd met de naam Qlik Insight Bot. De Insight Bot is een aanvullende module voor Qlik Sense Enterprise for Windows, waarmee gebruikers via een chat-interface op een snelle en eenvoudige manier inzichten kunnen krijgen door vragen te stellen over hun data. Iedereen die gewend is om te chatten met bijvoorbeeld WhatsApp kan op deze manier met Qlik Sense werken.

qlik insight bot,qlik, chatbot, data chatbot, qlik chatbotOp het gebied van NLP is de Insight Bot een stuk geavanceerder (en daardoor slimmer) dan de Insight Advisor. Naast het begrijpen van vragen in menselijke taal kan de chatbot ook antwoord geven in menselijk taal. Hierdoor is het net alsof je een conversatie voert met een echt persoon. De antwoorden kunnen visualisaties en tekst bevatten. In een antwoord worden in veel gevallen hints gegeven die uitnodigen tot het stellen van vervolgvragen. De Insight Bot onthoudt de context van een vraag en gebruikt dit bij de beantwoording van een vervolgvraag. Als je bijvoorbeeld de vraag stelt “what is total sales in current year”, kun je daarna een filter instellen met de vervolgvraag “in Canada” en hoef je niet opnieuw naar de meetwaarde ‘sales’ en de periode ‘current year’ te vragen. De Insight Bot kan overigens meer dan alleen antwoord geven op een vraag. Met de opdracht “turn on advanced insights” zal de chatbot het antwoord op een vraag aanvullen met nieuwe verrassende inzichten, in de context van de vraag, door op zoek te gaan naar verbanden en relaties in de data.

Een ander verschil met de Insight Advisor is dat de Insight Bot niet gebonden is aan een specifiek dashboard. De Insight Bot kan vragen beantwoorden over dimensies en meetwaarden uit verschillende dashboards en kan zelf beslissen in welk dashboard de informatie moet worden opgezocht om een vraag te beantwoorden. Onder elk antwoord staat in welk dashboard de data is gevonden en met behulp van een link onder het antwoord kan het betreffende dashboard direct geopend worden in de Qlik Sense Hub.

Naast het openen via de Hub in Qlik Sense kun je de Bot ook integreren in populaire communicatieplatforms zoals Microsoft Teams, Salesforce en Slack. Dit betekent dat het niet meer nodig is om in te loggen in Qlik Sense, maar dat je bijvoorbeeld een conversatie met de Insight Bot kunt starten vanuit de mobiele app van MS Teams. Meer informatie over de mogelijkheden van Qlik Insight Bot lees je in dit blog.

Conclusie

De nieuwe NLP-toepassingen in Qlik Sense maken het platform weer een stukje slimmer dan het al was. Ze stellen gebruikers in staat om sneller en makkelijker inzichten op te doen op basis van hun data. Daarnaast wordt data voor een grotere gebruikersgroep toegankelijk, omdat de intuïtieve interface van dit soort toepassingen de drempel verlaagd om met BI-applicaties te werken. De nabije toekomst zal uitwijzen of dit in de praktijk ook echt gaat leiden tot meer adoptie.

Meer weten?

Wil je meer weten over de Qlik Insight Bot? Bekijk dan de uitgebreide product tour, neem contact op of plan een afspraak in via de online kalender om de mogelijkheden te bespreken.

BEKIJK DE VIDEO  CONTACT OPNEMEN    (DIGITALE) AFSPRAAK

Geschreven door Steven Samuels Brusse,
Senior Qlik consultant