# What do you do with 8 thousand billion variants?
## Toward structural and quantitative philology

Elena Pierazzo, Alice Gydé

<figure><img src="image_1.png" /></figure>

► To cite this version:

Elena Pierazzo, Alice Gydé. What do you do with 8 thousand billion variants? Toward structural and quantitative philology. DH2025- Accessibility and Citizenship, Jul 2025, Lisbon (Portugal), Portugal. hal-05226518

HAL Id: hal-05226518

https://hal.science/hal-05226518v1

Submitted on 27 Aug 2025

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

<figure><img src="image_2.png" /></figure>

Distributed under a Creative Commons Attribution 4.0 International License
# What do you do with 8 thousand billion variants? Toward structural and quantitative philology

Elena Pierazzo, Université de Tours, Centre d'études supérieures de la Renaissance, UMR 7323
Alice Gydé, Université de Tours

Short Paper – Conference DH 2025, Lisbon, 14-18 July 2025

Today, I’m presenting the first application of a new philological-computational method designed to address a major challenge in textual scholarship: how to manage millions of variant readings within a vast and fluid manuscript tradition.

Traditionally, philologists have relied on stemmatology—a method that traces transmission errors to reconstruct a lost original. This involves collating words across witnesses, whether manuscripts or prints. While recent advances in ATR, alignment, and digital stemmatology have improved this process, they fall short when applied to large, fluid traditions. In such cases, we need new methods—or at least, new ways to adapt our traditions to these tools.

Our case study is *Il Capitolo dei Frati*, a satirical poem by Jesuit Sebastiano Chiesa, written after the 1650s. It mocks the 1645 Franciscan chapter in Modena. The poem is long—16 cantos, each with about 100 stanzas, totalling around 13,000 verses. But it exists in many forms: some versions have only 10 cantos, others all 16, and the lengths vary widely.

This was a bestseller in its time. I’ve found over 270 manuscripts dated between 1670 and 1854, and I suspect there are over 1,000. Copies exist everywhere in Italy, but also in London, Paris, Madrid, Dresden, Philadelphia, Harvard, and Toronto, for instance. I’ve personally examined 150 of them. Initially, I thought of following a standard digital workflow (digital images, HTR, Automatic collation, stemma building), but I quickly realised the tradition was too fluid. Copyists took liberties, and different versions circulated simultaneously.

To reduce the noise, I began with a preliminary collation using *loci critici*. I adopted the structural segmentation method proposed by Andrist and Maniaci (2021), dividing the text into content blocks and focusing on their liminal parts—specifically, the incipit, the *argomento* (a stanza summarizing each canto), and the explicit.

Even then, the number of variants was overwhelming. So I elaborated a method based on corpus linguistics, which treats texts moving from tokens to types to lemmas—each step increasing abstraction. For each *locus*, we grouped similar readings into types and then abstracted them into what we call “canonical versions” (corresponding to lemmas), and tracked smaller variants within them.
<table><thead><tr><th></th><th>Block Limina Readings</th><th>Canonical Versions</th></tr></thead><tbody><tr><td rowspan="10">Grouped by types</td><td>1. La sua paternità muij Reverenda</td><td rowspan="7">1. La sua paternità muij Reverenda</td></tr><tr><td>2. La sua paternità mai Reverenda</td></tr><tr><td>3. Con sua paternità muij Reverenda</td></tr><tr><td>4. La sua paternitade Reverenda</td></tr><tr><td>5. Con sua paternitade molt Reverenda</td></tr><tr><td>6. Con la paternità sua Reverenda</td></tr><tr><td>7. La sua paternità si Reverenda</td></tr><tr><td>8. Per non farvi morir mezzo d'ambascia</td><td rowspan="2">2. Per non farvi morir mezzo d'ambascia</td></tr><tr><td>9. Per non vi far morir mezzo d'ambascia</td></tr><tr><td>10. Costuma di bandire al Generale</td><td>3. Costuma di bandire al Generale</td></tr></tbody></table>

We used the 16-canto versions as our reference. The table we built summarizes all canonical types for each *locus*. The final row shows all possible combinations of these canonical loci across cantos. The result?

