文件智慧自訂分類模型
重要
- 文件智慧服務公開預覽版本可讓您搶先存取正在積極開發的功能。 根據使用者意見反應,功能、方法和流程在正式發行 (GA) 前可能有所變更。
- 文件智慧服務用戶端程式庫的公開預覽版預設為 REST API 版本 2024-07-31-preview。
- 公開預覽版 2024-07-31-preview 目前僅適用於下列 Azure 地區。 請注意,AI Studio 中的自訂生成 (文件欄位擷取) 模型僅適用美國中北部地區:
- 美國東部
- 美國西部 2
- 西歐
- 美國中北部
此內容適用於: v4.0 (預覽版) | 較舊版本: v3.1 (GA)
此內容適用於: v3.1 (GA) | 最新版本: v4.0 (預覽版)
重要
2024-07-31-preview
API,自訂分類模型在分析程序期間預設不會分割文件。- 您必須明確地將
splitMode
屬性設定為 auto,以保留舊版的行為。splitMode
的預設值為none
。 - 如果您的輸入檔包含多個文件,您必須將
splitMode
設定為auto
來啟用分割。
Azure AI 文件智慧服務是雲端式 Azure AI 服務,可讓您建置智慧型文件處理解決方案。 文件智慧服務 API 會分析影像、PDF 和其他文件檔,以擷取及偵測各種內容、版面配置、樣式和語意元素。
自訂分類模型是深度學習模型類型,結合版面配置和語言功能,以精確地偵測及識別您在應用程式內處理的文件。 自訂分類模型會一次執行一頁輸入檔的分類,以識別其中的文件,也可以識別輸入檔內單一文件的多個文件或多個執行個體。
模型功能
注意
- 從
2024-02-29-preview
API 開始,自訂分類模型支援累加式定型。 您可藉由參考現有的分類器,將新的範例新增至現有的類別,或加入新的類別。
自訂分類模型可以分析單一或多個檔案文件,以識別輸入檔內是否包含任何定型文件類型。 以下是目前支援的案例:
包含一個文件類型的單一檔案,例如貸款申請表單。
包含多個文件類型的單一檔案。 例如貸款申請組合包含貸款申請表格、工資單和銀行帳單。
包含相同文件中多個執行個體的單一檔案。 例如,掃描的發票集合。
✔️ 定型自訂分類器至少需要 two
個不同的類別,而且每個類別至少需要 five
個文件。 模型回應包含所識別文件之每個類別的頁面範圍。
✔️ 允許的類別數目上限為 500
。 每個類別允許的文件樣本數目上限為 100
。
除非另有指定,否則模型會將輸入文件的每個頁面分類為標記資料集中的其中一個類別。 您也可以指定要在輸入文件中分析的頁碼。 若要設定應用程式的閾值,請使用回應的信賴分數。
累加式定型
使用自訂模型時,您必須維護定型資料集的存取權,以使用現有類別的新範例來更新分類器,或加入新類別。 分類器模型現在支援累加式定型,您可以在其中參考現有的分類器,並附加現有類別的新範例,或加入含有範例的新類別。 累加式定型可實現以下案例:資料保留具有挑戰性,且分類器需要更新以符合不斷變化的業務需求。 使用 API 版本 2024-02-29-preview
和更新版本定型的模型支援累加式定型。
重要
只有使用相同 API 版本定型的模型才支援累加式定型。 如果您嘗試擴充模型,請使用定型原始模型的 API 版本來擴充模型。 只有 API 版本 2024-07-31-preview 或更新版本支援累加式定型。
累加式定型需要您提供原始模型識別碼做為 baseClassifierId
。 若要深入了解如何使用累加式定型,請參閱累加式定型。
Office 文件類型支援
您現在可以訓練分類器,以辨識各種格式的文件類型,包括 PDF、影像、Word、PowerPoint 和 Excel。 在組合定型資料集時,您可以新增任何支援類型的文件。 分類器不需要明確標記特定類型。 最佳做法是確保您的定型資料集中每個格式至少有一個範例,以改善模型的整體精確度。
比較自訂分類和組成模型
自訂分類模型可以在某些案例中取代組成模型,但有一些需要注意的差異:
功能 | 自訂分類器程序 | 組成模型程序 |
---|---|---|
分析屬於其中一個定型以用於擷取模型處理之類型的未知類型單一文件。 | ● 需要多次呼叫。 ● 根據文件類別呼叫分類模型。 此步驟允許在叫用擷取模型分析之前進行信賴度檢查。 ● 叫用擷取模型。 |
• 需要對包含對應至輸入文件類型之模型的組成模型進行單一呼叫。 |
分析屬於數種定型以用於擷取模型處理之類型的未知類型單一文件。 | ● 需要多次呼叫。 ● 呼叫分類器,以忽略不符合指定擷取類型的文件。 ● 叫用擷取模型。 |
● 需要對組成模型進行單一呼叫。 服務會選取組合模型內具有最高相符程度的自訂模型。 ● 組成模型無法忽略文件。 |
分析檔案,其中包含屬於其中一種定型以用於擷取模型處理之已知或未知類型的多個文件。 | ● 需要多次呼叫。 ● 呼叫輸入檔中每個已識別文件的擷取模型。 ● 叫用擷取模型。 |
● 需要對組成模型進行單一呼叫。 ● 組成模型會在文件的第一個執行個體上叫用元件模型一次。 ● 系統會忽略其餘的文件。 |
語言支援
分類模型目前僅支援英文文件。
分類模型現在可以根據不同語言的文件進行定型。 如需完整清單,請參閱支援的語言。
輸入需求
支援的檔案格式:
模型 | 映像: |
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 頁)。
文件分割
當您在檔案中有多個文件時,分類器可以識別輸入檔中包含的不同文件類型。 分類器回應包含檔案內含每個已識別文件類型的頁面範圍。 此回應可以包含相同文件類型的多個執行個體。
analyze
作業現在包含一個 splitMode
屬性,可讓您細微地控制分割行為。
- 若要將整個輸入檔視為單一文件進行分類,請將 splitMode 設定為
none
。 當您這麼做時,服務只會傳回整個輸入檔的一個類別。 - 若要分類輸入檔的每個頁面,請將 splitMode 設定為
perPage
。 服務會嘗試將每個頁面分類為個別文件。 - 將 splitMode 設定為
auto
,而服務會識別文件和相關聯的頁面範圍。
最佳作法
自訂分類模型需要每個類別至少五個樣本才能定型。 如果類別類似,新增額外的定型範例可改善模型正確性。
分類器會嘗試將每個文件指派給其中一個類別,如果您預期模型看到不屬於定型資料集之類別中的文件類型,您應該計劃設定分類分數的閾值,或將文件類型的一些代表性範例新增至 "other"
類別。 新增 "other"
類別可確保不需要的文件不會影響分類器品質。
Training a model
v4.0: 2024-02-29-preview、2024-07-31-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"}
覆寫模型
注意
從 2024-07-31-preview
API 開始,自訂分類模型支援就地覆寫模型。
您現在可以就地更新自訂分類。 直接覆寫模型會讓您在決定取代現有模型之前,無法比較模型品質。 在要求主體中明確指定 allowOverwrite
屬性時,會允許模型覆寫。 執行此動作之後,就無法復原覆寫的原始模型。
{
"classifierId": "existingClassifierName",
"allowOverwrite": true, // Default=false
...
}
複製模型
注意
從 2024-07-31-preview
API 開始,自訂分類模型支援從下列任何區域往返複製模型:
- 美國東部
- 美國西部 2
- 西歐
產生複製授權要求
下列 HTTP 要求會從目標資源取得複製授權。 您必須輸入目標資源的端點和金鑰作為標頭。
POST https://myendpoint.cognitiveservices.azure.com/documentintelligence/documentClassifiers:authorizeCopy?api-version=2024-07-31-preview
Ocp-Apim-Subscription-Key: {<your-key>}
要求本文
{
"classifierId": "targetClassifier",
"description": "Target classifier description"
}
您會收到 200
回應碼以及回應本文,其中包含起始複製所需的 JSON 承載。
{
"targetResourceId": "/subscriptions/targetSub/resourceGroups/targetRG/providers/Microsoft.CognitiveServices/accounts/targetService",
"targetResourceRegion": "targetResourceRegion",
"targetClassifierId": "targetClassifier",
"targetClassifierLocation": "https://targetEndpoint.cognitiveservices.azure.com/documentintelligence/documentClassifiers/targetClassifier",
"accessToken": "accessToken",
"expirationDateTime": "timestamp"
}
啟動複製作業
下列 HTTP 要求會啟動來源資源的複製作業。 您必須輸入來源資源的端點和金鑰作為 URL 與標頭。 請注意,要求 URL 包含您想要複製的來源分類器的分類器識別碼。
POST {endpoint}/documentintelligence/documentClassifiers/{classifierId}:copyTo?api-version=2024-07-31-preview
Ocp-Apim-Subscription-Key: {<your-key>}
您的要求本文是先前步驟的回應。
{
"targetResourceId": "/subscriptions/targetSub/resourceGroups/targetRG/providers/Microsoft.CognitiveServices/accounts/targetService",
"targetResourceRegion": "targetResourceRegion",
"targetClassifierId": "targetClassifier",
"targetClassifierLocation": "https://targetEndpoint.cognitiveservices.azure.com/documentintelligence/documentClassifiers/targetClassifier",
"accessToken": "accessToken",
"expirationDateTime": "timestamp"
}
模型回應
使用文件分類模型分析輸入檔。
https://{endpoint}/documentintelligence/documentClassifiers/{classifier}:analyze?api-version=2024-02-29-preview
從 2024-07-31-preview
API 開始,您可以在要求中使用 pages
查詢參數,以指定要從輸入文件分析的頁面。
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": []
}, ...
]
}
下一步
了解如何建立自訂分類模型: