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
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 = "___")