Computational Stylistics
in Action

From Research Infrastructures to DIY Tools

Maciej Eder
마체이 에델

Polish Academy of Sciences & University of Tartu

29/07/2026

https://tinyurl.com/zampolli2026

A bit of a context

Krakow, Poland

Krakow’s commitment to DH

  • Wincenty Lutosławski (1863–1954) lived there
    • introduced the notion of “stylometry”
  • home of Computational Stylistics Group
  • hosted Digital Humanities 2016
  • hosted TEI 2025
  • will host EADH 2026

The team

Jan the Great

  • seminal works in text analysis & stylometry
  • revolutionized translation studies
  • introduced large-scale visualizations of literary texts

Joanna the Strong

  • pioneering work on multimodal stylometry
  • novel insights to film studies
  • pinpointed the show-runners behind “Doctor Who”

Artjoms the Mastermind

  • cutting-edge studies in versification…
  • … in the context of cultural evolution
  • developed the repository PoeTree
  • runs “Latent Reading” Discord server

Laura the Wise

  • novel insights to the Spanish Golden Age
  • verified the authorship of “La Segunda Celestina”
  • explored the style of Gustavo Adolfo Bécquer

Jacek the Raising Star

  • transformative work in Hindi vs Sanskrit vs Urdu
  • contributions to distributional semantics
  • discovered latent structure of synonyms

Aleksandra the Genius

  • novel work in stylometry and AI
  • fluent in Java, Python, R, and more
  • introduced a method of versification scansion

Computational Stylistics Group

  • no formal structure
  • no (serious) DH environment
  • hosted (?) by a few entities
    • an institute for linguistics
    • a department of English Studies
    • a depratment of Medieval Studies
  • initially, no funding

Bottom-up, lightweight

  • running a series of talks “Digital Humanities Lunch”
  • running an informal Reading Group
  • running ad hoc seminars
  • committed to R as free software
  • sharing the code and the datasets
  • committed to open source & open science
  • minimal computing in practice!

Required equipment

Computational stylistics

66 English Victorian novels

Text analysis: two approaches

  • focusing on the content
    • what my corpus is about?
    • how to “read” through a large library
    • approaches: topic modeling, keywords analysis
  • focusing on stylistic similarities 👈
    • why my texts form groups?
    • how to detect different stylistics “signals”
    • approaches: multivariate text classification methods

Theoretical foundations

  • “Computation into criticism” (John Burrows)
  • “Algorithmic criticism” (Steve Ramsay)
  • “Distant reading” (Franco Moretti)
  • “Macroanalysis” (Matt Jockers)
  • “Riddle of literary quality” (Karina van Dalen-Oskam)

Fictional characters’ voices

A collaborative paper

  • Artjoms Šeļa
  • Ben Nagy
  • Joanna Byszuk
  • Laura Hernández-Lorenzo
  • Botond Szemes
  • Maciej Eder

Šeļa, A., Nagy, B., Byszuk, J., Hernández-Lorenzo, L., Szemes, B. and Eder, M. (2024). From stage to page: language independent bootstrap measures of distinctiveness in fictional speech. https://arxiv.org/abs/2301.05659

Fictional characters: why bother?

  • Computation into criticism (John Burrows)
    • researched Jane Austen’s characters
  • Can a good author differentiate voices?
  • Are there any overall trends?
  • Do distinctive fictional voices mimic some general sociolinguistic phenomena?

Assumptions

  • Authorship attribution methods to distinguish characters
  • Telling apart particular characters should be doable in plays
  • Corpus used: DraCor
    • Shakespeare (37 plays)
    • Russian drama (212 plays)
    • French drama (1560 plays)
    • German drama (592 plays)

DraCor

Strong idiolects (women)

Strong idiolect (men)

Weak idiolect (men)

Preliminary results

  • Female characters more distinguishable than males
  • Secondary characters more distinguishable than protagonists

Shakespeare and Russian plays

French plays, German plays

Further observations

  • Female characters distinguishable…
  • … despite the language and epoch
  • Because the authors were almost exclusively male?

Table 1: Most distinctive words
(a) French
fem. masc.
vous diable
époux la
mère ami
amant les
mari parbleu
tante maître
hélas morbleu
coeur des
rivale amis
ne morgué
(b) German
fem. masc.
ach der
o die
du teufel
vater und
mutter ein
er des
mich in
liebe den
mama kerl
papa kaiser
(c) English
fem. masc.
husband the
you of
alas this
love sir
husbands and
me we
romeo king
lysander our
willow their
pisanio duke

Table 2: Pronouns vs. articles
(a) French
fem. masc.
vous diable
époux la
mère ami
amant les
mari parbleu
tante maître
hélas morbleu
coeur des
rivale amis
ne morgué
(b) German
fem. masc.
ach der
o die
du teufel
vater und
mutter ein
er des
mich in
liebe den
mama kerl
papa kaiser
(c) English
fem. masc.
husband the
you of
alas this
love sir
husbands and
me we
romeo king
lysander our
willow their
pisanio duke

Table 3: Family relations vs. public sphere
(a) French
fem. masc.
vous diable
époux la
mère ami
amant les
mari parbleu
tante maître
hélas morbleu
coeur des
rivale amis
ne morgué
(b) German
fem. masc.
ach der
o die
du teufel
vater und
mutter ein
er des
mich in
liebe den
mama kerl
papa kaiser
(c) English
fem. masc.
husband the
you of
alas this
love sir
husbands and
me we
romeo king
lysander our
willow their
pisanio duke

More examples 👇

Infrastructures in DH

ELTeC: a corpus novels

DraCor: a corpus of plays

PoeTree: a corpus of poetry

Beyond language resources

TEI markup

<sp xml:id="sp-0527" who="#Romeo_Rom">
    <speaker xml:id="spk-0527">ROMEO </speaker>
    <l xml:id="ftln-0527" n="1.4.45" part="I">Nay, that’s not so. </l>
</sp>
<sp xml:id="sp-0528" who="#Mercutio_Rom">
    <speaker xml:id="spk-0528">MERCUTIO </speaker>
    <l xml:id="ftln-0528" n="1.4.46" part="F">I mean, sir, in delay </l>
    <l xml:id="ftln-0529" n="1.4.47">We waste our lights; in vain, light lights by day. </l>
    <l xml:id="ftln-0530" n="1.4.48">Take our good meaning, for our judgment sits </l>
    <l xml:id="ftln-0531" n="1.4.49">Five times in that ere once in our five wits. </l>
</sp>
<sp xml:id="sp-0532" who="#Romeo_Rom">
    <speaker xml:id="spk-0532">ROMEO </speaker>
    <l xml:id="ftln-0532" n="1.4.50">And we mean well in going to this masque, </l>
    <l xml:id="ftln-0533" n="1.4.51" part="I">But ’tis no wit to go. </l>
</sp>
<sp xml:id="sp-0534" who="#Mercutio_Rom">
    <speaker xml:id="spk-0534">MERCUTIO </speaker>
    <l xml:id="ftln-0534" n="1.4.52" part="F">Why, may one ask? </l>
</sp>
<sp xml:id="sp-0535" who="#Romeo_Rom">
    <speaker xml:id="spk-0535">ROMEO </speaker>
    <l xml:id="ftln-0535" n="1.4.53" part="I">I dreamt a dream tonight. </l>
</sp>

Voyant Tools

The grammar of DH

  • programming languages
    • Python
    • R
    • HTML, XML
    • . . .
  • interoperable standards
    • TEI             [👉 Zampolli Prize 2017]
    • Linked Open Data
    • IIIF
    • . . .

The grammar of DH

  • methods
    • topic modeling
    • network analysis
    • NLP techniques
    • . . .
  • tools
    • Voyant Tools       [👉 Zampolli Prize 2022]
    • Transkribus
    • Zotero
    • Distant Viewing Explorer
    • Stylo               [👉 Zampolli Prize 2026]
    • . . .

The grammar of DH

  • teaching environments
    • ESU
    • DHSI         [👉 Zampolli Prize 2014]
    • Programming Historian
    • Dariah Campus
    • . . .
  • funding agencies
    • SSHRC       [👉 Zampolli Prize 2011]
    • NEH         [👉 Busa Prize 2016]
    • ERC
    • NCN, FWO, NWO, DFG, ETAG, NRF Korea, JSF, …
    • . . .

Stylo

Stylo: a package for text analysis

  • an R package
  • written in R and run in R
  • simple
  • fast
  • offers a few extensions
  • runs in command-line mode 🙀
  • however, requires only three lines of code
  • no programming skills needed!

How to run stylo

library(stylo)
setwd("the/path/to/my/corpus")
stylo()

Graphical User Interface (GUI)

Set your parameters

Hierarchical cluster analysis

Bootstrap consensus tree

GitHub & documentation

Teaching environment

Workshops and summer schools

  • Digital Humanities Summer Institute (DHSI)
    • Victoria, 2016–2024
    • Montréal, 2025–2026
  • Europen Summer University “Culture & Technology” (ESU)
    • Leipzig, 2009–2022
    • Cluj-Napoka, 2023–2024
    • Besançon, 2025–2026
  • taught by Jan, Joanna, Jeremi, Artjoms, Maciej, Jacek, Michał
  • well over a hundred participants in total

ESU 2017

Invisible colleges of DH

Conclusions

Big things start with small steps

  • don’t wait for big ideas – start small, and do it now
  • don’t wait for your Dean’s approval – go bottom-up
  • don’t plan to build a large system – share the code you already have
  • do apply for funding, but conduct your research regardless
  • collaborate
  • use your coffee machine and a couch
  • chase curiosity-driven research questions

Thank you!