À propos du projet

eurlex-builder est un pipeline en ligne de commande Python configurable destiné à construire des jeux de données prêts pour la recherche à partir du matériel législatif EUR-Lex / Cellar. Il récupère les directives, règlements, décisions, communications et autres actes de l'UE, puis extrait le texte à une granularité sélectionnable : articles entiers, paragraphes numérotés ou points lettrés. L'outil vise la recherche juridique quantitative, le NLP, la classification et l'analyse de réseau de la législation de l'UE. Le pipeline produit une base de travail DuckDB ainsi que quatre tables Parquet : works, text_units, relations et eurovoc. Il prend en charge deux modes de requête principaux : le mode fixe, où les utilisateurs fournissent des identifiants CELEX ou des numéros de procédure, et le mode descriptif, où les utilisateurs sélectionnent des types de documents, des plages de dates et des filtres optionnels par mots-clés EuroVoc. Il gère plusieurs structures HTML d'EUR-Lex et inclut une extraction de secours au format PDF pour les documents plus anciens ou non lisibles par machine, à l'aide de Docling et pymupdf. Les capacités clés incluent la décomposition sous-article, la suppression des textes redondants, l'extraction des considérants/articles/annexes, la capture des relations entre documents telles que les citations, modifications, bases juridiques, abrogations et consolidations, ainsi que la traduction optionnelle du contenu non anglophone à l'aide des révisions Helsinki-NLP Opus-MT. La traduction est protégée par des tentatives limitées en tokens et des contrôles de qualité, et les sorties rejetées restent dans la langue source plutôt que de remplacer le texte original. L'outil met l'accent sur la reproductibilité et la reprise. Un seul fichier YAML définit le jeu de données, tandis que DuckDB stocke les points de contrôle, les manifestes d'exécution, les hachages de configuration validés, les versions des dépendances et l'état d'achèvement. Les commandes CLI incluent run, translate, enrich, status et validate. L'enrichissement peut ajouter des métadonnées a posteriori via SPARQL, notamment les dates d'entrée en vigueur, l'ELI, les institutions auteures, l'objet, les détails de procédure, les descripteurs EuroVoc et les relations d'abrogation. La commande validate effectue des contrôles d'intégrité en lecture seule sans modifier la base de données. Le README note que la récupération du texte intégral fonctionne largement, mais que l'extraction granulaire est plus fiable pour les règlements, directives et décisions. Les communications s'extraient bien mais présentent des lacunes connues, tandis que les propositions, documents de travail des services et la jurisprudence peuvent perdre des unités structurelles ou ne produire aucune unité de texte. Cela rend le projet particulièrement utile aux chercheurs construisant des corpus structurés et auditables de textes législatifs de l'UE.