Segments de la Génération de requête couche sémantique

  • Rversion finale: Australia
  • Mis à jour 12 mars 2026
  • 7 minutes de lecture
  • Les segments sont des conditions de filtre prédéfinies qui mappent la terminologie métier à des filtres de requête spécifiques, ce qui aide la couche sémantique à traduire les questions en langage naturel en requêtes de base de données précises.

    Les segments fournissent un contexte non évident pour aider la couche sémantique à sélectionner l’entité, la dimension et les valeurs correctes. Par exemple, dans l’énoncé « Combien y a-t-il de demandes de changement d’urgence ouvertes ? », un segment identifie que « ouvert » signifie « actif = vrai » et « urgence » est un type et non une priorité.

    Lorsqu’un utilisateur pose une question, le moteur de génération de requêtes recherche les segments correspondants et inclut ses filtres dans l’invite LLM afin que le modèle puisse les réutiliser pour construire des requêtes précises.

    Il existe deux types de segments :

    Segments automatisés
    Généré par le système à partir de rapports, de tableaux de bord, de filtres, de modules et de sources d’indicateurs. Les noms sont souvent techniques, par exemple, « Incidents.Open ».
    Segments manuels
    Créé par les administrateurs via la table Configuration manuelle des segments. Les noms sont conviviaux, par exemple « incidents ouverts critiques ». Les segments manuels utilisent un modèle de données à deux tables avec synchronisation automatique et peuvent être fournis avec les applications via des modules d’extension.
    Tableau 1. Comparaison : segments manuels et automatisés
    Segments manuels Segments automatisés
    Créé par Admin, expédié via l’ensemble de mises à jour Généré par le système à partir de rapports, tableaux de bord, filtres, modules
    Qualité du nom Convivial, adapté à la recherche Souvent technique, par exemple, « Incidents.Open »
    Priorité de recherche Augmentation de 5 % par rapport à l’automatisationsn_query_gen.segments.manual_segment_scale_factor (réglable) Notation standard
    Traitement LLM Conserver tous les filtres, sauf s’ils ne sont pas pertinents. Critiquez chaque filtre individuellement
    Étiquette d’invite user_defined_segment automated_segment
    Cycle de vie Entièrement contrôlé par l’administrateur Lié à l’activité/l’utilisation de l’enregistrement source
    Livré avec l’application Oui (ensemble de mises à jour) Non (généré lors de l’exécution)

    Fonctionnement des segments

    Le système utilise Recherche IA pour trouver des segments qui sont sémantiquement similaires à la requête de l’utilisateur. Recherche IA indexe les champs Nom, Description, Entité et Filtre de la table Segments, en les comparant à la requête de l’utilisateur pour produire un sous-ensemble de segments pertinents.

    Dans l’appel LLM, le système transmet le nom, la description, l’entité et les filtres. Le LLM utilise les segments comme blocs de construction pour générer une nouvelle requête. Par exemple, si un utilisateur demande « Incidents non affectés situés à San Diego » et que le segment « Incidents non affectés » est transmis au LLM, le LLM utilise le filtre du segment comme point de départ et joint le filtre d’emplacement « San Diego » au-dessus du segment.

    Tableau 2. Résumé du processus de segment
    Étape Objectif Sortie
    1 : Entrée Capturer la requête en langage naturel de l’utilisateur Texte brut de la requête
    2 : Recherche Rechercher des segments prédéfinis sémantiquement similaires Sous-ensemble des segments pertinents
    3 : Notation Classer l’ensemble des segments pertinents en fonction de leurs scores de similarité sémantique Sous-ensemble des segments pertinents, maintenant classés et triés
    4 : Contexte Fournir des métadonnées de segment au LLM Données de segment structurées
    5 : Générer Combiner la logique de segment avec de nouvelles conditions Terminer la requête exécutable

    Fonctionnement des segments manuels

    Les segments manuels remplissent deux rôles au moment de la requête :

    Découverte d’entité
    Lors des premières requêtes sans contexte préalable, les correspondances de segments peuvent ajouter ou renforcer des entités dans la liste des entités. Une correspondance avec un nom de segment manuel permet d’identifier l’entité prévue en l’ajoutant ou en la renforçant dans la liste des candidats. Si un utilisateur demande « Montrez-moi les incidents ouverts critiques » et qu’un segment manuel nommé « Incidents ouverts critiques » existe dans la table Incident [incident], l’entité de l’incident est valorisée dans les résultats.
    Mise en service du filtre
    Les segments correspondants sont formatés dans le contexte d’invite LLM. Le LLM voit :
    **Related Segments**:
    - **Critical Open Incidents** (user_defined_segment)
      - description : High priority incidents that are open and unresolved
      - entity : incident
      - filter : { conditions : [{"field":"incident.priority","operator":"=","value":"1"}, ...] }
    Le LLM décide ensuite s’il faut réutiliser totalement ou partiellement les filtres du segment lors de la construction de la requête. Les segments manuels sont étiquetés user_defined_segment dans l’invite, qui indique au LLM de conserver tous les filtres, sauf s’ils ne sont pas complètement pertinents.

    Boost de notation de segment manuel

    Les segments manuels reçoivent un boost de priorité. Lorsque le moteur recherche des segments pertinents, il note chaque résultat en fonction de la similarité sémantique, c’est-à-dire dans quelle mesure le nom et la description du segment correspondent à la question de l’utilisateur. Par défaut, les segments manuels reçoivent un boost de 5 % appliqué en plus de leur score de similarité brut.

    Le facteur d’amplification est configurable via la propriété sn_query_gen.segments.manual_segment_scale_factorsystème . L’augmenter, par exemple à 1,10, élève plus fortement les segments manuels. Le régler sur 1.0 supprime complètement le boost.

    En pratique, les segments automatisés ont souvent des noms qui correspondent partiellement aux énoncés de l’utilisateur. Par exemple, un rapport intitulé « Incidents ouverts » peut obtenir des résultats similaires à ceux d’un segment manuel appelé « Incidents ouverts critiques ». Le boost garantit que vos segments faits à la main, réglés sur le domaine, apparaissent avant ceux générés par le système lorsque les deux sont proches.

    Fonctionnement de la notation de segment

    1. Recherche IA Renvoie un score de similarité sémantique brut (0,0 à 1,0) pour chaque segment candidat.
    2. Les segments en dessous du seuil de correspondance ( 0,70 par défaut) sont ignorés.
    3. Les scores de segment manuels sont multipliés par le facteur d’échelle ( 1,05 par défaut).
    4. Les résultats sont triés par score boosté et plafonnés à la limite de résultat.

    Sources de segments automatiques

    Le système génère automatiquement des segments à partir de sources de données existantes selon un calendrier. La Génération de requête tâche Synchroniser les segments crée automatiquement des segments qui s’exécutent au moment de l’installation, puis toutes les semaines par défaut.

    Tableau 3. Sources de segments automatiques
    Source Ce qu’il extrait
    Rapports enregistrés (sys_report) Filtres de rapport à partir des rapports récemment consultés
    Sources des rapports (sys_report_source) Filtres de sources de données d’analyse
    Indicateurs PA (pa_cubes) Conditions de l’indicateur Analyse des performances
    Filtres enregistrés (sys_filter) Filtres enregistrés globaux uniquement (à l’exclusion des filtres spécifiques à l’utilisateur et au groupe)
    Modules d’application (sys_app_module) Filtres de vue de liste au niveau du module

    Règles de segment automatisées

    Pour réduire le bruit des segments obsolètes et non pertinents, le travail suit des règles spécifiques. Les segments basés sur des rapports, des sources de rapport ou des sources d’indicateurs ne sont actifs que si les enregistrements répondent à certains critères :

    • Les rapports doivent être partagés, créés par un utilisateur disposant d’un rôle de gestionnaire d’analyse (administrateur, dashboard_admin, report_admin, pa_admin ou viz_admin) et avoir été exécutés récemment (dans les 180 jours par défaut).
    • Les sources de rapport doivent être incluses dans une visualisation de données ou utilisées dans un rapport exécuté récemment.
    • Les sources d’indicateurs doivent être liées à des indicateurs dont les scores ont récemment changé.
    Important :
    Les segments ne peuvent pas être créés à partir de sources ou de modules d’indicateurs sur des instances séparées en domaines.

    Pour les rapports, « Exécuter récemment » est défini par la sn_query_gen.segments.reports.last_viewed_threshold_days propriété système. La valeur par défaut est 180 jours.

    Pour les sources d’indicateurs, la période pour « récemment modifié » dépend de la fréquence de l’indicateur :

    • Quotidien : 7 derniers jours
    • Hebdomadaire : 30 derniers jours
    • Deux fois par semaine : 30 derniers jours
    • Mensuel : 90 derniers jours
    • Quatre semaines : 90 derniers jours
    • Deux fois par mois : 90 derniers jours
    • Trimestriel : 180 derniers jours
    • Trimestre fiscal : 180 derniers jours
    • Six mois : 12 derniers mois
    • Annuel : 24 derniers mois
    • Exercice fiscal : 24 derniers mois

    Vous pouvez modifier les intervalles de temps pour les sources d’indicateurs en appliquant un multiplicateur à l’aide de la sn_query_gen.segments.indicator.inactivity_threshold_multiplier propriété système. La valeur doit être un nombre entier, ce qui signifie que vous ne pouvez qu’allonger les points, pas les raccourcir.

    Désactivation des sources de segments

    Vous pouvez désactiver complètement la création de segments ou pour des types de sources individuels. Vous pouvez désactiver la génération de segments pour dépanner ou si les segments d’une source sont « bruyants ». Chaque type de source a une propriété système correspondante sn_query_gen.segments.disable.* . Désactivez les segments pour cette source en définissant la propriété système correspondante sur vrai. Tous les segments existants créés à partir de sources de ce type sont exclus des résultats de Explorateur IA de données recherche. Aucun nouveau segment de ce type n’est créé. Lors de la tâche de synchronisation des segments suivante, tous les segments de ce type sont désactivés. Pour plus d'informations, consultez Propriétés de la génération de requête.