Word-level explanations of text reuse in Latin literature, predicted by retexo.
A later author who quotes or alludes to an earlier one has done something to the words: kept them, changed their inflection, replaced them. For each of the 1,490 references of the Loci Similes benchmark, this dataset holds the edit script that retexo predicts: every word of the reusing passage is aligned to the source word it takes up, or to none, and every link is labeled with the operation behind it (copy, inflection, substitution, split or merge).
This dataset belongs to the Latin intertextuality collection and refers to its records:
julian-schelb/latin-classical-intertextuality-corpus - Classical Latin textsjulian-schelb/latin-classical-intertextuality-queries - Jerome texts used as queriesjulian-schelb/latin-classical-intertextuality-labels - the 1,490 references (benchmark_id below is the row's id there)One record per reference, split into the benchmark's five folds, fold_0 to fold_4 (1,490 records in total: 279, 275, 336, 317 and 283). The script of a reference was predicted by a model that was not trained on that reference's fold, so every record is a held-out prediction.
Fields:
id: identifier of the pairbenchmark_id: id of the reference in the labels datasetfold: the benchmark fold of the reusing passagereference_type: cit. (citation) or cf. (allusion), copied from the labels datasetsource, reuse: the earlier and the later passage, each with author, work, citation and tokens (the words)links: one entry per linked reuse word, with
reuse: index of the reuse wordsource: index of the source word it takes uplabel: COPY, INFLECT, SUBST, SPLIT or MERGErelation: for a SUBST, the relation between the two words if the model names one (SYN, DERIV, NE-SUB, ...), else nullconfidence: the model's probability for the linkmark: citing formulas such as ut ait Maro (the operation MARK), as half-open ranges {start, end} of reuse wordsinsertions: reuse words without a link inside the reused stretch (INS)new_text: reuse words without a link outside the reused stretch, the later author's own text around the reuse (NEW)deletions: source words that no link claims, inside the reused stretch (DEL)not_taken_up: source words that no link claims, outside the reused stretch (OUT)patterns: read off the links, never predicted on their own:
quote: runs of at least four copies in source order, as half-open ranges {start, end} of reuse wordsreorder: reuse words whose link lies outside the longest chain of links in source order (moved words)disperse: reuse words ending a clause inside the linked range (the reuse straddles a clause break)The reused stretch of a passage runs from its first to its last linked word. All indices are positions in the tokens of the passage they belong to, counted from 0.
| Operation | Meaning |
|---|---|
COPY | the same form, spelling variants folded |
INFLECT | the same lemma in another form |
SUBST | another lemma in the same slot |
SPLIT | two reuse words for one source word (the source index appears in two links), usually an enclitic |
MERGE | one reuse word for two source words (the link points at the first, the second counts as a deletion) |
MARK | a word of a citing formula (ut ait Maro), no source word |
INS / NEW | a reuse word without a source, inside / outside the reused stretch |
DEL / OUT | a source word not taken up, inside / outside the reused stretch |
Changes on 2026-10-12. The operations follow the paper's revised inventory: the column frame is now mark, the relation POS (derivational relative) is DERIV, the former insertions are split into insertions and new_text, the former deletions into deletions and not_taken_up, and patterns is new. The links and their confidences are unchanged.
from datasets import load_dataset
scripts = load_dataset("julian-schelb/latin-classical-intertextuality-edit-scripts", split="fold_4")
pair = scripts[0]
print(pair["source"]["citation"], "->", pair["reuse"]["citation"])
for link in pair["links"]:
print(pair["reuse"]["tokens"][link["reuse"]], "<-", pair["source"]["tokens"][link["source"]], link["label"])
The model is retexo's stretch-and-link pointer: a pointer network over LatinBERT that chooses a source word, or none, for each word of the reusing passage and names the operation in the same step, with lexical evidence from Latin resources and a copy rule at decoding that counts spelling variants as copies. For test fold k it was trained on synthetic pairs and the annotated pairs of the three training folds, with fold (k + 1) mod 5 held out to set the link threshold.
These are model predictions, not annotation. Most of the model's mistakes on inflections and substitutions are words it left without a link, so a missing link is the first thing to suspect. Read the scripts as a first reading to correct, not as ground truth.
The paper is in preparation, and its reference will be added here. Please also cite the Loci Similes benchmark, on which the references and their folds are based.
Word-level explanations of text reuse in Latin literature, predicted by retexo.
A later author who quotes or alludes to an earlier one has done something to the words: kept them, changed their inflection, replaced them. For each of the 1,490 references of the Loci Similes benchmark, this dataset holds the edit script that retexo predicts: every word of the reusing passage is aligned to the source word it takes up, or to none, and every link is labeled with the operation behind it (copy, inflection, substitution, split or merge).
This dataset belongs to the Latin intertextuality collection and refers to its records:
julian-schelb/latin-classical-intertextuality-corpus - Classical Latin textsjulian-schelb/latin-classical-intertextuality-queries - Jerome texts used as queriesjulian-schelb/latin-classical-intertextuality-labels - the 1,490 references (benchmark_id below is the row's id there)One record per reference, split into the benchmark's five folds, fold_0 to fold_4 (1,490 records in total: 279, 275, 336, 317 and 283). The script of a reference was predicted by a model that was not trained on that reference's fold, so every record is a held-out prediction.
Fields:
id: identifier of the pairbenchmark_id: id of the reference in the labels datasetfold: the benchmark fold of the reusing passagereference_type: cit. (citation) or cf. (allusion), copied from the labels datasetsource, reuse: the earlier and the later passage, each with author, work, citation and tokens (the words)links: one entry per linked reuse word, with
reuse: index of the reuse wordsource: index of the source word it takes uplabel: COPY, INFLECT, SUBST, SPLIT or MERGErelation: for a SUBST, the relation between the two words if the model names one (SYN, DERIV, NE-SUB, ...), else nullconfidence: the model's probability for the linkmark: citing formulas such as ut ait Maro (the operation MARK), as half-open ranges {start, end} of reuse wordsinsertions: reuse words without a link inside the reused stretch (INS)new_text: reuse words without a link outside the reused stretch, the later author's own text around the reuse (NEW)deletions: source words that no link claims, inside the reused stretch (DEL)not_taken_up: source words that no link claims, outside the reused stretch (OUT)patterns: read off the links, never predicted on their own:
quote: runs of at least four copies in source order, as half-open ranges {start, end} of reuse wordsreorder: reuse words whose link lies outside the longest chain of links in source order (moved words)disperse: reuse words ending a clause inside the linked range (the reuse straddles a clause break)The reused stretch of a passage runs from its first to its last linked word. All indices are positions in the tokens of the passage they belong to, counted from 0.
| Operation | Meaning |
|---|---|
COPY | the same form, spelling variants folded |
INFLECT | the same lemma in another form |
SUBST | another lemma in the same slot |
SPLIT | two reuse words for one source word (the source index appears in two links), usually an enclitic |
MERGE | one reuse word for two source words (the link points at the first, the second counts as a deletion) |
MARK | a word of a citing formula (ut ait Maro), no source word |
INS / NEW | a reuse word without a source, inside / outside the reused stretch |
DEL / OUT | a source word not taken up, inside / outside the reused stretch |
Changes on 2026-10-12. The operations follow the paper's revised inventory: the column frame is now mark, the relation POS (derivational relative) is DERIV, the former insertions are split into insertions and new_text, the former deletions into deletions and not_taken_up, and patterns is new. The links and their confidences are unchanged.
from datasets import load_dataset
scripts = load_dataset("julian-schelb/latin-classical-intertextuality-edit-scripts", split="fold_4")
pair = scripts[0]
print(pair["source"]["citation"], "->", pair["reuse"]["citation"])
for link in pair["links"]:
print(pair["reuse"]["tokens"][link["reuse"]], "<-", pair["source"]["tokens"][link["source"]], link["label"])
The model is retexo's stretch-and-link pointer: a pointer network over LatinBERT that chooses a source word, or none, for each word of the reusing passage and names the operation in the same step, with lexical evidence from Latin resources and a copy rule at decoding that counts spelling variants as copies. For test fold k it was trained on synthetic pairs and the annotated pairs of the three training folds, with fold (k + 1) mod 5 held out to set the link threshold.
These are model predictions, not annotation. Most of the model's mistakes on inflections and substitutions are words it left without a link, so a missing link is the first thing to suspect. Read the scripts as a first reading to correct, not as ground truth.
The paper is in preparation, and its reference will be added here. Please also cite the Loci Similes benchmark, on which the references and their folds are based.