>> danielnaber.de 

jWordSplitter

 

Komposita-Zerlegung mit Java

   
 

German | English

jWordSplitter ist eine kleine Java-Bibliothek zur Zerlegung deutscher Komposita. Die Zerlegung basiert auf einem Wörterbuch, das im JAR integriert ist.

Der Sourcecode und eine Beschreibung zur Nutzung liegt bei github.

Hinweise zum verwendeten Algorithmus:

  • Der Algorithmus ist sehr einfach und weiß fast nichts über Sprache: er zerschneidet das Wort und prüft, ob ein Teil wirklich ein Wort ist, d.h. im Wörterbuch vorkommt. Ist das der Fall, wird das gleiche Vorgehen wieder rekursiv auf den Rest des Wortes angewandt. Sonst wird die Stelle, an der das Wort zerteilt wird, um einen Buchstaben verschoben. Entsprechend ist es auch egal, ob die zu zerlegenden Wörter Nomen, Verben oder Adjektive sind.
  • Die Länge der zu zerlegenden Wörter ist nicht begrenzt. jWordSplitter kann auch das berühmte Beispiel "Donaudampfschifffahrtskapitän" zerlegen (Donau, dampf, schiff, fahrt, kapitän).
  • Um die Qualität der Zerlegung zu verbessern, muss man den Inhalt des Wörterbuchs anpassen oder mit der Methode GermanWordSplitter.addException() Ausnahmen hinzufügen.
  • Das Wörterbuch sollte auch alle flektierten Wortformen (Plural, Genitiv etc.) beinhalten. Außerdem gibt es Komposita-Teile wie "Miet" (Mietwohnung, Mietverhältnis) oder "Wohn" (Wohnraum, Wohnrecht), die eigenständig keine Wörter sind, aber trotzdem im Wörterbuch sein müssen, wenn ihre Trennung funktionieren soll.
  • Der Algorithmus kennt das Fugenelement "s" wie in "Verlagshaus", aber er trennt auch falsche oder seltene Wörter wie "Verlaghaus".
  • Der Algorithmus funktioniert auch für andere Sprachen. Um eine weitere Sprache zu unterstützen, muss die Klasse AbstractWordSplitter erweitert werden.

Stichwörter: zusammengesetzte Wörter, Nominalkomposita, Kompositum, Worttrennung, Wortzerlegung

 
 
naber (at) danielnaber de, Last updated: 2015-04-21