ÎncepețiÎncepe gratuit

Copleșit de stres!

În acest exercițiu vei ajusta cuvintele negative pentru a reflecta mai bine textul analizat, apoi vei compara scorurile polarity() obținute cu lexiconul implicit și cu unul personalizat.

O melodie populară a trupei Twenty One Pilots se numește "Stressed Out". Dacă parcurgi versurile, vei observa că piesa evocă nostalgia tinereții. Cei mai mulți ascultători ar spune că polaritatea este negativă: versurile menționează în mod repetat stresul, temerile și prefăcătoria.

Hai să comparăm versurile folosind atât lexiconul de subiectivitate implicit, cât și unul personalizat.

Prima etapă este să verifici că lexiconul de subiectivitate key.pol nu conține deja termenul pe care vrei să-l adaugi. O modalitate de verificare este cu grep(). Funcția grep() returnează rândurile care conțin caractere ce corespund unui șablon de căutare. Iată un exemplu de utilizare la indexare:

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

După ce confirmi că termenul de argou sau cuvântul nou nu se află deja în lexiconul key.pol, trebuie să-l adaugi. Codul de mai jos folosește sentiment_frame() pentru a construi noul lexicon. În interiorul funcției, sentiment_frame() primește vectorul original de cuvinte pozitive, positive.words. Apoi, cuvintele originale negative.words sunt concatenate cu "smh" și "kappa", ambele considerate argou negativ. Deși poți declara explicit ponderile pozitive și negative, valorile implicite sunt 1 și -1, deci nu sunt incluse mai jos.

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

Acum ești pregătit să aplici funcția de polaritate, care va face referire la lexiconul de subiectivitate personalizat!

Acest exercițiu face parte din cursul

Analiza sentimentelor în R

Vezi cursul

Instrucțiuni pentru exercițiu

Am creat stressed_out, care conține versurile melodiei "Stressed Out" de Twenty One Pilots.

  • Aplică polarity() pe stressed_out pentru a vedea scorul implicit.
  • Verifică în key.pol dacă există cuvinte care conțin "stress". Folosește grep() pentru a indexa data frame-ul, căutând în coloana x.
  • Creează custom_pol ca un nou data frame de sentiment.
  • Reaplicați polarity() pe stressed_out cu parametrul suplimentar polarity.frame = custom_pol, pentru a observa cum noile cuvinte modifică scorul și îl fac să reflecte mai fidel conținutul melodiei.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# 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 = ___)
Editează și rulează codul