Trénování vlastního modelu pomocí nástroje Sample Labeling

Tento obsah platí pro:Document Intelligence v2.1 checkmarkv2.1.

Tip

  • Pro vylepšené prostředí a pokročilou kvalitu modelu vyzkoušejte sadu Document Intelligence v3.0 Studio.
  • Sada v3.0 Studio podporuje jakýkoli model natrénovaný s daty označenými v2.1.
  • Podrobné informace o migraci z verze 2.1 na verzi 3.0 najdete v průvodci migrací rozhraní API.
  • Pokud chcete začít pracovat s V3.0, podívejte se na naše rychlé starty k rozhraní REST API nebo C#, Javě, JavaScriptu nebo sadě Python SDK.

V tomto článku použijete k trénování vlastního modelu s ručně označenými daty rozhraní REST API funkce Document Intelligence s ukázkovým popiskem.

Předpoklady

K dokončení tohoto projektu potřebujete následující zdroje:

  • Předplatné Azure: Můžete si ho vytvořit zdarma.
  • Jakmile budete mít předplatné Azure, vytvořte na webu Azure Portal prostředek Document Intelligence, abyste získali klíč a koncový bod. Po nasazení vyberte Přejít k prostředku.
    • Klíč a koncový bod z prostředku, který vytvoříte, potřebujete k připojení aplikace k rozhraní DOCUMENT Intelligence API. Klíč a koncový bod vložíte do kódu později v rychlém startu.
    • K vyzkoušení služby můžete použít cenovou úroveňF0 Free a později upgradovat na placenou úroveň pro produkční prostředí.
  • Sada alespoň šesti forem stejného typu. Tato data použijete k trénování modelu a otestování formuláře. Pro účely tohoto rychlého startu můžete použít ukázkovou datovou sadu (stažení a extrahování sample_data.zip). Nahrajte trénovací soubory do kořenového adresáře kontejneru úložiště objektů blob v účtu Azure Storage úrovně Standard.

Vytvoření prostředku Document Intelligence

Přejděte na web Azure Portal a vytvořte nový prostředek Document Intelligence. V podokně Vytvořit zadejte následující informace:

Podrobnosti projektu Popis
Předplatné Vyberte předplatné Azure, kterému byl udělen přístup.
Skupina prostředků Skupina prostředků Azure, která obsahuje váš prostředek. Můžete vytvořit novou skupinu nebo ji přidat do existující skupiny.
Oblast Umístění prostředku služeb Azure AI Různá umístění můžou mít latenci, ale nemají žádný vliv na dostupnost modulu runtime vašeho prostředku.
Název Popisný název vašeho prostředku Doporučujeme použít popisný název, například MyNameFormRecognizer.
Cenová úroveň Náklady na váš prostředek závisí na cenové úrovni, kterou zvolíte, a na využití. Další informace najdete v podrobnostech o cenách rozhraní API.
Zkontrolovat a vytvořit Vyberte tlačítko Zkontrolovat a vytvořit a nasaďte prostředek na webu Azure Portal.

Načtení klíče a koncového bodu

Po dokončení nasazení prostředku Document Intelligence ho vyhledejte a vyberte ze seznamu Všechny prostředky na portálu. Váš klíč a koncový bod se nacházejí na stránce Klíč a koncový bod prostředku v části Správa prostředků. Před přechodem uložte obě tyto možnosti do dočasného umístění.

Vyzkoušejte si to.

Vyzkoušejte online nástroj Popisování ukázek funkce Document Intelligence:

K vyzkoušení služby Document Intelligence potřebujete předplatné Azure (vytvořte si ho zdarma) a koncový bod prostředku Document Intelligence a klíč.

Nastavení nástroje Sample Labeling

Poznámka:

Pokud jsou vaše data úložiště za virtuální sítí nebo bránou firewall, musíte nasadit nástroj Document Intelligence Sample Labeling za virtuální sítí nebo bránou firewall a udělit přístup vytvořením spravované identity přiřazené systémem.

Ke spuštění nástroje Sample Labeling použijete modul Dockeru. Pomocí těchto kroků nastavte kontejner Dockeru. Základní informace o Dockeru a kontejnerech najdete v článku Docker Overview (Přehled Dockeru).

Tip

