Comece agoraComece grátis

Dividir para conquistar: usando polaridade em uma comparação de nuvem

Agora que você viu como a polaridade pode ser usada para dividir um corpus, vamos colocar em prática! Este código vai guiar você na divisão de um corpus com base em sentimento, para que possa analisar as informações em subconjuntos em vez de olhar tudo de forma holística.

Sua sessão do R tem oz_pol, que foi criado aplicando polarity() a "The Wonderful Wizard of Oz".

Para simplificar, criamos uma função personalizada chamada pol_subsections() que divide o corpus pelo escore de polaridade. Primeiro, a função recebe um data frame em que cada linha é uma frase ou um documento do corpus. O data frame é particionado onde os valores de polaridade são maiores ou menores que 0. Por fim, as frases positivas e negativas, com polaridades diferentes de zero, são unidas com o parâmetro collapse para que os termos sejam agrupados em um único corpus. Por último, os dois documentos são concatenados em um único vetor com dois documentos distintos.

pol_subsections <- function(df) {
  x.pos <- subset(df$text, df$polarity > 0)
  x.neg <- subset(df$text, df$polarity < 0)
  x.pos <- paste(x.pos, collapse = " ")
  x.neg <- paste(x.neg, collapse = " ")
  all.terms <- c(x.pos, x.neg)
  return(all.terms)
}

Neste ponto, você removeu as frases neutras e quer focar em organizar o texto restante. Neste exercício usamos novamente o operador %>% para encaminhar objetos para funções. Depois de uma limpeza simples, use comparison.cloud() para criar a visualização.

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.

oz_df <- oz_pol$all %>%
  # Select text.var as text and polarity
  ___(text = ___, polarity = ___)

# Apply custom function pol_subsections()
all_terms <- ___(___)

all_corpus <- all_terms %>%
  # Source from a vector
  ___() %>% 
  # Make a volatile corpus 
  ___()
Editar e Executar Código