Model układu 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: v4.0 (wersja zapoznawcza) | Poprzednie wersje: v3.1 (GA) v3.0 (GA) v2.1 (GA)
Model układu analizy dokumentów to zaawansowany interfejs API analizy dokumentów oparty na uczeniu maszynowym dostępny w chmurze analizy dokumentów. Umożliwia ona wykonywanie dokumentów w różnych formatach i zwracanie reprezentacji danych ustrukturyzowanych dokumentów. Łączy ona ulepszoną wersję naszych zaawansowanych funkcji optycznego rozpoznawania znaków (OCR) z modelami uczenia głębokiego w celu wyodrębniania tekstu, tabel, znaczników zaznaczenia i struktury dokumentów.
Analiza układu dokumentu (wersja 4)
Analiza układu struktury dokumentów to proces analizowania dokumentu w celu wyodrębnienia interesujących regionów i relacji między nimi. Celem jest wyodrębnienie tekstu i elementów strukturalnych ze strony w celu utworzenia lepszych semantycznych modeli rozumienia. Istnieją dwa typy ról w układzie dokumentu:
- Role geometryczne: Tekst, tabele, rysunki i znaczniki zaznaczenia to przykłady ról geometrycznych.
- Role logiczne: Tytuły, nagłówki i stopki to przykłady ról logicznych tekstów.
Poniższa ilustracja przedstawia typowe składniki na obrazie przykładowej strony.
Opcje programowania (wersja 4)
Analiza dokumentów w wersji 4.0 (2024-07-31-preview) obsługuje następujące narzędzia, aplikacje i biblioteki:
Funkcja | Zasoby | Model ID |
---|---|---|
Model układu | • Document Intelligence Studio • REST API • C# SDK • Python SDK• Java SDK • JavaScript SDK |
wstępnie utworzony układ |
Wymagania dotyczące danych wejściowych (wersja 4)
Obsługiwane formaty plików:
Model PDF Obraz: JPEG/JPG
, ,BMP
PNG
, ,TIFF
HEIF
Microsoft Office:
Word (), Excel (XLSX
DOCX
), PowerPoint (PPTX
), HTMLPrzeczytaj ✔ ✔ ✔ Układ ✔ ✔ ✔ (2024-07-31-preview, 2024-02-29-preview, 2023-10-31-preview) Dokument ogólny ✔ ✔ Wstępnie utworzona ✔ ✔ Niestandardowe wyodrębnianie ✔ ✔ Klasyfikacja niestandardowa ✔ ✔ ✔ (2024-07-31-preview, 2024-02-29-preview) Aby uzyskać najlepsze wyniki, podaj jedno jasne zdjęcie lub wysokiej jakości skanowanie na dokument.
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 pikseli 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 tekstowi
8
punktowemu 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
1
GB dla modelu neuronowego.W przypadku trenowania niestandardowego modelu klasyfikacji całkowity rozmiar danych treningowych wynosi
1
GB z maksymalnie 10 000 stron. W przypadku wersji 2024-07-31-preview i nowszych łączny rozmiar danych treningowych wynosi2
GB z maksymalnie 10 000 stron.
Wprowadzenie do modelu układu
Zobacz, jak dane, w tym tekst, tabele, nagłówki tabeli, znaczniki wyboru i informacje o strukturze są wyodrębniane z dokumentów przy użyciu analizy dokumentów. Potrzebne są następujące zasoby:
Subskrypcja platformy Azure — możesz utworzyć jedną bezpłatnie.
Wystąpienie analizy dokumentów w witrynie Azure Portal. Aby wypróbować usługę, możesz użyć bezpłatnej warstwy cenowej (
F0
). Po wdrożeniu zasobu wybierz pozycję Przejdź do zasobu , aby uzyskać klucz i punkt końcowy.
Uwaga
Program Document Intelligence Studio jest dostępny z interfejsami API w wersji 3.0 i nowszymi wersjami.
Przykładowy dokument przetwarzany za pomocą programu Document Intelligence Studio
Na stronie głównej narzędzia Document Intelligence Studio wybierz pozycję Układ.
Możesz przeanalizować przykładowy dokument lub przekazać własne pliki.
Wybierz przycisk Run analysis (Uruchom analizę), a w razie potrzeby skonfiguruj opcje Analizuj:
Obsługiwane języki i ustawienia regionalne (ocr)
Zobacz naszą stronę Obsługa języka — modele analizy dokumentów, aby uzyskać pełną listę obsługiwanych języków.
Wyodrębnianie danych (wersja 4)
Model układu wyodrębnia tekst, znaczniki zaznaczenia, tabele, akapity i typy akapitów (roles
) z dokumentów.
Uwaga
Wersje 2024-02-29-preview
, 2023-10-31-preview
i nowsze obsługują pliki Microsoft Office (DOCX, XLSX, PPTX) i HTML. Następujące funkcje nie są obsługiwane:
- Nie ma żadnego kąta, szerokości/wysokości i jednostki dla każdego obiektu strony.
- Dla każdego wykrytego obiektu nie ma ograniczenia wielokąta ani regionu ograniczenia.
- Zakres stron (
pages
) nie jest obsługiwany jako parametr. - Brak
lines
obiektu.
Strony
Kolekcja stron jest listą stron w dokumencie. Każda strona jest reprezentowana sekwencyjnie w dokumencie i .. /zawiera kąt orientacji wskazujący, czy strona jest obracana, oraz szerokość i wysokość (wymiary w pikselach). Jednostki strony w danych wyjściowych modelu są obliczane, jak pokazano poniżej:
Format pliku | Obliczona jednostka strony | Łączna liczba stron |
---|---|---|
Obrazy (JPEG/JPG, PNG, BMP, HEIF) | Każdy obraz = 1 jednostka strony | Łączna liczba obrazów |
Każda strona w pliku PDF = 1 jednostka strony | Łączna liczba stron w pliku PDF | |
TIFF | Każdy obraz w jednostce strony TIFF = 1 | Łączna liczba obrazów w tiff |
Word (DOCX) | Maksymalnie 3000 znaków = 1 jednostka strony, osadzone lub połączone obrazy nie są obsługiwane | Łączna liczba stron z maksymalnie 3000 znakami |
Excel (XLSX) | Każdy arkusz = 1 jednostka strony, osadzone lub połączone obrazy nie są obsługiwane | Łączna liczba arkuszy |
PowerPoint (PPTX) | Każdy slajd = 1 jednostka strony, osadzone lub połączone obrazy nie są obsługiwane | Łączna liczba slajdów |
HTML | Maksymalnie 3000 znaków = 1 jednostka strony, osadzone lub połączone obrazy nie są obsługiwane | Łączna liczba stron z maksymalnie 3000 znakami |
# Analyze pages.
for page in result.pages:
print(f"----Analyzing layout from page #{page.page_number}----")
print(f"Page has width: {page.width} and height: {page.height}, measured with unit: {page.unit}")
Wyodrębnianie wybranych stron z dokumentów
W przypadku dużych dokumentów wielostronicowych użyj parametru pages
zapytania, aby wskazać określone numery stron lub zakresy stron na potrzeby wyodrębniania tekstu.
Ustępów
Model układu wyodrębnia wszystkie zidentyfikowane bloki tekstu w paragraphs
kolekcji jako obiekt najwyższego poziomu w obszarze analyzeResults
. Każdy wpis w tej kolekcji reprezentuje blok tekstowy i .. /zawiera wyodrębniony tekst jakocontent
i współrzędne ograniczenia polygon
. Informacje span
wskazują fragment tekstu we właściwości najwyższego poziomu content
zawierającej pełny tekst z dokumentu.
"paragraphs": [
{
"spans": [],
"boundingRegions": [],
"content": "While healthcare is still in the early stages of its Al journey, we are seeing pharmaceutical and other life sciences organizations making major investments in Al and related technologies.\" TOM LAWRY | National Director for Al, Health and Life Sciences | Microsoft"
}
]
Role akapitu
Nowe wykrywanie obiektów stron opartych na uczeniu maszynowym wyodrębnia role logiczne, takie jak tytuły, nagłówki sekcji, nagłówki stron, stopki stron i inne. Model układu analizy dokumentów przypisuje niektóre bloki tekstowe w paragraphs
kolekcji z ich wyspecjalizowaną rolą lub typem przewidywanym przez model. Najlepiej używać ról akapitów z dokumentami bez struktury, aby ułatwić zrozumienie układu wyodrębnionej zawartości na potrzeby bardziej rozbudowanej analizy semantycznej. Obsługiwane są następujące role akapitu:
Przewidywana rola | Opis | Obsługiwane typy plików |
---|---|---|
title |
Główne nagłówki na stronie | pdf, image, docx, pptx, xlsx, html |
sectionHeading |
Co najmniej jedna podpozycja na stronie | pdf, image, docx, xlsx, html |
footnote |
Tekst w dolnej części strony | pdf, obraz |
pageHeader |
Tekst w górnej krawędzi strony | pdf, image, docx |
pageFooter |
Tekst w dolnej krawędzi strony | pdf, image, docx, pptx, html |
pageNumber |
Numer strony | pdf, obraz |
{
"paragraphs": [
{
"spans": [],
"boundingRegions": [],
"role": "title",
"content": "NEWS TODAY"
},
{
"spans": [],
"boundingRegions": [],
"role": "sectionHeading",
"content": "Mirjam Nilsson"
}
]
}
Tekst, wiersze i wyrazy
Model układu dokumentu w usłudze Document Intelligence wyodrębnia tekst w stylu drukowania i odręcznego jako lines
i words
. Kolekcja styles
.. /zawiera dowolny styl odręczny dla wierszy, jeśli wykryto wraz z zakresami wskazującymi skojarzony tekst. Ta funkcja ma zastosowanie do obsługiwanych języków odręcznych.
W przypadku programów Microsoft Word, Excel, PowerPoint i HTML, Document Intelligence w wersjach 2024-02-29-preview i 2023-10-31-preview Layout wyodrębnij cały osadzony tekst, tak jak to jest. Teksty są wyodrębniane jako wyrazy i akapity. Obrazy osadzone nie są obsługiwane.
# Analyze lines.
if page.lines:
for line_idx, line in enumerate(page.lines):
words = get_words(page, line)
print(
f"...Line # {line_idx} has word count {len(words)} and text '{line.content}' "
f"within bounding polygon '{line.polygon}'"
)
# Analyze words.
for word in words:
print(f"......Word '{word.content}' has a confidence of {word.confidence}")
Styl odręczny dla wierszy tekstu
Odpowiedź .. /zawiera klasyfikację, czy każdy wiersz tekstu ma styl pisma ręcznego, czy nie, wraz z współczynnikiem ufności. Więcej informacji. Zobacz Obsługa języka odręcznego. Poniższy przykład przedstawia przykładowy fragment kodu JSON.
"styles": [
{
"confidence": 0.95,
"spans": [
{
"offset": 509,
"length": 24
}
"isHandwritten": true
]
}
Jeśli włączysz funkcję dodatku czcionki/stylu, otrzymasz również wynik czcionki/stylu jako część styles
obiektu.
Znaczniki zaznaczenia
Model układu wyodrębnia również znaczniki wyboru z dokumentów. Wyodrębnione znaczniki wyboru są wyświetlane w pages
kolekcji dla każdej strony. Obejmują one ograniczenie polygon
, confidence
i zaznaczenie state
(selected/unselected
). Reprezentacja tekstu (czyli :selected:
:unselected
) jest również dołączana jako indeks początkowy (offset
) i length
odwołujący się do właściwości najwyższego poziomu content
zawierającej pełny tekst z dokumentu.
# Analyze selection marks.
if page.selection_marks:
for selection_mark in page.selection_marks:
print(
f"Selection mark is '{selection_mark.state}' within bounding polygon "
f"'{selection_mark.polygon}' and has a confidence of {selection_mark.confidence}"
)
Tabele
Wyodrębnianie tabel jest kluczowym wymaganiem do przetwarzania dokumentów zawierających duże ilości danych zwykle sformatowanych jako tabele. Model Układu wyodrębnia tabele w pageResults
sekcji danych wyjściowych JSON. Wyodrębnione informacje o tabeli . /zawiera liczbę kolumn i wierszy, zakres wierszy i zakres kolumn. Każda komórka z powiązanym wielokątem jest zwracana wraz z informacjami o tym, czy obszar jest rozpoznawany jako columnHeader
czy nie. Model obsługuje wyodrębnianie tabel, które są obracane. Każda komórka tabeli zawiera indeks wierszy i kolumn oraz współrzędne wielokątne ograniczenia. W przypadku tekstu komórki model zwraca span
informacje zawierające indeks początkowy (offset
). Model zwraca length
również zawartość najwyższego poziomu zawierającą pełny tekst z dokumentu.
Poniżej przedstawiono kilka czynników, które należy wziąć pod uwagę podczas korzystania z możliwości wyodrębniania bale analizy dokumentów:
Czy dane, które chcesz wyodrębnić jako tabelę, i czy struktura tabeli jest zrozumiała?
Czy dane mogą mieścić się w siatce dwuwymiarowej, jeśli dane nie są w formacie tabeli?
Czy tabele obejmują wiele stron? Jeśli tak, aby uniknąć konieczności etykietowania wszystkich stron, przed wysłaniem go do analizy dokumentów należy podzielić plik PDF na strony. Po analizie po przetworzeniu stron do pojedynczej tabeli.
Jeśli tworzysz modele niestandardowe, zapoznaj się z polami tabelarycznymi. Tabele dynamiczne mają zmienną liczbę wierszy dla każdej kolumny. Stałe tabele mają stałą liczbę wierszy dla każdej kolumny.
Uwaga
- Analiza tabeli nie jest obsługiwana, jeśli plik wejściowy to XLSX.
- Począwszy od wersji 2024-07-31-preview, regiony ograniczenia dla rysunków i tabel obejmują tylko podstawową zawartość i wykluczają skojarzone podpisy i przypisy dolne.
if result.tables:
for table_idx, table in enumerate(result.tables):
print(f"Table # {table_idx} has {table.row_count} rows and " f"{table.column_count} columns")
if table.bounding_regions:
for region in table.bounding_regions:
print(f"Table # {table_idx} location on page: {region.page_number} is {region.polygon}")
# Analyze cells.
for cell in table.cells:
print(f"...Cell[{cell.row_index}][{cell.column_index}] has text '{cell.content}'")
if cell.bounding_regions:
for region in cell.bounding_regions:
print(f"...content on page {region.page_number} is within bounding polygon '{region.polygon}'")
Dane wyjściowe do formatu markdown
Interfejs API układu może wyświetlić wyodrębniony tekst w formacie markdown. Użyj elementu , outputContentFormat=markdown
aby określić format danych wyjściowych w języku Markdown. Zawartość markdown jest danymi wyjściowymi w content
ramach sekcji.
Uwaga
Począwszy od wersji 2024-07-31-preview, reprezentacja tabel jest zmieniana na tabele HTML, aby umożliwić renderowanie scalonych komórek, nagłówków wielowierszowych itp. Inną powiązaną zmianą jest użycie znaków ☒ pola wyboru Unicode i ☐ dla znaków zaznaczenia zamiast :selected: i :unselected:. Należy pamiętać, że oznacza to, że zawartość pól znacznika wyboru będzie zawierać wartość :selected: mimo że ich zakresy odnoszą się do znaków Unicode w zakresie najwyższego poziomu.
document_intelligence_client = DocumentIntelligenceClient(endpoint=endpoint, credential=AzureKeyCredential(key))
poller = document_intelligence_client.begin_analyze_document(
"prebuilt-layout",
AnalyzeDocumentRequest(url_source=url),
output_content_format=ContentFormat.MARKDOWN,
)
Dane
Ilustracje (wykresy, obrazy) w dokumentach odgrywają kluczową rolę w uzupełnianiu i ulepszaniu zawartości tekstowej, zapewniając wizualne reprezentacje, które pomagają w zrozumieniu złożonych informacji. Obiekt rysunków wykryty przez model Układu ma kluczowe właściwości, takie jak boundingRegions
(lokalizacje przestrzenne rysunku na stronach dokumentu, w tym numer strony i współrzędne wielokątne, które przedstawiają granicę rysunku), spans
(szczegóły zakresy tekstu związane z rysunkiem, określając ich przesunięcia i długości w tekście dokumentu. To połączenie pomaga skojarzyć rysunek z odpowiednim kontekstem tekstowym), elements
(identyfikatory elementów tekstowych lub akapitów w dokumencie, które są powiązane z rysunkiem lub opisują je) i caption
jeśli istnieją.
Gdy parametr output=figures jest określony podczas początkowej operacji analizowania, usługa generuje przycięte obrazy dla wszystkich wykrytych liczb, do których można uzyskać dostęp za pośrednictwem metody /analyeResults/{resultId}/figures/{figureId}
.
FigureId
element jest uwzględniony w każdym obiekcie rysunku, zgodnie z nieudokumentowaną konwencją {pageNumber}.{figureIndex}
, gdzie figureIndex
resetuje się do jednej na stronę.
Uwaga
Począwszy od wersji 2024-07-31-preview, regiony ograniczenia dla rysunków i tabel obejmują tylko podstawową zawartość i wykluczają skojarzone podpisy i przypisy dolne.
# Analyze figures.
if result.figures:
for figures_idx,figures in enumerate(result.figures):
print(f"Figure # {figures_idx} has the following spans:{figures.spans}")
for region in figures.bounding_regions:
print(f"Figure # {figures_idx} location on page:{region.page_number} is within bounding polygon '{region.polygon}'")
Sekcje
Hierarchiczna analiza struktury dokumentów jest kluczowa w organizowaniu, zrozumieniu i przetwarzaniu obszernych dokumentów. Takie podejście ma kluczowe znaczenie dla semantycznie segmentacji długich dokumentów w celu zwiększenia zrozumienia, ułatwienia nawigacji i poprawy pobierania informacji. Pojawienie się rozszerzonej generacji pobierania (RAG) w dokumencie generowania sztucznej inteligencji podkreśla znaczenie hierarchicznej analizy struktury dokumentów. Model układu obsługuje sekcje i podsekcje w danych wyjściowych, które identyfikują relację sekcji i obiektu w każdej sekcji. Struktura hierarchiczna jest utrzymywana w elements
każdej sekcji. Możesz użyć danych wyjściowych do formatowania markdown, aby łatwo uzyskać sekcje i podsekcje w języku Markdown.
document_intelligence_client = DocumentIntelligenceClient(endpoint=endpoint, credential=AzureKeyCredential(key))
poller = document_intelligence_client.begin_analyze_document(
"prebuilt-layout",
AnalyzeDocumentRequest(url_source=url),
output_content_format=ContentFormat.MARKDOWN,
)
Ta zawartość dotyczy: wersja 3.1 (GA)Najnowsza wersja: v4.0 (wersja zapoznawcza) | | Poprzednie wersje: v3.0 v2.1
Ta zawartość dotyczy: wersja 3.0 (GA) | Najnowsze wersje: wersja 4.0 (wersja zapoznawcza) 3.1 | Poprzednia wersja: wersja 2.1
Ta zawartość dotyczy: wersja 2.1 | Najnowsza wersja: wersja 4.0 (wersja zapoznawcza)
Model układu analizy dokumentów to zaawansowany interfejs API analizy dokumentów oparty na uczeniu maszynowym dostępny w chmurze analizy dokumentów. Umożliwia ona wykonywanie dokumentów w różnych formatach i zwracanie reprezentacji danych ustrukturyzowanych dokumentów. Łączy ona ulepszoną wersję naszych zaawansowanych funkcji optycznego rozpoznawania znaków (OCR) z modelami uczenia głębokiego w celu wyodrębniania tekstu, tabel, znaczników zaznaczenia i struktury dokumentów.
Analiza układu dokumentu
Analiza układu struktury dokumentów to proces analizowania dokumentu w celu wyodrębnienia interesujących regionów i relacji między nimi. Celem jest wyodrębnienie tekstu i elementów strukturalnych ze strony w celu utworzenia lepszych semantycznych modeli rozumienia. Istnieją dwa typy ról w układzie dokumentu:
- Role geometryczne: Tekst, tabele, rysunki i znaczniki zaznaczenia to przykłady ról geometrycznych.
- Role logiczne: Tytuły, nagłówki i stopki to przykłady ról logicznych tekstów.
Poniższa ilustracja przedstawia typowe składniki na obrazie przykładowej strony.
Opcje programowania
Narzędzie Document Intelligence w wersji 3.1 obsługuje następujące narzędzia, aplikacje i biblioteki:
Funkcja | Zasoby | Model ID |
---|---|---|
Model układu | • Document Intelligence Studio • REST API • C# SDK • Python SDK• Java SDK • JavaScript SDK |
wstępnie utworzony układ |
Narzędzie Document Intelligence w wersji 3.0 obsługuje następujące narzędzia, aplikacje i biblioteki:
Funkcja | Zasoby | Model ID |
---|---|---|
Model układu | • Document Intelligence Studio • REST API • C# SDK • Python SDK• Java SDK • JavaScript SDK |
wstępnie utworzony układ |
Narzędzie Document Intelligence w wersji 2.1 obsługuje następujące narzędzia, aplikacje i biblioteki:
Funkcja | Zasoby |
---|---|
Model układu | • Narzędzie do etykietowania analizy dokumentów• Interfejs API REST• Zestaw SDK biblioteki klienckiej• Kontener docker analizy dokumentów |
Wymagania dotyczące danych wejściowych
Obsługiwane formaty plików:
Model PDF Obraz: JPEG/JPG
, ,BMP
PNG
, ,TIFF
HEIF
Microsoft Office:
Word (), Excel (XLSX
DOCX
), PowerPoint (PPTX
), HTMLPrzeczytaj ✔ ✔ ✔ Układ ✔ ✔ ✔ (2024-07-31-preview, 2024-02-29-preview, 2023-10-31-preview) Dokument ogólny ✔ ✔ Wstępnie utworzona ✔ ✔ Niestandardowe wyodrębnianie ✔ ✔ Klasyfikacja niestandardowa ✔ ✔ ✔ (2024-07-31-preview, 2024-02-29-preview) Aby uzyskać najlepsze wyniki, podaj jedno jasne zdjęcie lub wysokiej jakości skanowanie na dokument.
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 pikseli 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 tekstowi
8
punktowemu 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
1
GB dla modelu neuronowego.W przypadku trenowania niestandardowego modelu klasyfikacji całkowity rozmiar danych treningowych wynosi
1
GB z maksymalnie 10 000 stron. W przypadku wersji 2024-07-31-preview i nowszych łączny rozmiar danych treningowych wynosi2
GB z maksymalnie 10 000 stron.
- Obsługiwane formaty plików: JPEG, PNG, PDF i TIFF.
- Obsługiwana liczba stron: w przypadku plików PDF i TIFF przetwarzane są maksymalnie 2000 stron. W przypadku subskrybentów warstwy Bezpłatna przetwarzane są tylko dwie pierwsze strony.
- Obsługiwany rozmiar pliku: rozmiar pliku musi być mniejszy niż 50 MB i wymiary co najmniej 50 x 50 pikseli i maksymalnie 10 000 x 10 000 pikseli.
Wprowadzenie do modelu układu
Zobacz, jak dane, w tym tekst, tabele, nagłówki tabeli, znaczniki wyboru i informacje o strukturze są wyodrębniane z dokumentów przy użyciu analizy dokumentów. Potrzebne są następujące zasoby:
Subskrypcja platformy Azure — możesz utworzyć jedną bezpłatnie.
Wystąpienie analizy dokumentów w witrynie Azure Portal. Aby wypróbować usługę, możesz użyć bezpłatnej warstwy cenowej (
F0
). Po wdrożeniu zasobu wybierz pozycję Przejdź do zasobu , aby uzyskać klucz i punkt końcowy.
Uwaga
Program Document Intelligence Studio jest dostępny z interfejsami API w wersji 3.0 i nowszymi wersjami.
Przykładowy dokument przetwarzany za pomocą programu Document Intelligence Studio
Narzędzie do etykietowania przykładowego analizy dokumentów
Przejdź do narzędzia przykładowego analizy dokumentów.
Na stronie głównej przykładowego narzędzia wybierz pozycję Użyj układu, aby pobrać tekst, tabele i znaczniki wyboru.
W polu Punkt końcowy usługi Analizy dokumentów wklej punkt końcowy uzyskany w ramach subskrypcji analizy dokumentów.
W polu klucza wklej klucz uzyskany z zasobu analizy dokumentów.
W polu Źródło wybierz pozycję Adres URL z menu rozwijanego Możesz użyć naszego przykładowego dokumentu:
Wybierz przycisk Pobierz.
Wybierz pozycję Uruchom układ. Narzędzie do etykietowania przykładowego analizy dokumentów wywołuje
Analyze Layout
interfejs API w celu przeanalizowania dokumentu.Wyświetl wyniki — zobacz wyróżniony wyodrębniony tekst, wykryte znaczniki zaznaczenia i wykryte tabele.
Obsługiwane języki i ustawienia regionalne
Zobacz naszą stronę Obsługa języka — modele analizy dokumentów, aby uzyskać pełną listę obsługiwanych języków.
Narzędzie Document Intelligence w wersji 2.1 obsługuje następujące narzędzia, aplikacje i biblioteki:
Funkcja | Zasoby |
---|---|
Interfejs API układu | • Narzędzie do etykietowania analizy dokumentów• Interfejs API REST• Zestaw SDK biblioteki klienckiej• Kontener docker analizy dokumentów |
Wyodrębnianie danych
Model układu wyodrębnia tekst, znaczniki zaznaczenia, tabele, akapity i typy akapitów (roles
) z dokumentów.
Uwaga
Wersje 2024-02-29-preview
, 2023-10-31-preview
i nowsze obsługują pliki Microsoft Office (DOCX, XLSX, PPTX) i HTML. Następujące funkcje nie są obsługiwane:
- Nie ma żadnego kąta, szerokości/wysokości i jednostki dla każdego obiektu strony.
- Dla każdego wykrytego obiektu nie ma ograniczenia wielokąta ani regionu ograniczenia.
- Zakres stron (
pages
) nie jest obsługiwany jako parametr. - Brak
lines
obiektu.
Strony
Kolekcja stron jest listą stron w dokumencie. Każda strona jest reprezentowana sekwencyjnie w dokumencie i .. /zawiera kąt orientacji wskazujący, czy strona jest obracana, oraz szerokość i wysokość (wymiary w pikselach). Jednostki strony w danych wyjściowych modelu są obliczane, jak pokazano poniżej:
Format pliku | Obliczona jednostka strony | Łączna liczba stron |
---|---|---|
Obrazy (JPEG/JPG, PNG, BMP, HEIF) | Każdy obraz = 1 jednostka strony | Łączna liczba obrazów |
Każda strona w pliku PDF = 1 jednostka strony | Łączna liczba stron w pliku PDF | |
TIFF | Każdy obraz w jednostce strony TIFF = 1 | Łączna liczba obrazów w tiff |
Word (DOCX) | Maksymalnie 3000 znaków = 1 jednostka strony, osadzone lub połączone obrazy nie są obsługiwane | Łączna liczba stron z maksymalnie 3000 znakami |
Excel (XLSX) | Każdy arkusz = 1 jednostka strony, osadzone lub połączone obrazy nie są obsługiwane | Łączna liczba arkuszy |
PowerPoint (PPTX) | Każdy slajd = 1 jednostka strony, osadzone lub połączone obrazy nie są obsługiwane | Łączna liczba slajdów |
HTML | Maksymalnie 3000 znaków = 1 jednostka strony, osadzone lub połączone obrazy nie są obsługiwane | Łączna liczba stron z maksymalnie 3000 znakami |
"pages": [
{
"pageNumber": 1,
"angle": 0,
"width": 915,
"height": 1190,
"unit": "pixel",
"words": [],
"lines": [],
"spans": []
}
]
# Analyze pages.
for page in result.pages:
print(f"----Analyzing layout from page #{page.page_number}----")
print(
f"Page has width: {page.width} and height: {page.height}, measured with unit: {page.unit}"
)
Wyodrębnianie wybranych stron z dokumentów
W przypadku dużych dokumentów wielostronicowych użyj parametru pages
zapytania, aby wskazać określone numery stron lub zakresy stron na potrzeby wyodrębniania tekstu.
Ustępów
Model układu wyodrębnia wszystkie zidentyfikowane bloki tekstu w paragraphs
kolekcji jako obiekt najwyższego poziomu w obszarze analyzeResults
. Każdy wpis w tej kolekcji reprezentuje blok tekstowy i .. /zawiera wyodrębniony tekst jakocontent
i współrzędne ograniczenia polygon
. Informacje span
wskazują fragment tekstu we właściwości najwyższego poziomu content
zawierającej pełny tekst z dokumentu.
"paragraphs": [
{
"spans": [],
"boundingRegions": [],
"content": "While healthcare is still in the early stages of its Al journey, we are seeing pharmaceutical and other life sciences organizations making major investments in Al and related technologies.\" TOM LAWRY | National Director for Al, Health and Life Sciences | Microsoft"
}
]
Role akapitu
Nowe wykrywanie obiektów stron opartych na uczeniu maszynowym wyodrębnia role logiczne, takie jak tytuły, nagłówki sekcji, nagłówki stron, stopki stron i inne. Model układu analizy dokumentów przypisuje niektóre bloki tekstowe w paragraphs
kolekcji z ich wyspecjalizowaną rolą lub typem przewidywanym przez model. Najlepiej używać ról akapitów z dokumentami bez struktury, aby ułatwić zrozumienie układu wyodrębnionej zawartości na potrzeby bardziej rozbudowanej analizy semantycznej. Obsługiwane są następujące role akapitu:
Przewidywana rola | Opis | Obsługiwane typy plików |
---|---|---|
title |
Główne nagłówki na stronie | pdf, image, docx, pptx, xlsx, html |
sectionHeading |
Co najmniej jedna podpozycja na stronie | pdf, image, docx, xlsx, html |
footnote |
Tekst w dolnej części strony | pdf, obraz |
pageHeader |
Tekst w górnej krawędzi strony | pdf, image, docx |
pageFooter |
Tekst w dolnej krawędzi strony | pdf, image, docx, pptx, html |
pageNumber |
Numer strony | pdf, obraz |
{
"paragraphs": [
{
"spans": [],
"boundingRegions": [],
"role": "title",
"content": "NEWS TODAY"
},
{
"spans": [],
"boundingRegions": [],
"role": "sectionHeading",
"content": "Mirjam Nilsson"
}
]
}
Tekst, wiersze i wyrazy
Model układu dokumentu w usłudze Document Intelligence wyodrębnia tekst w stylu drukowania i odręcznego jako lines
i words
. Kolekcja styles
.. /zawiera dowolny styl odręczny dla wierszy, jeśli wykryto wraz z zakresami wskazującymi skojarzony tekst. Ta funkcja ma zastosowanie do obsługiwanych języków odręcznych.
W przypadku programów Microsoft Word, Excel, PowerPoint i HTML, Document Intelligence w wersjach 2024-02-29-preview i 2023-10-31-preview Layout wyodrębnij cały osadzony tekst, tak jak to jest. Teksty są wyodrębniane jako wyrazy i akapity. Obrazy osadzone nie są obsługiwane.
"words": [
{
"content": "While",
"polygon": [],
"confidence": 0.997,
"span": {}
},
],
"lines": [
{
"content": "While healthcare is still in the early stages of its Al journey, we",
"polygon": [],
"spans": [],
}
]
# Analyze lines.
for line_idx, line in enumerate(page.lines):
words = line.get_words()
print(
f"...Line # {line_idx} has word count {len(words)} and text '{line.content}' "
f"within bounding polygon '{format_polygon(line.polygon)}'"
)
# Analyze words.
for word in words:
print(
f"......Word '{word.content}' has a confidence of {word.confidence}"
)
Styl odręczny dla wierszy tekstu
Odpowiedź .. /zawiera klasyfikację, czy każdy wiersz tekstu ma styl pisma ręcznego, czy nie, wraz z współczynnikiem ufności. Więcej informacji. Zobacz Obsługa języka odręcznego. Poniższy przykład przedstawia przykładowy fragment kodu JSON.
"styles": [
{
"confidence": 0.95,
"spans": [
{
"offset": 509,
"length": 24
}
"isHandwritten": true
]
}
Jeśli włączysz funkcję dodatku czcionki/stylu, otrzymasz również wynik czcionki/stylu jako część styles
obiektu.
Znaczniki zaznaczenia
Model układu wyodrębnia również znaczniki wyboru z dokumentów. Wyodrębnione znaczniki wyboru są wyświetlane w pages
kolekcji dla każdej strony. Obejmują one ograniczenie polygon
, confidence
i zaznaczenie state
(selected/unselected
). Reprezentacja tekstu (czyli :selected:
:unselected
) jest również dołączana jako indeks początkowy (offset
) i length
odwołujący się do właściwości najwyższego poziomu content
zawierającej pełny tekst z dokumentu.
{
"selectionMarks": [
{
"state": "unselected",
"polygon": [],
"confidence": 0.995,
"span": {
"offset": 1421,
"length": 12
}
}
]
}
# Analyze selection marks.
for selection_mark in page.selection_marks:
print(
f"Selection mark is '{selection_mark.state}' within bounding polygon "
f"'{format_polygon(selection_mark.polygon)}' and has a confidence of {selection_mark.confidence}"
)
Tabele
Wyodrębnianie tabel jest kluczowym wymaganiem do przetwarzania dokumentów zawierających duże ilości danych zwykle sformatowanych jako tabele. Model Układu wyodrębnia tabele w pageResults
sekcji danych wyjściowych JSON. Wyodrębnione informacje o tabeli . /zawiera liczbę kolumn i wierszy, zakres wierszy i zakres kolumn. Każda komórka z powiązanym wielokątem jest zwracana wraz z informacjami o tym, czy obszar jest rozpoznawany jako columnHeader
czy nie. Model obsługuje wyodrębnianie tabel, które są obracane. Każda komórka tabeli zawiera indeks wierszy i kolumn oraz współrzędne wielokątne ograniczenia. W przypadku tekstu komórki model zwraca span
informacje zawierające indeks początkowy (offset
). Model zwraca length
również zawartość najwyższego poziomu zawierającą pełny tekst z dokumentu.
Poniżej przedstawiono kilka czynników, które należy wziąć pod uwagę podczas korzystania z możliwości wyodrębniania bale analizy dokumentów:
Czy dane, które chcesz wyodrębnić jako tabelę, i czy struktura tabeli jest zrozumiała?
Czy dane mogą mieścić się w siatce dwuwymiarowej, jeśli dane nie są w formacie tabeli?
Czy tabele obejmują wiele stron? Jeśli tak, aby uniknąć konieczności etykietowania wszystkich stron, przed wysłaniem go do analizy dokumentów należy podzielić plik PDF na strony. Po analizie po przetworzeniu stron do pojedynczej tabeli.
Jeśli tworzysz modele niestandardowe, zapoznaj się z polami tabelarycznymi. Tabele dynamiczne mają zmienną liczbę wierszy dla każdej kolumny. Stałe tabele mają stałą liczbę wierszy dla każdej kolumny.
Uwaga
- Analiza tabeli nie jest obsługiwana, jeśli plik wejściowy to XLSX.
- Począwszy od wersji 2024-07-31-preview, regiony ograniczenia dla rysunków i tabel obejmują tylko podstawową zawartość i wykluczają skojarzone podpisy i przypisy dolne.
{
"tables": [
{
"rowCount": 9,
"columnCount": 4,
"cells": [
{
"kind": "columnHeader",
"rowIndex": 0,
"columnIndex": 0,
"columnSpan": 4,
"content": "(In millions, except earnings per share)",
"boundingRegions": [],
"spans": []
},
]
}
]
}
# Analyze tables.
for table_idx, table in enumerate(result.tables):
print(
f"Table # {table_idx} has {table.row_count} rows and "
f"{table.column_count} columns"
)
for region in table.bounding_regions:
print(
f"Table # {table_idx} location on page: {region.page_number} is {format_polygon(region.polygon)}"
)
for cell in table.cells:
print(
f"...Cell[{cell.row_index}][{cell.column_index}] has text '{cell.content}'"
)
for region in cell.bounding_regions:
print(
f"...content on page {region.page_number} is within bounding polygon '{format_polygon(region.polygon)}'"
)
Adnotacje (dostępne tylko w interfejsie 2023-02-28-preview
API).
Model Układu wyodrębnia adnotacje w dokumentach, takie jak kontrole i krzyże. Odpowiedź .. /zawiera rodzaj adnotacji oraz współczynnik ufności i wielokąt ograniczenia.
{
"pages": [
{
"annotations": [
{
"kind": "cross",
"polygon": [...],
"confidence": 1
}
]
}
]
}
Dane wyjściowe kolejności odczytu naturalnego (tylko łaciński)
Możesz określić kolejność, w jakiej wiersze tekstowe są danymi wyjściowymi z parametrem readingOrder
zapytania. Użyj natural
polecenia w celu uzyskania bardziej przyjaznych dla człowieka danych wyjściowych kolejności odczytu, jak pokazano w poniższym przykładzie. Ta funkcja jest obsługiwana tylko w językach łacińskich.
Wybieranie numerów stron lub zakresów na potrzeby wyodrębniania tekstu
W przypadku dużych dokumentów wielostronicowych użyj parametru pages
zapytania, aby wskazać określone numery stron lub zakresy stron na potrzeby wyodrębniania tekstu. Poniższy przykład przedstawia dokument z 10 stronami z tekstem wyodrębnionym w obu przypadkach — wszystkie strony (1–10) i wybrane strony (3–6).
Operacja Pobierz wynik układu analizy
Drugim krokiem jest wywołanie operacji Pobierz wynik układu analizy. Ta operacja przyjmuje jako dane wejściowe identyfikator wyniku utworzonej Analyze Layout
operacji. Zwraca odpowiedź JSON zawierającą pole stanu z następującymi możliwymi wartościami.
Pole | Typ | Możliwe wartości |
---|---|---|
status | string | notStarted : Operacja analizy nie została uruchomiona.running : Operacja analizy jest w toku. failed : Operacja analizy nie powiodła się.succeeded : Operacja analizy zakończyła się pomyślnie. |
Wywołaj tę operację iteracyjnie, dopóki nie zwróci succeeded
wartości. Aby uniknąć przekroczenia liczby żądań na sekundę (RPS), należy użyć interwału od 3 do 5 sekund.
Gdy pole stanu ma succeeded
wartość , odpowiedź JSON .. /zawiera wyodrębniony układ, tekst, tabele i znaczniki zaznaczenia. Wyodrębnione dane . /zawiera wyodrębnione wiersze i wyrazy tekstowe, pola ograniczenia, wygląd tekstu ze wskazaniem odręcznym, tabelami i znacznikami zaznaczenia z zaznaczonymi/niezaznaczonymi znakami.
Klasyfikacja odręczna dla wierszy tekstu (tylko łaciński)
Odpowiedź .. /zawiera klasyfikację, czy każdy wiersz tekstu ma styl pisma ręcznego, czy nie, wraz z współczynnikiem ufności. Ta funkcja jest obsługiwana tylko w językach łacińskich. Poniższy przykład przedstawia klasyfikację odręczną tekstu na obrazie.
Przykładowe dane wyjściowe JSON
Odpowiedź na operację Uzyskiwanie wyniku układu analizy to ustrukturyzowana reprezentacja dokumentu ze wszystkimi wyodrębnianymi informacjami. Zobacz tutaj przykładowy plik dokumentu i jego ustrukturyzowane dane wyjściowe przykładowego układu.
Dane wyjściowe JSON mają dwie części:
readResults
węzeł zawiera cały rozpoznany tekst i znacznik zaznaczenia. Hierarchia prezentacji tekstu to strona, a następnie wiersz, a następnie poszczególne wyrazy.pageResults
węzeł zawiera tabele i komórki wyodrębnione z polami ograniczenia, ufnością oraz odwołaniem do wierszy i wyrazów w polu "readResults".
Przykładowe dane wyjściowe
Text
Interfejs API układu wyodrębnia tekst z dokumentów i obrazów z wieloma kątami tekstu i kolorami. Akceptuje zdjęcia dokumentów, faksów, drukowanych i/lub odręcznych (tylko angielski) tekstu i trybów mieszanych. Tekst jest wyodrębniany z informacjami podanymi w wierszach, wyrazach, polach ograniczenia, wskaźnikach ufności i stylu (odręcznego lub innego). Wszystkie informacje tekstowe znajdują się w readResults
sekcji danych wyjściowych JSON.
Tabele z nagłówkami
Interfejs API układu wyodrębnia tabele w pageResults
sekcji danych wyjściowych JSON. Dokumenty można skanować, fotografować lub cyfry. Tabele mogą być złożone ze scalanymi komórkami lub kolumnami, z obramowaniem lub bez obramowania oraz z nieparzystnymi kątami. Wyodrębnione informacje o tabeli . /zawiera liczbę kolumn i wierszy, zakres wierszy i zakres kolumn. Każda komórka z polem ograniczenia jest danymi wyjściowymi wraz z tym, czy obszar jest rozpoznawany jako część nagłówka, czy nie. Przewidywane komórki nagłówkowe modelu mogą obejmować wiele wierszy i nie muszą być pierwszymi wierszami w tabeli. Współpracują również z obróconymi tabelami. Każda komórka tabeli również .. /zawiera pełny tekst z odwołaniami do poszczególnych wyrazów w readResults
sekcji.
Znaczniki zaznaczenia
Interfejs API układu wyodrębnia również znaczniki wyboru z dokumentów. Wyodrębnione znaczniki zaznaczenia obejmują pole ograniczenia, pewność siebie i stan (wybrane/niezaznaczone). Informacje o znaczniku readResults
wyboru są wyodrębniane w sekcji danych wyjściowych JSON.
Przewodnik migracji
- Postępuj zgodnie z naszym przewodnikiem migracji do analizy dokumentów w wersji 3.1, aby dowiedzieć się, jak używać wersji 3.1 w aplikacjach i przepływach pracy.
Następne kroki
Dowiedz się, jak przetwarzać własne formularze i dokumenty za pomocą programu Document Intelligence Studio.
Ukończ przewodnik Szybki start dotyczący analizy dokumentów i rozpocznij tworzenie aplikacji do przetwarzania dokumentów w wybranym języku programowania.
Dowiedz się, jak przetwarzać własne formularze i dokumenty za pomocą narzędzia do etykietowania przykładowego analizy dokumentów.
Ukończ przewodnik Szybki start dotyczący analizy dokumentów i rozpocznij tworzenie aplikacji do przetwarzania dokumentów w wybranym języku programowania.