Extrahera information från dokument

Slutförd

Tip

Mer information finns på fliken Text och bilder !

Dagens affärsprocesser är mycket beroende av data som finns i dokument som formulär, kvitton och fakturor. Manuell bearbetning kan medföra fördröjningar och fel, vilket gör automatisering av dataextrahering viktigare än någonsin.

Så här fungerar Azure Content Understanding

Azure Content Understanding följer ett modelldrivet extraheringsarbetsflöde där ostrukturerat innehåll matas in, analyseras och returneras som strukturerade data.

  1. Mata in innehåll: Du skickar innehåll till Azure Content Understanding.

  2. AI-baserad analys: Tjänsten använder en kombination av: Optisk teckenigenkänning (OCR), taligenkänning, förståelse för naturligt språk och multimodala AI-modeller för att analysera innehållet.

  3. Strukturerade utdata: Tjänsten returnerar strukturerade resultat (till exempel i JSON) som matchar din modell – vilket gör data lätta att lagra, söka efter eller integrera i underordnade system.

Anmärkning

JSON (JavaScript Object Notation) är ett textbaserat dataformat som används för att lagra och utbyta strukturerade data mellan system. Det är enkelt för människor att läsa och skriva, och enkelt för datorer att parsa och generera.

Förstå scheman

OCR (optisk teckenigenkänning) gör att en dator kan "läsa" text från bilder, till exempel skannade dokument, foton av kvitton eller bilder av tryckta sidor, och omvandla texten till redigerbar och sökbar digital text. Grundläggande OCR hjälper till att identifiera tryckt text, fokuserar på textextrahering och förstår inte mening, kontext eller relationer mellan ord.

Azure Content Understandings funktioner för dokumentanalys går utöver enkel OCR-baserad textextrahering för att inkludera schemabaserad extrahering av fält och deras värden. Den schemadrivna metoden är det som skiljer Azure Content Understanding från grundläggande OCR- eller transkriptionstjänster.

Ett schema beskriver vilken information du vill extrahera och hur informationen ska struktureras. När du definierar ett schema anger du fält som ska extraheras. Ett schema visar de specifika fält eller entiteter som du bryr dig om.

Anta till exempel att du definierar ett schema som innehåller de vanliga fält som vanligtvis finns på en faktura, till exempel:

  • Leverantörsnamn
  • Fakturanummer
  • Fakturadatum
  • Kundnamn
  • Anpassad adress
  • Objekt – de beställda objekten, som var och en innehåller:
    • Artikelbeskrivning
    • Pris per enhet
    • Beställd kvantitet
    • Summa för radobjekt
  • Delsumma för faktura
  • Skatt
  • Fraktavgift
  • Fakturasumma

Anta nu att du behöver extrahera den här informationen från följande faktura:

Foto av en faktura.

Azure Content Understanding kan använda fakturaschemat på din faktura och identifiera motsvarande fält, även när de är märkta med olika namn (eller inte märkta alls). Den resulterande analysen ger ett resultat som liknar detta:

Foto av en analyserad faktura med identifierade fält markerade.

Schemat definierar även fältstrukturen. Scheman stöder strukturerade och kapslade fält, inte bara platt text. Till exempel:

  • Items är en samling
  • Varje objekt har description, unit price, quantityoch line total

Genom att identifiera strukturerade fält kan Azure Content Understanding förstå relationer mellan värden, något ocr ensamt inte kan göra.

I fakturaexemplet kan du extrahera kapslade värden för varje identifierat fält:

  • Leverantörsnamn: Adventure Works Cycles
  • Fakturanummer: 1234
  • Fakturadatum: 2025-03-07
  • Kundnamn: John Smith
  • Anpassad adress: 123 River Street, Marshtown, England, GL1 234
  • Objekt:
    • Objekt 1:
      • Objektbeskrivning: 38" Racing Bike (Röd)
      • Enhetspris: 1299,00
      • Beställd kvantitet: 1
      • Radobjekt totalt: 1299,00
    • Objekt 2:
      • Objektbeskrivning: Cykelhjälm (svart)
      • Enhetspris: 25,99
      • Beställd kvantitet: 1
      • Radobjekt totalt: 25,99
    • Objekt 3:
      • Objektbeskrivning: Cykelskjorta (L)
      • Enhetspris: 42,50
      • Beställd kvantitet: 2
      • Radpostens summa: 85,00
  • Delsumma för faktura: 1409,99
  • Skatt: 140,99
  • Fraktkostnad: 35,00
  • Fakturasumma: 1585,98

