Come ottimizzare un algoritmo di analisi dei sentimenti per set di dati più grandi?

8

Sono un noob all'analisi del sentiment e ho trovato una buona risorsa per Bayesian Opinion Mining e un modo per < a href="http://danzambonini.com/self-improving-bayesian-sentiment-analysis-for-twitter/"> rendilo migliorativo . Mi chiedevo però, se l'analisi ottimale dipendesse dal set di dati fornito e dal momento che il miglioramento personale significherebbe aggiungere modelli noti al set di dati (la mia comprensione), l'applicazione non sarebbe sovraccaricata di enormi quantità di dati nel corso della tempo con sempre più modelli che vengono aggiunti al set di dati ogni giorno? Quale dovrebbe essere l'approccio corretto per rendere l'applicazione scalabile (se sto usando il termine giusto nel posto giusto)?

    
posta gentrobot 25.05.2012 - 13:34
fonte

2 risposte

1

Mi sembra che tu stia costruendo un classificatore di testo con un supervisore fase di allenamento all'inizio, in cui si assegnano le etichette manualmente. Il tuo modello sta funzionando bene (alta precisione e richiamo), quindi vuoi integrare il modello di formazione iniziale con un processo di allenamento non supervisionato su nuovi input stringhe.

Questi nuovi input avranno alcuni segnali noti (parole che hai già visto prima) così tuo il modello può fare bene il suo lavoro, ma avranno anche segnali sconosciuti (parole voi non ho visto prima). Vuoi che il tuo processo di allenamento non supervisionato associ quelle nuove parole a quelle conosciute, per "imparare". In questo modo, confidi che l'associazione tra la nuova parola e la parola conosciuta sia corretta. Perché l'elaborazione del linguaggio è così difficile, probabilmente genererai un falso positivo associazioni automaticamente che sarebbero state escluse / corrette in a ambiente sorvegliato. Quindi, facendo l'apprendimento senza sorveglianza sei rischiando di ridurre la precisione.

La tua domanda riguarda l'essere "sovraccaricata" con molti dati. Questa è una fiera preoccupazione, e dipende molto dalla dimensione dei dati, dalla scelta dell'implementazione e aspettative comportamentali del sistema. Mentre la reattività e la trattabilità di occuparsi di grandi quantità di dati è una cosa, ritengo che la precisione e il richiamo dell'algoritmo di etichettatura del sentiment è probabilmente il più grande importanza.

Nel articolo che hai collegato l'autore ha un punteggio di confidenza che causa senza supervisione associazioni da considerare solo se c'è "alta fiducia". Questo è buono, ma c'è ancora il rischio che nel tempo la precisione generale cadrà. Il tuo sistema dovrebbe essere periodicamente valutato per precisione, richiamo e riqualificazione. L'esempio "Bad Santa" nei commenti è un buon esempio. Ti suggerisco di leggere la formazione semi-supervisionata e ottenere questa etichettatura direttamente su insiemi di dati di piccole dimensioni prima di affidarti a un set di dati molto più ampio. L'elaborazione della lingua è difficile!

    
risposta data 15.04.2013 - 01:50
fonte
0

Per altre attività come parte di tag vocali , condensazione dopo auto -training ha reso il modello più piccolo e migliore! Se identifichi un problema di scalabilità, cerca in questo modo prima di provare a ottimizzare il tuo codice.

L'idea è che dopo l'auto-allenamento, tu crei in modo iterativo un modello che è inizialmente vuoto. Quindi aggiungi i punti dati al nuovo modello solo se non sono stati classificati correttamente. Ciò evita il sovradattamento e mantiene il tuo modello il più piccolo possibile.

    
risposta data 17.04.2013 - 09:04
fonte

Leggi altre domande sui tag