Emocionální introspekce
V tomto cvičení jdeš za hranice rozdělování textu na pozitivní a negativní jazyk. Místo toho rozdělíš text podle každé z 8 emocí z Plutchikova kola emocí a vytvoříš vizualizaci. Tento přístup ti poskytne větší přehled o použití slov, protože je mapuješ na konkrétní emoci, nikoli jen na pozitivní nebo negativní hodnocení.
Pomocí subjektivitního lexikonu tidytext, konkrétně „nrc", provedeš inner_join() se svým textem. Lexikon „nrc" obsahuje 8 emocí plus třídy termínů pro pozitivní a negativní výrazy. Po provedení inner_join() proto budeš muset pozitivní a negativní slova odstranit. Jedním ze způsobů je použití negace ! spolu s funkcí grepl().
Funkce grepl() ("Global Regular Expression Print Logical") vrátí hodnotu True nebo False podle toho, zda byl daný vzor nalezen v každém řádku. V tomto cvičení budeš hledat pozitivní NEBO negativní výrazy pomocí operátoru |, který představuje „nebo", jak ukazuje příklad níže. Tento svislý znak se na klávesnici obvykle nachází nad klávesou Enter. Protože negace ! předchází funkci grepl(), hodnoty T a F se prohodí, takže výrazy "positive|negative" budou odstraněny, nikoli ponechány.
Object <- tibble %>%
filter(!grepl("positive|negative", column_name))
Následně použiješ count() na identifikovaná slova spolu s pivot_wider() pro uspořádání datového rámce.
comparison.cloud() vyžaduje, aby vstupní data měla názvy řádků, takže je budeš muset převést na základní R data.frame zavoláním data.frame() s argumentem row.names.
Toto cvičení je součástí kurzu
Sentiment Analysis in R
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
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)