다음을 통해 공유


문서 인텔리전스 사용자 지정 분류 모델

이 콘텐츠는확인 표시 v4.0(GA) | 이전 버전: 파란색 확인 표시 v3.1(GA)에 적용됩니다.

이 콘텐츠는 확인 표시 v3.1(GA) | 최신 버전: 보라색 확인 표시 v4.0(GA)에 적용됩니다.

Important

  • v4.0 2024-11-30 (GA) API, 사용자 지정 분류 모델은 분석 프로세스 중에 기본적으로 문서를 분할하지 않습니다.
  • 이전 릴리스의 동작을 유지하려면 명시적으로 splitMode 속성을 자동으로 설정해야 합니다. splitMode에 대한 기본값은 none입니다.
  • 입력 파일에 여러 문서가 포함된 경우 splitModeauto로 설정하여 분할을 사용하도록 설정해야 합니다.

Azure AI 문서 인텔리전스는 지능형 문서 처리 솔루션을 빌드할 수 있는 클라우드 기반 Azure AI 서비스입니다. 문서 인텔리전스 API는 이미지, PDF, 기타 문서 파일을 분석하여 다양한 콘텐츠, 레이아웃, 스타일, 의미 요소를 추출하고 검색합니다.

사용자 지정 분류 모델은 레이아웃 및 언어 기능을 결합하여 애플리케이션 내에서 처리하는 문서를 정확하게 검색하고 식별하는 딥 러닝 모델 형식입니다. 사용자 지정 분류 모델은 한 번에 한 페이지씩 입력 파일을 분류하여 파일 내 문서를 식별하고 입력 파일 내 여러 문서 또는 단일 문서의 여러 인스턴스를 식별할 수도 있습니다.

모델 기능

참고 항목

  • 사용자 지정 분류 v4.0 2024-11-30(GA) 모델은 증분 학습을 지원합니다. 기존 클래스에 새 샘플을 추가하거나 기존 분류자를 참조하여 새 클래스를 추가할 수 있습니다.
  • 사용자 지정 분류 v3.1 2023-07-31(GA) 모델은 모델 복사를 지원하지 않습니다. 모델 복사 기능을 사용하려면 최신 v4.0 GA 모델을 사용하여 모델을 학습하세요.

사용자 지정 분류 모델은 단일 또는 여러 파일 문서를 분석하여 학습된 문서 형식이 입력 파일 내에 포함되어 있는지 여부를 식별할 수 있습니다. 현재 지원되는 시나리오는 다음과 같습니다.

  • 대출 신청 양식과 같은 하나의 문서 형식을 포함하는 단일 파일

  • 여러 문서 형식이 포함된 단일 파일입니다. 예를 들어, 대출 신청 양식, 급여 명세서 및 은행 명세서를 포함하는 대출 신청 패키지가 있습니다.

  • 동일한 문서의 여러 인스턴스를 포함하는 단일 파일. 예를 들어 스캔한 청구서의 컬렉션이 있습니다.

✔️ 사용자 지정 분류자를 학습시키려면 two 이상의 고유 클래스와 클래스당 최소 five 문서 샘플이 필요합니다. 모델 응답에는 식별된 문서의 각 클래스에 대한 페이지 범위가 포함됩니다.

✔️ 허용되는 최대 클래스 수는 1,000입니다. 클래스당 허용되는 최대 문서 샘플 수는 100입니다.

모델은 지정하지 않는 한 입력 문서의 각 페이지를 레이블이 지정된 데이터 세트의 클래스 중 하나로 분류합니다. 입력 문서에서 분석할 페이지 번호를 지정할 수도 있습니다. 애플리케이션의 임계값을 설정하려면 응답의 신뢰도 점수를 사용합니다.

증분 학습

사용자 지정 모델을 사용하면 기존 클래스에 대한 새 샘플로 분류자를 업데이트하거나 새 클래스를 추가하기 위해 학습 데이터 세트에 대한 액세스를 유지 관리해야 합니다. 이제 분류자 모델은 기존 분류자를 참조하고 기존 클래스에 대한 새 샘플을 추가하거나 샘플이 포함된 새 클래스를 추가할 수 있는 증분 학습을 지원합니다. 증분 학습을 사용하면 데이터 보존이 어렵고 변화하는 비즈니스 요구에 맞게 분류자를 업데이트해야 하는 시나리오가 해결될 수 있습니다. 증분 학습은 API 버전 v4.0 2024-11-30 (GA)으로 학습된 모델에서 지원됩니다.

Important

증분 학습은 동일한 API 버전으로 학습된 모델에서만 지원됩니다. 모델을 확장하려는 경우 원래 모델이 학습된 API 버전을 사용하여 모델을 확장합니다. 증분 학습은 API 버전 v4.0 2024-11-30(GA) 이상에서만 지원됩니다.

증분 학습을 수행하려면 원래 모델 ID를 baseClassifierId로 제공해야 합니다. 증분 학습을 사용하는 방법에 대한 자세한 내용은 증분 학습을 참조하세요.

Office 문서 유형 지원

이제 PDF, 이미지, Word, PowerPoint 및 Excel을 비롯한 다양한 형식으로 문서 유형을 인식하도록 분류자를 학습시킬 수 있습니다. 학습 데이터 세트를 어셈블할 때 지원되는 모든 유형의 문서를 추가할 수 있습니다. 분류자를 사용할 경우 특정 유형에 명시적으로 레이블을 지정할 필요가 없습니다. 모범 사례로, 모델의 전반적인 정확도를 향상시키기 위해 학습 데이터 세트에 각 형식의 샘플이 하나 이상 있는지 확인합니다.

사용자 지정 분류 및 구성된 모델 비교

사용자 지정 분류 모델은 일부 시나리오에서 구성된 모델을 대체할 수 있지만 주의해야 할 몇 가지 차이점이 있습니다.

기능 사용자 지정 분류자 프로세스 구성된 모델 프로세스
추출 모델 처리를 위해 학습된 형식 중 하나에 속하는 알 수 없는 형식의 단일 문서를 분석합니다. ● 여러 번의 호출이 필요합니다.
● 문서 클래스를 기준으로 분류 모델을 호출합니다. 이 단계에서는 추출 모델 분석을 호출하기 전에 신뢰도 기반 검사를 허용합니다.
● 추출 모델을 호출합니다.
● 입력 문서 형식에 해당하는 모델을 포함하는 구성된 모델에 대한 단일 호출이 필요합니다.
추출 모델 처리를 위해 학습된 여러 형식에 속하는 알 수 없는 형식의 단일 문서를 분석합니다. ● 여러 번의 호출이 필요합니다.
● 추출을 위해 지정된 유형과 일치하지 않는 문서를 무시하는 분류자를 호출합니다.
● 추출 모델을 호출합니다.
● 구성된 모델에 대한 단일 호출이 필요합니다. 서비스는 가장 높은 일치 항목이 있는 구성된 모델 내에서 사용자 지정 모델을 선택합니다.
● 구성된 모델은 문서를 무시할 수 없습니다.
추출 모델 처리를 위해 학습된 형식 중 하나에 속하는 알려진 형식 또는 알 수 없는 형식의 여러 문서가 포함된 파일을 분석합니다. ● 여러 번의 호출이 필요합니다.
● 입력 파일에서 식별된 각 문서에 대해 추출 모델을 호출합니다.
● 추출 모델을 호출합니다.
● 구성된 모델에 대한 단일 호출이 필요합니다.
● 구성된 모델은 문서의 첫 번째 인스턴스에서 구성 요소 모델을 한 번 호출합니다.
●나머지 문서는 무시됩니다.

언어 지원

분류 모델은 현재 영어 문서만 지원합니다.

이제 다양한 언어의 문서에 대해 분류 모델을 학습시킬 수 있습니다. 전체 목록은 지원되는 언어를 참조하세요.

