Traitement du langage naturel en Java (PNL) [dupliquer]
Duplicata Possible:
Java: Existe-t-il une bonne bibliothèque de traitement du langage naturel
Quelqu'un peut-il me parler d'une bibliothèque pour la PNL en java? Ce serait vraiment bien si est correctement documenté aussi. J'ai essayé de travailler avec lingpipe mais je ne suis pas capable de le comprendre complètement.
5 answers
Vous devriez essayer le Stanford - NLP. Il a de nombreux utilitaires et bibliothèques pour la PNL comme le Tagger Parties-Of-Speech, qui sont tous géniaux à utiliser et faciles à comprendre.
Il est probablement un peu tard maintenant, et je suppose que vous avez dû passer à autre chose avec votre projet. Mais vous pouvez de toute façon vérifier ce blog. Il a une série de messages sur la pnl avec java. Stanford-NLP , comme suggéré par d'autres est une excellente bibliothèque avec laquelle travailler.
La plupart des bibliothèques vous aideront dans la phase d'analyse lexicale (segmentation de phrase, tokenisation, tagging POS, parsing, etc.) afin que vous n'ayez pas à démarrer votre code à partir de zéro. Tout le meilleur !
Ce sont 2 autres bibliothèques pour la PNL que vous pouvez utiliser.
Stanford NLP Group a une combinaison efficace de modélisation linguistique sophistiquée et profonde et d'analyse de données avec des approches probabilistes et d'apprentissage automatique innovantes de la PNL.
Il y a en fait un bon Liste d'outils PNL. C'est en allemand, mais devrait fonctionner avec google translate. Mais j'en énumère néanmoins:
- Outils Mate (GPL V2)
- Il s'agit d'un logiciel de gestion de contenu.]}
- Stanford de la PNL (double licence GPL V2)
- L'arbre de noël
Si vous voulez le meilleur pour l'anglais, prenez Stanford, mais sa GPL v2. Pour pas ces langues populaires, Treetagger est meilleur (il a juste besoin d'un plus petit trainingcorpus au travail). Par exemple, vous obtenez de meilleurs résultats avec TreeTagger sur les textes allemands, ne connaissez plus l'enquête, mais si vous le voulez, je peux le rechercher. OpenNLP n'est pas aussi bon que les autres outils, mais c'est sous la licence Apache v2, que vous devriez également considérer.
J'ai fait quelques expériences avec Apache OpenNLP avec JRuby. C'est assez agréable et solide mais au moment où j'écris ce mal documenté. Si vous essayez OpenNLP, je vous suggère de lire les articles suivants:
- Mise en route avec OpenNLP (Traitement du langage naturel)
- Minage Wikipedia avec Hadoop et Pig pour le traitement du langage Naturel
- Vous avez besoin d'aide?]}
- Un Annotateur de phrase UIMA utilisant OpenNLP
La documentation pour OpenNLP peut être trouvée ici .
C'est le code de mon projet où je fais reconnaissance d'entité nommée avec OpenNLP. C'est écrit en JRuby. Les modèles OpenNLP sont stockés dans la base de données car le code s'exécute sur Heroku et vous ne pouvez pas y écrire sur le système de fichiers.