Kom igångKom igång gratis

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

Visa kurs

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 
  ___()
Redigera och kör kod