Research Center for Digital Sustainability

Judicial Person Extraction for Swiss Court Rulings

Judicial Person Extraction for Swiss Court Rulings

This project is available as a Seminar project. This project is also available as a group project.


Swiss court decisions are anonymized to protect the privacy of the involved people (parties, victims, etc.). Previous research [1] has shown that it is possible to re-identify companies involved in court decisions by linking the rulings with external data in certain cases. Our project tries to further build an automated system for re-identifying involved people from court rulings. This system can then be used as a test for the anonymization practice of Swiss courts. For more information regarding the overarching research project please go here. We use methods of Natural Language Processing (NLP), a subfield of Artificial Intelligence (AI), Linguistics, and Computer Science.

We group parties (with their legal counsels), lawyers, clerks, and judges involved in a court decision as judicial persons. We define the Judicial Person Extraction task as follows: Extracting judicial persons' names, gender, and occupation from court decisions. The results of this task can be used to study bias in the judicial system (e.g. lawyers of a specific gender are more successful at a specific court, are men more likely to go to prison?) This project will extract judicial persons from the rubrum (header) of Swiss court decisions.


From the rubrum of the decision of the Zurich Administrative Court AB.2009.00001:


der 4. Kammer

vom 13. Januar 2010

Mitwirkend: Abteilungspräsident Jso Schumacher (Vorsitz), Verwaltungsrichter Lukas Widmer, Verwaltungsrichterin Maja Schüpbach Schmid, Gerichtssekretär Philip Conradin.

In Sachen

vertreten durch Rechtsanwalt B,



Staat Zürich,
vertreten durch die Volkswirtschaftsdirektion des Kantons Zürich,


betreffend Aufsichtsbeschwerde / Kostenauflage,


You would extract the following JSON:


"president": {"firstname": "Jso", "lastname": "Schumacher", "gender": "male"},

"judges": [{"firstname": "Lukas", "lastname": "Widmer", "gender": "male"}, {"firstname": "Maja", "lastname": "Schüpbach Schmid", "gender": "female"}],

"clerks": [{"firstname": "Philip", "lastname": "Conradin", "gender": "male"}],

"complainant": [{"name": "A", "legal counsel": "B"}],

"respondent": [{"name": Volkswirtschaftsdirektion des Kantons Zürich"}]


Research Questions

Apart from the Federal Supreme Court of Switzerland, extracted judicial persons do not exist for Swiss court decisions. 

RQ1: To what extent can regular expressions and parsers be used to extract judicial persons from Swiss court decisions?

RQ2: What coverage can be achieved? (i.e. how many judicial persons can be extracted with their attributes?)


  1. Select large Swiss courts (e.g. Bundesverwaltungsgericht, Zürich Sozialversicherungsgericht)
  2. Analyze the structure of the rubrum and look for patterns that identify the different judicial persons
  3. Implement parsers and regular expressions extracting the judicial persons based on the identified patterns
  4. Calculate the judicial person extraction coverage (e.g. for how many decisions did we find at least one judicial person or how many percent of judicial persons can be extracted based on a few manually annotated samples)


⬤⬤⬤⬤◯ Programming

⬤⬤⬤◯◯ Experimentation

⬤◯◯◯◯ Literature


Good programming skills (preferably in Python)

Preferably experience with regular expressions


Joel Niklaus


[1] Vokinger, K.N., Mühlematter, U.J., 2019. Re-Identifikation von Gerichtsurteilen durch «Linkage» von Daten(banken). Jusletter 27.