Erster Blick auf Universal Dependencies – Teil 1

In meinem letzten Post habe ich Theorien über die Deklination des Nomens in der deutschen Sprache forgestellt. Dieser und der nächster Eintrag handeln davon, wie man eine Baumbank herunterlädt, wie sie geparst werden kann und schaut sich einige grundlegende Statistiken an. Eine Baumbank ist eine strukturierte Wortliste im Kontext eines Textkorpus mit dem Worttyp und anderen essentiellen Informationen. Der Worttyp ist eigentlich ein POS-Tag gennant. Er bezeichnet die Kategorie des Wortes in Bezug auf das syntaktische Niveau, z.B., Nomen, Verb, Adjektiv usw. Das Universal-Dependencies-Projekt publisiert Baumbanken für viele Sprachen. Es basiert auf einer vielzahl von Textkorpura, die manuell analysiert und annotiert werden. Es folgt das deskriptive Modell abgeleitet von wirklichen freien (wie in Rede) Texten von verschiedenen Onlinequellen.

Bücherregale gefüllt mit Büchern in einer Bibliothek.
Library von Kevin Wong unter BY 2.0.
Aus dem Original ausgeschnitten und Farbeffekte angewandt.

Was sind Wörter überhaupt?

Viele Sprachen benutzen ein Leerzeichen als Worttrenner. Einige Sprachen wie Chinesisch und Japanisch haben eine enge Beziehung zwischen Wörtern und Schriftzeichen. D.h., dass Leerzeichen weniger wichtig sind als in alphabetischen Sprachen, die z.B. lateinische Schriftzeichen benutzen. Ebenso kann die Beschränkung auf Sprachen, die Leerzeichen als Worttrenner benutzen, afhängig von der Aufgabe eine zu vereinfachte Definition sein.

Nehmen wir Deutsch als Beispiel: Dort gibt es Abkürzungen wie „z.B.“ oder „z. B.“ für „zum Beispiel“. Wird sie als ein Wort (die Abkürzung selbst) oder zwei Wörter (was die Abkürzung bezeichnet) gezählt? Es gibt auch Kurzformen wie „ins“ („in das“) und „vom“ („von dem“ / „von einem“). Sollten sie als ein oder zwei Wörter gezählt werden? Die richtige Antwort ist, dass es auf die Aufgabe ankommt. In einigen Fällen, würde man die Wortverteilung messen und „ins“/„vom“ als ein Wort sehen, denn sie werden anders als „in das“/„von dem“ verwendet. In anderen Fällen, würde man alle Präpositionalsatzteile bestimmen und es ist einfacher, wenn die Kurzformen erst in ihre Einzelteile zerlegt werden. Dann ist es möglich, direkt nach „in“ oder „von“ zu suchen. In der Universal-Dependencies-Baumbank für Deutsch findet man Kurzformen als Mehrfachwortelemente, die mit ihren Einzelteilen verknüpft sind. Z.B. ist „vom“ ein Element, das mit „von“ + „dem“ verknüpft ist. In dieser Darstellung kann man sowohl über die Kurzform selbst als auch ihre Einzelteile sprechen. Abkürzungen werden leider nicht genauso behandelt. Die Baumbank betrachtet „z.B.“ als ein Einzelwort, das nicht mit „zum“ + „Beispiel“ verknüpft ist.

Zahlen können auch eine Herausforderung darstellen, weil ein Leerzeichen manchmal als Tau­sen­der­trenn­zei­chen benutzt wird, z.B. bedeutet „150 000 000“ 150 Mio. Das bedeutet nicht, dass „150“ und „000“ als Einzelwörter behandelt werden sollten.

Wörter sind normalerweise mit dem syntaktischen Niveau verbunden, d.h., man betrachtet die einzelnen Buchstaben. Indessen ist es in einigen Fällen förderlich, nicht alle Beugungen oder eher alle Beugungen eines Wortes zu beachten. Dieses Konzept heißt Lemma. Ein Lemma stellt alle Beugungen eines Wortes dar: Haus ist das Lemma für die Wörter „Haus“, „Hauses“, „Häuser“ und „Häusern“. In Universal Dependencies werden alle Wörter mit dem Lemma annotiert damit man die Wortform oder das Lemma benutzen kann.

Um einen Schritt weiter zu gehen: Es ist möglich, Lemmata in sogenannte Synsets zu kombinieren, die alle Synonyme in einer Darstellung zusammenfassen. Damit kommen wir der eigentlichen Wortbedeutung näher. Ein Nachteil könnte jedoch darin bestehen, dass diese Darstellung subtile Unterschiede zwischen anscheinenden synonymen Wörtern vernachlässigt. Einige Wortnetze wie WordNet basieren auf dem Prinzip der Synsets. Auf diese werde ich in einem späteren Post eingehen.

Die letzte Tatsache, die die Wortdefinition ver­komp­li­ziert, ist etwas philosophischer wenn auch von praktischer Bedeutung. Wenn man eine Wortliste oder ein Wörterbuch herunterlädt, sind sie entweder deskriptiv oder normativ oder eine Kombination. Deskriptiv bedeutet das die tatsächliche Verwendung eines Wortes beschrieben wird: Slang, die neue Nutzungsmuster (Dativ anstatt Genetiv) oder falsche Nutzungen, dürfen alle in einer deskriptiven Weise annotiert werden. Normativ auf der anderen Seite bezeichnet, wie Wörter eigentlich benutzt werden sollten. Manche Wörterbücher listen nur die normative Nutzung der Wörter auf. Sie korrelieren nicht unbedingt mit der wirklichen Wortnutzung. In einem deskriptiven Modell ist es völlig in Ordnung „Sinn machen“ zu annotieren, wenn es in einem Text gefunden wird. Ein normatives Modell würde nur den richtigen Ausdruck „Sinn ergeben“/„Sinn haben“ einbeziehen. Für eine Rechtschreibprüfungsapplikation wäre es sinnvoll dem normativen Modell zu folgen, zumindest in Bezug auf die Vorschläge. Für andere Applikationen ist es wirksamer, dem deskriptiven Modell zu folgen. Ansonsten fehlen umgangssprachliche Wortnutzungen (wie „Sinn machen“), die eigentlich falsch sind.

Wenn du mehr darüber wissen willst, wie Universal Dependencies Wörter segmentiert, kannst du die Onlineressourcen besuchen (Englisch):

  1. Tokenization and Word Segmentation
  2. Word segmentation in UD v2

Im nächsten Teil wird es Code geben. Wir schauen uns an, wie Universal Dependencies und das CoNLL-U Dateiformat geparst werden können. Wenn du fleißig bist, kannst du schon mal einen Blick auf mein NPM-Modul conllu-stream NPM GitHub werfen. Schreibe gerne einen Kommentar, falls du diesen Post gemocht hast.