Emotionell introspektion
I den här övningen går du bortom att dela upp text i positiva och negativa ord. Istället delar du upp texten efter var och en av de 8 emotionerna i Plutchiks känslohjul för att skapa en visualisering. Med det här tillvägagångssättet får du tydligare inblick i ordanvändningen genom att mappa till en specifik emotion, snarare än att bara klassificera som positiv eller negativ.
Med hjälp av tidytext-lexikonet "nrc" utför du en inner_join() med din text. Lexikonet "nrc" innehåller de 8 emotionerna plus termklasserna positiv och negativ. Du behöver alltså ta bort de positiva och negativa orden efter att du har utfört din inner_join(). Ett sätt att göra det är med negationen ! och grepl().
Funktionen grepl() returnerar True eller False beroende på om ett strängmönster identifieras i varje rad. I den här övningen söker du efter positiv ELLER negativ med hjälp av operatorn |, som representerar "eller" enligt exemplet nedan. Det lodräta strecket sitter oftast ovanför Enter-tangenten på tangentbordet. Eftersom negationen ! föregår grepl() vänds T och F om, så att "positive|negative" tas bort i stället för att behållas.
Object <- tibble %>%
filter(!grepl("positive|negative", column_name))
Därefter använder du count() på de identifierade orden tillsammans med pivot_wider() för att organisera dataramen.
comparison.cloud() kräver att indata har radnamn, så du behöver konvertera den till en bas-R data.frame genom att anropa data.frame() med argumentet row.names.
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.
moby_tidy <- moby %>%
# Inner join to nrc lexicon
___(___, by = c("term" = "word")) %>%
# Drop positive or negative
___(!___("___", sentiment)) %>%
# Count by sentiment and term
___(___, ___) %>%
# Pivot sentiment, using n for values
___(names_from = ___, values_from = ___, values_fill = ___) %>%
# Convert to data.frame, making term the row names
data.frame(row.names = "___")
# Examine
head(moby_tidy)