J'ai besoin d'implémenter un peu de PNL dans mon module actuel. Je recherche une bonne bibliothèque qui peut m'aider ici. Je suis tombé sur «LingPipe» mais je n'ai pas pu suivre complètement comment l'utiliser.
Fondamentalement, nous devons implémenter une fonctionnalité où l'application peut déchiffrer les instructions client (instructions de livraison) tapées en anglais clair. Par exemple:
- Retrait à midi demain
- Demander une livraison après le 10 juin
- Merci de ne pas envoyer avant mercredi
- Ajouter 10 unités supplémentaires de XYZ à la commande
Réponses:
LingPipe est très agréable et bien documenté. Vous pouvez également consulter:
Le dernier en particulier pourrait vous intéresser, même si je ne sais pas s'il existe des implémentations Java facilement disponibles (et peut-être que c'est peut-être trop gros pour votre problème de toute façon :-)
L'idée de Paul d'utiliser un DSL est probablement plus facile et plus rapide à mettre en œuvre, et plus fiable à utiliser pour vos clients. Je recommanderais moi aussi d’examiner cela en premier.
la source
Je pense que le choix d'utiliser ou non la PNL dépendra des exigences spécifiques de votre système. Est-il obligatoire d'accepter l'anglais de forme libre ou est-ce que seul un certain ensemble d'instructions sera accepté? Il peut être plus facile de créer un langage spécifique à un domaine qui prend en charge ce que vos utilisateurs doivent transmettre que de faire une analyse sémantique complète du texte de forme libre.
Dans l'espace Java, Groovy prend en charge la création de DSL .
la source
Pour les autres langages JVM, voir
la source