Code and Collation: training textual scholars
Post by Elli Bleeker and Elena Spadini
What is collation? What is automated text collation? And how can it advance our research into text and historical documents? These and other questions were at the center of an intensive and productive three-day workshop on semi-automatic collation, which took place from 2 to 4 November 2016 in Amsterdam. The workshop was organized by DiXiT’s own Elli Bleeker and Elena Spadini (authors of this post), Ronald Dekker (the main developer of collation software CollateX) and Peter Boot (Huygens ING).
Let’s be honest: you may be a bit bewildered by the words ‘automated collation’, especially if you are not trained as a scholarly editor. Indeed the term can come across as a bit vague — much like ‘digital scholarly editing’ for that matter. However, this vagueness does not do justice to the possibilities automated collation yields for digital textual analysis. Additionally, there is significant value to be found in interfering directly with a collation software. By adjusting the workings of the software, you gain insights not only into your research topic but also into your own research questions. For instance, you need to understand your input material (e.g., the transcriptions of your text witnesses) but also formulate exactly what you expect or hope to find. Finally, and arguably most importantly, it takes away the ‘black box’ feeling. Collation software is no longer a tool that accepts some input and produces some output in mysterious ways. By looking under the hood of a software tool and being able to follow its mechanisms, the researcher gains more control over the process of transforming and remodelling the text.
With these issues in mind we began with the planning and organisation of the Code and Collation workshop. We considered it essential that the participants would not only learn to work with the collation software CollateX, but would also be learning about its internal functions and doing some programming themselves. This proved to be a good approach, judging from the number of applications we received, about the double of the participants eventually selected.
We agreed to accepting participants from all levels of technical expertise, ranging from those that previously only collated by hand to those with serious programming skills; the criteria they must meet were a clear interest in collation, an understanding of collation as a textual scholarship practice and some previous experience (both manual or automatic) with collation.
Participants were encouraged to bring their own materials and they present us with diverse texts, varying from old Avestan works, medieval Dutch manuscripts, born digital texts from present-day authors and everything in between. Their interest in the potential of automated collation software, combined with an open mind and an eagerness to learn, resulted in a wonderful group to work with.
These online tutorials were also indispensable for the success of the workshop. They are created in Jupyter Notebook, a great tool for presenting the code (interactive) alongside documentation. Just like the workshop itself, the tutorials are a combination of theory and practice. They contain a lot of code examples and programming exercises, as well as detailed explications of theoretical issues (e.g., the Gothenburg model which models the collation workflow).
Writing the tutorials was a highly useful exercise for your DiXiT organizers, but, in all fairness, it was also a considerable piece of work. Fortunately, most instructors were more than happy to share the workload, offering their teaching material as a basis for us to work on. What is more, we were able to rework previous tutorials used for a one-day collation workshop at the DH conference in Sydney 2015, organized by Ronald Dekker and David Birnbaum among others. From the outset, we committed to publishing the tutorials after the workshop as reference material for the participants, but also as exercises for those that could not attend the workshop. Taken together, they form a valuable source of information. All the workshop materials are hosted on Github and can be accessed here. For those of you that are keen to try it at home, do start with our intro notebook. You can use the workshop schedule as a guideline through the tutorials and experience how we entertained ourselves for three days with automatic collation.
The workshop started with two introductory talks, about the theory of collation seen from different textual scholarship perspectives and about the past and present of collation software. Although at least one of the organisers (Elli) anticipated that such theoretical overviews would prove to be somewhat redundant, many participants later reflected upon the usefulness of these introductory lectures. As intended, they provided the necessary framework to engage fully with the (concepts behind) collation and collation software. What followed was one of the most important parts of the workshop: a close consideration of the Gothenburg model. Within the model, the workflow of automated collation is divided into a sequence of smaller tasks. This ‘separation of concerns’ is a useful method within computing: if you consider each task as an individual component, it facilitates not only collaboration and development, but also an understanding of the different mechanisms involved. For automated collation, these are the preparation of the input (tokenization, normalization), the comparison itself (alignment), and finally the assessment and rendering of the output (analysis and visualization). In the afternoon of the first day, the participants were able to start programming themselves by running their first automated collation on simple plain text files.
The second day was almost entirely devoted to preparing texts for processing by CollateX. This preparation is done through tokenization and normalization and — in the case of XML input — pre-processing the material. Participants soon realized the complexities of these steps when they began working on practical exercises. It became clear how preparing a text for automated collation can teach you many things about that text and your expectations of the collation. Participants were also introduced to recent developments with XML collation, that is, collating XML trees instead of plain texts. The lectures were interspersed with thought exercises along the lines of: how would you tokenize this text? What markup do you consider important for the collation?
During the third day, instructors and participants briefly presented their own research related to automatic collation. Some of these practices were truly compelling and demonstrate that the topic of automated collation is by no means concluded. The rest of the day was devoted to work with participants’ own materials: each of them could put into practice what they learned, with the support of the instructors running around ready to collaborate and help out. This was indeed one of the most productive parts of the workshop. The results of this hands-on session will also be uploaded in the workshop’s GitHub repository.
To sum it all up: an outstanding crowd, marvellous instructors, tasty dinner and challenging topics make this workshop a very fruitful one! We are thankful to have had the chance to collaborate on this and are already looking forward to future endeavours. One direct result of the workshop is a mailing list called Coding Humanist. It is intended for those interested in automated collation as well as other computational tools and methods used in humanities research. Everyone is invited to subscribe to the list via: https://lists.friprogramvarusyndikatet.se/cgi-bin/mailman/listinfo/coding-humanist
We hope that, alongside other famous mailing lists in the field of Digital Humanities, it will provide a necessary platform for likeminded scholars to share their issues, thoughts and solutions.
Thanks to the instructors and organizers (in alphabetical order): Tara Andrews, Gioele Barabucci, David J. Birnbaum, Peter Boot, Ronald H. Dekker, Leif-Jöran Olsson, Catherine Smith, Joris van Zundert; the participants: Alessia Scacchi, Almut Hintze, Anna-Maria Sichani, Annika Rockenberger, Arash Zeini, Chiara Palladino, Christian Thomas, Elena Parina, Emmanuela Carbé, Fiona Maguire, Graziella Pastore, Ingo Boerner, Leon Goldman, Melodee H. Beals, Nicola De Nisco, Ossi Kokko, Paulina Pludra-Zuk, Sandra Boto, Sonia Tempestini, Sree Ganesh Thottempudi, Thomas Kollatz, Torsten Hiltmann, Wouter Haverals.