Snabbstart: Anpassad namngiven entitetsigenkänning
Använd den här artikeln om du vill komma igång med att skapa ett anpassat NER-projekt där du kan träna anpassade modeller för anpassad entitetsigenkänning. En modell är programvara för artificiell intelligens som är tränad att utföra en viss uppgift. För det här systemet extraherar modellerna namngivna entiteter och tränas genom att lära sig från taggade data.
I den här artikeln använder vi Language Studio för att demonstrera viktiga begrepp för anpassad namngiven entitetsigenkänning (NER). Som ett exempel skapar vi en anpassad NER-modell för att extrahera relevanta entiteter från låneavtal, till exempel:
- Datum för avtalet
- Låntagarens namn, adress, ort och delstat
- Långivarens namn, adress, ort och delstat
- Låne- och räntebelopp
Förutsättningar
- Azure-prenumeration – Skapa en kostnadsfritt
Skapa en ny Azure AI Language-resurs och Ett Azure-lagringskonto
Innan du kan använda anpassad NER måste du skapa en Azure AI Language-resurs som ger dig de autentiseringsuppgifter som du behöver för att skapa ett projekt och börja träna en modell. Du behöver också ett Azure Storage-konto där du kan ladda upp din datauppsättning som ska användas för att skapa din modell.
Viktigt!
För att snabbt komma igång rekommenderar vi att du skapar en ny Azure AI Language-resurs med hjälp av stegen i den här artikeln. Med hjälp av stegen i den här artikeln kan du skapa språkresursen och lagringskontot samtidigt, vilket är enklare än att göra det senare.
Om du har en befintlig resurs som du vill använda måste du ansluta den till lagringskontot. Mer information finns i vägledningen om hur du använder en befintlig resurs .
Skapa en ny resurs från Azure Portal
Logga in på Azure Portal för att skapa en ny Azure AI Language-resurs.
I fönstret som visas väljer du Anpassad textklassificering och anpassad namngiven entitetsigenkänning från de anpassade funktionerna. Välj Fortsätt för att skapa resursen längst ned på skärmen.
Skapa en språkresurs med följande information.
Kommentar
Om du får ett meddelande om att ditt inloggningskonto inte är ägare till det valda lagringskontots resursgrupp måste ditt konto ha en ägarroll tilldelad till resursgruppen innan du kan skapa en Språkresurs. Kontakta din Azure-prenumerationsägare om du vill ha hjälp.
I avsnittet Anpassad textklassificering och anpassad namngiven entitetsigenkänning väljer du ett befintligt lagringskonto eller väljer Nytt lagringskonto. Dessa värden hjälper dig att komma igång och inte nödvändigtvis de lagringskontovärden som du vill använda i produktionsmiljöer. Undvik svarstider när du skapar projektet genom att ansluta till lagringskonton i samma region som språkresursen.
Lagringskontovärde Rekommenderat värde Lagringskontonamn Valfritt namn Storage account type Standard LRS Kontrollera att meddelandet om ansvarsfull AI är markerat. Välj Granska + skapa längst ned på sidan och välj sedan Skapa.
Ladda upp exempeldata till blobcontainer
När du har skapat ett Azure-lagringskonto och anslutit det till språkresursen måste du ladda upp dokumenten från exempeldatauppsättningen till rotkatalogen för containern. Dessa dokument kommer senare att användas för att träna din modell.
Ladda ned exempeldatauppsättningen från GitHub.
Öppna filen .zip och extrahera mappen som innehåller dokumenten.
I Azure Portal navigerar du till lagringskontot som du skapade och väljer det.
I ditt lagringskonto väljer du Containrar på den vänstra menyn under Datalagring. På skärmen som visas väljer du + Container. Ge containern namnet example-data och lämna standardnivån offentlig åtkomst.
När containern har skapats väljer du den. Välj sedan knappen Ladda upp för att välja filerna
.txt
och.json
som du laddade ned tidigare.
Den tillhandahållna exempeldatamängden innehåller 20 låneavtal. Varje avtal omfattar två parter: en långivare och en låntagare. Du kan använda den angivna exempelfilen för att extrahera relevant information för: båda parter, ett avtalsdatum, ett lånebelopp och en räntesats.
Skapa ett anpassat projekt för entitetsigenkänning
När resursen och lagringskontot har konfigurerats skapar du ett nytt anpassat NER-projekt. Ett projekt är ett arbetsområde för att skapa dina anpassade ML-modeller baserat på dina data. Ditt projekt kan bara nås av dig och andra som har åtkomst till den språkresurs som används.
Logga in på Language Studio. Ett fönster visas där du kan välja din prenumeration och språkresurs. Välj den språkresurs som du skapade i steget ovan.
Under avsnittet Extrahera information i Language Studio väljer du Anpassad namngiven entitetsigenkänning.
Välj Skapa nytt projekt på den översta menyn på projektsidan. När du skapar ett projekt kan du tagga data, träna, utvärdera, förbättra och distribuera dina modeller.
När du har klickat på Skapa nytt projekt visas ett fönster där du kan ansluta ditt lagringskonto. Om du redan har anslutit ett lagringskonto visas det anslutna lagringskontot. Om inte väljer du ditt lagringskonto i listrutan som visas och väljer Anslut lagringskonto. Detta anger de roller som krävs för ditt lagringskonto. Det här steget returnerar eventuellt ett fel om du inte har tilldelats som ägare på lagringskontot.
Kommentar
- Du behöver bara göra det här steget en gång för varje ny resurs som du använder.
- Den här processen kan inte ångras, om du ansluter ett lagringskonto till din Språkresurs kan du inte koppla från det senare.
- Du kan bara ansluta språkresursen till ett lagringskonto.
Ange projektinformationen, inklusive ett namn, en beskrivning och språket för filerna i projektet. Om du använder exempeldatauppsättningen väljer du Engelska. Du kommer inte att kunna ändra namnet på projektet senare. Välj Nästa
Dricks
Datamängden behöver inte vara helt på samma språk. Du kan ha flera dokument, var och en med olika språk som stöds. Om datamängden innehåller dokument med olika språk eller om du förväntar dig text från olika språk under körningen väljer du alternativet Aktivera flerspråkig datauppsättning när du anger grundläggande information för projektet. Det här alternativet kan aktiveras senare från sidan Projektinställningar .
Välj den container där du har laddat upp datamängden. Om du redan har etiketterat data kontrollerar du att de följer formatet som stöds och väljer Ja, mina filer är redan märkta och jag har formaterat JSON-etikettfilen och väljer etikettfilen i den nedrullningsbara menyn. Välj Nästa.
Granska de data som du har angett och välj Skapa projekt.
Träna din modell
När du har skapat ett projekt börjar du vanligtvis tagga de dokument som du har i containern som är ansluten till projektet. I den här snabbstarten har du importerat en exempeltaggad datauppsättning och initierat projektet med JSON-exempeltaggarfilen.
Så här börjar du träna din modell inifrån Language Studio:
Välj Träningsjobb på menyn till vänster.
Välj Starta ett träningsjobb på den översta menyn.
Välj Träna en ny modell och skriv in modellnamnet i textrutan. Du kan också skriva över en befintlig modell genom att välja det här alternativet och välja den modell som du vill skriva över från den nedrullningsbara menyn. Att skriva över en tränad modell är oåterkalleligt, men det påverkar inte dina distribuerade modeller förrän du distribuerar den nya modellen.
Välj datadelningsmetod. Du kan välja Att automatiskt dela upp testuppsättningen från träningsdata där systemet delar upp dina märkta data mellan tränings- och testuppsättningarna, enligt de angivna procentandelarna. Eller så kan du använda en manuell delning av tränings- och testdata. Det här alternativet är bara aktiverat om du har lagt till dokument i testuppsättningen under dataetiketteringen. Se Träna en modell för information om datadelning.
Välj knappen Träna.
Om du väljer ID för träningsjobb i listan visas en sidoruta där du kan kontrollera träningsförloppet, jobbstatusen och annan information för det här jobbet.
Kommentar
- Endast slutförda träningsjobb genererar modeller.
- Träningen kan ta lite tid mellan ett par minuter och flera timmar baserat på storleken på dina märkta data.
- Du kan bara köra ett träningsjobb i taget. Du kan inte starta ett annat träningsjobb i samma projekt förrän det pågående jobbet har slutförts.
Distribuera din modell
Vanligtvis efter att ha tränat en modell skulle du granska dess utvärderingsinformation och göra förbättringar om det behövs. I den här snabbstarten distribuerar du bara din modell och gör den tillgänglig för dig att prova i Language Studio, eller så kan du anropa förutsägelse-API:et.
Så här distribuerar du din modell inifrån Language Studio:
Välj Distribuera en modell från menyn till vänster.
Välj Lägg till distribution för att starta ett nytt distributionsjobb.
Välj Skapa ny distribution för att skapa en ny distribution och tilldela en tränad modell i listrutan nedan. Du kan också skriva över en befintlig distribution genom att välja det här alternativet och välja den tränade modell som du vill tilldela till den i listrutan nedan.
Kommentar
Om du skriver över en befintlig distribution krävs inte ändringar i api-anropet för förutsägelse , men de resultat du får baseras på den nyligen tilldelade modellen.
Välj Distribuera för att starta distributionsjobbet.
När distributionen har slutförts visas ett förfallodatum bredvid den. Distributionen upphör att gälla när den distribuerade modellen inte kommer att användas för förutsägelse, vilket vanligtvis sker tolv månader efter att en träningskonfiguration upphör att gälla.
Testa din modell
När din modell har distribuerats kan du börja använda den för att extrahera entiteter från din text via Förutsägelse-API. I den här snabbstarten använder du Language Studio för att skicka uppgiften för anpassad entitetsigenkänning och visualisera resultatet. I exempeldatauppsättningen som du laddade ned tidigare hittar du några testdokument som du kan använda i det här steget.
Så här testar du dina distribuerade modeller från Language Studio:
Välj Testa distributioner på menyn till vänster.
Välj den distribution som du vill testa. Du kan bara testa modeller som har tilldelats distributioner.
För flerspråkiga projekt går du till listrutan språk och väljer språket för den text som du testar.
Välj den distribution som du vill köra frågor mot/testa i listrutan.
Du kan ange den text som du vill skicka till begäran eller ladda upp en
.txt
fil som ska användas.Välj Kör testet på den översta menyn.
På fliken Resultat kan du se de extraherade entiteterna från din text och deras typer. Du kan också visa JSON-svaret under fliken JSON .
Rensa resurser
När du inte längre behöver projektet kan du ta bort projektet med Hjälp av Language Studio. Välj Anpassad namngiven entitetsigenkänning (NER) överst, välj det projekt som du vill ta bort och välj sedan Ta bort på den översta menyn.
Förutsättningar
- Azure-prenumeration – Skapa en kostnadsfritt
Skapa en ny Azure AI Language-resurs och Ett Azure-lagringskonto
Innan du kan använda anpassad NER måste du skapa en Azure AI Language-resurs som ger dig de autentiseringsuppgifter som du behöver för att skapa ett projekt och börja träna en modell. Du behöver också ett Azure-lagringskonto där du kan ladda upp din datauppsättning som ska användas för att skapa din modell.
Viktigt!
För att komma igång snabbt rekommenderar vi att du skapar en ny Azure AI Language-resurs med hjälp av stegen i den här artikeln, som gör att du kan skapa språkresursen och skapa och/eller ansluta ett lagringskonto samtidigt, vilket är enklare än att göra det senare.
Om du har en befintlig resurs som du vill använda måste du ansluta den till lagringskontot. Mer information finns i Skapa projekt .
Skapa en ny resurs från Azure Portal
Logga in på Azure Portal för att skapa en ny Azure AI Language-resurs.
I fönstret som visas väljer du Anpassad textklassificering och anpassad namngiven entitetsigenkänning från de anpassade funktionerna. Välj Fortsätt för att skapa resursen längst ned på skärmen.
Skapa en språkresurs med följande information.
Kommentar
Om du får ett meddelande om att ditt inloggningskonto inte är ägare till det valda lagringskontots resursgrupp måste ditt konto ha en ägarroll tilldelad till resursgruppen innan du kan skapa en Språkresurs. Kontakta din Azure-prenumerationsägare om du vill ha hjälp.
I avsnittet Anpassad textklassificering och anpassad namngiven entitetsigenkänning väljer du ett befintligt lagringskonto eller väljer Nytt lagringskonto. Dessa värden hjälper dig att komma igång och inte nödvändigtvis de lagringskontovärden som du vill använda i produktionsmiljöer. Undvik svarstider när du skapar projektet genom att ansluta till lagringskonton i samma region som språkresursen.
Lagringskontovärde Rekommenderat värde Lagringskontonamn Valfritt namn Storage account type Standard LRS Kontrollera att meddelandet om ansvarsfull AI är markerat. Välj Granska + skapa längst ned på sidan och välj sedan Skapa.
Ladda upp exempeldata till blobcontainer
När du har skapat ett Azure-lagringskonto och anslutit det till språkresursen måste du ladda upp dokumenten från exempeldatauppsättningen till rotkatalogen för containern. Dessa dokument kommer senare att användas för att träna din modell.
Ladda ned exempeldatauppsättningen från GitHub.
Öppna filen .zip och extrahera mappen som innehåller dokumenten.
I Azure Portal navigerar du till lagringskontot som du skapade och väljer det.
I ditt lagringskonto väljer du Containrar på den vänstra menyn under Datalagring. På skärmen som visas väljer du + Container. Ge containern namnet example-data och lämna standardnivån offentlig åtkomst.
När containern har skapats väljer du den. Välj sedan knappen Ladda upp för att välja filerna
.txt
och.json
som du laddade ned tidigare.
Den tillhandahållna exempeldatamängden innehåller 20 låneavtal. Varje avtal omfattar två parter: en långivare och en låntagare. Du kan använda den angivna exempelfilen för att extrahera relevant information för: båda parter, ett avtalsdatum, ett lånebelopp och en räntesats.
Hämta dina resursnycklar och slutpunkt
Gå till resursöversiktssidan i Azure Portal
På menyn till vänster väljer du Nycklar och Slutpunkt. Du använder slutpunkten och nyckeln för API-begäranden
Skapa ett anpassat NER-projekt
När resursen och lagringskontot har konfigurerats skapar du ett nytt anpassat NER-projekt. Ett projekt är ett arbetsområde för att skapa dina anpassade ML-modeller baserat på dina data. Ditt projekt kan bara nås av dig och andra som har åtkomst till den språkresurs som används.
Använd taggar-filen som du laddade ned från exempeldata i föregående steg och lägg till den i brödtexten i följande begäran.
Projektjobb för utlösare för import
Skicka en POST-begäran med hjälp av följande URL, rubriker och JSON-brödtext för att importera din etikettfil. Kontrollera att din etikettfil följer det godkända formatet.
Om det redan finns ett projekt med samma namn ersätts data för projektet.
{Endpoint}/language/authoring/analyze-text/projects/{projectName}/:import?api-version={API-VERSION}
Platshållare | Värde | Exempel |
---|---|---|
{ENDPOINT} |
Slutpunkten för att autentisera din API-begäran. | https://<your-custom-subdomain>.cognitiveservices.azure.com |
{PROJECT-NAME} |
Namnet på projektet. Det här värdet är skiftlägeskänsligt. | myProject |
{API-VERSION} |
Den version av API:et som du anropar. Värdet som refereras här är för den senaste versionen som släppts. Mer information om andra tillgängliga API-versioner finns i Modelllivscykel . | 2022-05-01 |
Sidhuvuden
Använd följande rubrik för att autentisera din begäran.
Tangent | Värde |
---|---|
Ocp-Apim-Subscription-Key |
Nyckeln till resursen. Används för att autentisera dina API-begäranden. |
Brödtext
Använd följande JSON i din begäran. Ersätt platshållarvärdena nedan med dina egna värden.
{
"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
}
]
}
]
}
]
}
}
Nyckel | Platshållare | Värde | Exempel |
---|---|---|---|
api-version |
{API-VERSION} |
Den version av API:et som du anropar. Den version som används här måste vara samma API-version i URL:en. Läs mer om andra tillgängliga API-versioner | 2022-03-01-preview |
projectName |
{PROJECT-NAME} |
Namnet på projektet. Det här värdet är skiftlägeskänsligt. | myProject |
projectKind |
CustomEntityRecognition |
Din projekttyp. | CustomEntityRecognition |
language |
{LANGUAGE-CODE} |
En sträng som anger språkkoden för de dokument som används i projektet. Om projektet är ett flerspråkigt projekt väljer du språkkoden för de flesta dokumenten. | en-us |
multilingual |
true |
Ett booleskt värde som gör att du kan ha dokument på flera språk i datauppsättningen och när din modell distribueras kan du fråga modellen på alla språk som stöds (inte nödvändigtvis i dina träningsdokument. Mer information om flerspråkig support finns i språkstöd . | true |
storageInputContainerName |
{CONTAINER-NAME} | Namnet på din Azure Storage-container där du har laddat upp dina dokument. | myContainer |
entities |
Matris som innehåller alla entitetstyper som du har i projektet. Det här är de entitetstyper som kommer att extraheras från dina dokument till. | ||
documents |
Matris som innehåller alla dokument i projektet och en lista över de entiteter som är märkta i varje dokument. | [] | |
location |
{DOCUMENT-NAME} |
Platsen för dokumenten i lagringscontainern. Eftersom alla dokument finns i roten i containern bör detta vara dokumentnamnet. | doc1.txt |
dataset |
{DATASET} |
Testuppsättningen som filen ska gå till när den delas upp före träningen. Mer information om hur dina data delas finns i Träna en modell . Möjliga värden för det här fältet är Train och Test . |
Train |
När du har skickat din API-begäran får du ett 202
svar som anger att jobbet har skickats korrekt. Extrahera värdet i svarshuvudena operation-location
. Den formateras så här:
{ENDPOINT}/language/authoring/analyze-text/projects/{PROJECT-NAME}/import/jobs/{JOB-ID}?api-version={API-VERSION}
{JOB-ID}
används för att identifiera din begäran, eftersom den här åtgärden är asynkron. Du använder den här URL:en för att hämta status för importjobbet.
Möjliga felscenarier för den här begäran:
- Den valda resursen har inte rätt behörigheter för lagringskontot.
- Den
storageInputContainerName
angivna finns inte. - Ogiltig språkkod används, eller om språkkodtypen inte är sträng.
multilingual
värdet är en sträng och inte ett booleskt värde.
Hämta status för importjobb
Använd följande GET-begäran för att hämta statusen för din import av projektet. Ersätt platshållarvärdena nedan med dina egna värden.
Begärans-URL
{ENDPOINT}/language/authoring/analyze-text/projects/{PROJECT-NAME}/import/jobs/{JOB-ID}?api-version={API-VERSION}
Platshållare | Värde | Exempel |
---|---|---|
{ENDPOINT} |
Slutpunkten för att autentisera din API-begäran. | https://<your-custom-subdomain>.cognitiveservices.azure.com |
{PROJECT-NAME} |
Namnet på projektet. Det här värdet är skiftlägeskänsligt. | myProject |
{JOB-ID} |
ID:t för att hitta modellens träningsstatus. Det här värdet finns i det location rubrikvärde som du fick i föregående steg. |
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx |
{API-VERSION} |
Den version av API:et som du anropar. Värdet som refereras här är för den senaste versionen som släppts. Mer information om andra tillgängliga API-versioner finns i Modelllivscykel . | 2022-05-01 |
Sidhuvuden
Använd följande rubrik för att autentisera din begäran.
Tangent | Värde |
---|---|
Ocp-Apim-Subscription-Key |
Nyckeln till resursen. Används för att autentisera dina API-begäranden. |
Träna din modell
När du har skapat ett projekt börjar du vanligtvis tagga de dokument som du har i containern som är ansluten till projektet. I den här snabbstarten har du importerat en exempeltaggad datauppsättning och initierat projektet med JSON-exempeltaggarfilen.
Starta träningsjobbet
När projektet har importerats kan du börja träna din modell.
Skicka en POST-begäran med hjälp av följande URL, rubriker och JSON-brödtext för att skicka ett träningsjobb. Ersätt platshållarvärdena nedan med dina egna värden.
{ENDPOINT}/language/authoring/analyze-text/projects/{PROJECT-NAME}/:train?api-version={API-VERSION}
Platshållare | Värde | Exempel |
---|---|---|
{ENDPOINT} |
Slutpunkten för att autentisera din API-begäran. | https://<your-custom-subdomain>.cognitiveservices.azure.com |
{PROJECT-NAME} |
Namnet på projektet. Det här värdet är skiftlägeskänsligt. | myProject |
{API-VERSION} |
Den version av API:et som du anropar. Värdet som refereras här är för den senaste versionen som släppts. Mer information om andra tillgängliga API-versioner finns i Modelllivscykel . | 2022-05-01 |
Sidhuvuden
Använd följande rubrik för att autentisera din begäran.
Tangent | Värde |
---|---|
Ocp-Apim-Subscription-Key |
Nyckeln till resursen. Används för att autentisera dina API-begäranden. |
Begärandetext
Använd följande JSON i begärandetexten. Modellen kommer att ges när {MODEL-NAME}
träningen är klar. Endast lyckade träningsjobb skapar modeller.
{
"modelLabel": "{MODEL-NAME}",
"trainingConfigVersion": "{CONFIG-VERSION}",
"evaluationOptions": {
"kind": "percentage",
"trainingSplitPercentage": 80,
"testingSplitPercentage": 20
}
}
Nyckel | Platshållare | Värde | Exempel |
---|---|---|---|
modelLabel | {MODEL-NAME} |
Modellnamnet som ska tilldelas till din modell när den har tränats. | myModel |
trainingConfigVersion | {CONFIG-VERSION} |
Det här är den modellversion som ska användas för att träna modellen. | 2022-05-01 |
evaluationOptions | Alternativ för att dela upp dina data mellan tränings- och testuppsättningar. | {} |
|
typ | percentage |
Dela upp metoder. Möjliga värden är percentage eller manual . Mer information finns i Träna en modell . |
percentage |
trainingSplitPercentage | 80 |
Procentandel av dina taggade data som ska ingå i träningsuppsättningen. Rekommenderat värde är 80 . |
80 |
testingSplitPercentage | 20 |
Procentandel av dina taggade data som ska ingå i testuppsättningen. Rekommenderat värde är 20 . |
20 |
Kommentar
Och trainingSplitPercentage
testingSplitPercentage
krävs endast om Kind
anges till percentage
och summan av båda procentandelarna ska vara lika med 100.
När du har skickat din API-begäran får du ett 202
svar som anger att jobbet har skickats korrekt. Extrahera värdet i svarshuvudena location
. Den formateras så här:
{ENDPOINT}/language/authoring/analyze-text/projects/{PROJECT-NAME}/train/jobs/{JOB-ID}?api-version={API-VERSION}
{JOB-ID}
används för att identifiera din begäran, eftersom den här åtgärden är asynkron. Du kan använda den här URL:en för att hämta träningsstatusen.
Hämta status för träningsjobb
Det kan ta någon gång mellan 10 och 30 minuter att träna den här exempeldatamängden. Du kan använda följande begäran för att fortsätta avsöka statusen för träningsjobbet tills det har slutförts.
Använd följande GET-begäran för att få status för din modells träningsförlopp. Ersätt platshållarvärdena nedan med dina egna värden.
Begärans-URL
{ENDPOINT}/language/authoring/analyze-text/projects/{PROJECT-NAME}/train/jobs/{JOB-ID}?api-version={API-VERSION}
Platshållare | Värde | Exempel |
---|---|---|
{ENDPOINT} |
Slutpunkten för att autentisera din API-begäran. | https://<your-custom-subdomain>.cognitiveservices.azure.com |
{PROJECT-NAME} |
Namnet på projektet. Det här värdet är skiftlägeskänsligt. | myProject |
{JOB-ID} |
ID:t för att hitta modellens träningsstatus. Det här värdet finns i det location rubrikvärde som du fick i föregående steg. |
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx |
{API-VERSION} |
Den version av API:et som du anropar. Värdet som refereras här är för den senaste versionen som släppts. Mer information om andra tillgängliga API-versioner finns i Modelllivscykel . | 2022-05-01 |
Sidhuvuden
Använd följande rubrik för att autentisera din begäran.
Tangent | Värde |
---|---|
Ocp-Apim-Subscription-Key |
Nyckeln till resursen. Används för att autentisera dina API-begäranden. |
Svarstext
När du har skickat begäran får du följande svar.
{
"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"
}
Distribuera din modell
När du har tränat en modell kan du granska dess utvärderingsinformation och göra förbättringar om det behövs. I den här snabbstarten distribuerar du bara din modell och gör den tillgänglig för dig att prova i Language Studio, eller så kan du anropa förutsägelse-API:et.
Starta distributionsjobbet
Skicka en PUT-begäran med hjälp av följande URL, rubriker och JSON-brödtext för att skicka ett distributionsjobb. Ersätt platshållarvärdena nedan med dina egna värden.
{Endpoint}/language/authoring/analyze-text/projects/{projectName}/deployments/{deploymentName}?api-version={API-VERSION}
Platshållare | Värde | Exempel |
---|---|---|
{ENDPOINT} |
Slutpunkten för att autentisera din API-begäran. | https://<your-custom-subdomain>.cognitiveservices.azure.com |
{PROJECT-NAME} |
Namnet på projektet. Det här värdet är skiftlägeskänsligt. | myProject |
{DEPLOYMENT-NAME} |
Namnet på distributionen. Det här värdet är skiftlägeskänsligt. | staging |
{API-VERSION} |
Den version av API:et som du anropar. Värdet som refereras här är för den senaste versionen som släppts. Mer information om andra tillgängliga API-versioner finns i Modelllivscykel . | 2022-05-01 |
Sidhuvuden
Använd följande rubrik för att autentisera din begäran.
Tangent | Värde |
---|---|
Ocp-Apim-Subscription-Key |
Nyckeln till resursen. Används för att autentisera dina API-begäranden. |
Begärandetext
Använd följande JSON i brödtexten i din begäran. Använd namnet på den modell som du tilldelar distributionen.
{
"trainedModelLabel": "{MODEL-NAME}"
}
Nyckel | Platshållare | Värde | Exempel |
---|---|---|---|
trainedModelLabel | {MODEL-NAME} |
Modellnamnet som ska tilldelas distributionen. Du kan bara tilldela modeller som tränats. Det här värdet är skiftlägeskänsligt. | myModel |
När du har skickat din API-begäran får du ett 202
svar som anger att jobbet har skickats korrekt. Extrahera värdet i svarshuvudena operation-location
. Den formateras så här:
{ENDPOINT}/language/authoring/analyze-text/projects/{PROJECT-NAME}/deployments/{DEPLOYMENT-NAME}/jobs/{JOB-ID}?api-version={API-VERSION}
{JOB-ID}
används för att identifiera din begäran, eftersom den här åtgärden är asynkron. Du kan använda den här URL:en för att hämta distributionsstatusen.
Hämta status för distributionsjobb
Använd följande GET-begäran för att fråga efter status för distributionsjobbet. Du kan använda den URL som du fick från föregående steg eller ersätta platshållarvärdena nedan med dina egna värden.
{ENDPOINT}/language/authoring/analyze-text/projects/{PROJECT-NAME}/deployments/{DEPLOYMENT-NAME}/jobs/{JOB-ID}?api-version={API-VERSION}
Platshållare | Värde | Exempel |
---|---|---|
{ENDPOINT} |
Slutpunkten för att autentisera din API-begäran. | https://<your-custom-subdomain>.cognitiveservices.azure.com |
{PROJECT-NAME} |
Namnet på projektet. Det här värdet är skiftlägeskänsligt. | myProject |
{DEPLOYMENT-NAME} |
Namnet på distributionen. Det här värdet är skiftlägeskänsligt. | staging |
{JOB-ID} |
ID:t för att hitta modellens träningsstatus. Det här är i det location rubrikvärde som du fick i föregående steg. |
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx |
{API-VERSION} |
Den version av API:et som du anropar. Värdet som refereras här är för den senaste versionen som släppts. Mer information om andra tillgängliga API-versioner finns i Modelllivscykel . | 2022-05-01 |
Sidhuvuden
Använd följande rubrik för att autentisera din begäran.
Tangent | Värde |
---|---|
Ocp-Apim-Subscription-Key |
Nyckeln till resursen. Används för att autentisera dina API-begäranden. |
Svarstext
När du har skickat begäran får du följande svar. Fortsätt att avsöka den här slutpunkten tills statusparametern ändras till "lyckades". Du bör få en 200
kod som anger att begäran har slutförts.
{
"jobId":"{JOB-ID}",
"createdDateTime":"{CREATED-TIME}",
"lastUpdatedDateTime":"{UPDATED-TIME}",
"expirationDateTime":"{EXPIRATION-TIME}",
"status":"running"
}
Extrahera anpassade entiteter
När din modell har distribuerats kan du börja använda den för att extrahera entiteter från din text med hjälp av förutsägelse-API:et. I exempeldatauppsättningen som du laddade ned tidigare hittar du några testdokument som du kan använda i det här steget.
Skicka en anpassad NER-uppgift
Använd den här POST-begäran för att starta en textklassificeringsuppgift.
{ENDPOINT}/language/analyze-text/jobs?api-version={API-VERSION}
Platshållare | Värde | Exempel |
---|---|---|
{ENDPOINT} |
Slutpunkten för att autentisera din API-begäran. | https://<your-custom-subdomain>.cognitiveservices.azure.com |
{API-VERSION} |
Den version av API:et som du anropar. Värdet som refereras här är för den senaste versionen som släppts. Mer information om andra tillgängliga API-versioner finns i Modelllivscykel . | 2022-05-01 |
Sidhuvuden
Tangent | Värde |
---|---|
Ocp-Apim-Subscription-Key | Din nyckel som ger åtkomst till det här API:et. |
Brödtext
{
"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}"
}
}
]
}
Nyckel | Platshållare | Värde | Exempel |
---|---|---|---|
displayName |
{JOB-NAME} |
Ditt jobbnamn. | MyJobName |
documents |
[{},{}] | Lista över dokument som aktiviteter ska köras på. | [{},{}] |
id |
{DOC-ID} |
Dokumentnamn eller ID. | doc1 |
language |
{LANGUAGE-CODE} |
En sträng som anger språkkoden för dokumentet. Om den här nyckeln inte anges förutsätter tjänsten standardspråket för projektet som valdes när projektet skapades. Se språkstöd för en lista över språkkoder som stöds. | en-us |
text |
{DOC-TEXT} |
Dokumentuppgift som aktiviteterna ska köras på. | Lorem ipsum dolor sit amet |
tasks |
Lista över uppgifter som vi vill utföra. | [] |
|
taskName |
CustomEntityRecognition |
Uppgiftsnamnet | CustomEntityRecognition |
parameters |
Lista över parametrar som ska skickas till uppgiften. | ||
project-name |
{PROJECT-NAME} |
Namnet på projektet. Det här värdet är skiftlägeskänsligt. | myProject |
deployment-name |
{DEPLOYMENT-NAME} |
Namnet på distributionen. Det här värdet är skiftlägeskänsligt. | prod |
Response
Du får ett 202-svar som anger att din uppgift har skickats. I svarshuvudena extraherar du operation-location
.
operation-location
är formaterad så här:
{ENDPOINT}/language/analyze-text/jobs/{JOB-ID}?api-version={API-VERSION}
Du kan använda den här URL:en för att fråga efter uppgiftens slutförandestatus och få resultatet när aktiviteten har slutförts.
Hämta aktivitetsresultat
Använd följande GET-begäran för att fråga efter status/resultat för den anpassade entitetsigenkänningsaktiviteten.
{ENDPOINT}/language/analyze-text/jobs/{JOB-ID}?api-version={API-VERSION}
Platshållare | Värde | Exempel |
---|---|---|
{ENDPOINT} |
Slutpunkten för att autentisera din API-begäran. | https://<your-custom-subdomain>.cognitiveservices.azure.com |
{API-VERSION} |
Den version av API:et som du anropar. Värdet som refereras här är för den senaste versionen som släppts. Mer information om andra tillgängliga API-versioner finns i Modelllivscykel . | 2022-05-01 |
Sidhuvuden
Tangent | Värde |
---|---|
Ocp-Apim-Subscription-Key | Din nyckel som ger åtkomst till det här API:et. |
Svarstext
Svaret blir ett JSON-dokument med följande parametrar
{
"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"
}
}
]
}
}
Rensa resurser
När du inte längre behöver projektet kan du ta bort det med följande DELETE-begäran . Ersätt platshållarvärdena med dina egna värden.
{Endpoint}/language/authoring/analyze-text/projects/{projectName}?api-version={API-VERSION}
Platshållare | Värde | Exempel |
---|---|---|
{ENDPOINT} |
Slutpunkten för att autentisera din API-begäran. | https://<your-custom-subdomain>.cognitiveservices.azure.com |
{PROJECT-NAME} |
Namnet på projektet. Det här värdet är skiftlägeskänsligt. | myProject |
{API-VERSION} |
Den version av API:et som du anropar. Värdet som refereras här är för den senaste versionen som släppts. Mer information om andra tillgängliga API-versioner finns i Modelllivscykel . | 2022-05-01 |
Sidhuvuden
Använd följande rubrik för att autentisera din begäran.
Tangent | Värde |
---|---|
Ocp-Apim-Subscription-Key | Nyckeln till resursen. Används för att autentisera dina API-begäranden. |
När du har skickat din API-begäran får du ett 202
svar som anger att projektet har slutförts, vilket innebär att projektet har tagits bort. Ett lyckat anrop resulterar med en rubrik för Åtgärd-plats som används för att kontrollera jobbets status.
Nästa steg
När du har skapat entitetsextraheringsmodellen kan du:
När du börjar skapa egna anpassade NER-projekt använder du instruktionsartiklarna för att lära dig mer om taggning, träning och användning av din modell i detalj: