Définissez des seuils de confiance pour les bots

Aspect essentiel de l’intelligence artificielle (IA), la compréhension du langage naturel (NLU) comble le fossé entre la façon dont les gens parlent et ce que les ordinateurs comprennent. Les bots qui comprennent le langage naturel ont fait de sérieuses avancées dans les stratégies d’expérience client destinées aux entreprises. La première chose qu’un bot doit comprendre est l’intention du client. Si le bot comprend bien l’intention, il poursuit sur sa lancée et aide le client à résoudre le problème en libre-service. Cependant, il arrive que le système NLU ne soit pas très sûr de l’intention qu’il détecte. C’est à ce moment-là que l’utilisateur est invité à confirmer ce que le robot a détecté comme intention ou à la reformuler. Abordons l’utilisation des seuils de confiance et des écueils liés à leur utilisation sans une bonne compréhension de leurs effets sur l’efficacité du bot. Lorsqu’un modèle de NLU renvoie une hypothèse sur l’intention d’un énoncé, il est accompagné d’un score de confiance. Voyons ce que ce score signifie.

1. Qu’est-ce qu’un score de confiance

Lorsqu’un système d’IA conversationnelle attribue une valeur de « confiance » à sa réponse, le terme est utilisé dans son sens courant. Il s’agit simplement d’une mesure de la confiance que le système accorde à cette hypothèse. Cette valeur peut ressembler à une valeur de probabilité, mais la somme des valeurs de confiance pour un ensemble d’hypothèses ne correspond probablement pas à 1.

2. Ce que n’est pas un score de confiance

Il ne faut pas confondre le terme « score de confiance » avec le terme « confiance », utilisé en statistique pour décrire les résultats constatés d’une série de tests. En statistiques, un intervalle de confiance à 95 % est la plage dans laquelle se situent 95 % des valeurs de sortie. Mais notre sens de la confiance est différent. Un score de confiance peut également être confondu avec la « probabilité » qu’une hypothèse soit correcte, car la plupart des moteurs NLU produisent des valeurs de confiance comprises entre 0,0 et 1,0. Mais il ne s’agit pas non plus d’une probabilité.

3. Ce que les scores de confiance peuvent révéler

Un bon moyen de caractériser les performances d’un système d’IA consiste à examiner ses performances à différents seuils de confiance. Un seuil de confiance fixé à 0 signifie qu’il accepterait toutes les hypothèses, correctes ou incorrectes, quel que soit leur score de confiance. Le fixer à 1 signifie qu’il rejetterait toutes les hypothèses (sauf si le moteur renvoie parfois un score de confiance de 1). Le seuil de confiance idéal permet d’éliminer autant d’hypothèses incorrectes que possible, sans pour autant supprimer un très grand nombre d’hypothèses correctes. Une méthode pour trouver ce point consiste à tracer une courbe ROC (de l’anglais Receiver Operating Characteristic) qui représente graphiquement les vrais positifs par rapport aux faux positifs à différents seuils de confiance, comme le montre cette figure.

Bot confidence graph 1

Dans le coin inférieur gauche de ce graphique, avec 0 vrai et 0 faux positif, se trouve le seuil de confiance le plus élevé. Le coin supérieur droit indique le seuil le plus bas. Le point optimal où les vrais positifs sont maximisés et les faux positifs minimisés se situe entre les deux. Les courbes ROC, comme celle ci-dessus, sont utiles pour les systèmes de classification binaires. Mais un moteur NLU qui prédit l’intention d’un énoncé est un système multiclasses. Et, pour compliquer encore les choses, le système doit être évalué en fonction de sa capacité à gérer les entrées hors domaine, ou « vrais négatifs ». Pour obtenir cette information, nous devons visualiser les résultats différemment afin qu’ils conviennent au type spécifique de seuil de confiance que nous voulons utiliser.

4. Types de seuils de confiance

Un moteur NLU peut utiliser deux types de seuils de confiance lorsqu’il rapporte des hypothèses : Seuil de confirmation : Si le score de confiance de l’hypothèse d’intention principale est inférieur à ce niveau, le bot demande à l’utilisateur de confirmer que l’hypothèse est correcte. Seuil de rejet : Si le score de confiance est inférieur à ce niveau, le bot demande à l’utilisateur de reformuler sa saisie. Une troisième utilisation des scores de confiance consiste à détecter si l’hypothèse principale est à peine plus pertinente que celle qui arrive en deuxième position, auquel cas le bot peut demander à l’utilisateur de choisir entre les deux.

5. Sélection d’un seuil efficace

La meilleure façon de trouver un bon seuil pour un bot est de lui fournir un ensemble de données de test qui ont été annotées avec des valeurs de vérité de terrain. Il convient ensuite d’inspecter les résultats en réglant le seuil de confiance à différents niveaux. Les seuils de confirmation et de rejet ayant des objectifs différents, vous devrez les évaluer séparément.

Seuils de confirmation

