Polaritate tidy cu Bing: Exemplu simplu
Acum că ai înțeles bazele unui inner join, hai să le aplicăm pe lexiconul „Bing". Reține că funcția inner_join() provine din dplyr, iar obiectul lexicon se obține cu funcția get_sentiments() din tidytext.
Lexiconul Bing etichetează cuvintele ca pozitive sau negative. Următoarele trei exerciții te lasă să interacționezi direct cu acest lexicon. Pentru a folosi get_sentiments(), transmite un șir de caractere precum "afinn", "bing", "nrc" sau "loughran" pentru a descărca lexiconul dorit.
Fluxul de lucru cu inner join:
- Obține lexiconul potrivit folosind
get_sentiments(). - Transmite lexiconul și datele text tidy funcției
inner_join(). - Pentru ca
inner_join()să funcționeze, trebuie să existe o coloană comună. Dacă nu există nicio coloană cu același nume, declară-le prin parametrul suplimentarby, egal cucși numele coloanelor, ca mai jos.
object <- x %>%
inner_join(y, by = c("column_from_x" = "column_from_y"))
- Realizează agregări și analize pe intersecția tabelelor.
Acest exercițiu face parte din cursul
Analiza sentimentelor în R
Instrucțiuni pentru exercițiu
Am încărcat ag_txt, care conține primele 100 de rânduri din Agamemnon, și ag_tidy, versiunea tidy a acestuia.
- Pentru comparație, aplică
polarity()peag_txt. - Obține lexiconul
"bing"transmițând acel șir de caractere funcțieiget_sentiments(). - Realizează un
inner_join()întreag_tidyșibing.- Coloana cu cuvinte se numește
"term"înag_tidyși"word"în lexicon, așa că declară argumentulby. - Numește noul obiect
ag_bing_words.
- Coloana cu cuvinte se numește
- Afișează
ag_bing_wordsși analizează câteva dintre cuvintele din rezultat. - Transmite
ag_bing_wordsfuncțieicount()pentrusentimentfolosind operatorul pipe,%>%. Compară scorulpolarity()cu raportul numărului de sentimente.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# Qdap polarity
___
# Get Bing lexicon
bing <- get_sentiments("___")
# Join text to lexicon
ag_bing_words <- ___(___, ___, by = c("___" = "___"))
# Examine
ag_bing_words
# Get counts by sentiment
ag_bing_words %>%
___(___)