"Data zamčená v textu, zvuku, sociálních médiích a dalších nestrukturovaných zdrojích mohou být konkurenční výhodou pro firmy, které přijdou na to, jak je používat."
Pouze 18% organizací v a průzkum společnosti Deloitte za rok 2019 uvedl, že je schopen využívat nestrukturovaná data. Většina dat, mezi 80% a 90%, jsou nestrukturovaná data. To je velký nevyužitý zdroj, který má potenciál poskytnout podnikům konkurenční výhodu, pokud dokážou zjistit, jak jej používat. Může být obtížné najít statistiky z těchto dat, zejména pokud je třeba vynaložit úsilí na jejich klasifikaci, označení nebo označení. V této situaci může být užitečná vlastní klasifikace Amazon Comprehend. Amazon Comprehend je služba pro zpracování přirozeného jazyka (NLP), která využívá strojové učení k odhalování cenných poznatků a spojení v textu.
Kategorizace nebo klasifikace dokumentů má významné výhody napříč obchodními doménami –
- Vylepšené vyhledávání a načítání – Díky kategorizaci dokumentů do relevantních témat nebo kategorií je uživatelům mnohem snazší vyhledávat a získávat dokumenty, které potřebují. Mohou vyhledávat v konkrétních kategoriích a zúžit výsledky.
- Management znalostí – Systematická kategorizace dokumentů pomáhá organizovat znalostní základnu organizace. Usnadňuje vyhledání relevantních informací a zobrazení souvislostí mezi souvisejícím obsahem.
- Zjednodušené pracovní postupy – Automatické třídění dokumentů může pomoci zefektivnit mnoho obchodních procesů, jako je zpracování faktur, zákaznická podpora nebo dodržování předpisů. Dokumenty mohou být automaticky směrovány správným lidem nebo pracovním postupům.
- Úspora nákladů a času – Ruční kategorizace dokumentů je únavná, časově náročná a drahá. Techniky umělé inteligence mohou převzít tento světský úkol a kategorizovat tisíce dokumentů v krátkém čase s mnohem nižšími náklady.
- Generování vhledů – Analýza trendů v kategoriích dokumentů může poskytnout užitečné obchodní poznatky. Například nárůst stížností zákazníků v kategorii produktů může znamenat některé problémy, které je třeba řešit.
- Řízení a prosazování politiky – Nastavení pravidel kategorizace dokumentů pomáhá zajistit, aby byly dokumenty správně klasifikovány podle zásad organizace a norem řízení. To umožňuje lepší monitorování a audit.
- Personalizované zážitky – V kontextech, jako je obsah webových stránek, kategorizace dokumentů umožňuje uživatelům zobrazovat přizpůsobený obsah na základě jejich zájmů a preferencí, jak je určeno z jejich chování při procházení. To může zvýšit zapojení uživatelů.
Složitost vývoje modelu klasifikačního strojového učení na míru se liší v závislosti na různých aspektech, jako je kvalita dat, algoritmus, škálovatelnost a znalost domény, abychom zmínili několik. Je nezbytné začít s jasnou definicí problému, čistými a relevantními daty a postupně procházet různými fázemi vývoje modelu. Podniky si však mohou vytvořit své vlastní jedinečné modely strojového učení pomocí vlastní klasifikace Amazon Comprehend k automatickému zařazování textových dokumentů do kategorií nebo značek, aby vyhověly specifickým obchodním požadavkům a mapovaly se na obchodní technologie a kategorie dokumentů. Protože lidské označování nebo kategorizace již není nutné, může to podnikům ušetřit spoustu času, peněz a práce. Tento proces jsme zjednodušili automatizací celého tréninkového kanálu.
V první části tohoto vícesériového blogového příspěvku se dozvíte, jak vytvořit škálovatelný tréninkový kanál a připravit tréninková data pro modely Comprehend Custom Classification. Představíme vlastní kanál školení klasifikátorů, který lze nasadit na váš účet AWS pomocí několika kliknutí. Používáme datovou sadu zpráv BBC a budeme trénovat klasifikátor, aby identifikoval třídu (např. politika, sport), do které dokument patří. Potrubí umožní vaší organizaci rychle reagovat na změny a trénovat nové modely, aniž byste museli pokaždé začínat od nuly. Můžete snadno zvětšit a trénovat více modelů na základě vašich požadavků.
Předpoklady
- Aktivní účet AWS (Kliknutím sem vytvoříte nový účet AWS)
- Přístup k Amazon Comprehend, Amazon S3, Amazon Lambda, Amazon Step Function, Amazon SNS a Amazon CloudFormation
- Tréninková data (polostruktura nebo text) připravená v následující sekci
- Základní znalosti o Pythonu a strojovém učení obecně
Připravte si tréninková data
Toto řešení může mít vstup jako buď textový formát (např. CSV) popř polostrukturovaný formát (např. PDF).
Zadávání textu
Vlastní klasifikace Amazon Comprehend podporuje dva režimy: multi-class a multi-label.
V režimu více tříd může mít každý dokument přiřazenou jednu a pouze jednu třídu. Tréninková data by měla být připravena jako dvousloupcový soubor CSV, přičemž každý řádek souboru obsahuje jednu třídu a text dokumentu, který třídu demonstruje.
Příklad pro Dataset zpráv BBC:
V režimu více štítků má každý dokument přiřazenou alespoň jednu třídu, ale může jich mít i více. Školicí data by měla být jako dvousloupcový soubor CSV, přičemž každý řádek souboru obsahuje jednu nebo více tříd a text školícího dokumentu. Více než jedna třída by měla být označena pomocí oddělovače mezi každou třídou.
Soubor CSV by neměl obsahovat žádné záhlaví pro žádný z režimů školení.
Polostrukturovaný vstup
Od roku 2023 nyní Amazon Comprehend podporuje školicí modely pomocí polostrukturovaných dokumentů. Tréninková data pro vstup semistruktury se skládají ze sady označených dokumentů, což mohou být předem identifikované dokumenty z úložiště dokumentů, ke kterému již máte přístup. Níže je uveden příklad dat CSV souboru anotací požadovaných pro školení (Vzorek dat):
Soubor CSV s poznámkami obsahuje tři sloupce: První sloupec obsahuje štítek dokumentu, druhý sloupec je název dokumentu (tj. název souboru) a poslední sloupec je číslo stránky dokumentu, který chcete zahrnout do tréninková datová sada. Ve většině případů, pokud je soubor CSV s poznámkami umístěn ve stejné složce se všemi ostatními dokumenty, stačí zadat název dokumentu do druhého sloupce. Pokud je však soubor CSV umístěn v jiném umístění, musíte ve druhém sloupci zadat cestu k umístění, např. cesta/k/prefixu/document1.pdf
.
Podrobnosti o tom, jak připravit tréninková data, naleznete zde.
Přehled řešení
- Tréninkový kanál Amazon Comprehend se spustí, když jsou trénovací data (soubor .csv pro textový vstup a soubor .csv s poznámkami pro vstup semistruktury) nahrána do vyhrazeného segmentu Amazon Simple Storage Service (Amazon S3).
- Funkce AWS Lambda je vyvolána spouštěčem Amazon S3 tak, že pokaždé, když je objekt nahrán do určeného umístění Amazon S3, funkce AWS Lambda získá název zdrojového segmentu a název klíče nahraného objektu a předá je pracovnímu postupu funkce tréninkového kroku.
- Ve funkci tréninkového kroku se po obdržení názvu bloku tréninkových dat a názvu klíče objektu jako vstupních parametrů spustí pracovní postup tréninku vlastního modelu jako řada funkcí lambda, jak je popsáno:
Spusťte ComprehendTraining
: Tato funkce AWS Lambda definuje aComprehendClassifier
objekt v závislosti na typu vstupních souborů (tj. textové nebo polostrukturované) a poté zahájí úkol školení vlastní klasifikace Amazon Comprehend voláním create_document_classifier Application Programming Interfact (API), který vrací školení Job Amazon Resource Names (ARN) . Následně tato funkce vyvoláním zkontroluje stav cvičné úlohy description_document_classifier API. Nakonec vrátí ARN úlohy školení a stav úlohy jako výstup do další fáze pracovního postupu školení.GetTrainingJobStatus
: Tato AWS Lambda kontroluje stav úlohy školení každých 15 minut voláním description_document_classifier API, dokud se stav úlohy školení nezmění na Dokončeno nebo Neúspěšné.GenerateMultiClass
neboGenerateMultiLabel
: Pokud vyberete Ano pro zprávu o výkonu při spouštění zásobníku spustí jedna z těchto dvou AWS Lambda analýzu podle výstupů vašeho modelu Amazon Comprehend, který vygeneruje analýzu výkonu podle třídy a uloží ji do Amazon S3.GenerateMultiClass
: Tato AWS Lambda bude volána, pokud je váš vstup MultiClass a vybíráte Ano pro zprávu o výkonu.GenerateMultiLabel
: Tato AWS Lambda bude volána, pokud je váš vstup MultiLabel a vybíráte Ano pro zprávu o výkonu.
- Po úspěšném zaškolení řešení generuje následující výstupy:
- Vlastní model klasifikace: Vycvičený model ARN bude k dispozici ve vašem účtu pro budoucí práci s odvozením.
- Matice zmatku [Možnostl]: Matice zmatení (
zmatek_matice
.json) bude k dispozici v uživatelsky definovaném výstupu Amazon S3 path, v závislosti na výběru uživatele. - Upozornění služby Amazon Simple Notification Service [Možnostl]: Předplatitelům bude zaslán e-mail s upozorněním o stavu školicí úlohy v závislosti na počátečním výběru uživatele.
Návod
Spuštění řešení
Chcete-li nasadit kanál, proveďte následující kroky:
- Vybrat Spusťte zásobník knoflík:
- Vyberte Další
- Zadejte podrobnosti potrubí s možnostmi, které odpovídají vašemu případu použití:
Informace pro každý detail zásobníku:
- Název zásobníku (povinný) – název, který jste zadali pro tento zásobník AWS CloudFormation. Název musí být jedinečný v oblasti, ve které jej vytváříte.
- Q01ClassifierInputBucketName (povinné) – Název segmentu Amazon S3 pro ukládání vašich vstupních dat. Mělo by se jednat o globálně jedinečný název a zásobník AWS CloudFormation vám pomůže vytvořit kbelík při jeho spuštění.
- Q02ClassifierOutputBucketName (povinné) – Název segmentu Amazon S3 pro ukládání výstupů z Amazon Comprehend a potrubí. Měl by to být také globálně jedinečný název.
- Q03InputFormat – Rozbalovací nabídka, můžete si vybrat text (pokud jsou vaše tréninková data soubory csv) nebo polostruktura (jsou-li vaše tréninková data semistrukturovaná [např. soubory PDF]) na základě vašeho vstupního formátu dat.
- Q04Jazyk – Rozbalovací nabídka, výběr jazyka dokumentů ze seznamu podporovaných. Upozorňujeme, že v současné době je podporována pouze angličtina, pokud je váš vstupní formát semistrukturovaný.
- Q05MultiClass – Rozbalovací nabídka, vyberte Ano pokud je vaším vstupem režim MultiClass. V opačném případě vyberte Ne.
- Q06LabelDelimiter – Vyžaduje se pouze v případě, že je vaše odpověď Q05MultiClass Ne. Tento oddělovač se používá ve vašich tréninkových datech k oddělení každé třídy.
- Q07ValidationDataset – Rozbalovací nabídka, změňte odpověď na Ano pokud chcete otestovat výkon trénovaného klasifikátoru pomocí vlastních testovacích dat.
- Q08S3Cesta ověření – Vyžaduje se pouze v případě, že je vaše odpověď Q07ValidationDataset Ano.
- Q09Zpráva o výkonu – Rozbalovací nabídka, vyberte Ano pokud chcete po školení modelu vygenerovat zprávu o výkonu na úrovni třídy. Sestava se uloží do vámi zadaného výstupního segmentu v Q02ClassifierOutputBucketName.
- Q10EmailNotification – Rozbalovací nabídka. Vybrat Ano pokud chcete dostávat upozornění po vycvičení modelu.
- Q11EmailID – Zadejte platnou e-mailovou adresu pro příjem upozornění na zprávu o výkonu. Vezměte prosím na vědomí, že po spuštění zásobníku AWS CloudFormation musíte potvrdit odběr ze svého e-mailu, než budete moci obdržet oznámení o dokončení školení.
- V části Možnosti zásobníku Amazon Configure přidejte volitelné značky, oprávnění a další pokročilá nastavení.
- Vybrat další
- Zkontrolujte podrobnosti zásobníku a vyberte možnost Beru na vědomí, že AWS CloudFormation může vytvářet prostředky AWS IAM.
- Vybrat Předložit. Tím se zahájí nasazení kanálu ve vašem účtu AWS.
- Po úspěšném nasazení zásobníku můžete začít používat kanál. Vytvořit
/training-data
složku ve vašem určeném umístění Amazon S3 pro vstup. Poznámka: Amazon S3 automaticky použije šifrování na straně serveru (SSE-S3) pro každý nový objekt, pokud neurčíte jinou možnost šifrování. Další podrobnosti o ochraně dat a šifrování v Amazon S3 naleznete v části Ochrana dat v Amazon S3.
- Nahrajte svá tréninková data do složky. (Pokud jsou tréninková data polostrukturovaná, pak před nahráním informací štítku ve formátu .csv nahrajte všechny soubory PDF).
Jsi hotový! Úspěšně jste nasadili svůj kanál a stav kanálu můžete zkontrolovat ve funkci nasazeného kroku. (V panelu vlastní klasifikace Amazon Comprehend budete mít vyškolený model).
Pokud si vyberete model a jeho verzi v konzole Amazon Comprehend Console, můžete nyní zobrazit další podrobnosti o modelu, který jste právě trénovali. Zahrnuje režim, který vyberete, který odpovídá volbě Q05MultiClass, počet štítků a počet trénovaných a testovacích dokumentů ve vašich tréninkových datech. Můžete také zkontrolovat celkový výkon níže; pokud však chcete zkontrolovat podrobný výkon pro každou třídu, podívejte se na zprávu o výkonu generovanou nasazeným kanálem.
Kvóty služeb
Váš účet AWS má výchozí kvóty pro Amazon Comprehend a AmazonTextract, pokud jsou vstupy ve formátu semistruktury. Chcete-li zobrazit kvóty služeb, podívejte se zde na Amazon Comprehend a zde na AmazonTextract.
Uklidit
Abyste se vyhnuli průběžným poplatkům, po dokončení odstraňte prostředky, které jste vytvořili v rámci tohoto řešení.
- Na konzole Amazon S3 ručně odstraňte obsah uvnitř segmentů, které jste vytvořili pro vstupní a výstupní data.
- Na konzole AWS CloudFormation vyberte Hromady v navigačním panelu.
- Vyberte hlavní zásobník a vyberte Vymazat.
Tím se automaticky odstraní nasazený zásobník.
- Váš vyškolený model vlastní klasifikace Amazon Comprehend zůstane ve vašem účtu. Pokud jej již nepotřebujete, v konzoli Amazon Comprehend smažte vytvořený model.
Závěr
V tomto příspěvku jsme vám ukázali koncept škálovatelného tréninkového kanálu pro vlastní klasifikační modely Amazon Comprehend a poskytující automatizované řešení pro efektivní školení nových modelů. Poskytnutá šablona AWS CloudFormation vám umožňuje bez námahy vytvářet vlastní modely klasifikace textu, které vyhovují měřítkům poptávky. Řešení využívá nedávno oznámenou funkci Euclid a přijímá vstupy v textovém nebo polostrukturovaném formátu.
Nyní vás, naše čtenáře, vyzýváme, abyste tyto nástroje otestovali. Můžete najít další podrobnosti o přípravě tréninkových dat a porozumět vlastním metrikám klasifikátorů. Vyzkoušejte to a uvidíte z první ruky, jak to může zefektivnit váš tréninkový proces modelu a zvýšit efektivitu. Podělte se s námi o svůj názor!
O autorech
Sandeep Singh je Senior Data Scientist s profesionálními službami AWS. Je nadšený z toho, že pomáhá zákazníkům inovovat a dosahovat jejich obchodních cílů vývojem nejmodernějších řešení poháněných AI/ML. V současnosti se zaměřuje na generativní umělou inteligenci, LLM, rychlé inženýrství a škálování strojového učení napříč podniky. Přináší nedávné pokroky v oblasti umělé inteligence, aby vytvořil hodnotu pro zákazníky.
Yanyan Zhang je Senior Data Scientist v týmu Energy Delivery s profesionálními službami AWS. S nadšením pomáhá zákazníkům řešit skutečné problémy se znalostmi AI/ML. V poslední době se zaměřuje na zkoumání potenciálu generativní umělé inteligence a LLM. Mimo práci ráda cestuje, cvičí a poznává nové věci.
Wrick Talukdar je senior architekt týmu Amazon Comprehend Service. Spolupracuje se zákazníky AWS, aby jim pomohl zavést strojové učení ve velkém měřítku. Mimo práci rád čte a fotografuje.
zanechte odpověď