다음을 통해 공유


문서 인텔리전스 레이아웃 모델이란?

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

Foundry Tools의 Azure Document Intelligence 레이아웃 모델은 기계 학습을 기반으로 하는 고급 문서 분석 API입니다. 이 모델은 Document Intelligence 클라우드에서 사용할 수 있습니다. 이를 사용하여 다양한 형식의 문서를 가져와서 문서의 구조화된 데이터 표현을 반환할 수 있습니다. 이 모델은 향상된 버전의 강력한 OCR(광학 문자 인식) 기능을 딥 러닝 모델과 결합하여 텍스트, 표, 선택 표시 및 문서 구조를 추출합니다.

문서 구조 레이아웃 분석

문서 구조 레이아웃 분석은 문서를 분석하여 관심 영역과 해당 상호 관계를 추출하는 프로세스입니다. 목표는 페이지에서 텍스트 및 구조 요소를 추출하여 더 나은 의미 체계 이해 모델을 빌드하는 것입니다. 문서 레이아웃에는 두 가지 유형의 역할이 있습니다.

  • 기하학적 역할: 텍스트, 테이블, 그림 및 선택 표시는 기하학적 역할의 예입니다.
  • 논리적 역할: 제목, 머리글 및 바닥글은 텍스트의 논리적 역할의 예입니다.

다음 그림에서는 샘플 페이지의 이미지에 있는 일반적인 구성 요소를 보여 줍니다.

문서 레이아웃 예제를 보여 주는 그림입니다.

개발 옵션

문서 인텔리전스 v4.0: 2024-11-30(GA)은 다음 도구, 애플리케이션 및 라이브러리를 지원합니다.

기능 리소스 모델 ID
레이아웃 모델 Document Intelligence Studio
REST API
C# SDK
Python SDK
Java SDK
JavaScript SDK
prebuilt-layout

지원되는 언어

지원되는 언어의 전체 목록은 언어 지원: 문서 분석 모델을 참조하세요.

지원되는 파일 형식

문서 인텔리전스 v4.0: 2024-11-30(GA) 레이아웃 모델은 다음 파일 형식을 지원합니다.

모델 PDF 파일 이미지:
JPEG/JPG, PNG, BMP, TIFF, HEIF
Office:
Word(DOCX), Excel(XLS), PowerPoint(PPTX), HTML
레이아웃

입력 요구 사항

  • 사진 및 스캔: 최상의 결과를 위해 문서당 하나의 명확한 사진 또는 고품질 스캔을 제공합니다.
  • PDF 및 TIFF: PDF 및 TIFF의 경우 최대 2,000페이지를 처리할 수 있습니다. (무료 계층 구독을 사용하면 처음 두 페이지만 처리됩니다.)
  • 암호 잠금: PDF가 암호로 잠긴 경우 제출하기 전에 잠금을 제거해야 합니다.
  • 파일 크기: 문서를 분석하기 위한 파일 크기는 유료(S0) 계층의 경우 500MB, 무료(F0) 계층의 경우 4MB입니다.
  • 이미지 크기: 이미지 크기는 50픽셀 x 50픽셀에서 10,000픽셀 x 10,000픽셀 사이여야 합니다.
  • 텍스트 높이: 추출할 텍스트의 최소 높이는 1024 x 768픽셀 이미지의 경우 12픽셀입니다. 이 차원은 인치당 150개 점의 약 8포인트 텍스트에 해당합니다.
  • 사용자 지정 모델 학습: 학습 데이터의 최대 페이지 수는 사용자 지정 템플릿 모델의 경우 500개, 사용자 지정 신경망 모델의 경우 50,000개입니다.
  • 사용자 지정 추출 모델 학습: 학습 데이터의 총 크기는 템플릿 모델의 경우 50MB, 신경망 모델의 경우 1GB입니다.
  • 사용자 지정 분류 모델 학습: 학습 데이터의 총 크기는 1GB이며 최대 10,000페이지입니다. 2024-11-30(GA)의 경우 학습 데이터의 총 크기는 2GB이며 최대 10,000페이지입니다.
  • Office 파일 형식(DOCX, XLSX, PPTX) : 최대 문자열 길이 제한은 8백만 자입니다.

모델 사용량, 할당량 및 서비스 제한에 대한 자세한 내용은 서비스 제한을 참조하세요.

레이아웃 모델 시작

문서 인텔리전스를 사용하여 텍스트, 표, 표 머리글, 선택 표시 및 구조 정보를 포함한 데이터를 문서에서 추출하는 방법을 알아보세요. 다음과 같은 리소스가 필요합니다.

키 및 엔드포인트를 검색한 후 다음 개발 옵션을 사용하여 문서 인텔리전스 애플리케이션을 빌드하고 배포합니다.

데이터 추출

레이아웃 모델은 문서에서 구조적 요소를 추출합니다. 다음 구조적 요소는 문서 입력에서 추출하는 방법에 대한 지침과 함께 이 문서의 나머지 부분에서 설명합니다.

Document Intelligence Studio 내에서 샘플 레이아웃 문서 분석을 실행합니다. 그런 다음 결과 탭으로 이동하여 전체 JSON 출력에 액세스합니다.

Document Intelligence Studio의 JSON 출력 탭에 있는 결과를 보여 주는 스크린샷

페이지

