Natural Language Processing in der Medizin – Wie schwierig ist es wirklich? — Empolis Blog

Natural Language Processing in der Medizin – Wie schwierig ist es wirklich?

0

natural-language-processing-medizin

Die digitale Transformation der Medizin öffnet die Möglichkeit für datenbasierte Geschäftsmodelle. Dennoch wird der Großteil des verfügbaren medizinischen Wissens auf unbestimmte Zeit weiterhin als natürlichsprachlicher Freitext in unstrukturierten Daten verborgen sein, wie zum Beispiel in klinischen Befunden oder biomedizinischen Forschungsartikeln. Es stellt sich die Frage, wie schwierig es ist, diese vielversprechenden medizinischen Informationen durch sogenanntes Natural Language Processing automatisiert verfügbar zu machen.

Was ist Natural Language Processing?

Natural Language Processing in der Medizin ermöglicht es Akteuren im Gesundheitswesen natürlichsprachlichen Text automatisiert in ein standardisiertes Format zu bringen und zur Entscheidungsfindung und medizinischen Wissensgenerierung zu nutzen.

(Quelle: Demner-Fushman, D., Chapman, W. W., & McDonald, C. J. (2009). What can natural language processing do for clinical decision support?. Journal of biomedical informatics, 42(5), 760-772.)

Was ist der Nutzen von Nature Language Processing in der Medizin?

Der Nutzen von Natural Language Processing (NLP) in der Medizin liegt auf der Hand: Eine Vielzahl an medizinischen Datenquellen enthält nur natürlichsprachlichen Freitext, z. B. radiologische Befunde, Arztbriefe oder OP-Berichte. NLP erlaubt es, diese große Menge an unstrukturierten Daten automatisiert und effizient zu interpretieren, in strukturierte Form zu bringen und zur Entscheidungsunterstützung zu nutzen.

In anderen Anwendungsbereichen werden NLP-Technologien bereits erfolgreich eingesetzt, z. B. für Suchmaschinen im World Wide Web, für digitale Assistenten im Konsumentenbereich oder für das Dokumenten-Routing beim Posteingangsmanagement.

Am Thema NLP in der Medizin scheiden sich jedoch die Geister: Zum einen sei das Problem simpel und ließe sich mit einer Vielzahl an vorhandenen Technologien schnell lösen, zum anderen erfordere das Problem auch in kleinen Anwendungen für eine ausreichende Güte einen zu kostspieligen manuellen Aufwand.

Wie schwierig ist Natural Language Processing (NLP) in der Medizin nun wirklich?

Wie so häufig lautet die Antwort „Es kommt darauf an!“

Je nach Anwendungsfall kann NLP unterschiedlich angewendet werden:

  • durch Anwender mit oder ohne tieferem technischem Verständnis
  • mit frei verfügbarer Open-Source-Software oder kommerzieller Unterstützung
  • mit oder ohne medizinischer Expertise
  • mit generischen oder hochspeziellen IT-Werkzeugen

Ich möchte im Folgenden darlegen, dass NLP in der Medizin grundsätzlich nicht trivial, aber auch keine unerreichbare Magie ist, sondern klar umrissene, komplexe Aufgaben zuverlässig lösen kann.

NLP-Anwendungsbeispiel: Interpretation radiologischer Fragestellungen

In diesem Artikel wird die Komplexität eines einfachen, aber realistischen Anwendungsbeispiels erläutert. Hier soll automatisch der Inhalt aus einem Freitextfeld ‚Indikation‘ aus einer teleradiologischen Software interpretiert werden. Dieses Freitextfeld nutzen behandelnde Ärzte, um eine Computertomographie des Schädels anzufordern und zu begründen.

Normalerweise werden derartige Freitexte zwar durch den Radiologen gelesen, aber aufgrund ihrer großen Heterogenität nicht automatisiert ausgewertet. So schreibt oder diktiert jeder Arzt auf seine ganz spezielle eigene Weise und kein Patientenfall ist mit einem anderen identisch.

Die automatische Interpretation der Fragestellungen kann beispielsweise Statistiken über häufige Untersuchungsgründe, z. B. vermutete Pathologien, oder Hinweise zur Qualitätssicherung beim Anforderungsverhalten liefern.

Allgemein hängt die Komplexität einer NLP-Anwendung beispielsweise von folgenden Aspekten ab:

  • Laiensprache oder Fachsprache?
  • Medizinisches Fachgebiet?
  • Art der Formulierung beim Schreiben oder Sprechen
  • Klinischer Text (durch einen Arzt in der klinischen Routine bei der Diagnostik und Behandlung von Patienten) oder biomedizinischer Text (Bücher, Artikel etc.)?
  • NLP-Anwendung: Informationsextraktion, Dokumentensuche, Texterstellung etc.?
  • Menge an vorhandenen realistischen Beispieldaten?
  • Verfügbare Terminologien oder Standards (ICD-10, RadLex)?
  • Volumen, Heterogenität, Unschärfe, Aktualität der Daten (sog. Big-Data-Eigenschaften)?

Im Anwendungsbeispiel kann der Text für die Indikation direkt per Tastatur verfasst oder aus Diktat durch eine Spracherkennung erstellt worden sein. Der Schreibstil der Ärzte ist häufig von vielen Substantiven geprägt, z. B. „Sturz. Fraktur? Blutung?“.

Wie geht man nun an die Analyse einer solchen Indikation heran? Zunächst muss zwischen Konzepten und Begriffen unterschieden werden.

Ein Konzept fasst üblicherweise eine „Idee“ bzw. ein „übergeordnetes Thema“ aus einem Fachgebiet anhand real vorkommender spezieller Beispiele zusammen, z. B. „Blutung“.

Ein Begriff – manchmal auch „Surface Form“ genannt – ist definiert als eine mögliche syntaktische und grammatikalische Ausdrucksweise für ein oder mehrere Konzept(e). Begriffe sind beispielsweise Synonyme, linguistische Abwandlungen, zusammengesetzte Wörter (Kompositas).

Begriffe für das Konzept „Blutung“ sind z. B. „Blutung“, „Blutungen“, „Bltng“, „Hemorrhages“ und „Hirnblutung“.

Relevante Begriffe im Anwendungsbeispiel sind alle Substantive mit ggf. beschreibenden Adjektiven, z. B. „intrakranielle Blutung“. Um die Anzahl eindeutiger Begriffe zu reduzieren, wurden hierbei Stammformen gebildet sowie Groß- und Kleinschreibung ignoriert, aus „Blutung“ und „Blutungen“ wird somit gleichermaßen „blutung“.

Die schlechte Nachricht ist, dass es für ein Konzept grundsätzlich unendlich viele mögliche Begriffe gibt. Abbildung 1 zeigt dies anhand einer annähernd linearen Zunahme an prozentual abgedeckten Begriffen über zufällig ausgewählten Indikationstexten.

nlp-medizin-abdeckung-begriffe-AAbbildung 1 Abdeckung eindeutiger Begriffe in zufällig ausgewählten Texten. Anzahl Begriffe steigt linear mit der Anzahl an Texten. Durchschnitt über fünf Runden.

Die gute Nachricht ist, dass einige Begriffe typischerweise weitaus häufiger als andere verwendet werden. Zum Beispiel „intrakranielle Blutung“ versus „ringförmige Läsion“. Abbildung 2 zeigt, dass bereits mit 10 Prozent der Texte, über 60 Prozent aller Nennungen von Begriffen abgedeckt werden.

Abbildung 2 Abdeckung Begriffsnennungen in zufällig ausgewählten Texten. Anzahl Nennungen steigt überlinear mit der Anzahl an Texten. Durchschnitt über fünf Runden.

Diese Variabilität hat sich in anderen Anwendungen auch für gröbere syntaktische Strukturen wie Sätzen gezeigt. Und das selbst dann, wenn die Ärzte vermeintlich mit Textbausteinen oder selbst-vorgegebenen Schemata arbeiten. Die Anzahl an neuen Sätzen wächst linear mit der Anzahl an Texten. Und auch hier ist zum Beispiel der Satz „Das Ventrikelsystem ist mittelständig und nicht balloniert.“ viel häufiger als der Satz „Kein Anhalt für eine frische Ischämie oder eine Raumforderung.“ Dies zeigt sich sogar, wenn man die Sätze durch Entnahme aller Substantive und Adjektive sowie allgemeiner Stoppwörter („der“, „die“, „das“ etc.) abstrahiert. Anstelle „Kein Nachweis einer frischen intrakraniellen Blutung“ erhält man das häufigere „Kein Nachweis XXX“.

NLP in der Medizin ist grundsätzlich nicht trivial, weil Ärzte – auch wenn Sie Textbausteine oder Schemata nutzen – immer wieder neue Begriffe und Sätze bilden. Bei sich wiederholenden Tätigkeiten, wie der Formulierung einer Indikation, gewöhnen sie sich allerdings einen charakteristischen Schreibstil an und nutzen gewisse Phrasen immer wieder. Mit überschaubarem Aufwand und intelligenten Algorithmen ist es daher möglich, den Großteil der Inhalte von Indikationen mit ausreichender Güte automatisiert zu verstehen.

