Sdílet prostřednictvím


Příprava dat a definování schématu pro vlastní NER

K vytvoření vlastního modelu NER potřebujete k trénování kvalitní data. Tento článek popisuje, jak 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 entit a kategorie, které potřebujete k extrakci z textu za běhu.

Návrh schématu

Schéma definuje typy entit nebo kategorie, které potřebujete k extrakci z textu během provádění.

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

  • Identifikujte entity, které chcete extrahovat z dat.

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

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

    Nejednoznačnost nastane, když jsou vybrané typy entit podobné sobě. Čím je vaše schéma nejednoznačnější, tím více označených dat potřebujete k rozlišení různých typů entit.

    Pokud například extrahujete data z právní smlouvy, abyste extrahovali "Jméno první strany" a "Jméno druhé strany", musíte přidat další příklady, abyste překončili 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ůžou být obtížné vybrat přesně z textu. Zvažte rozdělení do několika entit.

    Například extrakce adresy by byla náročná, pokud by nebyla rozdělena do menších entit. Existuje tolik variant, jak se adresy objevují, že by bylo potřeba velké množství označených entit, aby se model naučil extrahovat adresu jako celek, aniž by ji dělil na části. Pokud ale nahradíte "Address" za "Street Name", "PO Box", "City", "State" a "Zip", model vyžaduje méně popisků na entitu.

Výběr dat

Kvalita dat, se kterými model vytrénujete, má velký vliv na výkon modelu.

  • K efektivnímu trénování modelu použ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 liší se od dat v reálném životě a při použití je váš model méně efektivní.

  • Vyrovnejte distribuci dat co nejvíce, aniž byste se v reálném životě odchýlili od distribuce.

  • Pokud je to možné, používejte různá data, abyste se vyhnuli přeurčení modelu. Méně rozmanitosti v trénovacích datech může vést k tomu, že se model učí spurné 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 data pocházejí. Pokud shromažďujete data z 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 víc.

Poznámka:

Pokud jsou vaše dokumenty ve více jazycích, vyberte při vytváření projektu možnost povolit více jazyků a nastavte jazyk na jazyk většiny dokumentů.

Příprava dat

Předpokladem pro vytvoření projektu je nahrání trénovacích dat do kontejneru 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 další data.

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

Můžete nahrát datovou sadu s poznámkami nebo můžete nahrát neoznačené datové sady a označovat data.

Testovací sada

Při definování testovací sady nezapomeňte zahrnout ukázkové dokumenty, které nejsou přítomné v trénovací sadě. Definování testovací sady je důležitým krokem k výpočtu výkonu modelu. Také se ujistěte, že testovací sada obsahuje dokumenty, které představují všechny entity používané ve vašem projektu.

Další kroky

Pokud jste to ještě neudělali, vytvořte vlastní projekt NER. Pokud používáte vlastní NER poprvé, zvažte postupování podle rychlého průvodce pro vytvoření ukázkového projektu. Další informace najdete v článku s postupy.