문서 추출 인지 기술
문서 추출 기술은 보강 파이프라인 내의 파일에서 콘텐츠를 추출합니다. 이렇게 하면 다른 기술에서 생성될 수 있는 파일을 사용하여 기술 세트를 실행하기 전에 일반적으로 발생하는 문서 추출 단계를 활용할 수 있습니다.
참고 항목
이 기술은 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
- 일반 텍스트 파일(일반 텍스트 인덱싱도 참조)
- 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 하며 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"로 설정합니다. 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": []
}
}
]
}