Dela och bemästra: Använd polaritet för ett jämförelsemoln
Nu när du har sett hur polaritet kan användas för att dela upp ett korpus är det dags att prova! Den här koden guidar dig genom att dela upp ett korpus baserat på sentiment, så att du kan undersöka informationen i delmängder i stället för som en helhet.
Din R-session innehåller oz_pol, som skapades genom att tillämpa polarity() på "The Wonderful Wizard of Oz."
För enkelhets skull har vi skapat en enkel anpassad funktion kallad pol_subsections(), som delar upp korpusen efter polaritetspoäng. Funktionen tar emot en dataram där varje rad är en mening eller ett dokument i korpusen. Datarammen delas upp baserat på om polaritetsvärdet är större eller mindre än 0. Sedan slås de positiva och negativa meningarna – alltså de med polärt värde – ihop med parametern collapse så att termerna grupperas till ett enda korpus. Slutligen sammanfogas de två dokumenten till en vektor med två separata 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)
}
Nu har du tagit bort de neutrala meningarna och vill fokusera på att organisera den återstående texten. I den här övningen använder vi operatorn %>% igen för att skicka objekt vidare till funktioner. Efter enkel rensning använder du comparison.cloud() för att skapa visualiseringen.
Den här övningen är en del av kursen
Sentimentanalys i R
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
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
___()