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[6].
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
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[7].
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[8].
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[9].
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.