입력 요구 사항

지원 파일 형식:

모델 PDF 이미지:
jpeg/jpg, png, bmp, tiffheif
Microsoft Office:
Word(docx), Excel(xlxs), PowerPoint(pptx)
읽기
레이아웃
일반 문서
사전 제작
사용자 지정 추출
사용자 지정 분류 ✔ (스튜디오에서 지원되지 않음)
  • 최상의 결과를 위해 문서 형식당 다섯 개의 명확한 사진 또는 고품질 스캔을 제공하세요.

  • PDF 및 TIFF의 경우 최대 2,000페이지를 처리할 수 있습니다(무료 계층 구독의 경우 처음 2페이지만 처리됨).

  • 문서 분석을 위한 파일 크기는 유료(S0) 계층의 경우 500MB, 무료(F0) 계층의 경우 4MB입니다.

  • 이미지 크기는 50 x 50픽셀에서 10,000 x 10,000픽셀 사이여야 합니다.

  • PDF가 암호로 잠긴 경우에는 제출하기 전에 잠금을 해제해야 합니다.

  • 추출할 텍스트의 최소 높이는 1024 x 768 픽셀 이미지의 경우 12픽셀입니다. 이 차원은 150DPI(인치당 도트 수)에서 약 8포인트 텍스트에 해당합니다.

  • 사용자 지정 모델 학습의 경우 학습 데이터의 최대 페이지 수는 사용자 지정 템플릿 모델의 경우 500개, 사용자 지정 인공신경망 모델의 경우 50,000개입니다.

  • 사용자 지정 추출 모델 학습의 경우 학습 데이터의 총 크기는 템플릿 모델의 경우 50MB, 신경망 모델의 경우 1G-MB입니다.

  • 사용자 지정 분류 모델 학습의 경우 학습 데이터의 총 크기는 2GB이며 최대 25,000페이지입니다.

문서 분할

파일에 문서가 두 개 이상 있는 경우 분류자는 입력 파일에 포함된 다양한 문서 형식을 식별할 수 있습니다. 분류자 응답에는 파일에 포함된 식별된 각 문서 형식의 페이지 범위가 포함됩니다. 이 응답에는 동일한 문서 형식의 여러 인스턴스가 포함될 수 있습니다.

이제 analyze 작업에는 분할 동작을 세부적으로 제어할 수 있는 splitMode 속성이 포함됩니다.

  • 전체 입력 파일을 분류를 위한 단일 문서로 처리하려면 splitMode를 none으로 설정합니다. 이렇게 하면 서비스는 전체 입력 파일에 대해 하나의 클래스만 반환합니다.
  • 입력 파일의 각 페이지를 분류하려면 splitMode를 perPage로 설정합니다. 서비스는 각 페이지를 개별 문서로 분류하려고 시도합니다.
  • splitMode를 auto로 설정하면 서비스는 문서 및 연결된 페이지 범위를 식별합니다.

모범 사례

사용자 지정 분류 모델을 학습하려면 클래스당 최소 5개의 샘플이 필요합니다. 클래스가 비슷한 경우 추가 학습 샘플을 추가하면 모델 정확도가 향상됩니다.

분류자는 각 문서를 클래스 중 하나에 할당하려 시도합니다. 학습 데이터 세트의 일부인 클래스에 없는 문서 형식을 모델이 볼 것으로 예상하는 경우 분류 점수의 임계값을 설정하거나 문서 형식의 몇 가지 대표적인 샘플을 "other" 클래스에 추가해야 합니다. "other" 클래스를 추가하면 불필요한 문서가 분류자 품질에 영향을 주지 않습니다.

모델 학습

사용자 지정 분류 모델은 v4.0 2024-11-30(GA) API에서 지원됩니다. 문서 인텔리전스 스튜디오는 사용자 지정 분류자를 대화형으로 학습시키는 코드 없는 사용자 인터페이스를 제공합니다. 시작하려면 방법 가이드를 따르세요.

REST API를 사용할 때 폴더별로 문서를 구성하는 경우 요청의 azureBlobSource 속성을 사용하여 분류 모델을 학습시킬 수 있습니다.


https://{endpoint}/documentintelligence/documentClassifiers:build?api-version=2024-02-29-preview

{
  "classifierId": "demo2.1",
  "description": "",
  "docTypes": {
    "car-maint": {
        "azureBlobSource": {
            "containerUrl": "SAS URL to container",
            "prefix": "sample1/car-maint/"
            }
    },
    "cc-auth": {
        "azureBlobSource": {
            "containerUrl": "SAS URL to container",
            "prefix": "sample1/cc-auth/"
            }
    },
    "deed-of-trust": {
        "azureBlobSource": {
            "containerUrl": "SAS URL to container",
            "prefix": "sample1/deed-of-trust/"
            }
    }
  }
}

https://{endpoint}/formrecognizer/documentClassifiers:build?api-version=2023-07-31

{
  "classifierId": "demo2.1",
  "description": "",
  "docTypes": {
    "car-maint": {
        "azureBlobSource": {
            "containerUrl": "SAS URL to container",
            "prefix": "{path to dataset root}/car-maint/"
            }
    },
    "cc-auth": {
        "azureBlobSource": {
            "containerUrl": "SAS URL to container",
            "prefix": "{path to dataset root}/cc-auth/"
            }
    },
    "deed-of-trust": {
        "azureBlobSource": {
            "containerUrl": "SAS URL to container",
            "prefix": "{path to dataset root}/deed-of-trust/"
            }
    }
  }
}

또는 파일의 플랫 목록이 있거나 각 폴더 내에서 몇 개의 선택 파일만 사용하여 모델을 학습시킬 계획인 경우 azureBlobFileListSource 속성을 사용하여 모델을 학습시킬 수 있습니다. 이 단계에서는 JSON 줄 형식의 file list가 필요합니다. 각 클래스에 대해 학습을 위해 제출할 파일 목록이 있는 새 파일을 추가합니다.

{
  "classifierId": "demo2",
  "description": "",
  "docTypes": {
    "car-maint": {
      "azureBlobFileListSource": {
        "containerUrl": "SAS URL to container",
        "fileList": "{path to dataset root}/car-maint.jsonl"
      }
    },
    "cc-auth": {
      "azureBlobFileListSource": {
        "containerUrl": "SAS URL to container",
        "fileList": "{path to dataset root}/cc-auth.jsonl"
      }
    },
    "deed-of-trust": {
      "azureBlobFileListSource": {
        "containerUrl": "SAS URL to container",
        "fileList": "{path to dataset root}/deed-of-trust.jsonl"
      }
    }
  }
}

예를 들어 파일 목록 car-maint.jsonl에는 다음 파일이 포함됩니다.

{"file":"classifier/car-maint/Commercial Motor Vehicle - Adatum.pdf"}
{"file":"classifier/car-maint/Commercial Motor Vehicle - Fincher.pdf"}
{"file":"classifier/car-maint/Commercial Motor Vehicle - Lamna.pdf"}
{"file":"classifier/car-maint/Commercial Motor Vehicle - Liberty.pdf"}
{"file":"classifier/car-maint/Commercial Motor Vehicle - Trey.pdf"}

모델 덮어쓰기

참고 항목

v4.0 2024-11-30(GA) 사용자 지정 분류 모델은 현재 위치에서 모델 덮어쓰기를 지원합니다.

이제 사용자 지정 분류를 현재 위치에서 업데이트할 수 있습니다. 모델을 직접 덮어쓰면 기존 모델을 바꾸기로 결정하기 전에 모델 품질을 비교할 수 없게 됩니다. allowOverwrite 속성이 요청 본문에 명시적으로 지정된 경우 모델 덮어쓰기가 허용됩니다. 이 작업이 수행되면 덮어쓴 원래 모델을 복구할 수 없습니다.



{
  "classifierId": "existingClassifierName",
  "allowOverwrite": true,  // Default=false
  ...
}

모델 복사

참고 항목

사용자 지정 분류 v4.0 2024-11-30(GA) 모델은 다음 지역 간 모델 복사를 지원합니다.

  • 미국 동부
  • 미국 서부2
  • 서유럽

REST API 또는 문서 인텔리전스 스튜디오를 사용하여 모델을 다른 지역으로 복사합니다.

복사 권한 부여 요청 생성

다음 HTTP 요청은 대상 리소스에서 복사 권한 부여를 가져옵니다. 대상 리소스의 엔드포인트와 키를 헤더로 입력해야 합니다.

POST https://myendpoint.cognitiveservices.azure.com/documentintelligence/documentClassifiers:authorizeCopy?api-version=2024-11-30
Ocp-Apim-Subscription-Key: {<your-key>}

요청 본문

{
  "classifierId": "targetClassifier",
  "description": "Target classifier description"
}

복사를 시작하는 데 필요한 JSON 페이로드가 포함된 응답 본문과 함께 200 응답 코드를 수신합니다.

{
  "targetResourceId": "/subscriptions/targetSub/resourceGroups/targetRG/providers/Microsoft.CognitiveServices/accounts/targetService",
  "targetResourceRegion": "targetResourceRegion",
  "targetClassifierId": "targetClassifier",
  "targetClassifierLocation": "https://targetEndpoint.cognitiveservices.azure.com/documentintelligence/documentClassifiers/targetClassifier",
  "accessToken": "accessToken",
  "expirationDateTime": "timestamp"
}

복사 작업 시작

다음 HTTP 요청은 원본 리소스에 대한 복사 작업을 시작합니다. 원본 리소스의 엔드포인트와 키를 URL과 헤더로 입력해야 합니다. 요청 URL에는 복사하려는 원본 분류자의 분류자 ID가 포함됩니다.

POST {endpoint}/documentintelligence/documentClassifiers/{classifierId}:copyTo?api-version=2024-11-30
Ocp-Apim-Subscription-Key: {<your-key>}

요청 본문은 이전 단계의 응답입니다.

{
  "targetResourceId": "/subscriptions/targetSub/resourceGroups/targetRG/providers/Microsoft.CognitiveServices/accounts/targetService",
  "targetResourceRegion": "targetResourceRegion",
  "targetClassifierId": "targetClassifier",
  "targetClassifierLocation": "https://targetEndpoint.cognitiveservices.azure.com/documentintelligence/documentClassifiers/targetClassifier",
  "accessToken": "accessToken",
  "expirationDateTime": "timestamp"
}

모델 응답

문서 분류 모델을 사용하여 입력 파일 분석

https://{endpoint}/documentintelligence/documentClassifiers/{classifier}:analyze?api-version=2024-02-29-preview

v4.0 2024-11-30 (GA) API를 사용하면 요청의 쿼리 매개 변수를 사용하여 pages 입력 문서에서 분석할 페이지를 지정할 수 있습니다.

https://{service-endpoint}/formrecognizer/documentClassifiers/{classifier}:analyze?api-version=2023-07-31

응답에는 응답의 문서 섹션에 연결된 페이지 범위가 있는 식별된 문서가 포함됩니다.

{
  ...

    "documents": [
      {
        "docType": "formA",
        "boundingRegions": [
          { "pageNumber": 1, "polygon": [...] },
          { "pageNumber": 2, "polygon": [...] }
        ],
        "confidence": 0.97,
        "spans": []
      },
      {
        "docType": "formB",
        "boundingRegions": [
          { "pageNumber": 3, "polygon": [...] }
        ],
        "confidence": 0.97,
        "spans": []
      }, ...
    ]
  }

다음 단계

사용자 지정 분류 모델을 만드는 방법을 알아봅니다.