Apache OpenNLP
OpenNLP
| |
---|---|
![]() | |
Basisdaten
| |
Entwickler | Apache Software Foundation |
Erscheinungsjahr | 22. April 2004[1], 14. April 2012[2] |
Aktuelle Version | 2.5.4[3] (16. April 2025) |
Betriebssystem | Plattformunabhängig |
Programmiersprache | Java |
Lizenz | Apache 2.0 |
opennlp.apache.org |
Die Apache OpenNLP Bibliothek ist ein auf maschinelles Lernen basierendes Toolkit in der Programmiersprache Java für die Verarbeitung von natürlichsprachlichem Text im Bereich Computerlinguistik oder Natural Language Processing (NLP). Sie unterstützt die gängigsten NLP-Aufgaben, wie Identifikation der Sprache, Tokenisierung, Satzsegmentierung, Part-of-Speech-Tagging, Extraktion benannter Entitäten, Chunking, Parsing und Auflösung von Koreferenzen. Diese Aufgaben sind in der Regel erforderlich, um fortgeschrittenere Textverarbeitungsdienste aufzubauen. Es gilt die Freie-Software-Lizenz der Apache Software Foundation. Ziel des OpenNLP-Projekts ist es, ein ausgereiftes Toolkit für die oben genannten Aufgaben zu entwickeln und eine Anzahl von vorgefertigten Modellen für verschiedene Sprachen bereitzustellen.
Die enthaltenen Komponenten ermöglichen es die jeweilige Aufgabe der Sprachverarbeitung auszuführen, ein Modell zu trainieren und oft auch ein Modell zu bewerten. Jede dieser Komponenten ist über ihre Programmierschnittstelle (API) zugänglich. Darüber hinaus sind sie jeweils über die Kommandozeile (CLI) aufrufbar um Experimente und Schulungen zu erleichtert.[4]
Details
- Identifikation der Sprache: Der "LanguageDetector" benötigt ein trainiertes Modell. OpenNLP selbst bietet als Download das fertig trainierte Modell "langdetect-183.bin". Dies ist in der Lage 103 Sprachen zu identifizieren.[5]
- Satzerkennung: Der "SentenceDetector" erkennet ob ein Punkt das Ende eines Satzes markiert oder ob er eine andere Bedeutung hat. Auch hier ist die Angabe eines trainierten Models notwendig. OpenNLP liefert Modelle für verschiedenen Sprachen, z.B. "de-sent.bin" für Satzerkennung in deutschen Texten.[6]
- Tokenisierung: Der Tokenizer zerlegen eine Zeichenfolge in Token. Token sind in der Regel Wörter, Satzzeichen, Zahlen, etc.
- Part-of-speech-Tagging: OpenNLP verfügt über eine Auswahl von bereits trainierten Modellen für verschiedene Sprachen (Deutsch, Englisch, Spanisch, Portugiesisch, Dänisch, etc.). Mit Hilfe dieser Modelle kann dann ein Textkorpus in einer dieser Sprachen automatisch mit den entsprechenden Tags versehen werden.[7]
- Extraktion benannter Entitäten: Der "TokenNameFinder" kann benannte Objekte und Zahlen im Text erkennen. Um Entitäten erkennen zu können, wird ein Modell benötigt. Das Modell ist abhängig von der Sprache und dem Entitätstyp, für den es trainiert worden ist. Das OpenNLP-Projekt bietet eine Reihe von vortrainierten Modellen, die auf verschiedenen frei verfügbaren Corpora trainiert worden sind. Sie können auf der Modell-Download-Seite heruntergeladen werden.
Weblinks
- Offizielle Webpräsenz (englisch)
Einzelnachweise
- ↑ sourceforge.net.
- ↑ projects.apache.org. (abgerufen am 8. April 2020).
- ↑ Apache OpenNLP 2.5.4 released. 16. April 2025.
- ↑ OpenNLP - Quora. Abgerufen am 11. Februar 2019.
- ↑ Models Download - Apache OpenNLP. Abgerufen am 11. Februar 2019.
- ↑ OpenNLP Tools Models. Abgerufen am 11. Februar 2019.
- ↑ Apache Stanbol - OpenNLP POS Tagging Engine. Abgerufen am 11. Februar 2019.