문서 추출 기술은 보강 파이프라인 내의 파일에서 콘텐츠를 추출합니다. 기본적으로 콘텐츠 추출 또는 검색은 인덱서 파이프라인에 기본 제공됩니다. 그러나 문서 추출 기술을 사용하여 매개 변수를 설정하는 방법과 추출된 콘텐츠의 이름을 보강 트리에 지정하는 방법을 제어할 수 있습니다.
벡터 및 다중 모달 검색의 경우 텍스트 분할 기술과 결합된 문서 추출이 다른 데이터 청크 접근 방식보다 더 저렴합니다. 다음 자습서에서는 다양한 시나리오에 대한 기술 사용을 보여 줍니다.
비고
이 기술은 Azure AI 서비스에 바인딩되지 않으며 Azure AI 서비스 키 요구 사항이 없습니다.
이 기술은 텍스트와 이미지를 추출합니다. 텍스트 추출은 무료입니다. 이미지 추출은 Azure AI Search에서 청구할 수 있습니다. 무료 검색 서비스에서는 빠른 시작, 자습서 및 소규모 프로젝트를 무료로 완료할 수 있도록 하루에 인덱서당 20개의 트랜잭션 비용이 흡수됩니다. 기본 및 상위 계층의 경우 이미지 추출은 청구할 수 있습니다.
@odata.type
Microsoft.Skills.Util.DocumentExtractionSkill
지원되는 문서 형식
DocumentExtractionSkill은 다음 문서 형식에서 텍스트를 추출할 수 있습니다.
- CSV(CSV Blob 인덱싱 참조)
- EML
- 에퍽
- 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
기술 매개 변수
매개 변수는 대/소문자를 구분합니다.
구성 매개 변수 | 허용되는 값 | 설명 |
---|---|---|
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 개체가 반환됩니다. 매개 변수를 정확하게
$type
설정해야 하며file
매개 변수는data
파일 콘텐츠의 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": []
}
}
]
}