Batchgewijs testen met een set voorbeelduitingen

Belangrijk

LUIS wordt op 1 oktober 2025 buiten gebruik gesteld en vanaf 1 april 2023 kunt u geen nieuwe LUIS-resources meer maken. We raden u aan uw LUIS-toepassingen te migreren naar conversationele taalbegrip om te profiteren van doorlopende productondersteuning en meertalige mogelijkheden.

Batchtests valideren uw actieve getrainde versie om de nauwkeurigheid van de voorspelling te meten. Met een batchtest kunt u de nauwkeurigheid van elke intentie en entiteit in uw actieve versie bekijken. Bekijk de resultaten van de batchtest om de juiste actie te ondernemen om de nauwkeurigheid te verbeteren, zoals het toevoegen van meer voorbeelduitingen aan een intentie als uw app vaak niet de juiste intentie kan identificeren of entiteiten binnen de uiting kan labelen.

Gegevens groepeer voor batchtest

Het is belangrijk dat uitingen die worden gebruikt voor batchgewijs testen nieuw zijn voor LUIS. Als u een gegevensset met utterances hebt, verdeelt u de uitingen in drie sets: voorbeelduitingen die zijn toegevoegd aan een intentie, uitingen die zijn ontvangen van het gepubliceerde eindpunt en uitingen die worden gebruikt om LUIS batchgewijs te testen nadat het is getraind.

Het batch-JSON-bestand dat u gebruikt, moet uitingen bevatten met machine learning-entiteiten op het hoogste niveau die zijn gelabeld, inclusief de begin- en eindpositie. De uitingen mogen geen deel uitmaken van de voorbeelden die al in de app staan. Het moeten uitingen zijn die u positief wilt voorspellen voor de intentie en entiteiten.

U kunt afzonderlijke tests uitvoeren op intentie en/of entiteit of alle tests (maximaal 1000 uitingen) in hetzelfde bestand hebben.

Veelvoorkomende fouten bij het importeren van een batch

Als u fouten ondervindt bij het uploaden van uw batchbestand naar LUIS, controleert u op de volgende veelvoorkomende problemen:

  • Meer dan 1000 utterances in een batchbestand
  • Een utterance JSON-object dat geen eigenschap entiteiten heeft. De eigenschap kan een lege matrix zijn.
  • Word gelabeld in meerdere entiteiten
  • Entiteitslabels die beginnen of eindigen op een spatie.

Batchfouten oplossen

Als de batchtests fouten bevatten, kunt u meer utterances toevoegen aan een intentie en/of meer uitingen labelen met de entiteit om LUIS te helpen bij het maken van de discriminatie tussen intenties. Als u uitingen hebt toegevoegd en gelabeld en nog steeds voorspellingsfouten krijgt bij batchtests, kunt u overwegen om een woordgroepenlijstfunctie met domeinspecifieke woordenlijst toe te voegen om LUIS te helpen sneller te leren.

Batchtests met behulp van de LUIS-portal

Een voorbeeld-app importeren en trainen

Importeer een app voor het opnemen van een pizzabestelling, zoals 1 pepperoni pizza on thin crust.

  1. Download het JSON-bestand van de app en sla het op.

  2. Meld u aan bij de LUIS-portal en selecteer uw abonnement en Ontwerpresource om de apps weer te geven die aan die ontwerpresource zijn toegewezen.

  3. Selecteer de pijl naast Nieuwe app en klik op Importeren als JSON om de JSON in een nieuwe app te importeren. Geef de app Pizza appde naam .

  4. Selecteer Trainen rechtsboven in de navigatiebalk om de app te trainen.

Rollen in batchtests

Waarschuwing

Entiteitsrollen worden niet ondersteund in batchtests.

Batch-testbestand

Het JSON-voorbeeldbestand bevat een uiting met een gelabelde entiteit om u een idee te geven hoe een testbestand eruitziet. Uw eigen tests moeten veel uitingen met de juiste intentie en gelabelde machine learning-entiteit bevatten.

  1. Maak pizza-with-machine-learned-entity-test.json in een teksteditor of download het.

  2. Voeg aan het batchbestand in JSON-indeling een uiting toe met de intentie die moet worden voorspeld in de 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
                }
            ]
        }
    ]
    

De batch uitvoeren

  1. Selecteer Test in de bovenste navigatiebalk.

  2. Selecteer het paneel Batchgewijs testen in het paneel aan de rechterkant.

    Koppeling voor batchgewijs testen

  3. Selecteer Importeren. Selecteer in het dialoogvenster dat wordt weergegeven Bestand kiezen en zoek een JSON-bestand met de juiste JSON-indeling dat niet meer dan 1000 uitingen bevat om te testen.

    Importfouten worden gerapporteerd in een rode meldingsbalk boven aan de browser. Wanneer een importfout optreedt, wordt er geen gegevensset gemaakt. Zie Veelvoorkomende fouten voor meer informatie.

  4. Kies de bestandslocatie van het bestand pizza-with-machine-learned-entity-test.json.

  5. Geef de gegevensset de naam pizza test en selecteer Gereed.

  6. Selecteer de knop Run (Uitvoeren).

  7. Nadat de batchtest is voltooid, ziet u de volgende kolommen:

    Kolom Beschrijving
    Staat Status van de test. Resultaten weergeven is pas zichtbaar nadat de test is voltooid.
    Naam De naam die u aan de test hebt gegeven.
    Grootte Aantal tests in dit batchtestbestand.
    Laatste uitvoering De datum van de laatste uitvoering van dit batchtestbestand.
    Laatste resultaat Aantal geslaagde voorspellingen in de test.
  8. Als u gedetailleerde resultaten van de test wilt weergeven, selecteert u Resultaten weergeven.

    Tip

    • Als u Downloaden selecteert, wordt hetzelfde bestand gedownload dat u hebt geüpload.
    • Als u ziet dat de batchtest is mislukt, komt ten minste één uitingsintentie niet overeen met de voorspelling.

