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 usługi Document Intelligence jest domyślna dla interfejsu API REST w wersji 2024-02-29-preview.
  • Publiczna wersja zapoznawcza 2024-02-29-preview jest obecnie dostępna tylko w następujących regionach świadczenia usługi Azure:
  • Wschodnie stany USA
  • Zachodnie stany USA 2
  • Europa Zachodnia

Ta zawartość dotyczy:Znacznikv4.0 (wersja zapoznawcza) | Poprzednia wersja:niebieski znacznik wyboruv3.1 (GA)

Ta zawartość dotyczy wersji:v3.1 (GA) | Najnowsza wersja:Znacznikpurpurowy znacznik wyboruv4.0 (wersja zapoznawcza)

Ważne

  • Interfejs 2024-02-29-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 to splitModenone.
  • Jeśli plik wejściowy zawiera wiele dokumentów, musisz włączyć dzielenie, ustawiając wartość na splitModeauto.

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 dokument. Na przykład formularz wniosku o pożyczkę.

  • Pojedynczy plik zawierający wiele dokumentów. Na przykład pakiet wniosku o pożyczkę zawierający 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 do jednej z klas w oznaczonym zestawie danych. 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-02-29-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 PDF 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 analizowania 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 nonewartość . 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 interfejsy API v4.0:2024-02-29-preview i v3.1:2023-07-31 (GA). 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 listformatu 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"}

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