2010-01-14 18 views
8

Sto cercando vari strumenti di PNL per un progetto su cui sto lavorando e in questo momento ho trovato più utili i progetti di PNP Stanford.Strumenti di analisi del linguaggio naturale: cosa c'è fuori e cosa no?

Qualcuno sa se ci sono altri strumenti che sono là fuori che sarebbero utili per un interprete della lingua?

E, ancora più importante, ci sono strumenti che NON sono là fuori?

il più specificamente, sto cercando un'API per morphophoneme analisi ecc

EDIT: Io sono un accademico (uno studente che lavora su un progetto di ricerca) e sto principalmente alla ricerca di open source o, almeno, apri i progetti API.

+0

Ho già fatto una domanda più specifica, ma questa la sostituisce. –

+4

Si prega di specificare se si è interessati solo a cose gratuite o se si è universitari. Alcuni di noi vendono questo genere di cose, ma siamo stati conosciuti per essere gentili con gli studiosi. – bmargulies

risposta

6

vi consiglio di dare un'occhiata al seguente:

  1. le librerie NLP solite borse come Open NLP, LingPipe, NLTK, Gate, UIMA. Tutti questi forniscono parser e word stemmers (cioè non ti restituiscono la radice di una parola, ma la sua radice). Alcuni forniscono anche lemmatizers.
  2. siti Web che raccolgono strumenti di PNL. Questi sono solo alcuni di essi: il wiki dell'Associazione di linguistica computazionale, Language Technology World, the website of the compling dep. at Heidelberg University

io non sono a conoscenza di uno strumento che restituisce la radice di una parola, ma, come ho detto, ci sono stemmer e lemmatizers. Per la lemmatizzazione, prova Tree Tagger o Morpha. L'analisi morfofonemica è un termine non abbastanza specifico per ottenere quello che vuoi.

Una volta che si conosce più specificamente ciò che è necessario, è possibile cercare gli archivi dello Corpora List o inviare una domanda lì.

3

NTLK è un kit di strumenti interessante che consente di creare applicazioni basate su NLP. Questo può essere utilizzato per applicazioni pratiche che richiedono ad esempio la codifica POS, o che implementano semplici classificatori o estrattori di entità.

Non sono sicuro di cosa comprenda un'applicazione "language understander", tuttavia, ma questo suona come qualcosa che può essere oltre ciò che può essere [facilmente] basato su NLTK.
Leggere la domanda completamente, e il suo riferimento alla morfofonia, sembra confermare che NLTK probabilmente non servirebbe molto bene lo scopo dell'OP; a mia conoscenza NTLK non offre moduli che gestiscono il testo a questo livello. Si consiglia di verificare questo per te, tuttavia, in quanto NLTK è un progetto ampio e attivo e potrebbe aver visto aggiunte recenti in quest'area.

1

Maluuba ha appena rilasciato un'API al proprio processore di linguaggio naturale. È disponibile allo http://developer.maluuba.com.

Ci sono tre librerie scritte per esso Maluuba:

Python Library: https://github.com/maluuba/napi-python

Rubino Biblioteca: https://github.com/maluuba/napi-ruby

Java Library: https://github.com/maluuba/napi-java

Per un esempio della potenza di esso , prendi questa domanda come esempio di cosa può essere estratto:

>> client.interpret phrase: 'Set up a meeting with Bob tomorrow \ 
      night at 7 PM to discuss the TPS reports' 
=> 
    {:entities=> 
     { 
     :daterange=>[{:start=>"2012-11-15", :end=>"2012-11-16"}], 
     :title=>["meeting to discuss the tps reports"], 
     :timerange=>[{:start=>"12:00:00AM", :end=>"12:00:00AM"}], 
     :contacts=>[{:name=>"bob"}] 
     }, 
    :action=>:CALENDAR_CREATE_EVENT, 
    :category=>:CALENDAR 
    } 
Problemi correlati