Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
V tomto článku se dozvíte, jak nastavit požadavky pro spuštění vlastního NER a vytvoření projektu.
Požadavky
Než začnete používat vlastní NER, potřebujete:
- Předplatné Azure – Vytvořte si ho zdarma.
Vytvořte jazykový zdroj
Než začnete používat vlastní NER, potřebujete prostředek Azure Language in Foundry Tools. Doporučujeme vytvořit jazykový prostředek a připojit k němu účet úložiště v Azure Portal. Vytvoření prostředku na webu Azure Portal umožňuje vytvořit účet úložiště Azure současně se všemi požadovanými oprávněními předem nakonfigurovanými. Dále si můžete přečíst v článku, kde se dozvíte, jak používat existující prostředek, a nakonfigurovat ho tak, aby fungoval s rozpoznáváním vlastních pojmenovaných entit.
Potřebujete také účet úložiště Azure, ve kterém nahrajete .txt dokumenty, které se používají k trénování modelu pro extrakci entit.
Poznámka:
- Abyste mohli vytvořit jazykový prostředek, musíte mít ve skupině prostředků přiřazenou roli vlastníka.
- Pokud připojíte existující účet úložiště, měli byste mít přiřazenou roli vlastníka.
Vytvořte jazykový prostředek a připojte účet úložiště
Prostředek můžete vytvořit následujícími způsoby:
- portál Azure
- PowerShell
Poznámka:
Účet úložiště byste neměli přesunout do jiné skupiny prostředků nebo předplatného, jakmile je propojen s prostředkem Azure pro zpracování přirozeného jazyka.
Vytvoření nového prostředku z webu Azure Portal
Přihlaste se k webu Azure Portal a vytvořte nový prostředek Azure Language in Foundry Tools.
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.
Vytvořte jazykový prostředek s následujícími detaily.
Název Popis Předplatné Vaše předplatné Azure. Skupina prostředků Skupina prostředků, která obsahuje váš prostředek. Můžete použít existující nebo vytvořit nový. Oblast Oblast pro váš jazykový prostředek. Například "USA – západ 2". Název Název vašeho zdroje Cenová úroveň Cenová úroveň vašeho jazykového prostředku. 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 ve skupině prostředků, abyste mohli vytvořit prostředek jazyka. Požádejte o pomoc vlastníka předplatného Azure.
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é chcete použít v produkčních prostředích. Abyste předešli latenci při sestavování projektu, připojte se k účtům úložiště ve stejném regionu jako váš jazykový prostředek.
Hodnota účtu úložiště Doporučená hodnota Název účtu úložiště Libovolný název Typ účtu úložiště Místně redundantní úložiště úrovně Standard (LRS) Ujistěte se, že je zaškrtnuté Odpovědné oznámení o umělé inteligenci. V dolní části stránky vyberte Zkontrolovat a vytvořit a pak vyberte Vytvořit.
Vytvoření nového jazykového prostředku pomocí PowerShellu
Nový prostředek a účet úložiště můžete vytvořit pomocí následující šablony rozhraní příkazového řádku a souborů parametrů, které jsou hostované na GitHubu.
V souboru parametrů upravte následující hodnoty:
| Název parametru | Popis hodnoty |
|---|---|
name |
Název vašeho jazykového zdroje |
location |
Oblast, ve které je váš prostředek hostovaný. Další informace najdete v tématu Omezení služby. |
sku |
Cenová úroveň vašeho prostředku |
storageResourceName |
Název účtu úložiště |
storageLocation |
Oblast, ve které je váš účet úložiště hostovaný. |
storageSkuType |
SKU vašeho účtu úložiště. |
storageResourceGroupName |
Skupina prostředků vašeho účtu úložiště |
Pomocí následujícího příkazu PowerShellu nasaďte šablonu Azure Resource Manageru (ARM) se soubory, které jste upravili.
New-AzResourceGroupDeployment -Name ExampleDeployment -ResourceGroupName ExampleResourceGroup `
-TemplateFile <path-to-arm-template> `
-TemplateParameterFile <path-to-parameters-file>
Informace o nasazení šablon a souborů parametrů najdete v dokumentaci k šabloně ARM.
Poznámka:
- Proces připojení účtu úložiště k vašemu prostředku jazyka je nevratný. Později se nedá odpojit.
- Váš jazykový prostředek můžete připojit pouze k jednomu účtu úložiště.
Použití existujícího zdroje jazykových dat
Pomocí existujícího jazykového zdroje můžete začít s vlastním NER, pokud tento zdroj splňuje následující požadavky:
| Požadavek | Popis |
|---|---|
| Oblasti | Ujistěte se, že je váš existující prostředek provozovaný v jedné z podporovaných oblastí. Pokud ne, musíte vytvořit nový prostředek v jedné z těchto oblastí. |
| Cenová úroveň | Přečtěte si další informace o podporovaných cenových úrovních. |
| Spravovaná identita | Ujistěte se, že je povolené nastavení spravované identity prostředku. V opačném případě si přečtěte další část. |
Pokud chcete použít rozpoznávání vlastních pojmenovaných entit, musíte vytvořit účet úložiště Azure , pokud ho ještě nemáte.
Povolte správu identit pro váš prostředek
Váš jazykový prostředek musí mít správu identit, aby byl umožněn pomocí Azure portal:
- Přejít na jazykový prostředek
- V levém menu, v části Správa prostředků, vyberte Identita.
- Na kartě Přiřazeno systémem nezapomeňte nastavit Stav na Zapnuto.
Povolení funkce rozpoznávání vlastních pojmenovaných entit
Nezapomeňte na webu Azure Portal povolit vlastní klasifikaci textu nebo funkci Rozpoznávání vlastních pojmenovaných entit.
- Na Azure portal přejděte na svůj jazykový prostředek Language.
- V nabídce na levé straně v části Správa prostředků vyberte Funkce.
- Povolte vlastní klasifikaci textu / funkci Rozpoznávání vlastních pojmenovaných entit.
- Připojte svůj účet datového úložiště.
- Vyberte Použít.
Důležité
Ujistěte se, že uživatel, který chce provádět změny, má přiřazenou roli přispěvatele dat objektu blob úložiště.
Přidání požadovaných rolí
Pomocí následujících kroků nastavte požadované role pro váš jazykový zdroj a účet úložiště.
Role pro váš jazyk Azure v prostředku Foundry Tools
Na portálu Azure přejděte ke svému účtu úložiště nebo jazykovému prostředku.
V levém podokně vyberte Řízení přístupu (IAM ).
Vyberte Přidat k Přidání přiřazení rolí a zvolte odpovídající roli pro váš účet.
U jazykového prostředku byste měli mít přiřazenou roli vlastníka nebo přispěvatele.
V části Přiřadit přístup vyberte Uživatele, skupinu nebo principál služby.
Vybrat členy
Vyberte své uživatelské jméno. V poli Vybrat můžete hledat uživatelská jména. Tento postup opakujte pro všechny role.
Tento postup opakujte pro všechny uživatelské účty, které potřebují přístup k tomuto prostředku.
Role pro váš účet úložiště
- Na webu Azure Portal přejděte na stránku svého účtu úložiště.
- V levém podokně vyberte Řízení přístupu (IAM ).
- Vyberte Přidat přiřazení rolí a zvolte roli Přispěvatel dat objektů blob úložiště v účtu úložiště.
- V části Přiřadit přístup vyberte spravovanou identitu.
- Vybrat členy
- Vyberte své předplatné a jako spravovanou identitu vyberte jazyk . V poli Vybrat můžete hledat uživatelská jména.
Role pro uživatele
Důležité
Pokud tento krok přeskočíte, při pokusu o připojení k vlastnímu projektu se zobrazí chyba 403. Je důležité, aby váš aktuální uživatel měl tuto roli, aby mohl přistupovat k datům objektů blob účtu úložiště, i když jste vlastníkem účtu úložiště.
- Na webu Azure Portal přejděte na stránku svého účtu úložiště.
- V levém podokně vyberte Řízení přístupu (IAM ).
- Vyberte Přidat přiřazení rolí a zvolte roli Přispěvatel dat objektů blob úložiště v účtu úložiště.
- V části K komu přiřadit přístup vyberte uživatele, skupinu nebo služebního principála.
- Vybrat členy
- Vyberte svého uživatele. V poli Vybrat můžete hledat uživatelská jména.
Důležité
Pokud máte virtuální síť nebo privátní koncový bod, nezapomeňte v seznamu důvěryhodných služeb vybrat možnost Povolit službám Azure přístup k tomuto účtu úložiště na webu Azure Portal.
Povolení CORS pro účet úložiště
Při povolování Cross-Origin Resource Sharing (CORS) nezapomeňte povolit metody GET, PUT, DELETE.
Nastavte pole povolených zdrojů na https://language.cognitive.azure.com. Povolit všechna záhlaví přidáním * do povolených hodnot záhlaví a nastavit maximální věk na 500.
Vytvořte projekt rozpoznávání entit na míru (REST API)
Po nakonfigurování prostředku a kontejneru úložiště vytvořte nový projekt NER na míru. Projekt je pracovní oblast pro vytváření vlastních modelů AI na základě vašich dat. K projektu máte přístup jenom vy spolu s ostatními, kteří mají přístup k používanému prostředku Azure. Pokud jste označili data jako označená, můžete je použít k zahájení importu projektu.
Pokud chcete začít vytvářet vlastní pojmenovaný model rozpoznávání entit, musíte vytvořit projekt. Vytvoření projektu umožňuje označit data, trénovat, vyhodnocovat, vylepšovat a nasazovat modely.
Poznámka:
Název projektu je rozlišující podle velikosti písmen pro všechny operace.
K vytvoření projektu vytvořte požadavek PATCH pomocí následující adresy URL, hlaviček a textu JSON.
Adresa URL požadavku
K vytvoření projektu použijte následující adresu URL. Nahraďte následující zástupné symboly 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 API, kterou používáte. Hodnota, na kterou odkazujeme, je určená pro nejnovější vydanou verzi. Další informace, podrobnosti najdete v tématuŽivotní cyklus modelu. | 2022-05-01 |
Hlavičky žádosti
K ověření požadavku použijte následující hlavičku.
| Klíč | Povinné | Typ | Hodnota |
|---|---|---|---|
Ocp-Apim-Subscription-Key |
Pravdivé | řetězec | Klíč k vašemu zdroji. Používá se k ověřování požadavků rozhraní API. |
Content-Type |
Pravdivé | řetězec | application/merge-patch+json |
Obsah požadavku
V požadavku použijte následující kód JSON. Nahraďte následující zástupné symboly vlastními hodnotami.
{
"projectName": "{PROJECT-NAME}",
"language": "{LANGUAGE-CODE}",
"projectKind": "CustomEntityRecognition",
"description": "Project description",
"multilingual": "True",
"storageInputContainerName": "{CONTAINER-NAME}"
}
| Klíč | Zástupný symbol | Hodnota | Příklad |
|---|---|---|---|
| projectName | {PROJECT-NAME} |
Název projektu. U této hodnoty se rozlišují malá a velká písmena. | myProject |
| jazyk | {LANGUAGE-CODE} |
Řetězec určující kód jazyka pro dokumenty použité v projektu. Pokud je projekt vícejazyčný, vyberte kód jazyka, který je v dokumentech nejčastěji reprezentovaný. Další informace o podporovaných kódech jazyků najdete v podpoře jazyků. | en-us |
| typProjektu | CustomEntityRecognition |
Druh vašeho projektu. | CustomEntityRecognition |
| mnohojazyčný | 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ů). Další informace o podpoře více jazyků najdete v podpoře jazyků. | true |
| název vstupního kontejneru úložiště | {CONTAINER-NAME |
Název kontejneru úložiště Azure, na který jste dokumenty nahráli. | myContainer |
Tento požadavek vrátí odpověď 201, což znamená, že se projekt vytvoří.
Tento požadavek vrátí chybu, pokud:
- Vybraný prostředek nemá pro účet úložiště správná oprávnění.
Import projektu (REST API)
Pokud jste už data označili, můžete je použít k zahájení používání služby. Ujistěte se, že vaše označená data se řídí přijatými formáty dat.
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 API, kterou používá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
V požadavku použijte následující kód JSON. Zástupné hodnoty nahraďte 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
}
]
}
]
}
]
}
}
| Klíč | Zástupný symbol | Hodnota | Příklad |
|---|---|---|---|
api-version |
{API-VERSION} |
Verze API, kterou používá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 |
Druh vašeho projektu. | 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 obsahujícího nahrané dokumenty. | myContainer |
entities |
Pole obsahující všechny typy entit, které máte v projektu, a extrahované z dokumentů. | ||
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 úložném kontejneru. | doc1.txt |
dataset |
{DATASET} |
Testovací sada, do které bude tento soubor zařazen před trénováním. Další informace naleznete v tématuPostup trénování modelu. Možné hodnoty pro toto pole jsou Train a Test. |
Train |
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 operation-location hodnotu. Tady je příklad formátu:
{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í. Pomocí této adresy URL získáte stav ú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á
storageInputContainerNamehodnota neexistuje. - Použije se neplatný kód jazyka nebo pokud typ kódu jazyka není řetězec.
-
multilingualhodnota je řetězec, nikoli logická hodnota.
Získání podrobností o projektu (REST API)
K získání podrobností o projektu použijte následující požadavek GET . Zástupné hodnoty nahraďte vlastními hodnotami.
{ENDPOINT}/language/authoring/analyze-text/projects/{PROJECT-NAME}?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 API, kterou používáte. 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
{
"createdDateTime": "2021-10-19T23:24:41.572Z",
"lastModifiedDateTime": "2021-10-19T23:24:41.572Z",
"lastTrainedDateTime": "2021-10-19T23:24:41.572Z",
"lastDeployedDateTime": "2021-10-19T23:24:41.572Z",
"projectKind": "CustomEntityRecognition",
"storageInputContainerName": "{CONTAINER-NAME}",
"projectName": "{PROJECT-NAME}",
"multilingual": false,
"description": "Project description",
"language": "{LANGUAGE-CODE}"
}
| Hodnota | Zástupný symbol | Popis | Příklad |
|---|---|---|---|
projectKind |
CustomEntityRecognition |
Druh vašeho projektu. | CustomEntityRecognition |
storageInputContainerName |
{CONTAINER-NAME} |
Název kontejneru úložiště Azure pro nahrané dokumenty. | myContainer |
projectName |
{PROJECT-NAME} |
Název projektu. U této hodnoty se rozlišují malá a velká písmena. | myProject |
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ů). Další informace o podpoře více jazyků najdete v tématu Podpora jazyků. | true |
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 pro většinu dokumentů. | en-us |
Po odeslání požadavku rozhraní API obdržíte 200 odpověď s informacemi o úspěchu a textu odpovědi JSON s podrobnostmi o projektu.
Odstranění projektu (REST API)
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 API, kterou používá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. |
Po odeslání požadavku rozhraní API obdržíte 202 odpověď označující úspěch, což znamená, že se váš projekt odstraní. Úspěšné volání vede k hlavičce Operation-Location, která se používá ke kontrole stavu úlohy.
Další kroky
Měli byste mít představu o schématu projektu , které používáte k označení dat.
Po vytvoření projektu můžete začít označovat data. Tento proces poskytuje vašemu modelu extrakce entit instrukce pro interpretaci textu a používá se k trénování a vyhodnocení.