사용자 지정 모델 학습 및 사용

완료됨

팁 (조언)

자세한 내용은 텍스트 및 이미지 탭을 참조하세요.

미리 빌드된 모델이 특정 문서 형식을 다루지 않는 경우 사용자 지정 모델을 학습하여 사용자 고유의 양식에서 데이터를 추출할 수 있습니다. Azure Document Intelligence는 추출하려는 필드로 샘플 문서에 레이블을 지정하는 감독된 기계 학습을 지원하며, 서비스는 새 문서에서 해당 필드를 인식하도록 모델을 학습시킵니다.

사용자 지정 모델 형식

Azure Document Intelligence는 다음 두 가지 유형의 사용자 지정 추출 모델과 분류 모델을 제공합니다.

사용자 지정 템플릿 모델

사용자 지정 템플릿 모델은 일관된 시각적 템플릿을 사용하여 레이블이 지정된 데이터를 추출합니다. 레이아웃이 한 문서 인스턴스에서 다음 문서 인스턴스로 정적인 구조화된 양식(예: 설문지, 애플리케이션 또는 표준 정부 양식)에 가장 적합합니다.

템플릿 모델은 레이블이 지정된 키-값 쌍, 선택 마크, 테이블, 영역 및 서명을 정확하게 추출합니다. 교육은 몇 분 밖에 걸리지 않으며 100개 이상의 언어가 지원됩니다. 템플릿 모델은 학습 속도가 빠르며 실행 비용 효율적이므로 문서에 균일한 시각적 레이아웃이 있는 경우 좋은 시작점입니다.

사용자 지정 신경망 모델

사용자 지정 신경망 모델은 딥 러닝을 사용하며 레이블이 지정된 데이터에 대해 미세 조정됩니다. 레이아웃 및 언어 기능을 결합하여 구조적, 반구조적 및 구조화되지 않은 문서에서 필드를 추출합니다. 신경망 모델 지원:

  • 겹치는 필드
  • 서명 검색
  • 표, 행 및 셀 수준 신뢰도

신경망 모델은 템플릿 모델보다 정확도가 높으며, 특히 레이아웃이 인스턴스마다 다른 반구조적 또는 비구조적 문서의 경우 특히 그렇습니다. 그러나 더 많은 리소스를 학습하고 사용하는 데 시간이 더 오래 걸립니다.

템플릿 및 신경망 모델 중에서 선택

사용할 사용자 지정 모델 유형을 결정할 때는 다음과 같은 절충을 고려합니다.

요인 사용자 지정 템플릿 사용자 지정 인공신경망
최적입니다 일관된 시각적 레이아웃을 사용하는 구조화된 양식 다양한 레이아웃을 사용하는 반구조적 또는 비구조적 문서
학습 시간 회의록 더 길기(데이터 세트 크기에 따라 다름)
교육 비용 낮추다 더 높음
정확성 고정 레이아웃 양식의 경우 높음; 레이아웃이 달라지면 감소합니다. 특히 서식 변형이 있는 문서의 경우 전반적으로 더 높아질 수 있습니다.
언어 지원 100개 이상의 언어 더 적은 언어(현재 지원에 대한 설명서 확인)
기능 지원 키 값 쌍, 선택 표시, 표, 영역, 서명 겹치는 필드, 서명 검색, 테이블/행/셀 신뢰도

팁 (조언)

양식에 일관된 시각적 레이아웃이 있는 경우 사용자 지정 템플릿 모델로 시작합니다. 더 빠르고 저렴하게 훈련할 수 있습니다. 정확도가 부족하거나 문서의 형식이 다른 경우 사용자 지정 신경망 모델로 전환합니다.

사용자 지정 분류자

사용자 지정 분류 모델은 추출 모델을 호출하기 전에 문서의 형식을 식별합니다. 여러 양식 형식을 처리할 때 분류자를 사용하여 들어오는 문서를 적절한 추출 모델로 라우팅할 수 있습니다.

사용자 지정 모델 학습

사용자 지정 추출 모델을 학습하려면 다음을 수행합니다.

  1. 레이아웃 및 레이블 필드 정보를 포함하는 JSON 파일과 함께 Azure Blob 컨테이너에 샘플 양식을 저장합니다.
    • ocr.json 각 샘플 양식에 대한 파일입니다(분석 문서 함수를 사용하여 생성됨).
    • 추출하려는 필드를 설명하는 단일 fields.json 파일입니다.
    • labels.json 각 샘플 양식에 대한 파일로, 필드를 양식의 해당 위치에 매핑합니다.
  2. 컨테이너에 대한 SAS(공유 액세스 서명) URL을 생성합니다.
  3. 빌드 모델 REST API 함수 또는 동등한 SDK 메서드를 사용합니다.
  4. 모델 가져오기 REST API 함수를 사용하여 학습된 모델 ID를 검색합니다.

Document Intelligence Studio를 사용하여 맞춤 모델을 시각적으로 학습할 수도 있으며, 이에 대한 자세한 내용은 Document Intelligence Studio 사용하기 단원에 설명되어 있습니다.

팁 (조언)

학습에 5~6개 이상의 샘플 양식을 사용합니다. 더 크고 다양한 데이터 세트는 보다 정확한 모델을 생성합니다.

사용자 지정 모델 사용

사용자 지정 모델을 사용하여 양식 데이터를 추출하려면 모델 ID를 사용하여 문서 분석 함수를 호출합니다. 지원되는 SDK 또는 REST API를 사용할 수 있습니다.

C#

string endpoint = "<endpoint>";
string apiKey = "<apiKey>";
AzureKeyCredential credential = new AzureKeyCredential(apiKey);
DocumentAnalysisClient client = new DocumentAnalysisClient(new Uri(endpoint), credential);

string modelId = "<modelId>";
Uri fileUri = new Uri("<fileUri>");

AnalyzeDocumentOperation operation = await client.AnalyzeDocumentFromUriAsync(WaitUntil.Completed, modelId, fileUri);
AnalyzeResult result = operation.Value;

파이썬

endpoint = "YOUR_DOC_INTELLIGENCE_ENDPOINT"
key = "YOUR_DOC_INTELLIGENCE_KEY"

model_id = "YOUR_CUSTOM_BUILT_MODEL_ID"
formUrl = "YOUR_DOCUMENT"

document_analysis_client = DocumentAnalysisClient(
    endpoint=endpoint, credential=AzureKeyCredential(key)
)

task = document_analysis_client.begin_analyze_document_from_url(model_id, formUrl)
result = task.result()

성공적인 응답에는 추출된 콘텐츠가 포함된 analyzeResult 개체와, 문서에 대한 정보를 담은 페이지 배열이 포함됩니다.

구성된 모델

여러 사용자 지정 모델을 단일 구성 모델로 결합할 수 있습니다. 문서를 작성 모델에 제출하면 Document Intelligence에서 가장 적합한 구성 요소 모델을 결정하기 위해 분류한 다음 해당 모델에서 추출 결과를 반환합니다. 이 방법은 각각 고유한 추출 모델이 필요한 여러 양식 형식을 처리할 때 유용합니다.

자세히 알아보기