Rychlý start: Rozpoznávání vlastních pojmenovaných entit

V tomto článku můžete začít vytvářet vlastní projekt NER, ve kterém můžete trénovat vlastní modely pro rozpoznávání vlastních entit. Model je software umělé inteligence, který je natrénovaný k určitému úkolu. V tomto systému modely extrahují pojmenované entity a trénují se učením z označených dat.

V tomto článku používáme Language Studio k předvedení klíčových konceptů vlastního rozpoznávání pojmenovaných entit (NER). Jako příklad vytvoříme vlastní model NER pro extrakci relevantních entit z úvěrových smluv, například:

  • Datum smlouvy
  • Jméno, adresa, město a stát dlužníka
  • Jméno, adresa, město a stát věřitele
  • Půjčka a úroky

Požadavky

Vytvoření nového prostředku Azure AI Language a účtu úložiště Azure

Než budete moct použít vlastní NER, budete muset vytvořit prostředek jazyka Azure AI, který vám poskytne přihlašovací údaje, které potřebujete k vytvoření projektu a zahájení trénování modelu. Budete také potřebovat účet úložiště Azure, kde můžete nahrát datovou sadu, která se použije k sestavení modelu.

Důležité

Pokud chcete rychle začít, doporučujeme vytvořit nový prostředek azure AI Language pomocí kroků uvedených v tomto článku. Pomocí kroků v tomto článku můžete vytvořit prostředek jazyka a účet úložiště současně, což je jednodušší než později.

Pokud máte již existující prostředek, který chcete použít, budete ho muset připojit k účtu úložiště. Informace najdete v doprovodných materiálech k použití již existujícího prostředku .

Vytvoření nového prostředku z webu Azure Portal

  1. Přihlaste se k webu Azure Portal a vytvořte nový prostředek jazyka Azure AI.

  2. V zobrazeném okně vyberte vlastní klasifikaci textu a rozpoznávání vlastních pojmenovaných entit z vlastních funkcí. Vyberte Pokračovat a vytvořte prostředek v dolní části obrazovky.

    A screenshot showing custom text classification & custom named entity recognition in the Azure portal.

  3. Vytvořte prostředek jazyka s následujícími podrobnostmi.

    Název Popis
    Předplatné Vaše předplatné Azure.
    Skupina prostředků Skupina prostředků, která bude obsahovat váš prostředek. Můžete použít existující nebo vytvořit nový.
    Oblast Oblast vašeho prostředku Jazyk. Například "USA – západ 2".
    Název Název vašeho prostředku
    Cenová úroveň Cenová úroveň vašeho prostředku Jazyk. Službu můžete vyzkoušet pomocí úrovně Free (F0).

    Poznámka:

    Pokud se zobrazí zpráva"Váš přihlašovací účet není vlastníkem skupiny prostředků vybraného účtu úložiště", musí mít váš účet přiřazenou roli vlastníka pro skupinu prostředků, abyste mohli vytvořit prostředek jazyka. Požádejte o pomoc vlastníka předplatného Azure.

  4. V části Vlastní klasifikace textu a rozpoznávání vlastních pojmenovaných entit vyberte existující účet úložiště nebo vyberte Nový účet úložiště. Tyto hodnoty vám pomůžou začít, a ne nutně hodnoty účtu úložiště, které budete chtít použít v produkčních prostředích. Abyste se vyhnuli latenci při sestavování projektu, připojte se k účtům úložiště ve stejné oblasti jako prostředek jazyka.

    Hodnota účtu úložiště Doporučená hodnota
    Název účtu úložiště Libovolný název
    Storage account type Standardní LRS
  5. Ujistěte se, že je zaškrtnuté příslušné oznámení O umělé inteligenci. V dolní části stránky vyberte Zkontrolovat a vytvořit a pak vyberte Vytvořit.

Nahrání ukázkových dat do kontejneru objektů blob

Po vytvoření účtu úložiště Azure a jeho připojení k prostředku jazyka budete muset nahrát dokumenty z ukázkové datové sady do kořenového adresáře kontejneru. Tyto dokumenty se později použijí k trénování modelu.

  1. Stáhněte si ukázkovou datovou sadu z GitHubu.

  2. Otevřete soubor .zip a extrahujte složku obsahující dokumenty.

  3. Na webu Azure Portal přejděte k účtu úložiště, který jste vytvořili, a vyberte ho.

  4. V účtu úložiště vyberte v nabídce vlevo kontejnery umístěné pod úložištěm dat. Na obrazovce, která se zobrazí, vyberte + Kontejner. Pojmenujte kontejner ukázková data a ponechte výchozí úroveň veřejného přístupu.

    A screenshot showing the main page for a storage account.

  5. Po vytvoření kontejneru ho vyberte. Pak vyberte tlačítko Nahrát a .json vyberte soubory.txt, které jste stáhli dříve.

    A screenshot showing the button for uploading files to the storage account.

Zadaná ukázková datová sada obsahuje 20 smluv o půjčkách. Každá smlouva zahrnuje dvě strany: věřitele a dlužníka. Pomocí poskytnutého ukázkového souboru můžete extrahovat relevantní informace pro obě strany, datum smlouvy, částku půjčky a úrokovou sazbu.

Vytvoření projektu pro rozpoznávání vlastních pojmenovaných entit

