Test par lot avec un ensemble d’exemples d’énoncés

Important

LUIS sera mis hors service le 1er octobre 2025 et à partir du 1er avril 2023, vous ne pourrez plus créer de nouvelles ressources LUIS. Nous vous recommandons de migrer vos applications LUIS vers la compréhension du langage courant pour tirer parti de la prise en charge continue des produits et des fonctionnalités multilingues.

Les tests par lot valident votre version entraînée active afin de mesurer la précision des prédictions. Un test par lot vous permet de visualiser la précision de chaque intention et entité dans votre version active. Passez en revue les résultats des tests par lot pour prendre les mesures appropriées afin d’améliorer la précision, par exemple ajouter d’autres exemples d’énoncés à une intention si votre application échoue fréquemment dans sa tentative d’identification de l’intention ou étiqueter des entités dans l’énoncé.

Regrouper les données pour le test par lot

Il est important que les énoncés utilisés pour les tests par lot soient nouveaux pour LUIS. Si vous avez un jeu de données d’énoncés, divisez les énoncés en trois jeux : exemples d’énoncés ajoutés à une intention, énoncés reçus du point de terminaison publié et énoncés utilisés pour exécuter des tests par lot sur LUIS une fois qu’il a été entraîné.

Le fichier de lots JSON doit inclure des énoncés avec les entités issues du machine learning de niveau supérieur étiquetées, notamment les positions de début et de fin. Les énoncés ne doivent pas faire partie des exemples déjà présents dans l’application. Il doit s’agir d’énoncés que vous souhaitez prédire de manière positive pour l’intention et les entités.

Vous pouvez séparer les tests par l’intention et/ou l’entité ou avoir tous les tests (jusqu’à 1 000 énoncés) dans le même fichier.

Erreurs courantes d’importation de lot

Si vous rencontrez des erreurs lors du chargement de votre fichier de commandes dans LUIS, vérifiez les problèmes courants suivants :

  • Plus de 1 000 énoncés dans un fichier de commandes
  • Objet JSON d’énoncé n’ayant pas de propriété d’entités. La propriété peut être un tableau vide.
  • Mot(s) étiqueté(s) dans plusieurs entités
  • Étiquettes d’entité commençant ou se terminant par un espace.

Correction des erreurs de lot

S’il existe des erreurs dans le test par lot, vous pouvez ajouter des énoncés à une intention et/ou étiqueter davantage d’énoncés avec l’entité afin d’aider LUIS à effectuer la distinction entre les intentions. Si vous avez ajouté des énoncés et que vous les avez étiquetés, mais que des erreurs se produisent encore dans le test par lot, essayez d’ajouter une fonctionnalité de liste d’expressions avec un vocabulaire propre au domaine pour aider LUIS à apprendre plus rapidement.

Test en lots à l’aide du portail LUIS

Importer et former un exemple d’application

Importez une application qui prend une commande de pizza telle que 1 pepperoni pizza on thin crust.

  1. Téléchargez et enregistrez le fichier JSON de l’application.

  2. Connectez-vous au portail LUIS et sélectionnez vos abonnement et ressource de création pour voir les applications affectées à cette dernière.

  3. Sélectionnez la flèche en regard de nouvelle application, puis cliquez sur Importer en tant que JSON pour importer le code JSON dans une nouvelle application. Nommez l'application Pizza app.

  4. Sélectionnez Entraîner dans le coin supérieur droit de la barre de navigation pour entraîner l’application.

Rôles dans les tests par lots

Attention

Les rôles d’entité ne sont pas pris en charge dans les tests par lot.

Fichier de test par lot

L’exemple JSON comprend un énoncé avec une entité étiquetée pour illustrer à quoi ressemble un fichier de test. Dans vos propres tests, vous devez avoir de nombreux énoncés avec l’intention correcte et l’entité issue du machine learning étiquetée.

  1. Créez pizza-with-machine-learned-entity-test.json dans un éditeur de texte ou téléchargez-le.

  2. Dans le fichier de commandes au format JSON, ajoutez un énoncé avec l’intention à prédire dans le test.

    [
        {
            "text": "I want to pick up 1 cheese pizza",
            "intent": "ModifyOrder",
            "entities": [
                {
                    "entity": "Order",
                    "startPos": 18,
                    "endPos": 31
                },
                {
                    "entity": "ToppingList",
                    "startPos": 20,
                    "endPos": 25
                }
            ]
        }
    ]
    

