Začněte nyníZačněte zdarma

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

Zobrazit kurz

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
Upravit a spustit kód