Po nakonfigurování prostředku a účtu úložiště vytvořte nový vlastní projekt NER. Projekt je pracovní oblast pro vytváření vlastních modelů ML na základě vašich dat. K vašemu projektu má přístup jenom vy a ostatní, kteří mají přístup k používanému prostředku jazyka.

  1. Přihlaste se k sadě Language Studio. Zobrazí se okno, ve které můžete vybrat předplatné a prostředek jazyka. Vyberte prostředek jazyka, který jste vytvořili v předchozím kroku.

  2. V části Extrahovat informace v sadě Language Studio vyberte rozpoznávání vlastních pojmenovaných entit.

    A screenshot showing the location of custom NER in the Language Studio landing page.

  3. V horní nabídce na stránce projektů vyberte Vytvořit nový projekt . Vytvoření projektu vám umožní označit data, trénovat, vyhodnocovat, vylepšovat a nasazovat modely.

    A screenshot of the project creation page.

  4. Po kliknutí na možnost Vytvořit nový projekt se zobrazí okno, které vám umožní připojit účet úložiště. Pokud jste už připojili účet úložiště, zobrazí se účet úložiště připojený. Pokud ne, zvolte účet úložiště v rozevíracím seznamu, který se zobrazí, a vyberte Připojení účet úložiště. Tím se nastaví požadované role pro váš účet úložiště. Tento krok pravděpodobně vrátí chybu, pokud nejste v účtu úložiště přiřazeni jako vlastník .

    Poznámka:

    • Tento krok stačí provést jenom jednou pro každý nový prostředek, který používáte.
    • Tento proces je nevratný, pokud k prostředku jazyka připojíte účet úložiště, nemůžete ho později odpojit.
    • Prostředek jazyka můžete připojit pouze k jednomu účtu úložiště.

    A screenshot showing the storage connection screen.

  5. Zadejte informace o projektu, včetně názvu, popisu a jazyka souborů v projektu. Pokud používáte ukázkovou datovou sadu, vyberte angličtinu. Později nebudete moct změnit název projektu. Vyberte Další.

    Tip

    Vaše datová sada nemusí být úplně ve stejném jazyce. Můžete mít více dokumentů, z nichž každý má různé podporované jazyky. Pokud vaše datová sada obsahuje dokumenty různých jazyků nebo pokud očekáváte text z různých jazyků během běhu, vyberte možnost povolit vícejazyčnou datovou sadu , když zadáte základní informace o projektu. Tuto možnost můžete povolit později na stránce Nastavení projektu.

  6. Vyberte kontejner, do kterého jste datovou sadu nahráli. Pokud jste už označili data, ujistěte se, že se řídí podporovaným formátem , a vyberte Ano, soubory jsou už označené a mám formátovaný soubor popisků JSON a v rozevírací nabídce vyberte soubor štítků. Vyberte Další.

  7. Zkontrolujte zadaná data a vyberte Vytvořit projekt.

Trénování vašeho modelu

Obvykle po vytvoření projektu začnete označovat dokumenty , které máte v kontejneru připojeném k projektu. V tomto rychlém startu jste naimportovali ukázkovou označenou datovou sadu a inicializovali projekt pomocí ukázkového souboru značek JSON.

Zahájení trénování modelu v sadě Language Studio:

  1. V nabídce na levé straně vyberte Úlohy trénování .

  2. V horní nabídce vyberte Spustit trénovací úlohu .

  3. Vyberte Vytrénovat nový model a do textového pole zadejte název modelu. Existující model můžete také přepsat tak, že vyberete tuto možnost a zvolíte model, který chcete přepsat z rozevírací nabídky. Přepsání natrénovaného modelu je nevratné, ale nebude mít vliv na nasazené modely, dokud nový model nenasadíte.

    Create a new training job

  4. Vyberte metodu rozdělení dat. Můžete zvolit automatické rozdělení testovací sady z trénovacích dat , kde systém rozdělí označená data mezi trénovací a testovací sady podle zadaných procent. Nebo můžete použít ruční rozdělení trénovacích a testovacích dat, tato možnost je povolená jenom v případě, že jste do testovací sady přidali dokumenty během označování dat. Informace o rozdělení dat najdete v tématu Jak vytrénovat model .

  5. Vyberte tlačítko Trénovat.

  6. Pokud v seznamu vyberete ID trénovací úlohy, zobrazí se boční podokno, kde můžete zkontrolovat průběh trénování, stav úlohy a další podrobnosti o této úloze.

    Poznámka:

    • Pouze úspěšně dokončené trénovací úlohy vygenerují modely.
    • Trénování může trvat několik minut až několik hodin na základě velikosti označených dat.
    • Najednou můžete mít spuštěnou pouze jednu úlohu trénování. V rámci stejného projektu nemůžete spustit další úlohu trénování, dokud se nedokončí spuštěná úloha.

Nasazení modelu

Obecně platí, že po trénování modelu byste zkontrolovali podrobnosti o jeho vyhodnocení a v případě potřeby provedli vylepšení . V tomto rychlém startu jednoduše nasadíte model a zpřístupníte ho pro vyzkoušení v sadě Language Studio nebo můžete volat rozhraní API pro predikce.

Nasazení modelu v sadě Language Studio:

  1. V nabídce na levé straně vyberte Nasazení modelu .

  2. Vyberte Přidat nasazení a spusťte novou úlohu nasazení.

    A screenshot showing the deployment button

  3. Výběrem možnosti Vytvořit nové nasazení vytvořte nové nasazení a v rozevíracím seznamu níže přiřaďte natrénovaný model. Existující nasazení můžete také přepsat tak, že vyberete tuto možnost a v rozevíracím seznamu níže vyberete natrénovaný model, který k němu chcete přiřadit.

    Poznámka:

    Přepsání existujícího nasazení nevyžaduje změny volání rozhraní API pro predikce, ale výsledky, které získáte, budou založené na nově přiřazeného modelu.

    A screenshot showing the deployment screen

  4. Výběrem možnosti Nasadit spustíte úlohu nasazení.

  5. Po úspěšném nasazení se vedle něj zobrazí datum vypršení platnosti. Vypršení platnosti nasazení je v případě, že nasazený model nebude dostupný pro predikci, což obvykle nastane dvanáct měsíců po vypršení platnosti konfigurace trénování.

Testování modelu

Po nasazení modelu ho můžete začít používat k extrakci entit z textu prostřednictvím rozhraní API pro predikce. V tomto rychlém startu použijete Language Studio k odeslání úlohy rozpoznávání vlastních entit a vizualizaci výsledků. V ukázkové datové sadě, kterou jste si stáhli dříve, najdete některé testovací dokumenty, které můžete použít v tomto kroku.

Testování nasazených modelů v sadě Language Studio:

  1. V nabídce na levé straně vyberte Testovací nasazení .

  2. Vyberte nasazení, které chcete otestovat. Můžete testovat jenom modely, které jsou přiřazené k nasazením.

  3. V případě vícejazyčných projektů v rozevíracím seznamu jazyka vyberte jazyk textu, který testujete.

  4. V rozevíracím seznamu vyberte nasazení, které chcete dotazovat nebo testovat.

  5. Můžete zadat text, který chcete odeslat do žádosti, nebo nahrát .txt soubor, který chcete použít.

  6. V horní nabídce vyberte Spustit test .

  7. Na kartě Výsledek můžete zobrazit extrahované entity z textu a jejich typů. Odpověď JSON můžete zobrazit také na kartě JSON .

A screenshot showing the model test results.

Vyčištění prostředků

Pokud už projekt nepotřebujete, můžete projekt odstranit pomocí sady Language Studio. V horní části vyberte Rozpoznávání vlastních pojmenovaných entit (NER), vyberte projekt, který chcete odstranit, a pak v horní nabídce vyberte Odstranit .

Požadavky

Vytvoření nového prostředku Azure AI Language a účtu úložiště Azure

Než budete moct použít vlastní NER, budete muset vytvořit prostředek jazyka Azure AI, který vám poskytne přihlašovací údaje, které potřebujete k vytvoření projektu a zahájení trénování modelu. Budete také potřebovat účet úložiště Azure, kde můžete nahrát datovou sadu, která se použije při sestavování modelu.

Důležité

Pokud chcete rychle začít, doporučujeme vytvořit nový prostředek azure AI Language pomocí kroků uvedených v tomto článku, který vám umožní vytvořit prostředek jazyka a vytvořit a/nebo připojit účet úložiště současně, což je jednodušší než později.

Pokud máte již existující prostředek, který chcete použít, budete ho muset připojit k účtu úložiště. Informace najdete v tématu Vytvoření projektu .

Vytvoření nového prostředku z webu Azure Portal

  1. Přihlaste se k webu Azure Portal a vytvořte nový prostředek jazyka Azure AI.

  2. V zobrazeném okně vyberte vlastní klasifikaci textu a rozpoznávání vlastních pojmenovaných entit z vlastních funkcí. Vyberte Pokračovat a vytvořte prostředek v dolní části obrazovky.

    A screenshot showing custom text classification & custom named entity recognition in the Azure portal.

  3. Vytvořte prostředek jazyka s následujícími podrobnostmi.

    Název Popis
    Předplatné Vaše předplatné Azure.
    Skupina prostředků Skupina prostředků, která bude obsahovat váš prostředek. Můžete použít existující nebo vytvořit nový.
    Oblast Oblast vašeho prostředku Jazyk. Například "USA – západ 2".
    Název Název vašeho prostředku
    Cenová úroveň Cenová úroveň vašeho prostředku Jazyk. Službu můžete vyzkoušet pomocí úrovně Free (F0).

    Poznámka:

    Pokud se zobrazí zpráva"Váš přihlašovací účet není vlastníkem skupiny prostředků vybraného účtu úložiště", musí mít váš účet přiřazenou roli vlastníka pro skupinu prostředků, abyste mohli vytvořit prostředek jazyka. Požádejte o pomoc vlastníka předplatného Azure.

  4. V části Vlastní klasifikace textu a rozpoznávání vlastních pojmenovaných entit vyberte existující účet úložiště nebo vyberte Nový účet úložiště. Tyto hodnoty vám pomůžou začít, a ne nutně hodnoty účtu úložiště, které budete chtít použít v produkčních prostředích. Abyste se vyhnuli latenci při sestavování projektu, připojte se k účtům úložiště ve stejné oblasti jako prostředek jazyka.

    Hodnota účtu úložiště Doporučená hodnota
    Název účtu úložiště Libovolný název
    Storage account type Standardní LRS
  5. Ujistěte se, že je zaškrtnuté příslušné oznámení O umělé inteligenci. V dolní části stránky vyberte Zkontrolovat a vytvořit a pak vyberte Vytvořit.