Exécuter le test par lot

  1. Sélectionnez Test dans la barre de navigation supérieure.

  2. Sélectionnez le panneau Test par lot dans le panneau de droite.

    Lien Test par lot

  3. Sélectionnez Importer. Dans la boîte de dialogue qui s’affiche, sélectionnez Sélectionner un fichier et recherchez un fichier JSON qui ne contient pas plus de 1 000 énoncés à tester.

    Les erreurs d’importation sont signalées dans une barre de notification rouge en haut du navigateur. En cas d’erreur dans l’importation, aucun jeu de données n’est créé. Pour plus d’informations, consultez Erreurs courantes.

  4. Choisissez l’emplacement du fichier pizza-with-machine-learned-entity-test.json.

  5. Nommez le jeu de données pizza test et sélectionnez Terminé.

  6. Sélectionnez le bouton Run.

  7. Une fois le test par lot terminé, vous pouvez voir les colonnes suivantes :

    Colonne Description
    State État du test. Afficher les résultats n’est visible qu’une fois le test terminé.
    Nom Nom que vous avez donné au test.
    Size Nombre de tests dans ce fichier de test par lot.
    Dernière exécution Date de la dernière exécution de ce fichier de test par lot.
    Dernier résultat Nombre de prédictions réussies dans le test.
  8. Pour afficher les résultats détaillés du test, sélectionnez Afficher les résultats.

    Conseil

    • Si vous sélectionnez Télécharger vous téléchargerez le même fichier que celui que vous avez chargé.
    • Si vous voyez que le test par lot a échoué, au moins une intention d’énoncé ne correspondait pas à la prédiction.

Passer en revue les résultats du test par lot pour les intentions

Pour passer en revue les résultats du test par lot, sélectionnez Afficher les résultats. Les résultats des tests montrent sous forme de graphique comment les énoncés de test ont été prédits par rapport à la version active.

Le graphique de lot présente quatre quadrants de résultats. À droite du graphique se trouve un filtre. Le filtre contient des intentions et des entités. Lorsque vous sélectionnez un point ou une section du graphique, le ou les énoncés associés s’affichent sous le graphique.

Au passage de la souris sur le graphique, la roulette permet d’agrandir ou de réduire l’affichage du graphique, ce qui est utile en présence de nombreux points très rapprochés.

Le graphique est divisé en quatre quadrants, dont deux s’affichent en rouge.

  1. Sélectionnez l’intention ModifyOrder dans la liste de filtres. L’énoncé est prédit comme un vrai positif ce qui signifie que l’énoncé correspond bien à sa prédiction positive listée dans le fichier de commandes.

    L’énoncé correspond bien à sa prédiction positive

    Les coches vertes dans la liste de filtres indiquent également la réussite du test pour chaque intention. Toutes les autres intentions sont listées avec un score positif de 1/1, car l’énoncé a été testé par rapport à chaque intention, sous la forme d’un test négatif pour toutes les intentions non listées dans le test par lot.

  2. Sélectionnez l’intention Confirmation. Cette intention n’étant pas listée dans le test par lot, il s’agit d’un test négatif de l’énoncé qui est indiqué dans le test par lot.

    L’énoncé a été correctement prédit négatif pour l’intention non listée dans le fichier de commandes

    Le test négatif a réussi, comme indiqué avec le texte vert dans le filtre et la grille.

Passer en revue les résultats du test par lot pour les entités

L’entité ModifyOrder, en tant qu’entité de machine avec des sous-entités, s’affiche si l’entité de niveau supérieur correspond et montre la manière dont les sous-entités sont prédites.

  1. Sélectionnez l’entité ModifyOrder dans la liste de filtres, puis le cercle dans la grille.

  2. La prédiction d’entité s’affiche sous le graphique. L’affichage comprend des lignes pleines pour les prédictions qui correspondent à l’attente et des lignes en pointillés pour celles qui ne correspondent pas.

    Le parent d’entité a été correctement prédit dans le fichier de commandes

Filtrer les résultats du graphique

Pour filtrer le graphique en fonction d’une intention ou d’une entité spécifique, sélectionnez l’intention ou l’entité sur le côté droit du panneau de filtrage. Les points de données et leur répartition sont mis à jour dans le graphique en fonction de votre sélection.

Résultat du test par lot visualisé

Exemples de résultats de graphique

Dans le graphique dans le portail LUIS, vous pouvez effectuer les actions suivantes :

Afficher les données d’énoncé d’un point unique

Dans le graphique, pointez sur un point de données pour afficher le score de certitude de la prédiction. Sélectionnez un point de données pour récupérer l’énoncé correspondant dans la liste des énoncés au bas de la page.

Énoncé sélectionné

Afficher les données de section

Dans le graphique à quatre sections, sélectionnez le nom de section, comme Faux positif en haut à droite du graphique. Sous le graphique, tous les énoncés dans cette section s’affichent dans une liste sous le graphique.

Énoncés sélectionnés par section

Dans l’image précédente, l’énoncé switch on est étiqueté avec l’intention TurnAllOn, mais a reçu la prédiction d’intention None. Cela indique que l’intention TurnAllOn a besoin de davantage d’exemples d’énoncés pour rendre la prédiction attendue.

Les deux sections du graphique en rouge indiquent les énoncés ne correspondant pas à la prédiction attendue. Cela indique les énoncés pour lesquels LUIS a besoin de davantage de formation.

Les deux sections du graphique en vert correspondent à la prédiction attendue.

Étapes suivantes

Si le test indique que votre application LUIS ne reconnaît pas les entités et les intentions correctes, vous pouvez travailler à l’amélioration des performances de votre application LUIS en étiquetant plus d’énoncés ou en ajoutant des fonctionnalités.