컬렉션은 pages 문서 내의 페이지 목록입니다. 각 페이지는 문서 내에서 순차적으로 표시되며 페이지가 회전되는지를 나타내는 방향 각도와 너비와 높이(픽셀 단위)를 포함합니다. 모델 출력의 페이지 단위는 다음 표와 같이 계산됩니다.

파일 형식 계산된 페이지 단위 총 페이지 수
이미지(JPEG/JPG, PNG, BMP, HEIF) 각 이미지 = 1페이지 단위입니다. 총 이미지
PDF 파일 PDF의 각 페이지 = 1페이지 단위입니다. PDF의 총 페이지 수
TIFF (이미지 파일 형식) TIFF = 1 페이지 단위의 각 이미지입니다. TIFF의 총 이미지
Word(DOCX) 최대 3,000자 = 1페이지 단위입니다. 포함된 이미지 또는 연결된 이미지는 지원되지 않습니다. 각각 최대 3,000자의 총 페이지
Excel(XLSX) 각 워크시트 = 1페이지 단위입니다. 포함된 이미지 또는 연결된 이미지는 지원되지 않습니다. 전체 워크시트
PowerPoint(PPTX) 각 슬라이드 = 1페이지 단위입니다. 포함된 이미지 또는 연결된 이미지는 지원되지 않습니다. 전체 슬라이드
HTML 최대 3,000자 = 1페이지 단위입니다. 포함된 이미지 또는 연결된 이미지는 지원되지 않습니다. 각각 최대 3,000자의 총 페이지
# Analyze pages.
for page in result.pages:
print(f"----Analyzing layout from page #{page.page_number}----")
print(f"Page has width: {page.width} and height: {page.height}, measured with unit: {page.unit}")

선택한 페이지 추출

큰 다중 페이지 문서의 경우 쿼리 매개 변수를 pages 사용하여 텍스트 추출을 위한 특정 페이지 번호 또는 페이지 범위를 나타냅니다.

단락

레이아웃 모델은 컬렉션에서 paragraphs 식별된 모든 텍스트 블록을 아래 analyzeResults의 최상위 개체로 추출합니다. 이 컬렉션의 각 항목은 텍스트 블록을 나타내며 추출된 텍스트 content 와 경계 polygon 좌표를 포함합니다. 이 spans 정보는 문서의 전체 텍스트를 포함하는 최상위 content 속성 내의 텍스트 조각을 가리킵니다.


"paragraphs": [
    {
        "spans": [],
        "boundingRegions": [],
        "content": "While healthcare is still in the early stages of its Al journey, we are seeing pharmaceutical and other life sciences organizations making major investments in Al and related technologies.\" TOM LAWRY | National Director for Al, Health and Life Sciences | Microsoft"
    }
]

단락 역할

기계 학습을 기반으로 하는 새 페이지 개체 검색은 제목, 섹션 머리글, 페이지 머리글, 페이지 바닥글 등과 같은 논리적 역할을 추출합니다. 문서 인텔리전스 레이아웃 모델은 모델에서 paragraphs 예측하는 특수한 역할 또는 형식을 사용하여 컬렉션의 특정 텍스트 블록을 할당합니다.

보다 풍부한 의미 체계 분석을 위해 추출된 콘텐츠의 레이아웃을 이해하는 데 도움이 되도록 구조화되지 않은 문서에 단락 역할을 사용하는 것이 가장 좋습니다. 지원되는 단락 역할은 다음과 같습니다.

예측된 역할 Description 지원되는 파일 형식
title 페이지의 기본 제목 PDF, 이미지, DOCX, PPTX, XLSX, HTML
sectionHeading 페이지의 하나 이상의 부제목 PDF, 이미지, DOCX, XLSX, HTML
footnote 페이지 아래쪽에 있는 텍스트 PDF, 이미지
pageHeader 페이지 위쪽 가장자리에 있는 텍스트 PDF, 이미지, DOCX
pageFooter 페이지 아래쪽 에지에 있는 텍스트 PDF, 이미지, DOCX, PPTX, HTML
pageNumber 페이지 번호 PDF, 이미지
{
    "paragraphs": [
                {
                    "spans": [],
                    "boundingRegions": [],
                    "role": "title",
                    "content": "NEWS TODAY"
                },
                {
                    "spans": [],
                    "boundingRegions": [],
                    "role": "sectionHeading",
                    "content": "Mirjam Nilsson"
                }
    ]
}

텍스트 줄 및 단어

Document Intelligence의 문서 레이아웃 모델은 인쇄 및 필기 스타일 텍스트를 다음과 같이 lineswords추출합니다. 컬렉션에는 styles 연결된 텍스트를 가리키는 범위와 함께 감지된 경우 선에 대한 필기 스타일이 포함됩니다. 이 기능은 지원되는 필기 언어에 적용됩니다.

Microsoft Word, Excel, PowerPoint 및 HTML의 경우 문서 인텔리전스 v4.0 2024-11-30(GA) 레이아웃 모델은 포함된 모든 텍스트를 있는 그대로 추출합니다. 텍스트는 단어와 단락으로 추출됩니다. 포함된 이미지는 지원되지 않습니다.

# Analyze lines.
if page.lines:
    for line_idx, line in enumerate(page.lines):
    words = get_words(page, line)
    print(
        f"...Line # {line_idx} has word count {len(words)} and text '{line.content}' "
        f"within bounding polygon '{line.polygon}'"
    )

    # Analyze words.
    for word in words:
        print(f"......Word '{word.content}' has a confidence of {word.confidence}")