Nástroj popisování formulářů OCR je k dispozici také jako opensourcový projekt na GitHubu. Tento nástroj je webová aplikace TypeScript vytvořená pomocí React + Redux. Další informace nebo přispívání najdete v úložišti nástroje popisování formulářů OCR. Pokud si chcete nástroj vyzkoušet online, přejděte na web nástroje Popisování ukázek funkce Document Intelligence.

  1. Nejprve nainstalujte Docker na hostitelský počítač. V této příručce se dozvíte, jak používat místní počítač jako hostitele. Pokud chcete použít službu hostování Dockeru v Azure, přečtěte si průvodce nasazením ukázkového popisování .

    Hostitelský počítač musí splňovat následující hardwarové požadavky:

    Kontejner Minimum Doporučeno
    Ukázkový nástroj popisování 2 jádro, 4 GB paměti 4 jádro, 8 GB paměti

    Nainstalujte do počítače Docker podle příslušných pokynů pro váš operační systém:

  2. Pomocí příkazu získejte kontejner docker pull nástroje Sample Labeling.

     docker pull mcr.microsoft.com/azure-cognitive-services/custom-form/labeltool:latest-2.1
    
  3. Teď jste připraveni spustit kontejner s docker run.

     docker run -it -p 3000:80 mcr.microsoft.com/azure-cognitive-services/custom-form/labeltool:latest-2.1 eula=accept
    

    Tento příkaz zpřístupní nástroj pro vytváření ukázkových popisků prostřednictvím webového prohlížeče. Umožňuje přejít na http://localhost:3000.

Poznámka:

Dokumenty a trénování modelů můžete také označovat pomocí rozhraní REST API služby Document Intelligence. Pokud chcete trénovat a analyzovat pomocí rozhraní REST API, přečtěte si téma Trénovat s popisky pomocí rozhraní REST API a Pythonu.

Nastavení vstupních dat

Nejprve se ujistěte, že všechny trénovací dokumenty mají stejný formát. Pokud máte formuláře v několika formátech, uspořádejte je do podsložek na základě společného formátu. Když natrénujete, musíte rozhraní API nasměrovat na podsložku.

Konfigurace sdílení prostředků mezi doménami (CORS)

Povolte CORS ve vašem účtu úložiště. Na webu Azure Portal vyberte svůj účet úložiště a pak v levém podokně zvolte kartu CORS . Na dolním řádku vyplňte následující hodnoty. Vyberte Uložit nahoře.

  • Povolené původy = *
  • Povolené metody = [vybrat vše]
  • Povolené hlavičky = *
  • Vystavené hlavičky = *
  • Maximální věk = 200

CORS setup in the Azure portal

Připojení k nástroji Sample Labeling

Ukázkový nástroj popisování se připojí ke zdroji (původní nahrané formuláře) a cíli (vytvořené popisky a výstupní data).

Připojení můžete nastavit a sdílet napříč projekty. Používají rozšiřitelný model zprostředkovatele, takže můžete snadno přidat nové zdrojové nebo cílové zprostředkovatele.

Pokud chcete vytvořit nové připojení, vyberte na levém navigačním panelu ikonu New Připojení ions (plug).

Vyplňte pole následujícími hodnotami:

  • Zobrazovaný název – zobrazovaný název připojení.

  • Popis – popis projektu

  • Adresa URL SAS – adresa URL sdíleného přístupového podpisu (SAS) kontejneru služby Azure Blob Storage. Pokud chcete načíst adresu URL SAS pro trénovací data vlastního modelu, přejděte na webu Azure Portal k prostředku úložiště a vyberte kartu Průzkumník služby Storage. Přejděte do kontejneru, klikněte pravým tlačítkem a vyberte Získat sdílený přístupový podpis. Je důležité získat SAS pro váš kontejner, ne pro samotný účet úložiště. Ujistěte se, že jsou zaškrtnutá oprávnění ke čtení, zápisu, odstranění a seznamu, a klikněte na Vytvořit. Potom zkopírujte hodnotu v části adresa URL do dočasného umístění. Měla by mít tento formát: https://<storage account>.blob.core.windows.net/<container name>?<SAS value>.

    SAS URL retrieval

Connection settings of Sample Labeling tool.

Vytvoření nového projektu

