Requête en langage naturel

Modifié par jhurst le 2021/11/15 09:22

Prérequis

  • Des cubes dans vos portefeuilles récemment rafraîchis

Création de flux via des requêtes en langage naturel

Digdash offre la possibilité de créer des graphiques en quelques clics via des requêtes en langage naturel.

  • Via l’éditeur de tableau de bord
text_query_fr_html_a7f915e890b18ac9.png
 
Éditeur de tableaux de bord > Création de nouveaux graphiques > En langage naturel
text_query_fr_html_a8320d7a08f37973.png
 
Dans la fenêtre qui apparaît, vous pouvez saisir votre requête dans la barre de recherche
text_query_fr_html_40713eb3535f7aa4.png
 
Choisir un graphe dans la liste de résultats présentée (nous allons choisir le premier résultat)
text_query_fr_html_54d00d5426e9da23.png
 
Et enregistrer dans le portefeuille courant le graphe choisi.
text_query_fr_html_a2e6123cb377f8d5.png
 
Donner un nom à votre flux à créer
text_query_fr_html_ec2aa8b478645502.png
 
Le nouveau flux sera rajouté à votre éditeur de tableau de bord et vous trouverez bien le flux fraîchement créé dans la liste des flux
  • Via le tableau de bord

Il est également possible de rajouter dans votre tableau de bord final un élément « Requête sur les données »  pour pouvoir produire des flux à la volée.

text_query_fr_html_593b9623abdb5a4a.png
 
Éditeur de tableaux de bord > Contenu statique > Éléments > Requête sur les données
text_query_fr_html_22fbbc87dea1438d.png
 
Ajouter l’élément sur votre éditeur de tableau de bord
text_query_fr_html_24adf3840e398ced.png
 

Il se peut lors de vos requêtes que vous filtriez sur les membres d’une dimension ou d’une mesure.

Il est donc conseillé de se munir de l’élément « Éléments filtrés » sur le tableau de bord pour les supprimer pour les prochaines requêtes.

Éditeur de tableaux de bord > Contenu statique > Éléments > Éléments filtrés

text_query_fr_html_274f0444542aba9f.png
 
Vous retrouverez ensuite ces éléments du côté de votre tableau de bord
 

Formation d’une requête en langage naturel

Digdash vous permet de créer des graphes à partir de modèles de données en langage naturel.

Digdash se repose principalement sur des mots-clés pour vous proposer les graphiques les plus pertinents ainsi que sur les noms des colonnes de vos modèles de données.

Une requête sera ainsi basiquement formée de noms de mesures de votre modèle et/ou de noms de dimensions, suivi ou pas de noms de graphiques et/ou d’opérations de tri.

Nous verrons dans la suite de ce document à quel point le choix des termes d’une requête est important.

Résultats d’une requête

text_query_fr_html_dee11487843abaf5.png
 

Capture : Présentation des résultats d’une requête en langage naturel

Les résultats d’une requête vous proposent une liste de graphes classés par pertinence avec un score associé. Plus ce score est grand, plus le graphe associé est considéré comme pertinent. Aussi, le nom du cube associé est mentionné ainsi qu’une description du graphe.

Nous verrons dans la suite de ce document quels sont les critères qui influent sur le calcul du score d’un résultat de requête.

Choix des graphiques

Pour une requête donnée, il vous sera proposé une liste de résultats de différents graphes, dépendants du contenu de la requête.

Il est toutefois possible d’exiger un type de graphe en particulier, dans la mesure où cela reste cohérent (la requête « Coût de communication en courbe » n’est pas cohérente).

Le nombre de membres dans les résultats d’une requête a également une incidence. En effet, dans le cas d’une requête cohérente mais avec un nombre de résultats trop important, il vous sera proposé un graphe adapté au nombre de résultats à afficher.

Voici les mots-clés à utiliser pour le choix des graphes :

Nom des graphiquesMots-clés
Diagramme en secteurs« secteur »
 « camembert »
 « ratio »
Jauge« jauge »
Barre de progression« barre de progression »
Barres d’énergie

« energie »

« consommation »

Indicateur flèche« fleche »
Diagramme en colonnes

« colonne »

« histogramme »

Diagramme en barres« barre »
Carte« carte »
Diagramme scatter

