2010-08-11 3 views
8

Puoi mostrarmi un semplice esempio utilizzando http://www.nltk.org/code per determinare se una stringa su un umore felice o turbato?Posso usare NLTK per determinare se un commento è positivo o negativo?

+0

Possibilmente. Dovresti investigare le funzioni del classificatore; dato un set di allenamento, potresti essere in grado di classificare l'umore come positivo o negativo. –

+0

Vedere anche http://stackoverflow.com/questions/2162718/python-nltk-code-snippet-to-train-a-classifier-naive-bayes-using-feature-freque http://stackoverflow.com/questions/ 1082789/simple-sentiment-analysis http://stackoverflow.com/questions/573768/sentiment-analysis-for-twitter-in-python http://stackoverflow.com/questions/2832394/sentiment-analysis-with-nltk- python-for-frasi-using-sample-data-or-webservice –

risposta

0

Nopey.

Questo è un compito che va ben oltre le capacità di NLTK o di qualsiasi parser grammaticale noto o realisticamente immaginabile. Guarda lo NLTK Book per vedere quali tipi di attività è possibile eseguire, che sono molto, molto lontani dal tuo scopo dichiarato.

Come esempio a buon mercato:

Ho apprezzato molto utilizzando la carta per addestrare il mio cane.

analizzare che con NLTK e si può ottenere

[('I', 'PRP'), ('really', 'RB'), ('enjoyed', 'VBD'), 
('using', 'VBG'), ('your', 'PRP$'), ('paper', 'NN'), 
('to', 'TO'), ('train', 'VB'), ('my', 'PRP$'), ('dog', 'NN')] 

Dove l'albero di analisi mi avrebbe detto che 'goduto' è il centro verbo (tempo passato) della frase semplice. Godere di qualcosa va bene. Allenare qualcosa è generalmente una buona cosa. Gerundi, nomi, comparativi e simili sono relativamente neutrali. Quindi dai un buono punteggio di 0,90.

Eccetto che intendo davvero che o colpirò il mio cane con il vostro foglio o lascerei uscire il foglio sulla carta che probabilmente considereresti una cosa non buona.

Assumere una persona per questo compito di riconoscimento.

Aggiunto per coloro che immaginano che classificatori anche addestrati sono di grande utilità:

adesso questa vera e propria entrata da una revisione corpus cliente reale utilizzando qualsiasi classificatore ti piace addestrati su qualsiasi set di dati che ti piace:

Questa fotocamera continua a autofocus nella modalità automatica con un suono ronzante che non può essere interrotto . Sarebbe davvero buono se hanno dato un'opzione a fermare questo autofocussing. Se si desidera che contenga la data e l'ora sull'immagine , è solo tramite il loro software che legge la data dell'immagine e il tempo dai metadati dell'immagine. Quindi se si utilizza il proprio lettore di schede e le immagini di copia - si deve ancora una volta aprirli tramite il loro software a inserire la data e l'ora. Anche in questo, non c'è un modo diretto per aggiungere la data e l'ora - devi dire 'stampa immagini' in una diversa directory in cui c'è un'opzione per specificare la data e l'ora . Anche il minimo dei frullati distorce completamente l'immagine. Le immagini dell'interno non erano così chiare. Devi arrivare a avere il flash acceso per ottenerlo anche se la tua stanza è ben illuminata. Il copriobiettivo è davvero fastidioso. i filmati clip occupati avranno sempre un po 'di rumore in - non è possibile evitarlo.

La peggiore classificazione dell'umore che ho ottenuto era "totalmente equivoca" eppure gli esseri umani possono facilmente determinare che questo è tutt'altro che gratuito.Questo non era un dato scelto casualmente, piuttosto uno che è stato selezionato per pregiudizi negativi senza "odio" o "suxz" o simili.

+2

vedi anche http://en.wikipedia.org/wiki/Sentiment_analysis – msw

+2

Non direi che questo è oltre NLTK. Il mio primo pensiero è stato l'analisi del sentimento, a cui ti sei collegato. Dato un corpus di addestramento considerevole, potresti addestrare un classificatore per darti una discreta approssimazione di "umore". – Cerin

+0

@Chris S: Ma non è quello che la domanda ha posto; ha chiesto un semplice esempio per il quale non ce ne sono. Persino i classificatori cadono sul reale input testuale come i vari corpora collegati da Wikipedia. Per un dominio in cui i semplici dichiarazioni sono ancora fastidiosi, far fronte a sfumature, sarcasmo, implicazioni e scherno con deboli lodi è ** veramente ** difficile. – msw

4

NLTK non può fuori dalla scatola, ma se stai cercando qualche ricerca correlata su quella zona, dai un'occhiata a questo articolo su Offensive Language Detection. Gli stessi metodi potrebbero essere adattati per rilevare commenti che non siano offensivi/non offensivi, ma invece felici/infelici. Il pacchetto software primario utilizzato in questo progetto per la classificazione del testo è denominato WEKA e utilizza più classificatori, formati su esempi precedenti, per determinare se la lingua è offensiva o meno (e in questo metodo utilizza una soglia regolabile).

0

Stai cercando una tecnica che utilizza un classificatore di apprendimento automatico per determinare se una parte di testo è positiva o negativa. Ci sono stati diversi tentativi da parte di un certo numero di gruppi di ricerca (ad esempio http://research.yahoo.com/pub/2387 e http://lingcog.iit.edu/doc/appraisal_sentiment_cikm.pdf) che possiamo ottenere un'accuratezza dell'80% - 90% per determinare se una recensione di un prodotto è positiva o negativa.

A causa della brevità della domanda, non è ovvio per me stabilire se una recensione del prodotto sia positiva o negativa sia la stessa attività che si sta tentando di eseguire, o semplicemente un'attività correlata, ma suggerirei di iniziare semplice con la classificazione bag-of-words con un classificatore bayesiano (che NLTK dovrebbe essere in grado di gestire), e quindi migliorare le tue tecniche da lì a seconda di come la precisione si rivela.

Sfortunatamente, non ho mai usato NLTK (né Python per questo) quindi non posso darti un esempio di codice su come usare NLTK per questo.

+0

Il libro "Natural Language Processing" di NLTK include un esempio di classificazione del testo in merito alla sua positività o meno. La domanda e l'applicazione dell'OP potrebbero essere troppo sottili per gli algoritmi discussi e dimostrati, ma sarebbe un inizio. – winwaed

Problemi correlati