프로젝트 소개

eurlex-builder는 EUR-Lex / Cellar 입법 자료로부터 연구 준비가 된 데이터셋을 구축하기 위한 설정 가능한 Python 명령줄 파이프라인이다. 지침, 규정, 결정, 통신 및 기타 EU 법률 행위를 검색한 뒤 전체 조항, 번호가 매겨진 단락, 문자로 표시된 항목 등 선택 가능한 세분성으로 텍스트를 추출한다. 이 도구는 EU 입법에 대한 양적 법률 연구, NLP, 분류, 네트워크 분석을 목표로 한다. 파이프라인은 DuckDB 작업 데이터베이스와 네 개의 Parquet 테이블, 즉 works, text_units, relations, eurovoc를 생성한다. 두 가지 주요 쿼리 모드를 지원한다. 고정 모드에서는 사용자가 CELEX ID 또는 절차 번호를 제공하고, 서술 모드에서는 사용자가 문서 유형, 날짜 범위, 선택적 EuroVoc 키워드 필터를 선택한다. 여러 EUR-Lex HTML 구조를 처리하며, 오래되었거나 기계 판독이 불가능한 문서에 대해 Docling과 pymupdf를 사용한 PDF 대체 추출을 포함한다. 주요 기능으로는 조항 하위 분해, 상용구 제거, 전문/조항/부속서 추출, 인용, 개정, 법적 근거, 폐기, 통합과 같은 문서 간 관계 포착, Helsinki-NLP Opus-MT 개정판을 사용한 비영어 콘텐츠의 선택적 번역이 있다. 번역은 토큰 한도 재시도와 품질 검사로 보호되며, 거부된 출력은 원문 텍스트를 대체하지 않고 원어로 남는다. 이 도구는 재현성과 재개 가능성을 강조한다. 단일 YAML 파일이 데이터셋을 정의하고, DuckDB는 체크포인트, 실행 매니페스트, 검증된 구성 해시, 종속성 버전, 완료 상태를 저장한다. CLI 명령에는 run, translate, enrich, status, validate가 있다. 보강은 SPARQL을 통해 사후 메타데이터를 추가할 수 있으며, 여기에는 발효일, ELI, 작성 기관, 주제, 절차 세부 정보, EuroVoc 설명자, 폐기 관계가 포함된다. validate 명령은 데이터베이스를 수정하지 않고 읽기 전용 무결성 검사를 수행한다. README는 전체 텍스트 검색은 광범위하게 작동하지만, 세분화된 추출은 규정, 지침, 결정에 가장 신뢰할 수 있다고 밝힌다. 통신은 잘 추출되지만 알려진 공백이 있으며, 제안서, 직원 작업 문서, 판례는 구조 단위를 잃거나 텍스트 단위를 전혀 생성하지 않을 수 있다. 따라서 이 프로젝트는 EU 입법 텍스트의 구조화되고 감사 가능한 코퍼스를 구축하는 연구자에게 특히 유용하다.