Batchtestning med en uppsättning exempelyttranden
Batchtestning verifierar din aktiva tränade version för att mäta dess förutsägelsenoggrannhet. Ett batchtest hjälper dig att visa noggrannheten för varje avsikt och entitet i din aktiva version. Granska batchtestresultatet för att vidta lämpliga åtgärder för att förbättra noggrannheten, till exempel att lägga till fler exempelyttranden till en avsikt om din app ofta inte kan identifiera rätt avsikt eller märka entiteter i yttrandena.
Gruppera data för batchtest
Det är viktigt att yttranden som används för batchtestning är nya för LUIS. Om du har en datauppsättning med yttranden delar du upp yttrandena i tre uppsättningar: exempelyttranden som läggs till i en avsikt, yttranden som tas emot från den publicerade slutpunkten och yttranden som används för att batchtesta LUIS när den har tränats.
Batch-JSON-filen som du använder bör innehålla yttranden med maskininlärningsentiteter på den översta nivån märkta, inklusive start- och slutposition. Yttrandena bör inte vara en del av exemplen redan i appen. De bör vara yttranden som du vill förutsäga positivt för avsikter och entiteter.
Du kan separera tester efter avsikt och/eller entitet eller ha alla tester (upp till 1 000 yttranden) i samma fil.
Vanliga fel vid import av en batch
Om du får fel när du laddar upp batchfilen till LUIS kontrollerar du om det finns några vanliga problem:
- Mer än 1 000 yttranden i en batchfil
- Ett JSON-uttrycksobjekt som inte har en entitetsegenskap. Egenskapen kan vara en tom matris.
- Ord som är märkta i flera entiteter
- Entitetsetiketter som börjar eller slutar på ett blanksteg.
Åtgärda batchfel
Om det finns fel i batchtestningen kan du antingen lägga till fler yttranden till en avsikt och/eller märka fler yttranden med entiteten för att hjälpa LUIS att göra förhållandet mellan avsikter. Om du har lagt till yttranden och etiketterat dem och fortfarande får förutsägelsefel vid batchtestning bör du överväga att lägga till en fraslista med domänspecifik vokabulär för att hjälpa LUIS att lära sig snabbare.
Batchtestning med LUIS-portalen
Importera och träna en exempelapp
Importera en app som tar en pizzabeställning, till exempel 1 pepperoni pizza on thin crust .
Ladda ned och spara JSON-filen för appen.
Logga in på LUIS-portalenoch välj din prenumeration och redigeringsresurs för att se de appar som tilldelats till den redigeringsresursen.
Välj pilen bredvid Ny app och klicka på Importera som JSON för att importera JSON till en ny app. Ge appen namnet
Pizza app.Välj Träna i det övre högra hörnet i navigeringen för att träna appen.
Roller i batch-testning
Varning
Enhets roller stöds inte i batch-testning.
Batch-testfil
JSON-exemplet innehåller ett uttryck med en märkt entitet som illustrerar hur en testfil ser ut. I dina egna tester bör du ha många yttranden med rätt avsikt och entitet för maskininlärning märkta.
Skapa
pizza-with-machine-learned-entity-test.jsoni en textredigerare eller ladda ned den.I den JSON-formaterade batchfilen lägger du till ett uttryck med den avsikt som du vill förutsäga i testet.
[ { "text": "I want to pick up 1 cheese pizza", "intent": "ModifyOrder", "entities": [ { "entity": "Order", "startPos": 18, "endPos": 31 }, { "entity": "ToppingList", "startPos": 20, "endPos": 25 } ] } ]
Köra batchen
Välj Test i det övre navigeringsfältet.
Välj Batch-testpanelen på den högra panelen.

