Împarte și cucerește: Folosirea polarității pentru un nor de comparație
Acum că ai văzut cum poate fi folosită polaritatea pentru a împărți un corpus, hai să o facem! Acest cod te va ghida prin împărțirea unui corpus pe baza sentimentului, astfel încât să poți examina informațiile din subseturi în loc să le privești în ansamblu.
Sesiunea ta R conține oz_pol, creat prin aplicarea funcției polarity() asupra romanului „Vrăjitorul din Oz".
Pentru simplitate, am creat o funcție personalizată numită pol_subsections(), care împarte corpusul după scorul de polaritate. Funcția primește un data frame în care fiecare rând reprezintă o propoziție sau un document din corpus. Data frame-ul este filtrat păstrând rândurile cu valori de polaritate mai mari sau mai mici decât 0. Propozițiile pozitive și negative – adică cele cu polaritate diferită de zero – sunt concatenate cu parametrul collapse, astfel încât termenii să fie grupați într-un singur corpus. În final, cele două documente sunt unite într-un singur vector cu două documente distincte.
pol_subsections <- function(df) {
x.pos <- subset(df$text, df$polarity > 0)
x.neg <- subset(df$text, df$polarity < 0)
x.pos <- paste(x.pos, collapse = " ")
x.neg <- paste(x.neg, collapse = " ")
all.terms <- c(x.pos, x.neg)
return(all.terms)
}
Acum ai eliminat propozițiile neutre și vrei să te concentrezi pe organizarea textului rămas. În acest exercițiu folosim din nou operatorul %>% pentru a transmite obiecte către funcții. După o curățare simplă, folosește comparison.cloud() pentru a crea vizualizarea.
Acest exercițiu face parte din cursul
Analiza sentimentelor în R
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
oz_df <- oz_pol$all %>%
# Select text.var as text and polarity
___(text = ___, polarity = ___)
# Apply custom function pol_subsections()
all_terms <- ___(___)
all_corpus <- all_terms %>%
# Source from a vector
___() %>%
# Make a volatile corpus
___()