À propos du projet
HanLP (Han Language Processing) est une boîte à outils multilingue de traitement du langage naturel (NLP) orientée production, basée sur les deux moteurs PyTorch et TensorFlow 2.x. Le projet vise à démocratiser et déployer les technologies NLP de pointe, avec des caractéristiques telles que des fonctionnalités complètes, une précision exacte, des performances efficaces, des corpus à jour, une architecture claire et une personnalisation possible.
Couverture fonctionnelle :
- Segmentation de mots (grossière et fine)
- Étiquetage morpho-syntaxique (normes CTB, PKU, 863, etc.)
- Reconnaissance d'entités nommées (normes PKU, MSRA, OntoNotes, etc.)
- Analyse syntaxique en dépendances (SD, UD, PMT)
- Analyse syntaxique en constituants (Chinese Tree Bank)
- Analyse de dépendances sémantiques (CSDP)
- Annotation de rôles sémantiques (Chinese Proposition Bank)
- Représentation du sens abstrait (CAMR)
- Résolution de coréférence
- Similarité sémantique de textes
- Transfert de style textuel
- Extraction de mots-clés et de phrases
- Résumé automatique extractif et génératif
- Correction grammaticale de textes
- Classification de textes et analyse de sentiments
- Détection de langue
- Plongements de mots et texte à trous (cloze)
- Conversion simplifié/traditionnel, pinyin, découverte de nouveaux mots, regroupement de textes (référence à la version 1.x)
Support multilingue : grâce à des corpus multilingues à grande échelle, HanLP 2.1 prend en charge 10 tâches conjointes et plusieurs tâches individuelles sur 130 langues, dont le chinois simplifié et traditionnel, l'anglais, le japonais, le russe, le français et l'allemand.
Deux formes d'API :
1. API RESTful légère : seulement quelques Ko, adaptée au développement agile, aux applications mobiles, etc. Aucun environnement GPU requis, installation rapide. Des clients Python, Golang, Java, etc. sont fournis.
2. API native massive : repose sur des technologies d'apprentissage profond comme PyTorch et TensorFlow, adaptée aux ingénieurs NLP professionnels, aux chercheurs et aux scénarios de données massives locales. Nécessite Python 3.6 à 3.10, prend en charge Windows, recommande les systèmes de type Unix, fonctionne sur CPU, recommande GPU/TPU.
Types de modèles :
- Modèle multitâche : rapide, économe en mémoire GPU, peut effectuer plusieurs tâches en un seul appel.
- Modèle à tâche unique : plus précis, plus flexible, peut être assemblé en mode pipeline.
Capacité de personnalisation : prend en charge un dictionnaire personnalisé efficace basé sur un arbre trie, ainsi que trois règles : forcée, fusion et correction. Les effets des règles peuvent être appliqués de manière transparente aux modèles statistiques ultérieurs, pour s'adapter rapidement à de nouveaux domaines.
Format de sortie : quelle que soit l'API, le langage de développement ou la langue naturelle, la sortie est uniformément un objet Document au format JSON, compatible avec dict, contenant des champs tels que la segmentation, le POS, les entités nommées, les rôles sémantiques, la syntaxe de dépendance, la dépendance sémantique, la syntaxe en constituants, etc. Les API RESTful et native de Python prennent également en charge la visualisation basée sur une police à chasse fixe, permettant d'afficher directement les structures linguistiques dans la console.
Le projet offre également un moyen d'entraîner des modèles personnalisés pour des domaines spécifiques, et inclut une citation d'article EMNLP.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.