Skip to main content

Promethia: Verarbeitung von XML-Daten

Im vorherigen Kapitel wurde gezeigt, wie Promethia benutzt wird, um Daten von swissdox@LiRI zu verarbeiten. Promethia verarbeitet aber auch Daten in einem einfachen XML-Format. Dadurch können Sie beispielsweise Daten, die Sie aus anderen Quellen haben, mit Promethia verarbeiten.


XML-Format "headerbody"

Das "headerbody"-XML-Format sieht folgendermassen aus:

<corpus>
<text>
<header>
<title>Titel des Textes</title>
<author>Autorschaft</author>
<date>2026-01-10</date>
</header>
<body>
Text...
</body>
</text>
<text>
...
</text>
</corpus>

Dabei ist wichtig:

  • Nur die Elemente <corpus>, <text>, <header> und <body> sind zwingend. Innerhalb von <header> und <body> können beliebige Elemente vorkommen. Man kann also sich andere oder weitere Metadaten-Elemente überlegen. Oder in <body> können z.B. weitere Elemente wie <p> für Paragraphen o.ä. verwendet werden.
  • Es können beliebig viele <text>-Elemente vorhanden sein.

Verarbeitung mit Promethia

Das oder die XML-Dokumente (mit der Dateiendung .xml) legt man in ein Verzeichnis und ruft dann Promethia auf:

Windows Terminal

python3 -m promethia.promethia -i .\Testprojekt\raw_data\ -l headerbody -s lcp -o .\Testprojekt\processed_data\

Unix Terminal (Linux/Mac)

python3 -m promethia.promethia -i Testprojekt/raw_data/ -l headerbody -s lcp -o Testprojekt/processed_data/
  • Testprojekt/raw_data : Pfad zu den XML-Daten. Entsprechend der Ordnerstruktur anpassen.
  • Testprojekt/processed_data : Hier werden die verarbeiteten CoNNL-U Files abgelegt. Kann angepasst werden. Wichtig: Der Output-Ordner (in diesem Fall 'processed_data') darf noch nicht existieren.
  • Achtung: Argument -l ist nicht swissdox sondern headerbody, weil wir XML-Dateien im headerbody-Format als Input haben.

Weitere Hinweise zur Benützung von Promethia und Erklärung des Terminal Commands: https://gitlab.uzh.ch/corpus-linguistic-uzh/promethia

Der Upload in die LCP funktioniert dann analog wie bereits im vorherigen Kapitel beschrieben.