Niestandardowy model klasyfikacji analizy dokumentów
Ważne
- Publiczne wersje zapoznawcze analizy dokumentów zapewniają wczesny dostęp do funkcji, które są aktywnie opracowywane. Funkcje, podejścia i procesy mogą ulec zmianie przed ogólną dostępnością na podstawie opinii użytkowników.
- Publiczna wersja zapoznawcza bibliotek klienckich analizy dokumentów jest domyślna dla interfejsu API REST w wersji 2024-07-31-preview.
- Publiczna wersja zapoznawcza 2024-07-31-preview jest obecnie dostępna tylko w następujących regionach świadczenia usługi Azure. Należy pamiętać, że niestandardowy model generowania (wyodrębniania pól dokumentów) w programie AI Studio jest dostępny tylko w regionie Północno-środkowe stany USA:
- Wschodnie stany USA
- Zachodnie stany USA 2
- Europa Zachodnia
- Północno-środkowe stany USA
Ta zawartość dotyczy: wersja 4.0 (wersja zapoznawcza) | Poprzednia wersja: wersja 3.1 (GA)
Ta zawartość dotyczy: wersja 3.1 (GA) | Najnowsza wersja: wersja 4.0 (wersja zapoznawcza)
Ważne
- Interfejs
2024-07-31-preview
API, niestandardowy model klasyfikacji nie będzie domyślnie dzielić dokumentów podczas procesu analizowania. - Należy jawnie ustawić
splitMode
właściwość tak, aby automatycznie zachowywała zachowanie z poprzednich wersji. Wartość domyślna tosplitMode
none
. - Jeśli plik wejściowy zawiera wiele dokumentów, musisz włączyć dzielenie, ustawiając wartość na
splitMode
auto
.
Azure AI Document Intelligence to oparta na chmurze usługa Azure AI, która umożliwia tworzenie inteligentnych rozwiązań do przetwarzania dokumentów. Interfejsy API analizy dokumentów analizują obrazy, pliki PDF i inne pliki dokumentów, aby wyodrębniać i wykrywać różne elementy zawartości, układu, stylu i semantyki.
Niestandardowe modele klasyfikacji to typy modeli uczenia głębokiego, które łączą funkcje układu i języka w celu dokładnego wykrywania i identyfikowania dokumentów przetwarzanych w aplikacji. Niestandardowe modele klasyfikacji wykonują klasyfikację pliku wejściowego po jednej stronie, aby zidentyfikować dokumenty w ramach programu , a także zidentyfikować wiele dokumentów lub wiele wystąpień pojedynczego dokumentu w pliku wejściowym.
Możliwości modelu
Uwaga
- Począwszy od interfejsu
2024-02-29-preview
API, niestandardowe modele klasyfikowania obsługują trenowanie przyrostowe. Możesz dodać nowe przykłady do istniejących klas lub dodać nowe klasy, odwołując się do istniejącego klasyfikatora.
Niestandardowe modele klasyfikacji mogą analizować dokumenty z jednym lub wieloma plikami, aby określić, czy którykolwiek z wytrenowanych typów dokumentów znajduje się w pliku wejściowym. Poniżej przedstawiono obecnie obsługiwane scenariusze:
Pojedynczy plik zawierający jeden typ dokumentu, taki jak formularz wniosku o pożyczkę.
Pojedynczy plik zawierający wiele typów dokumentów. Na przykład pakiet wniosku o pożyczkę, który zawiera formularz wniosku o pożyczkę, program payslip i wyciąg bankowy.
Pojedynczy plik zawierający wiele wystąpień tego samego dokumentu. Na przykład kolekcja zeskanowanych faktur.
✔️ Trenowanie klasyfikatora niestandardowego wymaga co najmniej two
odrębnych klas i co najmniej przykładów five
dokumentów na klasę. Odpowiedź modelu zawiera zakresy stron dla każdej zidentyfikowanej klasy dokumentów.
✔️ Maksymalna dozwolona liczba klas to 500
. Maksymalna dozwolona liczba próbek dokumentów na klasę to 100
.
Model klasyfikuje każdą stronę dokumentu wejściowego, chyba że zostanie określona, do jednej z klas w oznaczonym zestawie danych. Możesz również określić numery stron do przeanalizowania w dokumencie wejściowym. Aby ustawić próg dla aplikacji, użyj wskaźnika ufności z odpowiedzi.
Trenowanie przyrostowe
W przypadku modeli niestandardowych należy zachować dostęp do zestawu danych trenowania w celu zaktualizowania klasyfikatora przy użyciu nowych przykładów dla istniejącej klasy lub dodania nowych klas. Modele klasyfikatora obsługują teraz trenowanie przyrostowe, w którym można odwoływać się do istniejącego klasyfikatora i dołączać nowe przykłady dla istniejącej klasy lub dodawać nowe klasy z przykładami. Trenowanie przyrostowe umożliwia scenariusze, w których przechowywanie danych jest wyzwaniem, a klasyfikator musi zostać zaktualizowany w celu dostosowania do zmieniających się potrzeb biznesowych. Trenowanie przyrostowe jest obsługiwane w przypadku modeli wytrenowanych przy użyciu wersji 2024-02-29-preview
interfejsu API i nowszych wersji.
Ważne
Trenowanie przyrostowe jest obsługiwane tylko w przypadku modeli wytrenowanych przy użyciu tej samej wersji interfejsu API. Jeśli próbujesz rozszerzyć model, użyj wersji interfejsu API, z którą został wytrenowany oryginalny model, aby rozszerzyć model. Trenowanie przyrostowe jest obsługiwane tylko w przypadku interfejsu API w wersji 2024-07-31-preview lub nowszej .
Trenowanie przyrostowe wymaga podania oryginalnego identyfikatora modelu jako baseClassifierId
. Zobacz trenowanie przyrostowe, aby dowiedzieć się więcej na temat używania trenowania przyrostowego.
Obsługa typów dokumentów pakietu Office
Teraz można trenować klasyfikatory do rozpoznawania typów dokumentów w różnych formatach, w tym pdf, obrazów, programów Word, PowerPoint i Excel. Podczas tworzenia zestawu danych szkoleniowych można dodać dokumenty dowolnego z obsługiwanych typów. Klasyfikator nie wymaga jawnego oznaczania określonych typów. Najlepszym rozwiązaniem jest upewnienie się, że zestaw danych szkoleniowych ma co najmniej jedną próbkę każdego formatu, aby poprawić ogólną dokładność modelu.
Porównanie klasyfikacji niestandardowej i modeli złożonych
Niestandardowy model klasyfikacji może zastąpić złożony model w niektórych scenariuszach, ale należy pamiętać o kilku różnicach:
Możliwość | Proces klasyfikatora niestandardowego | Złożony proces modelu |
---|---|---|
Przeanalizuj pojedynczy dokument o nieznanym typie należącym do jednego z typów wytrenowanych do przetwarzania modelu wyodrębniania. | ● Wymaga wielu połączeń. ● Wywołaj model klasyfikacji na podstawie klasy dokumentu. Ten krok umożliwia sprawdzenie oparte na ufności przed wywołaniem analizy modelu wyodrębniania. ● Wywołaj model wyodrębniania. |
● Wymaga pojedynczego wywołania złożonego modelu zawierającego model odpowiadający typowi dokumentu wejściowego. |
Przeanalizuj pojedynczy dokument o nieznanym typie należącym do kilku typów wytrenowanych do przetwarzania modelu wyodrębniania. | ●Wymaga wielu wywołań. ● Wywołaj klasyfikator, który ignoruje dokumenty niezgodne z wyznaczonym typem wyodrębniania. ● Wywołaj model wyodrębniania. |
● Wymaga jednego wywołania złożonego modelu. Usługa wybiera model niestandardowy w ramach złożonego modelu z najwyższym dopasowaniem. ● Złożony model nie może ignorować dokumentów. |
Przeanalizuj plik zawierający wiele dokumentów znanego lub nieznanego typu należącego do jednego z typów wytrenowanych do przetwarzania modelu wyodrębniania. | ● Wymaga wielu połączeń. ● Wywołaj model wyodrębniania dla każdego zidentyfikowanych dokumentów w pliku wejściowym. ● Wywołaj model wyodrębniania. |
● Wymaga jednego wywołania złożonego modelu. ● Skomponowany model wywołuje model składników raz w pierwszym wystąpieniu dokumentu. ●Pozostałe dokumenty są ignorowane. |
Obsługa języków
Modele klasyfikacji obsługują obecnie tylko dokumenty języka angielskiego.
Modele klasyfikacji można teraz trenować na dokumentach różnych języków. Aby uzyskać pełną listę, zobacz obsługiwane języki .
Wymagania dotyczące danych wejściowych
Obsługiwane formaty plików:
Model | Obraz:jpeg/jpg , , png , bmp , , tiff heif |
Microsoft Office: Word (docx), Excel (xlxs), PowerPoint (pptx) |
|
---|---|---|---|
Przeczytaj | ✔ | ✔ | ✔ |
Układ | ✔ | ✔ | ✔ (2024-02-29-preview, 2023-10-31-preview i nowsze) |
Dokument ogólny | ✔ | ✔ | |
Wstępnie utworzona | ✔ | ✔ | |
Niestandardowe wyodrębnianie | ✔ | ✔ | |
Klasyfikacja niestandardowa | ✔ | ✔ | ✔ |
Aby uzyskać najlepsze wyniki, podaj pięć przejrzystych zdjęć lub skanowania wysokiej jakości na typ dokumentu.
W przypadku plików PDF i TIFF można przetworzyć maksymalnie 2000 stron (w przypadku subskrypcji warstwy Bezpłatna przetwarzane są tylko pierwsze dwie strony).
Rozmiar pliku do analizowania dokumentów wynosi 500 MB dla warstwy płatnej (S0) i 4 MB za bezpłatną (F0).
Wymiary obrazu muszą mieć od 50 x 50 pikseli do 10 000 pikseli x 10 000 pikseli.
Jeśli pliki PDF są zablokowane hasłem, przed ich przesłaniem usuń blokadę.
Minimalna wysokość tekstu do wyodrębnienia to 12 pikseli dla obrazu o rozmiarze 1024 x 768 pikseli. Ten wymiar odpowiada około
8
-point text na 150 kropek na cal (DPI
).W przypadku trenowania modelu niestandardowego maksymalna liczba stron dla danych szkoleniowych wynosi 500 dla niestandardowego modelu szablonu i 50 000 dla niestandardowego modelu neuronowego.
W przypadku trenowania niestandardowego modelu wyodrębniania łączny rozmiar danych treningowych wynosi 50 MB dla modelu szablonu i 1G-MB dla modelu neuronowego.
W przypadku trenowania niestandardowego modelu klasyfikacji całkowity rozmiar danych treningowych wynosi 1 GB z maksymalnie 10 000 stron.
Dzielenie dokumentów
Jeśli w pliku znajduje się więcej niż jeden dokument, klasyfikator może zidentyfikować różne typy dokumentów zawarte w pliku wejściowym. Odpowiedź klasyfikatora zawiera zakresy stron dla każdego z zidentyfikowanych typów dokumentów zawartych w pliku. Ta odpowiedź może zawierać wiele wystąpień tego samego typu dokumentu.
Operacja analyze
zawiera teraz właściwość, która zapewnia szczegółową splitMode
kontrolę nad zachowaniem dzielenia.
- Aby traktować cały plik wejściowy jako pojedynczy dokument klasyfikacji, ustaw tryb splitMode na
none
wartość . Gdy to zrobisz, usługa zwraca tylko jedną klasę dla całego pliku wejściowego. - Aby sklasyfikować każdą stronę pliku wejściowego, ustaw wartość splitMode na
perPage
. Usługa próbuje sklasyfikować każdą stronę jako pojedynczy dokument. - Ustaw tryb splitMode na
auto
, a usługa identyfikuje dokumenty i skojarzone zakresy stron.
Najlepsze rozwiązania
Niestandardowe modele klasyfikacji wymagają co najmniej pięciu próbek na klasę do trenowania. Jeśli klasy są podobne, dodanie dodatkowych próbek szkoleniowych zwiększa dokładność modelu.
Klasyfikator próbuje przypisać każdy dokument do jednej z klas, jeśli oczekujesz, że model będzie widzieć typy dokumentów, które nie znajdują się w klasach będących częścią zestawu danych trenowania, należy zaplanować ustawienie progu dla oceny klasyfikacji lub dodać kilka reprezentatywnych próbek typów dokumentów do "other"
klasy. "other"
Dodanie klasy gwarantuje, że niepotrzebne dokumenty nie wpływają na jakość klasyfikatora.
Trenowanie modelu
Niestandardowe modele klasyfikacji są obsługiwane przez 4.0: 2024-02-29-preview, 2024-07-31-preview i v3.1: 2023-07-31 (GA) INTERFEJSy API. Program Document Intelligence Studio udostępnia interfejs użytkownika bez kodu umożliwiający interaktywne trenowanie niestandardowego klasyfikatora. Postępuj zgodnie z instrukcjami, aby rozpocząć pracę.
Jeśli używasz interfejsu API REST, jeśli organizujesz dokumenty według folderów, możesz użyć azureBlobSource
właściwości żądania, aby wytrenować model klasyfikacji.
https://{endpoint}/documentintelligence/documentClassifiers:build?api-version=2024-02-29-preview
{
"classifierId": "demo2.1",
"description": "",
"docTypes": {
"car-maint": {
"azureBlobSource": {
"containerUrl": "SAS URL to container",
"prefix": "sample1/car-maint/"
}
},
"cc-auth": {
"azureBlobSource": {
"containerUrl": "SAS URL to container",
"prefix": "sample1/cc-auth/"
}
},
"deed-of-trust": {
"azureBlobSource": {
"containerUrl": "SAS URL to container",
"prefix": "sample1/deed-of-trust/"
}
}
}
}
https://{endpoint}/formrecognizer/documentClassifiers:build?api-version=2023-07-31
{
"classifierId": "demo2.1",
"description": "",
"docTypes": {
"car-maint": {
"azureBlobSource": {
"containerUrl": "SAS URL to container",
"prefix": "{path to dataset root}/car-maint/"
}
},
"cc-auth": {
"azureBlobSource": {
"containerUrl": "SAS URL to container",
"prefix": "{path to dataset root}/cc-auth/"
}
},
"deed-of-trust": {
"azureBlobSource": {
"containerUrl": "SAS URL to container",
"prefix": "{path to dataset root}/deed-of-trust/"
}
}
}
}
Alternatywnie, jeśli masz płaską listę plików lub planujesz użyć tylko kilku wybranych plików w każdym folderze do trenowania modelu, możesz użyć azureBlobFileListSource
właściwości do wytrenowania modelu. Ten krok wymaga file list
formatu wierszy JSON. Dla każdej klasy dodaj nowy plik z listą plików, które mają zostać przesłane do trenowania.
{
"classifierId": "demo2",
"description": "",
"docTypes": {
"car-maint": {
"azureBlobFileListSource": {
"containerUrl": "SAS URL to container",
"fileList": "{path to dataset root}/car-maint.jsonl"
}
},
"cc-auth": {
"azureBlobFileListSource": {
"containerUrl": "SAS URL to container",
"fileList": "{path to dataset root}/cc-auth.jsonl"
}
},
"deed-of-trust": {
"azureBlobFileListSource": {
"containerUrl": "SAS URL to container",
"fileList": "{path to dataset root}/deed-of-trust.jsonl"
}
}
}
}
Na przykład lista car-maint.jsonl
plików zawiera następujące pliki.
{"file":"classifier/car-maint/Commercial Motor Vehicle - Adatum.pdf"}
{"file":"classifier/car-maint/Commercial Motor Vehicle - Fincher.pdf"}
{"file":"classifier/car-maint/Commercial Motor Vehicle - Lamna.pdf"}
{"file":"classifier/car-maint/Commercial Motor Vehicle - Liberty.pdf"}
{"file":"classifier/car-maint/Commercial Motor Vehicle - Trey.pdf"}
Zastępowanie modelu
Uwaga
Począwszy od interfejsu 2024-07-31-preview
API, niestandardowe modele klasyfikacji obsługują zastępowanie modelu w miejscu.
Teraz możesz zaktualizować klasyfikację niestandardową w miejscu. Bezpośrednie zastąpienie modelu spowoduje utratę możliwości porównywania jakości modelu przed podjęciem decyzji o zastąpieniu istniejącego modelu. Zastępowanie modelu jest dozwolone, gdy allowOverwrite
właściwość jest jawnie określona w treści żądania. Nie można odzyskać nadpisanego, oryginalnego modelu po wykonaniu tej akcji.
{
"classifierId": "existingClassifierName",
"allowOverwrite": true, // Default=false
...
}
Kopiowanie modelu
Uwaga
Począwszy od interfejsu 2024-07-31-preview
API, niestandardowe modele klasyfikacji obsługują kopiowanie modelu do i z dowolnego z następujących regionów:
- Wschodnie stany USA
- Zachodnie stany USA 2
- Europa Zachodnia
Użyj interfejsu API REST lub programu Document Intelligence Studio , aby skopiować model do innego regionu.
Generowanie żądania autoryzacji kopiowania
Następujące żądanie HTTP pobiera autoryzację kopiowania z zasobu docelowego. Musisz wprowadzić punkt końcowy i klucz zasobu docelowego jako nagłówki.
POST https://myendpoint.cognitiveservices.azure.com/documentintelligence/documentClassifiers:authorizeCopy?api-version=2024-07-31-preview
Ocp-Apim-Subscription-Key: {<your-key>}
Treść żądania
{
"classifierId": "targetClassifier",
"description": "Target classifier description"
}
Otrzymasz kod odpowiedzi z treścią 200
odpowiedzi zawierającą ładunek JSON wymagany do zainicjowania kopii.
{
"targetResourceId": "/subscriptions/targetSub/resourceGroups/targetRG/providers/Microsoft.CognitiveServices/accounts/targetService",
"targetResourceRegion": "targetResourceRegion",
"targetClassifierId": "targetClassifier",
"targetClassifierLocation": "https://targetEndpoint.cognitiveservices.azure.com/documentintelligence/documentClassifiers/targetClassifier",
"accessToken": "accessToken",
"expirationDateTime": "timestamp"
}
Uruchamianie operacji kopiowania
Następujące żądanie HTTP uruchamia operację kopiowania w zasobie źródłowym. Musisz wprowadzić punkt końcowy i klucz zasobu źródłowego jako adres URL i nagłówek. Zwróć uwagę, że adres URL żądania zawiera identyfikator klasyfikatora źródłowego, który chcesz skopiować.
POST {endpoint}/documentintelligence/documentClassifiers/{classifierId}:copyTo?api-version=2024-07-31-preview
Ocp-Apim-Subscription-Key: {<your-key>}
Treść żądania to odpowiedź z poprzedniego kroku.
{
"targetResourceId": "/subscriptions/targetSub/resourceGroups/targetRG/providers/Microsoft.CognitiveServices/accounts/targetService",
"targetResourceRegion": "targetResourceRegion",
"targetClassifierId": "targetClassifier",
"targetClassifierLocation": "https://targetEndpoint.cognitiveservices.azure.com/documentintelligence/documentClassifiers/targetClassifier",
"accessToken": "accessToken",
"expirationDateTime": "timestamp"
}
Odpowiedź modelu
Analizowanie pliku wejściowego przy użyciu modelu klasyfikacji dokumentów.
https://{endpoint}/documentintelligence/documentClassifiers/{classifier}:analyze?api-version=2024-02-29-preview
Począwszy od interfejsu 2024-07-31-preview
API, można określić strony do przeanalizowania z dokumentu wejściowego przy użyciu parametru pages
zapytania w żądaniu.
https://{service-endpoint}/formrecognizer/documentClassifiers/{classifier}:analyze?api-version=2023-07-31
Odpowiedź zawiera zidentyfikowane dokumenty ze skojarzonymi zakresami stron w sekcji dokumentów odpowiedzi.
{
...
"documents": [
{
"docType": "formA",
"boundingRegions": [
{ "pageNumber": 1, "polygon": [...] },
{ "pageNumber": 2, "polygon": [...] }
],
"confidence": 0.97,
"spans": []
},
{
"docType": "formB",
"boundingRegions": [
{ "pageNumber": 3, "polygon": [...] }
],
"confidence": 0.97,
"spans": []
}, ...
]
}
Następne kroki
Dowiedz się, jak tworzyć niestandardowe modele klasyfikacji: