2009-05-15 19 views
86

Ho bisogno di implementare alcuni PNL nel mio modulo corrente. Sto cercando una buona libreria che possa aiutarmi qui. Mi sono imbattuto in "LingPipe" ma non sono riuscito a seguire completamente come usarlo.
Fondamentalmente, è necessario implementare una funzionalità in cui l'applicazione può decifrare le istruzioni del cliente (istruzioni di consegna) digitate in inglese. Ad esempio:Esiste una buona libreria di elaborazione del linguaggio naturale

  • riprenderà alle ore 12.00 di domani
  • Richiesta di consegna dopo 10 Giugno
  • prega di non inviare prima di Mercoledì
  • aggiungere ulteriori 10 unità di XYZ all'ordine
+0

vedere http://stackoverflow.com/questions/22904025/ java-or-python per l'elaborazione della lingua naturale – alvas

risposta

77

LingPipe è molto bello e ben documentato. Si può anche dare un'occhiata a:

L'ultimo speci potrebbe essere di tuo interesse, anche se non so se ci sono eventuali implementazioni Java prontamente disponibili (e forse è troppo grande per il tuo problema comunque :-)

L'idea di Paul di usare una DSL è probabilmente più facile e veloce da implementare e più affidabile da usare per i tuoi clienti. Anche io consiglierei di esaminarlo per primo.

+1

Ho presentato il mio rapporto in base agli input che ho raccolto da questo forum e da altri luoghi sulla rete. Ho anche suggerito le altre opzioni che hai suggerito e il Biz ha deciso di tenerlo in sospeso (ora inizia la ricerca e lo sviluppo per trovare il miglior candidato possibile). – Vini

+1

Se confronti LingPipe e gli altri che hai elencato quale preferisci? Chiedo questo non specifico solo per la domanda di @Winnie, lo chiedo per scopi generali. – kamaci

+1

Check out MALLET: mallet.cs.umass.edu –

11

Penso che scegliere o meno di utilizzare la PNL possa dipendere dai requisiti specifici del proprio sistema. È necessario che l'inglese in formato libero sia accettato o verrà accettata solo una determinata serie di istruzioni? Potrebbe essere più semplice creare un che supporti ciò che gli utenti devono trasmettere piuttosto che un'analisi semantica completa di testo in formato libero.

Nello spazio Java, Groovy ha il supporto per building DSLs.

+0

Ecco alcune righe del documento del requisito: '.. e l'utente dovrebbe essere in grado di inserire una nota o un'istruzione speciale n in inglese semplice. Il sistema dovrebbe quindi analizzare l'istruzione utente e compilare i campi pertinenti (se presenti) dell'ordine con i valori corretti. " – Vini

+9

Questo è un requisito piuttosto vago. Ad esempio, la nota deve essere grammaticalmente corretta? Non sono sicuro che le parti che hanno avuto i requisiti abbiano familiarità con lo stato della PNL, ma il problema che hanno descritto è essenzialmente la comprensione della lettura o la comprensione del linguaggio naturale, che è uno dei problemi descritti come ' il santo graal 'della PNL. Per me è dubbio che troverai un pacchetto che può semplicemente "fare questo" per te - probabilmente è molto più realistico fornire all'utente un'interfaccia in cui è possibile specificare un numero limitato di istruzioni speciali. –

Problemi correlati