Preaching the Programming Word: Our first R mission in Leipzig
On November 18-19, we joined Prof. Kaske at Leipzig University to mentor a two-day workshop on the R programming language applied to historical research, with a particular emphasis on modern China. We were two preachers on a mission!
The workshop had two main purposes (apart from making new converts!)
- To introduce the HistText R library behind the HistText interface created by the ENP-China project specifically to handle large-scale digitized corpora of historical texts in multiple languages (mostly Chinese and English).
- To lay the foundations for a larger Massive Open Online Course (MOOC) that aims to train the next generation of historians to use programming languages in their research. The long-term ambition is to make R a common tool in the toolbox of future historians. This project is based on the conviction that no ready-made digital tool or user friendly interface (even HistText itself) can offer researchers the range of possibilities and the degree of control on their data that programming languages do offer.
There is a sharp learning curve in learning programming, but we believe it pays off in the long term. As historians and humanities scholars are increasingly using digitized sources and digital data, it will become necessary to master at least the basics of one programming language.
Why R and not Python or some other language? We can name several reasons: (1) R is quite an intuitive language: it is very similar to human, natural language and therefore, relatively easy to learn; (2) R comes with a user-friendly companion environment (R Studio); (3) it is widely used by scholars in the humanities and social sciences (especially in France, where Huma-Num has set up a collaborative environment for R users); (4) in any case, there are multiple bridges and common denominators between the various existing languages. Learning one makes it easier to learn others.
Upon our arrival at Leipzig University (in a beautiful old building), we were pleased to find a room filled with enthusiastic and brave students eager to learn the secrets of R (and saving their digital souls!).
It was a challenge for us (mentors) too:
- The participants had different levels of advancement, ranging from Master to doctoral, postdoctoral and even senior scholars, but this made the experiment even more rich and instructive for everyone.
- A few were already familiar with programming languages, but most were newcomers;
- They were interested in a wide range of topics: while most of them have been trained in Chinese studies and history, we also had one student in Arabic studies.
- They formed at truly multinational audience, including German, Chinese, Russian, and other nationalities.
This actually shows that HistText and the workflow we developed is relevant not just for scholars specialized in the history of modern China, but for any scholar working with digital data.
The first day began like in any odyssey. As we started, we discovered that the wifi was gone! Could the gods of Internet be against us? Fortunately, it was just maintenance on the wrong day. Never short of resources, Elizabeth Kaske organized the migration of our small troop to a new land of promise… during the coffee break. Discovery of yet another beautiful research building where we resumed our initiation to R.
After a short introduction to R, the ENP-China project and the challenges of working with digitized sources, we organized the workshop into four main sessions that followed the fundamental steps in any research workflow aimed at building historical scholarship from digitized sources:
- Querying and building an ad hoc corpus
- Extracting relevant information using named entity recognition (NER) and cleaning the data to make it usable for further analysis
- Network analysis (especially two-mode networks)
- Topic modeling to identify the major themes in the study corpus.
We believe that this workflow can be reused and adapted by other scholars with different sources and research purposes. The only requirement is to have textual data to process in the beginning.
In this first experiment, the feedback from the students was very valuable to us:
- They found the workshop very intensive, but they were happy to have the scripts at their disposal, which they can run, copy and recycle for their own research.
- We should certainly have included more exercices and give the participants more opportunities to practice by themselves (we would certainly need more time for this).
- For the sake of pedagogy, we should have started by presenting the end result and then return to the starting point to explain the process step by step from A to Z.
- We have set up a slack group to create a community of users based on mutual help.
- Based on what they learn during the workshop, each participant will present his/her personal project early 2023.
- In the future, we wish to mentor other workshops like this on demand.
- We plan to release a more comprehensive MOOC made up of small, independent but interconnected “modules”.
- We also envision these training sessions as an efficient venue for creating a community of users for HistText in particular, and to encourage more historians to learn R in general.
In the end, the most important lesson from this experiment is that learning a programming language is not only feasible, it is irreplaceable!
There were plenty of moment for informal discussion in a subterranean coffeehouse, but also above ground in the soon-to-be opened Christmas market!
To be continued…