Apache OpenNLP
La bibliothèque Apache OpenNLP est une boîte à outils d'apprentissage automatique pour le traitement de texte en langage naturel dans le domaine de la linguistique informatique ou du NLP. La bibliothèque est écrite en Java et peut être facilement intégrée dans des projets Java ou des projets utilisant la Machine Virtuelle Java (JVM). Il prend en charge les tâches NLP les plus courantes telles que la reconnaissance de la langue, l'analyseur lexical, la segmentation des phrases, l'étiquetage de la partie du discours, l'extraction d'entités nommées, l'analyse des fragments, l'analyse syntaxique et la résolution des coréférences. Ces fonctions sont essentielles au développement de services de traitement de texte avancés. Il utilise la licence libre de la Apache Software Foundation. L'objectif d'OpenNLP est de créer une boîte à outils avancée pour les tâches susmentionnées et d'offrir une gamme de modèles préconstruits pour diverses langues. Les composants inclus permettent d'effectuer la tâche de traitement linguistique correspondante, d'entraîner un modèle et, souvent, de l'évaluer. Chacun de ces composants peut être utilisé via son interface de programmation d'applications (API). En outre, chaque composant est accessible via l'interface de ligne de commande (CLI) afin de simplifier les expériences et la formation.
| Développé par | Apache Software Foundation |
|---|---|
| Première version | 19 juillet 2004 |
| Dernière version | 2.5.8 (31 mars 2026)[1] |
| Version avancée | 3.0.0-M2 (31 mars 2026)[2],[3] |
| Dépôt | https://github.com/apache/opennlp |
| Écrit en | Java |
| Environnement | Machine virtuelle Java |
| Type |
Bibliothèque Java (d) Boîte à outil de traîtement automatique de traitement de la langue (d) |
| Licence | Licence Apache 2.0 |
| Site web | https://opennlp.apache.org/download |
La bibliothèque Apache OpenNLP[4] est une boîte à outils d'apprentissage automatique pour le traitement de texte en langage naturel dans le domaine de la linguistique informatique ou du NLP[5],[6]. La bibliothèque est écrite en Java et peut être facilement intégrée dans des projets Java ou des projets utilisant la Machine Virtuelle Java (JVM)[7].
Il prend en charge les tâches NLP les plus courantes telles que la reconnaissance de la langue, l'analyseur lexical, la segmentation des phrases, l'étiquetage de la partie du discours, l'extraction d'entités nommées, l'analyse des fragments, l'analyse syntaxique et la résolution des coréférences. Ces fonctions sont essentielles au développement de services de traitement de texte avancés. Il utilise la licence libre de la Apache Software Foundation. L'objectif d'OpenNLP est de créer une boîte à outils avancée pour les tâches susmentionnées et d'offrir une gamme de modèles préconstruits pour diverses langues[8].
Les composants inclus permettent d'effectuer la tâche de traitement linguistique correspondante, d'entraîner un modèle et, souvent, de l'évaluer. Chacun de ces composants peut être utilisé via son interface de programmation d'applications (API). En outre, chaque composant est accessible via l'interface de ligne de commande (CLI) afin de simplifier les expériences et la formation.
Détails
[modifier | modifier le code]- Identification de la langue: le «LanguageDetector» d'OpenNLP utilise un modèle entraîné. OpenNLP fournit le modèle déjà entraîné langdetect-183.bin, qui peut identifier 103 langues[9].
- Détection de phrases: Le «SentenceDetector» détermine si un point indique la fin d'une phrase ou s'il a une autre signification. Il nécessite également un modèle entraîné. OpenNLP propose des modèles pour plusieurs langues, par exemple opennlp-fr-ud-gsd-sentence-1.2-2.5.0.bin pour la détection de phrases dans des textes français[10].
- Tokénisation: Le tokéniseur décompose un texte en jetons, qui sont généralement des mots, des signes de ponctuation, des nombres, etc.
- Étiquetage des parties du discours: OpenNLP dispose d'une variété de modèles pré-entraînés pour 32 langues différentes (allemand, anglais, espagnol, portugais, danois, etc.). Ces modèles permettent d'étiqueter automatiquement un corpus de texte dans l'une de ces langues avec les balises correspondantes[11].
- Extraction d'entités nommées: Le «TokenNameFinder» identifie les objets nommés et les nombres dans le texte. Pour reconnaître les entités, un modèle spécifique est nécessaire, qui dépend de la langue et du type d'entité pour lesquels il a été entraîné. OpenNLP propose un ensemble de modèles pré-entraînés, développés à partir de plusieurs corpus librement disponibles, qui peuvent être téléchargés à partir de la page de téléchargement des modèles.
Notes et références
[modifier | modifier le code]- ↑ « Apache OpenNLP 2.5.8 released (English) », 31 mars 2026 (consulté le 31 mars 2026)
- ↑ « Apache OpenNLP 3.0.0-M2 released », 31 mars 2026 (consulté le 31 mars 2026)
- ↑ « OpenNLP 3.0.0-M2 », 31 mars 2026 (consulté le 31 mars 2026)
- ↑ (en) « Apache OpenNLP », sur opennlp.apache.org (consulté le 10 janvier 2025)
- ↑ Matthew L. Jockers et Rosamond Thalken, Text Analysis with R: For Students of Literature, Springer Nature, 30 mars 2020 (ISBN 978-3-030-39643-5, lire en ligne)
- ↑ (en) Matthew Tyson, « Traitement du langage naturel avec Apache OpenNLP », sur InfoWorld, 13 octobre 2022 (consulté le 10 janvier 2025)
- ↑ (en) « Apache OpenNLP - Building from Source », sur opennlp.apache.org (consulté le 10 janvier 2025)
- ↑ (en) Ashish Kumar et Avinash Paul, Mastering Text Mining with R, Packt Publishing Ltd, 28 décembre 2016 (ISBN 978-1-78217-470-7, lire en ligne)
- ↑ (en) « Apache OpenNLP - Language Detection Model », sur opennlp.apache.org (consulté le 10 janvier 2025)
- ↑ (en) « Apache OpenNLP - Sentence Detection Models », sur opennlp.apache.org (consulté le 10 janvier 2025)
- ↑ (en) « Apache Stanbol - OpenNLP POS Tagging Engine », sur stanbol.apache.org (consulté le 10 janvier 2025)
Liens externes
[modifier | modifier le code]- « Site web officiel » (consulté le 4 janvier 2025) (anglais)