Välj Importera. I dialogrutan som visas väljer du Välj fil och letar upp en JSON-fil med rätt JSON-format som inte innehåller fler än 1 000 yttranden att testa.
Importfel rapporteras i ett rött meddelandefält längst upp i webbläsaren. När en import innehåller fel skapas ingen datauppsättning. Mer information finns i Vanliga fel.
Välj filplatsen för
pizza-with-machine-learned-entity-test.jsonfilen.Namnge datauppsättningen
pizza testoch välj Klar.Klicka på knappen Kör.
När batchtestet är klart kan du se följande kolumner:
Kolumn Beskrivning Tillstånd Testets status. Se resultatet visas bara när testet har slutförts. Name Det namn som du har gett testet. Storlek Antal tester i den här batchtestfilen. Senaste körning Datum för senaste körning av den här batchtestfilen. Senaste resultat Antal lyckade förutsägelser i testet. Om du vill visa detaljerade resultat av testet väljer du Se resultat.
Tips
- Om du väljer Ladda ned hämtas samma fil som du laddade upp.
- Om du ser att batchtestet misslyckades matchar inte minst en avsikt för yttranden förutsägelsen.
Granska batchresultat för avsikter
Om du vill granska batchtestresultaten väljer du Se resultat. Testresultaten visar grafiskt hur testyttrandena förutsades mot den aktiva versionen.
Batchdiagrammet visar fyra kvadranter med resultat. Till höger om diagrammet finns ett filter. Filtret innehåller avsikter och entiteter. När du väljer ett avsnitt i diagrammet eller en punkt i diagrammet visas de associerade yttrandena under diagrammet.
När du hovrar över diagrammet kan ett mushjul förstora eller minska visningen i diagrammet. Detta är användbart när det finns många punkter i diagrammet grupperade nära varandra.
Diagrammet finns i fyra kvadranter, där två av avsnitten visas i rött.
Välj avsikten ModifyOrder i filterlistan. Tautet förutsägs som en sann positiv, vilket innebär att yttrandena har matchat den positiva förutsägelse som anges i batchfilen.

De gröna bockmarkeringarna i filterlistan visar också om testet lyckades för varje avsikt. Alla andra avsikter visas med en positiv poäng på 1/1 eftersom yttrandena testades mot varje avsikt, som ett negativt test för avsikter som inte anges i batchtestet.
Välj avsikten Bekräftelse. Den här avsikten visas inte i batchtestet, så det här är ett negativt test av de yttranden som anges i batchtestet.

Det negativa testet lyckades, vilket anges med den gröna texten i filtret och rutnätet.
Granska batchtestresultat för entiteter
Entiteten ModifyOrder, som en datorentitet med underentiteter, visar om entiteten på den översta nivån matchar och hur underentiteterna förutsägs.
Välj entiteten ModifyOrder i filterlistan och välj sedan cirkeln i rutnätet.
Entitetsförutsägelsen visas under diagrammet. Visningen innehåller heldragna linjer för förutsägelser som matchar förväntan och prickade linjer för förutsägelser som inte matchar förväntan.

Filtrera diagramresultat
Om du vill filtrera diagrammet efter en viss avsikt eller entitet väljer du avsikten eller entiteten i filtreringspanelen till höger. Datapunkterna och deras distributionsuppdatering i diagrammet enligt ditt val.

Diagramresultatexempel
Diagrammet i LUIS-portalen kan du utföra följande åtgärder:
Visa yttranden med en enda punkt
Hovra över en datapunkt i diagrammet för att se förutsägelseresultatet. Välj en datapunkt för att hämta dess motsvarande uttryck i listan med yttranden längst ned på sidan.

Visa avsnittsdata
I diagrammet med fyra avsnitt väljer du avsnittsnamnet, till exempel False Positive (Falsk positiv) längst upp till höger i diagrammet. Under diagrammet visas alla yttranden i avsnittet under diagrammet i en lista.

