Comece agoraComece grátis

Introspecção emocional

Neste exercício, você vai além de filtrar apenas linguagem positiva e negativa. Em vez disso, vai filtrar o texto por cada uma das 8 emoções da roda de emoções de Plutchik para construir uma visualização. Com essa abordagem, você terá mais clareza no uso das palavras ao mapear para uma emoção específica, e não apenas para positivo ou negativo.

Usando o léxico de subjetividade "nrc" do tidytext, você faz um inner_join() com seu texto. O léxico "nrc" inclui as 8 emoções, além das classes de termos positivos e negativos. Portanto, depois de executar o inner_join(), você precisará remover as palavras positivas e negativas. Uma forma de fazer isso é usando a negação, !, junto com grepl().

A função "Global Regular Expression Print Logical", grepl(), retorna True ou False se um padrão de string for identificado em cada linha. Neste exercício, você vai procurar por positive OU negative usando o operador |, que representa "ou", como mostrado abaixo. Muitas vezes, essa barra vertical fica acima da tecla Enter no teclado. Como a negação ! precede o grepl(), o T ou F é invertido, então "positive|negative" é descartado em vez de mantido.

Object <- tibble %>%
  filter(!grepl("positive|negative", column_name))

Em seguida, você aplica count() às palavras identificadas, junto com pivot_wider() para organizar o data frame.

comparison.cloud() exige que sua entrada tenha nomes de linha, então será preciso converter para um data.frame da base R, chamando data.frame() com o argumento row.names.

Este exercicio faz parte do curso

Análise de Sentimentos em R

Ver curso

exercicio interativo prático

Tente este exercicio completando este código de exemplo.

moby_tidy <- moby %>%
  # Inner join to nrc lexicon
  ___(___, by = c("term" = "word")) %>% 
  # Drop positive or negative
  ___(!___("___", sentiment)) %>% 
  # Count by sentiment and term
  ___(___, ___) %>% 
  # Pivot sentiment, using n for values
  ___(names_from = ___, values_from = ___, values_fill = ___) %>%
  # Convert to data.frame, making term the row names
  data.frame(row.names = "___")

# Examine
head(moby_tidy)
Editar e Executar Código