메모
Azure AI 검색 Azure 포털, REST API 및 Azure SDK 통해 사용할 수 있습니다. 또한 엔터프라이즈 콘텐츠를 Microsoft Foundry 포털의 에이전트에 대해 재사용 가능한 사용 권한 인식 기술 자료로 변환하는 관리되는 기술 계층인 Foundry IQ를 뒷받침합니다.
문서 추출 기술은 보강 파이프라인의 파일에서 콘텐츠를 추출합니다. 기본적으로 콘텐츠 추출 또는 검색은 보강 파이프라인에 기본 제공됩니다. 그러나 문서 추출 기술을 사용하여 매개 변수를 설정하는 방법과 추출된 콘텐츠의 이름을 보강 트리에 지정하는 방법을 제어할 수 있습니다.
벡터 및 다중 모달 검색의 경우 문서 추출을 텍스트 분할 기술과 결합하여 구성 가능한 데이터 청크 접근 방식을 구현합니다. Multimodal 자습서에서는 이 시나리오를 보여 줍니다.
메모
이 기술은 Foundry 도구에 바인딩되지 않으며 Foundry Tools 키 요구 사항이 없습니다.
이 기술은 텍스트와 이미지를 추출합니다. 텍스트 추출은 무료입니다. 이미지 추출은 Azure AI 검색에서 청구할 수 있습니다. 무료 검색 서비스에서는 빠른 시작, 자습서 및 소규모 프로젝트를 무료로 완료할 수 있도록 하루에 인덱서당 20개의 트랜잭션 비용이 흡수됩니다. 기본 및 상위 계층의 경우 이미지 추출은 청구할 수 있습니다.
@odata.type
Microsoft.Skills.Util.DocumentExtractionSkill
지원되는 문서 형식
DocumentExtractionSkill은 다음 문서 형식에서 텍스트를 추출할 수 있습니다.
- CSV(CSV Blob 인덱싱 참조)
- EML
- EPUB
- GZ
- Html
- JSON(JSON BLOB 인덱싱 참조)
- KML(지리적 표현을 위한 XML)
- Markdown
- Microsoft Office 형식: DOCX/DOC/DOCM, XLSX/XLS/XLSM, PPTX/PPT/PPTM, MSG(Outlook 메일), XML(2003 및 2006 WORD XML 모두)
- 오픈 문서 형식: ODT, ODS, ODP
- 일반 텍스트 파일(일반 텍스트 인덱싱도 참조)
- RTF
- XML
- ZIP
기술 매개 변수
매개 변수는 대/소문자를 구분합니다.
| 입력 | 허용되는 값 | Description |
|---|---|---|
parsingMode |
defaulttextjson |
default 순수 텍스트 또는 JSON이 아닌 파일에서 문서 추출을 위해 설정됩니다. PDF, HTML, RTF 및 Microsoft Office 파일과 같이 태그가 포함된 원본 파일의 경우 태그 언어나 태그 없이 텍스트를 추출하려면 기본값을 사용합니다. 명시적으로 정의되지 않은 경우 parsingMode 값은 .입니다 default.text 원본 파일이 TXT인 경우로 설정합니다. 이 구문 분석 모드는 일반 텍스트 파일의 성능을 향상시킵니다. 파일에 태그가 포함된 경우 이 모드는 최종 출력에서 태그를 유지합니다.JSON 파일에서 구조화된 콘텐츠를 추출하도록 json 설정합니다. |
dataToExtract |
contentAndMetadataallMetadata |
각 파일에서 모든 메타데이터 및 텍스트 콘텐츠를 추출하도록 contentAndMetadata 설정합니다. 명시적으로 정의되지 않은 경우 dataToExtract 값은 .입니다 contentAndMetadata.allMetadata PNG 파일에 고유한 메타데이터와 같이 콘텐츠 형식에 대한 메타데이터 속성만 추출하도록 설정합니다. |
configuration |
아래를 참조하십시오. | 문서 추출을 수행하는 방법을 조정하는 선택적 매개 변수의 사전입니다. 지원되는 구성 속성에 대한 설명은 아래 표를 참조하세요. |
| 구성 매개 변수 | 허용되는 값 | Description |
|---|---|---|
imageAction |
nonegenerateNormalizedImagesgenerateNormalizedImagePerPage |
데이터 집합에 포함된 이미지 또는 이미지 파일을 무시하거나 none 원본 데이터에 이미지 파일이 포함되지 않도록 설정됩니다. 이 값은 기본값입니다.OCR 및 이미지 분석의 경우 기술에서 generateNormalizedImages의 일부로 정규화된 이미지 배열을 만들도록 설정합니다. 이 작업을 수행하려면 다음으로 defaultdataToExtract 설정하고 로 설정해야 parsingMode 합니다contentAndMetadata. 정규화된 이미지에는 시각적 검색 결과에서 일관된 렌더링을 승격하기 위해 크기가 조정되고 회전되는 균일한 출력이 있습니다. 기술은 각 이미지에 대해 이 정보를 생성합니다.설정 imageActiongenerateNormalizedImagePerPage하면 포함된 이미지를 추출하는 대신 각 PDF 페이지가 이미지로 렌더링되고 정규화됩니다. PDF가 아닌 파일 형식은 설정된 것과 generateNormalizedImages 동일하게 처리됩니다. |
normalizedImageMaxWidth |
50-10000 사이의 모든 정수 | 생성된 정규화된 이미지의 최대 너비(픽셀)입니다. 기본값은 2000입니다. |
normalizedImageMaxHeight |
50-10000 사이의 모든 정수 | 생성된 정규화된 이미지의 최대 높이(픽셀)입니다. 기본값은 2000입니다. |
메모
정규화된 이미지의 최대 너비와 높이에 대한 2000 픽셀이라는 기본값은 OCR 기술 및 이미지 분석 기술에서 지원하는 최대 크기에 기반합니다. OCR 기술은 영어가 아닌 언어의 경우 4200, 영어의 경우 10000의 최대 너비 및 높이를 지원합니다. 최대 한도를 늘리면 기술 세트 정의 및 문서의 언어에 따라 큰 이미지 처리에 실패할 수 있습니다.
기술 입력
| 입력 이름 | Description |
|---|---|
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의 파일에만 적용됩니다.allowSkillsetToReadFileData는 다운로드한 파일 데이터를 기술에 사용할 수 있도록 합니다. Blob 인덱서 파일 크기 또는 추출된 콘텐츠 제한은 증가하지 않습니다.인덱서 정의의
imageAction매개 변수를 .가 아닌none값으로 설정 이렇게 하면 개별적으로 전달되는 경우(즉,/document/normalized_images/*) 이 기술에 대한 입력에 필요한 규칙을 따르는 이미지 배열이 만들어집니다.사용자 지정 기술이 있으면 위와 같이 정확하게 정의된 json 개체가 반환됩니다. 매개 변수를 정확하게
$type설정해야 하며file매개 변수는data파일 콘텐츠의 base 64로 인코딩된 바이트 배열 데이터여야 합니다. 또는url매개 변수는 해당 위치에서 파일을 다운로드할 수 있는 액세스 권한이 있는 올바른 형식의 URL이어야 합니다.
기술 성과
| 출력 이름 | Description |
|---|---|
content |
문서의 텍스트 내용입니다. |
normalized_images |
값이 아닌 none값으로 설정되면 imageAction 새 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": []
}
}
]
}