Nahrání ukázkových dat do kontejneru objektů blob

Po vytvoření účtu úložiště Azure a jeho připojení k prostředku jazyka budete muset nahrát dokumenty z ukázkové datové sady do kořenového adresáře kontejneru. Tyto dokumenty se později použijí k trénování modelu.

  1. Stáhněte si ukázkovou datovou sadu z GitHubu.

  2. Otevřete soubor .zip a extrahujte složku obsahující dokumenty.

  3. Na webu Azure Portal přejděte k účtu úložiště, který jste vytvořili, a vyberte ho.

  4. V účtu úložiště vyberte v nabídce vlevo kontejnery umístěné pod úložištěm dat. Na obrazovce, která se zobrazí, vyberte + Kontejner. Pojmenujte kontejner ukázková data a ponechte výchozí úroveň veřejného přístupu.

    A screenshot showing the main page for a storage account.

  5. Po vytvoření kontejneru ho vyberte. Pak vyberte tlačítko Nahrát a .json vyberte soubory.txt, které jste stáhli dříve.

    A screenshot showing the button for uploading files to the storage account.

Zadaná ukázková datová sada obsahuje 20 smluv o půjčkách. Každá smlouva zahrnuje dvě strany: věřitele a dlužníka. Pomocí poskytnutého ukázkového souboru můžete extrahovat relevantní informace pro obě strany, datum smlouvy, částku půjčky a úrokovou sazbu.

Získání klíčů prostředků a koncového bodu

  1. Na webu Azure Portal přejděte na stránku přehledu prostředků.

  2. V nabídce na levé straně vyberte Klíče a koncový bod. Pro požadavky rozhraní API použijete koncový bod a klíč.

    A screenshot showing the key and endpoint page in the Azure portal

Vytvoření vlastního projektu NER

Po nakonfigurování prostředku a účtu úložiště vytvořte nový vlastní projekt NER. Projekt je pracovní oblast pro vytváření vlastních modelů ML na základě vašich dat. K vašemu projektu má přístup jenom vy a ostatní, kteří mají přístup k používanému prostředku jazyka.

Použijte soubor značek, který jste stáhli z ukázkových dat v předchozím kroku, a přidejte ho do textu následujícího požadavku.

Aktivace úlohy importu projektu

Odešlete požadavek POST pomocí následující adresy URL, hlaviček a textu JSON pro import souboru štítků. Ujistěte se, že soubor štítků dodržuje akceptované formátování.

Pokud projekt se stejným názvem již existuje, nahradí se data tohoto projektu.

{Endpoint}/language/authoring/analyze-text/projects/{projectName}/:import?api-version={API-VERSION}
Zástupný symbol Hodnota Příklad
{ENDPOINT} Koncový bod pro ověření požadavku rozhraní API. https://<your-custom-subdomain>.cognitiveservices.azure.com
{PROJECT-NAME} Název projektu. U této hodnoty se rozlišují malá a velká písmena. myProject
{API-VERSION} Verze rozhraní API, které voláte. Hodnota, na kterou se zde odkazuje, je určená pro nejnovější vydané verze. Další informace o dalších dostupných verzích rozhraní API najdete v tématu Životní cyklus modelu. 2022-05-01

Hlavičky

K ověření požadavku použijte následující hlavičku.

Key Hodnota
Ocp-Apim-Subscription-Key Klíč k vašemu prostředku. Používá se k ověřování požadavků rozhraní API.

Body

V požadavku použijte následující kód JSON. Nahraďte níže uvedené zástupné hodnoty vlastními hodnotami.

{
    "projectFileVersion": "{API-VERSION}",
    "stringIndexType": "Utf16CodeUnit",
    "metadata": {
        "projectName": "{PROJECT-NAME}",
        "projectKind": "CustomEntityRecognition",
        "description": "Trying out custom NER",
        "language": "{LANGUAGE-CODE}",
        "multilingual": true,
        "storageInputContainerName": "{CONTAINER-NAME}",
        "settings": {}
    },
    "assets": {
    "projectKind": "CustomEntityRecognition",
        "entities": [
            {
                "category": "Entity1"
            },
            {
                "category": "Entity2"
            }
        ],
        "documents": [
            {
                "location": "{DOCUMENT-NAME}",
                "language": "{LANGUAGE-CODE}",
                "dataset": "{DATASET}",
                "entities": [
                    {
                        "regionOffset": 0,
                        "regionLength": 500,
                        "labels": [
                            {
                                "category": "Entity1",
                                "offset": 25,
                                "length": 10
                            },
                            {
                                "category": "Entity2",
                                "offset": 120,
                                "length": 8
                            }
                        ]
                    }
                ]
            },
            {
                "location": "{DOCUMENT-NAME}",
                "language": "{LANGUAGE-CODE}",
                "dataset": "{DATASET}",
                "entities": [
                    {
                        "regionOffset": 0,
                        "regionLength": 100,
                        "labels": [
                            {
                                "category": "Entity2",
                                "offset": 20,
                                "length": 5
                            }
                        ]
                    }
                ]
            }
        ]
    }
}
Key Zástupný symbol Hodnota Příklad
api-version {API-VERSION} Verze rozhraní API, které voláte. Zde použitá verze musí být stejná verze rozhraní API v adrese URL. Další informace o dalších dostupných verzích rozhraní API 2022-03-01-preview
projectName {PROJECT-NAME} Název projektu. U této hodnoty se rozlišují malá a velká písmena. myProject
projectKind CustomEntityRecognition Váš projekt je laskavý. CustomEntityRecognition
language {LANGUAGE-CODE} Řetězec určující kód jazyka pro dokumenty použité v projektu. Pokud je projekt vícejazyčný, zvolte kód jazyka většiny dokumentů. en-us
multilingual true Logická hodnota, která umožňuje mít v datové sadě dokumenty ve více jazycích a při nasazení modelu můžete dotazovat model v libovolném podporovaném jazyce (nemusí nutně být součástí trénovacích dokumentů). Informace o vícejazyčné podpoře najdete v podpoře jazyků. true
storageInputContainerName {CONTAINER-NAME} Název kontejneru úložiště Azure, do kterého jste dokumenty nahráli. myContainer
entities Pole obsahující všechny typy entit, které máte v projektu. Jedná se o typy entit, které se z dokumentů extrahují.
documents Pole obsahující všechny dokumenty v projektu a seznam entit označených v rámci každého dokumentu []
location {DOCUMENT-NAME} Umístění dokumentů v kontejneru úložiště. Vzhledem k tomu, že všechny dokumenty jsou v kořenovém adresáři kontejneru, měl by to být název dokumentu. doc1.txt
dataset {DATASET} Testovací sada, na kterou tento soubor přejde při rozdělení před trénováním. Další informace o rozdělení dat najdete v tématu Jak vytrénovat model . Možné hodnoty pro toto pole jsou Train a Test. Train

