Porovnání sloupcových grafů
Dalším způsobem, jak analyzovat text, je zjistit, jakou část dokumentu tvoří pozitivní nebo negativní slova. Například recenze restaurace může obsahovat pozitivní hodnocení jako „jídlo bylo dobré", ale zároveň pokračovat slovy „restaurace byla špinavá, personál nezdvořilý a parkování otřesné." V takovém případě tě bude zajímat, jaký podíl textu připadá na pozitivní a jaký na negativní jazyk – v tomto příkladu by negativní procento bylo výrazně vyšší.
Jednou z metod, jak toho dosáhnout, je spočítat pozitivní a negativní slova pomocí count() a výsledek vydělit celkovým počtem identifikovaných subjektivních slov. V příkladu s restaurací by „good" se počítalo jako 1 pozitivní výraz a „dirty", „rude" a „awful" jako 3 negativní. Jednoduchý výpočet by tak ukázal, že recenze je z 25 % pozitivní a z 75 % negativní – celkem totiž obsahuje 4 subjektivní výrazy.
Začni provedením inner_join() na sjednoceném tidy datovém rámci obsahujícím 4 knihy: Agamemnon, Oz, Huck Finn a Moby Dick. Stejně jako v předchozím cvičení použiješ filter() a grepl().
Pro použití count() musíš data nejprve seskupit podle knihy a sentimentu. Například pozitivní slova z knihy Agamemnon je třeba seskupit a sečíst zvlášť, aby se nepromíchala s pozitivními slovy z ostatních knih. Naštěstí můžeš do count() předat více proměnných přímo.
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.
# Review tail of all_books
tail(all_books)
# Count by book & sentiment
books_sent_count <- all_books %>%
# Inner join to nrc lexicon
___(___, by = c("term" = "word")) %>%
# Keep only positive or negative
___(__("___", sentiment)) %>%
# Count by book and by sentiment
___(___, ___)
# Review entire object
books_sent_count