Der größte Teil juristischer Information steckt in Text. In dieser Einheit wollen wir uns daher ansehen, wie man natürliche Sprache analysieren kann, welche Tools es dafür gibt und welche Gefahren damit einher gehen.

Inhaltsverzeichnis

Natural Language Processing

NLP Basics

Bis jetzt haben wir uns größtenteils mit strukturierten Daten beschäftigt. Ein großer Teil juristischer Information lässt sich allerdings nur schwer in einer solchen Form darstellen. Vielmehr ist sie in Text, in natürlicher Sprache, gespeichert. Das Natural Language Processing oder NLP erlaubt es uns, natürliche Sprache zu strukturieren und zu quantifizieren und so besser zu analysieren.

Das Quantifizieren von Text ist dabei eine komplexe Aufgabe, denn Sprache lässt sich schwer in enge Kategorien fassen. Ist mit Bank zB die Sitzgelegenheit oder das Geldinstitut gemeint? Und ist August ein Monat oder ein Vorname? Besitz und Eigentum werden in einem Zeitungsartikel vielleicht als Synonyme behandelt, bedeuten in einem OGH-Urteil aber sehr verschiedene Dinge.

Im Wesentlichen können zwei Ansätze unterschieden werden: regelbasiertes NLP und statistisches NLP. Beim regelbasierten NLP werden im Vorhinein durch Menschen logische Regeln aufgestellt, die dann auf den Text angewendet werden. ZB: "Wenn das Urteil mehr als zwei Mal das Wort "Ehe" enthält, dann soll es in die Kategorie Eherecht eingeordnet werden." Dieser Ansatz hat den Vorteil, dass man recht schnell erste Ergebnisse bekommt und die genaue Vorgangsweise transparent und nachvollziehbar ist. Werden zum Beispiel mit der zuvor genannten Regel zu viele Urteile fälschlicherweise der Kategorie Eherecht zugeordnet, kann man den Faktor zwei erhöhen usw. Der Nachteil an diesem Ansatz ist, dass die Regeln händisch erstellt werden müssen, was sehr arbeitsintensiv ist.

Beim statistischen NLP werden nicht manuell Regeln erstellt. Vielmehr wird mithilfe eines großen Sets an Trainingsdaten ein probabilistisches Modell erstellt. Trainingsdaten sind zum Beispiel eine Liste an Urteilen und welcher Kategorie sie zugeordnet sind. Der NLP Algorithmus ermittelt dann die Gemeinsamkeiten der Urteile, die derselben Kategorie zugeordnet sind und die Unterschiede zu den anderen Kategorien. Das so erstellte Modell kann dann auf neue, unbekannte Urteile angewendet werden und sagt mit einer gewissen Wahrscheinlichkeit voraus, zu welcher Kategorie es gehört. Der Vorteil dieser Methode ist, dass nicht arbeitsintensiv Regeln erstellt werden müssen, und, dass das Modell laufend "mitlernen" kann. Der Nachteil davon ist, dass das Ergebnis oft schwer nachvollziehbar ist und das Modell bei Problemen nur schwer angepasst werden kann. Außerdem wird eine große Menge an Trainingsdaten benötigt.

In dieser letzten Online-Einheit wollen wir eine ganze Reihe an Methoden des NLP, von recht simpel bis sehr komplex beleuchten. Ein Tool, das dafür unter anderem verwendet wird ist das Package "Natural Language Toolkit", kurz "NLTK".

Ebenen der Analyse

Die Analyse von Text kann auf verschiedenen Ebenen passieren.

Bei der lexikalischen Analyse werden die Worte isoliert, ohne ihren Zusammenhang betrachtet.

Bei der syntaktischen Analyse werden die grammatikalischen Beziehungen eines Wortes berücksichtigt.

Die semantische Analyse will die Bedeutung und den Sinn von Worten erfassen. Die berühmten "warmen Eislutscher" sind ein Beispiel für einen semantischen Konflikt zwischen zwei Worten.

Bei der Diskursanalyse wird der größere Kontext zwischen Sätzen berücksichtigt. Verweise innerhalb des Texts werden nachvollzogen.

Der pragmatischen Analyse geht es um das praktische Verstehen des Texts, das Erfassen der kompletten Bedeutung eines Satzes.

0*9aT_MdjuT9xXGUdU.png

Breaking it down

Damit die einzelnen Teile eines Texts analysiert werden können, muss der Text zuerst in seine Einzelteile, wie Sätze und Worte zerteilt werden. Erst dann kann man verstehen, was die einzelnen Teile bedeuten und so schritt für Schritt die Bedeutung des gesamten Texts erfassen.

Das Zerteilen ist einfacher gesagt als getan, denn nicht jeder Satz endet in einem Punkt und nicht jeder Punkt beendet einen Satz.

NLTK bietet dafür einige hilfreiche Funktionen: