Esiste una buona libreria per l'elaborazione del linguaggio naturale [chiusa]


90

Ho bisogno di implementare un po 'di PNL nel mio modulo attuale. Sto cercando una buona libreria che possa aiutarmi qui. Mi sono imbattuto in "LingPipe" ma non sono riuscito a seguire completamente come usarlo.
Fondamentalmente, abbiamo bisogno di implementare una funzionalità in cui l'applicazione possa decifrare le istruzioni del cliente (istruzioni di consegna) digitate in un inglese semplice. Per esempio:

  • Prenderò domani a mezzogiorno
  • Richiedi la consegna dopo il 10 giugno
  • Si prega di non inviare prima di mercoledì
  • Aggiungi altre 10 unità di XYZ all'ordine

Risposte:


78

LingPipe è molto carino e ben documentato. Puoi anche dare un'occhiata a:

L'ultima in particolare potrebbe interessarti, anche se non so se ci siano implementazioni Java prontamente disponibili (e forse è comunque una pistola troppo grande per il tuo problema :-)

L'idea di Paul di utilizzare un DSL è probabilmente più facile e veloce da implementare e più affidabile da utilizzare per i tuoi clienti. Anch'io consiglierei di esaminarlo prima.


1
Ho presentato la mia relazione sulla base degli input che ho raccolto da questo forum e da altri luoghi in rete. Ho anche suggerito le altre opzioni che hai suggerito e il Biz ha deciso di tenerlo in attesa (ora inizia la ricerca e sviluppo per trovare il miglior candidato possibile).
Vini

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

1
Dai un'occhiata a MALLET: mallet.cs.umass.edu
Samik R

11

Penso che la scelta o meno di utilizzare la PNL possa dipendere dai requisiti specifici del proprio sistema. È necessario accettare l'inglese in formato libero o verrà accettato solo un certo insieme di istruzioni? Potrebbe essere più facile creare un linguaggio specifico per il dominio che supporti ciò che i tuoi utenti devono trasmettere piuttosto che eseguire un'analisi semantica completa del testo in formato libero.

Nello spazio Java, Groovy ha un supporto per la creazione di DSL .


Di seguito sono riportate alcune righe del documento dei requisiti: '.. e l'utente dovrebbe essere in grado di inserire una nota o un'istruzione speciale in un inglese semplice. Il sistema dovrebbe quindi analizzare le istruzioni dell'utente e compilare i campi pertinenti (se presenti) dell'ordine con i valori corretti. "
Vini

10
Questo è un requisito piuttosto vago. Ad esempio, la nota deve essere grammaticalmente corretta? Non sono sicuro che le parti che hanno elaborato 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 sacro graal 'della PNL. È dubbio per me che troverai un pacchetto che può semplicemente "fare questo" per te: probabilmente è molto più realistico fornire all'utente un'interfaccia utente in cui possono specificare un numero limitato di istruzioni speciali.
Paul Morie

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.