檔擷取認知技能
檔擷 取 技能會從擴充管線內的檔案擷取內容。 這可讓您利用通常發生在技能集執行前的檔擷取步驟,以及可能由其他技能產生的檔案。
注意
此技能不會系結至 Azure AI 服務,而且沒有 Azure AI 服務的主要需求。 此技能會擷取文字和影像。 文字擷取是免費的。 影像擷取是由 Azure AI 搜尋所計量。 在免費的搜尋服務中,會吸收每天 20 筆交易的成本,讓您可以免費完成快速入門、教學課程和小型專案。 針對基本、標準及更新版本,影像擷取是可計費的。
@odata.type
Microsoft.Skills.Util.DocumentExtractionSkill
支援的文件格式
DocumentExtractionSkill 可以從下列檔格式擷取文字:
- CSV (請參閱編製 CSV Blob 的索引)
- EML
- EPUB
- GZ
- HTML
- JSON (請參閱編製 JSON Blob 的索引)
- KML (用於地理標記法的 XML)
- Microsoft Office 格式:DOCX/DOC/DOCM、XLSX/XLS/XLSM、PPTX/PPT/PPTM、MSG (Outlook 電子郵件)、XML (2003 和 2006 WORD XML)
- 開放式文件格式:ODT、ODS、ODP
- 純文字檔案 (另請參閱編制純文字的索引)
- RTF
- XML
- ZIP
技能參數
這些參數會區分大小寫。
輸入 | 允許的值 | 描述 |
---|---|---|
parsingMode |
default text json |
針對不是純文字或 json 的檔案檔案擷取,設定為 default 。 對於包含標記的原始程式檔(例如 PDF、HTML、RTF 和 Microsoft Office 檔案),請使用預設值只擷取文字,減去任何標記語言或標記。 如果未 parsingMode 明確定義,則會將它設定為 default 。 text 如果原始程式檔是 TXT,則設定為 。 此剖析模式可改善純文本檔案的效能。 如果檔案包含標記,此模式會在最終輸出中保留標記。 設定為 json 以從 json 檔案擷取結構化內容。 |
dataToExtract |
contentAndMetadata allMetadata |
設定為 contentAndMetadata ,從每個檔案擷取所有元數據和文字內容。 如果未 dataToExtract 明確定義,則會將它設定為 contentAndMetadata 。 設定為 allMetadata ,只 擷取內容類型 的元數據屬性(例如,僅.png檔案唯一的元數據)。 |
configuration |
請參閱下方 。 | 選擇性參數的字典,可調整檔擷取的執行方式。 如需支援的組態屬性描述,請參閱下表。 |
組態參數 | 允許的值 | 描述 |
---|---|---|
imageAction |
none generateNormalizedImages generateNormalizedImagePerPage |
設定為 忽略 none 資料集中的內嵌影像或影像檔,或如果源資料不包含影像檔,則為 。 這是預設值。 針對 OCR 和影像分析,設定為 generateNormalizedImages 讓技能建立標準化影像陣列做為檔破解的一部分。 這個動作需要 parsingMode 設定為 default ,且 dataToExtract 設定為 contentAndMetadata 。 標準化影像是指額外的處理,導致統一影像輸出、大小和旋轉,以在視覺搜尋結果中包含影像時促進一致的轉譯(例如,JFK 示範中所見圖表控件中的相同大小相片)。 當您使用此選項時,會為每個影像產生這項資訊。 如果您將 設定為 generateNormalizedImagePerPage ,PDF 檔案會以不同的方式處理該檔案,而不是擷取內嵌影像,每個頁面都會轉譯為影像並據以正規化。 非 PDF 檔類型的處理方式與 generateNormalizedImages 設定相同。 |
normalizedImageMaxWidth |
介於 50-10000 之間的任何整數 | 所產生標準化影像的最大寬度(以像素為單位)。 預設值為 2000。 |
normalizedImageMaxHeight |
介於 50-10000 之間的任何整數 | 所產生標準化影像的最大高度(以像素為單位)。 預設值為 2000。 |
注意
標準化影像的最大寬度與最大高度的預設值為 2000 像素,這是根據 OCR 技術和影像分析技術所支援的大小上限。 OCR 技能支援的非英文語言的寬度和高度上限為 4200,而英文的寬度和高度上限則為 10000。 如果您增加最大限制,根據技能集定義和文件的語言,處理可能會因較大的影像而失敗。
技能輸入
輸入名稱 | 描述 |
---|---|
file_data |
應該從中擷取內容的檔案。 |
“file_data” 輸入必須是定義為:
{
"$type": "file",
"data": "BASE64 encoded string of the file"
}
或者,它可以定義為:
{
"$type": "file",
"url": "URL to download file",
"sasToken": "OPTIONAL: SAS token for authentication if the URL provided is for a file in blob storage"
}
檔案參考物件可以產生三種方式之一:
將
allowSkillsetToReadFileData
索引器定義上的 參數設定為 「true」。 這會建立一個路徑,此路徑/document/file_data
代表從 Blob 數據源下載的源文件數據。 此參數僅適用於 Blob 記憶體中的檔案。將
imageAction
索引器定義上的 參數設定為 以外的none
值。 這會建立影像陣列,如果個別傳遞,則會遵循輸入此技能所需的慣例(也就是/document/normalized_images/*
)。擁有自定義技能會傳回定義完全如上所示的 json 物件。
$type
參數必須完全file
設定為 ,而且data
參數必須是檔案內容的基底 64 編碼位元組數位資料,或者url
參數必須是格式正確的 URL,且可存取該位置下載檔案。
技能輸出
輸出名稱 | 描述 |
---|---|
content |
檔的文字內容。 |
normalized_images |
imageAction 當 設定為 以外的none 值時,新的 normalized_images 欄位會包含影像陣列。 如需輸出格式的詳細資訊,請參閱 從影像 擷取文字和資訊。 |
範例定義
{
"@odata.type": "#Microsoft.Skills.Util.DocumentExtractionSkill",
"parsingMode": "default",
"dataToExtract": "contentAndMetadata",
"configuration": {
"imageAction": "generateNormalizedImages",
"normalizedImageMaxWidth": 2000,
"normalizedImageMaxHeight": 2000
},
"context": "/document",
"inputs": [
{
"name": "file_data",
"source": "/document/file_data"
}
],
"outputs": [
{
"name": "content",
"targetName": "extracted_content"
},
{
"name": "normalized_images",
"targetName": "extracted_normalized_images"
}
]
}
範例輸入
{
"values": [
{
"recordId": "1",
"data":
{
"file_data": {
"$type": "file",
"data": "aGVsbG8="
}
}
}
]
}
範例輸出
{
"values": [
{
"recordId": "1",
"data": {
"content": "hello",
"normalized_images": []
}
}
]
}
另請參閱
- 內建技能
- 如何定義技能集 (英文)
- 如何處理和擷取影像的資訊