Kom igångKom igång gratis

Skapa korpusar baserade på polaritet

I den här övningen utför du steg 3 i arbetsflödet för textutvinning. Även om qdap inte är ett tidy-paket kommer du att använda mutate() för att skapa en ny kolumn baserad på den returnerade polarity-listan som representerar all polarity (det är en ledtråd) poäng. I kapitel 3 använde vi en anpassad funktion pol_subsections som enbart bygger på bas-R. I den här övningen följer vi tidy-principerna och använder filter() tillsammans med den nya funktionen pull(). Funktionen pull() fungerar på samma sätt som [[ och extraherar en enstaka variabel.

När du har separerat kommentarerna slår du ihop alla positiva respektive negativa kommentarer till två större dokument – ett för alla ord i de positiva omdömena och ett för de negativa.

Slutligen skapar du en Term Document Matrix (TDM) viktad med Term Frequency Inverse Document Frequency (TFIDF). Eftersom koden utgår från en tidy-struktur används funktioner från tm tillsammans med operatorn %>% för att hålla stilen konsekvent. Om grunderna i tm-paketet inte är bekanta kan du ta kursen Text Mining with Bag-of-Words in R. I stället för att räkna hur många gånger ett ord förekommer (frekvens) straffas överanvända termer i TDM:en, vilket minskar inflytandet från icke-informativa ord.

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.

pos_terms <- bos_reviews %>%
  # Add polarity column
  ___(polarity = ___) %>%
  # Filter for positive polarity
  ___(___) %>%
  # Extract comments column
  ___(___) %>% 
  # Paste and collapse
  ___(collapse = "___")
Redigera och kör kod