/ / Buon algoritmo per l'analisi dei sentimenti - algoritmo, analisi del sentiment

Buon algoritmo per l'analisi del sentimento - algoritmo, analisi del sentiment

Ho provato il classificatore naive bayes e sta funzionandomolto brutto. SVM funziona un po 'meglio ma è ancora orribile. La maggior parte dei documenti che ho letto su SVM e su naive bayes con alcune varianti (n-gram, POS ecc.) Ma tutti danno risultati vicini al 50% (gli autori di articoli parlano dell'80% e alti ma non posso ottenere lo stesso risultato su dati reali).

Esistono metodi più potenti ad eccezione dell'analisi lexixal? SVM e Bayes suppongono che le parole siano indipendenti. Questo approccio chiamato "sacco di parole". Cosa succede se supponiamo che le parole siano associate?

Ad esempio: utilizza l'algoritmo apriory per rilevare che se le frasi contengono "cattiva e orribile", allora il 70% di probabilità che la frase è negativa. Inoltre possiamo usare la distanza tra le parole e così via.

È una buona idea o sto inventando la bicicletta?

risposte:

4 per risposta № 1

Algoritmi come SVM, Naive Bayes e massimoquelli di entropia sono algoritmi di apprendimento automatico supervisionati e l'output del tuo programma dipende dal set di allenamento che hai fornito. Per l'analisi del sentimento su larga scala preferisco usare un metodo di apprendimento senza supervisione in cui è possibile determinare i sentimenti degli aggettivi raggruppando i documenti in parti orientate allo stesso modo e etichettando i cluster positivi o negativi. Ulteriori informazioni possono essere trovate da questo articolo. http://icwsm.org/papers/3--Godbole-Srinivasaiah-Skiena.pdf

Spero che questo ti aiuti nel tuo lavoro :)


3 per risposta № 2

Qui confondete un paio di concetti: né Naive Bayes né SVM sono legati all'approccio "a sacchetto di parole", né gli SVM né l'approccio BOW hanno un'ipotesi di indipendenza tra i termini.

Ecco alcune cose che puoi provare:

  • includi segni di punteggiatura nelle tue borse di parole; esp. ! e ? può essere utile per l'analisi dei sentimenti, mentre molti estrattori di funzionalità orientati alla classificazione dei documenti li buttano via
  • lo stesso vale per le parole di stop: parole come "I" e "my" possono essere indicative del testo soggettivo
  • costruire un classificatore a due stadi; per prima cosa determina se è stata espressa un'opinione, quindi se è positiva o negativa
  • prova un SVM quadratico del kernel invece di uno lineare per catturare le interazioni tra le caratteristiche.

0 per risposta № 3

Puoi trovare del materiale utile su Analisi di Sentimnetal usando Python. Questa presentazione riassume l'Analisi del sentimento come 3 semplici passaggi

  • Etichettatura dei dati
  • Pre-elaborazione e
  • Modello di apprendimento

0 per risposta № 4

L'analisi del sentiment è un'area di ricerca in corso. E ci sono molte ricerche in corso in questo momento. Per una panoramica degli approcci più recenti e di maggior successo, ti consiglio generalmente di dare un'occhiata alle attività condivise di SemEval. Di solito, ogni anno eseguono una competizione su Sentiment Analysis su Twitter. Puoi trovare il documento che descrive l'attività e i risultati per il 2016 qui (potrebbe essere un po 'tecnico): http://alt.qcri.org/semeval2016/task4/data/uploads/semeval2016_task4_report.pdf

A partire da lì, puoi dare un'occhiata ai documenti che descrivono i singoli sistemi (come indicato qui).