Azure Content Understanding extraherar förväntad betydelse, inte bara etiketter. Scheman tillämpas semantiskt, vilket betyder:

  • Fält kan extraheras även om etiketterna skiljer sig åt
  • Fält kan extraheras även om etiketter saknas

Till exempel kan fakturanr, fakturanr eller ett omärkt nummer mappas till InvoiceNumber om analysatorn fastställer att de representerar samma koncept.

Förstå analysverktyg

En analysverktyg är en enhet i Azure Content Understanding som tar indata, tillämpar AI-analys och ger strukturerade resultat. Analysverktyg tillämpar konsekvent samma extraheringslogik på allt inkommande innehåll. När den har konfigurerats ser en analysator till att ett schema återanvänds konsekvent för varje analysbegäran. Analysverktyg ger också förutsägbara JSON-resultat. De strukturerade resultaten gör nedströmsbearbetningen (lagring, sökning, automatisering) enklare.

Azure Content Understanding erbjuder fördefinierade analysverktyg för vanliga scenarier och har stöd för anpassade analysverktyg som är skräddarsydda för dina behov. På hög nivå:

  1. Du väljer eller skapar en analysator.
  2. Analysatorn innehåller ett schema som definierar fält och struktur.
  3. Du skickar innehåll för analys
  4. Tjänsten tillämpar schemat
  5. Du får strukturerade JSON-resultat som matchar schemat

Använda Azure Content Understanding i Foundry-portalen

Anmärkning

Foundry-portalen har ett klassiskt användargränssnitt (UI) och ett nytt användargränssnitt.

När du har skapat en Microsoft Foundry-resurs kan du använda ny Foundry-portalgränssnittet för att testa Azure Content Understanding. Foundry-portalen innehåller innehållsexempel och låter dig ladda upp ditt eget material för analys.

Du kan använda det visuella gränssnittet för att välja ett källdokument och extrahera standardfält med information. När du till exempel provar Azure Content Understanding på en bild av ett dokument returnerar tjänsten dokumenttext- och textlayoutinformationen.

Skärmbild av den nya Foundry-portalen med ett dokument analyserat med Azure Content Understanding.

Azure Content Understandings analysverktyg identifierar textvärden i dokument och mappar dem till specifika fält. Med en faktura returnerar tjänsten till exempel fälten (till exempel leverantörsadress) och data i fälten (till exempel 123 456th Street).

Skärmbild av den nya Foundry-portalen med en faktura analyserad med Azure Content Understanding.

I Foundry-portalen kan du också visa JSON-resultatet av bearbetningen.

Skärmbild av den nya Foundry-portalen med JSON-resultatet av en faktura som analyserats med Azure Content Understanding.

Skapa ett klientprogram med Azure Content Understanding

Du kan använda API:et content understanding för att skapa ett enkelt klientprogram som extraherar data programmatiskt.

Anmärkning

Ett klientprogram är ett program som körs på en användares enhet och begär tjänster eller data från ett annat system, vanligtvis en server, via ett nätverk. Klienten är en del av ett program som användarna interagerar med, medan servern utför det tunga arbetet bakom kulisserna. Program kan begära data eller åtgärder från en tjänst och ta emot ett strukturerat svar med hjälp av ett API.

När du använder API:et content understanding kan du välja en fördefinierad analysator eller skapa en anpassad analysator. Fördefinierade analysverktyg är: prebuilt-invoice, prebuilt-imageSearch, prebuilt-audioSearchoch prebuilt-videoSearch. När du skickar innehåll för analys till analysatorn är analysen asynkron, vilket innebär att du får resultatet senare när det är klart. Eftersom analysen är asynkron måste du poll:a Operation-Location URL:en (eller analyzerResults) tills jobbet lyckas.

Använda Azure Content Understanding Python SDK

Nu ska vi ta en titt på processen med att använda Python SDK för att analysera en faktura från en URL.

  1. Installera Azure Content Understanding Python SDK.
python -m pip install azure-ai-contentunderstanding
  1. Identifiera din Foundry-resursslutpunkt och API-nyckel eller Microsoft Entra-ID. Slutpunkten ser vanligtvis ut så här: https://<your-resource-name>.services.ai.azure.com/

  2. Skapa och kör klientprogramkoden. analzyer_id är ID:t för den fördefinierade analysatorn. Du hittar en lista över fördefinierade analys-ID-värden här.

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)

Resultatet är JSON som visar extraherad markdown, fält, data i fälten och konfidenspoäng. Till exempel:

{
	"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,
					}
                }
            }
        ]
    }
}

Lär dig sedan hur du använder Azure Content Understanding-analysverktyg för att extrahera strukturerade data från ljud och video.