Postup přípravy dat a definování schématu pro vlastní NER

Pokud chcete vytvořit vlastní model NER, budete k jeho trénování potřebovat kvalitní data. Tento článek popisuje, jak byste měli vybrat a připravit data, spolu s definováním schématu. Definování schématu je prvním krokem v životním cyklu vývoje projektu a definuje typy a kategorie entit, které potřebujete, aby model za běhu extrahovali z textu.

Návrh schématu

Schéma definuje typy nebo kategorie entit, které potřebujete model extrahovat z textu za běhu.

  • Zkontrolujte dokumenty v datové sadě a seznamte se s jejich formátem a strukturou.

  • Identifikujte entity , které chcete z dat extrahovat.

    Pokud například extrahujete entity z e-mailů podpory, možná budete muset extrahovat "Jméno zákazníka", "Název produktu", "Datum žádosti" a "Kontaktní informace".

  • Vyhněte se nejednoznačnosti typů entit.

    K nejednoznačnosti dochází, když jsou typy entit, které vyberete, navzájem podobné. Čím nejednoznačitější je schéma, tím více označených dat budete muset rozlišovat mezi různými typy entit.

    Pokud například extrahujete data z právní smlouvy, abyste mohli extrahovat "Jméno první strany" a "Jméno druhé strany", budete muset přidat další příklady, abyste překonali nejednoznačnost, protože názvy obou stran vypadají podobně. Vyhněte se nejednoznačnosti, protože šetří čas, úsilí a přináší lepší výsledky.

  • Vyhněte se složitým entitám. Složité entity může být obtížné přesně vybrat z textu, zvažte jejich rozdělení do více entit.

    Například extrakce adresy by byla náročná, pokud není rozdělená na menší entity. Existuje tolik variant, jak adresy vypadají, a proto by bylo potřeba velkého počtu označených entit, aby model naučil extrahovat adresu jako celek, aniž by ji rozložil. Pokud ale "Address" nahradíte "Street Name", "PO Box", "City", "State" a "Zip", model bude vyžadovat méně popisků pro každou entitu.

Výběr dat

Kvalita dat, se kterými model vytrénujete, výrazně ovlivňuje výkon modelu.

  • K efektivnímu trénování modelu využijte data z reálného života, která odrážejí problémový prostor vaší domény. Syntetická data můžete použít k urychlení počátečního procesu trénování modelu, ale pravděpodobně se budou lišit od vašich reálných dat a při použití budou váš model méně efektivní.

  • Co nejvíce vyvažte distribuci dat, aniž byste se od distribuce v reálném životě odchýlili. Pokud například trénujete model tak, aby extrahoval entity z právních dokumentů, které mohou pocházet v mnoha různých formátech a jazycích, měli byste uvést příklady, které ilustrují rozmanitost, jak byste očekávali v reálném životě.

  • Kdykoli je to možné, používejte různá data, abyste se vyhnuli přeurčení modelu. Menší rozmanitost trénovacích dat může vést k tomu, že se model učí nechybné korelace, které nemusí existovat v datech reálného života.

  • Vyhněte se duplicitním dokumentům v datech. Duplicitní data mají negativní vliv na trénovací proces, metriky modelu a výkon modelu.

  • Zvažte, odkud vaše data pocházejí. Pokud shromažďujete data od jedné osoby, oddělení nebo části vašeho scénáře, pravděpodobně vám chybí rozmanitost, o které se váš model může dozvědět důležité.

Poznámka

Pokud máte dokumenty ve více jazycích, vyberte během vytváření projektu možnost Povolit vícejazyčné jazyky a nastavte možnost jazyka na jazyk většiny dokumentů.

Příprava dat

Jako předpoklad pro vytvoření projektu je potřeba nahrát trénovací data do kontejneru objektů blob ve vašem účtu úložiště. Trénovací dokumenty můžete vytvářet a nahrávat přímo z Azure nebo pomocí nástroje Průzkumník služby Azure Storage. Pomocí nástroje Průzkumník služby Azure Storage můžete rychle nahrát více dat.

Můžete použít .txt jenom dokumenty. Pokud jsou data v jiném formátu, můžete formát dokumentu změnit pomocí příkazu CLUtils parse .

Můžete nahrát datovou sadu s poznámkami nebo můžete nahrát datovou sadu bez poznámek a označit data popiskem v Language Studiu.

Testovací sada

Při definování testovací sady nezapomeňte zahrnout ukázkové dokumenty, které nejsou v trénovací sadě. Definování testovací sady je důležitým krokem pro výpočet výkonu modelu. Ujistěte se také, že testovací sada obsahuje dokumenty, které představují všechny entity použité v projektu.

Další kroky

Pokud jste to ještě neudělali, vytvořte vlastní projekt NER. Pokud vlastní NER používáte poprvé, zvažte vytvoření ukázkového projektu podle pokynů v rychlém startu . Další podrobnosti o tom, co potřebujete k vytvoření projektu, najdete také v článku s postupy .