文件智慧自訂分類模型
重要
- Document Intelligence 公開預覽版本提供早期存取作用中開發的功能。
- 根據使用者意見反應,功能、方法和流程在正式發行 (GA) 前可能有所變更。
- Document Intelligence 用戶端連結庫的公開預覽版本預設為 REST API 版本 2024-02-29-preview。
- 公開預覽版本 2024-02-29-preview 目前僅適用於下列 Azure 區域:
- 美國東部
- 美國西部 2
- 西歐
此內容適用於:v4.0 (預覽) | 舊版:v3.1 (GA)
此內容適用於:v3.1 (GA) | 最新版本:v4.0 (預覽)
重要
- 根據
2024-02-29-preview
預設,API 自定義分類模型不會在分析程式期間分割檔。 - 您必須明確地將 屬性設定
splitMode
為 auto,以保留舊版的行為。 預設值splitMode
為none
。 - 如果您的輸入檔包含多個檔案,您必須將 設定
splitMode
為auto
來啟用分割。
Azure AI 文件智慧服務是雲端式 Azure AI 服務,可讓您建置智慧型文件處理解決方案。 檔智慧 API 會分析影像、PDF 和其他文件檔,以擷取及偵測各種內容、版面配置、樣式和語意元素。
自訂分類模型是深度學習模型類型,結合版面配置和語言功能,以精確地偵測及識別您在應用程式內處理的文件。 自定義分類模型會一次執行一頁輸入檔的分類,以識別內的檔,也可以識別輸入檔內單一檔的多個檔或多個實例。
模型功能
注意
- 從
2024-02-29-preview
API 開始,自定義 Clasification 模型支援累加式定型。 您可以藉由參考現有的分類器,將新的範例新增至現有的類別,或加入新的類別。
自訂分類模型可以分析單一或多個檔案文件,以識別輸入檔內是否包含任何定型文件類型。 以下是目前支援的案例:
包含一個文件的單一檔案。 例如,貸款應用程式表單。
包含多個文件的單一檔案。 例如,包含貸款應用程式表單、工資單與銀行帳單的貸款應用程式套件。
包含相同文件中多個執行個體的單一檔案。 例如,掃描的發票集合。
✔️ 將自定義分類器定型至少 two
需要不同的類別,以及每個類別的檔 five
樣本下限。 模型回應包含所識別文件之每個類別的頁面範圍。
✔️ 允許的類別數目上限為 500
。 每個類別允許的檔案樣本數目上限為 100
。
模型會將輸入文件的每個頁面分類為標記資料集中的其中一個類別。 若要設定應用程式的閾值,請使用回應中的信賴分數。
累加式定型
使用自定義模型時,您必須維護定型數據集的存取權,以使用現有類別的新範例來更新分類器,或新增類別。 分類器模型現在支援累加定型,您可以在其中參考現有的分類器,並附加現有類別的新範例,或使用範例新增類別。 累加式定型可讓數據保留面臨挑戰,且分類器必須更新,以符合不斷變化的業務需求。 使用 API 版本和更新版本 2024-02-29-preview
定型的模型支援累加式定型。
重要
只有使用相同 API 版本定型的模型才支援累加式定型。 如果您嘗試擴充模型,請使用 API 版本來定型原始模型來擴充模型。 只有 API 版本 2024-02-29-preview 或更新版本才支援累加定型。
累加定型需要您提供原始模型識別碼做為 baseClassifierId
。 若要深入瞭解如何使用累加式定型,請參閱 累加訓練 。
Office 檔類型支援
您現在可以訓練分類器以各種格式辨識檔類型,包括 PDF、影像、Word、PowerPoint 和 Excel。 在組合定型數據集時,您可以新增任何支援類型的檔。 分類器不需要明確標記特定類型。 最佳做法是確保您的定型數據集至少有一個每個格式的範例,以改善模型的整體精確度。
比較自訂分類和組成模型
自訂分類模型可以在某些案例中取代組成模型,但有一些需要注意的差異:
功能 | 自訂分類器程序 | 組成模型程序 |
---|---|---|
分析屬於其中一個定型以用於擷取模型處理之類型的未知類型單一文件。 | ● 需要多次呼叫。 • 根據檔案類別呼叫分類模型。 此步驟允許在叫用擷取模型分析之前進行信賴度檢查。 • 叫用擷取模型。 |
• 需要對包含對應至輸入文件類型之模型的組成模型進行單一呼叫。 |
分析屬於數種定型以用於擷取模型處理之類型的未知類型單一文件。 | ● 需要多次呼叫。 • 對分類器進行呼叫,忽略檔不符合所指定類型的擷取。 • 叫用擷取模型。 |
● 需要對組成模型進行單一呼叫。 服務會選取組合模型內具有最高相符程度的自訂模型。 • 撰寫的模型無法忽略檔。 |
分析檔案,其中包含屬於其中一種定型以用於擷取模型處理之已知或未知類型的多個文件。 | ● 需要多次呼叫。 • 針對輸入檔中的每個已識別檔呼叫擷取模型。 • 叫用擷取模型。 |
● 需要對組成模型進行單一呼叫。 • 撰寫的模型會在檔的第一個實例上叫用元件模型一次。 •會忽略其餘的檔。 |
語言支援
分類模型目前僅支援英文文件。
分類模型現在可以根據不同語言的文件進行定型。 如需完整清單,請參閱 支援的語言 。
輸入需求
支援的檔案格式:
模型 | 映像: jpeg/jpg, png, bmp, tiff, heif |
Microsoft Office: Word (docx)、Excel(xlxs)、PowerPoint(pptx) |
|
---|---|---|---|
參閱 | ✔ | ✔ | ✔ |
版面配置 | ✔ | ✔ | ✔ (2024-02-29-preview、 2023-10-31-preview 及更新版本) |
一般文件 | ✔ | ✔ | |
預建 | ✔ | ✔ | |
自訂擷取 | ✔ | ✔ | |
自訂分類 | ✔ | ✔ | ✔ |
為了獲得最佳結果,請為每個文件類型提供五張清楚相片或高質量掃描。
針對 PDF 和 TIFF,最多可以處理 2,000 個頁面(使用免費層訂用帳戶,只會處理前兩個頁面)。
用於分析文件的檔案大小是付費 (S0) 層的 500 MB,免費 #F0 層為 4 MB。
影像維度必須介於 50 x 50 像素和 10,000 x 10,000 像素之間。
如果您的 PDF 有密碼鎖定,則必須先移除鎖定才能提交。
針對 1024 x 768 像素影像的擷取文字高度下限為 12 像素。 此維度對應至每英吋 150 個點的大約
8
點文字(DPI
)。針對自訂模型定型,自訂範本模型的定型資料頁數上限為 500,而自訂神經網路模型的上限則為 50,000。
針對自訂擷取模型定型,範本模型的定型資料大小總計為 50 MB,而神經模型的大小總計則為 1G-MB。
針對自定義分類模型定型,定型數據的總大小為 1 GB,最多 10,000 頁。
檔分割
當您在檔案中有多個檔時,分類器可以識別輸入檔中包含的不同文件類型。 分類器回應包含檔案內每個已識別檔類型的頁面範圍。 此回應可以包含相同檔類型的多個實例。
分析作業現在包含 splitMode
屬性,可讓您更細微地控制分割行為。
- 若要將整個輸入檔視為分類的單一檔,請將splitMode 設定為
none
。 當您這樣做時,服務只會傳回整個輸入檔的一個類別。 - 若要分類輸入檔案的每個頁面,請將splitMode 設定為
perPage
。 服務會嘗試將每個頁面分類為個別檔。 - 將splitMode設定為
auto
,而服務會識別文件和相關聯的頁面範圍。
最佳作法
自訂分類模型需要每個類別至少五個樣本才能定型。 如果類別類似,新增額外的定型範例可改善模型正確性。
分類器會嘗試將每份檔指派給其中一個類別,如果您預期模型在不屬於定型數據集的類別中看到檔類型,您應該計劃設定分類分數的臨界值,或將一些代表性的檔類型範例新增至 "other"
類別。 "other"
新增類別可確保不需要的檔不會影響分類器品質。
定型模型
v4.0:2024-02-29-preview 和 v3.1:2023-07-31 (GA) API 支援自定義分類模型。 Document Intelligence Studio 提供無程式碼的使用者介面,以互動方式定型自訂分類器。 請遵循如何指南來開始使用。
使用 REST API 時,如果您依資料夾組織檔,您可以使用 azureBlobSource
要求的 屬性來定型分類模型。
https://{endpoint}/documentintelligence/documentClassifiers:build?api-version=2024-02-29-preview
{
"classifierId": "demo2.1",
"description": "",
"docTypes": {
"car-maint": {
"azureBlobSource": {
"containerUrl": "SAS URL to container",
"prefix": "sample1/car-maint/"
}
},
"cc-auth": {
"azureBlobSource": {
"containerUrl": "SAS URL to container",
"prefix": "sample1/cc-auth/"
}
},
"deed-of-trust": {
"azureBlobSource": {
"containerUrl": "SAS URL to container",
"prefix": "sample1/deed-of-trust/"
}
}
}
}
https://{endpoint}/formrecognizer/documentClassifiers:build?api-version=2023-07-31
{
"classifierId": "demo2.1",
"description": "",
"docTypes": {
"car-maint": {
"azureBlobSource": {
"containerUrl": "SAS URL to container",
"prefix": "{path to dataset root}/car-maint/"
}
},
"cc-auth": {
"azureBlobSource": {
"containerUrl": "SAS URL to container",
"prefix": "{path to dataset root}/cc-auth/"
}
},
"deed-of-trust": {
"azureBlobSource": {
"containerUrl": "SAS URL to container",
"prefix": "{path to dataset root}/deed-of-trust/"
}
}
}
}
或者,如果您有一般檔案清單,或只計畫在每個資料夾內使用一些選取的檔案來定型模型,則可以使用 azureBlobFileListSource
屬性來定型模型。 此步驟需要 JSON Line 格式的 file list
。 針對每個類別,新增一個新的檔案,其中包含要提交以進行定型的檔案清單。
{
"classifierId": "demo2",
"description": "",
"docTypes": {
"car-maint": {
"azureBlobFileListSource": {
"containerUrl": "SAS URL to container",
"fileList": "{path to dataset root}/car-maint.jsonl"
}
},
"cc-auth": {
"azureBlobFileListSource": {
"containerUrl": "SAS URL to container",
"fileList": "{path to dataset root}/cc-auth.jsonl"
}
},
"deed-of-trust": {
"azureBlobFileListSource": {
"containerUrl": "SAS URL to container",
"fileList": "{path to dataset root}/deed-of-trust.jsonl"
}
}
}
}
例如,檔案清單 car-maint.jsonl
包含下列檔案。
{"file":"classifier/car-maint/Commercial Motor Vehicle - Adatum.pdf"}
{"file":"classifier/car-maint/Commercial Motor Vehicle - Fincher.pdf"}
{"file":"classifier/car-maint/Commercial Motor Vehicle - Lamna.pdf"}
{"file":"classifier/car-maint/Commercial Motor Vehicle - Liberty.pdf"}
{"file":"classifier/car-maint/Commercial Motor Vehicle - Trey.pdf"}
模型回應
使用檔案分類模型分析輸入檔。
https://{endpoint}/documentintelligence/documentClassifiers/{classifier}:analyze?api-version=2024-02-29-preview
https://{service-endpoint}/formrecognizer/documentClassifiers/{classifier}:analyze?api-version=2023-07-31
回應包含具有回應文件區段中相關聯頁面範圍的已識別文件。
{
...
"documents": [
{
"docType": "formA",
"boundingRegions": [
{ "pageNumber": 1, "polygon": [...] },
{ "pageNumber": 2, "polygon": [...] }
],
"confidence": 0.97,
"spans": []
},
{
"docType": "formB",
"boundingRegions": [
{ "pageNumber": 3, "polygon": [...] }
],
"confidence": 0.97,
"spans": []
}, ...
]
}
下一步
了解如何建立自訂分類模型: