IniziaInizia gratis

Stressed Out!

Qui regolerai le parole negative per adattarle al testo specifico. Poi confronterai i punteggi polarity() di base e personalizzati.

Una canzone famosa dei Twenty One Pilots si intitola "Stressed Out". Se scorri il testo, noterai che parla di nostalgia giovanile. Nel complesso, la maggior parte delle persone direbbe che la polarità è negativa. I versi citano ripetutamente stress, paure e finzioni.

Confrontiamo il testo usando il lessico di soggettività predefinito e anche uno personalizzato.

Per iniziare, devi verificare che il lessico di soggettività key.pol non contenga già il termine che vuoi aggiungere. Un modo per controllare è con grep(). La funzione grep() restituisce la riga che contiene i caratteri che corrispondono a un pattern di ricerca. Ecco un esempio usato durante l'indicizzazione.

data_frame[grep("search_pattern", data_frame$column), ]

Dopo aver verificato che lo slang o la nuova parola non sia già presente nel lessico key.pol, devi aggiungerla. Il codice seguente usa sentiment_frame() per costruire il nuovo lessico. Nel codice, sentiment_frame() accetta il vettore originale delle parole positive, positive.words. Poi le negative.words originali vengono concatenate con "smh" e "kappa", entrambe considerate slang negativo. Anche se puoi specificare i pesi positivo e negativo, il default è 1 e -1, quindi non sono inclusi sotto.

custom_pol <- sentiment_frame(positive.words, c(negative.words, "hate", "pain"))

Ora sei pronto ad applicare la polarità e farà riferimento al lessico di soggettività personalizzato!

Questo esercizio fa parte del corso

Sentiment Analysis in R

Visualizza il corso

Istruzioni dell'esercizio

Abbiamo creato stressed_out, che contiene il testo della canzone "Stressed Out" dei Twenty One Pilots.

  • Usa polarity() su stressed_out per vedere il punteggio predefinito.
  • Controlla key.pol per eventuali parole che contengono "stress". Usa grep() per indicizzare il data frame cercando nella colonna x.
  • Crea custom_pol come nuovo data frame di sentiment.
  • Applica di nuovo polarity() a stressed_out con il parametro aggiuntivo polarity.frame = custom_pol per confrontare come le nuove parole cambiano il punteggio verso una rappresentazione più accurata della canzone.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# stressed_out has been pre-defined
head(stressed_out)

# Basic lexicon score
___(___)

# Check the subjectivity lexicon
___[___("stress", x)]

# New lexicon
custom_pol <- ___(___, c(negative.words, "___", "___"))

# Compare new score
___(___, polarity.frame = ___)
Modifica ed esegui il codice