Skalat jämförelsemoln
Kommer du ihåg "betygsinfationen" i polaritetspoängen för hyresomdömena? Ibland kan ett annat sätt att hitta insikter vara att skala om poängen till 0 och sedan dela upp korpuset. Det innebär att vissa tidigare positiva kommentarer kan hamna i den negativa delen, eller tvärtom, eftersom medelvärdet ändras till 0. I den här övningen skalar du om poängen och ritar sedan om comparison.cloud(). Att ta bort betygsinfationen kan ge ytterligare insikter.
Tidigare tillämpade du polarity() på bos_reviews$comments och skapade ett comparison.cloud(). I den här övningen använder du scale() på resultatet innan du skapar comparison.cloud(). Se om det ger en annorlunda bild i visualiseringen!
Eftersom det här till stor del är en repetitionsövning finns mycket av koden redan på plats – fyll bara i rätt objekt och parametrar!
Den här övningen är en del av kursen
Sentimentanalys i R
Övningsinstruktioner
- Granska ett avsnitt av det förinstallerade
bos_pol$allgenom att indexera med[1:6,1:3]. - Lägg till en ny kolumn kallad
scaled_polaritydärscale()tillämpas på polaritetspoängkolumnenbos_pol$all$polarity. - För positiva kommentarer: använd
subset()där den nya kolumnenbos_reviews$scaled_polarityär större än (>) noll. - För negativa kommentarer: använd
subset()där den nya kolumnenbos_reviews$scaled_polarityär mindre än (<) noll. - Skapa
pos_termsmedpaste()påpos_comments. - Skapa nu
neg_termsmedpaste()påneg_comments. - Organisera de ihopslagna dokumenten
pos_termsochneg_termsi ett enda korpus kallatall_terms. - Följ det vanliga
tm-flödet genom att kapslaVectorSource()inutiVCorpus()och tillämpa det påall_terms. - Skapa
TermDocumentMatrix()med objektetall_corpus. Observera att detta är en TfIdf-viktad TDM med grundläggande rensningsfunktioner. - Konvertera
all_tdmtillall_tdm_mmedas.matrix(). Byt sedan namn på kolumnerna i den befintliga koden till"positive"och"negative". - Slutligen! Tillämpa
comparison.cloud()på matrisobjektetall_tdm_m. Lägg märke till de nya vanligaste negativa orden – kanske avslöjar det en ny och oväntad insikt!
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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")
)