Začněte nyníZačněte zdarma

Rozděl a panuj: použití polarity pro srovnávací cloud

Teď, když víš, jak lze polaritu využít k rozdělení korpusu, pojďme si to vyzkoušet! Tento kód tě provede rozdělením korpusu podle sentimentu, abys mohl/a nahlédnout do informací v podmnožinách místo celkového pohledu.

V R session máš k dispozici oz_pol, který vznikl aplikováním polarity() na knihu "The Wonderful Wizard of Oz".

Pro zjednodušení jsme vytvořili vlastní funkci pol_subsections(), která rozdělí korpus podle skóre polarity. Funkce přijme datový rámec, kde každý řádek představuje větu nebo dokument korpusu. Datový rámec je poté rozdělen na části s polaritou větší nebo menší než 0. Kladné a záporné věty (tedy věty s nulovou polaritou jsou vynechány) jsou spojeny pomocí parametru collapse, takže výrazy tvoří jediný korpus. Nakonec jsou oba dokumenty zřetězeny do jediného vektoru dvou samostatných dokumentů.

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)
}

Neutrální věty jsou nyní vynechány a soustředíš se na uspořádání zbývajícího textu. V tomto cvičení opět používáme operátor %>% k předávání objektů do funkcí. Po jednoduchém vyčištění vytvoříš vizualizaci pomocí comparison.cloud().

Toto cvičení je součástí kurzu

Sentiment Analysis in R

Zobrazit kurz

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

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 
  ___()
Upravit a spustit kód