Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Skorzystaj z tego artykułu, aby rozpocząć tworzenie niestandardowego projektu klasyfikacji tekstu, w którym można trenować modele niestandardowe na potrzeby klasyfikacji tekstu. Model to oprogramowanie sztucznej inteligencji przeszkolone w celu wykonania określonego zadania. W przypadku tego systemu modele klasyfikują tekst i są szkolone przez uczenie się na podstawie oznakowanych danych.
Niestandardowa klasyfikacja tekstu obsługuje dwa typy projektów:
- Klasyfikacja pojedynczej etykiety — można przypisać pojedynczą klasę dla każdego dokumentu w zestawie danych. Na przykład skrypt filmowy można sklasyfikować tylko jako "Romans" lub "Komedia".
- Klasyfikacja wielu etykiet — można przypisać wiele klas dla każdego dokumentu w zestawie danych. Na przykład skrypt filmowy można sklasyfikować jako "Komedia" lub "Romans" i "Komedia".
W tym krótkim przewodniku możesz użyć udostępnionych przykładowych zestawów danych do utworzenia wielokrotnej klasyfikacji w celu klasyfikowania skryptów filmowych w jednej lub więcej kategorii. Alternatywnie można użyć zestawu danych klasyfikacji jednoetykietowej do klasyfikowania streszczeń naukowych artykułów w jednej ze zdefiniowanych domen.
Wymagania wstępne
- Subskrypcja platformy Azure — utwórz jedną bezpłatnie.
Tworzenie nowego języka platformy Azure w zasobie narzędzi Foundry Tools i koncie usługi Azure Storage
Zanim będzie można użyć niestandardowej klasyfikacji tekstu, musisz utworzyć zasób językowy, który zapewni poświadczenia potrzebne do utworzenia projektu i rozpoczęcia trenowania modelu. Potrzebujesz również konta usługi Azure Storage, na którym można przekazać zestaw danych używany podczas tworzenia modelu.
Ważne
Aby szybko rozpocząć pracę, zalecamy utworzenie nowego zasobu językowego Azure, korzystając z kroków podanych w tym artykule. Pozwoli to jednocześnie utworzyć zasób językowy Azure oraz stworzyć i/lub połączyć konto magazynu, co jest łatwiejsze niż wykonanie tych czynności później.
Jeśli masz wcześniej istniejący zasób, którego chcesz użyć, musisz połączyć go z kontem magazynowym.
Tworzenie nowego zasobu w witrynie Azure Portal
Przejdź do Azure portal, aby utworzyć nowy zasób Azure Language w narzędziach Foundry.
W wyświetlonym oknie wybierz Niestandardową klasyfikację tekstu i niestandardowe rozpoznawanie jednostek nazwanych z funkcji niestandardowych. Wybierz pozycję Kontynuuj, aby utworzyć zasób w dolnej części ekranu.
Utwórz zasób językowy z następującymi szczegółami.
Nazwisko Wartość wymagana Subskrypcja Swoją subskrypcję platformy Azure. Grupa zasobów Grupa zasobów, która będzie zawierać twoje zasoby. Możesz użyć istniejącej lub utworzyć nową. Region Jeden z obsługiwanych regionów. Na przykład "Zachodnie stany USA 2". Nazwisko Nazwa zasobu. Poziom cenowy Jedna z obsługiwanych warstw cenowych. Aby wypróbować usługę, możesz użyć warstwy Bezpłatna (F0). Jeśli zostanie wyświetlony komunikat "Twoje konto logowania nie jest właścicielem wybranej grupy zasobów konta magazynu", twoje konto musi mieć przypisaną rolę właściciela w grupie zasobów, zanim będzie można utworzyć zasób językowy. Skontaktuj się z właścicielem subskrypcji platformy Azure, aby uzyskać pomoc.
Możesz określić właściciela subskrypcji platformy Azure, wyszukując grupę zasobów i korzystając z linku do skojarzonej subskrypcji. Następnie:
- Wybierz kartę Kontrola dostępu (IAM)
- Wybierz przypisania ról
- Filtruj według Rola:Właściciel.
W sekcji Niestandardowa klasyfikacja tekstu i niestandardowe rozpoznawanie nazwanych encji wybierz istniejące konto przechowywania lub wybierz pozycję Nowe konto przechowywania. Należy pamiętać, że te wartości ułatwiają rozpoczęcie pracy, a niekoniecznie wartości konta magazynu , których chcesz użyć w środowiskach produkcyjnych. Aby uniknąć opóźnień podczas tworzenia projektu, połącz się z kontami magazynu w tym samym regionie co usługa językowa.
Wartość konta magazynu Zalecana wartość Nazwa konta magazynu Dowolna nazwa Typ konta magazynowania Standardowa LRS Upewnij się, że zaznaczono powiadomienie o odpowiedzialnej sztucznej inteligencji . Wybierz pozycję Przejrzyj i utwórz w dolnej części strony.
Przekazywanie przykładowych danych do kontenera Blob
Po utworzeniu konta usługi Azure Storage i połączeniu go z zasobem Language należy przekazać dokumenty z przykładowego zestawu danych do katalogu głównego kontenera. Te dokumenty są używane do trenowania modelu.
Pobierz przykładowy zestaw danych dla projektów klasyfikacji z wieloma etykietami.
Otwórz plik .zip i wyodrębnij folder zawierający dokumenty.
Podany przykładowy zestaw danych zawiera około 200 dokumentów, z których każdy jest podsumowaniem filmu. Każdy dokument należy do co najmniej jednej z następujących klas:
- "Tajemnica"
- "Dramat"
- Thriller
- "Komedia"
- "Akcja"
Azure Portal
W witrynie Azure Portal przejdź do utworzonego konta magazynu i wybierz je, wybierając pozycję Konta magazynu i wpisując nazwę konta magazynu w polu Filtruj dla dowolnego pola.
Jeśli grupa zasobów nie jest wyświetlana, upewnij się, że filtr Subskrypcja równa się jest ustawiony na Wszystkie.
Na koncie magazynu wybierz pozycję Kontenery z menu po lewej stronie, znajdującym się poniżej magazynu danych. Na wyświetlonym ekranie wybierz pozycję + Kontener. Nadaj kontenerowi nazwę example-data i pozostaw domyślny poziom dostępu publicznego.
Po utworzeniu kontenera wybierz go. Następnie wybierz przycisk Przekaż, aby wybrać pliki
.txti.json, które pobrałeś wcześniej.
Pobierz klucze zasobu i punkt końcowy
Przejdź do strony przeglądu zasobu w witrynie Azure Portal
Z menu po lewej stronie wybierz pozycję Klucze i punkt końcowy. Punkt końcowy i klucz są używane dla żądań interfejsu API.
Tworzenie niestandardowego projektu klasyfikacji tekstu
Po skonfigurowaniu zasobu i zasobnika danych utwórz nowy niestandardowy projekt klasyfikacji tekstu. Projekt to obszar roboczy umożliwiający tworzenie niestandardowych modeli uczenia maszynowego na podstawie danych. Projekt może być dostępny tylko dla Ciebie oraz innych osób, które mają dostęp do zasobu językowego platformy Azure.
Wyzwalanie zadania importowania projektu
Prześlij żądanie POST przy użyciu następującego adresu URL, nagłówków i treści JSON, aby zaimportować plik etykiet. Upewnij się, że plik etykiet jest zgodne z akceptowanym formatem.
Jeśli projekt o tej samej nazwie już istnieje, dane tego projektu zostaną zastąpione.
{Endpoint}/language/authoring/analyze-text/projects/{projectName}/:import?api-version={API-VERSION}
| Symbol zastępczy | Wartość | Przykład |
|---|---|---|
{ENDPOINT} |
Punkt końcowy do uwierzytelniania żądania interfejsu API. | https://<your-custom-subdomain>.cognitiveservices.azure.com |
{PROJECT-NAME} |
Nazwa projektu. Ta wartość uwzględnia wielkość liter. | myProject |
{API-VERSION} |
Wersja wywoływanego interfejsu API. Wartość, do których odwołuje się, dotyczy najnowszej wersji wydanej. Dowiedz się więcej o innych dostępnych wersjach interfejsu API | 2022-05-01 |
Nagłówki
Użyj następującego nagłówka, aby uwierzytelnić żądanie.
| Klawisz | Wartość |
|---|---|
Ocp-Apim-Subscription-Key |
Klucz do zasobu. Służy do uwierzytelniania żądań interfejsu API. |
Treść
Użyj następującego kodu JSON w żądaniu. Zastąp zastępcze wartości własnymi wartościami.
{
"projectFileVersion": "{API-VERSION}",
"stringIndexType": "Utf16CodeUnit",
"metadata": {
"projectName": "{PROJECT-NAME}",
"storageInputContainerName": "{CONTAINER-NAME}",
"projectKind": "customMultiLabelClassification",
"description": "Trying out custom multi label text classification",
"language": "{LANGUAGE-CODE}",
"multilingual": true,
"settings": {}
},
"assets": {
"projectKind": "customMultiLabelClassification",
"classes": [
{
"category": "Class1"
},
{
"category": "Class2"
}
],
"documents": [
{
"location": "{DOCUMENT-NAME}",
"language": "{LANGUAGE-CODE}",
"dataset": "{DATASET}",
"classes": [
{
"category": "Class1"
},
{
"category": "Class2"
}
]
},
{
"location": "{DOCUMENT-NAME}",
"language": "{LANGUAGE-CODE}",
"dataset": "{DATASET}",
"classes": [
{
"category": "Class2"
}
]
}
]
}
}
| Klawisz | Symbol zastępczy | Wartość | Przykład |
|---|---|---|---|
| wersja API | {API-VERSION} |
Wersja wywoływanego interfejsu API. Używana tutaj wersja musi być tą samą wersją interfejsu API w adresie URL. Dowiedz się więcej o innych dostępnych wersjach interfejsu API | 2022-05-01 |
| nazwa projektu | {PROJECT-NAME} |
Nazwa projektu. Ta wartość uwzględnia wielkość liter. | myProject |
| rodzajProjektu | customMultiLabelClassification |
Rodzaj projektu. | customMultiLabelClassification |
| język | {LANGUAGE-CODE} |
Ciąg określający kod języka dokumentów używanych w projekcie. Jeśli projekt jest wielojęzycznym projektem, wybierz kod języka dla większości dokumentów. Zobacz Obsługa języków, aby dowiedzieć się więcej o obsłudze wielojęzycznej. | en-us |
| wielojęzyczny | true |
Wartość logiczna, która umożliwia posiadanie dokumentów w wielu językach w zestawie danych, a po wdrożeniu modelu można wykonywać zapytania względem modelu w dowolnym obsługiwanym języku (niekoniecznie zawarte w dokumentach szkoleniowych. Zobacz Obsługa języków, aby dowiedzieć się więcej o obsłudze wielojęzycznej. | true |
| nazwaKonteneraDanychWejściowych | {CONTAINER-NAME} |
Nazwa kontenera usługi Azure Storage dla przekazanych dokumentów. | myContainer |
| klasy | [] | Tablica zawierająca wszystkie klasy, które znajdują się w projekcie. | [] |
| dokumenty | [] | Tablica zawierająca wszystkie dokumenty w projekcie i klasy oznaczone dla tego dokumentu. | [] |
| lokalizacja | {DOCUMENT-NAME} |
Lokalizacja dokumentów w kontenerze magazynu. Ponieważ wszystkie dokumenty znajdują się w katalogu głównym kontenera, powinna to być nazwa dokumentu. | doc1.txt |
| zestaw danych | {DATASET} |
Zestaw testowy, do którego trafia ten dokument, gdy jest dzielony przed szkoleniem. Zobacz jak wytrenować model. Możliwe wartości dla tego pola to Train i Test. |
Train |
Po wysłaniu żądania interfejsu API otrzymasz odpowiedź wskazującą 202 , że zadanie zostało przesłane poprawnie. W nagłówkach odpowiedzi wyodrębnij wartość operation-location sformatowaną w następujący sposób:
{ENDPOINT}/language/authoring/analyze-text/projects/{PROJECT-NAME}/import/jobs/{JOB-ID}?api-version={API-VERSION}
{JOB-ID} służy do identyfikowania żądania, ponieważ ta operacja jest asynchroniczna. Ten adres URL służy do pobierania stanu zadania importu.
Możliwe scenariusze błędów dla tego żądania:
- Wybrany zasób nie ma odpowiednich uprawnień dla konta przechowywania.
- Określona
storageInputContainerNamewartość nie istnieje. - Jest używany nieprawidłowy kod języka lub jeśli typ kodu języka nie jest ciągiem.
-
multilingualwartość jest ciągiem, a nie wartością logiczną.
Pobierz stan zadania importu
Użyj następującego żądania GET , aby uzyskać stan importowania projektu. Zastąp zastępcze wartości własnymi wartościami.
Adres URL żądania
{ENDPOINT}/language/authoring/analyze-text/projects/{PROJECT-NAME}/import/jobs/{JOB-ID}?api-version={API-VERSION}
| Symbol zastępczy | Wartość | Przykład |
|---|---|---|
{ENDPOINT} |
Punkt końcowy do uwierzytelniania żądania interfejsu API. | https://<your-custom-subdomain>.cognitiveservices.azure.com |
{PROJECT-NAME} |
Nazwa projektu. Ta wartość uwzględnia wielkość liter. | myProject |
{JOB-ID} |
Identyfikator (ID) do identyfikacji postępów trenowania modeli. Ta wartość znajduje się w wartości nagłówka location otrzymanej w poprzednim kroku. |
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx |
{API-VERSION} |
Wersja wywoływanego interfejsu API. Wartość, do których odwołuje się, dotyczy najnowszej wersji wydanej. Dowiedz się więcej o innych dostępnych wersjach interfejsu API | 2022-05-01 |
Nagłówki
Użyj następującego nagłówka, aby uwierzytelnić żądanie.
| Klawisz | Wartość |
|---|---|
Ocp-Apim-Subscription-Key |
Klucz do zasobu. Służy do uwierzytelniania żądań interfejsu API. |
Szkolenie modelu
Zazwyczaj po utworzeniu projektu możesz zacząć oznaczać dokumenty , które masz w kontenerze połączonym z projektem. Na potrzeby tego poradnika szybkiego startu, zaimportowano przykładowy otagowany zestaw danych i zainicjowano projekt przy użyciu przykładowego pliku tagów JSON.
Rozpoczynanie trenowania modelu
Po zaimportowaniu projektu możesz rozpocząć trenowanie modelu.
Prześlij żądanie POST przy użyciu następującego adresu URL, nagłówków i treści JSON, aby przesłać zadanie szkoleniowe. Zastąp zastępcze wartości własnymi wartościami.
{ENDPOINT}/language/authoring/analyze-text/projects/{PROJECT-NAME}/:train?api-version={API-VERSION}
| Symbol zastępczy | Wartość | Przykład |
|---|---|---|
{ENDPOINT} |
Punkt końcowy do uwierzytelniania żądania interfejsu API. | https://<your-custom-subdomain>.cognitiveservices.azure.com |
{PROJECT-NAME} |
Nazwa projektu. Ta wartość uwzględnia wielkość liter. | myProject |
{API-VERSION} |
Wersja wywoływanego interfejsu API. Wartość, do których odwołuje się, dotyczy najnowszej wersji wydanej. Dowiedz się więcej o innych dostępnych wersjach interfejsu API | 2022-05-01 |
Nagłówki
Użyj następującego nagłówka, aby uwierzytelnić żądanie.
| Klawisz | Wartość |
|---|---|
Ocp-Apim-Subscription-Key |
Klucz do zasobu. Służy do uwierzytelniania żądań interfejsu API. |
Treść żądania
Użyj następującego kodu JSON w treści żądania. Model zostanie przekazany po zakończeniu trenowania {MODEL-NAME}. Tylko pomyślne zadania szkoleniowe będą tworzyć modele.
{
"modelLabel": "{MODEL-NAME}",
"trainingConfigVersion": "{CONFIG-VERSION}",
"evaluationOptions": {
"kind": "percentage",
"trainingSplitPercentage": 80,
"testingSplitPercentage": 20
}
}
| Klawisz | Symbol zastępczy | Wartość | Przykład |
|---|---|---|---|
| Etykieta modelu | {MODEL-NAME} |
Nazwa modelu przypisana po pomyślnym wytrenowaniu. | myModel |
| wersjaKonfiguracjiTreningowej | {CONFIG-VERSION} |
Jest to wersja modelu używana do trenowania modelu. | 2022-05-01 |
| opcje oceny | Opcja dzielenia danych między zestawy trenowania i testowania. | {} |
|
| rodzaj | percentage |
Metody dzielenia. Możliwe wartości to percentage lub manual. Aby uzyskać więcej informacji, zobacz Jak wytrenować model . |
percentage |
| procent podziału szkolenia | 80 |
Odsetek oznakowanych danych, które mają zostać uwzględnione w zestawie treningowym. Zalecana wartość to 80. |
80 |
| Procent podziału testowego | 20 |
Procent oznakowanych danych, które mają zostać uwzględnione w zestawie testów. Zalecana wartość to 20. |
20 |
Uwaga
Wartości trainingSplitPercentage i testingSplitPercentage są wymagane tylko wtedy, gdy Kind jest ustawiona wartość percentage , a suma obu wartości procentowych powinna być równa 100.
Po wysłaniu żądania interfejsu API otrzymasz odpowiedź wskazującą 202 , że zadanie zostało przesłane poprawnie. W nagłówkach odpowiedzi wyodrębnij wartość location sformatowaną w następujący sposób:
{ENDPOINT}/language/authoring/analyze-text/projects/{PROJECT-NAME}/train/jobs/{JOB-ID}?api-version={API-VERSION}
Element {JOB-ID} służy do identyfikowania żądania, ponieważ ta operacja jest asynchroniczna. Możesz użyć tego adresu URL, aby uzyskać stan trenowania.
Pobierz status zadania szkoleniowego
Trenowanie może potrwać od 10 do 30 minut. Następujące żądanie umożliwia kontynuowanie sondowania stanu zadania szkoleniowego do momentu jego pomyślnego ukończenia.
Użyj następującego żądania GET , aby uzyskać stan postępu trenowania modelu. Zastąp zastępcze wartości własnymi wartościami.
Adres URL żądania
{ENDPOINT}/language/authoring/analyze-text/projects/{PROJECT-NAME}/train/jobs/{JOB-ID}?api-version={API-VERSION}
| Symbol zastępczy | Wartość | Przykład |
|---|---|---|
{ENDPOINT} |
Punkt końcowy do uwierzytelniania żądania interfejsu API. | https://<your-custom-subdomain>.cognitiveservices.azure.com |
{PROJECT-NAME} |
Nazwa projektu. Ta wartość uwzględnia wielkość liter. | myProject |
{JOB-ID} |
Identyfikator (ID) do identyfikacji postępów trenowania modeli. Ta wartość znajduje się w wartości nagłówka location otrzymanej w poprzednim kroku. |
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx |
{API-VERSION} |
Wersja wywoływanego interfejsu API. Wartość, do których odwołuje się, dotyczy najnowszej wersji wydanej. Aby uzyskać więcej informacji, zobaczCykl życia modelu. | 2022-05-01 |
Nagłówki
Użyj następującego nagłówka, aby uwierzytelnić żądanie.
| Klawisz | Wartość |
|---|---|
Ocp-Apim-Subscription-Key |
Klucz do zasobu. Służy do uwierzytelniania żądań interfejsu API. |
Treść odpowiedzi
Po wysłaniu żądania otrzymasz następującą odpowiedź.
{
"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"
}
Wdrażanie modelu
Zazwyczaj po trenowaniu modelu należy przejrzeć jego szczegóły oceny i w razie potrzeby wprowadzić ulepszenia. W tym przewodniku Szybki start po prostu wdrożysz swój model i udostępnisz go do testowania w usłudze Microsoft Foundry albo wywołasz interfejs API predykcji.
Prześlij zadanie wdrożenia
Prześlij żądanie PUT przy użyciu następującego adresu URL, nagłówków i treści JSON, aby przesłać zadanie wdrożenia. Zastąp zastępcze wartości własnymi wartościami.
{Endpoint}/language/authoring/analyze-text/projects/{projectName}/deployments/{deploymentName}?api-version={API-VERSION}
| Symbol zastępczy | Wartość | Przykład |
|---|---|---|
{ENDPOINT} |
Punkt końcowy do uwierzytelniania żądania interfejsu API. | https://<your-custom-subdomain>.cognitiveservices.azure.com |
{PROJECT-NAME} |
Nazwa projektu. Ta wartość uwzględnia wielkość liter. | myProject |
{DEPLOYMENT-NAME} |
Nazwa twojego wdrożenia. Ta wartość uwzględnia wielkość liter. | staging |
{API-VERSION} |
Wersja wywoływanego interfejsu API. Wartość, do których odwołuje się, dotyczy najnowszej wersji wydanej. Dowiedz się więcej o innych dostępnych wersjach interfejsu API | 2022-05-01 |
Nagłówki
Użyj następującego nagłówka, aby uwierzytelnić żądanie.
| Klawisz | Wartość |
|---|---|
Ocp-Apim-Subscription-Key |
Klucz do zasobu. Służy do uwierzytelniania żądań interfejsu API. |
Treść żądania
Użyj następującego kodu JSON w treści żądania. Użyj nazwy modelu, który chcesz przypisać do wdrożenia.
{
"trainedModelLabel": "{MODEL-NAME}"
}
| Klawisz | Symbol zastępczy | Wartość | Przykład |
|---|---|---|---|
| etykietaModeluWytrenowanego | {MODEL-NAME} |
Nazwa modelu przypisana do wdrożenia. Można przypisywać tylko pomyślnie wytrenowane modele. Ta wartość uwzględnia wielkość liter. | myModel |
Po wysłaniu żądania interfejsu API otrzymasz odpowiedź wskazującą 202 , że zadanie zostało przesłane poprawnie. W nagłówkach odpowiedzi wyodrębnij wartość operation-location sformatowaną w następujący sposób:
{ENDPOINT}/language/authoring/analyze-text/projects/{PROJECT-NAME}/deployments/{DEPLOYMENT-NAME}/jobs/{JOB-ID}?api-version={API-VERSION}
Element {JOB-ID} służy do identyfikowania żądania, ponieważ ta operacja jest asynchroniczna. Możesz użyć tego adresu URL, aby uzyskać stan wdrożenia.
Uzyskaj stan zadania wdrożenia
Użyj następującego żądania GET , aby wykonać zapytanie dotyczące stanu zadania wdrożenia. Możesz użyć adresu URL otrzymanego z poprzedniego kroku lub zastąpić wartości symboli zastępczych własnymi wartościami.
{ENDPOINT}/language/authoring/analyze-text/projects/{PROJECT-NAME}/deployments/{DEPLOYMENT-NAME}/jobs/{JOB-ID}?api-version={API-VERSION}
| Symbol zastępczy | Wartość | Przykład |
|---|---|---|
{ENDPOINT} |
Punkt końcowy do uwierzytelniania żądania interfejsu API. | https://<your-custom-subdomain>.cognitiveservices.azure.com |
{PROJECT-NAME} |
Nazwa projektu. Ta wartość uwzględnia wielkość liter. | myProject |
{DEPLOYMENT-NAME} |
Nazwa twojego wdrożenia. Ta wartość uwzględnia wielkość liter. | staging |
{JOB-ID} |
Identyfikator (ID) do identyfikacji postępów trenowania modeli. Znajduje się ona w wartości nagłówka location otrzymanej w poprzednim kroku. |
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx |
{API-VERSION} |
Wersja wywoływanego interfejsu API. Wartość, do których odwołuje się, dotyczy najnowszej wersji wydanej. Dowiedz się więcej o innych dostępnych wersjach interfejsu API | 2022-05-01 |
Nagłówki
Użyj następującego nagłówka, aby uwierzytelnić żądanie.
| Klawisz | Wartość |
|---|---|
Ocp-Apim-Subscription-Key |
Klucz do zasobu. Służy do uwierzytelniania żądań interfejsu API. |
Treść odpowiedzi
Po wysłaniu żądania otrzymasz następującą odpowiedź. Kontynuuj sonduj ten punkt końcowy, dopóki parametr status nie zmieni się na "ukończony". Powinien zostać wyświetlony 200 kod wskazujący powodzenie żądania.
{
"jobId":"{JOB-ID}",
"createdDateTime":"{CREATED-TIME}",
"lastUpdatedDateTime":"{UPDATED-TIME}",
"expirationDateTime":"{EXPIRATION-TIME}",
"status":"running"
}
Klasyfikowanie tekstu
Po pomyślnym wdrożeniu modelu możesz zacząć używać go do klasyfikowania tekstu za pomocą interfejsu API przewidywania. W pobranym wcześniej przykładowym zestawie danych można znaleźć niektóre dokumenty testowe, których można użyć w tym kroku.
Przesyłanie niestandardowego zadania klasyfikacji tekstu
Użyj tego żądania POST , aby uruchomić zadanie klasyfikacji tekstu.
{ENDPOINT}/language/analyze-text/jobs?api-version={API-VERSION}
| Symbol zastępczy | Wartość | Przykład |
|---|---|---|
{ENDPOINT} |
Punkt końcowy do uwierzytelniania żądania interfejsu API. | https://<your-custom-subdomain>.cognitiveservices.azure.com |
{API-VERSION} |
Wersja wywoływanego interfejsu API. Wartość, do których odwołuje się, dotyczy najnowszej wersji wydanej. Aby uzyskać więcej informacji, zobaczCykl życia modelu. | 2022-05-01 |
Nagłówki
| Klawisz | Wartość |
|---|---|
| Ocp-Apim -Subscription-Key | Klucz, który zapewnia dostęp do tego interfejsu API. |
Treść
{
"displayName": "Classifying documents",
"analysisInput": {
"documents": [
{
"id": "1",
"language": "{LANGUAGE-CODE}",
"text": "Text1"
},
{
"id": "2",
"language": "{LANGUAGE-CODE}",
"text": "Text2"
}
]
},
"tasks": [
{
"kind": "CustomMultiLabelClassification",
"taskName": "Multi Label Classification",
"parameters": {
"projectName": "{PROJECT-NAME}",
"deploymentName": "{DEPLOYMENT-NAME}"
}
}
]
}
| Klawisz | Symbol zastępczy | Wartość | Przykład |
|---|---|---|---|
displayName |
{JOB-NAME} |
Nazwa zadania. | MyJobName |
documents |
[{},{}] | Lista dokumentów do uruchamiania zadań. | [{},{}] |
id |
{DOC-ID} |
Nazwa lub identyfikator dokumentu. | doc1 |
language |
{LANGUAGE-CODE} |
Ciąg określający kod języka dokumentu. Jeśli ten klucz nie zostanie określony, usługa przyjmie domyślny język projektu wybranego podczas tworzenia projektu. Aby uzyskać listę obsługiwanych kodów języków, zobacz Obsługa języków. | en-us |
text |
{DOC-TEXT} |
Dokumentowanie zadania do uruchamiania innych zadań. | Lorem ipsum dolor sit amet |
tasks |
Lista zadań, które chcemy wykonać. | [] |
|
taskName |
Indywidualna Klasyfikacja Wieloetykietowa | Nazwa zadania | Indywidualna Klasyfikacja Wieloetykietowa |
parameters |
Lista parametrów do przekazania do zadania. | ||
project-name |
{PROJECT-NAME} |
Nazwa projektu. Ta wartość uwzględnia wielkość liter. | myProject |
deployment-name |
{DEPLOYMENT-NAME} |
Nazwa twojego wdrożenia. Ta wartość uwzględnia wielkość liter. | prod |
Odpowiedź
Otrzymasz odpowiedź 202 wskazującą powodzenie. W nagłówkach odpowiedzi wyodrębnij element operation-location.
operation-location jest sformatowany w następujący sposób:
{ENDPOINT}/language/analyze-text/jobs/{JOB-ID}?api-version={API-VERSION}
Możesz użyć tego adresu URL, aby wykonać zapytanie dotyczące stanu ukończenia zadania i uzyskać wyniki po zakończeniu zadania.
Pobieranie wyników zadania
Użyj następującego żądania GET , aby wykonać zapytanie dotyczące stanu/wyników zadania klasyfikacji tekstu.
{ENDPOINT}/language/analyze-text/jobs/{JOB-ID}?api-version={API-VERSION}
| Symbol zastępczy | Wartość | Przykład |
|---|---|---|
{ENDPOINT} |
Punkt końcowy do uwierzytelniania żądania interfejsu API. | https://<your-custom-subdomain>.cognitiveservices.azure.com |
{API-VERSION} |
Wersja wywoływanego interfejsu API. Wartość, o której mowa, dotyczy najnowszej wydanej wersji modelu. | 2022-05-01 |
Nagłówki
| Klawisz | Wartość |
|---|---|
| Ocp-Apim -Subscription-Key | Klucz, który zapewnia dostęp do tego interfejsu API. |
Treść odpowiedzi
Odpowiedź będzie dokumentem JSON z następującymi parametrami.
{
"createdDateTime": "2021-05-19T14:32:25.578Z",
"displayName": "MyJobName",
"expirationDateTime": "2021-05-19T14:32:25.578Z",
"jobId": "xxxx-xxxxxx-xxxxx-xxxx",
"lastUpdateDateTime": "2021-05-19T14:32:25.578Z",
"status": "succeeded",
"tasks": {
"completed": 1,
"failed": 0,
"inProgress": 0,
"total": 1,
"items": [
{
"kind": "customMultiClassificationTasks",
"taskName": "Classify documents",
"lastUpdateDateTime": "2020-10-01T15:01:03Z",
"status": "succeeded",
"results": {
"documents": [
{
"id": "{DOC-ID}",
"classes": [
{
"category": "Class_1",
"confidenceScore": 0.0551877357
}
],
"warnings": []
}
],
"errors": [],
"modelVersion": "2020-04-01"
}
}
]
}
}
Czyszczenie zasobów
Jeśli projekt nie jest już potrzebny, możesz go usunąć za pomocą następującego żądania DELETE . Zastąp zastępcze wartości własnymi wartościami.
{Endpoint}/language/authoring/analyze-text/projects/{projectName}?api-version={API-VERSION}
| Symbol zastępczy | Wartość | Przykład |
|---|---|---|
{ENDPOINT} |
Punkt końcowy do uwierzytelniania żądania interfejsu API. | https://<your-custom-subdomain>.cognitiveservices.azure.com |
{PROJECT-NAME} |
Nazwa projektu. Ta wartość uwzględnia wielkość liter. | myProject |
{API-VERSION} |
Wersja wywoływanego interfejsu API. Wartość, do których odwołuje się, dotyczy najnowszej wersji wydanej. Dowiedz się więcej o innych dostępnych wersjach interfejsu API | 2022-05-01 |
Nagłówki
Użyj następującego nagłówka, aby uwierzytelnić żądanie.
| Klawisz | Wartość |
|---|---|
| Ocp-Apim -Subscription-Key | Klucz do zasobu. Służy do uwierzytelniania żądań interfejsu API. |
Po wysłaniu żądania API otrzymasz odpowiedź wskazującą 202 powodzenie, co oznacza, że projekt został usunięty. Rezultatem pomyślnego wywołania jest nagłówek Operation-Location w celu sprawdzania stanu zadania.
Następne kroki
Po utworzeniu niestandardowego modelu klasyfikacji tekstu można wykonywać następujące czynności:
Gdy zaczniesz tworzyć własne niestandardowe projekty klasyfikacji tekstu, skorzystaj z artykułów z instrukcjami, aby dowiedzieć się więcej na temat tworzenia modelu w bardziej szczegółowy sposób: