此內容適用於:
v4.0 (GA) | 舊版:
v3.1 (GA)
v3.0 (GA)
v2.1 (GA)
Azure 文件智慧在 Foundry 工具中的佈局模型是一個基於機器學習的進階文件分析 API。 此模型可在文件智慧服務雲端中使用。 您可以使用它來取得各種格式的文件,並傳回文件的結構化資料表示法。 該模型將強大的 光學字符識別(OCR) 功能的增強版與深度學習模型相結合,以提取文本、表格、選擇標記和文檔結構。
文件結構版面配置分析
文件結構佈局分析是分析文件以提取感興趣區域及其相互關係的過程。 目標是從頁面擷取文字和結構化元素,以建立更好的語意理解模型。 文件版面配置中有兩種類型的角色:
- 幾何角色:文字、資料表、圖文框和選取記號是幾何角色的範例。
- 邏輯角色:標題、區段標題和頁尾是文字邏輯角色的範例。
以下圖例顯示頁面範例影像中的一般元件。
開發選項
文件智慧服務 v4.0:2024-11-30 (GA) 支援下列工具、應用程式和程式庫。
| 功能 | 資源 | 型號識別碼 |
|---|---|---|
| 版面配置模型 | • 文件智慧工作室 • REST API • C# SDK • Python SDK • Java SDK • JavaScript SDK |
prebuilt-layout |
支援的語言
如需支援語言的完整清單,請參閱 語言支援:文件分析模型。
支援的檔案類型
文件智慧服務 v4.0:2024-11-30 (GA) 版面配置模型支援下列檔案格式:
| 模型 | 圖片: JPEG/JPG、PNG、BMP、TIFF、HEIF |
辦公室: Word (DOCX)、Excel (XLS)、PowerPoint (PPTX)、HTML |
|
|---|---|---|---|
| 版面配置 | ✔ | ✔ | ✔ |
輸入需求
- 照片和掃描件:為了獲得最佳效果,請為每個文件提供一張清晰的照片或高品質掃描件。
- PDF 和 TIFF:對於 PDF 和 TIFF,最多可以處理 2,000 頁。 (使用免費方案訂閱時,只會處理前兩頁。
- 密碼鎖定:如果您的 PDF 已鎖定密碼,您必須在提交前解除鎖定。
- 檔案大小:用於分析文件的檔案大小為付費 (S0) 層的 500 MB,免費 (F0) 層的檔案大小為 4 MB。
- 影像尺寸:影像尺寸必須介於 50 像素 x 50 像素和 10,000 像素 x 10,000 像素之間。
- 文字高度:對於 1024 x 768 像素的影像,要擷取的文字的最小高度為 12 像素。 此維度對應至大約 8 點文字 (150 個 DPI)。
- 自訂模型訓練:自訂範本模型的訓練資料頁數上限為 500 頁,自訂神經模型的頁數上限為 50,000 頁。
- 自訂擷取模型訓練:範本模型的訓練資料總大小為 50 MB,神經模型為 1 GB。
- 自訂分類模型訓練:訓練資料的總大小為 1 GB,最多 10,000 頁。 對於 2024-11-30 (GA),訓練資料的總大小為 2 GB,最多 10,000 頁。
- Office 檔案類型 (DOCX、XLSX、PPTX):字串長度上限為 8,000,000,000 個字元。
如需模型使用量、配額和服務限制的詳細資訊,請參閱 服務限制。
開始使用佈局模型
瞭解如何使用文件智慧服務從文件擷取資料,包括文字、表格、表格標頭、選取標記和結構資訊。 您需要下列資源:
Azure 訂用帳戶。 您可以免費建立一個訂用帳戶。
Azure 入口網站中的文件智慧服務執行個體。 您可以使用免費定價層 (F0) 來試用服務。 部署資源後,選取 [前往資源] 以取得金鑰和端點。
擷取金鑰和端點之後,請使用下列開發選項來建置和部署文件智慧服務應用程式。
資料擷取
版面配置模型會從您的文件擷取結構化元素。 本文的其餘部分將說明下列結構元素,以及如何從文件輸入中擷取這些元素的指引:
在 Document Intelligence Studio 中運行範例佈局文件分析。 然後移至結果索引標籤並存取完整的 JSON 輸出。
頁面
pages 集合是一份文件中的頁面列表。 每個頁面在文件中按順序表示,並包括方向角度(指示頁面是否旋轉)以及寬度和高度(以像素為單位的尺寸)。 模型輸出中的頁面單位計算如下表所示。
| 檔案格式 | 計算式頁面單位 | 總頁數 |
|---|---|---|
| 影像 (JPEG/JPG、PNG、BMP、HEIF) | 每個圖像 = 1 頁單位。 | 影像總計 |
| PDF 中的每一頁 = 1 頁單位。 | PDF 總頁數 | |
| TIFF | TIFF 中的每個影像 = 1 頁單位。 | TIFF 中的影像總數 |
| Word (DOCX) | 最多 3,000 個字元 = 1 頁單位。 不支援內嵌或連結的影像。 | 總頁數 (每頁最多 3,000 個字元) |
| Excel (XLSX) | 每個工作表 = 1 頁單位。 不支援內嵌或連結的影像。 | 工作表總計 |
| PowerPoint (PPTX) | 每張投影片 = 1 個頁面單位。 不支援內嵌或連結的影像。 | 投影片總計 |
| HTML | 最多 3,000 個字元 = 1 頁單位。 不支援內嵌或連結的影像。 | 總頁數 (每頁最多 3,000 個字元) |
# 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}")
擷取選取的頁面
對於大型多頁文件,請使用 pages 查詢參數來指出文字擷取的特定頁碼或頁碼範圍。
段落
版面配置模型會擷取集合中 paragraphs 所有已識別的文字區塊,做為 底下的 analyzeResults頂層物件。 此集合中的每個項目都代表一個文字區塊,並包含作為 content 的擷取文字和週框 polygon 座標。
spans 資訊會指向包含文件全文檢索的最上層 content 屬性的文字片段。
"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"
}
]
段落角色
基於機器學習的新頁面對象檢測提取了邏輯角色,例如標題、章節標題、頁面頁眉、頁尾等。 文件智慧服務版面配置模型會指派 paragraphs 集合中的特定文字區塊搭配模型所預測的特殊角色或類型。
最適合使用具有非結構化文件的段落角色,以協助瞭解已擷取內容的版面配置來進行更豐富的語意分析。 以下段落角色已獲得支援。
| 預期的角色 | Description | 支援的檔案類型 |
|---|---|---|
title |
頁面上的主要標題 | PDF、圖像、DOCX、PPTX、XLSX、HTML |
sectionHeading |
頁面上的一或多個子標題 | PDF、圖像、DOCX、XLSX、HTML |
footnote |
接近頁面底部的文字 | PDF、影像 |
pageHeader |
接近頁面上緣的文字 | PDF、圖像、DOCX |
pageFooter |
接近頁面下緣的文字 | PDF、圖像、DOCX、PPTX、HTML |
pageNumber |
頁碼 | PDF、影像 |
{
"paragraphs": [
{
"spans": [],
"boundingRegions": [],
"role": "title",
"content": "NEWS TODAY"
},
{
"spans": [],
"boundingRegions": [],
"role": "sectionHeading",
"content": "Mirjam Nilsson"
}
]
}
文字、行和字組
文件智慧服務中的文件版面配置模型會擷取列印和手寫樣式文字,作為 lines 和 words。
styles 集合會包含任何手寫樣式的文字行 (若有偵測到),連同指向相關文字的範圍。 此功能適用於支援的手寫語言。
針對 Microsoft Word、Excel、PowerPoint 和 HTML,文件智慧服務 v4.0 2024-11-30 (GA) 版面配置模型會依原樣擷取所有內嵌文字。 文字會擷取為單字和段落。 不支援內嵌的影像。
# 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}")
手寫樣式的文字行
回應的內容包括每行文字是否為手寫樣式,以及信賴度分數。 如需詳細資訊,請參閱 手寫語言支援。 下列範例顯示 JSON 程式碼片段範例。
"styles": [
{
"confidence": 0.95,
"spans": [
{
"offset": 509,
"length": 24
}
"isHandwritten": true
]
}
如果您啟用 字型/樣式附加元件功能,您也會取得字型/樣式結果作為物件的一部分 styles 。
選取項目標記
版面配置模型也會從文件中擷取選取標記。 擷取的選取項目標記會出現在每個頁面的 pages 集合中。 這包含週框 polygon、confidence 和選取項目 state (selected/unselected)。 文字表示法 (亦即,:selected: 和 :unselected) 也包含在起始索引 (offset)和參考包含文件全文最上層的 length 屬性的 content。
# 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}"
)
資料表
擷取表格是處理包含大量資料(通常格式化為表格)的文件的關鍵需求。 版面配置模型會擷取 JSON 輸出區段中的 pageResults 資料表。 擷取的資料表資訊包括直欄數和列數、列跨度和直欄跨度。
每個儲存格及其週框多邊形會連同此區域是否辨識為 columnHeader 的資訊一起輸出。 模型支援擷取旋轉的資料表。 每個資料表儲存格都包含資料列和資料行索引,以及週框多邊形座標。 針對儲存格文字,模型會輸出包含起始索引 (span) 的 offset 資訊。 模型也會輸出包含文件全文的最上層內容 length。
以下是要在使用 Document Intelligence bale 擷取功能時考慮的幾個因素:
- 您要擷取以資料表形式呈現的資料嗎?資料表結構是否有意義?
- 如果資料不是資料表格式,則資料是否可以放入二維方格中?
- 您的資料表是否跨越多個頁面? 如果是,若要避免必須標記所有頁面,請先將 PDF 分割成頁面,再將其傳送至文件智慧服務。 分析之後,再將頁面處理成單一資料表。
- 如果您建立自訂模型,請參閱 表格式欄位 。 動態資料表中每個資料行的資料列數目可變動。 固定資料表中每個資料行的資料列數目不可變動。
附註
如果輸入檔是 XLSX,則不支持資料表分析。 對於 2024-11-30 (GA),圖和表格的邊界區域僅涵蓋核心內容,不包括相關的標題和註腳。
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}'")
輸出回應至 Markdown 格式
佈局 API 可以以 Markdown 格式輸出提取的文字。 使用 outputContentFormat=markdown 來指定 Markdown 的輸出格式。 Markdown 內容會輸出為 content 區段的一部分。
附註
針對 v4.0 2024-11-30 (GA),表格的表示法已變更為 HTML 表格,以啟用合併儲存格和多列標頭等項目的轉譯。 另一個相關的變更是使用 Unicode 核取方塊字元 ☒ 和 ☐ 作為選擇標記,而不是 :selected: 和 :unselected:。 此更新表示選取項目標記欄位的內容包含 :selected:,即使範圍參考的是最上層範圍的 Unicode 字元。 如需 Markdown 元素的完整定義,請參閱 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,
)
圖文框
文件中的圖形(圖表和圖像)在補充和增強文字內容方面發揮著至關重要的作用。 它們提供有助於理解複雜資訊的視覺表示。 版面配置模型偵測到的 figures 物件具有關鍵屬性,例如:
-
boundingRegions:圖形在文件頁面上的空間位置,包括頁碼和勾勒圖形邊界的多邊形座標。 -
spans:與圖文框相關的文字跨度,可指定文件文字內的位移和長度。 這種聯繫有助於將圖形與其相關的文本上下文聯繫起來。 -
elements:文件中與圖相關或描述圖的文字元素或段落的識別碼。 -
caption:說明(如果有的話)。
在初始分析作業期間指定output=figures時,服務會針對所有偵測到的圖形產生裁切影像,這些圖形可透過/analyeResults/{resultId}/figures/{figureId}存取。
FigureId 值是包含在每個圖表物件中的 ID,並遵循未記載的慣例 {pageNumber}.{figureIndex},其中 figureIndex 會重設為每頁一個。
對於 v4.0 2024-11-30 (GA),圖和表格的邊界區域僅涵蓋核心內容,並排除相關聯的標題和註腳。
# 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}'")
章節
階層式文件結構分析對於組織、理解及處理大量的文件十分重要。 這種方法對於對長文件進行語意分段以增強理解、輔助瀏覽和改進資訊檢索非常重要。 文件生成人工智慧中 檢索增強生成(RAG) 的出現凸顯了分層文件結構分析的重要性。
版面配置模型支援輸出中的區段和子區段,以識別每個區段內區段和物件的關係。 階層式結構會在每個區段的 elements 中維護。 您可以使用 Markdown 格式的輸出回應 來輕鬆取得 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,
)
此內容適用於:
v2.1 | 最新版本:
v4.0 (GA)
文件智慧服務版面配置模型是進階文件分析 API。 此模型以機器學習為基礎,可在文件智慧服務雲端中使用。 您可以使用它來取得各種格式的文件,並傳回文件的結構化資料表示法。 它結合了強大的 OCR 功能的增強版本和深度學習模型。 您可以使用它來提取文字、表格、選擇標記和文件結構。
文件版面配置分析
文件結構佈局分析是分析文件以提取感興趣區域及其相互關係的過程。 目標是從頁面擷取文字和結構化元素,以建立更好的語意理解模型。 文件版面配置中有兩種類型的角色:
- 幾何角色:文字、資料表、圖文框和選取記號是幾何角色的範例。
- 邏輯角色:標題、區段標題和頁尾是文字邏輯角色的範例。
以下圖例顯示頁面範例影像中的一般元件。
支援的語言和地區設定
如需支援語言的完整清單,請參閱 語言支援:文件分析模型。
文件智慧服務 v2.1 支援下列工具、應用程式和程式庫。
| 功能 | 資源 |
|---|---|
| 版面配置模型 | • 文件智慧標籤工具 • REST API • 用戶端程式庫 SDK • 文件智慧服務 Docker 容器 |
輸入指導
支援的檔案格式:
| 模型 | 圖片: JPEG/JPG、PNG、BMP、TIFF、HEIF |
Office: Word (DOCX)、Excel (XLSX)、PowerPoint (PPTX)、HTML |
|
|---|---|---|---|
| 讀取 | ✔ | ✔ | ✔ |
| 版面配置 | ✔ | ✔ | |
| 一般文件 | ✔ | ✔ | |
| 預先建置 | ✔ | ✔ | |
| 自訂擷取 | ✔ | ✔ | |
| 自訂分類 | ✔ | ✔ | ✔ |
- 照片和掃描件:為了獲得最佳效果,請為每個文件提供一張清晰的照片或高品質掃描件。
- PDF 和 TIFF:對於 PDF 和 TIFF,免費訂閱最多可以處理 2,000 頁。 只會處理前兩頁。
- 檔案大小:用於分析文件的檔案大小為付費 (S0) 層的 500 MB,免費 (F0) 層的檔案大小為 4 MB。
- 影像尺寸:影像尺寸必須介於 50 像素 x 50 像素和 10,000 像素 x 10,000 像素之間。
- 密碼鎖定:如果您的 PDF 已鎖定密碼,您必須在提交前解除鎖定。
- 文字高度:對於 1024 x 768 像素的影像,要擷取的文字的最小高度為 12 像素。 此維度對應至大約 8 點文字 (150 個 DPI)。
- 自訂模型訓練:自訂範本模型的訓練資料頁數上限為 500 頁,自訂神經模型的頁數上限為 50,000 頁。
- 自訂擷取模型訓練:範本模型的訓練資料總大小為 50 MB,神經模型為 1 GB。
- 自訂分類模型訓練:訓練資料的總大小為 1 GB,最多 10,000 頁。 對於 2024-11-30 (GA),訓練資料的總大小為 2 GB,最多 10,000 頁。
- Office 檔案類型 (DOCX、XLSX、PPTX):字串長度上限為 8,000,000,000 個字元。
輸入指南
- 支援的檔案格式:JPEG、PNG、PDF 和 TIFF。
- 支援的頁數:對於 PDF 和 TIFF,最多可處理 2,000 頁。 若是免費層訂閱者,只會處理前兩頁。
- 支援的檔案大小:檔案大小必須小於 50 MB,尺寸必須至少為 50 x 50 像素,最多為 10,000 x 10,000 像素。
開始
您可以使用文件智慧服務從文件擷取文字、表格、表格標頭、選取標記和結構資訊等資料。 您需要下列資源:
- Azure 訂用帳戶。 您可以免費建立一個訂用帳戶。
- Azure 入口網站中的文件智慧服務執行個體。 您可以使用免費定價層 (F0) 來試用服務。 部署資源後,選取 [前往資源] 以取得金鑰和端點。
擷取金鑰和端點之後,您可以使用下列開發選項來建置和部署文件智慧服務應用程式。
附註
文件智慧服務工作室有 v3.0 API 及更新版本可供使用。
REST API
文件智慧服務範例標記工具
移至 文件智能樣本標記工具。
在範例工具首頁上,選取 [Use Layout to get text, tables and selection marks] (使用版面配置來取得文字、資料表和選取標記)。
在 [文件智慧服務服務端點] 欄位中,貼上您透過文件智慧服務訂用帳戶取得的端點。
在 金鑰 欄位中,貼上您從文件智慧服務資源取得的金鑰。
在 來源 欄位中,從下拉式功能表中選取 URL 。 您可以使用範例文件:
範例文件。
選取 擷取。
選取 [Run Layout] (執行版面配置)。 文件智慧服務範例標籤工具會呼叫分析版面配置 API 來分析文件。
檢視結果。 查看反白顯示的擷取文字、偵測到的選取標記和偵測到的表格。
文件智慧服務 v2.1 支援下列工具、應用程式和程式庫。
| 功能 | 資源 |
|---|---|
| 版面配置 API | • 文件智慧標籤工具 • REST API • 用戶端程式庫 SDK • 文件智慧服務 Docker 容器 |
頁面
pages 集合是一份文件中的頁面列表。 每個頁面在文件中按順序表示,並包括指示頁面是否旋轉的方向角度以及寬度和高度(以像素為單位的尺寸)。 模型輸出中的頁面單位計算如下表所示。
| 檔案格式 | 計算式頁面單位 | 總頁數 |
|---|---|---|
| 影像 (JPEG/JPG、PNG、BMP、HEIF) | 每個圖像 = 1 頁單位。 | 影像總計 |
| PDF 中的每一頁 = 1 頁單位。 | PDF 總頁數 | |
| TIFF | TIFF 中的每個影像 = 1 頁單位。 | TIFF 中的影像總數 |
| Word (DOCX) | 最多 3,000 個字元 = 1 頁單位。 不支援內嵌或連結的影像。 | 總頁數 (每頁最多 3,000 個字元) |
| Excel (XLSX) | 每個工作表 = 1 頁單位。 不支援內嵌或連結的影像。 | 工作表總計 |
| PowerPoint (PPTX) | 每張投影片 = 1 個頁面單位。 不支援內嵌或連結的影像。 | 投影片總計 |
| HTML | 最多 3,000 個字元 = 1 頁單位。 不支援內嵌或連結的影像。 | 總頁數 (每頁最多 3,000 個字元) |
"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}"
)
從文件擷取選取的頁面
對於大型多頁文件,請使用 pages 查詢參數來指出文字擷取的特定頁碼或頁碼範圍。
Paragraph
版面配置模型會擷取集合中 paragraphs 所有已識別的文字區塊,做為 底下的 analyzeResults頂層物件。 此集合中的每個項目都代表一個文字區塊,並包含作為 content 的擷取文字和週框 polygon 座標。
span 資訊會指向包含文件全文檢索的最上層 content 屬性的文字片段。
"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"
}
]
段落角色
基於機器學習的新頁面對象檢測提取了邏輯角色,例如標題、章節標題、頁面頁眉、頁尾等。 文件智慧服務版面配置模型會指派 paragraphs 集合中的特定文字區塊搭配模型所預測的特殊角色或類型。 最適合使用具有非結構化文件的段落角色,以協助瞭解已擷取內容的版面配置來進行更豐富的語意分析。 以下段落角色已獲得支援。
| 預期的角色 | Description | 支援的檔案類型 |
|---|---|---|
title |
頁面中的主要標題 | PDF、圖像、DOCX、PPTX、XLSX、HTML |
sectionHeading |
頁面上的一或多個子標題 | PDF、圖像、DOCX、XLSX、HTML |
footnote |
接近頁面底部的文字 | PDF、影像 |
pageHeader |
接近頁面上緣的文字 | PDF、圖像、DOCX |
pageFooter |
接近頁面下緣的文字 | PDF、圖像、DOCX、PPTX、HTML |
pageNumber |
頁碼 | PDF、影像 |
{
"paragraphs": [
{
"spans": [],
"boundingRegions": [],
"role": "title",
"content": "NEWS TODAY"
},
{
"spans": [],
"boundingRegions": [],
"role": "sectionHeading",
"content": "Mirjam Nilsson"
}
]
}
文字、文字行和字組
文件智慧服務中的文件版面配置模型會將列印和手寫樣式文字擷取為行和字。
styles 集合會包含任何手寫樣式的文字行 (若有偵測到),連同指向相關文字的範圍。 此功能適用於支援的手寫語言。
針對 Word、Excel、PowerPoint 和 HTML,文件智慧服務 v4.0 2024-11-30 (GA) 版面配置模型會依原樣擷取所有內嵌文字。 文字會擷取為單字和段落。 不支援內嵌的影像。
"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}"
)
手寫樣式
回應會包含辨別每個文字行是否為手寫樣式的分類,以及信賴度分數。 如需詳細資訊,請參閱 手寫語言支援。 下列範例顯示 JSON 程式碼片段範例。
"styles": [
{
"confidence": 0.95,
"spans": [
{
"offset": 509,
"length": 24
}
"isHandwritten": true
]
}
如果您啟用 字型/樣式附加元件功能,您也會取得字型/樣式結果作為物件的一部分 styles 。
選取項目標記
版面配置模型也會從文件中擷取選取標記。 擷取的選取項目標記會出現在每個頁面的 pages 集合中。 這包含週框 polygon、confidence 和選取項目 state (selected/unselected)。 文字表示法 (亦即,:selected: 和 :unselected) 也包含在起始索引 (offset)和參考包含文件全文最上層的 length 屬性的 content。
{
"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}"
)
表
擷取表格是處理包含大量資料(通常格式化為表格)的文件的關鍵需求。 版面配置模型會擷取 JSON 輸出區段中的 pageResults 資料表。 擷取的資料表資訊包括直欄數和列數、列跨度和直欄跨度。 每個儲存格及其週框多邊形會連同此區域是否辨識為 columnHeader 的資訊一起輸出。
模型支援擷取旋轉的資料表。 每個資料表儲存格都包含資料列和資料行索引,以及週框多邊形座標。 針對儲存格文字,模型會輸出包含起始索引 (span) 的 offset 資訊。 模型也會輸出包含文件全文的最上層內容 length。
以下是要在使用 Document Intelligence bale 擷取功能時考慮的幾個因素:
- 您要擷取以資料表形式呈現的資料嗎?資料表結構是否有意義?
- 如果資料不是資料表格式,則資料是否可以放入二維方格中?
- 您的資料表是否跨越多個頁面? 如果是,若要避免必須標記所有頁面,請先將 PDF 分割成頁面,再將其傳送至文件智慧服務。 分析之後,再將頁面處理成單一資料表。
- 如果您建立自訂模型,請參閱 表格式欄位 。 動態資料表中每個資料行的資料列數目可變動。 固定資料表中每個資料行的資料列數目不可變動。
附註
如果輸入檔是 XLSX,則不支持資料表分析。 文件智慧服務 v4.0 2024-11-30 (GA) 支援僅涵蓋核心內容且排除相關標題和註腳之圖文框和表格的界限區域。
{
"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)}'"
)
註解
版面配置模型會擷取文件中的註解,例如核對符號和叉號等記號。 回應包含註釋類型,以及信賴度分數和週框多邊形。
{
"pages": [
{
"annotations": [
{
"kind": "cross",
"polygon": [...],
"confidence": 1
}
]
}
]
}
自然讀取順序輸出 (僅適用於拉丁文)
您可以使用 readingOrder 查詢參數,指定輸出文字行的順序。 使用 natural 以獲得更具人性化的閱讀順序輸出,如下例所示。 此功能僅支援拉丁語言。
選取文字擷取的頁碼或範圍
對於大型多頁文件,請使用 pages 查詢參數來指出文字擷取的特定頁碼或頁碼範圍。 下列範例顯示具有 10 頁的文件,其中包含針對兩種情況、所有頁面 (1-10) 和選取頁面 (3-6) 擷取的文字。
取得分析版面配置結果作業
第二個步驟是呼叫取得分析版面配置結果作業。 此作業會以作業所建立的 Analyze Layout 結果識別碼作為輸入。 其會傳回包含 [狀態] 欄位的 JSON 回應,包含以下可能的值。
| 欄位 | 類型 | 可能值 |
|---|---|---|
| 狀態 | 字串 |
notStarted:分析作業未啟動。running:分析作業正在進行中。failed:分析作業失敗。succeeded:分析作業成功。 |
反覆呼叫此作業,直到傳回 succeeded 值為止。 若要避免超過每秒請求數速率,請使用三到五秒的間隔。
當 狀態 欄位具有值 succeeded 時,JSON 回應會包含擷取的版面配置、文字、表格和選取標記。 提取的數據包括提取的文本行和單詞、邊界框、帶有手寫特徵的文本顯示、表格以及標示出已選或未選狀態的選擇標記。
手寫分類的文字行 (僅適用於拉丁文)
回應包括分類每個文字行是否為手寫樣式,以及信賴度分數。 此功能僅支援拉丁語言。 下列範例顯示影像中文字的手寫分類。
範例 JSON 輸出
對操作的 Get Analyze Layout Result 響應是文檔的結構化表示,其中包含提取的所有信息。
請參閱 範例文件檔案 及其結構化輸出 範例版面配置輸出。
JSON 輸出有兩個部分:
-
readResults節點包含所有已識別的文字及選取標記。 文字呈現階層是頁面、行和個別單字。 -
pageResults節點包含已擷取的資料表和儲存格,以及其週框方塊、信賴度和以及對readResults欄位中文字行和字組的參考。
範例輸出
文字
版面配置 API 會從具有多種文字角度和色彩的文件和影像中擷取文字。 它接受文件、傳真、印刷和/或手寫(僅限英文)文本的照片以及混合模式。 文字的擷取會包含所提供文字行、字組、週框方塊、信賴分數和樣式 (手寫或其他) 的相關資訊。 所有文字資訊都會包括在 JSON 輸出的 readResults 區段中。
具有標題的資料表
版面配置 API 會擷取 JSON 輸出區段中的 pageResults 資料表。 您可以掃描、拍照或數位化文件。 資料表可能很複雜,有合併儲存格或資料行、有或沒有框線以及奇特的角度。
擷取的資料表資訊包括直欄數和列數、列跨度和直欄跨度。 每個儲存格與其週框方塊,連同此區域是否辨識為標題之部分的資訊,都會一同輸出。 模型預測的標頭儲存格可以跨越多列,而且不一定是資料表中的第一列。 旋轉的資料表同樣適用。 每個表格儲存格也包含全文,以及對 readResults 區段中各個單字的引用。
選取項目標記 (文件)
版面 API 也會從文件中擷取選擇標記。 擷取的選取標記包括週框方塊、信賴度和狀態 (已選取/未選取)。 選取標記的資訊會擷取在 JSON 輸出的 readResults 區段中。
移轉指南
- 若要瞭解如何在應用程式和工作流程中使用 v3.1 版本,請遵循 文件智慧服務 v3.1 移轉指南中的步驟。
相關內容
- 瞭解如何使用文件智慧服務工作室處理您自己的表單和文件。
- 完成 文件智慧服務快速入門,並以您選擇的開發語言建立文件處理應用程式。
- 在 GitHub 上尋找更多範例 (英文)。
- 在 GitHub 上尋找更多範例 (英文)。
- 瞭解如何使用文件智慧服務範例標籤工具來處理您自己的表單和文件。
- 完成 文件智慧服務快速入門,並以您選擇的開發語言建立文件處理應用程式。