문서 추출 인지 기술

문서 추출 기술은 보강 파이프라인 내의 파일에서 콘텐츠를 추출합니다. 이렇게 하면 다른 기술에서 생성될 수 있는 파일을 사용하여 기술 세트를 실행하기 전에 일반적으로 발생하는 문서 추출 단계를 활용할 수 있습니다.

참고 항목

이 기술은 Azure AI 서비스에 바인딩되지 않으며 Azure AI 서비스 키 요구 사항이 없습니다. 이 기술은 텍스트와 이미지를 추출합니다. 텍스트 추출은 무료입니다. 이미지 추출은 Azure AI Search를 통해 측정됩니다. 무료 검색 서비스에서는 빠른 시작, 자습서 및 소규모 프로젝트를 무료로 완료할 수 있도록 하루에 인덱서당 20개의 트랜잭션 비용이 면제됩니다. Basic, Standard 이상의 경우 이미지 추출이 청구됩니다.

@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
  • PDF
  • 일반 텍스트 파일(일반 텍스트 인덱싱 참조)
  • RTF
  • XML
  • ZIP

기술 매개 변수

매개 변수는 대/소문자를 구분합니다.

입력 허용되는 값 설명
parsingMode default
text
json
default 순수 텍스트 또는 json이 아닌 파일에서 문서 추출을 위해 설정됩니다. 태그가 포함된 원본 파일(예: PDF, HTML, RTF 및 Microsoft Office 파일)의 경우 기본값을 사용하여 태그 언어 또는 태그를 제외한 텍스트만 추출합니다. 명시적으로 정의되지 않은 경우 parsingMode .로 설정 default됩니다.

원본 파일이 TXT인 경우 text로 설정합니다. 이 구문 분석 모드는 일반 텍스트 파일의 성능을 개선시킵니다. 파일에 태그가 포함된 경우 이 모드는 최종 출력에서 태그를 보존합니다.

json 파일에서 구조화된 콘텐츠를 추출하도록 json 설정합니다.
dataToExtract contentAndMetadata
allMetadata
각 파일에서 모든 메타데이터 및 텍스트 콘텐츠를 추출하도록 contentAndMetadata 설정합니다. 명시적으로 정의되지 않은 경우 dataToExtract .로 설정 contentAndMetadata됩니다.

콘텐츠 형식대한 메타데이터 속성만 추출하도록 allMetadata 설정합니다(예: .png 파일에만 고유한 메타데이터).
configuration 아래 내용을 참조하세요. 문서를 추출하는 방법을 조정하는 선택적 매개 변수의 사전입니다. 지원되는 구성 속성에 대한 설명은 아래 표를 참조하세요.
구성 매개 변수 허용되는 값 설명
imageAction none
generateNormalizedImages
generateNormalizedImagePerPage
데이터 집합에 포함된 이미지 또는 이미지 파일을 무시하거나 none 원본 데이터에 이미지 파일이 포함되지 않도록 설정됩니다. 기본값입니다.

OCR 및 이미지 분석의 경우 기술이 문서 크래킹의 일부로 정규화된 이미지 배열을 만들도록 generateNormalizedImages로 설정합니다. 이 작업을 수행하려면 이 parsingMode 작업을 설정해야 default 하며 dataToExtractcontentAndMetadata. 정규화된 이미지는 시각적 검색 결과에 이미지를 포함할 때 일관된 렌더링을 촉진하기 위해 크기가 조정되고 회전되는 균일한 이미지 출력을 초래하는 추가 처리를 의미합니다(예: JFK 데모에서 볼 수 있듯이 그래프 컨트롤에 동일한 크기의 사진). 이 정보는 이 옵션을 사용할 때 각 이미지에 대해 생성됩니다.

로 설정 generateNormalizedImagePerPage하면 포함된 이미지를 추출하는 대신 PDF 파일이 다르게 처리되고 각 페이지가 이미지로 렌더링되고 그에 따라 정규화됩니다. PDF가 아닌 파일 형식은 설정된 것과 generateNormalizedImages 동일하게 처리됩니다.
normalizedImageMaxWidth 50-10000 사이의 모든 정수 정규화된 이미지의 최대 너비(픽셀 단위)가 생성되었습니다. 기본값은 2000입니다.
normalizedImageMaxHeight 50-10000 사이의 모든 정수 생성된 정규화된 이미지의 최대 높이(픽셀)입니다. 기본값은 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"로 설정합니다. Blob 데이터 원본에서 다운로드한 원래 파일 데이터를 나타내는 개체인 경로를 /document/file_data 만듭니다. 이 매개 변수는 Blob Storage의 파일에만 적용됩니다.

  • 인덱서 정의의 imageAction 매개 변수를 .가 아닌 none값으로 설정 이렇게 하면 개별적으로 전달되는 경우 이 기술에 대한 입력에 필요한 규칙을 따르는 이미지 배열이 생성됩니다(즉, /document/normalized_images/*).

  • 사용자 지정 기술이 있으면 위와 같이 정확하게 정의된 json 개체가 반환됩니다. 매개 변수를 정확하게 file 설정해야 하며 data 매개 변수는 $type 파일 콘텐츠의 base 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": []
      }
    }
  ]
}

참고 항목