Scorage des correspondances NLU

Score des blocs NLU est un mécanisme utilisé pour sélectionner le bloc de réponse le plus pertinent en fonction de :

  • Correspondances de motifs entre l'entrée utilisateur et les définitions de bloc

  • Poids configurables attribués à chaque type d'entité

  • Valeurs de confiance fournies par le moteur NLU pour les entités détectées

Il permet une sélection de bloc plus intelligente et consciente du contexte dans les flux conversationnels.

Cas d'utilisation principaux

Correspondance standard

Une entrée utilisateur contient des entités qui correspondent directement aux motifs d'un bloc.

Exemple : Entrée : intent = enquiry & subject = claim
Bloc A : Motifs : intent : enquiry & subject : claim
Le bloc A sera sélectionné.

Confiance élevée, correspondance partielle

Un bloc peut ne correspondre qu'à certains motifs mais avoir une forte confiance sur ces correspondances, ce qui en fait un meilleur candidat que d'autres avec des correspondances complètes mais des entités à faible confiance. Remarque : la confiance est multipliée par un poids prédéfini pour chaque type d'entité.

Exemple :
Entrée : intent = issue (confiance : 0,92) & subject = claim (confiance : 0,65)
Bloc A : Motif : intent : issue
Bloc B : Motif : subject : claim
➤ Le bloc A obtient un score élevé basé sur confiance × poids (en supposant que les deux poids valent 1).

Plusieurs blocs avec des motifs similaires

Entrée : intent = issue & subject = insurance
Bloc A : intent = enquiry & subject = insurance
Bloc B : subject = insurance
➤ Le bloc B est sélectionné — le bloc A ne correspond pas sur l'intent.

Exclusion en raison de motifs supplémentaires

Si un bloc contient des motifs qui requièrent des entités absentes de l'entrée utilisateur, le bloc est exclu du calcul de score. Aucune pénalité n'est appliquée — le bloc n'est simplement pas considéré comme un candidat valide.

Entrée : intent = issue & subject = insurance
Bloc A : intent = enquiry & subject = insurance & location = office
Bloc B : subject = insurance & time = morning
➤ Aucun des blocs n'est sélectionné en raison de motifs requis non appariés (`location`, `time`)

Bris d'égalité avec facteurs de pénalité

Lorsque plusieurs blocs reçoivent des scores similaires, des facteurs de pénalité peuvent aider à départager — surtout dans les cas où les motifs sont moins spécifiques (par ex., en utilisant Any comme valeur).

Entrée : intent = enquiry & subject = insurance

Bloc A : intent = enquiry & subject = Any
Bloc B : intent = enquiry & subject = insurance
Bloc C : subject = insurance

Résumé du scoring :
- Le bloc A correspond aux deux motifs, mais subject = Any est considéré comme moins spécifique.
- Le bloc B a une correspondance redondante mais entièrement spécifique.
- Le bloc C ne correspond qu'à un seul motif.

➤ Le bloc A et le bloc B ont des scores bruts similaires.
➤ Un facteur de pénalité est appliqué au bloc A en raison de son utilisation de Any, réduisant son score final.
➤ Le bloc B est sélectionné.

Comment fonctionne le scoring

Correspondance et confiance

Pour chaque entité dans le motif du bloc :

  • Si l'entité correspond à une entité dans l'entrée utilisateur :

    • le score est augmenté de : confiance × poids

      • Confiance est une valeur comprise entre 0 et 1, retournée par le moteur NLU.

      • Poids (la valeur par défaut est 1) est un facteur d'importance configuré pour ce type d'entité spécifique.

  • Si la correspondance est un joker (c.-à-d. que le bloc accepte n'importe quelle valeur) :

    • Un facteur de pénalité est appliqué pour réduire légèrement sa contribution : confiance × poids × facteurDePénalité. Cela encourage des correspondances plus spécifiques lorsqu'elles sont disponibles.

Résumé de la formule de scoring

Pour chaque entité correspondante :

score += confiance × poids × [facteur de pénalité optionnel si joker]

Le score total du bloc est la somme de tous les motifs correspondants dans ce bloc.

Facteur de pénalité

Le facteur de pénalité est un multiplicateur global (généralement inférieur à 1, par ex., 0.8) appliqué lorsque le type de correspondance est moins spécifique — comme un joker ou des correspondances d'un type d'entité lâche. Il permet au système de :

  • Départager en faveur de blocs plus précis

  • Décourager la sélection de blocs trop génériques lorsque de meilleures correspondances sont disponibles

Mis à jour

Ce contenu vous a-t-il été utile ?