V nástroji Ukázkový popisek ukládají projekty vaše konfigurace a nastavení. Vytvořte nový projekt a vyplňte pole následujícími hodnotami:

  • Zobrazovaný název – zobrazovaný název projektu
  • Token zabezpečení – Některá nastavení projektu můžou obsahovat citlivé hodnoty, jako jsou klíče nebo jiné sdílené tajné kódy. Každý projekt vygeneruje token zabezpečení, který lze použít k šifrování nebo dešifrování citlivých nastavení projektu. Tokeny zabezpečení najdete v Nastavení aplikace výběrem ikony ozubeného kola v dolní části levého navigačního panelu.
  • Zdrojová Připojení ion – připojení azure Blob Storage, které jste vytvořili v předchozím kroku, které chcete pro tento projekt použít.
  • Cesta ke složce – Volitelné – Pokud se zdrojové formuláře nacházejí ve složce v kontejneru objektů blob, zadejte název složky.
  • Identifikátor URI služby Document Intelligence – adresa URL koncového bodu funkce Document Intelligence
  • Klíč – váš klíč funkce Document Intelligence
  • Popis – Nepovinný – Popis projektu

New project page on Sample Labeling tool.

Označení formulářů

Když vytvoříte nebo otevřete projekt, otevře se hlavní okno editoru značek. Editor značek se skládá ze tří částí:

  • Podokno s možností změny velikosti v3.0, které obsahuje posuvný seznam formulářů ze zdrojového připojení.
  • Hlavní podokno editoru, které umožňuje použít značky.
  • Podokno editoru značek, které umožňuje uživatelům upravovat, zamknout, změnit pořadí a odstranit značky.

Identifikace textu a tabulek

Pokud chcete získat informace o rozložení textu a tabulky pro každý dokument, vyberte Spustit rozložení u nevisených dokumentů v levém podokně. Nástroj pro označování nakreslí ohraničující pole kolem každého textového prvku.

Nástroj pro popisky také ukazuje, které tabulky se automaticky extrahovali. Výběrem ikony tabulky nebo mřížky na levé straně dokumentu zobrazíte extrahovaný tabulku. V tomto rychlém startu, protože obsah tabulky se automaticky extrahuje, neoznačíme obsah tabulky, ale spíše spoléháme na automatizovanou extrakci.

Table visualization in Sample Labeling tool.

Pokud trénovací dokument ve verzi 2.1 nemá vyplněnou hodnotu, můžete nakreslit pole, kde má být hodnota. Oblast kreslení v levém horním rohu okna slouží k označení oblasti.

Použití popisků u textu

Dále vytvoříte značky (popisky) a použijete je u textových prvků, které má model analyzovat.

  1. Nejprve pomocí podokna editoru značek vytvořte značky, které chcete identifikovat.
    1. Vyberte + , pokud chcete vytvořit novou značku.
    2. Zadejte název značky.
    3. Stisknutím klávesy Enter značku uložte.
  2. V hlavním editoru vyberte slova ze zvýrazněných textových prvků nebo oblasti, do které jste nakreslili.
  3. Vyberte značku, kterou chcete použít, nebo stiskněte odpovídající klávesu klávesnice. Číselné klávesy se přiřazují jako klávesové zkratky pro prvních 10 značek. Značky můžete změnit pomocí ikon šipky nahoru a dolů v podokně editoru značek.
  4. Pokud chcete označit alespoň pět formulářů, postupujte podle těchto kroků.

    Tip

    Při označování formulářů mějte na paměti následující tipy:

    • U každého vybraného textového prvku můžete použít pouze jednu značku.
    • Každou značku lze použít pouze jednou na stránku. Pokud se hodnota zobrazí vícekrát ve stejném formuláři, vytvořte pro každou instanci různé značky. Příklad: "invoice# 1", "invoice# 2" atd.
    • Značky nemohou být rozloženy mezi stránkami.
    • Popisky hodnot, které se zobrazí ve formuláři; Nepokoušejte se rozdělit hodnotu na dvě části se dvěma různými značkami. Například pole adresy by mělo být označeno jednou značkou, i když bude přesahovat více řádků.
    • Nezahrnujte klíče do označených polí – pouze hodnoty.
    • Data tabulky by se měla rozpoznat automaticky a budou k dispozici v posledním výstupním souboru JSON. Pokud se ale modelu nepodaří rozpoznat všechna data tabulky, můžete tato pole ručně označit také. Označte každou buňku v tabulce jiným popiskem. Pokud formuláře obsahují tabulky s různými čísly řádků, ujistěte se, že alespoň jeden formulář označíte největší možnou tabulkou.
    • Pomocí tlačítek napravo od + tlačítka můžete vyhledávat, přejmenovávat, měnit pořadí a odstraňovat značky.
    • Pokud chcete odebrat použitou značku bez odstranění samotné značky, vyberte v zobrazení dokumentu označený obdélník a stiskněte klávesu Delete.

