1 Overview
Repository location
The dataset is openly archived on Zenodo at https://doi.org/10.5281/zenodo.20233178. The deduplication and enrichment pipeline, with documentation, is mirrored on GitHub and archived for long-term availability on Zenodo at https://doi.org/10.5281/zenodo.21508679. The deposit is versioned: version 2 (21 May 2026) adds the genre-annotation columns accidentally omitted from the initial upload, all other components being unchanged, and future versions may address issues reported by users, with all changes documented in the Zenodo version history.
Context
The corpus was produced as part of doctoral research on the computational analysis of French popular fiction. Its broader motivation is to make empirically accessible what Cohen (1999) calls literature hors d’usage: works fallen out of circulation and out of literary memory. We use the term in a production-side sense: lacking sales figures or print runs, the dataset does not measure popularity, but it captures the breadth of what was printed. Derived from the BnF’s legal-deposit holdings — an estimated 40% of nineteenth-century novelistic production (Langlais, 2019) — the corpus approximates the mass of published fiction rather than a retrospectively selected canon: production peaks in the 1880s, the golden age of the roman-feuilleton (Figure 1), and most of its 3,632 authors are absent from literary histories or anthologies.

Figure 1
Temporal distribution of the 10,898 novels. Production peaks in the 1880s, reflecting the golden age of the roman-feuilleton. The drop after 1900 is partly an artefact of Gallica’s digitization coverage and of copyright constraints on twentieth-century works.
The dataset is built on top of the upstream Fictions littéraires de Gallica collection assembled by Langlais (2021), and continues a line of work that recovers genre and stylistic categories from full texts rather than catalog metadata (Langlais, 2019; Underwood, 2019). Methodologically, our deduplication pipeline draws on the hybrid identifier-plus-fuzzy strategy recently used for shadow-library cataloguing at scale (Mazières & Poibeau, 2025), adapted here to the specifics of OCR-derived French sources. The resulting corpus extends and refines an earlier 12,176-novel version first used in Barré (2024b) to study intertextual structure, and has subsequently supported published research on adventure-novel retrieval (Barré, 2026) and passage-level genre detection (Barré, 2024a). Within the landscape of fiction corpora for literary history, the dataset complements English-language resources such as the NovelTM datasets (Underwood et al., 2020), and the multilingual ELTeC collections (Schöch et al., 2021); for French, it stands alongside the Chapitres corpus (Leblond, 2022) and CIDRE (Seminck & Gambette, 2022), and — for the immediately preceding period — the MiMoText collection of eighteenth-century French novels (Röttgermann, 2024), from which it differs in scale, in its focus on non-canonical production, and in the release of the curation decisions themselves.
2 Method
Steps
The starting point is the Fictions littéraires de Gallica collection compiled by Langlais (2021), from which we draw the subset that has been filtered for OCR quality (95% correct-word ratio against a manually corrected French lexicon), with Œuvres complètes volumes removed — they aggregate distinct novels under a single record and distort similarity computations through size asymmetry — and with a first pass of rule-based metadata deduplication on exact author–title matches. This yields a working corpus of 12,176 candidate records, on which the present pipeline applies four further stages: a temporal restriction, a content-aware deduplication, a metadata enrichment, and a genre-labeling stage.
The temporal restriction discards records published before 1800, where the upstream metadata is noisier and the OCR less reliable; this removes 267 records and yields 11,909 candidates in the 1800–1950 window.
The deduplication stage combines content-level similarity with a second, deeper pass of rule-based metadata matching, with each per-pair decision logged for audit. On the content side, a 256-permutation MinHash signature is computed for every text after Gallica-specific cleaning: suppression of paratextual lines, page numbers, image captions, and a 5% trim on each end to neutralize prefaces and editorial colophons. Pairs with Jaccard similarity at or above 0.55 are surfaced through Locality-Sensitive Hashing (Leskovec et al., 2020). On the metadata side, four cascading passes are applied within each author group: an EXACT pass on normalized titles; a RACINES pass on strict prefixes (typically a bare title versus the same with an editorial suffix such as par M. Dumas); a RACINES_2 pass on shared two-token roots, with risk tags for generic roots and oversized clusters; and a FUZZY pass using token-sort similarity above 0.85. A pair is automatically merged only if (i) the metadata pass returns an EXACT or long-prefix match, or (ii) the MinHash similarity exceeds 0.75 and the two records share an author. Edge cases are routed to a manual-review queue. This conservative design proceeds in two passes: a hybrid pass combining content and metadata signals removes 917 duplicates, yielding an intermediate corpus of 10,992 novels, after which a second pass merges 94 remaining same-author, title-compatible editions that survived the first pass. The two passes remove 1,011 duplicates in total, yielding 10,898 distinct novels. When a pair is merged, the retained witness is the earliest publication date. Because the procedure operates on textual similarity rather than on bibliographic identity, substantially rewritten editions of the same work fall below the similarity thresholds and are retained as distinct texts, while lightly revised editions are collapsed onto a single witness; the retained text therefore carries no philological claim about which state of the work it represents.
The metadata enrichment stage corrects OCR artefacts in titles and author names, normalizes author identities across pseudonyms and orthographic variants, and recovers biographical dates through a cross-reference between BnF authority records and Wikidata. The final corpus contains 10,898 novels by 3,632 distinct authors, with 86% of records linked to a BnF authority identifier and 85% to a Wikidata entity. Its temporal distribution is shown in Figure 1.
The final stage adds two genre labels to the metadata table: an is_adventure flag and an is_detective flag, produced by supervised classification anchored in historically situated seed lists and refined over a k-nearest-neighbor similarity graph (Barré, 2026). The labels are introduced here because they are part of the released resource and of its quality control; their construction and reuse potential are detailed in Section 4.
Sampling strategy
The corpus inherits the sampling regime of the upstream Gallica collection, which itself reflects the French legal-deposit system: Langlais (2019) estimates that roughly 40% of nineteenth-century French novels are covered. Post-1950 coverage drops sharply due to copyright restrictions on full-text release.
Quality control
Three control mechanisms were applied in addition to the upstream OCR filter described above. The deduplication procedure was validated against a manually annotated sample of 82 pair candidates, stratified across eight Jaccard buckets between 0.50 and 1.00; the operational auto-merge threshold was set so that the lower bound of the 95% bootstrap confidence interval on precision exceeds the target value (see Appendix 4, Figure A.1). Every per-pair decision is logged in the released decisions.tsv, allowing full reverse-engineering of the curated corpus. Finally, the adventure label was validated externally: the Chapitres corpus (Leblond, 2022), a collection of French novels with independently curated genre metadata, provides 364 novels labeled as adventure fiction, of which our classifier retrieves 81% (Barré, 2026).
3 Dataset Description
Repository name
Zenodo (primary archival deposit, versioned); GitHub (working mirror, pipeline code).
Object name
txts_gallica.tar.gz (full-text archive) and metadata_gallica.tsv (metadata table).
Format names and versions
A gzipped tar archive containing UTF-8 plain-text files (.txt), one per novel; an accompanying tab-separated values file (.tsv) with per-novel metadata; documentation in Markdown.
Creation dates
2024-06-01 to 2026-05-17.
Dataset creators
Jean Barré (Lattice, CNRS / ENS-PSL). The dataset reuses, as an upstream resource, the Gallica digital collections of the Bibliothèque nationale de France and the Fictions littéraires de Gallica collection compiled by Pierre-Carl Langlais (Langlais, 2021).
Language
French (text content, titles); English (variable names, documentation).
License
The full texts originate from Gallica and are in the public domain in France. In agreement with the Bibliothèque nationale de France, any reuse of the textual files must include the attribution “Source gallica.bnf.fr / Bibliothèque nationale de France” and a reference to the Gallica conditions of use.1 The curated metadata, deduplication pipeline, and derived files are distributed under CC BY 4.0.
Publication date
2026-05-17.
4 Reuse Potential
The dataset is designed as an infrastructure layer for the computational study of French fiction, and is to our knowledge the largest curated and quality-controlled corpus available for that purpose.
Genre labels as worked examples
Two genre annotations are distributed as columns in the metadata table. The first flags 1,428 adventure novels, retrieved through supervised classification anchored in a historically situated seed list, followed by graph-based refinement on a k-nearest-neighbor similarity graph computed in a fine-tuned embedding space (Barré, 2026). The second flags 830 detective novels, produced through the same pipeline with a different seed list. Both are released with per-novel classifier probabilities, so that users can construct working corpora at alternative confidence thresholds, or apply the methodology to other genres. They illustrate that the dataset is structured to support genre-level work: full texts are recoverable, author identities are stable, and per-novel metadata is rich enough to anchor empirical comparisons.
Stylistic and bibliometric studies
The size and temporal range of the corpus enable analyses of lexical and rhetorical change across more than a century of French prose fiction. The author distribution is sharply long-tailed: a handful of canonical or commercially dominant signatures account for a substantial volume share, while most of the 3,632 authors appear with only one or two titles. The corpus is thus well-suited to studies of authorial trajectories and of the canon/archive distinction (Moretti, 2000; Algee-Hewitt et al., 2016; Barré et al., 2023): debates on canonicity and the “great unread” (Cohen, 1999) can be tested at scale on the French fiction that originally prompted the category.
Literary history and pedagogy
The dataset enables empirical reconsideration of nineteenth-century categories displaced from contemporary curricula, and provides a manageable but realistic resource for teaching corpus curation, stylometry, supervised classification, embedding-based retrieval, and reproducibility workflows.
Limitations
Coverage is bounded upstream by Gallica’s digitization choices and by copyright. OCR noise persists despite the 95% filter and may affect lexical-level analyses. The two genre labels operationalize specific literary-historical perspectives and should not be treated as exhaustive.
Appendices
Appendix A: Deduplication validation
A stratified sample of 82 candidate duplicate pairs was manually annotated, drawn across eight Jaccard buckets between 0.50 and 1.00. Each pair was labeled YES (same work, possibly different editions), NO (distinct works), or UNSURE; 78 of the 82 received a conclusive label. Precision and recall were estimated at each candidate threshold via the empirical proportions among annotated pairs, with 95% confidence intervals obtained through 1,000 bootstrap resamples. The operational threshold was selected as the smallest T at which the lower bound of the 95% precision CI reaches the target value; the released corpus combines a MinHash threshold of 0.75 with author-coherence constraints from the metadata pass.

Figure A.1
Precision (dashed) and recall (dotted) of MinHash-based duplicate detection as a function of the Jaccard threshold, with 95% bootstrap confidence intervals (shaded). The hybrid pipeline used for the released corpus combines this content-level signal with the rule-based metadata signal described in Section 2, which is why the operational regime sits at a precision level higher than the curve indicates for MinHash alone.
Notes
Acknowledgements
The author thanks the Bibliothèque nationale de France for the open Gallica program, and in particular Jean-Philippe Moreux and the BnF DataLab team — notably Marie Carlin — for ongoing support to scholarly reuse. Thanks also to Pierre-Carl Langlais for the upstream Fictions littéraires de Gallica collection, and to Aude Leblond and colleagues for the Chapitres validation corpus.
Data Accessibility Statement
Dataset: Zenodo, https://doi.org/10.5281/zenodo.20233178. Pipeline: GitHub and Zenodo, https://doi.org/10.5281/zenodo.21508679.
Author Contributions
Jean Barré: Conceptualization, Data curation, Formal analysis, Methodology, Software, Validation, Visualization, Writing – original draft, Writing – review & editing.
