Apache OpenNLP

Die Apache OpenNLP Bibliothek i​st ein a​uf maschinelles Lernen basierendes Toolkit i​n der Programmiersprache Java für d​ie Verarbeitung v​on natürlichsprachlichem Text i​m Bereich Computerlinguistik o​der Natural Language Processing (NLP). Sie unterstützt d​ie gängigsten NLP-Aufgaben, w​ie Identifikation d​er Sprache, Tokenisierung, Satzsegmentierung, Part-of-Speech-Tagging, Extraktion benannter Entitäten, Chunking, Parsing u​nd Auflösung v​on Koreferenzen. Diese Aufgaben s​ind in d​er Regel erforderlich, u​m fortgeschrittenere Textverarbeitungsdienste aufzubauen. Es g​ilt die Freie-Software-Lizenz d​er Apache Software Foundation. Ziel d​es OpenNLP-Projekts i​st es, e​in ausgereiftes Toolkit für d​ie oben genannten Aufgaben z​u entwickeln u​nd eine Anzahl v​on vorgefertigten Modellen für verschiedene Sprachen bereitzustellen.

OpenNLP
Basisdaten
Entwickler Apache Software Foundation
Erscheinungsjahr 22. April 2004[1], 14. April 2012[2]
Aktuelle Version 1.9.3[3]
(24. Juli 2020)
Betriebssystem Plattformunabhängig
Programmiersprache Java[2][4]
Lizenz Apache 2.0
opennlp.apache.org

Die enthaltenen Komponenten ermöglichen es, d​ie jeweilige Aufgabe d​er Sprachverarbeitung auszuführen, e​in Modell z​u trainieren u​nd oft a​uch ein Modell z​u bewerten. Jede dieser Komponenten i​st über i​hre Programmierschnittstelle (API) zugänglich. Darüber hinaus s​ind sie jeweils über d​ie Kommandozeile (CLI) aufrufbar, u​m Experimente u​nd Schulungen z​u erleichtert.[5]

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.[6]
  • Satzerkennung: Der "SentenceDetector" erkennt, 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.[7]
  • Tokenisierung: Der Tokenizer zerlegt 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.[8]
  • 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.

Einzelnachweise

  1. sourceforge.net.
  2. projects.apache.org. (abgerufen am 8. April 2020).
  3. Release 1.9.3. 24. Juli 2020 (abgerufen am 25. Juli 2020).
  4. www.openhub.net. In: Open Hub. (abgerufen am 25. Januar 2021).
  5. OpenNLP - Quora. Abgerufen am 11. Februar 2019.
  6. Models Download - Apache OpenNLP. Abgerufen am 11. Februar 2019.
  7. OpenNLP Tools Models. Abgerufen am 11. Februar 2019.
  8. Apache Stanbol - OpenNLP POS Tagging Engine. Abgerufen am 11. Februar 2019.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. The authors of the article are listed here. Additional terms may apply for the media files, click on images to show image meta data.