2009-05-15 6 views
86

J'ai besoin d'implémenter du PNL dans mon module actuel. Je cherche 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 mettre en œuvre une fonctionnalité où l'application peut déchiffrer les instructions du client (instructions de livraison) tapé en anglais. Par exemple:Existe-t-il une bonne bibliothèque de traitement en langage naturel?

  • ramassera à 12h00 demain
  • livraison de demande après le 10 Juin
  • S'il vous plaît ne pas envoyer avant le mercredi
  • Ajouter 10 autres unités de XYZ à l'ordre
+0

voir http://stackoverflow.com/questions/22904025/ java-ou-python-pour-langage-naturel-traitement – alvas

Répondre

77

LingPipe est très agréable et bien documenté. Vous pouvez également jeter un oeil à:

Le dernier spécifique Cela peut vous intéresser, bien que je ne sache pas s'il existe des implémentations Java facilement disponibles (et peut-être que c'est trop gros pour votre problème :-)

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. Moi aussi, je recommande de regarder dans ce premier.

+1

J'ai présenté mon rapport basé sur les contributions que j'ai recueillies de ce forum et d'autres endroits sur le net. J'ai également suggéré les autres options que vous avez suggérées et le Biz a décidé de garder ceci en suspens (Maintenant commence la R & D pour trouver le meilleur candidat possible). – Vini

+1

Si vous comparez LingPipe et d'autres que vous avez énumérés, lequel préférez-vous? Je demande ceci non seulement spécifique pour la question de @ Winnie, je le demande à des fins générales. – kamaci

+1

Découvrez MALLET: mallet.cs.umass.edu –

11

Je pense que si vous choisissez ou non d'utiliser NLP peut dépendre des exigences spécifiques pour votre système. Est-ce une exigence que l'anglais libre doit être accepté, ou est-ce que seulement une certaine série d'instructions sera acceptée? Il peut être plus simple de créer un qui prend en charge ce que vos utilisateurs doivent transmettre plutôt que de faire une analyse sémantique complète du texte libre.

Dans l'espace Java, Groovy prend en charge building DSLs.

+0

Voici quelques lignes du document d'exigence: '.. et l'utilisateur devrait pouvoir entrer une note ou une instruction spéciale n en anglais clair. Le système devrait alors analyser l'instruction de l'utilisateur et remplir les champs appropriés (le cas échéant) de la commande avec les valeurs correctes. " – Vini

+9

C'est une exigence plutôt vague: par exemple, la note doit-elle être grammaticalement correcte?Je ne sais pas si les parties qui ont établi les exigences sont familières avec l'état de la PNL, mais le problème qu'elles ont décrit est essentiellement la compréhension de la lecture, ou la compréhension du langage naturel, qui est l'un des problèmes décrits comme ' le Saint Graal 'de la PNL. Il est douteux pour moi que vous trouviez un paquet qui puisse simplement «faire ceci» pour vous - il est probablement beaucoup plus réaliste de donner à l'utilisateur une interface utilisateur où il peut spécifier un nombre limité d'instructions spéciales. –

Questions connexes