본문 바로가기
  • 책상 밖 세상을 경험할 수 있는 Playground를 제공하고, 수동적 학습에서 창조의 삶으로의 전환을 위한 새로운 라이프 스타일을 제시합니다.
Natural Language Processing

[2023-2] 김민재 - CCpdf: Building a High Quality Corpus for Visually Rich Documents from Web Crawl Data

by MJKM 2024. 2. 13.

https://arxiv.org/abs/2304.14953

Introduction

  • GPT-3와 T5와 같은 모델은 대규모 텍스트 corpus를 활용한 사전 훈련을 통해 높은 성능을 보여주며, 이를 위해 Common Crawl과 같은 데이터 소스가 사용
  • 이 논문의 목표는 language model의 pretraining을 위한 다양하고 다국어의 대규모 PDF 파일 corpus를 만드는 것
  • Common Crawl을 활용하여 PDF 파일의 색인 형태나 다운로드 스크립트를 공유하여 언어 모델 사전 훈련에 활용할 수 있는 CCpdf corpus를 제공
    • 이를 통해 연구자들이 더 나은 다국어 언어 모델을 개발할 수 있는 기회를 제공

Related works

  • 이 연구와 관련된 이전 연구들은 대부분 단일 도메인, 단일 언어, 또는 비공개 데이터를 사용하여 문서 이해를 위한 언어 모델 사전 훈련에 중점
  • 그러나 이 논문은 Common Crawl을 활용하여 인터넷에서 다양하고 다국어 PDF 파일의 대규모 말뭉치를 생성하는 효율적인 파이프라인을 제안
    • 다양성과 처리 시간 사이의 균형을 맞추는 솔루션을 제시하고 CCpdf corpus를 공유하여 language model pretraining을 위한 유용한 자료를 제공

Collecting and processing

Common Crawl

  • input으로 Common Crawl에서 만든 web index를 사용
  • Common Crawl은 Internet Archive 프로젝트로 웹페이지를 크롤링하고 crawl dump로 저장
  • 한 개의 crawl dump는 수십억 개의 웹페이지를 포함하며 새로운 dump는 2014년 3월부터 거의 매월 업로드 되었고 비정기적으로 2008년부터 dump가 올라오기 시작
  • 이 논문에서는 2022년 5월 dump를 사용
  • 2022년 5월 dump는 34억 5천 개의 웹페이지를 포함하며 이는 462TB의 압축되지 않은 컨텐츠에 해당하는 양

PDF links extraction

  • PDF 파일에 대한 링크를 추출하는 방법은 두 가지
    • CDX 파일 사용(ex : Common Crawl에서 제공하는 index server file)
    • WARC에서 PDF 파일에 대한 링크 찾기
  • CDX 파일은 다운로드 하기 쉽고 총 225GB만 차지하기 때문에 첫 번째 방법이 더 간단함
  • 두 번째 방법은 더 많은 PDF 파일에 대한 링크를 찾을 수 있으나 모든 WARC의 링크를 다운로드할 수 없고 그 링크를 사용할 확률은 낮음
  • CDX 파일에서는 캡쳐된 파일의 MIME 타입이 지정되어 있고 이 논문에서는 application/pdf 타입으로 제한
  • 그러므로, 이 논문에서는 첫 번째 방법에 초점을 맞추어 전체 처리 pipeline의 속도를 높인다.

URL-based language detection

  • 주어진 URL에서 언어를 결정하는 몇 가지 직관적인 방식을 적용
    • 예를 들면, '.pl' 도메인에서 추출한 PDF는 URL에 'lang=en'이 포함되어 있더라도 폴란드어로 간주
  • 이는 단지 예비 필터로 후에 PDF 파일의 내용이 다운로드 된 뒤에 적절한 언어 판별을 시행

Filtering out spam

  • 웹에서 추출한 방대한 데이터를 처리할 때 해결해야 할 문제 중 하나가 스팸(일반적으로 낮은 품질의 페이지)
  • 웹 스팸은 주로 black-hat 검색 엔진 최적화(자동적, 반자동적으로 생성된 내용과 연결해 주는 link farm을 생성)에 관련됨
  • 인터넷에서 찾은 PDF 파일은 HTML 웹페이지와 비교했을 때 상대적으로 스팸 비율이 적음 -> PDF 파일은 대부분이 업무상, 법적, 과학적 문서와 같은 공식 문서이기 때문
  • 그러나 몇몇 스팸 PDF 파일은 Common Crawl dump에서 발견됨
  • 그러나 스팸 PDF 파일인지 판단하는 방법은 오히려 간단한데, 전형적인 스팸 PDF 파일의 숨길 수 없는 특징으로는 거의 사용되지 않는 글자와 그 사이에 배치된 하이픈으로 구성된 긴 이름을 가지고 있으며 의심스러운 URL의 비중이 큰 도메인이 있다면 이 파일을 스팸으로 간주하고 완전히 제거

