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

Škálovaný comparison cloud

Pamatuješ na „inflaci hodnocení" polaritních skóre v recenzích pronájmů? Někdy lze nový pohled na data získat tak, že skóre znovu vycentruješ na 0 a teprve pak rozdělíš korpus do podmnožin. To znamená, že některé dříve kladné komentáře mohou přejít do záporné části a naopak — protože střední hodnota se posune na 0. Toto cvičení ti ukáže, jak skóre škálovat a znovu vykreslit comparison.cloud(). Odstranění „inflace hodnocení" může přinést další zajímavé poznatky.

V předchozím cvičení jsi aplikoval/a polarity() na bos_reviews$comments a vytvořil/a comparison.cloud(). Tentokrát výsledek nejprve scale() před tím, než cloud vytvoříš. Uvidíš, jestli vizualizace odhalí něco nového!

Protože jde z velké části o opakovací cvičení, většina kódu je už připravena — doplň jen správné objekty a parametry.

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

Sentiment Analysis in R

Zobrazit kurz

Pokyny k cvičení

  • Prohlédni si část předem načteného bos_pol$all s indexováním [1:6,1:3].
  • Přidej nový sloupec s názvem scaled_polarity, ve kterém aplikuješ scale() na sloupec s polaritními skóre bos_pol$all$polarity.
  • Pro kladné komentáře použij subset() tam, kde je nový sloupec bos_reviews$scaled_polarity větší než (>) nula.
  • Pro záporné komentáře použij subset() tam, kde je nový sloupec bos_reviews$scaled_polarity menší než (<) nula.
  • Vytvoř pos_terms pomocí paste() aplikovaného na pos_comments.
  • Teď vytvoř neg_terms pomocí paste() aplikovaného na neg_comments.
  • Uspořádej sloučené dokumenty pos_terms a neg_terms do jednoho korpusu s názvem all_terms.
  • Postupuj podle obvyklého workflow balíčku tm: vnořením VectorSource() do VCorpus() aplikovaného na all_terms.
  • Vytvoř TermDocumentMatrix() z objektu all_corpus. Jde o TDM s váhováním TfIdf a základními čistícími funkcemi.
  • Převeď all_tdm na all_tdm_m pomocí as.matrix(). Pak přejmenuj sloupce v existujícím kódu na "positive" a "negative".
  • A nakonec! Aplikuj comparison.cloud() na maticový objekt all_tdm_m. Všimni si, která záporná slova se nyní objevují nejčastěji — možná to odhalí něco, co ti dosud unikalo!

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

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

# Review
___

# Scale/center & append
bos_reviews$___ <- scale(___)

# Subset positive comments
pos_comments <- subset(bos_reviews$comments, ___)

# Subset negative comments
neg_comments <- subset(bos_reviews$comments, ___)

# Paste and collapse the positive comments
pos_terms <- paste(___, collapse = " ")

# Paste and collapse the negative comments
neg_terms <- paste(___, collapse = " ")

# Organize
all_terms<- c(___, ___)

# VCorpus
all_corpus <- ___(VectorSource(___))

# TDM
all_tdm <- TermDocumentMatrix(
  ___, 
  control = list(
    weighting = weightTfIdf, 
    removePunctuation = TRUE, 
    stopwords = stopwords(kind = "en")
  )
)

# Column names
___ <- as.matrix(___)
colnames(all_tdm_m) <- c("___", "___")

# Comparison cloud
comparison.cloud(
  ___, 
  max.words = 100,
  colors = c("darkgreen", "darkred")
)
Upravit a spustit kód