共用方式為


檔擷取認知技能

檔擷取技能會從擴充管線內的檔案擷取內容。 這可讓您利用通常發生在技能集執行前的檔擷取步驟,以及可能由其他技能產生的檔案。

備註

此技能不會系結至 Azure AI 服務,而且沒有 Azure AI 服務的主要需求。 此技能會擷取文字和影像。 文字擷取是免費的。 影像擷取 是由 Azure AI 搜尋所計量。 在免費的搜尋服務中,會吸收每天 20 筆交易的成本,讓您可以免費完成快速入門、教學課程和小型專案。 針對基本、標準及更新版本,影像擷取是可計費的。

@odata.type

Microsoft.Skills.Util.DocumentExtractionSkill

支援的文件格式

DocumentExtractionSkill 可以從下列檔格式擷取文字:

  • CSV (請參閱編製 CSV Blob 的索引)
  • EML
  • 電子酒吧
  • 廣州
  • 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
  • PDF格式
  • 純文字檔案 (另請參閱編制純文字的索引)
  • 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": []
      }
    }
  ]
}

另請參閱