lbrenap1/mining-legal-arguments-us-corporate-case-law
Mining Legal Arguments in U.S. Corporate Case Law This dataset contains span-level functional labels and directed support relations for 42 U.S. federal tax opinions concerning corporate reorganizations under I.R.C. Section 368. The opinions range in citation year from 1935 to 1987. Two law students annotated the cases, and a law professor adjudicated the final case-level representations. Ten cases also include the two independent annotations used for inter-annotator agreement… See the full description on the dataset page: https://huggingface.co/datasets/lbrenap1/mining-legal-arguments-us-corporate-case-law.
Mining Legal Arguments in U.S. Corporate Case Law
This dataset contains span-level functional labels and directed support relations for 42 U.S. federal tax opinions concerning corporate reorganizations under I.R.C. Section 368. The opinions range in citation year from 1935 to 1987. Two law students annotated the cases, and a law professor adjudicated the final case-level representations. Ten cases also include the two independent annotations used for inter-annotator agreement analysis.
The release provides adjudicated spans, sentence projections, directed support relations, independent agreement annotations, corrected retrieval queries, relevance judgments, and the exact case-disjoint fold assignments used in the experiments. It is a data-first release. It does not include model training code, model artifacts, predictions, rankings, or experiment results.
Dataset summary
The 44 terminal Conclusion nodes comprise 43 roots of relation-bearing argument trees and one additional isolated Conclusion node. The isolated node is not counted as a relation-bearing tree.
The release uses two related sentence counts. There are 2,673 unique sentences with a primary functional label in sentences. A sentence can overlap more than one annotated node and can therefore contribute more than one label assignment. Deduplicating the overlap links by sentence and label produces 2,715 sentence-label assignments. The remaining opinion sentences are retained with the primary label Unlabeled so that retrieval can rank all well-formed sentences, not only annotated ones.
Configurations
Every configuration has a single split named full. Cross-validation membership is represented in fold_assignments, not as Hugging Face train, validation, and test splits.
Field definitions and identifier relationships are documented in ANNOTATION_SCHEMA.md. A concise summary of the annotation rules appears in ANNOTATION_GUIDELINES.md.
Functional labels
- Rule marks generally applicable statements, including legal rules, tests, and abstract criteria.
- Analysis marks case-specific reasoning that applies rules to facts and often functions as an intermediate conclusion.
- Conclusion marks the final outcome of an argument tree.
- Background Facts marks case facts and transaction details that establish the factual setting but do not directly contribute to the argument tree.
- Procedural History marks litigation posture and procedural events.
Unlabeled is used only in the sentence configuration for opinion sentences that do not inherit a functional label from an overlapping annotated span.
Annotation and adjudication
Annotators selected free spans expressing atomic reasoning units, assigned functional labels, and connected supporting units to downstream claims. Rule and Analysis nodes form the argumentative structure and have directed paths toward terminal Conclusion nodes. Background Facts and Procedural History remain disconnected from the argument tree. Annotators could insert an implicit Rule or Analysis node when a necessary reasoning component was not stated in the opinion.
For each of the ten double-annotated cases, the adjudicator reviewed both complete files and selected the file that best followed the guidelines. The selected file serves as the final representation for that case. The final representation is not a component-level merge of the two independent annotations.
Sentence projection
Explicit spans are projected to full sentences through positive character-interval overlap. A sentence that overlaps several nodes is linked to every overlapping node in sentence_node_links. Its single primary label and source_node_id in sentences are selected by maximum character overlap, then by earlier span start, earlier span end, and lexicographic node identifier. Sentence offsets delimit the source interval in the unchanged document text. The sentence string is the canonical splitter output with whitespace normalized, so it is not always byte-identical to that source substring.
Retrieval task
Each retrieval query contains one masked argumentative slot. Every sentence overlapping the hidden explicit node or nodes is a positive passage. A query therefore has one or more correct passages. The 490 queries have between 1 and 10 positive passages, with a mean of approximately 2.41.
Three query views are supplied:
structured_query_textretains the tree markup, functional labels, and one[MASK]token.flat_masked_query_textlinearizes the same content and retains one[MASK]token.flat_plain_query_textreplaces the mask with the textual placeholdermissing span.
Implicit nodes may appear in query context but are not retrievable passages because they are not anchored to opinion text.
model_input_token_counts records the query lengths produced by the pinned answerdotai/ModernBERT-base tokenizer used to build the corrected retrieval data.
Cross-validation assignments
The classification and retrieval experiments are case-disjoint. No case appears in both training and test data within a rotation.
- The five-class and four-class classification assignments were generated separately. Each setting lists the held-out fold for all 42 cases. The two settings do not necessarily assign the same cases to the same fold.
- Retrieval uses five outer rotations. In each rotation, one fold is the test set, the next fold is the validation set, and the remaining three folds are the training set. Each case appears as held-out test data once.
Loading
After publication, load the configurations from the dataset repository:
from datasets import load_dataset
nodes = load_dataset(
"lbrenap1/mining-legal-arguments-us-corporate-case-law",
"final_nodes",
split="full",
)
queries = load_dataset(
"lbrenap1/mining-legal-arguments-us-corporate-case-law",
"retrieval_queries",
split="full",
)The JSONL files can also be read directly:
import json
with open("data/final_nodes.jsonl", encoding="utf-8") as handle:
nodes = [json.loads(line) for line in handle]Run the included standard-library validator from the repository root:
python validate_release.pyLicensing
The authors' annotations, normalized tables, derived task data, schema, and documentation are licensed under Creative Commons Attribution 4.0 International. The validator is separately licensed under the MIT License. The authors do not assert copyright in the judicial opinion text. See LICENSE, LICENSE-CODE, and NOTICE.md.
Citation
The paper link will be added after publication. Until then, cite dataset version 1.0.0:
@dataset{brena2026mining,
title = {Mining Legal Arguments in U.S. Corporate Case Law},
author = {Brena, Luis and Jurayj, William and Deyesu, Gregory and Al-Huneidi, Zaid and Blair-Stanek, Andrew and Van Durme, Benjamin},
year = {2026},
note = {Dataset, version 1.0.0},
url = {https://huggingface.co/datasets/lbrenap1/mining-legal-arguments-us-corporate-case-law}
}