1. Učit se
  2. /
  3. Kurzy
  4. /
  5. Sentiment Analysis in R

Connected

cvičení

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().

Pokyny 1/3

undefined XP
    1
    2
    3
  • Vyextrahuj potřebné části z oz_pol.
    • Zavolej select() a deklaruj první sloupec text jako text.var (surový text) a druhý sloupec polarity odkazující na skóre polarity polarity.
  • Nyní aplikuj pol_subsections() na oz_df. Nový objekt pojmenuj all_terms.
  • Pro vytvoření all_corpus aplikuj VectorSource() na all_terms a poté předej pomocí %>% do VCorpus().