« dispersion »

« correlation »

Diagramme à bulles« bulle »
Diagramme en ligne

« ligne »

« courbe »

Diagramme de surfaces

« zone »

« surface »

Diagramme radar« radar »
Tableau

« tableau »

« Table »

Indicateur« indicateur »
Tableau croisé« tableau croisé »
Tableau OLAP

« OLAP »

« tableau OLAP »

Texte« texte »

Tableau des mots-clés pour le choix d’un graphe

Tri

Il vous est possible d’effectuer des opérations de tri dans vos requêtes via les mots-clés suivants :

TriMots-clésExemples de requêtes
Croissant

« trie » (croissant)

« triee » (croissant)

« ordonne » (croissant)

« ordonnee » (croissant)

« tri » (croissant)

« ordre » (croissant)

« croissant »

« Coûts par région en France en 2006 triés par coût en tableau »

« Coûts par région en France en 2006 triés en tableau »

« Coûts par région en France en 2006 croissants en tableau »

« Coûts par région en France en 2006 triés croissants en tableau »

Décroissant

« trie » (décroissant)

« triee » (décroissant)

« ordonne » (décroissant)

« ordonnee » (décroissant)

« tri » (décroissant)

« ordre » (décroissant)

« décroissant »

« Coûts par région en France en 2006 triés décroissant par coût en tableau »

« Coûts par région en France en 2006 décroissants en tableau »

« Coûts par région en 2006 triés en décroissant en tableau »

Tableau des mots-clés pour le tri

Tendance d’une mesure

Une mesure a une tendance. Elle peut être stable (tendance par défaut), croissante ou décroissante :

 
TendanceSignification
STABLETendance par défaut : Le plus grand est le meilleur
CROISSANTE

Le plus grand est le meilleur

Exemple : pour une marge

DÉCROISSANTE

Le plus petit est le meilleur

Exemple : pour un coût

Tableau des tendances possibles pour une mesure

Vous pouvez éditer la tendance d’une mesure via le Studio Digdash, dans la configuration avancée d’une source de données, dans les propriétés de la mesure.

Définition d’une tendance pour une mesure dans le Studio Digdash

  • Impact de la tendance sur le tri

La tendance a un impact sur le tri. En effet, si le type de tri (croissant ou décroissant) n’est pas explicitement mentionné, celui-ci se basera sur la tendance de la mesure sur laquelle le tri s’effectue. On obtiendra par conséquent un tri décroissant sur une mesure de tendance stable ou croissante et un tri croissant dans le cas d’une mesure de tendance décroissante.

TendanceExemples de requêtesTri obtenu
STABLE

« CA par région trié »

CA est une mesure à tendance stable

Le tri de la mesure CA sur la dimension région sera décroissant
CROISSANTE

« Marge par région triée »

Marge est une mesure à tendance croissante

Le tri de la mesure Marge sur la dimension région sera décroissant
DÉCROISSANTE

« Coût par région trié »

Coût est une mesure à tendance décroissante

Le tri de la mesure Coût sur la dimension région sera croissant

Tableau d’exemples de l’impact de la tendance d’une mesure sur le tri

 

Le(s) pire(s) / le(s) meilleur(s)

Il est possible de connaître les X meilleurs/pires membres des résultats de votre requête en utilisant les mots-clés suivants :

CasMots-clésExemple
Les X meilleurs

« Top »

« meilleur »

« plus grand »

« plus important »

Le meilleur coût en France

Les 5 meilleures marges en 2016

Les 2 plus grands CA en Europe

Top 3 des coûts en France en 2016

Les X pires

« Pire »

« moins bon »

« plus mauvais »

« plus petit »

Le pire coût en France

Les 5 pires marges en 2016

Les 2 plus mauvais CA en Europe

Tableau des mots-clés pour le meilleur et pour le pire

Méthodes d’agrégation

Vous avez la possibilité de définir une fonction d’agrégation pour les mesures de votre requête en spécifiant les mots-clés suivants :

AgrégationMots-clésExemples de requêtes
Somme« somme »« Somme du coût de communication »
Moyenne« moyenne »« Moyenne du coût de communication »
Minimum« min »« Min du coût de communication »
Maximum« max »« Max du coût de communication »

