Dela via


Vad är layoutmodellen för dokumentinformation?

Det här innehållet gäller för:bockmarkeringv4.0 (GA) | Tidigare versioner:blå bockmarkeringv3.1 (GA)blå bockmarkeringv3.0 (GA)blå bockmarkeringv2.1 (GA)

Layoutmodellen för Azure AI Document Intelligence är ett avancerat API för dokumentanalys baserat på maskininlärning. Modellen är tillgänglig i document intelligence-molnet. Du kan använda den för att ta dokument i olika format och returnera strukturerade datarepresentationer av dokumenten. Modellen kombinerar en förbättrad version av de kraftfulla funktionerna för optisk teckenigenkänning (OCR) med djupinlärningsmodeller för att extrahera text, tabeller, urvalsmarkeringar och dokumentstruktur.

Layoutanalys för dokumentstruktur

Layoutanalys av dokumentstruktur är en process för att analysera ett dokument för att extrahera intressanta regioner och deras samband. Målet är att extrahera text och strukturella element från sidan för att skapa bättre semantiska förståelsemodeller. Det finns två typer av roller i en dokumentlayout:

  • Geometriska roller: Text, tabeller, siffror och urvalsmarkeringar är exempel på geometriska roller.
  • Logiska roller: Titlar, rubriker och sidfötter är exempel på logiska roller i texter.

Följande bild visar de typiska komponenterna i en bild av en exempelsida.

Bild som visar ett exempel på dokumentlayout.

Utvecklingsalternativ

Document Intelligence v4.0: 2024-11-30 (GA) stöder följande verktyg, program och bibliotek.

Egenskap Resurser Modell-ID
Layoutmodell Document Intelligence Studio
REST API
C# SDK
Python SDK
Java SDK
JavaScript SDK
prebuilt-layout

Språk som stöds

En fullständig lista över språk som stöds finns i Språkstöd: Dokumentanalysmodeller.

Filtyper som stöds

Layoutmodellen Document Intelligence v4.0: 2024-11-30 (GA) stöder följande filformat:

Modell PDF Bild:
JPEG/JPG, PNG, BMP, TIFF, HEIF
Office:
Word (DOCX), Excel (XLS), PowerPoint (PPTX), HTML
Utformning

Inmatningskrav

  • Foton och genomsökningar: För bästa resultat, ge ett tydligt foto eller högkvalitativ genomsökning per dokument.
  • PDF-filer och TIFF:er: För PDF-filer och TIFF:er kan upp till 2 000 sidor bearbetas. (Med en prenumeration på den kostnadsfria nivån bearbetas endast de två första sidorna.)
  • Lösenordslås: Om dina PDF-filer är lösenordslåsta måste du ta bort låset innan det skickas in.
  • Filstorlek: Filstorleken för att analysera dokument är 500 MB för den betalda nivån (S0) och 4 MB för den kostnadsfria nivån (F0).
  • Bilddimensioner: Bilddimensionerna måste vara mellan 50 bildpunkter x 50 bildpunkter och 10 000 bildpunkter x 10 000 bildpunkter.
  • Texthöjd: Den minsta höjden på texten som ska extraheras är 12 bildpunkter för en bild på 1 024 x 768 bildpunkter. Den här dimensionen motsvarar cirka 8-punktstext vid 150 punkter per tum.
  • Anpassad modellträning: Det maximala antalet sidor för träningsdata är 500 för den anpassade mallmodellen och 50 000 för den anpassade neurala modellen.
  • Anpassad extraheringsmodellträning: Den totala storleken på träningsdata är 50 MB för mallmodellen och 1 GB för den neurala modellen.
  • Anpassad klassificeringsmodellträning: Den totala storleken på träningsdata är 1 GB med högst 10 000 sidor. För 2024-11-30 (GA) är den totala storleken på träningsdata 2 GB med högst 10 000 sidor.
  • Office-filtyper (DOCX, XLSX, PPTX): Den maximala stränglängdsgränsen är 8 miljoner tecken.

Mer information om modellanvändning, kvoter och tjänstgränser finns i Tjänstbegränsningar.

Kom igång med layoutmodellen