I den här föregående bilden är tautdata märkt med avsikten TurnAllOn, men har switch on fått förutsägelsen om avsikten None (Ingen). Detta är en indikation på att avsikten TurnAllOn behöver fler exempelyttranden för att kunna göra den förväntade förutsägelsen.
De två avsnitten i diagrammet i rött visar yttranden som inte matchade den förväntade förutsägelsen. Dessa anger yttranden som LUIS behöver mer träning.
De två avsnitten i diagrammet i grönt matchade den förväntade förutsägelsen.
Batchtestning med hjälp av REST API
MED LUIS kan du batchtesta med hjälp av LUIS-portalen och REST API. Slutpunkterna för REST API visas nedan. Information om batchtestning med HJÄLP av LUIS-portalen finns i Självstudie: batchtestdatauppsättningar. Använd de fullständiga URL:erna nedan och ersätt platshållarvärdena med din egen LUIS-förutsägelsenyckel och slutpunkt.
Kom ihåg att lägga till DIN Ocp-Apim-Subscription-Key LUIS-nyckel i i -huvudet och ange Content-Type till application/json .
Starta ett batchtest
Starta ett batchtest med antingen ett appversions-ID eller ett publiceringsfack. Skicka en POST-begäran till något av följande slutpunktsformat. Inkludera batchfilen i brödtexten i begäran.
Publiceringsplats
<YOUR-PREDICTION-ENDPOINT>/luis/v3.0-preview/apps/<YOUR-APP-ID>/slots/<YOUR-SLOT-NAME>/evaluations
Appversions-ID
<YOUR-PREDICTION-ENDPOINT>/luis/v3.0-preview/apps/<YOUR-APP-ID>/versions/<YOUR-APP-VERSION-ID>/evaluations
Dessa slutpunkter returnerar ett åtgärds-ID som du använder för att kontrollera status och hämta resultat.
Hämta status för ett pågående batchtest
Använd åtgärds-ID:t från batchtestet som du började för att hämta dess status från följande slutpunktsformat:
Publiceringsplats
<YOUR-PREDICTION-ENDPOINT>/luis/v3.0-preview/apps/<YOUR-APP-ID>/slots/<YOUR-SLOT-ID>/evaluations/<YOUR-OPERATION-ID>/status
Appversions-ID
<YOUR-PREDICTION-ENDPOINT>/luis/v3.0-preview/apps/<YOUR-APP-ID>/versions/<YOUR-APP-VERSION-ID>/evaluations/<YOUR-OPERATION-ID>/status
Hämta resultaten från ett batchtest
Använd åtgärds-ID:t från batchtestet som du började för att hämta resultatet från följande slutpunktsformat:
Publiceringsplats
<YOUR-PREDICTION-ENDPOINT>/luis/v3.0-preview/apps/<YOUR-APP-ID>/slots/<YOUR-SLOT-ID>/evaluations/<YOUR-OPERATION-ID>/result
Appversions-ID
<YOUR-PREDICTION-ENDPOINT>/luis/v3.0-preview/apps/<YOUR-APP-ID>/versions/<YOUR-APP-VERSION-ID>/evaluations/<YOUR-OPERATION-ID>/result
Batch-fil med yttranden
Skicka en batchfil med yttranden, som kallas en datauppsättning, för batchtestning. Datauppsättningen är en JSON-formaterad fil som innehåller högst 1 000 märkta yttranden. Du kan testa upp till 10 datauppsättningar i en app. Om du behöver testa mer tar du bort en datauppsättning och lägger sedan till en ny. Alla anpassade entiteter i modellen visas i batchtestentitetsfiltret även om det inte finns några motsvarande entiteter i batchfildata.
Batchfilen består av yttranden. Varje uttryck måste ha en förväntad avsiktsförutsägelse tillsammans med eventuella maskininlärningsentiteter som du förväntar dig att identifieras.
Batch-syntaxmall för avsikter med entiteter
Använd följande mall för att starta batchfilen:
{
"LabeledTestSetUtterances": [
{
"text": "play a song",
"intent": "play_music",
"entities": [
{
"entity": "song_parent",
"startPos": 0,
"endPos": 15,
"children": [
{
"entity": "pre_song",
"startPos": 0,
"endPos": 3
},
{
"entity": "song_info",
"startPos": 5,
"endPos": 15
}
]
}
]
}
]
}
Batchfilen använder egenskaperna startPos och endPos för att notera början och slutet av en entitet. Värdena är nollbaserade och ska inte börja eller sluta på ett blanksteg. Detta skiljer sig från frågeloggarna, som använder egenskaperna startIndex och endIndex.
Om du inte vill testa entiteter inkluderar du entities egenskapen och anger värdet som en tom matris, [] .
REST API batchtestresultat
Det finns flera objekt som returneras av API:et:
- Information om avsikterna och entitetsmodellerna, till exempel precision, träffsäkerhet och F-poäng.
- Information om entitetsmodellerna, till exempel precision, träffsäkerhet och F-poäng) för varje entitet
- Med flaggan
verbosekan du få mer information om entiteten, till exempel ochentityTextFScoreentityTypeFScore.
- Med flaggan
- Tillhandahåll yttranden med förutsagda och märkta avsiktsnamn
- En lista över falska positiva entiteter och en lista över falska negativa entiteter.
Nästa steg
Om testningen indikerar att LUIS-appen inte känner igen rätt avsikter och entiteter kan du förbättra LUIS-appens prestanda genom att märka fler yttranden eller lägga till funktioner.