Tableau des mots-clés pour les méthodes d’agrégation

Objectifs

Il est possible d’appliquer des objectifs sur des mesures en mentionnant dans la requête le mot-clé suivant :

Mots-clés
« objectif »

Tableau des mots-clés pour les objectifs

Vous pouvez également mentionner directement le nom des objectifs que vous voulez appliquer

Exemple
Soit un modèle de données avec les colonnes suivantes
DimensionsMesures
DateQualité de communication
Type de ligneCoût de communication (avec objectif « Obj ») 

Exemple 1 : « Coût de communication en jauge avec objectif »

  • Tous les objectifs de toutes les mesures sont appliqués (un seul objectif par mesure).

Exemple 2 : « Coût de communication en jauge avec Obj »

  • L’objectif « Obj » est appliqué sur la mesure associée « Coût de communication ».

Tableau présentant des exemples d’utilisation des objectifs dans une requête

Utilisation des synonymes

La recherche en langage naturel prend en charge les synonymes des termes de vos requêtes.

Création des dictionnaires des synonymes

Pour utiliser des termes synonymes dans vos requêtes, vous devez dans un premier temps importer un dictionnaire des synonymes dans Digdash.

Consulter la documentation « synonyms_dictionary » pour importer un dictionnaire des synonymes dans Digdash.

Activation des dictionnaires des synonymes

Vous devez ensuite vous assurer que l’utilisation des dictionnaires des synonymes est bien activée pour la fonctionnalité « Requête en langage naturel » dans la configuration serveur.

index-configuration.png

configuration-serversettings.png

Arrivé sur la page de la configuration des serveurs, Dans le menu à gauche > Paramètres supplémentaires... >> > sous-menu « Dictionnaires des synonymes » > Case Utiliser les dictionnaires des synonymes pour les requêtes en langage naturel

serversettings-synonymsDictionary.png
Capture : Activation de l’utilisation des dictionnaires des synonymes pour les requêtes en langage naturel

Exemple d’utilisation

Exemple
Soit un modèle de données avec les colonnes suivantes
DimensionsMesures
DateQualité de communication
Type de ligneCoût de communication

Dans ce cas, la requête

« Prix de communication par genre de ligne »

est équivalente à la requête

« Coût de communication par type de ligne »

(« prix » est un synonyme de « coût » et « genre » est synonyme de « type »).

NB : Ceci n’est valable que si votre dictionnaire des synonymes contient ces synonymes.

Tableau présentant un exemple d’utilisation de termes synonymes dans une requête

Score des résultats d’une requête

Les résultats des requêtes sont triés selon leur pertinence et les meilleurs peuvent atteindre le score de 5.

Le score pour un résultat d’une requête sera plus ou moins bon selon plusieurs raisons.

  • Importance des termes de la requête

En effet, un résultat d’une requête sera mieux noté si la requête contient dans ses termes les noms exacts des colonnes de vos modèles de données.

Une requête sera donc considérée comme moins bonne si elle contient dans ses termes des noms partiels de vos colonnes, ou alors des synonymes des noms des colonnes de votre modèle de données.

Exemple
Soit un modèle de données avec les colonnes suivantes
DimensionsMesures
DateQualité de communication
Type de ligneCoût de communication

Requête 1 :

Avec des noms exactes

Requête 2 :

Avec des noms partiels

Requête 3 :

Avec des synonymes

« Coût de communication par type de ligne »« Coût par type »« Prix par genre de ligne »
Avec seulement des termes exacts dans cette requête, les résultats peuvent être bien notés.Avec des termes partiaux dans cette requête, les résultats peuvent être moins bien notés.

« prix » est synonyme de « coût », « genre de ligne » est synonyme de « type de ligne ».

Cette requête est différente de la requête d’origine, les notes seront basses.

Score* : 5/5Score* : 3/5Score* : 2/5
* les scores présentés n’ont qu’un but démonstratif dans ce document

Tableau pour un exemple présentant l’importance des termes d’une requête

  • Importance du type de graphique proposé

La liste des résultats d’une requête propose des graphes plus ou moins pertinents quant à ce qui est attendu. Compte tenu de la nature des termes de la requête, certains graphes seront moins bien classés que certains, d’où un score moins élevé pour ces derniers.