Domanda

Sto cercando di formare un classificatore bayesiano con parole negative / positive estrazione da un sentimento. Esempio:

Amo questo film :))

Odio quando piove :(

L'idea è estraggo frasi positive o negative in base ai emoctions utilizzati, ma al fine di formare un classificatore e persistere nella base di dati.

Il problema è che non ho più di 1 milione di tali frasi, quindi se mi alleno parola per parola, il database andrà per un lancio. Voglio rimuovere tutti i non-rilevanti esempio parola 'io', 'questo', 'quando', 'e' in modo che il numero di volte in cui devo fare una query di database è meno.

Si prega di aiutarmi a risolvere questo problema di suggerire me modi migliori di farlo

Grazie

Altri suggerimenti

Ci sono due approcci comuni:

  1. lista fermata .
  2. POS le frasi e buttare via quelle parti del discorso che si pensa non sono interessante.

In entrambi i casi, la determinazione che parole / tag POS rilevanti può essere fatto utilizzando una misura come PMI .

Intendiamoci: le liste di arresto standard da recupero delle informazioni può o non può funzionare in sentiment analysis. Di recente ho letto un articolo (nessun riferimento, sorry) in cui è stato affermato che! e?, comunemente rimossa nei motori di ricerca, sono indizi preziosi per l'analisi sentimento. (Così maggio 'I', esp. Quando si ha anche una categoria neutra.)

Modifica : rel si può anche tranquillamente buttare via tutto ciò che si verifica solo una volta nel set di training (cosiddetto hapax legomena ). Le parole che si verificano una volta hanno poco valore le informazioni per la classificazione, ma possono prendere un sacco di spazio.

Per ridurre quantità di dati recuperati dal database, è possibile creare nel database un dizionario - una tabella che associa le parole * per i numeri ** - e di recuperare solo un vettore serie per la formazione e una frase completa per il manuale segnando un sentimento.

| * Nessuna pubblicazione scientifica mi viene in mente, ma forse è sufficiente utilizzare solo steli o lemmi invece di parole. Sarebbe ridurre la dimensione del dizionario.

| ** Se questa operazione uccide il vostro database, è possibile creare un dizionario in un'applicazione locale - che utilizza un motore di indicizzazione di testo (ad esempio, Apache Lucene) - e conservare solo il risultato nel database.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top