Metrische evaluatiegegevens voor aangepaste benoemde entiteitsherkenningsmodellen

Uw gegevensset is onderverdeeld in twee delen: een set voor training en een set voor testen. De trainingsset wordt gebruikt om het model te trainen, terwijl de testset wordt gebruikt als test voor het model na de training om de prestaties en evaluatie van het model te berekenen. De testset wordt niet geïntroduceerd in het model via het trainingsproces, om ervoor te zorgen dat het model wordt getest op nieuwe gegevens.

Modelevaluatie wordt automatisch geactiveerd nadat de training is voltooid. Het evaluatieproces begint met het getrainde model om door de gebruiker gedefinieerde entiteiten te voorspellen voor documenten in de testset en vergelijkt deze met de opgegeven gegevenstags (waarmee een basislijn van waarheid wordt vastgesteld). De resultaten worden geretourneerd, zodat u de prestaties van het model kunt bekijken. Voor de evaluatie gebruikt aangepaste NER de volgende metrische gegevens:

  • Precisie: meet hoe nauwkeurig/nauwkeurig uw model is. Het is de verhouding tussen de correct geïdentificeerde positieven (terecht-positieven) en alle geïdentificeerde positieven. De metrische precisiegegevens laten zien hoeveel van de voorspelde entiteiten correct zijn gelabeld.

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

  • Relevante informatie: Meet het vermogen van het model om werkelijke positieve klassen te voorspellen. Het is de verhouding tussen de voorspelde terecht-positieven en wat daadwerkelijk is gelabeld. De metrische gegevens voor terughalen laten zien hoeveel van de voorspelde entiteiten juist zijn.

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

  • F1-score: de F1-score is een functie van Precisie en Relevante overeenkomsten. Dit is nodig wanneer u een balans zoekt tussen Precisie en Relevante overeenkomsten.

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

Notitie

Precisie, relevante overeenkomsten en F1-score worden afzonderlijk berekend voor elke entiteit (evaluatie op entiteitsniveau ) en voor het model gezamenlijk (evaluatie op modelniveau ).

Metrische evaluatiegegevens op model- en entiteitsniveau

De precisie-, terugroep- en F1-score worden voor elke entiteit afzonderlijk berekend (evaluatie op entiteitsniveau) en voor het model gezamenlijk (evaluatie op modelniveau).

De definities van precisie, terugroepactie en evaluatie zijn hetzelfde voor evaluaties op entiteitsniveau en op modelniveau. De aantallen voor terecht-positieven, fout-positieven en fout-negatieven kunnen echter verschillen. Bekijk bijvoorbeeld de volgende tekst.

Voorbeeld

De eerste partij van dit contract is John Smith, inwoner van 5678 Main Rd. En de tweede partij is Forrest Ray, inwoner van 123-345 Integer Rd., City of Corona, state of New Mexico. Er is ook Fannie Thomas inwoner van 7890 River Road, stad van Colorado Springs, Staat van Colorado.

Het model dat entiteiten uit deze tekst ophaalt, kan de volgende voorspellingen hebben:

Entiteit Voorspeld als Werkelijk type
Jan de Vries Person Person
Frederick Person Plaats
Forrest Plaats Person
Fannie Thomas Person Person
Colorado Springs Plaats Plaats

Evaluatie op entiteitsniveau voor de persoonsentiteit

Het model heeft de volgende evaluatie op entiteitsniveau voor de entiteit persoon :

Sleutel Count Uitleg
Terecht positief 2 John Smith en Fannie Thomas werden correct voorspeld als persoon.
Fout-positief 1 Frederick was onjuist voorspeld als persoon terwijl het stad had moeten zijn.
Fout-negatief 1 Forrest is onjuist voorspeld als stad terwijl het persoon had moeten zijn.
  • Precisie: #True_Positive / (#True_Positive + #False_Positive) = 2 / (2 + 1) = 0.67
  • Terughalen: #True_Positive / (#True_Positive + #False_Negatives) = 2 / (2 + 1) = 0.67
  • F1 Score: 2 * Precision * Recall / (Precision + Recall) = (2 * 0.67 * 0.67) / (0.67 + 0.67) = 0.67

Evaluatie op entiteitsniveau voor de stadentiteit

Het model heeft de volgende evaluatie op entiteitsniveau, voor de stadentiteit :

Sleutel Count Uitleg
Terecht positief 1 Colorado Springs werd correct voorspeld als stad.
Fout-positief 1 Forrest is onjuist voorspeld als stad terwijl het persoon had moeten zijn.
Fout-negatief 1 Frederick was onjuist voorspeld als persoon terwijl het stad had moeten zijn.
  • Precisie = #True_Positive / (#True_Positive + #False_Positive) = 1 / (1 + 1) = 0.5
  • Herinneren = #True_Positive / (#True_Positive + #False_Negatives) = 1 / (1 + 1) = 0.5
  • F1-score = 2 * Precision * Recall / (Precision + Recall) = (2 * 0.5 * 0.5) / (0.5 + 0.5) = 0.5

Evaluatie op modelniveau voor het collectieve model

Het model heeft dan de volgende evaluatie voor het model in zijn geheel:

Sleutel Count Uitleg
Terecht positief 3 John Smith en Fannie Thomas werden correct voorspeld als persoon. Colorado Springs werd correct voorspeld als stad. Dit is de som van de werkelijke positieven voor alle entiteiten.
Fout-positief 2 Forrest is onjuist voorspeld als stad terwijl het persoon had moeten zijn. Frederick was onjuist voorspeld als persoon terwijl het stad had moeten zijn. Dit is de som van fout-positieven voor alle entiteiten.
Fout-negatief 2 Forrest is onjuist voorspeld als stad terwijl het persoon had moeten zijn. Frederick werd ten onrechte voorspeld als persoon terwijl het stad had moeten zijn. Dit is de som van fout-negatieven voor alle entiteiten.
  • Precisie = #True_Positive / (#True_Positive + #False_Positive) = 3 / (3 + 2) = 0.6
  • Herinneren = #True_Positive / (#True_Positive + #False_Negatives) = 3 / (3 + 2) = 0.6
  • F1-score = 2 * Precision * Recall / (Precision + Recall) = (2 * 0.6 * 0.6) / (0.6 + 0.6) = 0.6

Metrische evaluatiegegevens op entiteitsniveau interpreteren

Dus wat betekent het eigenlijk om hoge precisie of hoge terugroepactie te hebben voor een bepaalde entiteit?

Relevante overeenkomsten Precisie Interpretatie
Hoog Hoog Deze entiteit wordt goed verwerkt door het model.
Beperkt Hoog Het model kan deze entiteit niet altijd extraheren, maar wanneer dit gebeurt, is het met hoge betrouwbaarheid.
Hoog Laag Het model extraheert deze entiteit goed, maar het is met een lage betrouwbaarheid omdat het soms wordt geëxtraheerd als een ander type.
Beperkt Beperkt Dit entiteitstype wordt slecht verwerkt door het model, omdat het meestal niet wordt geëxtraheerd. Als dat zo is, is het niet met hoge betrouwbaarheid.

Hulp

Nadat u uw model hebt getraind, ziet u enkele richtlijnen en aanbevelingen voor het verbeteren van het model. Het is raadzaam om een model te hebben dat alle punten in de sectie Richtlijnen beslaat.

  • Trainingsset bevat voldoende gegevens: wanneer een entiteitstype minder dan 15 gelabelde exemplaren in de trainingsgegevens heeft, kan dit leiden tot een lagere nauwkeurigheid omdat het model niet voldoende is getraind voor deze gevallen. In dit geval kunt u overwegen om meer gelabelde gegevens toe te voegen aan de trainingsset. U kunt het tabblad Gegevensdistributie controleren voor meer hulp.

  • Alle entiteitstypen zijn aanwezig in een testset: wanneer de testgegevens geen gelabelde exemplaren voor een entiteitstype bevatten, worden de testprestaties van het model mogelijk minder uitgebreid vanwege niet-geteste scenario's. U kunt het tabblad Gegevensdistributie van de testset controleren voor meer informatie.

  • Entiteitstypen worden verdeeld binnen trainings- en testsets: wanneer steekproeven een onjuiste weergave van de frequentie van een entiteitstype veroorzaken, kan dit leiden tot een lagere nauwkeurigheid omdat het model verwacht dat dat entiteitstype te vaak of te weinig voorkomt. U kunt het tabblad Gegevensdistributie controleren voor meer hulp.

  • Entiteitstypen worden gelijkmatig verdeeld over trainings- en testsets: wanneer de combinatie van entiteitstypen niet overeenkomt tussen trainings- en testsets, kan dit leiden tot een lagere nauwkeurigheid van het testen omdat het model anders wordt getraind dan hoe het wordt getest. U kunt het tabblad Gegevensdistributie controleren voor meer hulp.

  • Onduidelijk onderscheid tussen entiteitstypen in trainingsset: wanneer de trainingsgegevens voor meerdere entiteitstypen vergelijkbaar zijn, kan dit leiden tot een lagere nauwkeurigheid omdat de entiteitstypen vaak verkeerd als elkaar worden geclassificeerd. Bekijk de volgende entiteitstypen en overweeg deze samen te voegen als ze vergelijkbaar zijn. Voeg anders meer voorbeelden toe om ze beter van elkaar te onderscheiden. U kunt het tabblad verwarringsmatrix controleren voor meer hulp.

Verwarringsmatrix

Een verwarringsmatrix is een N x N-matrix die wordt gebruikt voor de evaluatie van modelprestaties, waarbij N het aantal entiteiten is. De matrix vergelijkt de verwachte labels met de labels die door het model zijn voorspeld. Dit geeft een holistische weergave van hoe goed het model presteert en wat voor soort fouten het maakt.

U kunt de verwarringsmatrix gebruiken om entiteiten te identificeren die te dicht bij elkaar staan en vaak verkeerd worden weergegeven (dubbelzinnigheid). In dit geval kunt u deze entiteitstypen samenvoegen. Als dat niet mogelijk is, kunt u overwegen om meer getagde voorbeelden van beide entiteiten toe te voegen om het model te helpen onderscheid te maken tussen deze entiteiten.

De diagonaal gemarkeerd in de onderstaande afbeelding zijn de correct voorspelde entiteiten, waarbij de voorspelde tag hetzelfde is als de werkelijke tag.

Een schermopname van een voorbeeld van een verwarringsmatrix.

U kunt de metrische gegevens voor evaluatie op entiteitsniveau en modelniveau berekenen op basis van de verwarringsmatrix:

  • De waarden in de diagonaal zijn de waar-positieve waarden van elke entiteit.
  • De som van de waarden in de entiteitsrijen (met uitzondering van de diagonale) is het fout-positieve van het model.
  • De som van de waarden in de entiteitskolommen (met uitzondering van de diagonale) is het fout-negatieve van het model.

Evenzo geldt

  • Het terecht-positieve van het model is de som van de werkelijke positieven voor alle entiteiten.
  • Het fout-positieve van het model is de som van de fout-positieven voor alle entiteiten.
  • Het fout-negatieve van het model is de som van de fout-negatieven voor alle entiteiten.

Volgende stappen