Po odeslání požadavku rozhraní API obdržíte 202 odpověď, která značí, že úloha byla odeslána správně. V hlavičce odpovědi extrahujte operation-location hodnotu. Bude formátován takto:

{ENDPOINT}/language/authoring/analyze-text/projects/{PROJECT-NAME}/import/jobs/{JOB-ID}?api-version={API-VERSION}

{JOB-ID} slouží k identifikaci vašeho požadavku, protože tato operace je asynchronní. Tuto adresu URL použijete k získání stavu úlohy importu.

Možné chybové scénáře pro tento požadavek:

  • Vybraný prostředek nemá správná oprávnění pro účet úložiště.
  • Zadaná storageInputContainerName hodnota neexistuje.
  • Použije se neplatný kód jazyka nebo pokud typ kódu jazyka není řetězec.
  • multilingual hodnota je řetězec, nikoli logická hodnota.

Získání stavu úlohy importu

Pomocí následujícího požadavku GET získejte stav importu projektu. Nahraďte níže uvedené zástupné hodnoty vlastními hodnotami.

Adresa URL požadavku

{ENDPOINT}/language/authoring/analyze-text/projects/{PROJECT-NAME}/import/jobs/{JOB-ID}?api-version={API-VERSION}
Zástupný symbol Hodnota Příklad
{ENDPOINT} Koncový bod pro ověření požadavku rozhraní API. https://<your-custom-subdomain>.cognitiveservices.azure.com
{PROJECT-NAME} Název projektu. U této hodnoty se rozlišují malá a velká písmena. myProject
{JOB-ID} ID pro vyhledání stavu trénování modelu. Tato hodnota je v location hodnotě záhlaví, kterou jste obdrželi v předchozím kroku. xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx
{API-VERSION} Verze rozhraní API, které voláte. Hodnota, na kterou se zde odkazuje, je určená pro nejnovější vydané verze. Další informace o dalších dostupných verzích rozhraní API najdete v tématu Životní cyklus modelu. 2022-05-01

Hlavičky

K ověření požadavku použijte následující hlavičku.

Key Hodnota
Ocp-Apim-Subscription-Key Klíč k vašemu prostředku. Používá se k ověřování požadavků rozhraní API.

Trénování vašeho modelu

Obvykle po vytvoření projektu začnete označovat dokumenty , které máte v kontejneru připojeném k projektu. V tomto rychlém startu jste naimportovali ukázkovou označenou datovou sadu a inicializovali projekt pomocí ukázkového souboru značek JSON.

Zahájení trénovací úlohy

Po importu projektu můžete zahájit trénování modelu.

Odešlete požadavek POST pomocí následující adresy URL, hlaviček a textu JSON a odešlete trénovací úlohu. Nahraďte níže uvedené zástupné hodnoty vlastními hodnotami.

{ENDPOINT}/language/authoring/analyze-text/projects/{PROJECT-NAME}/:train?api-version={API-VERSION}
Zástupný symbol Hodnota Příklad
{ENDPOINT} Koncový bod pro ověření požadavku rozhraní API. https://<your-custom-subdomain>.cognitiveservices.azure.com
{PROJECT-NAME} Název projektu. U této hodnoty se rozlišují malá a velká písmena. myProject
{API-VERSION} Verze rozhraní API, které voláte. Hodnota, na kterou se zde odkazuje, je určená pro nejnovější vydané verze. Další informace o dalších dostupných verzích rozhraní API najdete v tématu Životní cyklus modelu. 2022-05-01

Hlavičky

K ověření požadavku použijte následující hlavičku.

Key Hodnota
Ocp-Apim-Subscription-Key Klíč k vašemu prostředku. Používá se k ověřování požadavků rozhraní API.

Text požadavku

V textu požadavku použijte následující KÓD JSON. Po dokončení trénování bude model udělen {MODEL-NAME} . Modely budou vytvářet pouze úspěšné trénovací úlohy.

