Sdílet prostřednictvím


Trénování vlastního pojmenovaného modelu rozpoznávání entit

Trénování je proces, při kterém se model učí z označených dat. Po dokončení trénování budete moct zobrazit výkon modelu a zjistit, jestli potřebujete model vylepšit.

Abyste vytvořili model, spustíte trénovací úlohu a model vytvoří pouze úlohy, které byly úspěšně dokončeny. Platnost trénovacích úloh vyprší po sedmi dnech, což znamená, že po této době nebudete moct načíst podrobnosti o úloze. Pokud se vaše trénovací úloha úspěšně dokončila a vytvořil se model, nebude to mít vliv na model. Najednou můžete mít spuštěnou jenom jednu trénovací úlohu a nemůžete spustit jiné úlohy ve stejném projektu.

Doba trénování se liší. Trénování může být od několika minut, při práci s několika dokumenty nebo několika hodinami v závislosti na velikosti datové sady a složitosti schématu.

Požadavky

Prohlédněte si životní cyklus vývoje projektu.

Rozdělování dat

Než začnete s procesem trénování, budou označené dokumenty v projektu rozdělené do trénovací sady a testovací sady. Každý z nich slouží jiné funkci. Trénovací sada se používá při trénování modelu. Jedná se o data, ze kterých se model učí označené entity a které úseky textu se mají extrahovat jako entity. Testovací sada je nevidomá sada , která se do modelu nevejde během trénování, ale pouze během vyhodnocení. Po úspěšném dokončení trénování modelu se model použije k výpočtu předpovědí z testovacích dokumentů a metrik vyhodnocení . Doporučujeme zajistit, aby všechny entity byly v trénovací i testovací sadě dostatečně reprezentované.

Vlastní NER podporuje dvě metody rozdělení dat:

  • Automatické rozdělení testovací sady z trénovacích dat: Systém rozdělí označená data mezi trénovací a testovací sady podle zvolených procent. Doporučené procento rozdělení je 80 % pro trénování a 20 % pro testování.

Poznámka:

Pokud zvolíte možnost Automatické rozdělení testovací sady z trénovacích dat , rozdělí se pouze data přiřazená k trénovací sadě podle zadaných procent.

  • Použijte ruční rozdělení trénovacích a testovacích dat: Tato metoda umožňuje uživatelům definovat, které označené dokumenty mají patřit do které sady. Tento krok je povolený jenom v případě, že jste do testovací sady přidali dokumenty během označování dat.

Trénování modelu (REST API)

Jakmile označíte svá data a nakonfigurujete nastavení rozdělení dat, můžete začít trénovat vlastní model NER pomocí rozhraní REST API. Proces trénování zahrnuje odeslání žádosti o trénovací úlohu a monitorování jejího průběhu až do dokončení. Tato část obsahuje volání rozhraní API potřebná k zahájení trénování a kontrole stavu vaší trénovací úlohy.

Zahájit výcvikovou úlohu

Odešlete požadavek POST pomocí následující adresy URL, hlaviček a textu JSON a odešlete trénovací úlohu. Zástupné hodnoty nahraďte 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 odkazujeme, je určená pro nejnovější vydané verze. Další informace najdete v tématuŽivotní cyklus modelu. 2022-05-01

Hlavičky

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

Klíč Hodnota
Ocp-Apim-Subscription-Key Klíč k vašemu zdroji. 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í se model předá jako {MODEL-NAME}. Pouze úspěšné trénovací úlohy vytvářejí modely.

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

Poznámka:

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

Po odeslání požadavku rozhraní API obdržíte 202 odpověď, která indikuje, že úloha byla odeslána správně. V hlavičce odpovědi extrahujte location hodnotu formátovanou 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 (REST API)

Trénování může nějakou dobu trvat v závislosti na velikosti trénovacích dat a složitosti schématu. Pomocí následujícího požadavku můžete pokračovat v dotazování na stav tréninkové úlohy, dokud nebude úspěšně dokončena.

Stav průběhu trénování modelu získáte pomocí následujícího požadavku GET . Zástupné hodnoty nahraďte 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 odkazujeme, je určená pro nejnovější vydané verze. Další informace najdete v tématuŽivotní cyklus modelu. 2022-05-01

Hlavičky

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

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

Tělo 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"
}

Zrušení trénovací úlohy (REST API)

Pokud potřebujete zastavit probíhající trénovací úlohu, můžete ji zrušit pomocí rozhraní REST API. Zrušení úlohy trénování je užitečné, když zjistíte problém s daty nebo konfigurací a chcete před restartováním procesu trénování provést opravy.

K zrušení trénovací úlohy vytvořte požadavek POST pomocí následující adresy URL, hlaviček a textu JSON.

Adresa URL požadavku

Při vytváření požadavku rozhraní API použijte následující adresu URL. Zástupné hodnoty nahraďte vlastními hodnotami.

{Endpoint}/language/authoring/analyze-text/projects/{PROJECT-NAME}/train/jobs/{JOB-ID}/:cancel?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. EmailApp
{JOB-ID} Tato hodnota je ID trénovací úlohy. XXXXX-XXXXX-XXXX-XX
{API-VERSION} Verze rozhraní API, které voláte. Hodnota, na kterou odkazujeme, je určená pro nejnovější vydané verze modelu. 2022-05-01

Hlavičky

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

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

Po odeslání požadavku rozhraní API obdržíte odpověď 202 s hlavičkou Operation-Location použitou ke kontrole stavu úlohy.

Další kroky

Po dokončení trénování budete moct zobrazit výkon modelu a volitelně ho v případě potřeby vylepšit. Jakmile budete s modelem spokojeni, můžete ho nasadit a zpřístupnit ho k extrakci entit z textu.