这个项目能做什么

eurlex-builder 是一个可配置的 Python 命令行流水线,用于从 EUR-Lex / Cellar 立法材料构建可供研究使用的数据集。它检索指令、条例、决定、通讯及其他欧盟法案,然后以可选粒度提取文本:整条条款、编号段落或字母编号要点。该工具面向欧盟立法的定量法律研究、自然语言处理、分类和网络分析。 该流水线生成一个 DuckDB 工作数据库以及四张 Parquet 表:works、text_units、relations 和 eurovoc。它支持两种主要查询模式:固定模式,用户提供 CELEX ID 或程序编号;描述模式,用户选择文件类型、日期范围以及可选的 EuroVoc 关键词过滤条件。它处理多种 EUR-Lex HTML 结构,并针对较旧或非机器可读文件,使用 Docling 和 pymupdf 提供 PDF 回退提取。 关键能力包括条款内拆分、样板文本剥离、序言/条款/附件提取、文件间关系捕获(如引用、修订、法律依据、废止和合并),以及使用 Helsinki-NLP Opus-MT 修订版对非英语内容进行可选翻译。翻译通过受 token 限制的重试和质量检查加以保护,被拒绝的输出保留源语言,而不会替换原文。 该工具强调可复现性和可恢复性。单个 YAML 文件定义数据集,而 DuckDB 存储检查点、运行清单、经验证的配置哈希、依赖版本和完成状态。CLI 命令包括 run、translate、enrich、status 和 validate。enrich 可通过 SPARQL 添加事后元数据,包括生效日期、ELI、作者机构、主题事项、程序详情、EuroVoc 描述符和废止关系。validate 命令执行只读完整性检查,不修改数据库。 README 指出,全文检索适用范围较广,但细粒度提取对条例、指令和决定最为可靠。通讯类文件提取效果良好,但存在已知缺口,而提案、工作人员工作文件和判例法可能丢失结构单元或无法生成文本单元。这使该项目对构建结构化、可审计的欧盟立法文本语料库的研究人员尤为有用。