Utvärderingsmått för anpassade namngivna entitetsigenkänningsmodeller

Datamängden är uppdelad i två delar: en uppsättning för träning och en uppsättning för testning. Träningsuppsättningen används för att träna modellen, medan testuppsättningen används som ett test för modell efter träning för att beräkna modellens prestanda och utvärdering. Testuppsättningen introduceras inte i modellen genom träningsprocessen för att se till att modellen testas på nya data.

Modellutvärdering utlöses automatiskt när träningen har slutförts. Utvärderingsprocessen börjar med att använda den tränade modellen för att förutsäga användardefinierade entiteter för dokument i testuppsättningen och jämför dem med de angivna datataggar (som upprättar en baslinje för sanning). Resultaten returneras så att du kan granska modellens prestanda. För utvärdering använder anpassad NER följande mått:

  • Precision: Mäter hur exakt/exakt din modell är. Det är förhållandet mellan de korrekt identifierade positiva identifieringarna (sanna positiva identifieringar) och alla identifierade positiva identifieringar. Precisionsmåttet visar hur många av de förutsagda entiteterna som är korrekt märkta.

    Precision = #True_Positive / (#True_Positive + #False_Positive)

  • Kom ihåg: Mäter modellens förmåga att förutsäga faktiska positiva klasser. Det är förhållandet mellan de förutsagda sanna positiva och vad som faktiskt taggades. Återkallningsmåttet visar hur många av de förutsagda entiteterna som är korrekta.

    Recall = #True_Positive / (#True_Positive + #False_Negatives)

  • F1-poäng: F1-poängen är en funktion av Precision och Recall. Det behövs när du söker en balans mellan Precision och Recall.

    F1 Score = 2 * Precision * Recall / (Precision + Recall)

Kommentar

Precisions-, träffsäkerhets- och F1-poäng beräknas för varje entitet separat (utvärdering på entitetsnivå ) och för modellen tillsammans (utvärdering på modellnivå ).

Utvärderingsmått på modellnivå och entitetsnivå

Precision, träffsäkerhet och F1-poäng beräknas för varje entitet separat (utvärdering på entitetsnivå) och för modellen tillsammans (utvärdering på modellnivå).

Definitionerna av precision, återkallande och utvärdering är desamma för utvärderingar på både entitetsnivå och modellnivå. Antalet sanna positiva identifieringar, falska positiva identifieringar och falska negativa värden kan dock variera. Tänk till exempel på följande text.

Exempel

Den första parten i detta kontrakt är John Smith, bosatt i 5678 Main Rd., City of Frederick, delstaten Nebraska. Och den andra parten är Forrest Ray, bosatt i 123-345 Integer Rd., City of Corona, delstaten New Mexico. Det finns också Fannie Thomas bosatt i 7890 River Road, staden Colorado Springs, state of Colorado.

Modellen som extraherar entiteter från den här texten kan ha följande förutsägelser:

Enhet Förutsagt som Faktisk typ
John Svensson Person Person
Frederick Person City
Forrest City Person
Fannie Thomas Person Person
Colorado Fjädrar Ort Ort

Utvärdering på entitetsnivå för personentiteten

Modellen skulle ha följande utvärdering på entitetsnivå för personentiteten:

Nyckel Antal Förklaring
Sann positiv händelse 2 John Smith och Fannie Thomas förutspåddes korrekt som person.
Falsk positiv 1 Frederick förutspåddes felaktigt som person medan det borde ha varit stad.
Falsk negativ händelse 1 Forrest förutspåddes felaktigt som stad medan den borde ha varit person.
  • Precision: #True_Positive / (#True_Positive + #False_Positive) = 2 / (2 + 1) = 0.67
  • Återkalla: #True_Positive / (#True_Positive + #False_Negatives) = 2 / (2 + 1) = 0.67
  • F1-poäng: 2 * Precision * Recall / (Precision + Recall) = (2 * 0.67 * 0.67) / (0.67 + 0.67) = 0.67

Utvärdering på entitetsnivå för entiteten city

Modellen skulle ha följande utvärdering på entitetsnivå för entiteten city :

Nyckel Antal Förklaring
Sann positiv händelse 1 Colorado Springs förutspåddes korrekt som stad.
Falsk positiv 1 Forrest förutspåddes felaktigt som stad medan den borde ha varit person.
Falsk negativ händelse 1 Frederick förutspåddes felaktigt som person medan det borde ha varit stad.
  • Precision = #True_Positive / (#True_Positive + #False_Positive) = 1 / (1 + 1) = 0.5
  • Komma ihåg = #True_Positive / (#True_Positive + #False_Negatives) = 1 / (1 + 1) = 0.5
  • F1-poäng = 2 * Precision * Recall / (Precision + Recall) = (2 * 0.5 * 0.5) / (0.5 + 0.5) = 0.5

Utvärdering på modellnivå för den kollektiva modellen

Modellen skulle ha följande utvärdering för modellen i sin helhet:

Nyckel Antal Förklaring
Sann positiv händelse 3 John Smith och Fannie Thomas förutspåddes korrekt som person. Colorado Springs förutspåddes korrekt som stad. Det här är summan av sanna positiva identifieringar för alla entiteter.
Falsk positiv 2 Forrest förutspåddes felaktigt som stad medan den borde ha varit person. Frederick förutspåddes felaktigt som person medan det borde ha varit stad. Det här är summan av falska positiva identifieringar för alla entiteter.
Falsk negativ händelse 2 Forrest förutspåddes felaktigt som stad medan den borde ha varit person. Frederick förutspåddes felaktigt som person medan det borde ha varit stad. Det här är summan av falska negativa identifieringar för alla entiteter.
  • Precision = #True_Positive / (#True_Positive + #False_Positive) = 3 / (3 + 2) = 0.6
  • Komma ihåg = #True_Positive / (#True_Positive + #False_Negatives) = 3 / (3 + 2) = 0.6
  • F1-poäng = 2 * Precision * Recall / (Precision + Recall) = (2 * 0.6 * 0.6) / (0.6 + 0.6) = 0.6

Tolka utvärderingsmått på entitetsnivå

Så vad innebär det egentligen att ha hög precision eller hög träffsäkerhet för en viss entitet?

Återkalla Precision Tolkning
Högt Högt Den här entiteten hanteras väl av modellen.
Låg Hög Modellen kan inte alltid extrahera den här entiteten, men när den gör det är den med hög konfidens.
Högt Låg Modellen extraherar även den här entiteten, men den är med låg konfidens eftersom den ibland extraheras som en annan typ.
Låg Låg Den här entitetstypen hanteras dåligt av modellen eftersom den vanligtvis inte extraheras. När det är det är det inte med högt förtroende.

Vägledning

När du har tränat din modell får du viss vägledning och rekommendation om hur du kan förbättra modellen. Vi rekommenderar att du har en modell som täcker alla punkter i vägledningsavsnittet.

  • Träningsuppsättningen har tillräckligt med data: När en entitetstyp har färre än 15 märkta instanser i träningsdata kan det leda till lägre noggrannhet på grund av att modellen inte tränas tillräckligt i dessa fall. I det här fallet bör du överväga att lägga till mer märkta data i träningsuppsättningen. Mer information finns på fliken datadistribution .

  • Alla entitetstyper finns i testuppsättningen: När testdata saknar märkta instanser för en entitetstyp kan modellens testprestanda bli mindre omfattande på grund av otestade scenarier. Du kan kontrollera fliken datadistribution för testuppsättningen för mer vägledning.

  • Entitetstyper balanseras i tränings- och testuppsättningar: När samplingsfördomar orsakar en felaktig representation av en entitetstyps frekvens kan det leda till lägre noggrannhet på grund av att modellen förväntar sig att entitetstypen ska inträffa för ofta eller för lite. Mer information finns på fliken datadistribution .

  • Entitetstyper fördelas jämnt mellan tränings- och testuppsättningar: När blandningen av entitetstyper inte matchar mellan tränings- och testuppsättningar kan det leda till lägre testnoggrannhet på grund av att modellen tränas annorlunda än hur den testas. Mer information finns på fliken datadistribution .

  • Oklar skillnad mellan entitetstyper i träningsuppsättningen: När träningsdata är liknande för flera entitetstyper kan det leda till lägre noggrannhet eftersom entitetstyperna ofta felklassificeras som varandra. Granska följande entitetstyper och överväg att slå samman dem om de är liknande. Annars lägger du till fler exempel för att bättre skilja dem från varandra. Du kan kontrollera fliken för förvirringsmatris för mer vägledning.

Förvirringsmatris

En förvirringsmatris är en N x N-matris som används för utvärdering av modellprestanda, där N är antalet entiteter. Matrisen jämför de förväntade etiketterna med de som förutsägs av modellen. Detta ger en holistisk vy över hur bra modellen presterar och vilka typer av fel den gör.

Du kan använda matrisen Förvirring för att identifiera entiteter som är för nära varandra och ofta misstas (tvetydighet). I det här fallet bör du överväga att slå samman dessa entitetstyper. Om det inte är möjligt kan du överväga att lägga till fler taggade exempel på båda entiteterna för att hjälpa modellen att skilja mellan dem.

Den markerade diagonalen i bilden nedan är de korrekt förutsagda entiteterna, där den förutsagda taggen är samma som den faktiska taggen.

En skärmbild som visar ett exempel på en förvirringsmatris.

Du kan beräkna utvärderingsmåtten på entitetsnivå och modellnivå från förvirringsmatrisen:

  • Värdena i diagonalen är true positive-värdena för varje entitet.
  • Summan av värdena i entitetsraderna (exklusive diagonalen) är modellens falska positiva resultat .
  • Summan av värdena i entitetskolumnerna (exklusive diagonalen) är modellens falska negativa .

På samma sätt

  • Modellens verkliga positiva resultat är summan av sanna positiva identifieringar för alla entiteter .
  • Modellens falska positiva resultat är summan av falska positiva identifieringar för alla entiteter .
  • Modellens falska negativa är summan av falska negativa för alla entiteter .

Nästa steg