Links
Hauptseite
Publikationen
Lehre
Online-Demos
Download
Linksammlung Statistische Maschinelle 
	   Übersetzung
Links

Frei verfügbare NLP-Tools und -Web-Services für die deutsche Sprache

Inhalt:
Einzelanwendungen
UIMA-Komponenten
GATE-Komponenten
Web-Services
Danksagung

Alle Programme und Resourcen auf der Liste sind
  1. frei, d.h. kostenlos (für Forschungszwecke) verfügbar,
  2. auf deutschsprachige Texte anwendbar und
  3. sofort startklar, d.h. sie müssen nicht erst mit Hilfe von z.B. annotierten Korpora trainiert werden.
Die Liste ist natürlich unvollständig (Stand 1.7.2010). Wenn Sie weitere NLP-Software oder -Resourcen kennen, die den oben aufgeführten drei Bedingungen entspricht, würde ich mich über eine Nachricht freuen.
Diese Seite bietet einen Überblick über existierende NLP-Software und -Web-Services (NLP = Natural Language Processing, auch bezeichnet mit Human Language Technology (HLT)).

Neben Einzelanwendungen sind auch Komponenten für die Frameworks UIMA und GATE aufgeführt. Diese stellen u.a. ein gemeinsames Schnittstellen- und Austauschformat zur Verfügung, so dass man sich mit ein paar Mausklicks eine ganze Verarbeitungs-Pipeline aus vielen einzelnen Analysekomponenten zusammenstellen kann.

Es ist absehbar, dass in Zukunft die einzelnen Analysekomponenten vermehrt aus Web-Services bestehen werden, d.h. aus Anwendungen, die auf einem Server irgendwo im Internet laufen. Innerhalb von UIMA lassen sich lokale und entfernte Analysekomponenten nahtlos in einer Pipeline integrieren.

Einzelanwendungen

  • Erkennung und Umwandlung (Konvertierung) von Zeichensätzen
    • UTRAC: erkennt die Zeichenkodierung (z.B. UTF-8, ISO-8859-1) einer Eingabedatei und konvertiert sie in ein anderes Encoding
    • ICONV: Unix/Linux-Programm zum Umwandeln von Zeichenkodierungen
    • cpdetector
    • recode: Programm zum Umwandeln von Zeichenkodierungen. Achtung: recode 3.6 unter Linux 2.6.11 (SuSE 9.3) löscht Dateien!
  • Sprachidentifikation
    • TextCat: Identifiziert die Sprache, in der ein Eingabetext geschrieben ist. Kennt 69 Sprachen.
  • Transliteration
  • Vorverarbeitung von HTML-Eingabetext
    • boilerpipe: "Boilerplate"-Entfernung, Extraktion von Text aus einer Webseite ohne Menüs und Werbung.
    • justext: Boilerplate-Entfernung implementiert in Python.
  • Tokenisierung und Satzzerlegung
  • Stoppwortlisten
  • Stemming
    • Snowball: Stemmer für 15 Sprachen inkl. Deutsch, Englisch, Russisch, Spanisch, Türkisch, Rumänisch, ...
    • Stemmer für 12 Sprachen, darunter Deutsch und Arabisch.
  • PoS-Tagging, Lemmatisierung und morphologische Analyse (Kompositazerlegung)
    • Tree-Tagger: PoS-Tagger und Lemmatisierer
    • RFTagger: PoS-Tagger mit sehr feinkörnigem morpho-syntaktischem Tagset für Deutsch, Tschechisch, Slowenisch und Ungarisch.
    • TnT: PoS-Tagger
    • Morphy: PoS-Tagger und Lemmatisierer. Analysiert morphosyntaktische Merkmale der Wörter und zerlegt Komposita.
    • Morphix: Morphologische Analyse/Generierung und Kompositazerlegung
  • flaches/partielles Parsing (Chunking)
  • Satz-Parser
    • Berkeley Parser: PCFG-Parser für Deutsch, Englisch, Chinesisch und Französisch. Gibt nur Konstituentenstruktur aus, keine grammatischen Funktionen wie z.B. Subjekt.
    • BitPar: PCFG-Parser für Deutsch und Englisch. Gibt auch grammatische Funktionen aus.
    • Stanford Parser: PCFG-Parser mit optionaler Ausgabe von Dependenzrelationen für Deutsch, Englisch, Chinesisch und Arabisch.
    • ParZu: The Zurich Dependency Parser for German (formerly known as Pro3GresDE)
    • Parsegeschwindigkeiten im Vergleich (Angaben in Sätzen pro Stunde):
      Berkeley Parser   25.000
      BitPar2.250
      Malt-Parser1.925
      Stanford-Parser945
      (getestet mit deutschen Sätzen aus der Bibel auf einem Athlon64 mit einer 3GHz-CPU und 2 GB RAM; die Sätze hatten eine maximale Länge von 50 Wörtern)
  • Anaphernresolution
    • ROSANA (benötigt Connexor-Parser!)
  • Eigennamenerkennung (named entity recognition)
  • Wortlisten (Namenslisten, Mehrwortlexeme, Akronyme) und einsprachige Lexika
  • mehrsprachige Lexika (Übersetzungswörterbücher)
  • Thesauri, semantische Netze und Ontologien

Frameworks

UIMA-Textanalysekomponenten (Annotatoren)

Siehe auch:
Homepage von UIMA

GATE-Textanalysekomponenten

GATE enthält u.a. Wrapper für: GATE enthält auch einen Wrapper, mit dem UIMA-Textanalysekomponten eingefügt werden können.

Siehe auch:
Homepage von GATE

Web-Services

  • AlchemyAPI: Named Entity Recognition für acht Sprachen, darunter Deutsch. Außerdem Textkategorisierung, Schlüsselwortextraktion, Sprachidentifikation und Inhaltsextraktion aus Webseiten (auch bekannt als "boilerplate removal"). Kostenloser API-Key erhältlich für bis zu 30.000 Anfragen am Tag. SDKs für ein Dutzend Programmiersprachen (u.a. Java, Perl, Python, C) herunterladbar.
  • Projekt Deutscher Wortschatz: u.a. Grundformen, Kollokationen, Beispielsätze und Synonyme

Danksagung

Ich bedanke mich bei Dr. Hajo Keffer (Saarbrücken) für Hinweise auf Tools und Resourcen.



© 1999-2011 Peter Kolb   |  20.8.2012