Compare e contraste com gráfico de barras empilhadas
Outra forma de fatiar seu texto é entender quanto do(s) documento(s) é composto por palavras positivas ou negativas. Por exemplo, uma avaliação de restaurante pode ter pontos positivos como "a comida era boa", mas depois continuar com "o restaurante era sujo, a equipe era rude e o estacionamento era péssimo". Como resultado, você pode querer entender quanto de um documento é dedicado a linguagem positiva vs. negativa. Neste exemplo, haveria uma porcentagem negativa maior do que positiva.
Um método para fazer isso é count() as palavras positivas e negativas e depois dividir pelo número de palavras de subjetividade identificadas. No exemplo da avaliação do restaurante, "boa" contaria como 1 positiva e "sujo", "rude" e "péssimo" contariam como 3 termos negativos. Um cálculo simples levaria você a concluir que a avaliação do restaurante é 25% positiva e 75% negativa, já que houve 4 termos de subjetividade.
Comece realizando o inner_join() em um único data frame arrumado contendo 4 livros: Agamemnon, Oz, Huck Finn e Moby Dick. Assim como no exercício anterior, você usará filter() e grepl().
Para executar o count() você precisa agrupar os dados por livro e depois por sentimento. Por exemplo, todas as palavras positivas de Agamemnon precisam ser agrupadas e então contabilizadas, para que palavras positivas de todos os livros não se misturem. Felizmente, você pode passar várias variáveis diretamente para count().
Este exercicio faz parte do curso
Análise de Sentimentos em R
exercicio interativo prático
Tente este exercicio completando este código de exemplo.
# 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