2009-10-31 23 views
6

Sto cercando di estrarre i nomi e luoghi da molto brevi sequenze di testo di esempioDevo usare LingPipe o NLTK per estrarre nomi e luoghi?

 
"cardinals vs jays in toronto" 
" Daniel Nestor and Nenad Zimonjic play Jonas Bjorkman w/ Kevin Ullyett, paris time to be announced" 
"jenson button - pole position, brawn-mercedes - monaco". 

Questi dati è attualmente in un database MySQL, e io (più o meno) hanno un record separato per ogni atleta, anche se i nomi a volte vengono scritti errori, ecc.

Vorrei estrarre gli atleti e le località. Di solito lavoro in PHP, ma non sono stato in grado di trovare una libreria per l'estrazione delle entità (e potrei voler approfondire alcune NLP e ML in futuro).

Da quello che ho trovato, e LingPipeNLTK sembrano essere il più consigliato, ma io non riesco a capire se uno dei due sarà davvero soddisfare il mio scopo, o se qualcos'altro sarebbe meglio.

Non ho programmato né in Java né in Python, quindi prima di iniziare a imparare nuove lingue, spero di avere qualche consiglio su quale strada seguire, o su altri consigli.

+0

"... un tavolo separato per ogni atleta ..." forse intendi un _record_ per ogni atleta? (Sarebbe un sacco di tavoli altrimenti ...) – mjv

+0

sì! lingue/moduli sarebbero l'ultimo dei miei problemi se avessi un tavolo separato per ogni atleta! Grazie per la segnalazione. – pedalpete

risposta

4

Quello che stai descrivendo è named entity recognition. Quindi suggerirei di verificare l'altro questions riguardo questo argomento se non li hai già visti. This sembra la risposta più utile per me.

Non riesco a commentare se NLTK o LingPipe siano più adatti per questo compito, anche se osservando le risposte sembra che ci siano parecchie altre risorse scritte in Java.

Un vantaggio dell'utilizzo di NLTK è che Python è molto accessibile come lingua. L'altro vantaggio è che lo NLTK book (che è disponibile gratuitamente) offre un'introduzione sia a Python che a NLTK allo stesso tempo, il che sarebbe utile per voi.