Jak vycvičit AI k analýze účtenek

16. 11. 2021 Azure, Programming

Chcete si vytvořit vlastní model, který vám bude umožnovat automaticky skenovat účtenky, a dozvědět se něco více o další službě využívající umělou inteligenci – AI? Přečtěte si tento článek, který vám ukáže postup tvorby vlastního modelu Form Recognizer.

Co je Form Recognizer?

Pomocí Form Recognizer můžete identifikovat extrahovat text, hodnoty, tabulky strukturu z dokumentů, formulářů, účtenek, ID, vizitek atd. Modely Form Recognizer můžete volat pomocí REST API nebo pomocí SDKs. Díky této AI službě můžete automatizovat zadávání dat ve svých aplikacích.

Co budete k této AI potřebovat?

Sestavení sady tréninkových dat

Sada tréninkových dat musí obsahovat minimálně pět dokumentů (PDF) nebo obrázků stejného typu. Na analýzu můžete použít účtenky, formuláře, vizitky atd. Já v tomto návodu budu používat pro analýzu právě účtenky.

Vytvoření Form Recognizer

Nejprve půjdete na portál Azure a v Marketplace si vyhledáte Form Recognizer. Kliknete na tlačítko Create.

Screenshot obrazovky z Azure portálu.
Ukázáno tlačítko Create, pro tvorbu Form Recognizer.
Tvorba Form Recognizer | zdroj: Azure portal

Dále pro docílení této AI vyplníte potřebné údaje: vyberete si předplatné, vytvoříte si novou Resource group, vyberete si lokaci nejbližší k vám a zvolíte si pricing tier F0. Potom kliknete na Review + create.

Screenshot obrazovky z Azure portálu. Doplnění potřebných údajů.
Doplnění údajů | zdroj: Azure portal

Kliknete na Go to resource a máte vytvořený Form Recognizer.

Screenshot obrazovky z Azure portálu. Ukázáno tlačítko Go to resource.
Přejít k prostředku | zdroj: Azure portal

Vytvoření Storage account a Kontejneru

Dále potřebujete vytvořit Storage account. V Marketplace si vyhledejte Storage account a kliknete na Create.

Screenshot obrazovky z Azure portálu. Ukázáno tlačítko Create pro vytvoření Storage account.
Tvorba Storage account | zdroj: Azure portal

Doplníte potřebné údaje: vyberete si předplatné, zvolíte si Resource group, kterou jste před chvílí vytvořili, nejbližší lokalitu, standartní výkon a Geo-redundant storage. Potom kliknete na Review + create a znovu na tlačítko Go to resource.

Screenshot obrazovky z Azure portálu. Doplnění potřebných údajů.
Doplnění údajů | zdroj: Azure portal

Když máte vytvořený Storage account, kliknete na Containers. Vytvoříte si nový kontejner, pojmenujete si ho jako Public access level, vyberete Blob a klinete na Create.

Screenshot obrazovky z Azure portálu. Tvorba kontejneru.
Tvorba kontejneru | zdroj: Azure portal

Dále rozkliknete nově vytvořený kontejner. Kliknete na Upload a vyberete vaši tréninkovou sadu dat, potom kliknete znovu na Upload.

Screenshot obrazovky z Azure portálu. Upload tréninkových dat do kontejneru.
Upload tréninkových dat | zdroj: Azure portal

Nakonfigurujte sdílení prostředků mezi doménami na Azure Blob storage. Klikněte na Resource sharing (CORS) a doplňte tam následující hodnoty:

Screenshot obrazovky z Azure portálu. Konfigurace CORS: Allowed origins: *, Allowed methods: 8 zaškrtlých, Allowed headers: *, Exposed headers: *, Max age: 200.
Konfigurace CORS | zdroj: Azure portal

Vytvoření vlastního modelu Form Recognizer

Na vytvoření a trénování vlastního modelu AI použijete Form Recognizer Sample Tool. Kliknete na Connections, na přidat Connections. Doplníte jméno, popis doplňovat nemusíte, u Provider necháte Azure blob container. Dále potřebujete SAS (Shared Access Signature) URI vašeho Azure Blob Storage kontejneru, proto se vrátíte na Azure portál.

Screenshot obrazovky z webové stránky Form Recognizer Tool. Připojení Azure blob kontejneru a doplnění údajů.
Připojení Azure blob kontejneru | zdroj: Form Recognizer Tool

Na Azure portálu kliknete na váš Storage account, potom vyberete Storage Explorer. Rozkliknete Blob Containers, pravým tlačítkem kliknete na váš vytvořený kontejner a vyberete Get Shared Access Signature.

Screenshot obrazovky z Azure portálu. Ukázáno tlačítko Get Shared Access Signature.
Získání Shared Access Signature | zdroj: Azure portal

Zvolte si datum a u povolení zaklikněte Read, Add, Create, Write, Delete a List. Ujistěte se, že máte zakliklé všechny. Potom zmáčkněte tlačítko Create.

Screenshot obrazovky z Azure portálu. Tvorba SAS.
Vytvoření SAS | zdroj: Azure portal

Zkopírujte URI, vraťte se zpátky, vložte URI do políčka pro SAS URI a klikněte na Save Connection.

Screenshot obrazovky z Azure portálu. Zkopírování SAS URI.
Zkopírování SAS URI | zdroj: Azure portal

