"PDF를 텍스트로 변환하기"는 어려운 문제임

1 month ago 7

  • PDF 파일에서 텍스트 추출은 예상보다 훨씬 어렵고, PDF는 본질적으로 그래픽 기반 파일 포맷
  • PDF 안의 글리프 위치 정보만 존재하고 의미론적 신호는 거의 없어 텍스트의 식별과 재구성이 까다로운 상황임
  • 검색 엔진에서는 HTML 형태의 깔끔한 입력을 요구하지만, 기존 오픈소스 도구들은 제목이나 문단 등 구조적 정보 추출에 한계가 있음
  • 머신러닝 기반 비전 방식이 가장 정확하지만, 리소스와 성능 문제로 대규모 적용에 어려움이 있음
  • 주요 개선책으로는 폰트 크기와 통계 기반의 제목·문단 식별 알고리듬을 도입해 추출 정확성을 높임

PDF에서 텍스트 추출의 도전

  • 최신 검색 엔진은 PDF 파일 포맷을 인덱싱하는 기능을 갖추게 되었음
  • PDF에서 정보 추출은 쉽지 않은 문제로, PDF가 원래 텍스트 포맷이 아닌 그래픽 포맷임에 기인함
  • 실제 텍스트 대신 글리프가 좌표에 배치된 형태라서, 회전, 겹침, 순서 뒤섞임, 의미 정보 결여 등이 발생함
  • 우리가 보통 생각하는 텍스트로서의 정보가 파일 내에는 직접 존재하지 않음
  • PDF 뷰어에서 ctrl+f로 텍스트 검색이 가능하다는 것은 사실 놀라운 일임

검색 엔진의 요구와 기본 접근법의 한계

  • 검색 엔진이 가장 선호하는 입력은 깨끗한 HTML 형식
  • 최신 머신러닝 기반 컴퓨터 비전 모델이 가장 좋은 성능을 보이지만,
    • 대용량(수백 GB) PDF 파일을 GPU 없이 한 서버에서 처리하는 것은 비효율적
  • 다행히 이 분야가 완전히 미지의 영역은 아니어서,
    • PDFBox의 PDFTextStripper 클래스를 활용해 출발점으로 사용 가능함
    • 하지만 제목 등 의미론적 구조 파악이 거의 되지 않음—문자열만 추출됨

제목 식별 알고리듬

제목 식별의 기본 원리

  • 보통 제목은 세미볼드 혹은 더 굵직한 글씨가 고립되어 있음을 활용할 수 있음
    • 굵게 처리되지 않은 제목도 흔해, 이 방법만으론 한계가 있음
  • 많은 경우, 폰트 크기가 제목을 구분하는 기준이 됨
    • 그러나 폰트 크기는 문서마다 전혀 다르고, 글로벌 임계치 사용이 불가능

폰트 크기 통계 활용

  • 각 페이지에는 대체로 지배적인 폰트 크기(본문) 가 존재함
  • 1페이지(표지)는 서술적 내용 및 저자 정보가 있어 폰트 크기 분포가 다름
  • 페이지별 폰트 크기 분포가 다르므로, 문서 전체가 아니라 페이지 단위 통계 활용이 효과적임
  • 각 페이지의 중앙값 폰트 크기에 20% 가량 상향을 적용해 제목을 꽤 정확히 식별 가능함

여러 줄 제목의 병합 문제

  • 스타일적 이유로 제목이 여러 줄로 나뉘기도 함
    • 제목 병합 시점 판단은 간단하지 않으며, 두 줄 이상의 제목이나 저자명, 별도의 강조 텍스트가 혼재할 수 있음
  • 병합 규칙:
    • 동일한 폰트 크기와 굵기를 갖는 연속 줄을 합치는 것이 꽤 잘 동작
    • 하지만 예외 상황 많이 존재—무분별한 병합은 엉뚱한 결과를 초래할 수 있음

문단 식별 개선

  • PDFTextStripper는 줄 간격 및 들여쓰기에 기반해 문단을 식별함
    • 라인별 구분 임계치를 고정 값으로 사용하므로, 문서마다 다른 줄 간격 적용에는 한계가 있음
    • 특히 논문 초안/사전출판본에서는 1.5~2배 줄 간격도 흔함
  • 임계값이 너무 크면, 제목이 본문에 포함되는 오류가 발생함

통계 기반 문단 구분

  • 폰트 크기처럼, 라인 간격에 대해서도 통계처리를 적용
    • 줄 사이 거리의 중간값(중앙값)을 활용해, 어떤 줄 간격이든 견고한 문단 구분이 가능함

결론

  • PDF에서 텍스트를 추출하는 것은 근본적으로 완벽하지 못할 수밖에 없음
    • PDF 포맷 자체가 그 용도에 맞게 설계되지 않았기 때문임
  • 실제 구현에서는 타협이 필수이고, “충분히 괜찮은” 정도의 결과를 얻는 전략이 중요함
  • 검색 엔진은 제목, 요약, 주요 구조적 단서 등 의미 있는 신호 추출에 집중함이 효율적임

참고 샘플 텍스트

  • Can Education be Standardized? Evidence from Kenya (2022) - Working Paper
    : Guthrie Gray-Lobe, Anthony Keats, Michael Kremer, Isaac Mbiti, Owen W. Ozier
  • The theory of ideas and Plato’s philosophy of mathematics (2019)
    : Dembiński, B.
  • The role of phronesis in Knowledge-Based Economy (2024)
    : Anna Ceglarska, Cymbranowicz Katarzyna

Read Entire Article