{
	"modelLabel": "{MODEL-NAME}",
	"trainingConfigVersion": "{CONFIG-VERSION}",
	"evaluationOptions": {
		"kind": "percentage",
		"trainingSplitPercentage": 80,
		"testingSplitPercentage": 20
	}
}
Key Zástupný symbol Hodnota Příklad
modelLabel {MODEL-NAME} Název modelu, který se přiřadí k vašemu modelu po úspěšném natrénování. myModel
trainingConfigVersion {CONFIG-VERSION} Toto je verze modelu, která se použije k trénování modelu. 2022-05-01
evaluationOptions Možnost rozdělení dat mezi trénovací a testovací sady {}
kind percentage Rozdělte metody. Možné hodnoty jsou percentage nebo manual. Další informace najdete v tématu Jak vytrénovat model . percentage
trainingSplitPercentage 80 Procento označených dat, která se mají zahrnout do trénovací sady Doporučená hodnota je 80. 80
testingSplitPercentage 20 Procento označených dat, která se mají zahrnout do testovací sady Doporučená hodnota je 20. 20

Poznámka:

testingSplitPercentage A trainingSplitPercentage jsou vyžadovány pouze v případě, že Kind je nastavena percentage hodnota a součet obou procent by měl být roven 100.

Po odeslání požadavku rozhraní API obdržíte 202 odpověď, která značí, že úloha byla odeslána správně. V hlavičce odpovědi extrahujte location hodnotu. Bude formátován takto:

{ENDPOINT}/language/authoring/analyze-text/projects/{PROJECT-NAME}/train/jobs/{JOB-ID}?api-version={API-VERSION}

{JOB-ID} slouží k identifikaci vašeho požadavku, protože tato operace je asynchronní. Pomocí této adresy URL můžete získat stav trénování.

Získání stavu trénovací úlohy

Trénování může nějakou dobu trvat 10 až 30 minut pro tuto ukázkovou datovou sadu. Pomocí následujícího požadavku můžete pokračovat v dotazování stavu úlohy trénování, dokud se úspěšně nedokončil.

Stav průběhu trénování modelu získáte pomocí následujícího požadavku GET . Nahraďte níže uvedené zástupné hodnoty vlastními hodnotami.

Adresa URL požadavku

{ENDPOINT}/language/authoring/analyze-text/projects/{PROJECT-NAME}/train/jobs/{JOB-ID}?api-version={API-VERSION}
Zástupný symbol Hodnota Příklad
{ENDPOINT} Koncový bod pro ověření požadavku rozhraní API. https://<your-custom-subdomain>.cognitiveservices.azure.com
{PROJECT-NAME} Název projektu. U této hodnoty se rozlišují malá a velká písmena. myProject
{JOB-ID} ID pro vyhledání stavu trénování modelu. Tato hodnota je v location hodnotě záhlaví, kterou jste obdrželi v předchozím kroku. xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx
{API-VERSION} Verze rozhraní API, které voláte. Hodnota, na kterou se zde odkazuje, je určená pro nejnovější vydané verze. Další informace o dalších dostupných verzích rozhraní API najdete v tématu Životní cyklus modelu. 2022-05-01

Hlavičky

K ověření požadavku použijte následující hlavičku.

Key Hodnota
Ocp-Apim-Subscription-Key Klíč k vašemu prostředku. Používá se k ověřování požadavků rozhraní API.

Text odpovědi

Po odeslání požadavku získáte následující odpověď.

{
  "result": {
    "modelLabel": "{MODEL-NAME}",
    "trainingConfigVersion": "{CONFIG-VERSION}",
    "estimatedEndDateTime": "2022-04-18T15:47:58.8190649Z",
    "trainingStatus": {
      "percentComplete": 3,
      "startDateTime": "2022-04-18T15:45:06.8190649Z",
      "status": "running"
    },
    "evaluationStatus": {
      "percentComplete": 0,
      "status": "notStarted"
    }
  },
  "jobId": "{JOB-ID}",
  "createdDateTime": "2022-04-18T15:44:44Z",
  "lastUpdatedDateTime": "2022-04-18T15:45:48Z",
  "expirationDateTime": "2022-04-25T15:44:44Z",
  "status": "running"
}

Nasazení modelu

Obecně platí, že po trénování modelu byste si prostudovali podrobnosti o vyhodnocení a v případě potřeby provedli vylepšení . V tomto rychlém startu jednoduše nasadíte model a zpřístupníte ho pro vyzkoušení v sadě Language Studio nebo můžete volat rozhraní API pro predikce.

Spuštění úlohy nasazení

Odešlete požadavek PUT pomocí následující adresy URL, hlaviček a textu JSON a odešlete úlohu nasazení. Nahraďte níže uvedené zástupné hodnoty vlastními hodnotami.

{Endpoint}/language/authoring/analyze-text/projects/{projectName}/deployments/{deploymentName}?api-version={API-VERSION}
Zástupný symbol Hodnota Příklad
{ENDPOINT} Koncový bod pro ověření požadavku rozhraní API. https://<your-custom-subdomain>.cognitiveservices.azure.com
{PROJECT-NAME} Název projektu. U této hodnoty se rozlišují malá a velká písmena. myProject
{DEPLOYMENT-NAME} Název nasazení. U této hodnoty se rozlišují malá a velká písmena. staging
{API-VERSION} Verze rozhraní API, které voláte. Hodnota, na kterou se zde odkazuje, je určená pro nejnovější vydané verze. Další informace o dalších dostupných verzích rozhraní API najdete v tématu Životní cyklus modelu. 2022-05-01

Hlavičky

K ověření požadavku použijte následující hlavičku.

Key Hodnota
Ocp-Apim-Subscription-Key Klíč k vašemu prostředku. Používá se k ověřování požadavků rozhraní API.

Text požadavku

V textu požadavku použijte následující KÓD JSON. Použijte název modelu, který chcete přiřadit k nasazení.

{
  "trainedModelLabel": "{MODEL-NAME}"
}
Key Zástupný symbol Hodnota Příklad
trainedModelLabel {MODEL-NAME} Název modelu, který se přiřadí k vašemu nasazení. Úspěšně natrénované modely můžete přiřadit pouze. U této hodnoty se rozlišují malá a velká písmena. myModel

Po odeslání požadavku rozhraní API obdržíte 202 odpověď, která značí, že úloha byla odeslána správně. V hlavičce odpovědi extrahujte operation-location hodnotu. Bude formátován takto:

{ENDPOINT}/language/authoring/analyze-text/projects/{PROJECT-NAME}/deployments/{DEPLOYMENT-NAME}/jobs/{JOB-ID}?api-version={API-VERSION}

{JOB-ID} slouží k identifikaci vašeho požadavku, protože tato operace je asynchronní. Tuto adresu URL můžete použít k získání stavu nasazení.

Získání stavu úlohy nasazení

Pomocí následujícího požadavku GET zadejte dotaz na stav úlohy nasazení. Můžete použít adresu URL, kterou jste obdrželi z předchozího kroku, nebo nahradit níže uvedené zástupné hodnoty vlastními hodnotami.

{ENDPOINT}/language/authoring/analyze-text/projects/{PROJECT-NAME}/deployments/{DEPLOYMENT-NAME}/jobs/{JOB-ID}?api-version={API-VERSION}
Zástupný symbol Hodnota Příklad
{ENDPOINT} Koncový bod pro ověření požadavku rozhraní API. https://<your-custom-subdomain>.cognitiveservices.azure.com
{PROJECT-NAME} Název projektu. U této hodnoty se rozlišují malá a velká písmena. myProject
{DEPLOYMENT-NAME} Název nasazení. U této hodnoty se rozlišují malá a velká písmena. staging
{JOB-ID} ID pro vyhledání stavu trénování modelu. Toto je hodnota hlavičky location , kterou jste obdrželi v předchozím kroku. xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx
{API-VERSION} Verze rozhraní API, které voláte. Hodnota, na kterou se zde odkazuje, je určená pro nejnovější vydané verze. Další informace o dalších dostupných verzích rozhraní API najdete v tématu Životní cyklus modelu. 2022-05-01

Hlavičky

K ověření požadavku použijte následující hlavičku.

Key Hodnota
Ocp-Apim-Subscription-Key Klíč k vašemu prostředku. Používá se k ověřování požadavků rozhraní API.

Text odpovědi

Po odeslání požadavku se zobrazí následující odpověď. Pokračujte v dotazování na tento koncový bod, dokud se parametr stavu nezmění na "úspěch". Měli byste získat 200 kód, který indikuje úspěch požadavku.

{
    "jobId":"{JOB-ID}",
    "createdDateTime":"{CREATED-TIME}",
    "lastUpdatedDateTime":"{UPDATED-TIME}",
    "expirationDateTime":"{EXPIRATION-TIME}",
    "status":"running"
}

Extrahování vlastních entit

Po nasazení modelu ho můžete začít používat k extrakci entit z textu pomocí rozhraní API pro predikce. V ukázkové datové sadě, kterou jste si stáhli dříve, najdete některé testovací dokumenty, které můžete použít v tomto kroku.

Odeslání vlastního úkolu NER

Pomocí tohoto požadavku POST spusťte úlohu klasifikace textu.

{ENDPOINT}/language/analyze-text/jobs?api-version={API-VERSION}
Zástupný symbol Hodnota Příklad
{ENDPOINT} Koncový bod pro ověření požadavku rozhraní API. https://<your-custom-subdomain>.cognitiveservices.azure.com
{API-VERSION} Verze rozhraní API, které voláte. Hodnota, na kterou se zde odkazuje, je určená pro nejnovější vydané verze. Další informace o dalších dostupných verzích rozhraní API najdete v tématu Životní cyklus modelu. 2022-05-01

Hlavičky

Key Hodnota
Ocp-Apim-Subscription-Key Váš klíč, který poskytuje přístup k tomuto rozhraní API.

Body

{
  "displayName": "Extracting entities",
  "analysisInput": {
    "documents": [
      {
        "id": "1",
        "language": "{LANGUAGE-CODE}",
        "text": "Text1"
      },
      {
        "id": "2",
        "language": "{LANGUAGE-CODE}",
        "text": "Text2"
      }
    ]
  },
  "tasks": [
     {
      "kind": "CustomEntityRecognition",
      "taskName": "Entity Recognition",
      "parameters": {
        "projectName": "{PROJECT-NAME}",
        "deploymentName": "{DEPLOYMENT-NAME}"
      }
    }
  ]
}
Key Zástupný symbol Hodnota Příklad
displayName {JOB-NAME} Název vaší práce. MyJobName
documents [{},{}] Seznam dokumentů, na kterých se mají spouštět úkoly [{},{}]
id {DOC-ID} Název nebo ID dokumentu doc1
language {LANGUAGE-CODE} Řetězec určující kód jazyka dokumentu. Pokud tento klíč není zadaný, služba bude předpokládat výchozí jazyk projektu, který byl vybrán během vytváření projektu. Seznam podporovaných jazykových kódů najdete v podpoře jazyků. en-us
text {DOC-TEXT} Úlohu dokumentu, ve které chcete úkoly spouštět. Lorem ipsum dolor sit amet
tasks Seznam úkolů, které chceme provést []
taskName CustomEntityRecognition Název úkolu CustomEntityRecognition
parameters Seznam parametrů, které se mají předat úkolu
project-name {PROJECT-NAME} Název projektu. U této hodnoty se rozlišují malá a velká písmena. myProject
deployment-name {DEPLOYMENT-NAME} Název nasazení. U této hodnoty se rozlišují malá a velká písmena. prod

Response

Zobrazí se odpověď 202 označující, že váš úkol byl úspěšně odeslán. V hlavičce odpovědi extrahujte operation-location. operation-location je formátovaný takto:

{ENDPOINT}/language/analyze-text/jobs/{JOB-ID}?api-version={API-VERSION}

Tuto adresu URL můžete použít k dotazování stavu dokončení úkolu a získání výsledků po dokončení úkolu.

Získání výsledků úkolů

Pomocí následujícího požadavku GET zadejte dotaz na stav nebo výsledky úlohy rozpoznávání vlastních entit.

{ENDPOINT}/language/analyze-text/jobs/{JOB-ID}?api-version={API-VERSION}
Zástupný symbol Hodnota Příklad
{ENDPOINT} Koncový bod pro ověření požadavku rozhraní API. https://<your-custom-subdomain>.cognitiveservices.azure.com
{API-VERSION} Verze rozhraní API, které voláte. Hodnota, na kterou se zde odkazuje, je určená pro nejnovější vydané verze. Další informace o dalších dostupných verzích rozhraní API najdete v tématu Životní cyklus modelu. 2022-05-01

Hlavičky

Key Hodnota
Ocp-Apim-Subscription-Key Váš klíč, který poskytuje přístup k tomuto rozhraní API.

Text odpovědi

Odpověď bude dokument JSON s následujícími parametry.

{
  "createdDateTime": "2021-05-19T14:32:25.578Z",
  "displayName": "MyJobName",
  "expirationDateTime": "2021-05-19T14:32:25.578Z",
  "jobId": "xxxx-xxxx-xxxxx-xxxxx",
  "lastUpdateDateTime": "2021-05-19T14:32:25.578Z",
  "status": "succeeded",
  "tasks": {
    "completed": 1,
    "failed": 0,
    "inProgress": 0,
    "total": 1,
    "items": [
      {
        "kind": "EntityRecognitionLROResults",
        "taskName": "Recognize Entities",
        "lastUpdateDateTime": "2020-10-01T15:01:03Z",
        "status": "succeeded",
        "results": {
          "documents": [
            {
              "entities": [
                {
                  "category": "Event",
                  "confidenceScore": 0.61,
                  "length": 4,
                  "offset": 18,
                  "text": "trip"
                },
                {
                  "category": "Location",
                  "confidenceScore": 0.82,
                  "length": 7,
                  "offset": 26,
                  "subcategory": "GPE",
                  "text": "Seattle"
                },
                {
                  "category": "DateTime",
                  "confidenceScore": 0.8,
                  "length": 9,
                  "offset": 34,
                  "subcategory": "DateRange",
                  "text": "last week"
                }
              ],
              "id": "1",
              "warnings": []
            }
          ],
          "errors": [],
          "modelVersion": "2020-04-01"
        }
      }
    ]
  }
}

Vyčištění prostředků

Pokud už projekt nepotřebujete, můžete ho odstranit pomocí následujícího požadavku DELETE . Zástupné hodnoty nahraďte vlastními hodnotami.

{Endpoint}/language/authoring/analyze-text/projects/{projectName}?api-version={API-VERSION}
Zástupný symbol Hodnota Příklad
{ENDPOINT} Koncový bod pro ověření požadavku rozhraní API. https://<your-custom-subdomain>.cognitiveservices.azure.com
{PROJECT-NAME} Název projektu. U této hodnoty se rozlišují malá a velká písmena. myProject
{API-VERSION} Verze rozhraní API, které voláte. Hodnota, na kterou se zde odkazuje, je určená pro nejnovější vydané verze. Další informace o dalších dostupných verzích rozhraní API najdete v tématu Životní cyklus modelu. 2022-05-01

Hlavičky

K ověření požadavku použijte následující hlavičku.

Key Hodnota
Ocp-Apim-Subscription-Key Klíč k vašemu prostředku. Používá se k ověřování požadavků rozhraní API.

Po odeslání požadavku rozhraní API obdržíte 202 odpověď s informací o úspěchu, což znamená, že projekt byl odstraněn. Úspěšné výsledky volání s hlavičkou Operation-Location použitou ke kontrole stavu úlohy.

Další kroky

Po vytvoření modelu extrakce entit můžete:

Když začnete vytvářet vlastní projekty NER, pomocí článků s postupy se dozvíte více o označování, trénování a využívání modelu podrobněji: