문서 추출 Level 200 · 25분
정보 추출(Content Understanding) 시작하기
OCR·레이아웃·영수증 분석기로 이미지와 문서 속 비정형 정보를 구조화된 데이터로 추출하는 방법을 익힙니다.
1. Foundry 프로젝트 준비하기
- 1번 모듈과 같은 방법으로 새 프로젝트를 만들되, 지역은 West US, Sweden Central, Australia East 또는 지원 리전 목록 중 하나를 선택합니다.

2. Content Understanding이란
- Azure Content Understanding (컨텐츠 이해)은 AI 모델을 사용해 문서·이미지·영상·오디오 같은 비정형·멀티모달 콘텐츠를 JSON 같은 구조화된 사용 가능한 출력으로 변환하는 Foundry 서비스입니다. 필드를 추출·분류·생성하면서 신뢰도 점수와 근거(출처)를 함께 제공하는 방식으로 콘텐츠를 처리합니다.
3. Content Understanding 플레이그라운드 열기
- Foundry 포털 상단 툴바에서 Build를 선택합니다.
- Build 페이지 왼쪽 메뉴(필요하면 펼치기)에서 Services 페이지를 선택합니다. Microsoft Foundry Tools에는 음성·번역·언어·콘텐츠 이해 워크로드를 지원하는 다양한 AI 서비스(과거 Microsoft Cognitive Services)가 포함되어 있습니다.

4. Content Understanding (컨텐츠 이해 - OCR 읽기 분석기) 선택하기
- Content Understanding을 선택해 Content Understanding (컨텐츠 이해 - OCR 읽기 분석기) 도구 플레이그라운드를 엽니다.

5. OCR로 이미지 속 텍스트 읽기
- 컴퓨터 하드웨어나 인쇄된 정보가 있는 물건에 관한 정보를 찾고 싶다고 가정해 봅니다. 첫 단계로 텍스트를 디지털화하면 인터넷이나 AI 어시스턴트에서 세부 정보를 조회하는 데 활용할 수 있습니다. 이미지 속 텍스트를 '읽어내는' AI 기술을 광학 문자 인식(OCR)이라고 합니다.
- OCR/Read를 선택하고, Modality 목록에서 Document가, 분석기 목록에서 OCR/Read가 선택되어 있는지 확인합니다.
- 아무 샘플 이미지나 선택하고 Run analysis 버튼으로 텍스트를 추출합니다. 분석이 끝나면 결과를 확인합니다.

6. PCB 이미지로 OCR 실습하기
- 오른쪽 패널에서 Markdown, Paragraphs, Result 탭을 확인해 분석기가 문서에서 읽어낸 데이터를 살펴봅니다.
- 새 브라우저 탭에서 https://aka.ms/pcb-images 의 pcbs.zip을 내려받아 로컬 컴퓨터에 압축을 풉니다. 이 파일들은 텍스트가 담긴 인쇄회로기판(PCB) 이미지입니다.
- PCB 이미지 중 하나를 업로드해 앱 메인 화면에서 확인합니다.
- 업로드한 이미지를 분석하고 결과를 검토합니다.

7. Layout 분석기로 구조 파악하기
- 다른 PCB 이미지들로도 분석을 반복해 봅니다.
- TIP: 텍스트가 읽을 수 있게 담긴 이미지라면 무엇이든 업로드해볼 수 있습니다.
- OCR/Read 분석기는 이미지에서 텍스트를 추출하지만, 때로는 이미지 속 텍스트의 레이아웃에 대한 추가 정보가 필요할 수 있습니다.
- 분석기 목록에서 Layout을 선택합니다. 샘플 이미지 중 하나를 선택하고 Run analysis 버튼으로 정보를 추출한 뒤, Markdown, Paragraphs, Tables, Result 탭에서 문서 레이아웃이 어떻게 해석되었는지 확인합니다.
- 텍스트와 페이지 레이아웃을 추출하는 것은 스캔할 문서가 일관되고 명확하게 정의된 구조를 가질 때 유용합니다. 하지만 많은 경우, 어떤 텍스트 값이 어떤 데이터 필드에 매핑되는지 식별할 수 있어야 하므로 더 특화된 분석기가 필요합니다.
8. 문서에서 데이터 필드 추출하기
- 이번에는 스캔한 영수증에서 데이터 필드를 추출해 경비 청구 솔루션 자동화를 돕는다고 가정해 봅니다. OCR로 이미지에서 텍스트와 위치를 식별한 뒤, 생성형 AI 모델로 개별 텍스트 값을 회사명·전화번호·날짜·금액 같은 특정 데이터 필드와 연결할 수 있습니다.
- 분석기 유형 목록에서 Procurement(조달) 를 선택한 뒤 영수증 분석기를 선택합니다.
- TIP: 필드 추출은 커스텀 모델이 필요하므로 이 과정에서 모델 배포를 요청받을 수 있습니다. 이때는 Cancel을 클릭하세요. 분석을 직접 실행하지 않고 미리 준비된 분석 결과를 확인합니다.

9. 필드 추출 결과 확인하기
- 오른쪽 패널에서 Fields, Markdown, Paragraphs, Result 탭을 확인해 분석기가 문서에서 추출한 데이터를 살펴봅니다.
- Fields 탭은 Results 탭의 원시 JSON을 클라이언트 애플리케이션이 분석 결과를 받는 방식과 같은, 사람이 보기 쉬운 형태로 보여줍니다.
10. Python SDK로 콘텐츠 추출 이해하기
- 개발자는 코드로도 콘텐츠에서 의미를 추출할 수 있습니다. Foundry 플레이그라운드는 Azure Content Understanding으로 정보 추출을 시작할 수 있는 다양한 코드 샘플을 제공합니다.
- Receipt 분석기 결과를 보는 동안 Code 탭을 선택하면, azure-ai-contentunderstanding 패키지의 ContentUnderstandingClient로 엔드포인트에 연결한 뒤 begin_analyze 메서드로 prebuilt-receipt 분석기에 파일 URL을 제출하고, 완료되면 JSON 형식의 분석 결과를 반환받는 Python 코드를 확인할 수 있습니다.
11. 요약 및 정리
- 이 실습에서는 Foundry의 Azure Content Understanding을 살펴보고, 비정형 콘텐츠를 구조화된 사용 가능한 데이터로 변환하는 방법을 배웠습니다. 각각 이전 기능을 바탕으로 하는 세 가지 분석기를 다뤘습니다: Read(문서에서 구조나 의미 해석 없이 원시 텍스트만 추출) · Layout(구조와 계층까지 포착) · Receipt(텍스트 값을 데이터 필드에 매핑하는 문서 특화 분석기).
- 또한 Python SDK로 Content Understanding을 애플리케이션에 통합해 Foundry 플레이그라운드 밖에서도 프로그래밍 방식으로 문서를 분석하는 방법을 살펴봤습니다.
- 정리(Clean up): Content Understanding 서비스 사용을 마쳤다면 불필요한 Azure 비용 발생을 막기 위해 만든 리소스를 삭제하세요.
- Azure 포털(portal.azure.com)에서 만든 리소스가 포함된 리소스 그룹을 선택합니다.
- Delete resource group을 선택하고 리소스 그룹 이름을 입력해 확인하면 리소스 그룹이 삭제됩니다.