Metriky vyhodnocení pro vlastní modely rozpoznávání pojmenovaných entit

Datová sada je rozdělená na dvě části: sadu pro trénování a sadu pro testování. Trénovací sada se používá k trénování modelu, zatímco testovací sada se používá jako test modelu po trénování k výpočtu výkonu a vyhodnocení modelu. Testovací sada se do modelu nezavádí prostřednictvím trénovacího procesu, aby se zajistilo, že se model testuje na nových datech.

Vyhodnocení modelu se aktivuje automaticky po úspěšném dokončení trénování. Proces vyhodnocení začíná použitím vytrénovaného modelu k predikci entit definovaných uživatelem pro dokumenty v testovací sadě a jejich porovnáním s poskytnutými datovými značkami (které stanoví základní hodnoty pravdivosti). Výsledky se vrátí, abyste mohli zkontrolovat výkon modelu. Pro vyhodnocení používá vlastní NER následující metriky:

  • Přesnost: Měří přesnost a přesnost modelu. Jedná se o poměr mezi správně identifikovanými pozitivními výsledky (pravdivě pozitivními výsledky) a všemi identifikovanými pozitivními výsledky. Metrika přesnosti odhalí, kolik predikovaných entit je správně označených.

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

  • Vzpomeňte si: Měří schopnost modelu předpovědět skutečné pozitivní třídy. Jedná se o poměr mezi predikovanými pravdivě pozitivními výsledky a tím, co bylo skutečně označeno. Metrika úplnosti ukazuje, kolik předpovězených entit je správných.

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

  • Skóre F1: Skóre F1 je funkcí přesnosti a úplnosti. Je potřeba, když hledáte rovnováhu mezi přesností a úplností.

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

Poznámka

Přesnost, úplnost a skóre F1 se počítají pro každou entitu zvlášť (vyhodnocení na úrovni entity ) a pro model souhrnně (vyhodnocení na úrovni modelu ).

Metriky vyhodnocení na úrovni modelu a na úrovni entity

Skóre přesnosti, úplnosti a F1 se počítají pro každou entitu zvlášť (vyhodnocení na úrovni entity) a pro model souhrnně (vyhodnocení na úrovni modelu).

Definice přesnosti, úplnosti a vyhodnocení jsou stejné pro vyhodnocení na úrovni entity i modelu. Počty pravdivě pozitivních výsledků, falešně pozitivních výsledků a falešně negativních výsledků se ale můžou lišit. Podívejte se například na následující text.

Příklad

Prvním účastníkem této smlouvy je John Smith, rezident 5678 Main Rd., město Frederick, stát Nebraska. A druhá strana je Forrest Ray, rezident 123-345 Integer Rd., City of Corona, stát Nové Mexiko. Tam je také Fannie Thomas rezident 7890 River Road, město Colorado Springs, stát Colorado.

Model extrahující entity z tohoto textu může mít následující předpovědi:

Entita Predikováno jako Skutečný typ
Jan Macek Person (Osoba) Person (Osoba)
Frederick Person (Osoba) City (Město)
Forrest City (Město) Person (Osoba)
Fannie Thomas Person (Osoba) Person (Osoba)
Colorado Springs City (Město) City (Město)

Vyhodnocení entity na úrovni entity osoby

Model by pro entitu osoby měl následující vyhodnocení na úrovni entity:

Klíč Počet Vysvětlení
Pravdivě pozitivní 2 John Smith a Fannie Thomas byli správně předpovězeni jako osoba.
Falešně pozitivní 1 Frederick byl nesprávně predikován jako osoba , i když to mělo být město.
Falešně negativní 1 Forrest byl nesprávně predikován jako město , i když to mělo být osoba.
  • Přesnost: #True_Positive / (#True_Positive + #False_Positive) = 2 / (2 + 1) = 0.67
  • Odvolání: #True_Positive / (#True_Positive + #False_Negatives) = 2 / (2 + 1) = 0.67
  • F1 Skóre: 2 * Precision * Recall / (Precision + Recall) = (2 * 0.67 * 0.67) / (0.67 + 0.67) = 0.67

Vyhodnocení na úrovni entity pro entitu města

Model by pro entitu města měl následující vyhodnocení na úrovni entity:

Klíč Počet Vysvětlení
Pravdivě pozitivní 1 Colorado Springs byl správně předpovězen jako město.
Falešně pozitivní 1 Forrest byl nesprávně predikován jako město , i když to mělo být osoba.
Falešně negativní 1 Frederick byl nesprávně predikován jako osoba , i když to mělo být město.
  • Přesnost = #True_Positive / (#True_Positive + #False_Positive) = 1 / (1 + 1) = 0.5
  • Připomenout = #True_Positive / (#True_Positive + #False_Negatives) = 1 / (1 + 1) = 0.5
  • Skóre F1 = 2 * Precision * Recall / (Precision + Recall) = (2 * 0.5 * 0.5) / (0.5 + 0.5) = 0.5

Vyhodnocení na úrovni modelu pro kolektivní model

Model by měl v celém rozsahu následující vyhodnocení:

Klíč Počet Vysvětlení
Pravdivě pozitivní 3 John Smith a Fannie Thomas byli správně předpovězeni jako osoba. Colorado Springs byl správně předpovězen jako město. Toto je součet pravdivě pozitivních hodnot pro všechny entity.
Falešně pozitivní 2 Forrest byl nesprávně predikován jako město , i když to mělo být osoba. Frederick byl nesprávně predikován jako osoba , i když to mělo být město. Toto je součet falešně pozitivních výsledků pro všechny entity.
Falešně negativní 2 Forrest byl nesprávně predikován jako město , i když to mělo být osoba. Frederick byl nesprávně predikován jako osoba , i když to mělo být město. Toto je součet falešně negativních výsledků pro všechny entity.
  • Přesnost = #True_Positive / (#True_Positive + #False_Positive) = 3 / (3 + 2) = 0.6
  • Připomenout = #True_Positive / (#True_Positive + #False_Negatives) = 3 / (3 + 2) = 0.6
  • Skóre F1 = 2 * Precision * Recall / (Precision + Recall) = (2 * 0.6 * 0.6) / (0.6 + 0.6) = 0.6

Interpretace metrik vyhodnocení na úrovni entity

Co tedy vlastně znamená mít vysokou přesnost nebo vysokou úplnost pro určitou entitu?

Recall Přesnost Interpretace
Vysoká Vysoká Model tuto entitu dobře zvládá.
Nízká Vysoká Model nemůže vždy extrahovat tuto entitu, ale když to udělá, je to s vysokou jistotou.
Vysoká Nízká Model extrahuje tuto entitu dobře, ale s nízkou jistotou, protože se někdy extrahuje jako jiný typ.
Nízká Nízká Model tento typ entity špatně zpracovává, protože se obvykle neextrahuje. Pokud ano, není to s vysokou jistotou.

Pokyny

Po vytrénování modelu se zobrazí několik pokynů a doporučení, jak ho vylepšit. Doporučujeme mít model, který pokrývá všechny body v části s pokyny.

  • Trénovací sada obsahuje dostatek dat: Pokud má typ entity v trénovacích datech méně než 15 označených instancí, může to vést k nižší přesnosti kvůli tomu, že model není v těchto případech odpovídajícím způsobem natrénován. V takovém případě zvažte přidání dalších označených dat do trénovací sady. Další pokyny najdete na kartě Distribuce dat .

  • V testovací sadě se nacházejí všechny typy entit: Pokud v testovacích datech chybí označené instance pro typ entity, může být výkon testu modelu kvůli neotestovaným scénářům méně komplexní. Další pokyny najdete na kartě Distribuce dat testovací sady .

  • Typy entit jsou vyvážené v rámci trénovacích a testovacích sad: Pokud odchylka vzorkování způsobí nepřesnou reprezentaci četnosti typu entity, může to vést k nižší přesnosti, protože model očekává, že se tento typ entity bude vyskytovat příliš často nebo příliš málo. Další pokyny najdete na kartě Distribuce dat .

  • Typy entit jsou rovnoměrně rozdělené mezi trénovací a testovací sadu: Pokud se kombinace typů entit neshoduje mezi trénovací a testovací sadou, může to vést k nižší přesnosti testování, protože model se trénuje jinak, než jak se testuje. Další pokyny najdete na kartě Distribuce dat .

  • Nejasný rozdíl mezi typy entit v trénovací sadě: Pokud jsou trénovací data podobná pro více typů entit, může to vést k nižší přesnosti, protože typy entit mohou být často chybně klasifikovány jako navzájem. Projděte si následující typy entit a zvažte jejich sloučení, pokud jsou podobné. V opačném případě přidejte další příklady, abyste je od sebe lépe odlišili. Další pokyny najdete na kartě konfuzní matice .

Konfuzní matice

Konfuzní matice je matice N x N používaná pro vyhodnocení výkonu modelu, kde N je počet entit. Matice porovnává očekávané popisky s popisky predikovanými modelem. Získáte tak ucelený přehled o tom, jak dobře model funguje a jaké druhy chyb dělá.

Pomocí konfuzní matice můžete identifikovat entity, které jsou k sobě příliš blízko a často se mýlí (nejednoznačnost). V tomto případě zvažte sloučení těchto typů entit dohromady. Pokud to není možné, zvažte přidání dalších označených příkladů obou entit, které modelu pomohou je odlišit.

Zvýrazněná úhlopříčka na obrázku níže jsou správně předpovězené entity, kde předpovězená značka je stejná jako skutečná značka.

Snímek obrazovky s ukázkovou konfuzní maticí

Metriky vyhodnocení na úrovni entity a modelu můžete vypočítat z konfuzní matice:

  • Hodnoty v diagonále jsou pravdivě pozitivní hodnoty každé entity.
  • Součet hodnot v řádcích entity (s výjimkou diagonály) je falešně pozitivní výsledek modelu.
  • Součet hodnot ve sloupcích entity (s výjimkou diagonály) je falešně negativní hodnota modelu.

Podobně platí:

  • Pravdivě pozitivní výsledek modelu je součet pravdivě pozitivních hodnot pro všechny entity.
  • Falešně pozitivní výsledek modelu je součet falešně pozitivních výsledků pro všechny entity.
  • Falešně negativní hodnota modelu je součet falešně negativních výsledků pro všechny entity.

Další kroky