Se hur data, inklusive text, tabeller, tabellrubriker, markeringsmarkeringar och strukturinformation, extraheras från dokument med hjälp av Dokumentinformation. Du behöver följande resurser:

  • Ett Azure-abonnemang. Du kan skapa en kostnadsfritt.

  • En instans av Dokumentintelligens i Azure-portalen. Du kan använda den kostnadsfria prisnivån (F0) för att prova tjänsten. När resursen har distribuerats väljer du Gå till resurs för att hämta din nyckel och slutpunkt.

    Skärmbild som visar nycklar och slutpunktsplats i Azure-portalen.

När du har hämtat din nyckel och slutpunkt använder du följande utvecklingsalternativ för att skapa och distribuera dina dokumentinformationsprogram.

Extrahering av data

Layoutmodellen extraherar strukturella element från dina dokument. Följande strukturella element beskrivs i resten av den här artikeln tillsammans med vägledning om hur du extraherar dem från dina dokumentindata:

Kör exempellayoutdokumentanalysen i Document Intelligence Studio. Gå sedan till resultatfliken och få åtkomst till fullständiga JSON-utdata.

Skärmbild som visar resultat på fliken JSON-utdata i Document Intelligence Studio.

Sidor

Samlingen pages är en lista över sidor i dokumentet. Varje sida representeras sekventiellt i dokumentet och innehåller orienteringsvinkeln, som anger om sidan roteras och bredden och höjden (dimensioner i bildpunkter). Sidenheterna i modellutdata beräknas enligt följande tabell.

Filformat Beräknad sidenhet Totalt antal sidor
Bilder (JPEG/JPG, PNG, BMP, HEIF) Varje bild = 1 sidenhet. Totalt antal bilder
PDF Varje sida i PDF = 1 sidenhet. Totalt antal sidor i PDF-filen
TIFF Varje bild i TIFF = 1 sidenhet. Totalt antal bilder i TIFF
Word (DOCX) Upp till 3 000 tecken = en sidenhet. Inbäddade eller länkade bilder stöds inte. Totalt antal sidor på upp till 3 000 tecken vardera
Excel (XLSX) Varje kalkylblad = 1 sidenhet. Inbäddade eller länkade bilder stöds inte. Totalt antal kalkylblad
PowerPoint (PPTX) Varje bild = 1 sidenhet. Inbäddade eller länkade bilder stöds inte. Totalt antal bilder
HTML Upp till 3 000 tecken = en sidenhet. Inbäddade eller länkade bilder stöds inte. Totalt antal sidor på upp till 3 000 tecken vardera
# 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}")

Extrahera markerade sidor

För stora dokument med flera sidor använder du pages frågeparametern för att ange specifika sidnummer eller sidintervall för textextrahering.

Paragrafer

Layoutmodellen extraherar alla identifierade textblock i paragraphs samlingen som ett objekt på den översta nivån under analyzeResults. Varje post i den här samlingen representerar ett textblock och innehåller den extraherade texten som content och avgränsningskoordinaterna polygon . Informationen spans pekar på textfragmentet i den översta egenskapen content som innehåller den fullständiga texten från dokumentet.


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

Avsnittsroller

Den nya identifieringen av sidobjekt baserat på maskininlärning extraherar logiska roller som rubriker, avsnittsrubriker, sidhuvuden, sidfötter med mera. Layoutmodellen dokumentinformation tilldelar vissa textblock i paragraphs samlingen med sin särskilda roll eller typ som förutsägs av modellen.

Det är bäst att använda styckeroller med ostrukturerade dokument för att förstå layouten för det extraherade innehållet för en mer omfattande semantisk analys. Följande styckeroller stöds.

Förutsagd roll Description Filtyper som stöds
title Huvudrubrikerna på sidan PDF, Image, DOCX, PPTX, XLSX, HTML
sectionHeading Ett eller flera underrubriker på sidan PDF, Image, DOCX, XLSX, HTML
footnote Text längst ned på sidan PDF, Bild
pageHeader Text nära sidans övre kant PDF, Bild, DOCX
pageFooter Text nära sidans nederkant PDF, Image, DOCX, PPTX, HTML
pageNumber Sidans nummer PDF, Bild
{
    "paragraphs": [
                {
                    "spans": [],
                    "boundingRegions": [],
                    "role": "title",
                    "content": "NEWS TODAY"
                },
                {
                    "spans": [],
                    "boundingRegions": [],
                    "role": "sectionHeading",
                    "content": "Mirjam Nilsson"
                }
    ]
}

Text, rader och ord

Dokumentlayoutmodellen i Dokumentinformation extraherar utskrift och handskriven text som lines och words. Samlingen styles innehåller alla handskrivna formatmallar för rader, om de identifieras, tillsammans med de intervall som pekar på den associerade texten. Den här funktionen gäller för handskrivna språk som stöds.

För Microsoft Word, Excel, PowerPoint och HTML extraherar layoutmodellen Document Intelligence v4.0 2024-11-30 (GA) all inbäddad text som den är. Texter extraheras som ord och stycken. Inbäddade bilder stöds inte.

# 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}")

Handskriven stil för textrader

Svaret innehåller om varje textrad är i handskriven stil eller inte, tillsammans med en konfidenspoäng. Mer information finns i Stöd för handskrivna språk. I följande exempel visas ett exempel på JSON-kodfragment.

"styles": [
{
    "confidence": 0.95,
    "spans": [
    {
        "offset": 509,
        "length": 24
    }
    "isHandwritten": true
    ]
}

Om du aktiverar funktionen för teckensnitt/formattillägg får du även teckensnitts-/formatmallsresultatet styles som en del av objektet.

Valmarkeringar

Layoutmodellen extraherar också urvalsmarkeringar från dokument. Extraherade markeringsmarkeringar visas i pages samlingen för varje sida. De inkluderar avgränsningen polygon, confidenceoch markeringen state (selected/unselected). Textrepresentationen (dvs :selected: . och :unselected) ingår också som startindex (offset) och length som refererar till den översta egenskapen content som innehåller den fullständiga texten från dokumentet.

# 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}"
        )

Tabeller

Att extrahera tabeller är ett viktigt krav för att bearbeta dokument som innehåller stora mängder data som vanligtvis formateras som tabeller. Layoutmodellen extraherar tabeller i pageResults avsnittet i JSON-utdata. Extraherad tabellinformation innehåller antalet kolumner och rader, radintervall och kolumnintervall.

Varje cell med sin avgränsningspolygon matas ut tillsammans med information om området identifieras som columnHeader eller inte. Modellen stöder extrahering av tabeller som roteras. Varje tabellcell innehåller rad- och kolumnindex och avgränsningspolygonkoordinater. För celltexten matar modellen ut den span information som innehåller startindexet (offset). Modellen ger också ut length på den högsta nivån av innehållet som innehåller den fullständiga texten från dokumentet.

Här följer några faktorer att tänka på när du använder funktionen för extrahering av dokumentinformationsbalar:

  • Är de data som du vill extrahera presenterade som en tabell och är tabellstrukturen meningsfull?
  • Kan data få plats i ett tvådimensionellt rutnät om data inte är i tabellformat?
  • Sträcker sig tabellerna över flera sidor? Om så är fallet, för att undvika att behöva märka alla sidor, delar du upp PDF-filen i sidor innan du skickar den till Dokumentinformation. Efter analysen bearbetar du sidorna till en enda tabell.
  • Se Tabellfält om du skapar anpassade modeller. Dynamiska tabeller har ett variabelt antal rader för varje kolumn. Fasta tabeller har ett konstant antal rader för varje kolumn.

Anmärkning

Tabellanalys stöds inte om indatafilen är XLSX. För 2024-11-30 (GA) täcker avgränsningsregionerna för siffror och tabeller endast kärninnehållet och exkluderar tillhörande bildtexter och fotnoter.

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}'")

Utdatasvar på Markdown-format

Layout-API:et kan mata ut den extraherade texten i Markdown-format. outputContentFormat=markdown Använd för att ange utdataformatet i Markdown. Markdown-innehållet är utdata som en del av content avsnittet.

Anmärkning

För v4.0 2024-11-30 (GA) ändras representationen av tabeller till HTML-tabeller för att möjliggöra återgivning av objekt som sammanfogade celler och sidhuvuden med flera flöden. En annan relaterad ändring är att använda kryssrutorna ☒ Unicode och ☐ för markeringsmarkeringar i stället :selected: för och :unselected:. Den här uppdateringen innebär att innehållet i markeringsmarkeringsfälten :selected: innehåller även om deras intervall refererar till Unicode-tecken i det översta intervallet. En fullständig definition av Markdown-element finns i Markdown-utdataformat.

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,
)