Batchresultaten voor intenties evalueren

Als u de resultaten van de batchtest wilt bekijken, selecteert u Resultaten weergeven. In de testresultaten wordt grafisch weergegeven hoe de testuitingen zijn voorspeld voor de actieve versie.

In de batchgrafiek worden vier kwadranten met resultaten weergegeven. Rechts van de grafiek ziet u een filter. Het filter bevat intenties en entiteiten. Wanneer u een sectie van de grafiek of een punt in de grafiek selecteert, worden de gekoppelde uitingen weergegeven onder de grafiek.

Bij het aanwijzen van de grafiek met de muisaanwijzer kunt u de weergave in de grafiek vergroten of verkleinen met een muiswiel. Dit is handig wanneer veel punten in het diagram zich dicht op elkaar bevinden.

De grafiek is verdeeld in vier kwadranten, waarbij twee van de secties rood worden weergegeven.

  1. Selecteer de intentie ModifyOrder in de filterlijst. De uiting wordt voorspeld als een terecht-positief, wat betekent dat de uiting correct is gematcht met de positieve voorspelling die in het batchbestand is vermeld.

    Utterance heeft de positieve voorspelling gevonden

    Het groene vinkje in de filterlijst geeft ook aan dat de test voor elke intentie is geslaagd. Alle andere intenties worden weergegeven met een positieve score van 1/1, omdat de uiting is getest op basis van elke intentie, als een negatieve test voor alle intenties die niet worden vermeld in de batchtest.

  2. Selecteer de intentie Bevestiging. Deze intentie wordt niet vermeld in de batchtest. Dit is dus een negatieve test van de uiting die wordt vermeld in de batchtest.

    Uiting is negatief voorspeld voor niet-vermelde intentie in batchbestand

    De negatieve test is geslaagd, zoals aangegeven met de groene tekst in het filter, en het raster.

Batchtestresultaten voor entiteiten evalueren

De entiteit ModifyOrder wordt als machineentiteit met subentiteiten weergegeven of de entiteit op het hoogste niveau overeenkomt en hoe de subentiteiten worden voorspeld.

  1. Selecteer de entiteit ModifyOrder in de filterlijst en selecteer vervolgens de cirkel in het raster.

  2. De voorspelling van de entiteit wordt onder de grafiek weergegeven. De weergave bevat ononderbroken lijnen voor voorspellingen die overeenkomen met de verwachting en stippellijnen voor voorspellingen die niet overeenkomen met de verwachting.

    Bovenliggende entiteit is voorspeld in batchbestand

Grafiekresultaten filteren

Als u de grafiek wilt filteren op een specifieke intentie of entiteit, selecteert u de intentie of entiteit in het filtervenster aan de rechterkant. De gegevenspunten en hun distributie worden in de grafiek bijgewerkt op basis van uw selectie.

Gevisualiseerd batchtestresultaat

Voorbeelden van grafiekresultaten

In de grafiek in de LUIS-portal kunt u de volgende acties uitvoeren:

Gegevens van single-point utterance weergeven

Beweeg in de grafiek de muisaanwijzer over een gegevenspunt om de zekerheidsscore van de voorspelling te bekijken. Selecteer een gegevenspunt om de bijbehorende uiting op te halen in de lijst met uitingen onder aan de pagina.

Geselecteerde uiting

Sectiegegevens weergeven

Selecteer in de grafiek met vier secties de sectienaam, zoals Fout-positief rechtsboven in de grafiek. Onder de grafiek worden alle utterances in die sectie weergegeven onder de grafiek in een lijst.

Geselecteerde utterances per sectie

In deze voorgaande afbeelding is de uiting switch on gelabeld met de intentie TurnAllOn, maar de voorspelling van de intentie Geen ontvangen. Dit is een indicatie dat de intentie TurnAllOn meer voorbeelduitingen nodig heeft om de verwachte voorspelling te kunnen doen.

De twee secties van de grafiek in het rood geven uitingen aan die niet overeenkomen met de verwachte voorspelling. Deze geven utterances aan waarvoor LUIS meer training nodig heeft.

De twee groene secties van de grafiek komen overeen met de verwachte voorspelling.

Volgende stappen

Als testen aangeeft dat uw LUIS-app de juiste intenties en entiteiten niet herkent, kunt u de prestaties van uw LUIS-app verbeteren door meer uitingen te labelen of functies toe te voegen.