Layoutmodell för dokumentinformation
Viktigt!
- Versioner av den offentliga förhandsversionen av Document Intelligence ger tidig åtkomst till funktioner som är i aktiv utveckling. Funktioner, metoder och processer kan ändras, före allmän tillgänglighet (GA), baserat på användarfeedback.
- Den offentliga förhandsversionen av Dokumentinformationsklientbiblioteken är som standard REST API version 2024-07-31-preview.
- Den offentliga förhandsversionen 2024-07-31-preview är för närvarande endast tillgänglig i följande Azure-regioner. Observera att modellen för anpassad generativ (extrahering av dokumentfält) i AI Studio endast är tillgänglig i regionen USA, norra centrala:
- USA, östra
- USA, västra 2
- Europa, västra
- USA, norra centrala
Det här innehållet gäller för: v4.0 (förhandsversion) | Tidigare versioner: v3.1 (GA) v3.0 (GA) v2.1 (GA)
Layoutmodellen för dokumentinformation är ett avancerat maskininlärningsbaserat dokumentanalys-API som är tillgängligt i document intelligence-molnet. Det gör att du kan ta dokument i olika format och returnera strukturerade datarepresentationer av dokumenten. Den kombinerar en förbättrad version av våra kraftfulla OCR-funktioner (Optisk teckenigenkänning) med djupinlärningsmodeller för att extrahera text, tabeller, urvalsmarkeringar och dokumentstruktur.
Analys av dokumentlayout (v4)
Layoutanalys av dokumentstruktur är en process för att analysera ett dokument för att extrahera intressanta regioner och deras relationer. 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: Rubriker, rubriker och sidfötter är exempel på logiska roller i texter.
Följande bild visar de typiska komponenterna i en bild av en exempelsida.
Utvecklingsalternativ (v4)
Document Intelligence v4.0 (2024-07-31-preview) stöder följande verktyg, program och bibliotek:
Funktion | Resurser | Model ID |
---|---|---|
Layoutmodell | • Document Intelligence Studio • REST API • C# SDK • Python SDK • Java SDK • JavaScript SDK |
fördefinierad layout |
Indatakrav (v4)
Filformat som stöds:
Modell PDF Bild: JPEG/JPG
,PNG
,BMP
, ,TIFF
HEIF
Microsoft Office:
Word (DOCX
), Excel (XLSX
), PowerPoint (PPTX
), HTMLLästa ✔ ✔ ✔ Layout ✔ ✔ ✔ (2024-07-31-preview, 2024-02-29-preview, 2023-10-31-preview) Allmänt dokument ✔ ✔ Inbyggda ✔ ✔ Anpassad extrahering ✔ ✔ Anpassad klassificering ✔ ✔ ✔ (2024-07-31-preview, 2024-02-29-preview) För bästa resultat anger du ett tydligt foto eller en genomsökning av hög kvalitet per dokument.
För PDF och TIFF kan upp till 2 000 sidor bearbetas (med en prenumeration på den kostnadsfria nivån bearbetas endast de två första sidorna).
Filstorleken för att analysera dokument är 500 MB för betald (S0) nivå och
4
MB för den kostnadsfria nivån (F0).Bilddimensioner måste vara mellan 50 bildpunkter x 50 bildpunkter och 10 000 bildpunkter x 10 000 bildpunkter.
Om dina PDF-filer är låsta med lösenord måste du ta bort låset innan du skickar filerna.
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 om
8
punkttext vid 150 punkter per tum (DPI).För anpassad modellträning är det maximala antalet sidor för träningsdata 500 för den anpassade mallmodellen och 50 000 för den anpassade neurala modellen.
För anpassad extraheringsmodellträning är den totala storleken på träningsdata 50 MB för mallmodellen och
1
GB för den neurala modellen.För anpassad klassificeringsmodellträning är
1
den totala storleken på träningsdata GB med högst 10 000 sidor. För förhandsversionen 2024-07-31 och senare är2
den totala storleken på träningsdata GB med högst 10 000 sidor.
Kom igång med layoutmodell
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:
En Azure-prenumeration – du kan skapa en kostnadsfritt.
En instans av dokumentinformation i Azure Portal. 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.
Kommentar
Document Intelligence Studio är tillgängligt med v3.0 API:er och senare versioner.
Exempeldokument som bearbetas med Document Intelligence Studio
På startsidan för Document Intelligence Studio väljer du Layout.
Du kan analysera exempeldokumentet eller ladda upp dina egna filer.
Välj knappen Kör analys och konfigurera vid behov alternativen Analysera:
Språk och språk som stöds (ocr)
Se sidan Språkstöd – modeller för dokumentanalys för en fullständig lista över språk som stöds.
Extrahering av data (v4)
Layoutmodellen extraherar text, markeringsmarkeringar, tabeller, stycken och stycketyper (roles
) från dina dokument.
Kommentar
Versioner 2024-02-29-preview
, 2023-10-31-preview
och senare stöder Microsoft Office (DOCX-, XLSX-, PPTX- och HTML-filer). Följande funktioner stöds inte:
- Det finns ingen vinkel, bredd/höjd och enhet för varje sidobjekt.
- För varje objekt som identifieras finns det ingen avgränsande polygon eller avgränsningsregion.
- Sidintervall (
pages
) stöds inte som en parameter. - Inget
lines
objekt.
Sidor
Sidsamlingen ä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:
Filformat | Beräknad sidenhet | Totalt antal sidor |
---|---|---|
Bilder (JPEG/JPG, PNG, BMP, HEIF) | Varje bild = 1 sidenhet | Totalt antal bilder |
Varje sida i PDF = 1 sidenhet | Totalt antal sidor i PDF-filen | |
TIFF | Varje bild i enheten TIFF = 1 sida | 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 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.
Punkterna
Layoutmodellen extraherar alla identifierade textblock i paragraphs
samlingen som ett objekt på översta nivån under analyzeResults
. Varje post i den här samlingen representerar ett textblock och .. /innehåller den extraherade texten somcontent
och 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"
}
]
Styckeroller
Den nya maskininlärningsbaserade identifieringen av sidobjekt extraherar logiska roller som rubriker, avsnittsrubriker, sidhuvuden, sidfötter med mera. Layoutmodellen för 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 | Beskrivning | 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, image, docx |
pageFooter |
Text nära sidans nederkant | pdf, image, docx, pptx, html |
pageNumber |
Sidnummer | 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 utskrifts- och handskriven formatmallstext som lines
och words
. Samlingen styles
.. /innehåller alla handskrivna formatmallar för rader om de identifieras tillsammans med intervallen 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 dokumentinformationsversionerna 2024-02-29-preview och 2023-10-31-preview layoutmodellen 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 .. /inkluderar klassificering av om varje textrad har handskriftsstil eller inte, tillsammans med en konfidenspoäng. Mer information. Se 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.
Markeringsmarkeringar
Layoutmodellen extraherar också markeringsmarkeringar från dokument. Extraherade markeringsmarkeringar visas i pages
samlingen för varje sida. De inkluderar avgränsningen polygon
, confidence
och markeringen state
(selected/unselected
). Textrepresentationen (d.v.s :selected:
. och :unselected
) ingår också som startindex (offset
) och length
som refererar till egenskapen på den översta nivån 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 en 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 informationen span
som innehåller startindexet (offset
). Modellen matar också ut length
innehållet på den översta nivån 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.
Kommentar
- Tabellanalys stöds inte om indatafilen är XLSX.
- Från och med 2024-07-31-preview 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}'")
Utdata till 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 avsnittet content
.
Kommentar
Från och med 2024-07-31-preview ändras representationen av tabeller till HTML-tabeller för att möjliggöra återgivning av sammanfogade celler, rubriker med flera rader osv. En annan relaterad ändring är att använda unicode-kryssrutor ☒ och ☐ för markeringsmarkeringar i stället för :selected: och :unselected:. Observera att det innebär att innehållet i markeringsmarkeringsfälten innehåller :selected: även om deras intervall refererar till Unicode-tecken i det översta intervallet.
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, bilder) i dokument spelar en avgörande roll när det gäller att komplettera och förbättra textinnehållet, vilket ger visuella representationer som underlättar förståelsen av komplex information. Figurobjektet som identifieras av layoutmodellen har nyckelegenskaper som boundingRegions
(figurens rumsliga platser på dokumentsidorna, inklusive sidnumret och polygonkoordinaterna som beskriver figurens gräns), spans
(beskriver textintervallen som är relaterade till figuren och 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
(identifierarna för textelement eller stycken i dokumentet som är relaterade till eller beskriver figuren) och caption
om det finns några.
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}
.
FigureId
ingår i varje figurobjekt, enligt en odokumenterad konvention om {pageNumber}.{figureIndex}
var figureIndex
återställs till en per sida.
Kommentar
Från och med 2024-07-31-preview 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}'")
Avsnitt
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 RAG (Retrieval Augmented Generation) 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
varje avsnitt. Du kan använda utdata till 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: v3.1 (GA) | Senaste version: v4.0 (förhandsversion) | Tidigare versioner: v3.0 v2.1
Det här innehållet gäller för: v3.0 (GA) | Senaste versioner: v4.0 (förhandsversion) v3.1 | Tidigare version: v2.1
Det här innehållet gäller för: v2.1 | Senaste version: v4.0 (förhandsversion)
Layoutmodellen för dokumentinformation är ett avancerat maskininlärningsbaserat dokumentanalys-API som är tillgängligt i document intelligence-molnet. Det gör att du kan ta dokument i olika format och returnera strukturerade datarepresentationer av dokumenten. Den kombinerar en förbättrad version av våra kraftfulla OCR-funktioner (Optisk teckenigenkänning) med djupinlärningsmodeller för att extrahera text, tabeller, urvalsmarkeringar och dokumentstruktur.
Analys av dokumentlayout
Layoutanalys av dokumentstruktur är en process för att analysera ett dokument för att extrahera intressanta regioner och deras relationer. 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: Rubriker, rubriker och sidfötter är exempel på logiska roller i texter.
Följande bild visar de typiska komponenterna i en bild av en exempelsida.
Utvecklingsalternativ
Document Intelligence v3.1 stöder följande verktyg, program och bibliotek:
Funktion | Resurser | Model ID |
---|---|---|
Layoutmodell | • Document Intelligence Studio • REST API • C# SDK • Python SDK • Java SDK • JavaScript SDK |
fördefinierad layout |
Document Intelligence v3.0 stöder följande verktyg, program och bibliotek:
Funktion | Resurser | Model ID |
---|---|---|
Layoutmodell | • Document Intelligence Studio • REST API • C# SDK • Python SDK • Java SDK • JavaScript SDK |
fördefinierad layout |
Document Intelligence v2.1 stöder följande verktyg, program och bibliotek:
Funktion | Resurser |
---|---|
Layoutmodell | • Etikettverktyg för dokumentinformation• REST API • Klientbiblioteks-SDK • Docker-container för dokumentinformation |
Indatakrav
Filformat som stöds:
Modell PDF Bild: JPEG/JPG
,PNG
,BMP
, ,TIFF
HEIF
Microsoft Office:
Word (DOCX
), Excel (XLSX
), PowerPoint (PPTX
), HTMLLästa ✔ ✔ ✔ Layout ✔ ✔ ✔ (2024-07-31-preview, 2024-02-29-preview, 2023-10-31-preview) Allmänt dokument ✔ ✔ Inbyggda ✔ ✔ Anpassad extrahering ✔ ✔ Anpassad klassificering ✔ ✔ ✔ (2024-07-31-preview, 2024-02-29-preview) För bästa resultat anger du ett tydligt foto eller en genomsökning av hög kvalitet per dokument.
För PDF och TIFF kan upp till 2 000 sidor bearbetas (med en prenumeration på den kostnadsfria nivån bearbetas endast de två första sidorna).
Filstorleken för att analysera dokument är 500 MB för betald (S0) nivå och
4
MB för den kostnadsfria nivån (F0).Bilddimensioner måste vara mellan 50 bildpunkter x 50 bildpunkter och 10 000 bildpunkter x 10 000 bildpunkter.
Om dina PDF-filer är låsta med lösenord måste du ta bort låset innan du skickar filerna.
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 om
8
punkttext vid 150 punkter per tum (DPI).För anpassad modellträning är det maximala antalet sidor för träningsdata 500 för den anpassade mallmodellen och 50 000 för den anpassade neurala modellen.
För anpassad extraheringsmodellträning är den totala storleken på träningsdata 50 MB för mallmodellen och
1
GB för den neurala modellen.För anpassad klassificeringsmodellträning är
1
den totala storleken på träningsdata GB med högst 10 000 sidor. För förhandsversionen 2024-07-31 och senare är2
den totala storleken på träningsdata GB med högst 10 000 sidor.
- 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 minst 50 x 50 bildpunkter och högst 10 000 x 10 000 bildpunkter.
Kom igång med layoutmodell
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:
En Azure-prenumeration – du kan skapa en kostnadsfritt.
En instans av dokumentinformation i Azure Portal. 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.
Kommentar
Document Intelligence Studio är tillgängligt med v3.0 API:er och senare versioner.
Exempeldokument som bearbetas med Document Intelligence Studio
På startsidan för Document Intelligence Studio väljer du Layout.
Du kan analysera exempeldokumentet eller ladda upp dina egna filer.
Välj knappen Kör analys och konfigurera vid behov alternativen Analysera:
Exempeletikettverktyg för dokumentinformation
Gå till exempelverktyget för dokumentinformation.
På exempelverktygets startsida väljer du Använd layout för att hämta text, tabeller och markeringsmarkeringar.
I fältet För dokumentinformationstjänstens slutpunkt klistrar du in slutpunkten som du fick med din Document Intelligence-prenumeration.
I nyckelfältet klistrar du in den nyckel som du fick från dokumentinformationsresursen.
I fältet Källa väljer du URL på den nedrullningsbara menyn Du kan använda vårt exempeldokument:
Välj knappen Hämta.
Välj Kör layout. Verktyget Exempeletiketter för dokumentinformation anropar API:et
Analyze Layout
för att analysera dokumentet.Visa resultatet – se den markerade extraherade texten, identifierade markeringsmarkeringar och identifierade tabeller.
Språk och nationella inställningar som stöds
Se sidan Språkstöd – modeller för dokumentanalys för en fullständig lista över språk som stöds.
Document Intelligence v2.1 stöder följande verktyg, program och bibliotek:
Funktion | Resurser |
---|---|
Layout-API | • Etikettverktyg för dokumentinformation• REST API • Klientbiblioteks-SDK • Docker-container för dokumentinformation |
Extrahering av data
Layoutmodellen extraherar text, markeringsmarkeringar, tabeller, stycken och stycketyper (roles
) från dina dokument.
Kommentar
Versioner 2024-02-29-preview
, 2023-10-31-preview
och senare stöder Microsoft Office (DOCX-, XLSX-, PPTX- och HTML-filer). Följande funktioner stöds inte:
- Det finns ingen vinkel, bredd/höjd och enhet för varje sidobjekt.
- För varje objekt som identifieras finns det ingen avgränsande polygon eller avgränsningsregion.
- Sidintervall (
pages
) stöds inte som en parameter. - Inget
lines
objekt.
Sidor
Sidsamlingen ä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:
Filformat | Beräknad sidenhet | Totalt antal sidor |
---|---|---|
Bilder (JPEG/JPG, PNG, BMP, HEIF) | Varje bild = 1 sidenhet | Totalt antal bilder |
Varje sida i PDF = 1 sidenhet | Totalt antal sidor i PDF-filen | |
TIFF | Varje bild i enheten TIFF = 1 sida | 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.
Punkterna
Layoutmodellen extraherar alla identifierade textblock i paragraphs
samlingen som ett objekt på översta nivån under analyzeResults
. Varje post i den här samlingen representerar ett textblock och .. /innehåller den extraherade texten somcontent
och 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"
}
]
Styckeroller
Den nya maskininlärningsbaserade identifieringen av sidobjekt extraherar logiska roller som rubriker, avsnittsrubriker, sidhuvuden, sidfötter med mera. Layoutmodellen för 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 | Beskrivning | 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, image, docx |
pageFooter |
Text nära sidans nederkant | pdf, image, docx, pptx, html |
pageNumber |
Sidnummer | 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 utskrifts- och handskriven formatmallstext som lines
och words
. Samlingen styles
.. /innehåller alla handskrivna formatmallar för rader om de identifieras tillsammans med intervallen 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 dokumentinformationsversionerna 2024-02-29-preview och 2023-10-31-preview layoutmodellen 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 för textrader
Svaret .. /inkluderar klassificering av om varje textrad har handskriftsstil eller inte, tillsammans med en konfidenspoäng. Mer information. Se 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.
Markeringsmarkeringar
Layoutmodellen extraherar också markeringsmarkeringar från dokument. Extraherade markeringsmarkeringar visas i pages
samlingen för varje sida. De inkluderar avgränsningen polygon
, confidence
och markeringen state
(selected/unselected
). Textrepresentationen (d.v.s :selected:
. och :unselected
) ingår också som startindex (offset
) och length
som refererar till egenskapen på den översta nivån 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}"
)
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 en 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 informationen span
som innehåller startindexet (offset
). Modellen matar också ut length
innehållet på den översta nivån 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.
Kommentar
- Tabellanalys stöds inte om indatafilen är XLSX.
- Från och med 2024-07-31-preview täcker avgränsningsregionerna för siffror och tabeller endast 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 (endast tillgängliga i 2023-02-28-preview
API.)
Layoutmodellen extraherar anteckningar i dokument, till exempel kontroller och korsningar. Svaret .. /inkluderar 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 visas i följande exempel. Den här funktionen stöds endast för latinska språk.
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).
Åtgärden Hämta analyslayoutresultat
Det andra steget är att anropa åtgärden Hämta analysera layoutresultat . Den här åtgärden tar som indata det resultat-ID som Analyze Layout
åtgärden 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 | sträng | 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 antalet förfrågningar per sekund (RPS) använder du ett intervall på 3 till 5 sekunder.
När statusfältet har succeeded
värdet, JSON-svaret .. /innehåller den extraherade layouten, texten, tabellerna och markeringsmarkeringarna. Extraherade data .. /includes extracted text lines and words, bounding boxes, text appearance with handwritten indication, tables, and selection marks with selected/unselected indicated.
Handskriven klassificering för textrader (endast latinsk)
Svaret .. /inkluderar klassificering av om varje textrad har handskriftsstil 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.
Exempel på JSON-utdata
Svaret på åtgärden Hämta analysera layoutresultat är en strukturerad representation av dokumentet med all information som extraheras. Här finns en exempeldokumentfil och dess strukturerade utdataexempellayoututdata.
JSON-utdata har två delar:
readResults
noden innehåller all igenkänd text och markeringsmarkering. Textpresentationshierarkin är sida, rad och sedan enskilda ord.pageResults
noden innehåller tabeller och celler som extraherats med sina avgränsningsrutor, konfidens och en referens till raderna och orden i fältet "readResults".
Exempel på utdata
Text
Layout-API 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 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 extraherar tabeller i pageResults
avsnittet i JSON-utdata. Dokument kan skannas, fotograferas eller digitaliseras. 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 området känns igen som en del av en rubrik eller inte. Modellen förutsagda rubrikceller 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 också .. /innehåller den fullständiga texten med referenser till de enskilda orden i readResults
avsnittet.
Markeringsmarkeringar
Layout-API extraherar också urvalsmarkeringar från dokument. Extraherade markeringsmarkeringar inkluderar avgränsningsrutan, konfidens och tillstånd (markerad/avmarkerad). Markeringsmarkeringsinformation extraheras i readResults
avsnittet i JSON-utdata.
Migreringsguide
Nästa steg
Lär dig hur du bearbetar dina egna formulär och dokument med Document Intelligence Studio.
Slutför en snabbstart för dokumentinformation och kom igång med att skapa en app för dokumentbearbetning på valfritt utvecklingsspråk.
Lär dig hur du bearbetar dina egna formulär och dokument med verktyget Exempeletiketter för dokumentinformation.
Slutför en snabbstart för dokumentinformation och kom igång med att skapa en app för dokumentbearbetning på valfritt utvecklingsspråk.