Ces quatre catégories d’hypothèses sont pertinentes pour un seuil de confirmation :

  1. Hypothèse spécifique à un domaine, correcte et acceptée sans invite (ID-CA)
  2. Hypothèse spécifique à un domaine, correcte et confirmée par l’utilisateur à l’invite (ID-CC)
  3. Hypothèse spécifique à un domaine, fausse et accepté sans invite (ID-FA)
  4. Hypothèse spécifique à un domaine, fausse et rejetée par l’utilisateur à l’invite (ID-FR)

Remarque : Parmi ces groupes d’hypothèses, 1 est le meilleur cas ; 3 est le pire ; 2 et 4 se situent entre les deux. Cela s’explique par le fait qu’il peut être ennuyeux pour l’utilisateur de devoir constamment répondre à des messages de confirmation, mais cela reste préférable à l’acceptation d’une réponse incorrecte. Le graphique suivant montre ces quatre valeurs pour un jeu de données échantillon à chaque incrément de 0,1 entre 0 et 1,0 de confiance.

Engine a confirmation

Le graphique indique que, si le seuil de confirmation est fixé sur 0, les acceptations correctes (les meilleures) et les fausses acceptations (les pires) seront toutes deux maximisées. Si le seuil de confirmation est porté à 0,8, il n’y aura presque pas d’erreurs (fausses acceptations), mais l’utilisateur devra répondre à des messages de confirmation plus de la moitié du temps. La valeur idéale de ce seuil pourrait se situer autour de 0,25, lorsque l’ID-FA a diminué de manière significative, mais que l’ID-CA n’a pas encore trop baissé. En fin de compte, la décision pourrait être spécifique à l’application : l’importance des fausses acceptations par rapport à l’inconvénient d’obliger l’utilisateur à répondre à une question supplémentaire.

Seuils de rejet

Il s’agit des catégories d’hypothèses qui sont pertinentes pour décider d’un seuil si chaque hypothèse en dessous du seuil est rejetée :

  1. Hypothèse spécifique à un domaine, correcte et acceptée (ID-CA)
  2. Hypothèse spécifique à un domaine, fausse et acceptée (ID-FA)
  3. Hypothèse hors domaine, rejet correct (OOD-CR)
  4. Hypothèse hors domaine, rejet erroné, c’est-à-dire qu’une intention aurait dû être supposée (OOD-FR)

Parmi ces groupes d’hypothèses, 1 et 3 sont corrects ; 2 et 4 sont incorrects. Le graphique suivant illustre ces quatre valeurs pour le même jeu de données.

Engine a rejection

Si le seuil de rejet est défini sur 0, les acceptations correctes et les fausses acceptations seront maximisées, tandis que les rejets corrects et les faux rejets seront minimisés. L’augmentation du seuil de rejet à 0,1 ou 0,2 réduirait les fausses acceptations avant que les acceptations correctes ne chutent plus fortement.

6. Les seuils de confiance optimaux diffèrent d’un moteur à l’autre

Les moteurs d’IA conversationnelle varient dans leur manière de calculer les scores de confiance. Certains, comme le moteur A, ont tendance à produire des hypothèses dont les valeurs de confiance sont réparties assez uniformément entre 0 et 1. Pour d’autres, les scores de confiance sont principalement regroupés dans une certaine fourchette, ce qui modifie la forme de leurs graphiques de seuil. Le graphique suivant indique le seuil de rejet pour un moteur différent.

Engine b rejection

L’utilisation du seuil de rejet du moteur A (0,2) ne fonctionnerait manifestement pas pour le moteur B, car ce dernier affiche des faux positifs (ID-FA) qui sont encore assez élevés à ce stade. Dans ce cas, 0,6 serait un seuil de rejet raisonnable, permettant aux ID-FA de diminuer sans trop sacrifier les ID-CA. Ces mêmes graphiques sont superposés dans le tableau suivant pour faciliter la comparaison.

7. Les seuils de confiance optimaux peuvent évoluer dans le temps

Les modifications apportées à un moteur d’IA conversationnelle peuvent affecter la manière dont ses scores de confiance sont répartis entre les cas de test. Soyez conscient de cette possibilité et exécutez à nouveau ce type de test de seuil pour déterminer si vous devez ajuster les seuils de confiance.

8. Un seuil unique ne convient pas à tous

Certains frameworks de bot sont conçus pour fonctionner avec plusieurs moteurs NLU, ce qui peut donner l’impression qu’il est faussement facile de passer d’un moteur à l’autre. Avant de changer de moteur, testez vos seuils de confiance. Pour obtenir les meilleures performances possibles, nous vous recommandons de tester les seuils de confiance après la création d’un nouveau bot, même si vous ne changez pas les moteurs NLU. Différents bots utilisant le même moteur peuvent avoir des seuils optimaux différents. Lisez le « guide pratique sur la maîtrise des bots » pour en savoir plus sur les meilleures pratiques de création de bots et pour vous assurer que vos bots ne mènent pas les clients à des impasses.

Partager: