Data is all you need: Documentation for „Fine-Tuning our Stylometric Tools” at DH2013

This post is being published automatically while I’m speaking (or scheduled to be speaking) at the Digital Humanities Conference 2013 in Lincoln, Nebraska. The post is a companion piece to my talk there, whose abstract is available at the conference website.

Limitations of space and considerations of readability make it impossible to document everything you would need to know and make available everything you would need to have at your disposal to fully understand and to replicate the stylometric analyses described in the paper.

Data is all you need

So, in the spirit of transparency and replication of research, here is everything you need: Schoech-Fine-Tuning_DH2013.zip. The ZIP archive provided here contains several files and folders. It also includes the slides from the presentation which, however, I also make available separately: Schoech_Fine-Tuning_DH2013.pdf. The following is a list of explanations concerning the files and folders contained in the ZIP archive:

  • genre-texts. This folder contains the 32 texts used in the first analysis as plain text. The source of all texts is Paul Fièvre’s excellent „Théâtre classique” collection of French seventeenth and eighteenth-century plays (www.theatre-classique.fr). The list of texts contained follows below.
  • form-texts. This folder contains the files used in the second analysis, also as plain text. The list of texts contained follows below.
  • drama2txt.xsl. The plays have been taken from the text archive mentioned above in the XML/TEI (P4) format. Using this XSLT file in oXygen, speakers’ text only has been extracted and saved as a plain text file.
  • stylo-batch.r. The script that runs stylo() in batch mode with the settings needed for this particular type of analysis. This script has been minimally adapted from a script created by Maciej Eder.
  • genre-distances. These are the distance tables generated by the stylo package in the first of the analyses concerned with genre vs. authorship. Each file corresponds to one of the subsequent runs, done at intervals of 50 most frequent words and with a length of the wordlist of 100 for each run.
  • form-distances. The same distance tables for the second analysis concerned with form vs. authorship.
  • scorer2.py. This is the python script used to evaluate the distance tables generated by the stylo package for R in each run. It needs to be placed in the same folder as the output files („distance_table_0000.txt” etc.) and run with Python. This will generate a CSV file called „scores.csv” containing the absolute number of low-level pairs of different types. This script has been written with substantial help from Joao Guerra.
  • genre-scores.csv. The tables of raw scores generated by the python script, here for the first analysis on genre.
  • form-scores.csv. The same tables, but here for the second analysis on form.
  • readme.txt. Containing the explanatory text of this post.
  • Schoech_Fine-tuning_DH2013.pdf. The slides used for the talk.

Table of texts

Texts contained in the first analysis concerning authorship vs. genre in 32 verse plays, with their author, genre, form, data and abbreviated title:

  • Pierre Corneille, comedy in verse, 1631: Clitandre
  • Pierre Corneille, comedy in verse, 1631: Veuve
  • Pierre Corneille, comedy in verse, 1634: PlaceRoyale
  • Pierre Corneille, comedy in verse, 1634: Suivante
  • Pierre Corneille, comedy in verse, 1637: GaleriePalais
  • Pierre Corneille, comedy in verse, 1639: Illusion
  • Pierre Corneille, comedy in verse, 1644: Menteur
  • Pierre Corneille, comedy in verse, 1645: SuiteMenteur
  • Pierre Corneille, tragedy (in verse), 1639: Medee
  • Pierre Corneille, tragedy (in verse), 1639: Nicomede
  • Pierre Corneille, tragedy (in verse), 1641: Horace
  • Pierre Corneille, tragedy (in verse), 1643: Cinna
  • Pierre Corneille, tragedy (in verse), 1643: Polyeucte
  • Pierre Corneille, tragedy (in verse), 1644: Pompee
  • Pierre Corneille, tragedy (in verse), 1644: Rodogune
  • Pierre Corneille, tragedy (in verse), 1645: Theodore
  • Thomas Corneille, comedy in verse, 1651: Amour
  • Thomas Corneille, comedy in verse, 1651: Astrologue
  • Thomas Corneille, comedy in verse, 1655: Geolier
  • Thomas Corneille, comedy in verse, 1657: Ennemis
  • Thomas Corneille, comedy in verse, 1659: Galant
  • Thomas Corneille, comedy in verse, 1661: DomCesar
  • Thomas Corneille, comedy in verse, 1675: LInconnu
  • Thomas Corneille, comedy in verse, 1677: Festin
  • Thomas Corneille, tragedy (in verse), 1656: Timocrate
  • Thomas Corneille, tragedy (in verse), 1657: Berenice
  • Thomas Corneille, tragedy (in verse), 1657: Commode
  • Thomas Corneille, tragedy (in verse), 1659: Darius
  • Thomas Corneille, tragedy (in verse), 1660: Stilicon
  • Thomas Corneille, tragedy (in verse), 1661: Camma
  • Thomas Corneille, tragedy (in verse), 1661: Pyrrhus
  • Thomas Corneille, tragedy (in verse), 1662: Hasard

Texts used in the second analysis concerning authorship vs. form in 28/40 plays, with their author, genre, form, data and abbreviated title:

  • Dufresny, comedy in prose, 1692: Negligent
  • Dufresny, comedy in prose, 1697: Chevalier
  • Dufresny, comedy in prose, 1699: DoubleVeuvage
  • Dufresny, comedy in prose, 1699: MaladeSans
  • Dufresny, comedy in prose, 1699: NoceInt
  • Dufresny, comedy in prose, 1700: Contradiction
  • Dufresny, comedy in prose, 1707: Instinct
  • Dufresny, comedy in verse, 1715: Coquette
  • Dufresny, comedy in verse, 1719: Dedit
  • Scudery, comedy in prose, 1635: ComedieComediens
  • Scudery, comedy in verse, 1636: FilsSuppose
  • Moliere, comedy in prose, 1660: Precieuses
  • Moliere, comedy in prose, 1663: CritiqueEcole
  • Moliere, comedy in prose, 1663: Impromptu
  • Moliere, comedy in prose, 1665: Amourmedecin
  • Moliere, comedy in prose, 1665: DomJuan
  • Moliere, comedy in prose, 1668: Avare
  • Moliere, comedy in prose, 1668: GeorgeDandin
  • Moliere, comedy in prose, 1668: Medecin
  • Moliere, comedy in prose, 1671: Escarbagnas
  • Moliere, comedy in prose, 1671: FourberiesScapin
  • Moliere, comedy in prose, 1673: Malade
  • Moliere, comedy in verse, 1660: Sganarelle
  • Moliere, comedy in verse, 1661: DomGarcie
  • Moliere, comedy in verse, 1662: EcoleFemmes
  • Moliere, comedy in verse, 1668: Amphytrion
  • Moliere, comedy in verse, 1669: Tartuffe
  • Moliere, comedy in verse, 1672: FemmesSav
  • Moliere, comedy in verse, 1673: EcoleMaris
  • Regnard, comedy in prose, 1688: Divorce
  • Regnard, comedy in prose, 1689: Arlequin
  • Regnard, comedy in prose, 1690: ArlequinHm
  • Regnard, comedy in prose, 1690: Filles
  • Regnard, comedy in prose, 1694: Attendez
  • Regnard, comedy in prose, 1694: Serenade
  • Regnard, comedy in prose, 1699: Critique
  • Regnard, comedy in verse, 1692: Joueur
  • Regnard, comedy in verse, 1696: Folies
  • Regnard, comedy in verse, 1696: LeBal
  • Regnard, comedy in verse, 1697: Distrait

That’s it! All files should remain available in the reasonably long term because the blogs hosted by OpenEdition under the „hypotheses.org” roof are being archived by the Bibliothèque nationale de France. If you want to try all of this out, feel free to do so and don’t hesitate to add a comment about how it went.


Christof Schöch

Christof Schöch is a Research Associate at the Department for Literary Computing, Würzburg University, Germany. He leads the junior research group CLiGS (Computational Literary Genre Stylistics). His interests are in French and Spanish Literature, Digital Humanites, and Open Access.

You may also like...

1 Response

  1. October 22, 2013

    […] Christof Schöch has produced some interesting analyses of a corpus of seventeenth-century French plays, and because he has generously made his corpus available online, I decided to see what I could do with it.  First I transformed the texts into sequences of letters using Queneau’s schema. Here’s what the first few lines of Molière’s Tartuffe look like: […]

Leave a Reply

Your email address will not be published. Required fields are marked *