Zum Inhalt springen

„Apache OpenNLP“ – Versionsunterschied

aus Wikipedia, der freien Enzyklopädie
[ungesichtete Version][ungesichtete Version]
Inhalt gelöscht Inhalt hinzugefügt
Updates infobox with data on latest OpenNLP release 2.5.2
Aktualisierung der Referenzen zu OpenNLP Modellen, insbesondere Anpassung des neuesten Sentence-Detection Modells, da das Modell von SourceForge nicht weiter gepflegt bzw. empfohlen wird. OpenNLP hat auf UD-basierte Modelle umgestellt, vgl. Newseintrag: https://opennlp.apache.org/news/news-2024-11-23.html - Darüber hinaus schlechte Übersetzung "Schulungen" korrigiert. Gemeint ist hier "Training" von Modellen. Zudem habe ich auch die unbrauchbare Ref auf Quora ersetzt, stattdessen: Ref Dev-Manual
Zeile 3: Zeile 3:
|Name = OpenNLP
|Name = OpenNLP
|Logo = [[Datei:Apache OpenNLP Logo.svg|300px]]
|Logo = [[Datei:Apache OpenNLP Logo.svg|300px]]
|Entwickler = Community-Projek
|Entwickler = Community-Projekt
|AktuelleVersion = 2.5.2
|AktuelleVersion = 2.5.2
|AktuelleVersionFreigabeDatum = 27. Dezember 2024
|AktuelleVersionFreigabeDatum = 27. Dezember 2024
Zeile 15: Zeile 15:
Die '''Apache OpenNLP''' Bibliothek ist ein auf [[Maschinelles Lernen|maschinellem Lernen]] basierendes Toolkit in der Programmiersprache [[Java (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|Part-of-Speech-Tagging]], [[Named-entity recognition|Extraktion benannter Entitäten]], Chunking, [[Parser|Parsing]] und Auflösung von [[Koreferenz]]en. Diese Aufgaben sind in der Regel erforderlich, um fortgeschrittenere Textverarbeitungsdienste aufzubauen. Es gilt die [[Freie Software|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 '''Apache OpenNLP''' Bibliothek ist ein auf [[Maschinelles Lernen|maschinellem Lernen]] basierendes Toolkit in der Programmiersprache [[Java (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|Part-of-Speech-Tagging]], [[Named-entity recognition|Extraktion benannter Entitäten]], Chunking, [[Parser|Parsing]] und Auflösung von [[Koreferenz]]en. Diese Aufgaben sind in der Regel erforderlich, um fortgeschrittenere Textverarbeitungsdienste aufzubauen. Es gilt die [[Freie Software|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 erleichtern.<ref>{{Internetquelle |url=https://www.quora.com/topic/OpenNLP |titel=OpenNLP Quora |abruf=2019-02-11}}</ref>
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 Modell-Trainings zu erleichtern.<ref>{{Internetquelle |url=https://opennlp.apache.org/docs/2.5.2/manual/opennlp.html |titel=Apache OpenNLP Developer Documentation |abruf=2025-01-04}}</ref>


== Details ==
== 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.<ref>{{Internetquelle |url=https://opennlp.apache.org/models.html |titel=Models Download Apache OpenNLP |abruf=2019-02-11}}</ref>
* 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.<ref>{{Internetquelle |url=https://opennlp.apache.org/models.html#language_detection |titel=Apache OpenNLP Language Detection Model |abruf=2025-01-04}}</ref>
* 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.&nbsp;B. "de-sent.bin" für Satzerkennung in deutschen Texten.<ref>{{Internetquelle |url=https://opennlp.sourceforge.net/models-1.5/ |titel=OpenNLP Tools Models |abruf=2019-02-11}}</ref>
* 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.&nbsp;B. ''opennlp-de-ud-gsd-sentence-1.2-2.5.0.bin'' für Satzerkennung in deutschen Texten.<ref>{{Internetquelle |url=https://opennlp.apache.org/models.html#sentence_detection |titel=Apache OpenNLP Sentence Detection Models |abruf=2025-01-04}}</ref>
* Tokenisierung: Der Tokenizer zerlegt eine Zeichenfolge in Token. Token sind in der Regel Wörter, Satzzeichen, Zahlen etc.
* 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.<ref>{{Internetquelle |url=https://stanbol.apache.org/docs/trunk/components/enhancer/engines/opennlppos.html |titel=Apache Stanbol – OpenNLP POS Tagging Engine |abruf=2019-02-11}}</ref>
* Part-of-speech-Tagging: OpenNLP verfügt über eine Auswahl von bereits trainierten Modellen für 32 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.<ref>{{Internetquelle |url=https://stanbol.apache.org/docs/trunk/components/enhancer/engines/opennlppos.html |titel=Apache Stanbol – OpenNLP POS Tagging Engine |abruf=2019-02-11}}</ref>
* 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.
* 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.


Zeile 32: Zeile 32:


[[Kategorie:Computerlinguistik]]
[[Kategorie:Computerlinguistik]]
[[Kategorie:Freie_Linguistik-Software]]
[[Kategorie:Apache-Projekt|OpenNLP]]
[[Kategorie:Apache-Projekt|OpenNLP]]
[[Kategorie:Java-Programm]]
[[Kategorie:Java-Programm]]

Version vom 4. Januar 2025, 12:50 Uhr

OpenNLP

Basisdaten

Entwickler Apache Software Foundation
Erscheinungsjahr 22. April 2004[1], 14. April 2012[2]
Aktuelle Version 2.5.2
(27. Dezember 2024)
Betriebssystem Plattformunabhängig
Programmier­sprache Java[2][3]
Kategorie Computerlinguistik
Lizenz Apache 2.0
opennlp.apache.org

Die Apache OpenNLP Bibliothek ist ein auf maschinellem 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 Modell-Trainings zu erleichtern.[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" 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. opennlp-de-ud-gsd-sentence-1.2-2.5.0.bin für Satzerkennung in deutschen Texten.[6]
  • 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 32 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.

Einzelnachweise

  1. sourceforge.net.
  2. a b projects.apache.org. (abgerufen am 8. April 2020).
  3. www.openhub.net. In: Open Hub. (abgerufen am 25. Januar 2021).
  4. Apache OpenNLP Developer Documentation. Abgerufen am 4. Januar 2025.
  5. Apache OpenNLP Language Detection Model. Abgerufen am 4. Januar 2025.
  6. Apache OpenNLP Sentence Detection Models. Abgerufen am 4. Januar 2025.
  7. Apache Stanbol – OpenNLP POS Tagging Engine. Abgerufen am 11. Februar 2019.