Main editor window of Sample Labeling tool.

Zadání typů hodnot značek

Pro každou značku můžete nastavit očekávaný datový typ. Otevřete místní nabídku napravo od značky a vyberte typ z nabídky. Tato funkce umožňuje algoritmus detekce provádět předpoklady, které zlepšují přesnost detekce textu. Také zajišťuje, aby zjištěné hodnoty byly vráceny ve standardizovaném formátu v konečném výstupu JSON. Informace o typu hodnoty se ukládají do souboru fields.json ve stejné cestě jako soubory štítků.

Value type selection with Sample Labeling tool

V současné době jsou podporovány následující typy hodnot a varianty:

  • string

    • výchozí, , no-whitespacesalphanumeric
  • number

    • Výchozí currency
    • Formátováno jako hodnota s plovoucí desetinou čárkou.
    • Příklad: 1234.98 v dokumentu je ve výstupu formátován na 1234.98.
  • date

    • výchozí, , dmymdyymd
  • time

  • integer

    • Formátováno jako celočíselná hodnota.
    • Příklad: 1234.98 v dokumentu je formátován do 123498 ve výstupu.
  • selectionMark

Poznámka:

Projděte si tato pravidla pro formátování data:

Aby formátování data fungovalo, musíte zadat formát (dmy, mdy, ymd).

Jako oddělovače data lze použít následující znaky: , - / . \. Prázdné znaky nelze použít jako oddělovač. Příklad:

  • 01,01,2020
  • 01-01-2020
  • 01/01/2020

Den a měsíc mohou být zapsány jako jedna nebo dvě číslice a rok může být dvou nebo čtyř číslic:

  • 1-1-2020
  • 1-01-20

Pokud má řetězec data osm číslic, je oddělovač volitelný:

  • 01012020
  • 01 01 2020

Měsíc lze také napsat jako celý nebo krátký název. Pokud je použit název, jsou oddělovací znaky volitelné. Tento formát však může být rozpoznán méně přesně než ostatní.

  • 01/Jan/2020
  • 01Jan2020
  • 01 Jan 2020

Tabulky popisků (jenom v2.1)

Někdy se vaše data můžou lépe označit jako tabulka než páry klíč-hodnota. V takovém případě můžete vytvořit značku tabulky tak, že vyberete Přidat novou značku tabulky. Určete, zda tabulka obsahuje pevný počet řádků nebo proměnlivý počet řádků v závislosti na dokumentu a definování schématu.

Configuring a table tag.

Po definování značky tabulky označte hodnoty buněk.

Labeling a table.

Trénování vlastního modelu

Výběrem ikony Trénovat v levém podokně otevřete stránku Školení. Pak vyberte tlačítko Trénovat a začněte trénovat model. Po dokončení trénování se zobrazí následující informace:

  • ID modelu – ID vytvořeného a natrénovaného modelu. Každé trénovací volání vytvoří nový model s vlastním ID. Zkopírujte tento řetězec do zabezpečeného umístění; Potřebujete ho, pokud chcete provádět prediktivní volání prostřednictvím rozhraní REST API nebo průvodce klientskou knihovnou.
  • Průměrná přesnost – průměrná přesnost modelu. Přesnost modelu můžete zlepšit přidáním a označováním dalších formulářů a následným trénováním a vytvořením nového modelu. Doporučujeme začít popisováním pěti formulářů a přidáním dalších formulářů podle potřeby.
  • Seznam značek a odhadovaná přesnost jednotlivých značek.

Training view.

Po dokončení trénování zkontrolujte hodnotu Average Accuracy (Průměrná přesnost ). Pokud je nízký, měli byste přidat další vstupní dokumenty a opakovat kroky popisování. Dokumenty, které jste už označili jako označené, zůstanou v indexu projektu.

Tip

Proces trénování můžete spustit také pomocí volání rozhraní REST API. Informace o tom, jak to udělat, najdete v tématu Trénovat pomocí popisků pomocí Pythonu.

Vytváření natrénovaných modelů

