Bundesrecht: An Open Library and Corpus for German Statutory Reference Processing
本文介绍了 bundesrecht,这是一个开源 Python 库及结构化语料库,它提供了首个端到端的流水线,用于将原始引用字符串解析、规范化并解析为特定的德国法律条款。
原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明
想象一下,你正在试图阅读一份复杂的德国法律文件。你看到这样一个句子:“See § 312 i.V.m. § 355 BGB.”
对于人类律师来说,这是一个清晰的指令:“查看《民法典》(BGB)第 312 条,并同时查看第 355 条。”但对于计算机来说,这看起来像是一堆乱码,充满了符号、缩写和隐藏的联系。计算机并不知道 “i.V.m.” 的意思是 “结合使用(in conjunction with)”,也不知道第二个段落编号实际上属于与第一个相同的法律。
这篇论文介绍了一个名为 bundesrecht 的新开源工具包,它旨在成为德国法律的终极翻译官和图书管理员。它能帮助计算机像人类专家一样理解、组织并查找德国法规的具体部分。
以下是它的工作原理,我们通过图书馆的比喻将其分解为三个简单的步骤:
1. 图书管理员(解析器 - The Parser)
想象一堆凌乱的书籍,书脊上用不同的手写体涂鸦着。有的写着“书 A,第 1 章”,有的写着“A-1”,还有的写着“书 A,第 1 章,第 2 节”。
解析器(Parser) 就是那位拿起涂鸦便条(原始引用字符串)并弄清楚其确切含义的图书管理员。它将便条拆解成各个部分:
- 这是哪部法律?(例如:BGB,《民法典》)
- 哪个段落?(例如:§ 312)
- 哪个子条款?(例如:第 2 段,第 1 项)
它将一段令人困惑的文本转换成一张整洁且结构化的卡片,上面写着:“法律:BGB,段落:312,子部分:2,项目:1。”
2. 标准化员(归一化器 - The Normalizer)
现在想象同一个图书馆,但书的编写风格各异。一本书说“第 12 至 15 段”,另一本说“§§ 12–15”,第三本则说“参见 12, 13, 14 和 15”。计算机无法轻易判断它们其实是同一件事。
归一化器(Normalizer) 是那位将所有不同风格重写为一种标准、“规范”格式的编辑。
- 如果你说“第 12 到 15 段”,归一化器会将其拆分为四个独立的、清晰的指令:“查看 12”、“查看 13”、“查看 14”以及“查看 14”。
- 如果你使用缩写 f. 并说“第 312 段及其后的一段”,它会将其展开为“第 312 段和第 313 段”。
这确保了无论原始文件中法律是如何书写的,计算机都能获得一份干净、一致的、关于究竟要查看哪些部分的清单。
3. 查找者(解析器 - The Resolver)
最后,想象你拥有一个巨大的数字图书馆,其中包含了所有德国法律的全文,并细化到了最微小的子条款(例如段落中的某个特定字母或数字)。
查找者(Resolver) 拿着你那份干净、标准化的清单,前往图书馆提取实际的文本。
- 如果你请求“第 312 段,第 2 节,第 7 项”,查找者不会只给你整个段落。它会深入挖掘,并只递给你那个特定的项目。
- 如果该精确项目不存在(例如法律只到第 5 项为止),查找者足够聪明,它会说:“我找不到第 7 项,但这是我能找到的最接近的匹配项,并且我会告诉你我在第 5 项处停止了。”
为什么这很重要?
在此工具出现之前,计算机要么:
- 能找到文本中的引用,但不理解其结构。
- 只有在你给出一个完美的、预先格式化的地址时,才能查找法律。
但它们无法处理律师书写引用时那种杂乱、真实的写法(带有缩写、范围和组合引用)。bundesrecht 是第一个能够完成全过程的开源工具:它接收杂乱的引用,进行清理,进行拆解,并在法律中找到精确的文本。
它的效果如何?
作者在近 3,000 个真实的法律引用上测试了他们的工具。
- 准确性: 对于法律的大多数部分,它在结构识别上的准确率超过了 98%。
- 分组能力: 与仅进行简单的文本搜索相比,它在意识到“§ 12–15”和“§ 12, 13, 14, 15”是同一件事方面表现得出色得多。
简而言之,bundesrecht 就像是给计算机戴上了一副眼镜并给了它一张地图,让它能够像人类律师一样,轻松穿梭于德国成文法那密集且复杂的森林之中。它现在已面向所有人开放使用。
您所在领域的论文太多了?
获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。