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
- frei, d.h. kostenlos (für Forschungszwecke) verfügbar,
- auf deutschsprachige Texte anwendbar und
- 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.
|
- 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 |
| BitPar | 2.250 |
| Malt-Parser | 1.925 |
| Stanford-Parser | 945 |
(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
- Morphisto-Lexikon:
morphologisches Lexikon mit Angaben zu 18.000 Lemmata
- GeoNames: Liste mit 8 Millionen Bezeichnungen geographischer Einheiten, klassifiziert nach Ländern etc.
- HeiNER: The Heidelberg Named Entity Resource
- Liste mit ca. 40.000 Vornamen, unterschieden nach Geschlecht.
- Liste mit über 20.000 Vornamen
- Listen mit Städtenamen
- mehrsprachige Lexika (Übersetzungswörterbücher)
- Thesauri, semantische Netze und Ontologien
Frameworks
Siehe auch:
Homepage von UIMA
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
- 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
Ich bedanke mich bei Dr. Hajo Keffer (Saarbrücken) für Hinweise auf Tools und Resourcen.
|
|