felix453/interpretive-canons-decisions
Interpretive Canons — decision-level Companion benchmark to the paper Classifying Interpretive Canons at the Sentence Level: A Benchmark from the German Federal Constitutional Court. This is the decision-level release: one record per fully (exhaustively) annotated decision, intended for end-to-end evaluation that runs the full pipeline over a whole decision. Only the 15 exhaustively annotated decisions are included; the selectively annotated decisions are not, because their… See the full description on the dataset page: https://huggingface.co/datasets/felix453/interpretive-canons-decisions.
Interpretive Canons — decision-level
Companion benchmark to the paper Classifying Interpretive Canons at the Sentence Level: A Benchmark from the German Federal Constitutional Court. This is the decision-level release: one record per fully (exhaustively) annotated decision, intended for end-to-end evaluation that runs the full pipeline over a whole decision. Only the 15 exhaustively annotated decisions are included; the selectively annotated decisions are not, because their unannotated sentences are not negatives. The companion instance-level benchmark (eight subtask files with splits) is at felix453/interpretive-canons-instances.
Record format (decisions.jsonl, one decision per line)
decision_name: BVerfGE / file identifier.plain_text: the full text of the reasons (Entscheidungsgründe).document_structure: paragraph/sentence structure inherited from the L.L.Con corpus (ebene1,absatz,satz, ...), with character offsets intoplain_text.readings: every annotated reading (Deutung) as a character span (start,end,satz_id) with its criteria —abstrakt,selbst_aufgestellt,konkretes_gesetz(list of provisions),bestimmt,vermutlich_keine_behauptung— and the free-text reasonings.arguments: every annotated (reading, candidate) pair as a character span withdeutung_id, thegeneral_argumentgate (present+reasoning), and the four canon labelswortlaut/systematik/geschichte/zweck(null when the gate is negative).
Loading
from datasets import load_dataset
ds = load_dataset("felix453/interpretive-canons-decisions", split="train")
print(ds[0]["decision_name"], len(ds[0]["readings"]))Raw annotations (provenance)
The raw, pre-merge Label Studio export these data are built from is available at `felix453/interpretive-canons-raw-export`. It retains two fields the postprocessing merge does not preserve: the per-reading determinate-content judgment bestimmt_moeglicheDeutung (dropped by the merge) and the un-flattened list of concrete provisions (the merge joins the entries into one unsplittable string). Join by Label Studio region id.
