Delen via


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 via het trainingsproces geïntroduceerd in het model 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 voor documenten in de testset te voorspellen 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 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 precisie geeft aan hoeveel van de voorspelde entiteiten correct zijn gelabeld.

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

  • Relevante overeenkomsten: 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 getagd. De relevante metrische gegevens geven aan 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 gegevens voor evaluatie op model- en entiteitsniveau

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

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

Opmerking

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

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

Entity Voorspeld als Werkelijk type
John Smith Persoon Persoon
Frederick Persoon City
Forrest City Persoon
Fannie Thomas Persoon Persoon
Colorado Springs Plaats Plaats

Evaluatie op entiteitsniveau voor de persoonsentiteit

Het model zou de volgende evaluatie op entiteitsniveau hebben voor de persoonsentiteit :

Sleutel Tellen 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 was onjuist voorspeld als stad terwijl het persoon had moeten zijn.
  • Precisie: #True_Positive / (#True_Positive + #False_Positive) = 2 / (2 + 1) = 0.67
  • Relevante overeenkomsten: #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 entiteit Plaats

Het model zou de volgende evaluatie op entiteitsniveau hebben voor de entiteit Plaats :

Sleutel Tellen Uitleg
Terecht positief 1 Colorado Springs werd correct voorspeld als stad.
Fout-positief 1 Forrest was 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 zou de volgende evaluatie voor het model in zijn geheel hebben:

Sleutel Tellen 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 terecht-positieven voor alle entiteiten.
Fout-positief 2 Forrest was 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 was 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-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

Wat betekent het eigenlijk om hoge precisie of hoge relevante overeenkomsten voor een bepaalde entiteit te hebben?

Intrekken Precisie Interpretatie
Hoog Hoog Deze entiteit wordt goed verwerkt door het model.
Laag Hoog Het model kan deze entiteit niet altijd extraheren, maar wanneer dit met hoge betrouwbaarheid gebeurt.
Hoog Beperkt 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 het is, is het niet met hoge betrouwbaarheid.

Richtlijn

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

  • Trainingsset heeft voldoende gegevens: wanneer een entiteitstype minder dan 15 gelabelde exemplaren in de trainingsgegevens heeft, kan dit leiden tot lagere nauwkeurigheid omdat het model niet voldoende wordt getraind in deze gevallen. In dit geval kunt u meer gelabelde gegevens toevoegen in de trainingsset. U kunt het tabblad Gegevensdistributie controleren voor meer richtlijnen.

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

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

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

  • Onduidelijk onderscheid tussen entiteitstypen in trainingsset: Wanneer de trainingsgegevens vergelijkbaar zijn voor meerdere entiteitstypen, kan dit leiden tot lagere nauwkeurigheid omdat de entiteitstypen vaak verkeerd worden geclassificeerd als elkaar. Bekijk de volgende entiteitstypen en overweeg ze 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 richtlijnen.

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 welke soorten fouten het maakt.

U kunt de verwarringsmatrix gebruiken om entiteiten te identificeren die zich te dicht bij elkaar bevinden en vaak per ongeluk (dubbelzinnigheid) worden geïdentificeerd. 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 gemarkeerde diagonale in de onderstaande afbeelding zijn de correct voorspelde entiteiten, waarbij de voorspelde tag hetzelfde is als de werkelijke tag.

Een schermopname met een voorbeeld van verwarringsmatrix.

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

  • De waarden in de diagonale waarde zijn de terecht-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 de fout-negatieve waarde van het model.

Dit is vergelijkbaar met het volgende.

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

Volgende stappen