텍스트 줄에 대한 필기 스타일

응답에는 각 텍스트 줄이 필기 스타일인지 여부와 신뢰도 점수가 포함됩니다. 자세한 내용은 필기 언어 지원을 참조하세요. 다음 예제에서는 JSON 코드 조각 예제를 보여 줍니다.

"styles": [
{
    "confidence": 0.95,
    "spans": [
    {
        "offset": 509,
        "length": 24
    }
    "isHandwritten": true
    ]
}

글꼴/스타일 추가 기능도 사용하도록 설정하면 개체의 styles 일부로 글꼴/스타일 결과가 표시됩니다.

선택 표시

레이아웃 모델은 문서에서 선택 표시도 추출합니다. 추출된 선택 표시는 각 페이지의 pages 컬렉션 내에 표시됩니다. 여기에는 경계 polygon, confidence 및 선택 영역 state(selected/unselected)가 포함됩니다. 텍스트 표현(즉, :selected::unselected)도 시작 인덱스(offset)로 포함되며 length 문서의 전체 텍스트가 포함된 최상위 content 속성을 참조합니다.

# Analyze selection marks.
if page.selection_marks:
    for selection_mark in page.selection_marks:
        print(
            f"Selection mark is '{selection_mark.state}' within bounding polygon "
            f"'{selection_mark.polygon}' and has a confidence of {selection_mark.confidence}"
        )

테이블

테이블 추출은 일반적으로 테이블 형식이 지정된 대량의 데이터를 포함하는 문서를 처리하기 위한 주요 요구 사항입니다. 레이아웃 모델은 JSON 출력 섹션의 pageResults 테이블을 추출합니다. 추출된 테이블 정보에는 열 및 행 수, 행 범위 및 열 범위가 포함됩니다.

경계 다각형이 있는 각 셀은 영역이 인식되는지 여부에 대한 정보와 함께 출력됩니다 columnHeader . 모델은 순환되는 테이블 추출을 지원합니다. 각 테이블 셀에는 행 및 열 인덱스와 경계 다각형 좌표가 포함됩니다. 셀 텍스트의 경우 모델은 시작 인덱스 span (offset)가 포함된 정보를 출력합니다. 또한 모델은 문서의 전체 텍스트를 포함하는 최상위 수준 콘텐츠 내에서 length를 출력합니다.

다음은 문서 인텔리전스 베일 추출 기능을 사용할 때 고려해야 할 몇 가지 요소입니다.

  • 추출하려는 데이터가 테이블로 존재하고 테이블 구조가 의미 있나요?
  • 데이터가 테이블 형식이 아닌 경우 데이터가 2차원 그리드에 잘 맞나요?
  • 테이블이 여러 페이지에 걸쳐 있나요? 그렇다면 모든 페이지에 레이블을 지정할 필요가 없도록 PDF를 문서 인텔리전스로 보내기 전에 페이지로 분할합니다. 분석 후 페이지를 단일 테이블로 후처리합니다.
  • 사용자 지정 모델을 만드는 경우 테이블 형식 필드를 참조하세요. 각 열에 대한 동적 테이블의 행 수는 가변적입니다. 각 열에 대한 고정 테이블의 행 수는 일관적입니다.

참고

입력 파일이 XLSX인 경우 테이블 분석이 지원되지 않습니다. 2024-11-30(GA)의 경우 그림과 테이블의 경계 영역은 핵심 콘텐츠만 포함하며 관련 캡션 및 각주를 제외합니다.

if result.tables:
    for table_idx, table in enumerate(result.tables):
        print(f"Table # {table_idx} has {table.row_count} rows and " f"{table.column_count} columns")
        if table.bounding_regions:
            for region in table.bounding_regions:
                print(f"Table # {table_idx} location on page: {region.page_number} is {region.polygon}")
        # Analyze cells.
        for cell in table.cells:
            print(f"...Cell[{cell.row_index}][{cell.column_index}] has text '{cell.content}'")
            if cell.bounding_regions:
                for region in cell.bounding_regions:
                print(f"...content on page {region.page_number} is within bounding polygon '{region.polygon}'")

Markdown 형식에 대한 출력 응답

레이아웃 API는 추출된 텍스트를 Markdown 형식으로 출력할 수 있습니다. Markdown에서 outputContentFormat=markdown 출력 형식을 지정하려면 이 값을 사용합니다. Markdown 콘텐츠는 섹션의 일부로 출력됩니다 content .

참고

v4.0 2024-11-30(GA)의 경우 테이블의 표현이 HTML 테이블로 변경되어 병합된 셀 및 다중 행 헤더와 같은 항목을 렌더링할 수 있습니다. 또 다른 관련 변경 내용은 유니코드 확인란 문자☒와 ☐ 선택 표시 대신 :selected::unselected:. 이 업데이트는 해당 범위가 최상위 범위의 유니코드 문자를 참조하더라도 선택 표시 필드의 콘텐츠가 포함 :selected: 된다는 것을 의미합니다. Markdown 요소의 전체 정의는 Markdown 출력 형식을 참조하세요.

document_intelligence_client = DocumentIntelligenceClient(endpoint=endpoint, credential=AzureKeyCredential(key))
poller = document_intelligence_client.begin_analyze_document(
    "prebuilt-layout",
    AnalyzeDocumentRequest(url_source=url),
    output_content_format=ContentFormat.MARKDOWN,
)

그림

문서의 그림(차트 및 이미지)은 텍스트 콘텐츠를 보완하고 향상시키는 데 중요한 역할을 합니다. 복잡한 정보를 이해하는 데 도움이 되는 시각적 표현을 제공합니다. figures 레이아웃 모델에서 검색된 개체에는 다음과 같은 주요 속성이 있습니다.

  • boundingRegions: 그림의 경계를 설명하는 페이지 번호와 다각형 좌표를 포함하여 문서 페이지에 있는 그림의 공간 위치입니다.
  • spans: 텍스트 범위는 문서의 텍스트 내에서 오프셋 및 길이를 지정하는 그림과 관련된 범위입니다. 이 연결은 그림을 관련 텍스트 컨텍스트와 연결할 때 도움이 됩니다.
  • elements: 그림과 관련되거나 설명되는 문서 내의 텍스트 요소 또는 단락에 대한 식별자입니다.
  • caption: 설명이 있으면 설명입니다.

초기 분석 작업 중에 지정된 경우 output=figures 서비스는 검색된 모든 수치에 대해 잘린 이미지를 생성합니다 /analyeResults/{resultId}/figures/{figureId}. 값은 FigureId 페이지당 1로 다시 설정되는 문서화 {pageNumber}.{figureIndex} 되지 않은 규칙에 figureIndex 따라 각 그림 개체에 포함된 ID입니다.

v4.0 2024-11-30(GA)의 경우 그림과 테이블의 경계 영역은 핵심 콘텐츠만 포함하며 관련 캡션 및 각주를 제외합니다.

# Analyze figures.
if result.figures:
    for figures_idx,figures in enumerate(result.figures):
        print(f"Figure # {figures_idx} has the following spans:{figures.spans}")
        for region in figures.bounding_regions:
            print(f"Figure # {figures_idx} location on page:{region.page_number} is within bounding polygon '{region.polygon}'")

섹션

계층적 문서 구조 분석은 광범위한 문서를 구성, 이해 및 처리하는 데 중요한 역할을 합니다. 이 접근 방식은 이해력을 높이고, 탐색을 용이하게 하며, 정보 검색을 개선하기 위해 긴 문서를 의미상 분할하는 데 매우 중요합니다. 문서 생성 AI에서 RAG(검색 보강 세대) 의 출현은 계층적 문서 구조 분석의 중요성을 강조합니다.

레이아웃 모델은 각 섹션 내의 섹션과 개체의 관계를 식별하는 출력의 섹션 및 하위 섹션을 지원합니다. 계층 구조는 각 섹션에 elements 대해 유지 관리됩니다. Markdown 형식에 대한 출력 응답을 사용하여 Markdown에서 섹션 및 하위 섹션을 쉽게 가져올 수 있습니다.

document_intelligence_client = DocumentIntelligenceClient(endpoint=endpoint, credential=AzureKeyCredential(key))
poller = document_intelligence_client.begin_analyze_document(
    "prebuilt-layout",
    AnalyzeDocumentRequest(url_source=url),
    output_content_format=ContentFormat.MARKDOWN,
)

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

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

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

문서 인텔리전스 레이아웃 모델은 고급 문서 분석 API입니다. 이 모델은 기계 학습을 기반으로 하며 Document Intelligence 클라우드에서 사용할 수 있습니다. 이를 사용하여 다양한 형식의 문서를 가져와서 문서의 구조화된 데이터 표현을 반환할 수 있습니다. 향상된 버전의 강력한 OCR 기능을 딥 러닝 모델과 결합합니다. 텍스트, 표, 선택 표시 및 문서 구조를 추출하는 데 사용할 수 있습니다.

문서 레이아웃 분석

문서 구조 레이아웃 분석은 문서를 분석하여 관심 영역과 해당 상호 관계를 추출하는 프로세스입니다. 목표는 페이지에서 텍스트 및 구조 요소를 추출하여 더 나은 의미 체계 이해 모델을 빌드하는 것입니다. 문서 레이아웃에는 두 가지 유형의 역할이 있습니다.

  • 기하학적 역할: 텍스트, 테이블, 그림 및 선택 표시는 기하학적 역할의 예입니다.
  • 논리적 역할: 제목, 머리글 및 바닥글은 텍스트의 논리적 역할의 예입니다.

다음 그림에서는 샘플 페이지의 이미지에 있는 일반적인 구성 요소를 보여 줍니다.

문서 레이아웃 예제를 보여 주는 그림입니다.

지원되는 언어 및 로캘

지원되는 언어의 전체 목록은 언어 지원: 문서 분석 모델을 참조하세요.

Document Intelligence v2.1은 다음 도구, 애플리케이션 및 라이브러리를 지원합니다.

기능 리소스
레이아웃 모델 문서 인텔리전스 레이블 지정 도구
REST API
클라이언트 라이브러리 SDK
문서 인텔리전스 Docker 컨테이너

입력 지침

지원 파일 형식:

모델 PDF 파일 이미지:
JPEG/JPG, PNG, BMP, TIFF, HEIF
Office:
Word(DOCX), Excel(XLSX), PowerPoint(PPTX), HTML
읽기
레이아웃
일반 문서
미리 빌드됨
사용자 지정 추출
사용자 지정 분류
  • 사진 및 스캔: 최상의 결과를 위해 문서당 하나의 명확한 사진 또는 고품질 스캔을 제공합니다.
  • PDF 및 TIFF: PDF 및 TIFF의 경우 무료 계층 구독으로 최대 2,000페이지를 처리할 수 있습니다. 처음 두 페이지만 처리됩니다.
  • 파일 크기: 문서를 분석하기 위한 파일 크기는 유료(S0) 계층의 경우 500MB, 무료(F0) 계층의 경우 4MB입니다.
  • 이미지 크기: 이미지 크기는 50픽셀 x 50픽셀에서 10,000픽셀 x 10,000픽셀 사이여야 합니다.
  • 암호 잠금: PDF가 암호로 잠긴 경우 제출하기 전에 잠금을 제거해야 합니다.
  • 텍스트 높이: 추출할 텍스트의 최소 높이는 1024 x 768픽셀 이미지의 경우 12픽셀입니다. 이 차원은 인치당 150개 점의 약 8포인트 텍스트에 해당합니다.
  • 사용자 지정 모델 학습: 학습 데이터의 최대 페이지 수는 사용자 지정 템플릿 모델의 경우 500개, 사용자 지정 신경망 모델의 경우 50,000개입니다.
  • 사용자 지정 추출 모델 학습: 학습 데이터의 총 크기는 템플릿 모델의 경우 50MB, 신경망 모델의 경우 1GB입니다.
  • 사용자 지정 분류 모델 학습: 학습 데이터의 총 크기는 1GB이며 최대 10,000페이지입니다. 2024-11-30(GA)의 경우 학습 데이터의 총 크기는 2GB이며 최대 10,000페이지입니다.
  • Office 파일 형식(DOCX, XLSX, PPTX) : 최대 문자열 길이 제한은 8백만 자입니다.

입력 가이드

  • 지원되는 파일 형식: JPEG, PNG, PDF 및 TIFF.
  • 지원되는 페이지 수: PDF 및 TIFF의 경우 최대 2,000페이지가 처리됩니다. 체험 계층 구독자의 경우 처음 두 페이지만 처리됩니다.
  • 지원되는 파일 크기: 파일 크기는 50MB 미만이어야 하며 크기는 50 x 50픽셀 이상, 최대 10,000 x 10,000픽셀이어야 합니다.

시작하기

문서 인텔리전스를 사용하여 문서에서 텍스트, 표, 표 머리글, 선택 표시 및 구조 정보와 같은 데이터를 추출할 수 있습니다. 다음과 같은 리소스가 필요합니다.

Azure Portal의 키 및 엔드포인트 위치를 보여 주는 스크린샷.

키 및 엔드포인트를 검색한 후 다음 개발 옵션을 사용하여 Document Intelligence 애플리케이션을 빌드하고 배포할 수 있습니다.

참고

문서 인텔리전스 스튜디오는 v3.0 API 이상 버전에서 사용할 수 있습니다.

REST API (REST 애플리케이션 프로그래밍 인터페이스)

문서 인텔리전스 샘플 레이블 지정 도구

  1. 문서 인텔리전스 샘플 레이블 지정 도구로 이동합니다.

  2. 샘플 도구 홈페이지에서 레이아웃을 사용하여 텍스트, 테이블 및 선택 표시 가져오기를 선택합니다.

    문서 인텔리전스 레이아웃 프로세스에 대한 연결 설정을 보여 주는 스크린샷

  3. 문서 인텔리전스 서비스 엔드포인트 필드에 문서 인텔리전스 구독으로 가져온 엔드포인트를 붙여넣습니다.

  4. 필드에 문서 인텔리전스 리소스에서 가져온 키를 붙여넣습니다.

  5. 원본 필드의 드롭다운 메뉴에서 URL을 선택합니다. 샘플 문서를 사용할 수 있습니다.

  6. 레이아웃 실행을 선택합니다. 문서 인텔리전스 샘플 레이블 지정 도구는 분석 레이아웃 API를 호출하여 문서를 분석합니다.

    레이아웃 드롭다운 창을 보여 주는 스크린샷.

  7. 결과를 봅니다. 강조 표시된 추출된 텍스트, 검색된 선택 표시 및 검색된 테이블을 참조하세요.

    문서 인텔리전스 샘플 레이블 지정 도구에 대한 연결 설정을 보여 주는 스크린샷

Document Intelligence v2.1은 다음 도구, 애플리케이션 및 라이브러리를 지원합니다.

기능 리소스
레이아웃 API 문서 인텔리전스 레이블 지정 도구
REST API
클라이언트 라이브러리 SDK
문서 인텔리전스 Docker 컨테이너

데이터 추출

레이아웃 모델은 문서에서 구조적 요소를 추출합니다. 구조 요소는 여기에 설명되어 있으며, 다음 지침에서는 문서 입력에서 추출하는 방법을 보여 줍니다.

데이터 추출

레이아웃 모델은 문서에서 구조적 요소를 추출합니다. 구조 요소는 여기에 설명되어 있으며, 다음 지침에서는 문서 입력에서 추출하는 방법을 보여 줍니다.

호출

컬렉션은 pages 문서 내의 페이지 목록입니다. 각 페이지는 문서 내에서 순차적으로 표시되며 페이지가 회전되는지와 너비와 높이(픽셀 단위)를 나타내는 방향 각도를 포함합니다. 모델 출력의 페이지 단위는 다음 표와 같이 계산됩니다.

파일 형식 계산된 페이지 단위 총 페이지 수
이미지(JPEG/JPG, PNG, BMP, HEIF) 각 이미지 = 1페이지 단위입니다. 총 이미지
PDF 파일 PDF의 각 페이지 = 1페이지 단위입니다. PDF의 총 페이지 수
TIFF (이미지 파일 형식) TIFF = 1 페이지 단위의 각 이미지입니다. TIFF의 총 이미지
Word(DOCX) 최대 3,000자 = 1페이지 단위입니다. 포함된 이미지 또는 연결된 이미지는 지원되지 않습니다. 각각 최대 3,000자의 총 페이지
Excel(XLSX) 각 워크시트 = 1페이지 단위입니다. 포함된 이미지 또는 연결된 이미지는 지원되지 않습니다. 전체 워크시트
PowerPoint(PPTX) 각 슬라이드 = 1페이지 단위입니다. 포함된 이미지 또는 연결된 이미지는 지원되지 않습니다. 전체 슬라이드
HTML 최대 3,000자 = 1페이지 단위입니다. 포함된 이미지 또는 연결된 이미지는 지원되지 않습니다. 각각 최대 3,000자의 총 페이지
"pages": [
    {
        "pageNumber": 1,
        "angle": 0,
        "width": 915,
        "height": 1190,
        "unit": "pixel",
        "words": [],
        "lines": [],
        "spans": []
    }
]
# Analyze pages.
for page in result.pages:
    print(f"----Analyzing layout from page #{page.page_number}----")
    print(
        f"Page has width: {page.width} and height: {page.height}, measured with unit: {page.unit}"
    )

문서에서 선택한 페이지를 추출합니다.

큰 다중 페이지 문서의 경우 쿼리 매개 변수를 pages 사용하여 텍스트 추출을 위한 특정 페이지 번호 또는 페이지 범위를 나타냅니다.

단락

레이아웃 모델은 컬렉션에서 paragraphs 식별된 모든 텍스트 블록을 아래 analyzeResults의 최상위 개체로 추출합니다. 이 컬렉션의 각 항목은 텍스트 블록을 나타내며 추출된 텍스트 content와 경계 polygon 좌표를 포함합니다. 이 span 정보는 문서의 전체 텍스트를 포함하는 최상위 content 속성 내의 텍스트 조각을 가리킵니다.


"paragraphs": [
    {
        "spans": [],
        "boundingRegions": [],
        "content": "While healthcare is still in the early stages of its Al journey, we are seeing pharmaceutical and other life sciences organizations making major investments in Al and related technologies.\" TOM LAWRY | National Director for Al, Health and Life Sciences | Microsoft"
    }
]

문단 역할

기계 학습을 기반으로 하는 새 페이지 개체 검색은 제목, 섹션 머리글, 페이지 머리글, 페이지 바닥글 등과 같은 논리적 역할을 추출합니다. 문서 인텔리전스 레이아웃 모델은 모델에서 paragraphs 예측하는 특수한 역할 또는 형식을 사용하여 컬렉션의 특정 텍스트 블록을 할당합니다. 보다 풍부한 의미 체계 분석을 위해 추출된 콘텐츠의 레이아웃을 이해하는 데 도움이 되도록 구조화되지 않은 문서에 단락 역할을 사용하는 것이 가장 좋습니다. 지원되는 단락 역할은 다음과 같습니다.

예측된 역할 Description 지원되는 파일 형식
title 페이지의 기본 제목 PDF, 이미지, DOCX, PPTX, XLSX, HTML
sectionHeading 페이지의 하나 이상의 부제목 PDF, 이미지, DOCX, XLSX, HTML
footnote 페이지 아래쪽에 있는 텍스트 PDF, 이미지
pageHeader 페이지 위쪽 가장자리에 있는 텍스트 PDF, 이미지, DOCX
pageFooter 페이지 아래쪽 에지에 있는 텍스트 PDF, 이미지, DOCX, PPTX, HTML
pageNumber 페이지 번호 PDF, 이미지
{
    "paragraphs": [
                {
                    "spans": [],
                    "boundingRegions": [],
                    "role": "title",
                    "content": "NEWS TODAY"
                },
                {
                    "spans": [],
                    "boundingRegions": [],
                    "role": "sectionHeading",
                    "content": "Mirjam Nilsson"
                }
    ]
}

텍스트, 줄, 단어

Document Intelligence의 문서 레이아웃 모델은 인쇄 및 필기 스타일 텍스트를 줄과 단어로 추출합니다. 컬렉션에는 styles 연결된 텍스트를 가리키는 범위와 함께 검색된 경우 줄에 대한 필기 스타일이 포함됩니다. 이 기능은 지원되는 필기 언어에 적용됩니다.

Word, Excel, PowerPoint 및 HTML의 경우 문서 인텔리전스 v4.0 2024-11-30(GA) 레이아웃 모델은 포함된 모든 텍스트를 있는 그대로 추출합니다. 텍스트는 단어와 단락으로 추출됩니다. 포함된 이미지는 지원되지 않습니다.

"words": [
    {
        "content": "While",
        "polygon": [],
        "confidence": 0.997,
        "span": {}
    },
],
"lines": [
    {
        "content": "While healthcare is still in the early stages of its Al journey, we",
        "polygon": [],
        "spans": [],
    }
]
# Analyze lines.
for line_idx, line in enumerate(page.lines):
    words = line.get_words()
    print(
        f"...Line # {line_idx} has word count {len(words)} and text '{line.content}' "
        f"within bounding polygon '{format_polygon(line.polygon)}'"
    )

    # Analyze words.
    for word in words:
        print(
            f"......Word '{word.content}' has a confidence of {word.confidence}"
        )

손으로 쓴 스타일

응답에는 각 텍스트 줄이 필기 스타일인지 여부와 신뢰도 점수의 분류가 포함됩니다. 자세한 내용은 필기 언어 지원을 참조하세요. 다음 예제에서는 JSON 코드 조각 예제를 보여 줍니다.

"styles": [
{
    "confidence": 0.95,
    "spans": [
    {
        "offset": 509,
        "length": 24
    }
    "isHandwritten": true
    ]
}

글꼴/스타일 추가 기능도 사용하도록 설정하면 개체의 styles 일부로 글꼴/스타일 결과가 표시됩니다.

선택 표시

레이아웃 모델은 문서에서 선택 표시도 추출합니다. 추출된 선택 표시는 각 페이지의 pages 컬렉션 내에 표시됩니다. 여기에는 경계 polygon, confidence 및 선택 영역 state(selected/unselected)가 포함됩니다. 텍스트 표현(즉, :selected::unselected)도 시작 인덱스(offset)로 포함되며 length 문서의 전체 텍스트가 포함된 최상위 content 속성을 참조합니다.

{
    "selectionMarks": [
        {
            "state": "unselected",
            "polygon": [],
            "confidence": 0.995,
            "span": {
                "offset": 1421,
                "length": 12
            }
        }
    ]
}
# Analyze selection marks.
for selection_mark in page.selection_marks:
    print(
        f"Selection mark is '{selection_mark.state}' within bounding polygon "
        f"'{format_polygon(selection_mark.polygon)}' and has a confidence of {selection_mark.confidence}"
    )

테이블

테이블 추출은 일반적으로 테이블 형식이 지정된 대량의 데이터를 포함하는 문서를 처리하기 위한 주요 요구 사항입니다. 레이아웃 모델은 JSON 출력 섹션의 pageResults 테이블을 추출합니다. 추출된 테이블 정보에는 열 및 행 수, 행 범위 및 열 범위가 포함됩니다. 경계 다각형이 있는 각 셀은 영역이 인식되는지 여부에 대한 정보와 함께 출력됩니다 columnHeader .

모델은 순환되는 테이블 추출을 지원합니다. 각 테이블 셀에는 행 및 열 인덱스와 경계 다각형 좌표가 포함됩니다. 셀 텍스트의 경우 모델은 시작 인덱스 span (offset)가 포함된 정보를 출력합니다. 또한 모델은 문서의 전체 텍스트를 포함하는 최상위 수준 콘텐츠 내에서 length를 출력합니다.

다음은 문서 인텔리전스 베일 추출 기능을 사용할 때 고려해야 할 몇 가지 요소입니다.

  • 추출하려는 데이터가 테이블로 존재하고 테이블 구조가 의미 있나요?
  • 데이터가 테이블 형식이 아닌 경우 데이터가 2차원 그리드에 잘 맞나요?
  • 테이블이 여러 페이지에 걸쳐 있나요? 그렇다면 모든 페이지에 레이블을 지정할 필요가 없도록 PDF를 문서 인텔리전스로 보내기 전에 페이지로 분할합니다. 분석 후 페이지를 단일 테이블로 후처리합니다.
  • 사용자 지정 모델을 만드는 경우 테이블 형식 필드를 참조하세요. 각 열에 대한 동적 테이블의 행 수는 가변적입니다. 각 열에 대한 고정 테이블의 행 수는 일관적입니다.

참고

입력 파일이 XLSX인 경우 테이블 분석이 지원되지 않습니다. Document Intelligence v4.0 2024-11-30(GA)은 핵심 콘텐츠만 포함하며 관련 캡션 및 각주를 제외하는 그림 및 테이블에 대한 경계 영역을 지원합니다.

{
    "tables": [
        {
            "rowCount": 9,
            "columnCount": 4,
            "cells": [
                {
                    "kind": "columnHeader",
                    "rowIndex": 0,
                    "columnIndex": 0,
                    "columnSpan": 4,
                    "content": "(In millions, except earnings per share)",
                    "boundingRegions": [],
                    "spans": []
                    },
            ]
        }
    ]
}

# Analyze tables.
for table_idx, table in enumerate(result.tables):
    print(
        f"Table # {table_idx} has {table.row_count} rows and "
        f"{table.column_count} columns"
    )
    for region in table.bounding_regions:
        print(
            f"Table # {table_idx} location on page: {region.page_number} is {format_polygon(region.polygon)}"
        )
    for cell in table.cells:
        print(
            f"...Cell[{cell.row_index}][{cell.column_index}] has text '{cell.content}'"
        )
        for region in cell.bounding_regions:
            print(
                f"...content on page {region.page_number} is within bounding polygon '{format_polygon(region.polygon)}'"
            )

주석

레이아웃 모델은 검사 및 교차와 같은 문서에서 주석을 추출합니다. 응답에는 신뢰도 점수 및 경계 다각형과 함께 주석 종류가 포함됩니다.

    {
    "pages": [
    {
        "annotations": [
        {
            "kind": "cross",
            "polygon": [...],
            "confidence": 1
        }
        ]
    }
    ]
}

자연스러운 읽기 순서 출력(라틴어만 해당)

readingOrder 쿼리 매개 변수를 사용하여 텍스트 줄이 출력되는 순서를 지정할 수 있습니다. 다음 예제와 같이 보다 인간 친화적인 읽기 순서 출력에 사용합니다 natural . 이 기능은 라틴어로만 지원됩니다.

순서 처리를 읽는 레이아웃 모델의 스크린샷.

텍스트 추출을 위한 페이지 번호 또는 범위 선택

큰 다중 페이지 문서의 경우 쿼리 매개 변수를 pages 사용하여 텍스트 추출을 위한 특정 페이지 번호 또는 페이지 범위를 나타냅니다. 다음 예제에서는 두 경우 모두에 대해 텍스트가 추출된 10페이지, 모든 페이지(1-10) 및 선택한 페이지(3-6)가 있는 문서를 보여 줍니다.

선택한 페이지 출력 레이아웃 모델을 보여 주는 스크린샷

레이아웃 분석 결과 가져오기 작업

두 번째 단계는 레이아웃 분석 결과 가져오기 작업을 호출하는 것입니다. 이 작업은 작업에서 만든 결과 ID를 입력으로 Analyze Layout 사용합니다. 다음과 같은 가능한 값을 가진 상태 필드가 포함된 JSON 응답을 반환합니다.

필드 유형 가능한 값
상태 문자열 notStarted: 분석 작업이 시작되지 않았습니다.

running: 분석 작업이 진행 중입니다.

failed: 분석 작업이 실패했습니다.

succeeded: 분석 작업이 성공했습니다.

succeeded 값이 반환될 때까지 이 작업을 반복적으로 호출합니다. 초당 요청 속도를 초과하지 않도록 하려면 3~5초 간격을 사용합니다.

상태 필드에 값이 succeeded 있으면 JSON 응답에는 추출된 레이아웃, 텍스트, 테이블 및 선택 표시가 포함됩니다. 추출된 데이터에는 추출된 텍스트 줄과 단어, 경계 상자, 필기 표시가 있는 텍스트 모양, 표 및 선택/선택되지 않은 표시가 표시됩니다.

텍스트 줄에 대한 필기 분류(라틴어에만 해당)

응답에는 각 텍스트 줄이 필기 스타일인지 여부와 신뢰도 점수의 분류가 포함됩니다. 이 기능은 라틴어로만 지원됩니다. 다음 예제에서는 이미지의 텍스트에 대한 필기 분류를 보여 줍니다.

레이아웃 모델 필기 분류 프로세스를 보여 주는 스크린샷

JSON 출력 샘플

작업에 대한 응답 Get Analyze Layout Result 은 모든 정보가 추출된 문서의 구조화된 표현입니다. 샘플 문서 파일 및 구조화된 출력 샘플 레이아웃 출력을 참조하세요.

JSON 출력에는 다음 두 부분이 있습니다.

  • 노드에는 readResults 인식된 모든 텍스트와 선택 표시가 포함됩니다. 텍스트 프레젠테이션 계층 구조는 페이지, 줄, 개별 단어입니다.
  • 노드에는 pageResults 경계 상자, 신뢰도 및 필드의 줄과 단어에 대한 참조를 사용하여 추출된 테이블과 셀이 readResults 포함됩니다.

예제 출력

텍스트

레이아웃 API는 여러 텍스트 각도와 색을 사용하여 문서 및 이미지에서 텍스트를 추출합니다. 문서, 팩스, 인쇄 및/또는 필기(영어 전용) 텍스트 및 혼합 모드의 사진을 허용합니다. 텍스트는 줄, 단어, 경계 상자, 신뢰도 점수 및 스타일(필기 또는 기타)에 대해 제공된 정보와 함께 추출됩니다. 모든 텍스트 정보는 JSON 출력의 readResults 섹션에 포함됩니다.

머리글이 있는 테이블

레이아웃 API는 JSON 출력 섹션의 테이블을 pageResults 추출합니다. 문서를 스캔, 사진 또는 디지털화할 수 있습니다. 테이블은 병합된 셀 또는 열, 테두리가 있거나 없는 상태, 홀수 각도를 사용하여 복잡하게 지정할 수 있습니다.

추출된 테이블 정보에는 열 및 행 수, 행 범위 및 열 범위가 포함됩니다. 경계 상자가 있는 각 셀은 영역이 머리글의 일부로 인식되는지 여부에 관계없이 정보와 함께 출력됩니다. 모델 예측 헤더 셀은 여러 행에 걸쳐 있으며 테이블의 첫 번째 행이 아닐 수 있습니다. 회전된 테이블에서도 작동합니다. 각 표 셀에는 섹션의 개별 단어 readResults 에 대한 참조가 포함된 전체 텍스트도 포함됩니다.

테이블 예제를 보여 주는 일러스트레이션.

선택 표시(문서)

또한 레이아웃 API는 문서에서 선택 표시를 추출합니다. 추출된 선택 표시에는 경계 상자, 신뢰도 및 상태(선택/선택 취소)가 포함됩니다. 선택 표시 정보는 JSON 출력의 readResults 섹션에서 추출됩니다.

마이그레이션 가이드