NLP: Nicht trivial und doch ganz einfach

Um die Texte aus dem Anwendungsbeispiel zu interpretieren, muss jeder Begriff genau einem bekannten Konzept zugeordnet werden. In der Fachsprache bedeutet dies Entitätserkennung mit Disambiguierung und ist eine häufig genutzte NLP-Aufgabe.

Aber welche Konzepte sind bekannt? Konzeptlisten kann man sich selbst erstellen oder man nutzt vorhandene Datenquellen wie Kataloge, Terminologien, Thesauri oder Ontologien. Möglicherweise enthalten diese auch strukturierte Hintergrundinformationen zu den enthaltenen Konzepten und werden standardmäßig in unterschiedlichen Anwendungen genutzt.

Ein Beispiel für eine weit verbreitete Terminologie in der Radiologie ist RadLex mit ca. 46.000 Konzepten. Die Konzepte werden durch bevorzugte englische Begriffe und Synonyme sowie Beziehungen untereinander näher beschrieben, und außerdem ins Deutsche übersetzt.

Ziel im genannten Anwendungsbeispiel ist also die eindeutige Zuordnung (bzw. „Matching“) von Sätzen wie „Zeichen eines erhöhten Hirndrucks?“ zu RadLex-Konzepten wie „RID34800 increased intracranial pressure“. Diese Entitätserkennung ist grundsätzlich einmal so komplex, wie die Anzahl unterschiedlicher Begriffe im Freitext. Wie aufwendig ist es nun, einem Computer diese Aufgabe der Zuordnung von Begriffen zu bekannten Konzepten beizubringen? Algorithmische Unterstützung ist notwendig, da wie oben beschrieben, für eine hohe Güte eine hohe Anzahl an Begriff-Konzept-Matches gelernt werden müssen.

Wie kann der Algorithmus geschrieben werden? Im Fall eines maschinellen-Lern-Algorithmus sagt man auch: Wie kann ein Modell trainiert werden?

Am einfachsten ist es, dem Algorithmus eine Matching-Tabelle zwischen Begriffen und Konzepten zu übergeben. Darin sind neben den typischen Begriffen eines Konzeptes auch alle Synonyme und ggf. Übersetzungen enthalten. Die Tabelle oder das „Nachschlagen“ darin können beliebig komplex werden. Der Kern der Herausforderung besteht darin, Matching-Algorithmen zu verwenden, die entweder genügend Vorwissen mitbringen oder effektiv durch neue Beispiele lernen.

Im Trend sind beispielsweise Deep Learning-Algorithmen, denen Beispiel-Begriffe oder -Sätze und die entsprechenden Konzepte als Trainingsdaten eingegeben werden. Diese Algorithmen betrachten die Begriffe nicht als Ganzes, sondern teilen sie in beliebige einzelne Informationen (z. B. Teilwörter, grammatikalische Metadaten) auf und können somit – bei entsprechender Menge an Trainingsdaten – sehr erfolgreich verallgemeinern und lernen.

Für unser Anwendungsbeispiel haben wir eine Matching-Tabelle aus RadLex und seinen ca. 70.000 Begriffen, inklusive ca. 10.000 deutschen Übersetzungen, erstellt und dem Information Access System, der NLP-Software von Empolis, eingespeist.

Ein striktes String-Matching ist ein erster Anfang. Aber RadLex enthält bei weitem nicht alle Synonyme, geschweige denn alle möglichen linguistischen Abwandlungen, bis hin zu Rechtschreibfehlern, die in medizinischen Texten verwendet werden.

So gibt es eine Vielzahl an Methoden, um das Matching zu verbessern, z. B. die Stammformbildung und Kompositazerlegung. Auch Vorverarbeitungsschritte werden genutzt, um z. B. Aufzählungen oder Abkürzungen aufzulösen. Beim Disambiguieren sind grammatikalische Metadaten nützlich, um z. B. zwischen der „Amytrophen Lateralsklerose“ (ALS) und der Konjunktion „als“ zu unterscheiden.

Manche Methoden müssen dabei mit Vorsicht bedacht werden. Beispielswiese ist ein naives „Fuzzy“-Matching fehleranfällig. Ansonsten wird die „Ischialgie“ (Hexenschuss) schnell als „Ischämie“ (Durchblutungsstörung) erkannt.

Zudem ist es unbedingt notwendig, die Güte des Algorithmus zu evaluieren. Für das Anwendungsbeispiel wurden dazu 200 Indikationen zufällig aus dem Gesamtdatensatz herausgezogen und manuell annotiert. Diese Anzahl erlaubt es, die Güte des Algorithmus festzustellen und mit hoher Konfidenz auf den Gesamtdatensatz zu übertragen.

Ausschließlich die vorhandenen RadLex-Synonyme, trotz Stammformbildung und Kompositazerlegung zu nutzen, erreicht dabei wie zu erwarten aufgrund der großen Anzahl an möglichen Begriffen keine ausreichende Güte:

  • Präzision: 0.97
  • Sensitivität: 0.42
  • F1-Maß: 0.59

So sind zwar 97 Prozent aller erkannten RadLex-Konzepte korrekt; jedoch werden überhaupt nur 42 Prozent aller möglichen erkannt. Und so ist auch der gewichtete harmonische Durchschnitt, das F1-Maß, weit von einer ausreichenden Güte von 0.85 entfernt.

Mit überschaubarem manuellem Aufwand die 200 häufigsten Begriffe (7 Prozent aller Begriffe) als zusätzliche Begriffe für Konzepte hinzuzunehmen, erreicht eine deutlich bessere Güte:

  • Präzision: 0.92
  • Sensitivität: 0.80
  • F1-Maß: 0.85

So sind 92 Prozent aller erkannten RadLex-Konzepte korrekt und es werden 80 Prozent aller möglichen Konzepte erkannt. Das F1-Maß ist ausreichend hoch und bei 200 zufällig ausgewählten Testdaten besteht diese Güte auch auf dem Gesamtdatensatz. Denn laut Wilson Score Konfidenzintervall weicht diese Güte in 95 Prozent der Fälle maximal um 5 Prozent ab.

So stellt NLP keine unerreichbare Magie dar, sondern kann klar umrissene Aufgaben wie die Entitätserkennung von RadLex-Konzepten auch mit geringem manuellen Aufwand zuverlässig lösen.

Weitere Beispiele für NLP-Aufgaben sind die Erkennung von Negationen, die Erkennung von identischen Entitäten über Satzgrenzen hinweg sowie die Erkennung von Relationen zwischen Entitäten. Diese Aufgaben betreffen ggf. satz- oder textübergreifend mehrere Begriffe und Konzepte, zeigen häufig eine höhere Variabilität und benötigen ggf. mehr grammatikalische und semantische Hintergrundinformationen, lassen sich grundsätzlich jedoch auf dasselbe konzeptionelle Problem der Entitätserkennung herunterbrechen.

So können auch komplexere Anwendungen mit vergleichbarem manuellen Aufwand – wenn auch ggf. mit mehr technischen Kniffen – gelöst werden.

NLP ist bereit für die Medizin

Natural Language Processing in der Medizin ist mit Sicherheit kein einfaches Problem.
Je nach Anwendung sowie benötigter Tiefe und Schärfe des maschinellen Verständnisses der Texte, kann die Komplexität schnell stark ansteigen. Jedoch können für viele Anwendungen relevante medizinische Informationen mit geringem manuellem Aufwand und hoher Qualität extrahiert und darauf aufbauend, die zu lösenden Aufgaben gezielt und iterativ erweitert werden. NLP besitzt das Potenzial, viele medizinische Anwendungen durch Wissen aus bisher ungenutzten Datenquellen zu ermöglichen und zu verbessern.
Lassen Sie uns dieses Potenzial gemeinsam nutzen!

 

 

 

Sie möchten alle Informationen rund um KI und Big Data druckfrisch erhalten? Das Blog-Abo ist für Sie da.

Teilen:

Über den Autor

Benedikt Kämpgen

Dr. Benedikt Kämpgen ist der Bereichsleiter „Healthcare Analytics“ bei Empolis. Er beschäftigt sich seit 2006 intensiv mit intelligenten Systemen, um größtmöglichen Nutzen aus großen, heterogenen Datenmengen zu ziehen. Entsprechende Kenntnisse durfte er als Abteilungsleiter am FZI Forschungszentrum Informatik, während der Promotion am Karlsruher Institut für Technologie (KIT) und in seinem Studium der Informatik mit Nebenfach Medizin in Würzburg sammeln. Seinen Enthusiasmus für das „Maschinen-verständliche Web“ konnte er zu dieser Zeit u. a. in der Open-Source-Gemeinschaft von Semantic MediaWiki und in Standardisierungsbemühungen des World Wide Web Consortium (W3C) pflegen. Seit 2017 ist er bei Empolis. Mit Ehefrau und Sohn geht er gerne auf Reisen und versucht außerdem so häufig wie möglich Fußball und Tennis zu spielen.

Sagen Sie Ihre Meinung!

Ich habe die Datenschutzbestimmungen gelesen, akzeptiere diese und stimme der Veröffentlichung der eingetragenen Daten zu