Siffror

Siffror (diagram och bilder) i dokument spelar en avgörande roll när det gäller att komplettera och förbättra textinnehållet. De tillhandahåller visuella representationer som underlättar förståelsen av komplex information. Objektet figures som identifieras av layoutmodellen har nyckelegenskaper som:

  • boundingRegions: De rumsliga platserna för figuren på dokumentsidorna, inklusive sidnumret och polygonkoordinaterna som beskriver figurens gräns.
  • spans: Texten sträcker sig över den bild som anger deras förskjutningar och längder i dokumentets text. Den här anslutningen hjälper till att associera figuren med dess relevanta textkontext.
  • elements: Identifierare för textelement eller stycken i dokumentet som är relaterade till eller beskriver figuren.
  • caption: Beskrivningen om det finns en.

När output=figures anges under den inledande analysåtgärden genererar tjänsten beskurna bilder för alla identifierade siffror som kan nås via /analyeResults/{resultId}/figures/{figureId}. Värdet FigureId är det ID som ingår i varje figurobjekt, enligt en odokumenterad konvention om {pageNumber}.{figureIndex} var figureIndex återställs till en per sida.

För v4.0 2024-11-30 (GA) täcker avgränsningsregionerna för siffror och tabeller endast kärninnehållet och exkluderar tillhörande bildtexter och fotnoter.

# 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}'")

Sektioner

Hierarkisk dokumentstrukturanalys är avgörande för att organisera, förstå och bearbeta omfattande dokument. Den här metoden är viktig för att semantiskt segmentera långa dokument för att öka förståelsen, underlätta navigeringen och förbättra informationshämtningen. Tillkomsten av hämtningsförhöjd generation (RAG) i dokumentgenerativ AI understryker betydelsen av hierarkisk dokumentstrukturanalys.

Layoutmodellen stöder avsnitt och underavsnitt i utdata, som identifierar relationen mellan avsnitt och objekt i varje avsnitt. Den hierarkiska strukturen underhålls i elements för varje avsnitt. Du kan använda utdatasvaret i Markdown-format för att enkelt hämta avsnitten och underavsnitten i 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,
)

Det här innehållet gäller för:bockmarkeringv3.1 (GA) | Senaste version:lila bockmarkeringv4.0 (GA) | Tidigare versioner:blå bockmarkeringv3.0blå bockmarkeringv2.1

Det här innehållet gäller för:bockmarkeringv3.0 (GA) | Senaste versioner:lila bockmarkeringv4.0 (GA)lila bockmarkeringv3.1 | Föregående version:blå bockmarkeringv2.1

Det här innehållet gäller för:checkmarkBockmarkeringSenaste version: | blue-checkmarkv4.0 (GA)

Layoutmodellen för dokumentinformation är ett avancerat API för dokumentanalys. Modellen baseras på maskininlärning och är tillgänglig i document intelligence-molnet. Du kan använda den för att ta dokument i olika format och returnera strukturerade datarepresentationer av dokumenten. Den kombinerar en förbättrad version av de kraftfulla OCR-funktionerna med djupinlärningsmodeller. Du kan använda den för att extrahera text, tabeller, markeringsmarkeringar och dokumentstruktur.

Dokumentlayoutanalys

Layoutanalys av dokumentstruktur är en process för att analysera ett dokument för att extrahera intressanta regioner och deras samband. Målet är att extrahera text och strukturella element från sidan för att skapa bättre semantiska förståelsemodeller. Det finns två typer av roller i en dokumentlayout:

  • Geometriska roller: Text, tabeller, siffror och urvalsmarkeringar är exempel på geometriska roller.
  • Logiska roller: Titlar, rubriker och sidfötter är exempel på logiska roller i texter.

Följande bild visar de typiska komponenterna i en bild av en exempelsida.

Bild som visar ett exempel på dokumentlayout.

Språk och nationella inställningar som stöds

En fullständig lista över språk som stöds finns i Språkstöd: Dokumentanalysmodeller.

Document Intelligence v2.1 stöder följande verktyg, program och bibliotek.

Egenskap Resurser
Layoutmodell Etikettverktyg
för dokumentinformation• REST API
Klientbiblioteks-SDK
Docker-container för dokumentinformation

Vägledning för indata

Filformat som stöds:

Modell PDF Bild:
JPEG/JPG, PNG, BMP, TIFF, HEIF
Office:
Word (DOCX), Excel (XLSX), PowerPoint (PPTX), HTML
Läs
Utformning
Allmänt dokument
Inbyggda
Anpassad extrahering
Anpassad klassificering
  • Foton och genomsökningar: För bästa resultat, ge ett tydligt foto eller högkvalitativ genomsökning per dokument.
  • PDF-filer och TIFF:er: För PDF-filer och TIFF:er kan upp till 2 000 sidor bearbetas med en kostnadsfri prenumeration. Endast de två första sidorna bearbetas.
  • Filstorlek: Filstorleken för att analysera dokument är 500 MB för den betalda nivån (S0) och 4 MB för den kostnadsfria nivån (F0).
  • Bilddimensioner: Bilddimensionerna måste vara mellan 50 bildpunkter x 50 bildpunkter och 10 000 bildpunkter x 10 000 bildpunkter.
  • Lösenordslås: Om dina PDF-filer är lösenordslåsta måste du ta bort låset innan det skickas in.
  • Texthöjd: Den minsta höjden på texten som ska extraheras är 12 bildpunkter för en bild på 1 024 x 768 bildpunkter. Den här dimensionen motsvarar cirka 8-punktstext vid 150 punkter per tum.
  • Anpassad modellträning: Det maximala antalet sidor för träningsdata är 500 för den anpassade mallmodellen och 50 000 för den anpassade neurala modellen.
  • Anpassad extraheringsmodellträning: Den totala storleken på träningsdata är 50 MB för mallmodellen och 1 GB för den neurala modellen.
  • Anpassad klassificeringsmodellträning: Den totala storleken på träningsdata är 1 GB med högst 10 000 sidor. För 2024-11-30 (GA) är den totala storleken på träningsdata 2 GB med högst 10 000 sidor.
  • Office-filtyper (DOCX, XLSX, PPTX): Den maximala stränglängdsgränsen är 8 miljoner tecken.

Indataguide

  • Filformat som stöds: JPEG, PNG, PDF och TIFF.
  • Antal sidor som stöds: För PDF och TIFF bearbetas upp till 2 000 sidor. För prenumeranter på den kostnadsfria nivån bearbetas endast de två första sidorna.
  • Filstorlek som stöds: Filstorleken måste vara mindre än 50 MB och dimensionerna måste vara minst 50 x 50 bildpunkter och högst 10 000 x 10 000 bildpunkter.

Kom igång

Du kan använda Dokumentinformation för att extrahera data som text, tabeller, tabellrubriker, markeringsmarkeringar och strukturinformation från dokument. Du behöver följande resurser:

  • Ett Azure-abonnemang. Du kan skapa en kostnadsfritt.
  • En instans av Dokumentintelligens i Azure-portalen. Du kan använda den kostnadsfria prisnivån (F0) för att prova tjänsten. När resursen har distribuerats väljer du Gå till resurs för att hämta din nyckel och slutpunkt.

Skärmbild som visar nycklar och slutpunktsplats i Azure-portalen.

När du har hämtat din nyckel och slutpunkt kan du använda följande utvecklingsalternativ för att skapa och distribuera dina dokumentinformationsprogram.

Anmärkning

Document Intelligence Studio är tillgängligt med v3.0 API:er och senare versioner.

REST-API

Exempeletikettverktyg för dokumentinformation

  1. Gå till exempeletikettverktyget för dokumentinformation.

  2. På exempelverktygets startsida väljer du Använd layout för att hämta text, tabeller och markeringsmarkeringar.

    Skärmbild som visar anslutningsinställningar för layoutprocessen för dokumentinformation.

  3. I fältet För dokumentinformationstjänstens slutpunkt klistrar du in slutpunkten som du fick med din Document Intelligence-prenumeration.

  4. I nyckelfältet klistrar du in nyckeln som du hämtade från dokumentinformationsresursen.

  5. I fältet Källa väljer du URL på den nedrullningsbara menyn. Du kan använda exempeldokumentet:

  6. Välj Kör layout. Verktyget Exempeletiketter för dokumentinformation anropar API:et Analysera layout för att analysera dokumentet.

    Skärmbild som visar listrutan Layout.

  7. Visa resultatet. Se den markerade extraherade texten, identifierade markeringsmarkeringar och identifierade tabeller.

    Skärmbild som visar anslutningsinställningar för exempeletiketteringsverktyget för dokumentinformation.

Document Intelligence v2.1 stöder följande verktyg, program och bibliotek.

Egenskap Resurser
Layout-API Etikettverktyg
för dokumentinformation• REST API
Klientbiblioteks-SDK
Docker-container för dokumentinformation

Extrahera data

Layoutmodellen extraherar strukturella element från dina dokument. De strukturella elementen beskrivs här, och följande vägledning visar hur du extraherar dem från dina dokumentindata.

Extrahera data

Layoutmodellen extraherar strukturella element från dina dokument. De strukturella elementen beskrivs här, och följande vägledning visar hur du extraherar dem från dina dokumentindata.

Sida

Samlingen pages är en lista över sidor i dokumentet. Varje sida representeras sekventiellt i dokumentet och innehåller orienteringsvinkeln som anger om sidan roteras och bredden och höjden (dimensioner i bildpunkter). Sidenheterna i modellutdata beräknas enligt följande tabell.

Filformat Beräknad sidenhet Totalt antal sidor
Bilder (JPEG/JPG, PNG, BMP, HEIF) Varje bild = 1 sidenhet. Totalt antal bilder
PDF Varje sida i PDF = 1 sidenhet. Totalt antal sidor i PDF-filen
TIFF Varje bild i TIFF = 1 sidenhet. Totalt antal bilder i TIFF
Word (DOCX) Upp till 3 000 tecken = en sidenhet. Inbäddade eller länkade bilder stöds inte. Totalt antal sidor på upp till 3 000 tecken vardera
Excel (XLSX) Varje kalkylblad = 1 sidenhet. Inbäddade eller länkade bilder stöds inte. Totalt antal kalkylblad
PowerPoint (PPTX) Varje bild = 1 sidenhet. Inbäddade eller länkade bilder stöds inte. Totalt antal bilder
HTML Upp till 3 000 tecken = en sidenhet. Inbäddade eller länkade bilder stöds inte. Totalt antal sidor på upp till 3 000 tecken vardera
"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}"
    )

Extrahera markerade sidor från dokument

För stora dokument med flera sidor använder du pages frågeparametern för att ange specifika sidnummer eller sidintervall för textextrahering.

Paragraf

Layoutmodellen extraherar alla identifierade textblock i paragraphs samlingen som ett objekt på den översta nivån under analyzeResults. Varje post i den här samlingen representerar ett textblock och innehåller den extraherade texten som contentoch avgränsningskoordinaterna polygon . Informationen span pekar på textfragmentet i den översta egenskapen content som innehåller den fullständiga texten från dokumentet.


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

Paragraffunktion

Den nya identifieringen av sidobjekt baserat på maskininlärning extraherar logiska roller som rubriker, avsnittsrubriker, sidhuvuden, sidfötter med mera. Layoutmodellen dokumentinformation tilldelar vissa textblock i paragraphs samlingen med sin särskilda roll eller typ som förutsägs av modellen. Det är bäst att använda styckeroller med ostrukturerade dokument för att förstå layouten för det extraherade innehållet för en mer omfattande semantisk analys. Följande styckeroller stöds.

Förutsagd roll Description Filtyper som stöds
title Huvudrubrikerna på sidan PDF, Image, DOCX, PPTX, XLSX, HTML
sectionHeading Ett eller flera underrubriker på sidan PDF, Image, DOCX, XLSX, HTML
footnote Text längst ned på sidan PDF, Bild
pageHeader Text nära sidans övre kant PDF, Bild, DOCX
pageFooter Text nära sidans nederkant PDF, Image, DOCX, PPTX, HTML
pageNumber Sidans nummer PDF, Bild
{
    "paragraphs": [
                {
                    "spans": [],
                    "boundingRegions": [],
                    "role": "title",
                    "content": "NEWS TODAY"
                },
                {
                    "spans": [],
                    "boundingRegions": [],
                    "role": "sectionHeading",
                    "content": "Mirjam Nilsson"
                }
    ]
}

