Dela via


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

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-portalen

  1. Logga in på Azure-portalen för att skapa en ny Azure AI Language-resurs.

  2. 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.

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

  3. Skapa en språkresurs med följande information.

    Name beskrivning
    Prenumeration Din Azure-prenumeration.
    Resursgrupp En resursgrupp som ska innehålla din resurs. Du kan använda en befintlig eller skapa en ny.
    Region Regionen för språkresursen. Till exempel "USA, västra 2".
    Name Ett namn på resursen.
    Prisnivå Prisnivån för din språkresurs. Du kan använda nivån Kostnadsfri (F0) för att prova tjänsten.

    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.

  4. 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
  5. 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.

  1. Ladda ned exempeldatauppsättningen från GitHub.

  2. Öppna zip-filen och extrahera mappen som innehåller dokumenten.

  3. I Azure-portalen navigerar du till lagringskontot som du skapade och väljer det.

  4. 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.

    A screenshot showing the main page for a storage account.

  5. 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.

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

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.

  1. 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.

  2. Under avsnittet Extrahera information i Language Studio väljer du Anpassad namngiven entitetsigenkänning.

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

  3. 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.

    A screenshot of the project creation page.

  4. 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.

    A screenshot showing the storage connection screen.

  5. 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 .

  6. 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.

  7. 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:

  1. Välj Träningsjobb på menyn till vänster.

  2. Välj Starta ett träningsjobb på den översta menyn.

  3. 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.

    Create a new training job

  4. 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.

  5. Välj knappen Träna.

  6. 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:

  1. Välj Distribuera en modell från menyn till vänster.

  2. Välj Lägg till distribution för att starta ett nytt distributionsjobb.

    A screenshot showing the deployment button

  3. 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.

    A screenshot showing the deployment screen

  4. Välj Distribuera för att starta distributionsjobbet.

  5. 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:

  1. Välj Testa distributioner på menyn till vänster.

  2. Välj den distribution som du vill testa. Du kan bara testa modeller som har tilldelats distributioner.

  3. För flerspråkiga projekt går du till listrutan språk och väljer språket för den text som du testar.

  4. Välj den distribution som du vill köra frågor mot/testa i listrutan.

  5. Du kan ange den text som du vill skicka till begäran eller ladda upp en .txt fil som ska användas.

  6. Välj Kör testet på den översta menyn.

  7. 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 .

A screenshot showing the model test results.

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

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-portalen

  1. Logga in på Azure-portalen för att skapa en ny Azure AI Language-resurs.

  2. 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.

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

  3. Skapa en språkresurs med följande information.

    Name beskrivning
    Prenumeration Din Azure-prenumeration.
    Resursgrupp En resursgrupp som ska innehålla din resurs. Du kan använda en befintlig eller skapa en ny.
    Region Regionen för språkresursen. Till exempel "USA, västra 2".
    Name Ett namn på resursen.
    Prisnivå Prisnivån för din språkresurs. Du kan använda nivån Kostnadsfri (F0) för att prova tjänsten.

    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.

  4. 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
  5. 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.

  1. Ladda ned exempeldatauppsättningen från GitHub.

  2. Öppna zip-filen och extrahera mappen som innehåller dokumenten.

  3. I Azure-portalen navigerar du till lagringskontot som du skapade och väljer det.

  4. 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.

    A screenshot showing the main page for a storage account.

  5. 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.

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

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

  1. Gå till resursöversiktssidan i Azure-portalen

  2. På menyn till vänster väljer du Nycklar och Slutpunkt. Du använder slutpunkten och nyckeln för API-begäranden

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

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
                            }
                        ]
                    }
                ]
            }
        ]
    }
}
Key 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äran-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
	}
}
Key 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 trainingSplitPercentagetestingSplitPercentage 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äran-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}"
}
Key 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}"
      }
    }
  ]
}
Key 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: