Polaridade tidy com Bing: Exemplo simples
Agora que você entende o básico de um inner join, vamos aplicar isso ao léxico "Bing". Lembre-se de que a função inner_join() vem do dplyr e que o objeto de léxico é obtido usando a função get_sentiments() do tidytext.
O léxico Bing rotula palavras como positivas ou negativas. Nos próximos três exercícios, você vai interagir com esse léxico específico. Para usar get_sentiments(), passe uma string como "afinn", "bing", "nrc" ou "loughran" para baixar o léxico desejado.
Fluxo de trabalho do inner join:
- Obtenha o léxico correto usando
get_sentiments(). - Passe o léxico e o texto em formato tidy para
inner_join(). - Para que
inner_join()funcione, deve existir um nome de coluna em comum. Se não houver, declare-os com um parâmetro adicional,by, igual accom os nomes das colunas como abaixo.
object <- x %>%
inner_join(y, by = c("column_from_x" = "column_from_y"))
- Faça alguma agregação e análise sobre a interseção das tabelas.
Este exercicio faz parte do curso
Análise de Sentimentos em R
Instruções do exercicio
Carregamos ag_txt contendo as primeiras 100 linhas de Agamemnon e ag_tidy, que é a versão tidy.
- Para comparação, use
polarity()emag_txt. - Obtenha o léxico
"bing"passando essa string paraget_sentiments(). - Faça um
inner_join()comag_tidyebing.- As colunas de palavra se chamam
"term"emag_tidye"word"no léxico, então declare o argumentoby. - Chame o novo objeto de
ag_bing_words.
- As colunas de palavra se chamam
- Imprima
ag_bing_wordse observe algumas das palavras que aparecem no resultado. - Passe
ag_bing_wordsparacount()desentimentusando o operador pipe, %>%. Compare a razão entre a pontuação depolarity()e a contagem de sentimentos.
exercicio interativo prático
Tente este exercicio completando este código de exemplo.
# 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 %>%
___(___)