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?
risposta
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.
vedi anche http://en.wikipedia.org/wiki/Sentiment_analysis – msw
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
@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
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).
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.
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
Pattern è qualcosa che vale anche la prova: puoi vedere due esperimenti di estrazione di opinioni direttamente nella homepage del progetto.
- 1. Come posso verificare se un numero è positivo o negativo in C#?
- 2. Controllare se un numero è positivo o negativo utilizzando operatori bit a bit
- 3. Numero casuale positivo o negativo JavaScript
- 4. Come posso verificare se un intero con segno è positivo?
- 5. Recupera un angolo positivo o negativo da 3 punti
- 6. Determinare se un comando PowerShell ha avuto esito positivo
- 7. Funzione matematica Java per convertire da positivo int a negativo e negativo a positivo?
- 8. jQuery .submit() trigger di esito positivo o negativo
- 9. Inserire i dati nel DB MySql e visualizzarli se l'inserimento ha esito positivo o negativo
- 10. Devo usare LingPipe o NLTK per estrarre nomi e luoghi?
- 11. Richiamare un exe da PowerShell e ottenere feedback in caso di esito positivo o negativo
- 12. Determinare se char è un numero o una lettera
- 13. Determinare se O/S è Windows 7
- 14. Come posso usare Perl per determinare se il contenuto di due file è identico?
- 15. Come si converte un numero positivo in negativo?
- 16. Regex - Combinazione di look positivo e negativo
- 17. Come posso determinare se un metodo astratto è implementato?
- 18. aggiornamento positivo al valore negativo in mysql
- 19. Positivo/lookahead negativo con grep e perl
- 20. determinare se mysql o percona o mariaDB
- 21. Determinare se una parola è un nome o meno
- 22. Determinare se un feed è Atom o RSS
- 23. Come determinare se un triangolo Delaunay è interno o esterno?
- 24. Posso determinare se una stringa è un ObjectID MongoDB?
- 25. Posso determinare se un KeyEventArg è una lettera o un numero?
- 26. Determinare se un metodo è sincrono o asincrono
- 27. Come posso determinare se un file è bloccato usando VBS?
- 28. Come posso determinare se un file è vuoto?
- 29. Convertire un numero positivo a negativo in C#
- 30. come cambiare un numero positivo in negativo e viceversa?
Possibilmente. Dovresti investigare le funzioni del classificatore; dato un set di allenamento, potresti essere in grado di classificare l'umore come positivo o negativo. –
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 –