Pipeline

Die Daten werden ohne Vor- und Nachnamen aus dem Klinischen Informationssystem als Textfiles extrahiert. Anschließend werden sie in einer Pipeline (in Python 3) bereinigt, strukturiert und so aufbereitet, dass unterschiedliche korpuslinguistische Analysen möglich sind:

  • Unsere Ausgangstextfiles enthalten mehrere hundert Befunde pro File. Diese werden zunächst in einzelne Befunde gesplittet. Dabei erhält jeder Befund eine eindeutige, fortlaufende ID (RAD_date_number). 
  • In den Befundtexten kommen teilweise unterschiedliche Überschriften, wie zum Beispiel Anamnese, Indikation, klinische Angaben, Befund etc. vor. Allerdings werden hierfür häufig unterschiedliche Begriffe mit derselben Bedeutung verwendet. Daher stellt die Vereinheitlichug dieser Begriffe und Kategorien einen weiteren wichtigen Schritt in der Datenverarbeitung dar. In diesem Schritt werden auch irrelevante Textteile (z.B. autogenerierte Kontaktzeilen) gelöscht.
  • Es kann sein, dass einzelne Namen von Patient*innen und Ärzt*innen in den Texten noch entfernt werden müssen. Da akademische Titel oder persönliche Anreden wie „Herr“/“Frau“ immer vorangestellt sind, ist dies mit einer Liste an Regular Expressions möglich. 
  • In den Texten kommen sehr viele unterschiedliche Arten von Abkürzungen vor. Dabei handelt es sich zum Beispiel um Standardabkürzungen wie „MfG“ oder „z.B.“, andererseits aber auch um Abkürzungen medizinischer Fachtermini und Ad-hoc-Abkürzungen. Diese müssen erkannt und aufgelöst werden, da ansonsten die Satzgrenzen nicht richtig erkannt werden können und Probleme in der Lemmatisierung auftreten können.
  • Mithilfe einer Liste aller Abkürzungen des Korpus und der deutschen Übersetzung der radiologischen Ontologie RadLex wird ein Thesaurus erstellt. 
  • Die Tokenisierung beinhaltet die Aufteilung in einzelne Sätze, Wörter und Zeichen. In medizinischen Befunden müssen bspw. Leerzeichen hinzugefügt oder entfernt werden. Außerdem müssen zusammengeschriebene Wörter getrennt und Schreibfehler behoben werden. Solche Korrekturen stellen aufgrund der speziellen Charakteristika medizinischer Daten über die Pipeline hinaus eine besondere Herausforderung dar, die im Zuge des Projekts laufend angegangen werden muss.
  • Beim POS tagging werden Wortarten erkannt – allerdings ist diese bei medizinischen Termini bisweilen schwierig, da Tagger zum einen auf Standardtexte ausgerichtet sind und die Daten zum anderen verschiedene Besonderheiten enthalten: (pseudo-)Lateinische Begriffe, eingedeutschte Termini, Ad-Hoc-Bildungen, Abkürzungen, individuelle Schreibweisen, Ellipsen, Schreibfehler etc. Eine besondere Herausforderung stellen Ausdrücke dar, die aus mehreren Wörtern bestehen, wie z.B. der Fachbegriff ‚medulla oblongata‘, welchen herkömmliche POS-Tagger jeweils einzeln annotieren würden. Unterschiedliche POS-Tagger wurden bereits getestet, aktuell verwenden wir das R Package UDPipe (NLP – Text Annotation).


Der Output besteht aus XML-Dateien, die sich nach Standards der Text Encoding Initiative richten (TEI, Version 4.1.0, 2020). Das Endergebnis soll ein vollständig durchsuchbares, bereinigtes, korrigiertes, anonymisiertes, getestetes und POS-annotiertes Korpus an radiologischen Befunden sein.