Institutional Books - Enriched Text: A customizable multilingual open-source pipeline for denoising, deduplicating, and annotating OCR text at scale
이 논문은 공격적인 전역 전처리를 적용하는 대신 언어 감지, 중복 제거 클러스터링, 품질 점수를 통해 OCR 텍스트에 주석을 달아 메타데이터를 보존하고 사용자 제어형 필터링을 가능하게 하는 맞춤형 오픈 소스 다국어 파이프라인인 "Enriched Text"를 소개한다.
원본 논문은 CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) 라이선스로 제공됩니다. 이것은 아래 논문에 대한 AI 생성 설명입니다. 저자가 작성하거나 승인한 것이 아닙니다. 기술적 정확성을 위해서는 원본 논문을 참조하세요. 전체 면책 조항 읽기
수 세기에 걸친 인류의 사상을 담고 수백 개의 서로 다른 언어로 쓰인, 거의 백만 권에 달하는 책을 보유한 도서관을 상상해 보십시오. 수십 년 동안 이 책들은 기계에 의해 스캔되어 물리적인 페이지가 디지털 텍스트로 변환되었습니다. 하지만 이 디지털 텍스트는 종종 지저받기 쉽습니다. 여기에는 스캐닝 과정에서 발생하는 노이즈, 즉 모든 페이지 하단에 반복되는 페이지 번호, 페이지 상단을 가로지르는 헤더, 그리고 줄 끝에서 어색하게 끊긴 단어들이 포함됩니다. 이 텍스트로부터 학습하려는 컴퓨터에게 이러한 노이즈는 큰 장애물이 됩니다. 데이터를 정제하는 표준적인 방법들은 종-종 정보의 큰 덩어리를 버리는 방식을 취합니다. 예를 들어 영어가 아닌 모든 텍스트를 제거하거나, 다른 것과 유사해 보이는 모든 문단을 삭제하는 식입니다. 이는 데이터를 더 깨끗하게 만들 수는 있지만, 그 과정에서 다국어적 역사와 책이라는 구조적 맥락이 가진 풍부함을 앗아갑니다.
하버드 법대 연구팀은 다른 접근 방식을 취했습니다. 그들은 지저분한 부분을 버리는 대신, 그것들을 정교하게 조직하는 시스템을 구축했습니다. 그들은 그 결과물을 "풍부한 텍스트(Enriched Text)"라고 부릅니다. 단순히 단어들의 단순화된 흐름을 만들어내는 것이 아니라, 원래의 텍스트를 온전히 유지하면서 디지털 주석(annotation)이라는 층을 추가하는 것입니다. 이것은 마치 모든 문단에 디지털 라벨을 붙이는 것과 같습니다. 각 문단이 무엇인지, 어떤 언어인지, 그리고 다른 것의 중복인지 여부를 컴퓨터에게 정확히 알려주는 것입니다. 이를 통해 데이터를 사용하는 사람은 경직된 필터에 의해 결정되는 것이 아니라, 스스로 무엇을 남기고 무엇을 무시할지를 결정할 수 있습니다.
이 프로젝트는 구글과의 파트너십을 통해 디지털화된 하버드 도서관의 방대한 컬렉션인 983,004권의 저작물에서 시작되었습니다. 이 컬렉션은 약 2,420억 개의 토큰(token)으로 알려진 약 2,420억 개의 텍스트 단위를 포함하며, 약 250개의 서로 다른 언어를 아우릅니다. 연구진은 이 컬렉션을 현대적인 인공지능이 사용할 수 있도록 만들면서도 원본 자료의 온전함을 잃지 않기를 원했습니다. 그들은 하나의 난관에 봉착했습니다. 데이터를 준비하는 표준적인 컴퓨터 과학 관행은 영어 이외의 텍스트를 공격적으로 걸러내고, 공간을 절약하기 위해 복사본처럼 보이는 것은 모두 삭제한다는 점입니다. 그러나 역사적인 도서관의 경우, 영어가 아닌 텍스트를 삭제하는 것은 컬렉션의 절반을 잃는 것을 의미하며, 중복을 삭제하는 것은 긴 책의 연속성을 깨뜨리는 일이 됩니다.
이를 해결하기 위해 연구팀은 세심한 사서처럼 작동하는 처리 파이프라인을 만들었습니다. 먼저, 그들은 스캐닝 과정에서 발생하는 흔한 오류들을 수정하여 텍스트를 정돈했습니다. 페이지 중간에 섞여 들어가는 경우가 많은 페이지 상단과 하단의 페이지 번호 및 헤더를 제거했습니다. 또한 하이픈으로 연결되어 줄이 끊긴 단어들을 올바르게 다시 결합했습니다. 그리고 책의 앞부분과 뒷부분(목차, 색인, 참고문헌 등)인 "부속물(end matter)"을 본문의 이야기나 논증으로부터 분리했습니다. 결정적으로, 그들은 이 섹션들을 삭제하지 않았습니다. 대신, 사용자가 본문만 읽거나 색인만을 따로 연구할 수 있도록 라벨을 붙였습니다.
시스템은 이후 책들을 더 작고 의미 있는 단위로 나누었습니다. 단순히 페이지가 넘어가는 지점이 아니라, 주제가 논의되는 방식에 따라 개별 문장을 식별하고 문단을 그룹화했습니다. 이는 한 페이지에 두 가지 주제가 포함될 수도 있고, 하나의 주제가 여러 페이지에 걸쳐 이어질 수도 있기 때문에 중요합니다. 주제별로 텍스트를 그룹화함으로써, 연구진은 컴퓨터가 아이디어의 흐름을 더 쉽게 이해할 수 있도록 만들었습니다. 또한 여러 책에서 나타나는 중복 문단을 식별했습니다. 이 중복들을 삭제하는 대신, 그들은 표시를 해두었습니다. 한 버전의 문단은 "대표" 복사본으로 강조되고, 나머지는 중복으로 태그가 지정됩니다. 이는 아이디어가 서로 다른 책과 언어 사이에서 어떻게 재사용되고 공유되었는지에 대한 역사를 보존합니다.
가장 정교한 단계 중 하나는 텍스트의 품질을 측정하는 것이었습니다. 연구진은 소규모 컴퓨터 모델을 사용하여 모든 문단을 읽고, 언어의 예측 가능성과 유창성을 바탕으로 점수를 부여했습니다. "바이트당 비트(bits-per-byte)"라고 불리는 이 점수는, 문단이 고품질의 산문인지 아니면 표(table)가 하나의 텍스트 블록으로 잘못 읽힌 것처럼 스캔 오류로 인한 엉망인 노이즈인지를 식별하는 데 도움을 줍니다. 이를 통해 사용자들은 값비싼 계산을 직접 수행하지 않고도 최악의 품질을 가진 텍스트를 걸러낼 수 있습니다.
최종 결과물은 13억 개 이상의 주석이 달린 문단으로 구성된 2,170억 개의 토큰 데이터셋입니다. 연구진은 이 접근 방식이 텍스트의 복잡성을 보존하면서도 성공적으로 텍스트를 정제했다는 것을 발견했습니다. 예를 들어, 영어 텍스트가 컬렉션에서 가장 큰 비중을 차지하지만, 시스템은 많은 비영어권 서적들이 인용이나 학술적 참조를 위해 라틴어나 그리스어를 상당 부분 포함하고 있다는 점을 정확히 식별해 냈습니다. 또한, 17세기의 책들보다 19세기와 20세기의 책들이 우리가 오늘날 사용하는 언어와 더 유사하게 들린다는 점을 통해, 시간이 흐를수록 텍스트가 현대의 컴퓨터들에게 더 예측 가능해졌음을 발견했습니다.
연구팀은 전체 파이프라인을 오픈 소스 소프트웨어로 공개하여, 누구나 자신의 책 컬렉션을 처리하는 데 사용할 수 있도록 했습니다. 또한 사용자가 데이터를 파싱(parsing)할 수 있는 작은 도구도 제공하여, 사용자가 원한다면 주석을 제거하여 단순한 단어 목록을 얻을 수도 있고, 주 혹은 주석을 유지하여 책의 구조를 연구할 수도 있게 했습니다. 삭제하기보다 주석을 다는 방식을 선택함으로써, 연구진은 기계에게는 더 깨끗하면서도 인간의 연구에는 더 풍부한 자원을 만들어냈습니다. 그들은 데이터 처리가 지저분한 부분을 버리는 것이 아니라, 그것들을 어떻게 조직하느냐에 달려 있음을 보여주었습니다. 이 작업은 데이터 처리의 미래가 지저분한 부분을 버리는 것이 아니라, 그것들을 어떻게 정리하느냐에 있다는 것을 시사합니다.
연구 분야의 논문에 파묻히고 계신가요?
연구 키워드에 맞는 최신 논문의 일일 다이제스트를 받아보세요 — 기술 요약 포함, 당신의 언어로.