Pomocí modelu Compose můžete vytvořit až 200 modelů na jedno ID modelu. Při volání Analyzovat s složenou modelID, Document Intelligence klasifikuje formulář, který jste odeslali, zvolte nejlepší odpovídající model a pak vrátí výsledky pro daný model. Tato operace je užitečná, když příchozí formuláře můžou patřit do jedné z několika šablon.

  • Pokud chcete vytvářet modely v nástroji Sample Labeling, vyberte na navigačním panelu ikonu Model Compose (merging arrow).
  • Vyberte modely, které chcete vytvořit společně. Modely s ikonou šipek už jsou složené modely.
  • Zvolte tlačítko Vytvořit. V automaticky otevírané nabídce pojmenujte nový složený model a vyberte Vytvořit.
  • Po dokončení operace by se nově složený model měl zobrazit v seznamu.

Model compose UX view.

Analýza formuláře

Vyberte ikonu Analyzovat z navigačního panelu a otestujte model. Vyberte zdrojový místní soubor. Vyhledejte soubor a vyberte soubor z ukázkové datové sady, kterou jste rozbalil do testovací složky. Potom zvolte tlačítko Spustit analýzu a získejte páry klíč/hodnota, textové a tabulky predikce formuláře. Nástroj použije značky v ohraničujících polích a hlásí spolehlivost jednotlivých značek.

Screenshot of analyze-a-custom-form window

Tip

Můžete také spustit rozhraní API Pro analýzu pomocí volání REST. Informace o tom, jak to udělat, najdete v tématu Trénovat pomocí popisků pomocí Pythonu.

Zlepšení výsledků

V závislosti na hlášené přesnosti můžete chtít provést další trénování, aby se model zlepšil. Po dokončení předpovědi zkontrolujte hodnoty spolehlivosti pro každou z použitých značek. Pokud je průměrná hodnota trénování přesnosti vysoká, ale skóre spolehlivosti jsou nízké (nebo výsledky jsou nepřesné), přidejte do trénovací sady prediktivní soubor, označte ho a natrénujte znovu.

Hlášená průměrná přesnost, skóre spolehlivosti a skutečná přesnost mohou být nekonzistentní, když se analyzované dokumenty liší od dokumentů použitých při trénování. Mějte na paměti, že některé dokumenty vypadají podobně, když je lidé prohlížejí, ale můžou vypadat odlišně od modelu AI. Můžete například trénovat pomocí typu formuláře, který má dvě varianty, kde trénovací sada se skládá z 20% variace A a 80% varianty B. Během předpovědi budou skóre spolehlivosti pro dokumenty varianty A pravděpodobně nižší.

Uložení projektu a pozdější obnovení

Pokud chcete projekt obnovit jindy nebo v jiném prohlížeči, musíte uložit token zabezpečení projektu a znovu ho zadat později.

Získání přihlašovacích údajů projektu

Přejděte na stránku nastavení projektu (ikona posuvníku) a poznamenejte si název tokenu zabezpečení. Pak přejděte do nastavení aplikace (ikona ozubeného kola), která zobrazuje všechny tokeny zabezpečení v aktuální instanci prohlížeče. Vyhledejte token zabezpečení projektu a zkopírujte jeho název a hodnotu klíče do zabezpečeného umístění.

Obnovení přihlašovacích údajů projektu

Pokud chcete pokračovat v projektu, musíte nejprve vytvořit připojení ke stejnému kontejneru úložiště objektů blob. Uděláte to tak, že kroky zopakujete. Pak přejděte na stránku nastavení aplikace (ikona ozubeného kola) a zkontrolujte, jestli tam je token zabezpečení vašeho projektu. Pokud tomu tak není, přidejte nový token zabezpečení a zkopírujte název a klíč tokenu z předchozího kroku. Pokud chcete zachovat nastavení, vyberte Uložit .

Obnovení projektu

Nakonec přejděte na hlavní stránku (ikona domu) a vyberte Otevřít cloudový projekt. Pak vyberte připojení úložiště objektů blob a vyberte soubor projektu .fott . Aplikace načte všechna nastavení projektu, protože má token zabezpečení.

Další kroky

V tomto rychlém startu jste se naučili, jak pomocí nástroje Document Intelligence Sample Labeling vytrénovat model s ručně označenými daty. Pokud chcete vytvořit vlastní nástroj pro označování trénovacích dat, použijte rozhraní REST API, která se zabývají trénováním označených dat.