Text, rad och ord

Dokumentlayoutmodellen i Dokumentinformation extraherar text i utskrifts- och handskriven stil som rader och ord. Samlingen styles innehåller alla handskrivna formatmallar för rader om de identifieras tillsammans med de intervall som pekar på den associerade texten. Den här funktionen gäller för handskrivna språk som stöds.

För Word,Excel, PowerPoint och HTML extraherar layoutmodellen Document Intelligence v4.0 2024-11-30 (GA) all inbäddad text som den är. Texter extraheras som ord och stycken. Inbäddade bilder stöds inte.

"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}"
        )

Handskriven stil

Svaret innehåller klassificering av om varje textrad har handskriftsstil eller inte, tillsammans med en konfidenspoäng. Mer information finns i Stöd för handskrivna språk. I följande exempel visas ett exempel på JSON-kodfragment.

"styles": [
{
    "confidence": 0.95,
    "spans": [
    {
        "offset": 509,
        "length": 24
    }
    "isHandwritten": true
    ]
}

Om du aktiverar funktionen för teckensnitt/formattillägg får du även teckensnitts-/formatmallsresultatet styles som en del av objektet.

Markeringsmarkering

Layoutmodellen extraherar också urvalsmarkeringar från dokument. Extraherade markeringsmarkeringar visas i pages samlingen för varje sida. De inkluderar avgränsningen polygon, confidenceoch markeringen state (selected/unselected). Textrepresentationen (dvs :selected: . och :unselected) ingår också som startindex (offset) och length som refererar till den översta egenskapen content som innehåller den fullständiga texten från dokumentet.

{
    "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}"
    )

Tabell

Att extrahera tabeller är ett viktigt krav för att bearbeta dokument som innehåller stora mängder data som vanligtvis formateras som tabeller. Layoutmodellen extraherar tabeller i pageResults avsnittet i JSON-utdata. Extraherad tabellinformation innehåller antalet kolumner och rader, radintervall och kolumnintervall. Varje cell med sin avgränsningspolygon matas ut tillsammans med information om området identifieras som columnHeader eller inte.

Modellen stöder extrahering av tabeller som roteras. Varje tabellcell innehåller rad- och kolumnindex och avgränsningspolygonkoordinater. För celltexten matar modellen ut den span information som innehåller startindexet (offset). Modellen ger också ut length på den högsta nivån av innehållet som innehåller den fullständiga texten från dokumentet.

Här följer några faktorer att tänka på när du använder funktionen för extrahering av dokumentinformationsbalar:

  • Är de data som du vill extrahera presenterade som en tabell och är tabellstrukturen meningsfull?
  • Kan data få plats i ett tvådimensionellt rutnät om data inte är i tabellformat?
  • Sträcker sig tabellerna över flera sidor? Om så är fallet, för att undvika att behöva märka alla sidor, delar du upp PDF-filen i sidor innan du skickar den till Dokumentinformation. Efter analysen bearbetar du sidorna till en enda tabell.
  • Se Tabellfält om du skapar anpassade modeller. Dynamiska tabeller har ett variabelt antal rader för varje kolumn. Fasta tabeller har ett konstant antal rader för varje kolumn.

Anmärkning

Tabellanalys stöds inte om indatafilen är XLSX. Document Intelligence v4.0 2024-11-30 (GA) stöder avgränsningsregioner för siffror och tabeller som endast täcker kärninnehållet och exkluderar tillhörande bildtexter och fotnoter.

{
    "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)}'"
            )

Anteckningar

Layoutmodellen extraherar anteckningar i dokument, till exempel kontroller och korsningar. Svaret innehåller den typ av anteckning, tillsammans med en konfidenspoäng och avgränsningspolygon.

    {
    "pages": [
    {
        "annotations": [
        {
            "kind": "cross",
            "polygon": [...],
            "confidence": 1
        }
        ]
    }
    ]
}

Naturliga avläsningsordningsutdata (endast latinsk)

Du kan ange i vilken ordning textraderna ska matas ut med frågeparametern readingOrder . Använd natural för ett mer människovänligt läsordningsutdata, som du ser i följande exempel. Den här funktionen stöds endast för latinska språk.

Skärmbild av layoutmodellen som läser orderbearbetning.

Välj sidnummer eller intervall för textextrahering

För stora dokument med flera sidor använder du pages frågeparametern för att ange specifika sidnummer eller sidintervall för textextrahering. I följande exempel visas ett dokument med 10 sidor, med text extraherad för båda fallen, alla sidor (1–10) och valda sidor (3–6).

Skärmbild som visar utdata för layoutmodellen valda sidor.

Åtgärden för att hämta analyslayoutens resultat

Det andra steget är att anropa operationen Hämta resultat från layoutanalysen. Den här åtgärden tar som indata det resultat-ID som åtgärden Analyze Layout skapade. Det returnerar ett JSON-svar som innehåller ett statusfält med följande möjliga värden.

Fält Typ Möjliga värden
status snöre notStarted: Analysåtgärden har inte startats.

running: Analysåtgärden pågår.

failed: Analysåtgärden misslyckades.

succeeded: Analysåtgärden lyckades.

Anropa den här åtgärden iterativt tills den succeeded returnerar värdet. Om du vill undvika att överskrida frekvensen begäranden per sekund använder du ett intervall på tre till fem sekunder.

När statusfältet har succeeded värdet innehåller JSON-svaret den extraherade layouten, texten, tabellerna och markeringsmarkeringarna. Extraherade data innehåller extraherade textrader och ord, avgränsningsrutor, textutseende med handskriven indikation, tabeller och markeringsmarkeringar med markerade/omarkerade angivna.

Handskriven klassificering för textrader (endast latinsk)

Svaret innehåller klassificering av om varje textrad har ett handskrivet format eller inte, tillsammans med en konfidenspoäng. Den här funktionen stöds endast för latinska språk. I följande exempel visas den handskrivna klassificeringen för texten i bilden.

Skärmbild som visar klassificeringsprocessen för handskrift av layoutmodellen.

Exempel på JSON-utdata

Svaret på åtgärden Get Analyze Layout Result är en strukturerad representation av dokumentet med all information som extraheras. Se en exempeldokumentfil och dess strukturerade utdataexempellayoututdata.

JSON-utdata har två delar:

  • Noden readResults innehåller all igenkänd text och markeringsmarkering. Textpresentationshierarkin är sida, rad och sedan enskilda ord.
  • Noden pageResults innehåller de tabeller och celler som extraheras med sina avgränsningsrutor, konfidens och en referens till raderna och orden i readResults fältet.

Exempel på utdata

Text

Layout-API:et extraherar text från dokument och bilder med flera textvinklar och färger. Den accepterar foton av dokument, fax, tryckt och/eller handskriven text (endast på engelska) och blandade lägen. Text extraheras med information om rader, ord, avgränsningsrutor, konfidenspoäng och format (handskriven eller annan). All textinformation ingår i readResults avsnittet i JSON-utdata.

Tabeller med rubriker

Layout-API:et pageResults extraherar tabeller i avsnittet i JSON-utdata. Du kan skanna, fotografera eller digitalisera dokument. Tabeller kan vara komplexa med sammanfogade celler eller kolumner, med eller utan kantlinjer och med udda vinklar.

Extraherad tabellinformation innehåller antalet kolumner och rader, radintervall och kolumnintervall. Varje cell med sin avgränsningsruta matas ut tillsammans med om fältet identifieras som en del av en rubrik eller inte. De modellförutsägda rubrikcellerna kan sträcka sig över flera rader och är inte nödvändigtvis de första raderna i en tabell. De fungerar också med roterade tabeller. Varje tabellcell innehåller också den fullständiga texten med referenser till de enskilda orden i readResults avsnittet.

Bild som visar ett exempel på tabeller.

Urvalsmarkeringar (dokument)

Layout-API:et extraherar också urvalsmarkeringar från dokument. Extraherade markeringssymboler inkluderar rutsystemet, säkerheten och status (vald/ej vald). Urvalsmarkeringsinformation extraheras i readResults-avsnittet av JSON-utdata.

Migreringsguide