Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Viktigt!
Översättningar som inte är engelska tillhandahålls endast för enkelhetens skull. Se versionen EN-US
av det här dokumentet för bindningsversionen.
Prestanda för anpassade textklassificeringsmodeller varierar beroende på scenario och indata. Följande avsnitt är utformade för att hjälpa dig att förstå viktiga begrepp om prestanda och utvärdering av anpassade textklassificeringsmodeller.
Mått för prestandautvärdering
Att granska modellutvärdering är ett viktigt steg i den anpassade textklassificeringsmodellens utvecklingslivscykel. Det hjälper dig att avgöra hur bra din modell presterar och att mäta den förväntade prestandan när modellen används i produktion.
När du skapar en modell definieras tränings- och testuppsättningar antingen under taggning eller väljs slumpmässigt under träningen. Hur som helst är tränings- och testuppsättningarna viktiga för träning och utvärdering av anpassade textklassificeringsmodeller. Träningsuppsättningen används för att träna den anpassade maskininlärningsmodellen. Testuppsättningen används som en blinduppsättning för att utvärdera modellens prestanda.
Modellutvärderingsprocessen utlöses när träningen har slutförts. Utvärderingsprocessen sker med hjälp av den tränade modellen för att förutsäga användardefinierade klasser för filer i testuppsättningen och jämföra förutsägelserna med de angivna datataggar (grundsanning). Resultatet returneras till dig för att granska modellens prestanda.
Det första steget för att beräkna modellens utvärdering är att kategorisera de förutsagda etiketterna i någon av följande kategorier: sanna positiva resultat, falska positiva resultat eller falska negativa resultat. I följande tabell förklaras dessa villkor ytterligare.
Begrepp | Rätt/fel | Definition | Exempel |
---|---|---|---|
Sann positiv | Korrekt | Modellen förutsäger en kategori, och den stämmer överens med hur texten har taggats. | För ett comedy filmskript förutsägs klassen comedy . |
Falsk positiv | Felaktig | Modellen förutsäger fel klass för en specifik text. | För ett comedy filmskript förutsägs klassen drama . |
Falsk negativ | Felaktig | Systemet returnerar inte ett resultat när en mänsklig domare skulle returnera ett korrekt resultat. | För ett drama filmskript förutsägs klassen comedy . Endast i multiklassificering, för ett romance comedy filmskript, förutsägs klassen comedy , men klassen romance förutsägs inte. |
För klassificering med en etikett är det inte möjligt att ha ett falskt negativt, eftersom klassificeringsmodeller med en etikett alltid förutsäger en klass för varje fil. För en klassificering med flera etiketter räknas det som både ett falskt negativt och ett falskt positivt: ett falskt negativt för den taggade klassen och ett falskt positivt för den förutsagda klassen.
De föregående kategorierna används sedan för att beräkna precision, träffsäkerhet och F1-poäng. Dessa mått tillhandahålls som en del av tjänstens modellutvärdering. Här är måttdefinitionerna och hur de beräknas:
Precision: Måttet på modellens förmåga att förutsäga faktiska positiva klasser. Det är förhållandet mellan de förväntade sanna positiva och de faktiskt märkta positiva. Recall returnerar hur många förutsagda klasser som är korrekta.
Kom ihåg: Måttet på modellens förmåga att förutsäga faktiska positiva klasser. Det är förhållandet mellan de förväntade sanna positiva och de faktiskt märkta positiva. Recall returnerar hur många förutsagda klasser som är korrekta.
F1-poäng: En funktion av precision och träffsäkerhet. En F1-poäng krävs när du söker en balans mellan precision och träffsäkerhet.
Anmärkning
För enkel klassificering, eftersom antalet falska positiva och falska negativa värden alltid är lika, följer det att precision, återkallelse och F1-poängen alltid är lika.
Modellutvärderingspoäng kanske inte alltid är omfattande, särskilt om en specifik klass saknas eller är underrepresenterad i träningsdata. Detta kan inträffa om det inte finns tillräckligt många taggade filer i träningsfasen. Denna situation skulle påverka kvantiteten och kvaliteten på testuppdelningen, vilket kan påverka utvärderingens kvalitet.
Alla anpassade textklassificeringsmodeller förväntas uppleva både falska negativa och falska positiva fel. Du måste överväga hur varje typ av fel påverkar det övergripande systemet och noggrant tänka igenom scenarier där sanna händelser inte identifieras och felaktiga händelser identifieras. Beroende på ditt scenario kan precision eller återkallande vara ett lämpligare mått för att utvärdera modellens prestanda. Om ditt scenario handlar om biljetttriagering, kan en felaktig förutsägelse av kategorin leda till att biljetten skickas till fel team, vilket innebär extra tid och ansträngning. I det här fallet bör systemet vara mer känsligt för falska positiva, och precision skulle då vara ett mer relevant mått för utvärdering.
Om ditt scenario handlar om att kategorisera e-post som viktigt eller skräppost kan det leda till att du missar det om du inte förutsäger att ett visst e-postmeddelande är viktigt. Men om skräppost av misstag markerades som viktigt skulle du helt enkelt bortse från det. I det här fallet bör systemet vara mer känsligt för falska negativa, och återkallning skulle i så fall vara ett relevant utvärderingsmått.
Om du vill optimera för allmänna scenarier eller när precision och återkallande är lika viktigt är F1-poängen det mest relevanta måttet. Utvärderingspoängen är beroende av ditt scenario och ditt godkännandevillkor. Det finns inget absolut mått som fungerar för alla scenarier.
Systembegränsningar och metodtips för att förbättra systemets prestanda
Förstå tjänstbegränsningar: Det finns vissa begränsningar som tillämpas på användaren, till exempel antalet filer och klasser som finns i dina data eller entitetslängd. Läs mer om systembegränsningar.
Planera schemat: Identifiera de kategorier som du vill klassificera dina data i. Du måste planera schemat för att undvika tvetydigheter och ta hänsyn till komplexiteten i klasserna. Läs mer om rekommenderade metoder.
Välj träningsdata: Kvaliteten på träningsdata är en viktig faktor i modellkvaliteten. Om du använder olika och verkliga data som liknar de data som du förväntar dig under produktionen blir modellen mer robust och kan hantera verkliga scenarier bättre. Se till att inkludera alla layouter och format för text som ska användas i produktion. Om modellen inte exponeras för ett visst scenario eller en viss klass under träningen kan den inte identifiera den i produktion. Läs mer om rekommenderade metoder.
Tagga data korrekt: Kvaliteten på dina taggade data är en viktig faktor i modellens prestanda, och den anses vara den grundsanning som modellen lär sig av. Tagga exakt och konsekvent. När du taggar en specifik fil ser du till att du tilldelar den till den mest relevanta klassen. Kontrollera att liknande filer i dina data alltid är taggade med samma klass. Kontrollera att alla klasser är väl representerade och att du har en balanserad datadistribution mellan alla entiteter. Granska datadistributionen för att se till att alla dina klasser är korrekt representerade. Om en viss klass taggas mindre ofta än de andra kan den här klassen vara underrepresenterad och kanske inte identifieras korrekt av modellen under produktionen. I det här fallet bör du överväga att lägga till fler filer från den underrepresenterade klassen till dina träningsdata och sedan träna en ny modell.
Granska utvärderingen och förbättra modellen: När modellen har tränats kontrollerar du modellutvärderingen och förvirringsmatrisen. Den här recensionen hjälper dig att förstå var din modell gick fel och lär dig mer om klasser som inte presterar bra. Det anses också vara bästa praxis att granska testuppsättningen och visa de förutsagda och taggade klasserna sida vid sida. Det ger dig en bättre uppfattning om modellens prestanda och hjälper dig att avgöra om några ändringar i schemat eller taggarna är nödvändiga. Du kan också granska förvirringsmatrisen för att identifiera klasser som ofta av misstag förutsägs för att se om något kan göras för att förbättra modellens prestanda.
Allmänna riktlinjer för att förstå och förbättra prestanda
Följande riktlinjer hjälper dig att förstå och förbättra prestanda i anpassad textklassificering.
Förstå konfidenspoäng
När du har taggat data och tränat din modell måste du distribuera dem för att kunna användas i en produktionsmiljö. Att distribuera en modell innebär att göra den tillgänglig för användning via körnings-API: et för att förutsäga klasser för en skickad text. API:et returnerar ett JSON-objekt som innehåller den förutsagda klassen eller klasserna och konfidenspoängen. Konfidenspoängen är ett decimaltal mellan noll (0) och ett (1). Det fungerar som en indikator på hur säkert systemet är med sin förutsägelse. Ett högre värde indikerar högre förtroende för noggrannheten i det resultatet. Den returnerade poängen påverkas direkt av de data som du taggade när du skapade den anpassade modellen. Om användarens indata liknar de data som används i träning kan högre poäng och mer exakta förutsägelser förväntas. Om en viss klass konsekvent förutsägs med en låg konfidenspoäng kanske du vill undersöka taggade data och lägga till fler instanser för den här klassen och sedan träna om modellen.
Ange tröskelvärden för konfidenspoäng
Tröskelvärdet för konfidenspoäng kan justeras baserat på ditt scenario. Du kan automatisera beslut i ditt scenario baserat på konfidenspoängen som systemet returnerar. Du kan också ange ett visst tröskelvärde så att förutsagda klasser med konfidenspoäng som är högre eller lägre än det här tröskelvärdet behandlas annorlunda. Om en förutsägelse till exempel returneras med en konfidenspoäng under tröskelvärdet kan filen flaggas för ytterligare granskning.
Olika scenarier kräver olika metoder. Om åtgärderna som baseras på den förutsagda klassen får stora effekter kan du välja att ange ett högre tröskelvärde för att säkerställa att klassificeringen är korrekt. I det här fallet kan du förvänta dig färre falska positiva men fler falska negativa, vilket resulterar i högre precision. Om inget beslut med hög påverkan baserat på den förväntade klassen kommer att fattas i ditt scenario kan du acceptera ett lägre tröskelvärde eftersom du vill förutsäga alla möjliga klasser som kan gälla för den skickade texten (i klassificeringsfall med flera etiketter). I det här fallet kan du förvänta dig fler falska positiva identifieringar men färre falska negativa identifieringar. Resultatet är en högre återkallning.
Det är mycket viktigt att utvärdera systemet med de angivna tröskelvärdena med hjälp av verkliga data som systemet bearbetar i produktion för att fastställa effekterna på precision och återkallande.
Olika utbildningssessioner och ändringar i utvärderingen
Om du tränar om samma modell utan ändringar i taggade data resulterar det i samma modellutdata och därmed samma utvärderingspoäng. Om du lägger till eller tar bort taggar ändras modellens prestanda i enlighet med detta. Förutsatt att inga nya filer lades till under taggningen kan utvärderingspoängen jämföras med den tidigare versionen av modellen eftersom båda har samma filer i tränings- och testuppsättningarna.
Att lägga till nya filer eller träna en annan modell med slumpmässiga uppsättningsdelningar leder till olika filer i tränings- och testuppsättningar. Även om ändringar i utvärderingspoäng kan inträffa kan de inte jämföras direkt med andra modeller eftersom prestanda beräknas på olika delningar för testuppsättningar.
Granska felaktiga förutsägelser för att förbättra prestanda
När du har tränat din modell kan du granska information om modellutvärdering för att identifiera förbättringsområden. Mått på modellnivå ger information om den övergripande modellprestandan. Genom att observera prestandamått på klassnivå kan du identifiera om det finns några problem i en viss klass.
Om du märker att en viss klass har låga prestanda innebär det att modellen har problem med att förutsäga den. Det här problemet kan bero på ett tvetydigt schema, vilket innebär att klassen inte kan skiljas från andra klasser. Det kan också orsakas av en obalans i data, vilket innebär att den här klassen är underrepresenterad. I det här fallet måste du lägga till fler taggade exempel för modellen för att bättre förutsäga den här klassen.
Du kan också granska förvirringsmatrisen för att identifiera klasser som ofta av misstag förutsägs för att se om något kan göras för att förbättra modellens prestanda. Om du märker att en specifik klass ofta förutsägs som en annan klass är det en stark indikator på att dessa två klasser liknar varandra. Du kan behöva tänka om i schemat. Eller så kan du lägga till fler taggade exempel i din datauppsättning för att hjälpa modellen att skilja mellan dessa klasser.
När du har visat utvärderingsinformation för din modell kan du förbättra din modell. Med den här processen kan du visa de förutsagda och taggade klasserna sida vid sida för att avgöra vad som gick fel under modellutvärderingen. Om du upptäcker att vissa klasser upprepas omväxlande kan du överväga att lägga till dem alla i en högre ordning som representerar flera klasser för bättre förutsägelse.
Prestanda varierar mellan funktioner och språk
Med anpassad textklassificering kan du använda data på flera språk. Du kan ha flera filer i datauppsättningen med olika språk. Du kan också träna din modell på ett språk och använda den för att fråga efter text på andra språk. Om du vill använda flerspråkigt alternativ måste du aktivera det här alternativet när projektet skapas.
Om du märker låga poäng på ett visst språk kan du överväga att lägga till mer data på det här språket i din datauppsättning. Mer information om språk som stöds finns på [den här webbsidan/azure/ai-services/language-service/custom-text-classification/language-support).