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

AFINN: jsem tvůj člověk

Teď přejdeme na lexikon AFINN. Lexikon AFINN používá číselné hodnoty od 5 do -5, nejde tedy jen o pozitivní nebo negativní hodnocení. Na rozdíl od sloupce sentiment v Bing lexikonu se sloupec se skóre sentimentu v AFINN jmenuje value.

Same jako dřív nejdřív použiješ inner_join() a pak count(). Aby ses dostal/a k součtu skóre za každý řádek, využijeme funkce dplyru group_by() a summarize(). Funkce group_by() vezme existující datový rámec a převede ho na seskupený datový rámec, kde se operace provádějí „po skupinách". Funkce summarize() ti pak umožní vypočítat hodnotu pro každou skupinu pomocí agregační funkce, jako je sum() nebo mean(). V praxi to vypadá třeba takto:

data_frame %>% 
    group_by(book_line) %>% 
    summarize(total_value = sum(book_line))

V tidy verzi Huckleberry Finna obsahuje řádek 9703 slova „best", „ever", „fun", „life" a „spirit". Slova „best" a „fun" mají AFINN skóre 3, respektive 4. Po agregaci bude mít řádek 9703 celkové skóre 7.

V tidyverse se preferuje filter() před subset(), protože kombinuje funkcionalitu subset() s jednodušší syntaxí. Tady je příklad, který filtruje data_frame tak, aby hodnota ve sloupci column1 byla rovna 24. Všimni si, že název sloupce není v uvozovkách.

filter(data_frame, column1 == 24)

Objekt afinn obsahuje lexikon AFINN. Objekt huck je tidy verze románu Marka Twaina Dobrodružství Huckleberryho Finna připravená k analýze.

Řádek 5400 zní: All the loafers looked glad; I reckoned they was used to having fun out of Boggs. Stop slova a interpunkce jsou v datasetu již odstraněny.

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.

# See abbreviated line 5400
huck %>% filter(line == 5400)

# What are the scores of the sentiment words?
afinn %>% filter(word %in% c("fun", "glad"))

huck_afinn <- huck %>% 
  # Inner Join to AFINN lexicon
  inner_join(___, by = c("___" = "___")) %>%
  # Count by value and line
  ___(___, ___)
Upravit a spustit kód