Potom klikněte na Home a na Use Custom to train model with labels and get key value pairs. Doplňte jméno projektu, vyberte připojení, které jsme před chvílí vytvořili, Folder path vyplňovat nemusíte. Potom potřebujete Form Recognizer service URI a API klíč. Vrátíte se znovu na Azure portál a kliknete na vytvořený Form Recognizer.

Screenshot obrazovky z webové stránky Form Recognizer Tool. Připojení Form recognizer, doplnění údajů.
Připojení Form Recognizer | zdroj: Form Recognizer Tool

Zde kliknete na Keys and Endpoint a zkopírujete si klíč 1Endpoint, které doplníte do vynechaných kolonek. Potom klinete na Save Project.

Screenshot obrazovky z Azure portálu. Ukázáno místo, kde se nachází klíč 1 a endpoint.
Zkopírování 1. klíče a endpoint | zdroj: Azure portal

Trénování vlastního modelu Form Recognizer

Teď můžete začít s trénováním modelu. V Form Recognizer Sample Tool můžete vytvářet tagy a k nim přidávat daný text a hodnoty. Pro vytvoření tagu kliknete na + a pojmenujete si ho, potom vyberete text, hodnoty, které chcete přidat pod tento tag, a kliknete na něj. Pro každý tag můžete nastavit různý datový typ, když kliknete na daný tag a potom na string.

Poznámka: Na každý vybraný text, hodnotu můžete použít pouze jeden tag. Každý tag s daným názvem lze na stránku použít pouze jednou. Pomocí tlačítek napravo od + můžete tagy vyhledávat, přejmenovávat, měnit pořadí tagů a mazat tagy. Chcete-li odebrat text, hodnotu přiřazenou k tagu bez odstranění tagu, vyberte v dokumentu označený text, hodnotu a stiskněte Delete.

Screenshot obrazovky z webové stránky Form Recognizer Tool. Tvorba tagů.
Vytváření tagů | zdroj: Form Recognizer Tool

Lze také vytvářet různé tabulky dat. K vytvoření tabulky kliknete na ikonu tabulky. Zde si můžete vybrat mezi tabulkou s danou velikostí a tabulkou, kde můžete postupně přidávat řádky podle potřeby. Když máte vytvořenou tabulku, kliknete na Save.

Screenshot obrazovky z webové stránky Form Recognizer Tool. Tvorba tabulek.
Vytváření tabulek | zdroj: Form Recognizer Tool

Abyste přidali text a hodnoty do tabulky, rozkliknete ji, označíte daný text, hodnoty, a vložíte ho do tabulky. Pokud máte všechen text a hodnoty v tabulce, klikněte na Done. Když už máte vytvořené všechny tagy a tabulky, kliknete na Actions a vyberete Run Layout on all documents. Všechny tagy a tabulky se vytvoří automaticky i na ostatních účtenkách, dokumentech. U ostatních účtenek, dokumentů přidáte stejně text a hodnoty k vytvořeným tagům.

Screenshot obrazovky z webové stránky Form Recognizer Tool. Vytvoření různých tabulek.
Vytvoření tabulky | zdroj: Microsoft

Když máte všechny hodnoty a text přiřazený, kliknete na ikonu Train. Zde si zvolíte název modelu a stisknete Train.

Screenshot obrazovky z webové stránky Form Recognizer Tool. Trénování modelu.
Trénování modelu | zdroj: Form Recognizer Tool

Chvíli počkejte a potom se vám ukáže přesnost vašeho modelu u daných tagů. Pokud chcete zvýšit přesnost modelu, musíte přidat a analyzovat další data.

Screenshot obrazovky z webové stránky Form Recognizer Tool. Výsledek přesnosti modelu u jednotlivých tagů.
Výsledek přesnosti modelu | zdroj: Form Recognizer Tool

Lze také spojit modely dohromady, aby přesnost analýzy byla vyšší. Vyberete si minimálně dva modely a klikněte na Compose. Vytvoří se nový model, který si pojmenujete a kliknete na Compose.

Screenshot obrazovky z webové stránky Form Recognizer Tool. Spojení dvou modelů dohromady.
Spojení dvou modelů | zdroj: Form Recognizer Tool

Testování přesnosti modelu

Pokud si chcete otestovat přesnost vašeho modelu, kliknete na ikonu Analyze, vyberete si model pro analýzu a vložte účtenku, dokument, na které chcete udělat analýzu. Nepoužívejte stejné účtenky, dokumenty, které máte v tréninkové sadě dat.

Screenshot obrazovky z webové stránky Form Recognizer Tool. Zkušební analýza účtenky.
Zkušební analýza | zdroj: Form Recognizer Tool

Stiskněte Run analysis a vyjde vám výsledek přesnosti analýzy u jednotlivých tagů. Výsledek si můžete stáhnout ve formě JSON nebo CSV a taky můžete přidat tuto analýzu k tréninkové sadě dat.

Screenshot obrazovky z webové stránky Form Recognizer Tool. Výsledek zkušební analýzy u jednotlivých tagů.
Výsledek analýzy | zdroj: Form Recognizer Tool

Závěr

V tomto článku jsme se seznámili s Form Recognizer, další službou využívající AI, tedy umělou inteligenci, a ukázali jsme si, jak si lze snadno vytvořit a natrénovat vlastní model Form Recognizer. Ten si následně si přidat například do vaši aplikace pomocí REST API nebo SDKs. Pro více tipů pokračuj ve čtení našeho blogu, nebo zavítej na náš YouTbe kanál, kde tě čeká řada hodnotných videonávodů.