PDF data download methods

  • 데이터의 다양성을 위하여 언어에 대하여 각 도메인에서 최대 3개의 PDF 파일을 무작위로(그렇지만 재현 가능한 방식으로) 다운로드
    • 영어나 독일어의 경우 다른 언어들에 비해 각 도메인에 PDF 파일의 수가 많기 때문에 1개, 2개로 줄여서 다운로드
    • 이러한 제한은 단일 도메인에서 수백만 개의 PDF가 다운로드 되는 것과 같은 이상 징후에 대한 필터 역할을 함
  • 그러나 crawl dump에서 추출하는 PDF에는 한 가지 심각한 문제가 있는데 모든 파일이 1MB로 줄여졌다는 것 -> 1MB의 제한은 HTML 페이지에 대해서는 큰 용량이지만 PDF 파일에 대해서는 오히려 작은 용량
  • 이는 작은 크기의 PDF 파일만 Common Crawl dump에서 추출 가능하고 큰 크기의 파일은 본래 사이트에서 다운로드 받아야 함

Born Digital scanner

  • document understanding 영역에서 모든 종류의 문서를 제대로 처리하기 위해서는 PDF 파일에서 bounding box가 적절하게 정의된 토큰을(예를 들면, reading order에 따라) 추출해야 함
  • 가장 보편적인 접근은 Tesseract, Amazon Textract, Microsoft Azure Computer API, Google Vision API와 같은 일부 OCR 엔진을 이용해 각 PDF 파일을 처리하는 것
  • 이 방식은 처리 pipeline을 단순화하고 복잡한 PDF 파일 형식을 이해할 필요성을 제거

Born Digital detection heuristics

  • 문서가 OCR이 필요한 문서인지 판별하기 위해, 직관적인 판별 방법을 이용
  • 아래 조건을 만족시킬 시 OCR이 필요한 문서로 판단 
    • 눈에 보이는 글자 수가 100자보다 많아야 함
    • 숨겨진 글자가 없어야 함
    • 그림이 없어야 함
  • 위 조건을 판단하기 위하여 Digital-born PDF Scanner 툴을 사용

OCR processing

  • PDF 처리 pipeline의 최초 step 중 하나는 URL-based language detection method
    • 문서의 언어에 대한 정보는 특정 언어 문서를 필터링하기 위해 필요
  • 다음 step으로 DjVu-based tool(파일이 born digital이라 OCR이 필요 없을 경우) 또는 Tesseract OCR 중 하나로 처리할 PDF 파일을 선택
  • OCR 처리 결과는 bounding box와 함께 추출된 텍스트를 포함하는 hocr 파일

Language Identification

  • 최종적인 처리 파이프라인에서 두 가지 언어 식별 방법을 사용
    • URL-based method(위에서 언급)
    • content based method -> 이전 step에서 추출한 텍스트 내용에 기반하여 언어를 감지하기 위해 langdetect 라이브러리 사용

Produced index

  • 파이프라인의 결과로 성공적으로 다운로드되고 처리된 파일의 인덱스를 생성
  • CCpdf는 다른 Dataset에 비해 적은 문서를 생성하지만 아래와 같이 다양한 부분에서 도움이 됨
    • dataset이 가지고 있는 long-distance relationships를 이해
    • 선택한 11개의 언어로 multi-language training
    • 인터넷 전체에서 각기 다른 웹사이트에서 가져온 소스 문서로 multi-domain training
    • 최근에 생성된 문서로 문서 이해

Exploration of PDFs

 

  • Fig 2
    • 99.4%의 파일의 생성연도 확인 가능
    • corpus는 상대적으로 최근 문서를 포함
    • 2022년 5월 dump에는 2021년에 생성된 파일이 가장 많음
  • Fig 3
    • 76%가 넘는 대부분의 샘플이 PDF-1.7 이전 버전
    • 1.7~2.0에 해당하는 버전은 ISO Standard로 정의되었고 그 이전 버전은 Adobe proprietary standards로 정의됨
  • Fig 4 : 문서 당 단어 수 분포
  • Fig 5 : 페이지 당 단어 수 분포
  • Fig 6 : 페이지 당 줄 수 분포
  • Fig 4, Fig 5, Fig 6
    • 대부분의 문서와 페이지에는 거의 텍스트가 없음
    • 전형적으로 페이지 당 단어 수는 0~500개, 페이지 당 줄 수는 0~55개
  • Fig 7 : 페이지의 text coverage 분포

  • Fig 9, Fig 10 : 수평, 수직 페이지의 토큰 bounding box의 heatmap

Discussion

  • Limitation : 처리 pipeline에만 초점을 맞추고 각각의 프로젝트가 최종적인 Language Model에 미치는 영향은 분석하지 못함