레이아웃 분석이란 무엇인가: 문서를 읽는 순서를 정하는 처리 완전 정리
레이아웃 분석이란, 문서 한 페이지에서 제목과 본문, 표, 그림, 머리말 같은 영역이 어디에 있는지 판별하고 사람이 읽는 것과 같은 순서로 그 영역들을 정렬하는 처리입니다.
읽는 순서가 문제가 되는 이유
문장이 뒤섞여 나옵니다.
문서에서 텍스트를 뽑았는데 내용이 어수선하게 나온 경험이 있으실 겁니다. 두 단으로 편집된 보고서에서 왼쪽 단과 오른쪽 단의 문장이 번갈아 섞이거나, 표 안의 값이 본문 문장 사이에 끼어드는 식입니다.
원인은 대개 읽는 순서에 있습니다. 페이지 위에서 아래로, 왼쪽에서 오른쪽으로 훑는 방식은 단이 나뉜 문서나 표가 있는 문서에서 곧바로 무너집니다. 사람은 제목을 보고 단을 인식하고 표를 별개로 취급하는데, 이 판단이 없으면 아무리 글자를 정확히 읽어도 결과가 쓸모없어집니다. 레이아웃 분석은 그 판단을 대신하는 처리입니다.
레이아웃 분석의 정확한 정의: 문자 인식과 무엇이 다른가
문자 인식과 레이아웃 분석, 세 가지 축의 차이
첫째, 대상이 다릅니다. 문자 인식은 글자를 대상으로 삼습니다. 레이아웃 분석은 글자가 모여 이루는 영역과 그 영역들의 배치를 대상으로 삼습니다.
둘째, 목표가 다릅니다. 문자 인식의 목표는 정확히 옮기는 것입니다. 레이아웃 분석의 목표는 무엇이 어디에 있고 어떤 순서로 읽어야 하는지를 정하는 것입니다.
셋째, 성과지표가 다릅니다. 문자 인식은 문자 정확도로 봅니다. 레이아웃 분석은 영역을 빠짐없이 찾았는지와 영역의 위치가 정확한지로 봅니다. 한 공공 문서 평가에서는 평가 요소 302개를 전부 검출해 검출 정확도 100%를, 위치 정확도도 100%를 기록한 사례가 있습니다.
두 처리는 대체 관계가 아닙니다. 순서가 정해져야 인식 결과가 의미를 갖고, 인식이 되어야 영역의 내용이 채워집니다. 실무 파이프라인에서는 레이아웃 분석을 먼저 두고 그 위에 문자 인식을 올립니다.
레이아웃 분석이 다루는 4가지 판단
처리 과정에 들어가는 4가지 판단
첫째, 영역의 종류를 가립니다. 제목인지 본문인지 표인지 그림인지 머리말인지를 판별합니다. 같은 크기의 글자라도 위치와 주변 관계에 따라 역할이 달라집니다.
둘째, 영역의 경계를 정합니다. 어디까지가 하나의 표이고 어디부터 다음 문단인지를 나눕니다. 괘선이 없는 표나 여백으로만 구분된 문단에서 난이도가 올라갑니다.
셋째, 읽는 순서를 정합니다. 다단 편집과 삽입된 그림, 각주가 섞이면 사람도 잠시 헷갈리는 순서를 결정해야 합니다.
넷째, 위계를 세웁니다. 어느 절 제목 아래에 어떤 본문이 속하는지를 정하면 이후 검색과 구조화에서 활용도가 크게 올라갑니다.
레이아웃 분석의 실제 적용 방법
앞단에 두고 성능을 따로 잽니다
레이아웃 분석은 파이프라인의 앞자리에 있어서 여기서 놓친 영역은 뒤에서 복구되지 않습니다. 그래서 성능을 문자 인식과 분리해 측정해야 합니다.
측정할 때는 영역을 몇 개 찾았는지와 위치가 얼마나 정확한지를 나누어 봅니다. 검출은 잘되는데 표 내부 복원이 약한 경우가 실제로 자주 나타나므로, 두 값을 한 숫자로 합치지 마시기 바랍니다.
문서 유형별로 기대치를 다르게 잡습니다
일반 보고서와 관공서 서식, 세무 신고서는 레이아웃의 성격이 완전히 다릅니다. 신고 서식은 표가 본문이고 안내 문장이 표 안에 들어갑니다. 보고서는 제목과 본문의 위계가 뚜렷합니다.
검증 문서를 고를 때 이 차이를 반영해야 실제 성능이 드러납니다. 한 종류만으로 측정하면 도입 후 다른 문서에서 예상과 다른 결과를 얻습니다.
국내 환경에서의 레이아웃 분석
국내 관공서 서식은 한 페이지에 표와 안내 문장, 원문자 항목번호가 촘촘히 섞입니다. 표의 한 칸이 데이터가 아니라 작성 방법 안내인 경우도 흔해서, 영역의 종류를 가리는 판단이 특히 중요합니다.
문서 상태도 조건이 됩니다. 팩스 접수본은 기울어지고 상단이 잘리며 괘선이 흐려집니다. 이런 문서에서는 레이아웃 분석 앞에 기울기 보정과 노이즈 제거가 함께 들어가야 합니다.
읽는 순서를 정하는 것이 핵심입니다
레이아웃 분석에서 영역을 나누는 일보다 어려운 것은 순서를 정하는 일입니다. 사람은 페이지를 보고 어디부터 읽을지 자연스럽게 판단하지만, 다단으로 편집된 문서나 표 안에 표가 들어간 구조에서는 그 판단이 갈립니다.
순서가 어긋나면 결과가 크게 달라집니다. 두 단으로 편집된 보고서에서 왼쪽 단을 끝까지 읽지 않고 오른쪽으로 넘어가면 문장이 뒤섞여 의미가 사라집니다. 각주가 본문 중간으로 끼어들면 문단의 논지가 끊깁니다. 머리말과 꼬리말이 본문에 섞이면 페이지마다 같은 문구가 반복되어 검색 품질을 떨어뜨립니다.
그래서 성능을 확인할 때는 영역을 몇 개 찾았는지와 함께 순서가 맞는지를 봐야 합니다. 한 공공 문서 평가에서 요소 검출과 위치 정확도가 모두 100%로 확인된 사례가 있으나, 이 값은 순서 정확도와는 별개의 지표입니다.
자주 묻는 질문
읽는 순서가 정해지지 않으면 문장이 뒤섞입니다. 다단 편집이나 표가 있는 문서에서는 특히 그렇습니다.
영역 검출 개수와 위치 정확도를 문자 인식과 나누어 확인하시기 바랍니다. 한 숫자로 합치면 문제 지점이 가려집니다.
제목과 절 제목, 본문, 표, 그림, 도표, 수식, 목록, 캡션, 머리말, 꼬리말, 각주 등을 구분합니다.
가능합니다. 다만 앞단에 기울기 보정이 함께 있어야 안정적입니다. 도입 검토 시 전처리 구성을 확인하시기 바랍니다.
가능합니다. 다만 순서 판정이 어려운 구조이므로 검증 문서에 반드시 포함시켜 확인하시기 바랍니다.
본문과 구분되는 요소로 판별해 따로 표시합니다. 이 구분이 없으면 페이지마다 같은 문구가 반복되어 검색 품질이 떨어집니다.