<table><thead><tr><th></th><th>C1</th><th>C2</th><th>C3</th><th>C4</th><th>C5</th><th>C6</th><th>C7</th><th>C8</th><th>C9</th><th>C10</th><th>C11</th><th>C12</th><th>C13</th><th>C14</th><th>C15</th><th>C16</th><th>Sum</th></tr></thead><tbody><tr><td>Argomento</td><td>3</td><td>2</td><td>2</td><td>2</td><td>2</td><td>2</td><td>1</td><td>3</td><td>3</td><td>1</td><td>4</td><td>2</td><td>1</td><td>3</td><td>2</td><td>1</td><td>34</td></tr><tr><td>Incipit</td><td>1</td><td>1</td><td>1</td><td>1</td><td>1</td><td>2</td><td>1</td><td>2</td><td>1</td><td>1</td><td>1</td><td>1</td><td>1</td><td>2</td><td>1</td><td>1</td><td>19</td></tr><tr><td>Explicit</td><td>4</td><td>2</td><td>4</td><td>2</td><td>3</td><td>3</td><td>3</td><td>3</td><td>4</td><td>2</td><td>5</td><td>1</td><td>5</td><td>4</td><td>2</td><td>3</td><td>50</td></tr><tr><td>Possible Combinations</td><td>12</td><td>4</td><td>8</td><td>4</td><td>6</td><td>12</td><td>3</td><td>18</td><td>12</td><td>2</td><td>20</td><td>2</td><td>5</td><td>24</td><td>4</td><td>3</td><td></td></tr></tbody></table>

Over 8 trillion possible combinations—8,255,648,563,200 to be exact. And that's before accounting for canto length. For example, Canto 1 alone appears in 27 different lengths, from 12 to 158 stanzas. Multiply that by its 12 canonical combinations, and you get 324 possible versions of just Canto 1. Among the 150 witnesses I examined, we've identified **only** 38 distinct types of Canto 1. Only two manuscripts are nearly identical across the entire poem.
<figure><img src="image_3.png" /><figcaption>Unique Values of Ottave in Ascending Order</figcaption></figure>

And this doesn't even include stanza reordering, which is frequent. Not to mention that this precedes the actual collation word by word.

In such a fluid tradition, traditional collation becomes meaningless. The texts differ too much to compare them word by word or even line by line. We're dealing with what we call *modern mouvance*—a living, evolving textual tradition.

To address this, within the PRIMA project, we're developing a new computational workflow. Instead of looking for errors, we cluster versions based on shared features, then apply quantitative analysis. Features are observable, measurable aspects of the text.

We focus on both textual and paratextual features. Textual features include the incipit, explicit, and stanza count of each canto. Paratextual features include titles, running headers, indices, and liminal texts like dedications or addresses to the reader.

All this data is stored in a relational database. Each manuscript becomes a row in a structured table, with each canto represented by its features. We normalize the data so it can be processed computationally.

We then analyse each category separately using tools like **Scipy** and **Scikit-learn**.
These help us identify clusters and visualise them. First, we generate a dendrogram and
a decision tree to see how the algorithm splits the manuscripts based on features.

<figure><img src="image_4.png" /><figcaption>Arbre de décision expliquant les clusters</figcaption></figure>

<figure><img src="image_5.png" /></figure>

Then we plot the clusters in 3D space. For each cluster, we identify the manuscript closest to the centre—the “average manuscript”—which becomes the reference for that group.
<figure><img src="image_6.png" /></figure>

This process helps us reduce the overwhelming variety into a manageable number of representative versions.

After several iterations, we settled on 7 clusters for the textual features. We repeated the process for the paratextual features and again found 7 meaningful clusters. This number struck a balance: fewer clusters missed important distinctions, while more clusters focused on marginal differences. Of course, this is an educated and yet subjective choice, but whoever said that editors should avoid using their scholarly judgement?
<figure><img src="image_7.png" /></figure>

<figure><img src="image_8.png" /></figure>

We then compared the two sets of clusters—textual and paratextual—and found something surprising. Only a few manuscripts appeared in the same cluster in both analyses. This suggests that texts and paratexts circulated independently. Copyists had access to a repertoire of materials and assembled them freely, further confirming the poem's wide and diverse transmission. Therefore, the clustering of text and paratexts combined provides a different and, I believe, misleading grouping of witnesses.
<figure><img src="image_9.png" /><figcaption>Clustering by text and paratexts</figcaption></figure>

We then moved on to text alignment—an area where our work is still very much in progress. To enable meaningful collation, we first had to normalise our corpus by aligning each witness to a chosen reference version. Standard tools like passim proved inadequate, so we developed custom processes using Pandas, ElementTree, and in-house code. We are using uncorrected HTR outputs to do so, which, of course, is saving us a lot of time, but requires the presence of a very good HTR model to begin with.

Our alignment preserves the position of each line, even when no match exists in other texts. This allows us to clearly visualise additions, deletions and transpositions, and ultimately generate artificial witnesses—synthetic versions that can be collated using phylogenetic methods. These results will be compared with the clustering outcomes I described earlier.
<table><tr><td>IMG_79</td><td>Che giunge, e chiede altrui qual hora sia,</td><td>9-39</td><td>Che giunge, e chiede altrui qual ora sia</td><td></td></tr><tr><td>IMG_79</td><td>Il Giudicio terribile, e severo</td><td>9-40</td><td>Il ludicio terribile, e severo</td><td></td></tr><tr><td>IMG_79</td><td>In stampa addita nella Sagristia;</td><td>9-41</td><td>la stampa, addita nella Sagristia</td><td></td></tr><tr><td>IMG_79</td><td>Del Buonaruota Angelico ingegniero</td><td>9-42</td><td>Del Bonarota Angelico Ingegniero</td><td></td></tr><tr><td>IMG_79</td><td>Opra d'impariggiable maestria;</td><td>9-43</td><td>Opra d'impareggiabile maestria</td><td></td></tr><tr><td>IMG_79</td><td>E con modo da Frate impuro, e vile</td><td>9-44</td><td>E con modo da Frate impuro, e vile</td><td></td></tr><tr><td>IMG_79</td><td>Spiega minuto in lei l'ombia, e lo stile.</td><td>9-45</td><td>Spiega minuto in lei Pombra, e lo stile.</td><td></td></tr><tr><td>IMG_79</td><td>XL</td><td>10-26</td><td>46.</td><td></td></tr><tr><td>IMG_79</td><td>Quivi porta un Garzone un mat[[a]]^erazzo,</td><td>9-47</td><td>Colà porta un Garzori il Materazzo,</td><td>CP_001_capi lvi porta un Garzon un matarazzo,</td></tr><tr><td>IMG_79</td><td>E lascia, p la strada il capezzale.</td><td>9-48</td><td>E lascia per istrada il Capezzale:</td><td>CP_001_capi E vi lascia, p strada il capezzale.</td></tr><tr><td>IMG_79</td><td>Ivi ad un vetturin con furor pazzo</td><td>9-50</td><td>Quivi ad un Veturin con furor pazzo</td><td>CP_001_capi Quivi a Fra vettoria con furor pazzo</td></tr><tr><td>IMG_79</td><td>Su l'uscio il Cantinier rompe un boccale</td><td>9-49</td><td>Sul piso il Cantinier tompe il boccale</td><td>CP_001_capi sù 'l viso il Cantinier rompe un boccale;</td></tr><tr><td>IMG_79</td><td>Quindi un Lettor dipinge il volto à guazzo</td><td>9-51</td><td>Quindi un lettor dipinge il volto a guazzo</td><td>CP_001_capi Quivi un Lettor dipinge un volto a guazzo</td></tr><tr><td>IMG_79</td><td>Al foresterator con l'orinale;</td><td>9-52</td><td>Del Forestierator con l'Orinale,</td><td>CP_001_capi Al Forasterator con l'Orinale</td></tr><tr><td>IMG_79</td><td>Perche in cella trovati hà gli escrementi</td><td>9-53</td><td>Perchè in Cella ha trovato gli escrementi</td><td>CP_001_capi Perch'in cella ha trovato gli escrementi</td></tr><tr><td>IMG_79</td><td>De Capitoli a questo antecedenti</td><td>9-54</td><td>De Capitoli a questo antecedenti.</td><td>CP_001_capi Dei Capitoli a questo antecedenti.</td></tr></table>

We're also experimenting with what we call **canonical florilegia**: artificial versions of each witness composed only of the canonical readings for each critical locus. These florilegia are then processed genealogically to explore transmission patterns.

<table><thead><tr><th>canto</th><th>incipit</th><th>explicit</th><th>argument</th></tr></thead><tbody><tr><td>1159</td><td></td><td></td><td></td></tr><tr><td>1143</td><td>C1.1 Del poetico genio altri la vena</td><td>C1.1 Nel sinodo de' Preti al mio Capitolo</td><td>C1.1 Al luogo del Capitolo assegnato</td></tr><tr><td>1144</td><td>C2.1 Chiamava alla raccolta il campanello</td><td>C2.1 Più gradevole a voi cibo all'orecchie</td><td>C2.1 Racconta fra Pasqual del suo Convento</td></tr><tr><td>1145</td><td>C3.1 Udito fu da tutti il Simonetta</td><td>C3.1 Vergine, e dotto a quel beato nido</td><td>C3.1 Seguono a raccontar altri difetti</td></tr><tr><td>1146</td><td>C4.1 Gia sentiti i discreti, e rapezzati</td><td>C4.1 Padre mio dite pian ch'io non vel credo</td><td>C4.1 S'uniscono i vocali in Camerone</td></tr><tr><td>1147</td><td>C5.1 Uscito il chiaro sol dalla marina</td><td>C5.1 Ha passato col vol la merla il Po</td><td>C5.1 Il Ciel s'invoca per l'elezione</td></tr><tr><td>1148</td><td>C6.1 Già scorso è il tempo, e già venuta è l'ora</td><td>C6.1 Vien la facenda mia dalla giornata</td><td>C6.1 Si viene alla bramata Elezione</td></tr><tr><td>1149</td><td>C7.1 Giacché son le speranze andate a zero</td><td>C7.1 La sua paternità muij Reverenda</td><td>C7.1 Creato il generale ognun procura</td></tr><tr><td>1150</td><td>C8.1 Era passata un'ora dal banchetto</td><td>C8.1 A non mi dar nel sesto un barbagianni</td><td>C8.1 Al Padre general vanno i Priori</td></tr><tr><td>1151</td><td>C9.1 Intanto il General mostrò gradire</td><td>C9.1 Ad arrivare a una miglior piatanza</td><td>C9.1 Rifiuta Fra Scarpone un confessore</td></tr><tr><td>1152</td><td>C10.1 Mentre riposa il generale, e fanno</td><td>C10.1 Tuffar le labbra in quel liquor divino</td><td>C10.1 Il circolo si fa per le difese</td></tr><tr><td>1153</td><td>C11.1 Era già ritornato alla sua cella</td><td>C11.1 Qui terminò con la battuta il canto</td><td>C11.1 Accoglie Fra Simon gli Argomentanti</td></tr><tr><td>1154</td><td>C12.1 Questi e gli altri partiro e fra Spinello</td><td>C12.1 Non so trovar, che in scoprir il porto</td><td>C12.2 Ad imitazion del Difendente</td></tr><tr><td>1155</td><td>C13.1 Volgomi a te Lepido Genio mio</td><td>C13.1 Che non si rompa il chiostro e la clausura</td><td>C13.1 Vuol trovarsi presente il Generale</td></tr><tr><td>1156</td><td>C14.1 Era già sorto il sol dall'Oriente</td><td>C14.1 Olbò disse, e sfrattò la frateria</td><td>C14.1 La consulta si fa de' proponibili</td></tr><tr><td>1157</td><td>C15.1 Di Cedron le proposte al gran Prelato</td><td>C15.1 Vuo' d'un altra Ippocrene impier la vena</td><td>C15.1 Ciò che merita il pianto, e il riso espone</td></tr><tr><td>1158</td><td>C16. Sia lodato il Signor, sono pur giunto</td><td>C16.1 O reverendi miei buon di e buon anno</td><td>C16.1 Si dan le penitenze a Delinquenti</td></tr><tr><td>1160</td><td></td><td></td><td></td></tr></tbody></table>

By comparing these three approaches—clustering, phylogenetic collation, and florilegia—we aim to assess the reliability of each method. The broader goal is to identify effective shortcuts for managing large, variant-rich traditions while building reproducible pipelines for philological analysis.

In conclusion, our method offers a new way to handle large, fluid traditions. By shifting from error-based collation to feature-based clustering, we can make sense of complex textual ecosystems. This approach doesn't just help us manage data—it reveals new insights into how texts were copied, adapted, and transmitted.