Wyodrębnianie informacji z dokumentów
Uwaga / Notatka
Aby uzyskać więcej szczegółów, zobacz kartę Tekst i obrazy .
Dzisiejsze procesy biznesowe w dużym stopniu zależą od danych zawartych w dokumentach, takich jak formularze, paragony i faktury. Przetwarzanie ręczne może powodować opóźnienia i błędy, dzięki czemu automatyzacja wyodrębniania danych jest ważniejsza niż kiedykolwiek wcześniej.
Jak działa usługa Azure Content Understanding
Usługa Azure Zrozumienie Treści wykorzystuje modelowy przepływ pracy do wyodrębniania danych, w którym zawartość bez struktury jest pozyskiwana, analizowana i zwracana jako dane ustrukturyzowane.
Pozyskiwanie zawartości: przesyłasz zawartość do usługi Azure Content Understanding.
Analiza oparta na sztucznej inteligencji: usługa używa kombinacji: optycznego rozpoznawania znaków (OCR), rozpoznawania mowy, interpretacji języka naturalnego i wielomodalnych modeli sztucznej inteligencji do analizowania zawartości.
Dane wyjściowe ze strukturą: usługa zwraca wyniki ustrukturyzowane (na przykład w formacie JSON), które pasują do modelu — co ułatwia przechowywanie, wyszukiwanie lub integrowanie danych z systemami podrzędnymi.
Uwaga / Notatka
JSON (JavaScript Object Notation) to tekstowy format danych używany do przechowywania i wymiany danych ustrukturyzowanych między systemami. Łatwo jest ludziom czytać i pisać, a maszynom łatwo analizować i generować.
Omówienie schematów
Optyczne rozpoznawanie znaków (optyczne rozpoznawanie znaków) umożliwia komputerowi odczytywanie tekstu ze zdjęć, takich jak zeskanowane dokumenty, zdjęcia paragonów lub obrazy stron drukowanych, a następnie przekształcenie tego tekstu w tekst cyfrowy z możliwością edycji i przeszukiwania. Podstawowa funkcja OCR ułatwia rozpoznawanie tekstu drukowanego, skupia się na wyodrębnianie tekstu i nie rozumie znaczenia, kontekstu ani relacji między wyrazami.
Możliwości analizy dokumentów usługi Azure Content Understanding wykraczają poza proste wyodrębnianie tekstu opartego na protokole OCR w celu uwzględnienia wyodrębniania pól i ich wartości na podstawie schematu . Podejście oparte na schemacie odróżnia usługę Azure Content Understanding od podstawowych usług OCR lub transkrypcji.
Schemat opisuje informacje, które chcesz wyodrębnić i jak te informacje powinny być ustrukturyzowane. Podczas definiowania schematu należy określić pola do wyodrębnienia. Schemat zawiera listę określonych pól lub jednostek, które cię interesują.
Załóżmy na przykład, że zdefiniujesz schemat zawierający typowe pola, które zwykle znajdują się na fakturze, na przykład:
- Nazwa dostawcy
- Numer faktury
- Data faktury
- Nazwa klienta
- Adres własny
- Przedmioty — zamówione przedmioty, z których każdy obejmuje:
- Opis towaru
- Cena jednostkowa
- Zamówiona ilość
- Suma elementu wiersza
- Suma częściowa faktury
- Podatek
- Opłata za wysyłkę
- Suma faktury
Teraz załóżmy, że musisz wyodrębnić te informacje z następującej faktury:
Usługa Azure Content Understanding może zastosować schemat faktury do faktury i zidentyfikować odpowiednie pola, nawet jeśli są one oznaczone różnymi nazwami (lub w ogóle nie są oznaczone etykietami). Wynikowa analiza daje wynik podobny do następującego:
Schemat definiuje również strukturę pola. Schematy obsługują pola ustrukturyzowane i zagnieżdżone, a nie tylko tekst prosty. Przykład:
-
Itemsjest kolekcją - Każdy element ma
description,unit price,quantityiline total
Identyfikowanie pól ustrukturyzowanych umożliwia usłudze Azure Content Understanding zrozumienie relacji między wartościami, czego sam OCR nie może zrobić.
W przykładzie faktury dla każdego wykrytego pola można wyodrębnić zagnieżdżone wartości:
- Nazwa dostawcy: Adventure Works Cycles
- Numer faktury: 1234
- Data faktury: 03.07.2025
- Nazwa klienta: John Smith
- Adres niestandardowy: 123 River Street, Marshtown, Anglia, GL1 234
-
Elementy:
- Pozycja 1:
- Opis elementu: 38" Racing Bike (czerwony)
- Cena jednostkowa: 1299,00
- Zamówiona ilość: 1
- Suma elementu wiersza: 1299,00
- Element 2:
- Opis przedmiotu: Kask rowerowy (Czarny)
- Cena jednostkowa: 25,99
- Zamówiona ilość: 1
- Suma elementu wiersza: 25,99
- Element 3:
- Opis elementu: Koszulka rowerowa (L)
- Cena jednostkowa: 42,50
- Zamówiona ilość: 2
- Suma elementu wiersza: 85,00
- Pozycja 1:
- Suma częściowa faktury: 1409.99
- Podatek: 140.99
- Opłata za wysyłkę: 35.00
- Suma faktury: 1585,98
Usługa Azure Content Understanding wyodrębnia oczekiwane znaczenie, a nie tylko etykiety. Schematy są stosowane semantycznie, co oznacza:
- Pola można wyodrębniać, nawet jeśli etykiety się różnią
- Pola można wyodrębnić, nawet jeśli brakuje etykiet
Na przykład numer faktury, numer faktury lub nieoznakowany numer może odpowiadać InvoiceNumber, jeśli analizator określi, że reprezentują tę samą koncepcję.
Zrozumienie analizatorów
Analizator to jednostka w usłudze Azure Content Understanding, która pobiera dane wejściowe, stosuje analizę sztucznej inteligencji i generuje wyniki strukturalne. Analizatory konsekwentnie stosują tę samą logikę wyodrębniania do całej zawartości przychodzącej. Po skonfigurowaniu analizator gwarantuje, że schemat jest stale używany dla każdego żądania analizy. Analizatory generują również przewidywalne wyniki JSON. Wyniki ustrukturyzowane ułatwiają przetwarzanie podrzędne (magazyn, wyszukiwanie, automatyzacja).
Usługa Azure Content Understanding oferuje wstępnie utworzone analizatory dla typowych scenariuszy i obsługuje analizatory niestandardowe dostosowane do Twoich potrzeb. Na wysokim poziomie:
- Możesz wybrać lub utworzyć analizator.
- Analizator zawiera schemat definiujący pola i strukturę.
- Przesyłasz zawartość do analizy
- Usługa stosuje schemat
- Otrzymasz ustrukturyzowane wyniki JSON pasujące do schematu
Korzystanie z usługi Azure Content Understanding w portalu Foundry
Uwaga / Notatka
Portal Foundry ma klasyczny interfejs użytkownika i nowy interfejs użytkownika.
Po utworzeniu zasobu Microsoft Foundry możesz użyć nowego interfejsu portalu Foundry do przetestowania Azure Content Understanding. Portal Foundry udostępnia przykłady zawartości i umożliwia przekazanie własnych materiałów do analizy.
Za pomocą interfejsu wizualnego można wybrać dokument źródłowy i wyodrębnić domyślne pola informacji. Na przykład po wypróbowaniu usługi Azure Content Understanding na obrazie dokumentu usługa zwraca informacje o tekście i układzie tekstu dokumentu.
Analizatory usługi Azure Content Understanding identyfikują wartości tekstowe w dokumentach i mapują je na określone pola. Na przykład na podstawie faktury usługa zwraca pola (takie jak adres dostawcy) i dane w polach (na przykład 123 456th Street).
W portalu Foundry można również wyświetlić wyniki JSON przetwarzania.
Tworzenie aplikacji klienckiej za pomocą usługi Azure Content Understanding
Interfejs API usługi Content Understanding umożliwia utworzenie uproszczonej aplikacji klienckiej, która programowo wyodrębnia dane.
Uwaga / Notatka
Aplikacja kliencka to program, który działa na urządzeniu użytkownika i żąda usług lub danych z innego systemu, zazwyczaj serwera za pośrednictwem sieci. Klient jest częścią aplikacji, z którą użytkownicy korzystają, podczas gdy serwer wykonuje ciężką pracę w tle. Aplikacje mogą żądać danych lub akcji z usługi i odbierać ustrukturyzowaną odpowiedź przy użyciu interfejsu API.
Korzystając z interfejsu API usługi Content Understanding, możesz wybrać wstępnie utworzony analizator lub utworzyć analizator niestandardowy. Wstępnie utworzone analizatory obejmują: prebuilt-invoice, prebuilt-imageSearch, prebuilt-audioSearch i prebuilt-videoSearch. Podczas przesyłania zawartości do analizy do analizatora analiza jest asynchroniczna, co oznacza, że wynik otrzymasz później, gdy będzie gotowy. Ponieważ analiza jest asynchroniczna, należy sondować adres URL Operation-Location (lub analyzerResults), dopóki zadanie nie powiedzie się.
Korzystanie z zestawu SDK języka Python usługi Azure Content Understanding
Przyjrzyjmy się procesowi używania zestawu SDK języka Python do analizowania faktury z adresu URL.
- Zainstaluj zestaw SDK usługi Azure Content Understanding dla języka Python.
python -m pip install azure-ai-contentunderstanding
Zidentyfikuj punkt końcowy zasobu Foundry i klucz API lub Microsoft Entra ID. Punkt końcowy zwykle wygląda następująco:
https://<your-resource-name>.services.ai.azure.com/Utwórz i uruchom kod aplikacji klienckiej. Element
analzyer_idjest identyfikatorem wstępnie utworzonego analizatora. Listę wstępnie utworzonych wartości identyfikatorów analizatora można znaleźć tutaj.
import os
from azure.ai.contentunderstanding import ContentUnderstandingClient
from azure.core.credentials import AzureKeyCredential
endpoint = os.environ["FOUNDRY_ENDPOINT"]
key = os.environ["FOUNDRY_KEY"]
client = ContentUnderstandingClient(endpoint=endpoint, credential=AzureKeyCredential(key))
# 1) start analysis with analyzer id + inputs
analyzer_id = "prebuilt-invoice"
inputs = [
{"url": "https://github.com/Azure-Samples/azure-ai-content-understanding-python/raw/refs/heads/main/data/invoice.pdf"}
]
# 2) wait for the Long Running Operation (LRO) to complete
poller = client.begin_analyze(analyzer_id=analyzer_id, inputs=inputs) # starts LRO
result = poller.result() # waits for completion (polling handled by SDK)
# 3) read structured fields + markdown
# The result typically includes extracted "fields" and "markdown" per input content item.
for content in result.contents:
print(content.markdown)
print(content.fields)
Wynikowe dane wyjściowe to JSON, który pokazuje wyodrębnione znaczniki markdown, pola, dane w polach i wskaźnik ufności. Przykład:
{
"status": "Succeeded",
"result": {
"analyzerId": "prebuilt-invoice",
"apiVersion": "2025-05-01-preview",
"contents": [
{
"markdown": "# INVOICE\n\nCONTOSO LTD.\n\nContoso Headquarters\n123 456th St\nNew York, NY, 10001\n\nINVOICE: INV-100\n\nINVOICE DATE: 11/15/2019\n\nDUE DATE: 12/15/2019\n\nCUSTOMER NAME: MICROSOFT CORPORATION\n",
"fields": {
"CustomerName": {
"type": "string",
"valueString": "MICROSOFT CORPORATION",
"confidence": 0.95,
},
"InvoiceDate": {
"type": "date",
"valueDate": "2019-11-15",
"confidence": 0.994,
}
}
}
]
}
}
Następnie dowiedz się, jak wyodrębnić dane ustrukturyzowane z audio i wideo za pomocą analizatorów usługi Azure Content Understanding.